首页 / 专利库 / 电信 / 数据通信总线 / 串行总线 / 通用串行总线 / 基于控制台游戏系统的DVD使能代码伺服器和装入程序

基于控制台游戏系统的DVD使能代码伺服器和装入程序

阅读:300发布:2024-02-21

专利汇可以提供基于控制台游戏系统的DVD使能代码伺服器和装入程序专利检索,专利查询,专利分析的服务。并且外部道尔芯片可被联接到基于控制台的游戏系统,以便于在游戏系统上重放DVD影片。道尔芯片存储DVD重放码。游戏系统执行便于将代码从道尔芯片传送到游戏系统的 软件 。该软件应用高级总线协议来支持经过通用 串行总线 (USB)的传送,并且带有应用程序 接口 以调用协议。,下面是基于控制台游戏系统的DVD使能代码伺服器和装入程序专利的具体信息内容。

1.一种基于控制台的游戏系统,其特征在于包括:
游戏控制台,带有存储器和用来读光盘的光盘驱动器
与游戏控制台分开、但操作上可耦合的道尔芯片,道尔芯片存储DVD重放 码以使游戏控制台的光盘驱动器中装载的DVD影片能重放;以及
软件,在游戏控制台上被执行时检索来自道尔芯片的DVD重放码并将DVD 重放码装载到游戏控制台的存储器中。
2.如权利要求1所述的基于控制台的游戏系统,其特征在于,所述存储 器包括易失性存储器,并且软件被存储在易失性存储器中。
3.如权利要求1所述的基于控制台的游戏系统,其特征在于,所述存储 器包括非易失性存储器,而软件被永久性地存储在非易失性存储器内。
4.如权利要求1所述的基于控制台的游戏系统,其特征在于,所述道尔 芯片经过通用串行总线(USB)耦合到游戏控制台,同时软件便于经过USB传送 DVD重放码。
5.如权利要求1所述的基于控制台的游戏系统,其特征在于,所述软件 用于请求DVD重放码的单独部分。
6.如权利要求1所述的基于控制台的游戏系统,其特征在于,所述软件 包括:
代码伺服器,用于请求来自道尔芯片的DVD重放码并且便于通过道尔芯片 和游戏控制台之间的接口来传送DVD重放码;以及
装入程序,解密DVD重放码并且将DVD重放码存储到存储器中。
7.一种用于运行存储在光存储磁盘上的游戏的游戏控制台,其特征在于 包括:
用来读光存储磁盘的光盘驱动器;
非易失性存储器;
耦合到非易失性存储器和光盘驱动器的处理器;以及
存储在存储器中并可在处理器上执行的代码伺服器程序,代码伺服器程序 用于当外部设备操作上耦合到游戏控制台时请求来自外部设备的DVD重放码, 并且便于从外部设备到游戏控制台的DVD重放码的传送,从而当DVD影片由光 盘驱动器读取时使能游戏控制台上的DVD重放。
8.如权利要求7所述的游戏控制台,其特征在于,所述DVD重放码被加 密,并且还包括用于解密DVD重放码的装入程序。
9.如权利要求7所述的游戏控制台,其特征在于,所述DVD重放码被存 储在非易失性存储器中。
10.如权利要求7所述的游戏控制台,还包括易失性存储器,其特征在于, 所述DVD重放码被存储在易失性存储器中。
11.如权利要求7所述的游戏控制台,其特征在于,所述代码伺服器程 序带有应用程序接口,它具有执行下列功能的方法:
获得DVD重放码的尺寸和版本;
将DVD重放码同步传送到游戏控制台;以及
将DVD重放码异步传送到游戏控制台。
12.如权利要求7所述的游戏控制台,其特征在于,所述代码伺服器程序 用于请求并传送DVD重放码的单独部分。
13.一种包括计算机可执行指令的计算机可读媒体,当由基于控制台的游 戏系统执行时,指导基于控制台的游戏系统以:
从联接到游戏系统的外部设备请求DVD重放码;以及
便于经过外部设备和游戏系统之间的接口来传送DVD重放码。
14.如权利要求13所述的计算机可读媒体,其特征在于还包括计算机可 执行指令,它们在由基于控制台的游戏系统执行时指导基于控制台的游戏系统 将DVD重放码存储在非易失性存储器中。
15.如权利要求13所述的计算机可读媒体,其特征在于还包括计算机可 执行指令,它们在由基于控制台的游戏系统执行时指导基于控制台的游戏系统 将DVD重放码存储在易失性存储器中。
16.如权利要求13所述的计算机可读媒体,其特征在于,所述DVD重放 码经过预加密,并且该媒体还包括计算机可执行指令,它们在由基于控制台的 游戏系统执行时指导基于控制台的游戏系统对DVD重放码进行解密。
17.如权利要求13所述的计算机可读媒体,其特征在于还包括计算机可 执行指令,它们在由基于控制台的游戏系统执行时指导基于控制台的游戏系统 来验证外部设备。
18.一种基于控制台的游戏系统,其特征在于包括:
如权利要求13所述的计算机可读媒体;以及
用来执行计算机可执行指令的处理器。
19.一种用于经过通用串行总线(USB)将代码从外部设备传送到主设备的 协议,其特征在于包括:
第一命令,检索存储在外部设备上的存储器中的代码图像的代码版本和尺 寸,代码图象具有预定尺寸的代码;以及
第二命令,访问一个或多个预定尺寸的代码块,并且便于将一个或多个预 定尺寸的代码块传送到主设备上。
20.如权利要求19所述的协议,其特征在于,第一命令带有如下定义的 SETUP包:
COMMAND NAME
   bmRequest=1100001b
   bRequest=1
   wValue=0
   wIndex=bInterfaceNumber
   wLength=6
21.如权利要求19所述的协议,其特征在于,第二命令带有如下定义的 SETUP包:
COMMAND NAME
   bmRequest=1100001b
   bRequest=2
   wValue=block number to start transfer
   wlndex=bInterfaceNumber
   wLength=number of bytes to get
22.一种用于基于控制台的游戏系统中的应用程序接口,应用程序接口被 包含在计算机可读媒体上并且具有执行下列功能的方法:
获得DVD重放码的尺寸和版本,它们被存储在操作上耦合到基于控制台的 游戏系统的外部设备上;
将DVD重放码同步传送到游戏控制台;
将DVD重放码异步传送到游戏控制台;以及
其中,当DVD重放码被传送并被存储在基于控制台的游戏系统中时,基于 控制台的游戏系统能够执行DVD重放。
23.在基于控制台的游戏系统中的一种方法,该系统带有游戏控制台以及 能交替地被联接到游戏控制台或从中被卸下的外部设备,该方法的特征在于包 括:
请求存储在外部设备上的DVD重放码;以及
便于将存储在外部设备上的DVD重放码传送到游戏控制器;以及
执行游戏控制台上的DVD重放码以使基于控制台游戏系统中能够重放DVD 影片。
24.如权利要求23所述的方法,其特征在于还包括用高级总线协议来支 持所述的请求和便于的操作。
25.如权利要求23所述的方法,其特征在于,所述请求包括:
获取DVD重放码的尺寸和版本;以及
请求DVD重放码的一个或多个代码块。
26.如权利要求23所述的方法,其特征在于还包括,将DVD重放码存储 在游戏控制台上的易失性存储器中。
27.如权利要求23所述的方法,其特征在于还包括,验证外部设备。
28.一种用于操作基于控制台的游戏系统的方法,其特征在于包括:
获得存储在外部设备上的DVD重放码的尺寸和版本,该外部设备操作上耦 合到基于控制台的游戏系统,DVD重放码被加密;
请求DVD重放码的一个或多个代码块;
接收DVD重放码的一个或多个代码块;
解密DVD重放码的一个或多个代码块;
存储DVD重放码的一个或多个代码;以及
执行DVD重放码。
29.如权利要求28所述的方法,其特征在于,所述存储包括将DVD重放 码存储在易失性存储器中。
30.如权利要求28所述的方法,其特征在于还包括验证外部设备。
31.基于控制器的游戏系统中的一种方法,该系统带有游戏控制台以及能 够交替地联接到游戏控制台或从中被卸下的外部道尔芯片,该方法的特征在于 包括:
响应外部道尔芯片第一次被联接到游戏控制台,
从外部设备道尔芯片将DVD重放码下载到游戏控制台;
将DVD重放码存储在非易失性存储器中;
执行DVD重放码,以使能基于控制台的游戏系统上的DVD影片重放;
响应外部道尔芯片在第一次之后随后被联接到游戏控制台,
检索存储在外部道尔芯片上的DVD重放码的一部分;
将DVD重放码的这部分与存储在非易失性存储器中的DVD重放码的相 应部分相比较;以及
如果这两部分匹配,则执行DVD重放码以使在基于控制台游戏系统上 能够重放DVD影片。

说明书全文

技术领域

发明涉及到基于控制台的游戏系统,尤其涉及到能将增强码从外部设备下 载到基于控制台游戏系统的软件

发明背景

基于控制台游戏系统的视频游戏被描述在光盘上。游戏控制台装有一个光 盘驱动器来操作这些视频游戏光盘。经过一些修改,游戏系统能用来读取包括 除了游戏以外的其他格式内容的光盘。,如:音频CD(光盘),以及影片DVD(数 字视频光盘)影片。下列公开陈述了一种在基于控制台的游戏系统上实现对DVD 影片重放的方法。
概述
一个外部道尔芯片联结基于控制台的游戏系统,它可以在游戏系统上容易 地重放DVD影片。道尔芯片存储DVD重放码。游戏系统执行软件容易地将代码 从道尔芯片转移到游戏系统上。
软件应用高级总线协议来支持在通用串行总线(USB)上的传送,同时,展 示了一个能将呼叫引入协议的应用程序接口
附图的概述
图1给示了带有游戏控制台、一个或多个控制器以及可以用来重放DVD的 可联接道尔芯片的游戏系统。
图2是游戏系统的方框图
图3给示了道尔芯片的正示图。
图4给示了道尔芯片的侧示图。
图5给示了道尔芯片的后面透视图。
图6给示了道尔芯片的框图。
图7给示了道尔芯片如何和游戏控制台相连接。
图8给示了在游戏系统上用来初始化DVD重放的启动过程流程图
图9给示了每次当联接道尔芯片时从道尔芯片将DVD重放码下载到游戏控 制台的过程的流程图。
图10给示了当首次联接道尔芯片时从道尔芯片到游戏控制台下载DVD重 放码,然后用每个随后的联接来确认该代码的流程图。
详细说明
下面的讨论通常涉及到一种灵活的技术,它用来升级面向用户的电子设 备,它经过能被加到设备上的外部设备从而来产生有用的升级特性。外部设备 存储代码,同时当连接到面向用户的电子设备时,将代码下载到面向用户的电 子设备以提高性能。这种附加的性能可以由外部设备开发。为了讨论的目的, 这一技术被描述在基于控制台的游戏系统的外部道尔芯片的上下文中。
游戏系统
图1给示了一个游戏系统100的案例,它包括游戏控制台102以及一个或 者多个控制器,像所示的控制器104(1)和104(2)。游戏控制台102装有内部 硬盘驱动器和便携式媒体驱动器106。便携式媒体驱动器106支持多种格式的 可移动存储媒体,像所示的光存储磁盘108。作为例子,适合的便携式媒体包 括DVD,CD-ROM,游戏盘,游戏盒带以及诸如此类的媒体。
游戏控制台102在它的前面板上有四条槽位110,它最多可以支持4个控 制器,然而槽数和槽位可能会被改变。电源按钮112以及退出按钮114也被定 位在游戏控制器102的前面板上,电源按钮112开关游戏控制台的电源,同时, 退出按钮114交替地装入和退出便携式媒体驱动器106的托架,它允许装入和 取出存储磁盘108。
游戏控制器102经过A/V接口电缆120连接到电视机或者其它显示器(未 示出)上。电源电缆122提供游戏控制台的电源。游戏控制台102还可能具有 内部或外部附加网络性能,像所示电缆或调制器连接器124可以容易地连接到 诸如局域网(LAN)或者国际互联网这样的网络上。
每个控制器104经过有线或者无线接口被耦合到游戏控制台102。由图可 见,控制器是与USB(通用串行总线)可兼容的,同时经过串行电缆130连接到 控制台102。控制台102可能会带有许多种用户交互机械装置的任何一种。如 图1所示,每个控制器104配备有两个拇指杆132(1)和132(2)、D-pad 134, 按钮136、以及两个触发器138。这些游戏机只不过是典型的,同时其他已知 的游戏机械装置可能可以替代图1中的游戏机并被加入图1中去。
存储单元(MU)140可以插入到控制器104中来提供附加和便携式的存储器。 便携式存储单元使用户可以存储游戏的参量,并转移它们到其它控制台上进行 操作。在描述实施中,每个控制器都用于容纳两个存储单元140,然而在其它 的实施中可以用多于或少于两个单元的结构。
道尔芯片150提供对DVD影片的重放能。道尔芯片150有一个兼容的 连接器,它允许道尔芯片插入到插槽110的其中之一。从而道尔芯片连接器在 样式上类似于游戏控制器104上的连接器。道尔芯片150存储允许对DVD视频 影片进行程序解码和重发的DVD重放码。在道尔芯片150联接到控制台之后, 道尔芯片150上的DVD重放码被下载到控制台中以允许影片重放能力。道尔芯 片150还有一个IR接收器,它经过无线电线路154从遥控器152接收命令。
从而,道尔芯片能执行三种独立的功能。当重放码下载到游戏控制台时, 它存储DVD重放码,用来在游戏系统容易地放送DVD影片。道尔芯片还支持一 个IR接收器/译码器,它从遥控器接受公用的DVD命令。第三,道尔芯片相 当于重放使能器,因为游戏控制台在允许重放DVD之前验证确实有一个道尔芯 片被插入。
当道尔芯片被描写为存储DVD重放码时,此时它能用存储码来存储,使能 游戏控制台的其他功能。例如道尔芯片可用作为一个IR接收器,它使能遥控 器152,或者其他的IR使能的远程设备来开发游戏控制台的附加功能,这在缺 少道尔芯片的情况下游戏控制台是做不到的。
游戏系统100从而能玩游戏和播放音乐,同时在带有道尔芯片150的情况 下,可以重放DVD视频影片。在具有不同的存储器填充的情况下,可以从驱动 器106中的硬盘驱动器或便携式媒体108、或从在线源、或从存储器单元140 播放标题。游戏系统100的一个实例包括下列重放操作的能力:
1.从CD和DVD光盘、从硬盘驱动器或者从在线源放送的游戏。
2.从便携式媒体驱动器106中的CD、从硬盘驱动器上的压缩文件(例如, Windows Media Audeo(WMA)格式)、或者从在线流源放送的数字音乐。
3.从便携式媒体驱动器106中的DVD盘片、从硬盘驱动器106上的文 件(例如,Windows Media Video(WMV)格式)、或者从在线流源放送的影片。
图2给示了游戏系统100更详细的功能部件图。游戏控制台102有一个中 央处理单元(CPU)200和存储器控制器202,它们便于处理器访问不同类型的存 储器,包括快闪ROM(只读存储器)204、RAM(随机存取存储器)206、硬盘驱动 器208,以及便携式媒体驱动器106。CPU200配备1级高速缓存210和2级 高速缓存212临时存储数据并且从而减少存储访问周期数,从而提高处理速度 和吞吐量。
CPU200,存储控制器202以及各种存储设备经过一条或多条总线进行内 部连接,包括串行和并行总线,存储器总线,外部设备总线,以及可采用任何 多样化总线逻辑结构的处理器或本地总线。例如,这些结构可以包括工业标准 结构(ISA)总线,微通道结构(MCA)总线,增强型ISA(EISA)总线,视频电子标 准协会(VESA)本地总线,外部设备部件内部连接(PCI)总线,以及光数据传输 (LDT)总线。
作为一种合适的实施,CPU200,存储控制器202,ROM204,以及RAM206被 集成安排在一个通用的214模板上。在这个实施中,ROM204是flash ROM的 闪存结构,它经过PCI(外部设备部件内部连接)总线以及ROM总线(图中没有表 示出来)连接到存储控制器202。RM206是多DDR SDRAM(双数据率同步动态RAM) 类型结构,它由存储控制器202经过专的总线(图中没有表示出来)独立控制 的。硬盘驱动器208以及便携式媒体驱动器106经过PCI总线以及ATA(AT结 构)总线216连接到存储控制器。
3D图形处理单元220以及视频编码器222形成视频处理管道,以得到高速 和高分辨率的图形处理。数据从图形处理单元220经过数字视频总线(图中没 有表示出来)加到视频编码器222上。音频处理单元224以及音频codec(编码 /解码器)226形成相应的音频处理管道,它具有高保真度和立体声处理。音频 数据经过通讯连结(图中没有表示出来),在音频处理单元224和音频编解码器 226之间传送。视频和音频处理管道输出数据到A/V(音频/视频)接口228,以 传送数据到电视机或其他的显示器上。在图中所示,视频和音频处理的构成部 件220-228安装在模板214上。
在图中,在模板214上还有USB主控制器230以及网络接口232。USB主 控制器230经过一条总线(比如,PCI总线)连接到CPU200以及存储控制器202 上,同时对外部设备控制器104(1)-104(3)以及道尔芯片150进行伺服主控。 网络接口232提供对网络(如,LAN,互联网等)的访问,同时可以是任一各种 有线或无线的接口部件,包括以太网卡、调制解调器、蓝牙模、有线电缆调 制解调器等等。
游戏控制台102有两个双控制器支持部件240(1)和240(2),每个部件最 多可支持两个游戏控制器和/或DVD使能道尔芯片。如图所示,两个游戏控制 器104(1)和104(2)连接到第一控制器支持部件240(1),同时,第三游戏控制 器104(3)和道尔芯片150连接到第二部件240(2)。前面板I/O部件242支 持电源按钮112和退出按钮114的功能、以及任何LED(发光二极管)或者游 戏控制台外表面上的其它指示器。部件240(1)、240(2)和242经过一个或多个 电缆部件244耦合到模块214。
如图2所示,六个存储单元140(1)-140(6)连接到三个控制器104(1)- 104(3)上,也就是说,对每个控制器连接两个存储单元。每个存储单元140提 供对于游戏,游戏参量以及其他数据的存储。当插入一个控制器后,存储单元 140能由存储控制器202来存取。
系统电源模块250提供游戏系统100组成部分的电源。扇252用来冷却 游戏控制台102的电路板。
游戏控制台102实现执行通常密码功能的密码引掣,如加密,解密,标识 验证,数字签名,散列代码,以及连接。密码引掣可以在CPU200的一部分上 来实现,或者用软件存储在存储器(如,ROM204,硬盘驱动器208)上,它在CPU 上执行,这样,CPU具有被构成去执行密码的功能。
控制台用户界面(UI)应用程序260被存储在硬盘驱动器208中。当游戏控 制台加上电后,控制台应用程序260的各部分被装载到RAM206和/或高速缓 存210,212中,同时在CPU上被执行。控制台应用程序260呈现图形用户界 面,当运行在游戏控制台中不同的媒体类型时,它提供一致的用户经验。
代码伺服软件270以及装入程序272也容易地提供从道尔芯片150到游戏 控制台102DVD放送码的下载。软件存储在图中的硬盘驱动器208中,然而它 也可以存储在其它存储器中,如ROM204。在一种实施方法中,包含代码伺服器 270作为软件驱动器,它显示了一组可以用来检索和装载存储在道尔芯片150 上的DVD重放码的应用程序接口(API)。由于重放码能被用预加密格式存储, 因此装入程序272与代码伺服器270进行通讯,从而将DVD重放码直接解密到 诸如RAM206或硬盘驱动器208这样的存储器中。代码伺服器和装入程序软件 以及一组API的实例将在下面作更详细的描述。
示例性道尔芯片
图3-5给示了道尔芯片150的一个实例。道尔芯片150有一个主体部分 302以及从主体部分302延伸出来的连接器元件304。图中描述,连接器元件 304是USB兼容的连接器,它用于插入游戏控制台正面四个插槽中的任何一个 (见图1)。虽然只说明了一种连接器形状,然而其它形状也是可能的,它取决 于设计选择以及游戏控制台的结构。
观众用遥控器152(见图1)来控制游戏系统上的DVD的操作。命令作为红 外信号被传送到道尔芯片150。一个IR镜头306被安装上,但显示在主体302 的外部以接收来自遥控器手柄152的红外信号。IR镜头306和连接器元件304 装载主体的两个相对面,这样当连接器元件304被插入到槽110中时,IR镜头 306的外表面捕获从遥控器152来的IR讯号。
图6给示带有道尔芯片150组成部分的一个实例排列。作为一种实施,组 件集成装配在一个内置的PCB(印刷电路板)部件上,该部件在塑料包裹的道 尔芯片主体302内被放置和被保护。IR接收器602耦合到IR镜头306以接收 红外信号并将它们解码为遥控代码。作为一种可行的实施,IR接收器和解码器 602可以支持标准的RCA DVD遥控码,因此,道尔芯片150可以和大多数通用 遥控器相兼容。
微控制单元604耦合到IR接收器602以接收和操作由观众输入的控制码。 微控制器604连结到USB接口606,当道尔芯片150插入到游戏系统中时,它 便于通过连接器304来处理数据I/O。另外,当道尔芯片150被插入同时游戏 控制台被加上电时,电源经过USB接口606从游戏控制台传递到道尔芯片上。
道尔芯片150还包括一个只读存储器(ROM)608,它用来存储便于影片或其 它来自DVD的内容的重放的DVD重放码610。ROM608能够由掩膜(mask)ROM(如 图所示)、快闪ROM、或者其它类型的ROM来实现。重放码610被存储为包括多 个可存取页面的预加密的ROM图像。每页为一个预定的尺寸(如1K字节)。ROM 608经过总线612耦合到微控制器604,总线612有多根数据线(如,8根数据 线)和多根地址线(如,20根地址线)。微控制线604能用总线612的地址线来 指定单独的页面,同时,检索码通过总线的数据线输出。
微控制器604执行固件614以便于DVD重放码的下载,重放码来自ROM608、 经过USB接口606、并且被下载到游戏控制台102中。电源上电复位616每当 道尔芯片最初被插入一个激活的游戏控制台时、或者每当游戏控制台上电时被 执行。电源上电复位616复位微控制器604来开始执行固件614。
通过在ROM608中保留代码610,道尔芯片150有效地存储所有软件性能 以使能游戏系统上的DVD重放。当控制台UI应用程序260探测到DVD影片媒 体时,UI应用程序260开始处理放送影片。假如道尔芯片150呈现在系统中, UI应用程序260下载DVD重放码610到游戏控制台RAM内存206中,在这里代 码被安装,它不带有用户交互作用。之后,UI应用程序260就像一个DVD放送 器那样操作,从遥控器接受标准的用户命令(如,放送,暂停,向前,返回, 跳过等等)。假如道尔芯片150没有呈现在系统中,DVD重放码610的下载将失 败,同时UI应用程序260显示一条信息指示道尔芯片150需要放送DVD影片。
道尔芯片150也可以构成为具有重放使能器的功能。当观众安装DVD影片 到托架时,游戏控制台第一次检验可标识的道尔芯片150是否已被插入到槽110 中。在这种方式下,游戏控制台已经有一份DVD重放码610的存储拷贝。DVD 重放码610其小的随机部分将被下载,同时对已呈现在游戏控制台硬盘设备208 上的拷贝进行对照。如果没有被安装道尔芯片,或者安装了一个不能验证道尔 芯片150的设备,那么DVD影片重放功能将被禁止,同时对观众不可用。不管 道尔芯片150被用于下载代码或者简单地令它使能,当道尔芯片150被移走后, UI应用程序260将禁用DVD视频功能。
代码伺服器和装入程序
游戏控制台102上实现的代码伺服器和装入程序软件便于将DVD重放码从 道尔芯片150下载到游戏控制台。一般而言,代码伺服器270负责通过USB连 接从道尔芯片获取重放码610。代码伺服器采用高级总线协议,用于请求代码 并且经过USB线来移动它。装入程序负责将预予加密的DVD重放码解密到存储 器中。装入程序也分析类似于DLL(动态连接库)装入程序的相关性。
图7给示了一个专门的代码伺服器270和装入程序272的实现方式,此时 道尔芯片150被插入到游戏控制台102上的槽中。代码伺服器270实施处在常 规OHCI/USB协议上的高级总线协议。相应的,所示的代码伺服器耦合到依次 连接到USB线704的开放式主控制器接口(OHCI)702上。
当道尔芯片150被插入时,连接器元件304连接到USB线704。代码伺服 器270采用同步或异步转换技术从ROM608得到DVD重放码,并且将代码提供 给装入程序272。装入程序272在代码被接收时对其解密并将代码存储在控制 台存储器内。在一种实现方式中,DVD重放码被临时存储在RAM206中以便于 DVD影片重放。当游戏系统电源置于“关”的位置上时,代码被丢失。在另一 种实现方式中,代码可以被存储在硬盘驱动器208上。这两种实现方式都在下 面作更详细的描述。
由代码伺服器270支持的高级总线协议基于下列两条命令:
  ·XDCS_REQUEST_GET_ROM_FILE_INFO;以及
  ·XDCS_REQUEST_GET_ROM_FILE_BLOCK
这两个请求都是控制请求。XDCS_REQUEST_GET_ROM_FILE_INFO命令允许检 索代码图象的代码版本和尺寸。道尔芯片固件614响应这一命令从存储在ROM 608中的ROM图象的起始位置读出版本和长度。
XDCS_REQUEST_GET_ROM_FILE_BLOCK命令允许访问存储在ROM608中的 ROM图象内的任何预定尺寸的代码块。例如,有一个1K字节页构成的图象,这 一命令允许访问单独的1K字节的代码页面。道尔芯片固件614响应这一命令 移位块索引以获得数据偏移量以及从该偏移量返回的所请求的字节长度。
这两条协议命令的SETUP的一种示例性设计如下:
REQUEST_GET_ROM_FILE_INFO bmRequest=1100001b    (USB_DEVICE_TO_HOST|USB_VENDOR_COMMAND|    USB_COMMAND_TO_INTERFACE) bRequest=1(REQUEST_GET_ROM_FILE_INFO) wValue=0(unused) wIndex=bInterfaceNumber wLength=6(sizeof(XDCS_DVD_CODE_INFORMATION)) REQUEST_GET_ROM_FILE_INFO bmRequest=1100001b    (USB_DEVICE_TO_HOST|USB_VENDOR_COMMAND|    USB_COMMAND_TO_INTERFACE) bRequest=2(XDCS_REQUEST_GET_ROM_FILE_BLOCK) wValue=开始传送的块号码(每块为1024字节) wIndex=bInterfaceNumber wLength=要获得的字节数(可能超出1K)
这两种命令协议是十分有效和极其快速的。随着使用OHCI USB系统和最 佳的USB堆栈,该协议便于速率大致为1兆字节每秒的数据传送。在1K块大 小时,8字节的SETUP包和状态包是不重要的。
代码伺服器270提供可以用来下载全部内容的无状态的检索机制,或者它 能检索用于抽检内容的单独部分。协议可以用来随机存取硬件平台上使用开放 式主控制器(Open Host Controller)标准的只读存储器。
代码伺服器270装有用于从道尔芯片获取代码图像的无状态API。API提 供对ROM尺寸和版本的存取,同时便于将任何或全部DVD重放码610同步或异 步地传递到缓冲器中。在同步模式中,调用程序请求代码610的选定字节,并 且等待字节到达。这种方式中断操作,直到请求码被下载或者直到产生错误。 在异步模式中,硬件以很少的中断完成该项工作。主软件线程的操作可以继续 执行任务,而等待下载完成。
代码伺服器API的一种实现定义了三种接口。第一种接口称为 “XDCSGetInformation”,它被调用以获得DVD重放码610的尺寸和版本。第 二种接口称为“XDCSDownloadCode”,它被调用以从使用同步模式的道尔芯片 150中下载代码。第三种接口称为“XDCSDownloadCodeAsync”,它被调用以从 使用异步模式的道尔芯片150中下载代码。
typedef struct XDCS_DVD_CODE_INFORMATION { WORD bcdVersion; //XDCS设备中代码的经二进制编码的十进制形式。 DWORD dwCodeLength;//以字节为单位的XDCS设备上的代码长度。 }XDCS_DVD_CODE_INFORMATION,*PXDCS_DVD_CODE_INFORMATION; DWORD XDCSGetInformation( IN DWORD dwPort, OUT PDWORD pdwDeviceInstance,   OUT PXDCS_DVD_CODE_INFORMATION pDvdCodeInformation   );
例程描述: 获得端dwPort中的XDCS设备(例如,道尔芯片150)上代码的大小和版本. 参数: [IN]dwPorts         —期望设备的端口 [OUT]pdwDeviceInstance  —通过XDCSDownloadCode或
                       XDVSDownloadCodeAsync访问设备的句柄 [OUT]pDvdCodeInformation —关于设备上代码的信息 返回值: 成功-ERROR_SUCCESS 失败-An error from winerror.h. 说明: 使用句柄而非端口来保证当代码被下载时,这是与该函数返回信息所用的代码 相同的代码。否则,用户可能会(尽管未必)移去该设备并在调用 XDCSGetInformation以及或XDCSDownloadCode或XDCSDownloadCodeAsync之 间插入一个不同的设备。如果发生这种情况,则pdwDeviceInstance会变得无 效且后一个调用将失败并具有一个有意义误差。 DWORD XDCSDownloadCode(
DWORD dwDeviceInstance,
PVOID pvBuffer,
ULONG ulOffset,
ULONG ulLength,
PULONG pulBytesRead
); 例程描述: 从XDCS设备下载代码. 参数: [IN]dwDeviceInstance —从XDCSGetInformation获得的实例 [OUT]pvBuffer        —用于接收代码的指向缓冲器的指针 [IN]ulOffset         —离开开始下载的代码图像的起始处的偏移量 [IN]ulLength         —要读取的字节数 [OUT]pulBytesRead    —实际读取的字节数 返回值: 成功-ERROR_SUCCESS 失败-An error from winerror.h. 说明: 该方法中断,直到所请求的代码被下载或者出错才结束中断.
typedef struct XDCS_ASYNC_DOWNLOAD_REQUEST {   DWORD dwDeviceInstance;//[IN]获得信息所用的设备的实例.   PVOID pvBuffer; //[IN]接收代码的缓冲器的指针   ULONG ulOffset; //[IN]离开开始下载的代码图像的起始处的    偏移量   ULONG ulLength; //[IN]要读取的字节数   ULONG pulBytesRead; //[OUT]读取的字节数   ULONG ulStatus; //[OUT]当传送完成或出错时,下载状态从    ERROR_PENDING或ERROR_SUCCESS或来自    winerror.h的错误转变   HANDLE HcompleteEvent; //[IN\OUT]当异步请求完成时要被通知的事    件。在调用程序必须查询ulStatus来确定    何时完成操作的情况下,表目可能为空。 }XDCS_ASYNC_DOWNLOAD_REQUEST,*PXDCS_ASYNC_DOWNLOAD_REQUEST; DWORD XDCSDownloadCodeAsync( IN OUT PXDCS_ASYNC_DOWNLOAD_REQUEST pXDCSDownloadRequest );
例程描述: 从XDCS设备下载代码. 参数: [IN\OUT]pXDCSDownloadRequest—异步请求中断 返回值: 成功-ERROR_SUCCESS 失败-An error from winerror.h. 说明: 使用该方法来获取代码而不中断当前的线程。
操作
图8给示了用于初始化游戏系统100上的DVD重放的启动过程800。将参 考图2、6和7中描述的道尔芯片和游戏控制台的实现来描述该过程。过程800 可以用软件、固件和/或硬件来实现。在软件和估计的情况下,过程800呈现 一组操作,它们可以作为可由一个或多个处理器执行的计算机可执行指令来实 现。
在程序块802处,或当用户将光盘装入游戏控制台的托架中时、或当观众 将道尔芯片150插入槽110中时,该过程开始。一旦过程800开始,则将检验 两个条件。在程序块804中,游戏控制台确定托架中的光盘是否是DVD影片。 光盘可能包括其它内容,譬如音频CD或游戏光盘。假如它不是DVD影片(即, 来自程序块804的“否”分支),过程结束。
假如光盘是DVD影片(即来自程序块804的“是”分支),游戏控制台确定 是否联接道尔芯片150(程序块806)。道尔芯片150需要被插入到槽110中, 使DVD影片能重放。假如不存在道尔芯片(即来自程序块806的“否”分支), 则游戏控制台显示一条表示需要道尔芯片来使能DVD影片重放的出错信息,并 且提醒用户插入道尔芯片(程序块808)。短暂的延迟跟随在该信息之后以使用 户能插入道尔芯片或者移去DVD媒体(程序块810)。延迟之后,过程重复测试 托架中的DVD媒体(程序块804)以及道尔芯片是否存在(程序块806)。
假定在托架中的盘是DVD影片(即,来自程序块804的“是”分支)并且存 在道尔芯片(即,来自程序块806的“是”分支),则游戏控制台初始化下载过 程(程序块812)。有不同的方法来实现将DVD-使能功能从道尔芯片150下载到 游戏控制台102的过程。一种方法是每次在道尔芯片被插入游戏控制台时下载 DVD重放码610。另一种方法是在道尔芯片150首次被插入时下载DVD重放码 610,然后将全部或一部分重放码存储到游戏控制台的非易失性存储器中。实 现方法的选择涉及某些设计考虑和费用折衷。这些选择将在下面作更详细的描 述。
选择1:每次下载
图9给示了每次当道尔芯片150被插入控制台槽位110时下载DVD重放码 610的过程900。将参考图2、6和7中描述的道尔芯片和游戏控制台的实现来 描述该过程。只要合适,操作被排列在标题之下以显示哪个设备会执行它们。 过程900可以由软件、固件和/或硬件来实现。
在程序块902和904中,游戏系统可以选择性地实现验证协议来彼此验证 游戏控制台和道尔芯片。游戏控制台102和道尔芯片150交换密钥或者其它数 据,这使每一部件能验证另一部件的可靠性。验证协议可以基于加密技术,譬 如公用密钥交换或者数字签名。验证可以在道尔芯片每次被连接时执行。该验 证是可选择的。另一方面,安全性可以仅仅基于游戏控制台的能力,当存储在 道尔芯片上的代码被下载到游戏控制台时对代码进行验证。代码被数字签名, 然后用公—私密钥对的私有部分对其加密。按照代码被下载那样,游戏控制器 验证代码的有效性就像属于由加密代码和验证签名来验证道尔芯片那样。
在程序块906中,游戏控制台获得DVD重放码610的长度/版本信息,它 存储在道尔芯片150的ROM608中。它可以由其方法用代码伺服器270来解释, 调用XDCSGetInformation来完成。用响应REQUSET_GET_ROM_FILE_INRO命令 来获得代码图象中的代码版本和长度。在程序块908中,道尔芯片固件614从 启动存储在ROM608中的ROM图象来读版本和长度。道尔芯片将这些参量返回 到游戏控制台102(程序块910)中去。
在程序块912中,游戏控制台102请求DVD重放码610的一个或更多个详 细说明模块。游戏控制台可能请求所有的代码或它的一部分。这个请求可能由 调用以下的一种方法来执行,即调用XDCSDownloadCode或 XDCSDownloadCodeAsync,这取决于是否优先考虑同步或异步下载。代码伺服 器270响应该调用而发出XDCS_REQUEST_GET_ROM_FILE_BLOCK命令来访问存储 在ROM608中的ROM图像内部的任何预定尺寸的代码块。在程序块914和916 中,道尔芯片固件614检索指定的块并且将这些块返回游戏控制台。
在程序块918中,装入程序272在游戏控制台接收代码块时对其解密。装 入程序272可能进一步验证代码上的任何数字签名以确认该代码是可靠的。经 解密的代码块被存储在易失性RAM206中(程序块920)。在程序块922中,游 戏控制台确定是否已经从道尔芯片中下载所有期望的代码块。假如没有(即来 自程序块922的“否”分支),则游戏控制台请求一个或多个附加代码块。
假如所有代码块已经被下载(即来自程序块922的“是”分支),则游戏控 制台执行存储在RAM206中的DVD重放码。通过执行,游戏控制台呈现一个影 片重放用户界面(UI),它允许观众控制游戏控制台的操作,就当它是一台DVD 放映机。
选择2:下载一次并且存储
图10给示了用于在道尔芯片150首次被插入控制台槽位110时下载DVD 重放码610、并且将该代码存储在游戏控制台中的非易失性存储器中的过程 1000。只要合适,操作排列在标题之下以显示哪一个设备可以执行它们。过程 1000可以由软件、固件和/或硬件来实现。
在程序块1002和1004中,游戏系统可以选择性地实现验证协议来互相验 证游戏控制台和道尔芯片。在程序块1006中,游戏控制台确定这是否是道尔 芯片第一次被插入游戏控制台。假如是(即,来自程序块1006的“是”分支), 则游戏控制台从道尔芯片150下载DVD重放码610(程序块1008和1010)。 该下载可以用API和双命令协议来实现,如图9中程序块906-916所述。
当代码被接收时,装入程序272将代码解密(程序块1012)并且将该代码永 久性存储在诸如存储硬盘驱动器208上的分区这样的非易失性存储器中(程序 块1014)。在程序块1016中,游戏控制台执行存储在非易失性存储器中的DVD 重放码以使能DVD影片的重放。假如道尔芯片被移走,则代码仍旧被存储在游 戏控制台中。
回过头参考程序块1006,假如随后再次联接道尔芯片并且从而该联接不再 是首次(即,来自程序块1006的“否”分支),则游戏控制台请求来自道尔芯 片的随机选择的代码块(程序块1018)。道尔芯片固件检索代码块并且将其返回 游戏控制台(程序块1020)。游戏控制台将检索到的代码块和存储在非易失性存 储器中的相同代码块相比较。假如二者相匹配(即,来自程序块1024的“是” 分支),则代码和道尔芯片被验证。于是,游戏控制台执行存储在非易失性存 储器中的DVD重放码以使能DVD影片的重放(程序块1016)。假如代码部分不匹 配(即,来自程序块1024的“否”分支),则游戏控制台呈现一条出错信息并 且通过不执行DVD重放码本地存储的拷贝来禁止重放。
结论
虽然已经描述了本发明特定的结构特性和/或方法行为,然而可以理解, 所附权利要求中定义的本发明不必要被限制在所描述的特定的特征或行为内。 相反,这些特定的特征和行为作为实现本发明的示例性形式被揭示。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈