CN1136849A - 从外设采集数据的数据处理装置的改进 - Google Patents
从外设采集数据的数据处理装置的改进 Download PDFInfo
- Publication number
- CN1136849A CN1136849A CN95191026A CN95191026A CN1136849A CN 1136849 A CN1136849 A CN 1136849A CN 95191026 A CN95191026 A CN 95191026A CN 95191026 A CN95191026 A CN 95191026A CN 1136849 A CN1136849 A CN 1136849A
- Authority
- CN
- China
- Prior art keywords
- data
- peripheral
- peripheral hardware
- data processing
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
- G06F3/0383—Signal control means within the pointing device
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/23—Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/44—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1025—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/63—Methods for processing data by generating or executing the game program for controlling the execution of the game in time
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/63—Methods for processing data by generating or executing the game program for controlling the execution of the game in time
- A63F2300/638—Methods for processing data by generating or executing the game program for controlling the execution of the game in time according to the timing of operation or a time limit
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Image Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种数据处理装置,实现了高速图象控制和快速响应外设操作内容的图象控制,并避免了外设的错误识别的可能性。一子CPU通过一CPU总线连接到一提供图象控制等等的主CPU。当主CPU通过一寄存器表将命令送到子CPU时,子CPU确定外设数据采集开始时间并且在此开始时间从外设采集外设数据。此主CPU通过寄存器表接收由子CPU采集的外设数据。子CPU接收外设数据ID-1(识别数据)两次。如果这些外设数据的两次的值不同,则主CPU确定此外设还未连接到外设端口。
Description
本发明涉及一种数据处理装置从与该数据处理装置相连的外设进行数据采集方面的改进,特别涉及用于从外设采集外设数据的CPU控制,外设数据采集的时间优化,以及外设与数据处理装置的连接方面的改进。
随着近年来计算机技术的发展,数据处理系统,诸如电子游戏系统已经广泛传播到家庭之中。
一般地,这种游戏系统包括一个能执行各种数据处理,诸如图象处理和声音处理,并能控制外设的处理装置,和多种与该处理装置电连接的外部设备,诸如开关控制器(操纵板或操纵杆)。一个电视接收器(下文指监视器)与处理装置相连,操作该处理装置以在监视器屏幕上显示游戏的视频图象,从监视器的一个声音再生单元产生与游戏相匹配的声音,从而可以玩想玩的游戏。
游戏系统的处理装置基本上要包括一个运行电路(CPU),它执行各种处理,诸如图象处理和音频处理,并控制外部设备;一个存储器或存储区,用于存储各种游戏程序和其它所需的数据;一个与外设,例如开关控制器相连的输入/输出单元;一个向监视器提供视频信号的视频处理器,以及其它电路。
在这种游戏系统中,当该游戏系统的电源被打开并且从外设向处理装置输入一个所需运行信号时,该处理装置按照存储区中的程序开始运行以执行以下处理过程。
当处理装置接收到来自开关控制器的运行信号时,CPU根据此运行信号读出存储区中所需的与字符的各种移动状态有关的数据项,并执行在监视器显示屏上的移动字符的处理过程。CPU向视频处理器发出一个视频控制信号,该处理器根据此视频控制信号产生一个视频信号并将其发送到监视器,从而,该字符在监视器显示屏上的预定背景画面中移动了一段由开关控制器指定的距离,例如在电子游戏系统中,CPU监视操纵杆的操作状态。当用户操作操纵杆时,CPU读取操纵杆状态的改变以使飞机在监视器屏幕上旋转。
该游戏系统的处理装置有一个带有插口连接器的外设端口,各种外设根据游戏的应用软件,通过该端口连接到处理装置上。例如,当执行一个飞行模拟游戏软件时,操纵杆一侧的连接杆器被插入游戏设备侧的插口连接器中,处理装置读来自相连外设的识别数据以自动识别外设种类并依据该种类访问外设。
但是,传统视频游戏系统中的数据处理装置有如下缺点,从而难以高速而平稳地使用该电子游戏系统。
首先,难以执行象高速图象控制这样的数据处理。公知地,由于用于图象处理的CPU直接访问和控制外设,CPU控制外设需要时间,从而被迫减少了图象处理所需的时间,例如,从一个标准操纵杆读数据需要几微秒的时间,从鼠标器读数据需要几百微秒的时间。有很多种外设要与视频游戏系统相连而且需要视频游戏系统能采用所有的外部设备,因此,需要CPU能自动识别与电子游戏系统相连的外部设备。如上所述,只要CPU访问一个外部设备,就需要CPU暂时中断图象控制的数据处理,直到对外部设备的访问结束。其结果是,出现了难以进行高速图象控制(数据处理)的问题。
第二,难以将外设端的操作快速反映到数据处理,如图象控制上。一般的,数据处理装置,如视频游戏系统有两个帧缓冲器来存储两个图象的图象数据。当显示了存在其中一个帧缓冲器中的图象时,CPU控制存在另一个帧缓冲器中的图象(三维操作,示意(delinaticn)等)。这种操作如下面图23时序图所示,两个帧缓冲器作为存储区包括相应的帧或图象A和B。例如,在执行帧A的图象的三维操作时,帧B的图象被显示。而在下一场(field)执行帧B的图象的三维操作时,帧A的图象被显示,而图象的操作要在一场的周期内得以执行(从一个垂直消隐信号VINT信号的一个下降沿到该VINT信号的下一上升沿)。此时,图象的显示要在一场的垂直操作周期内执行。如下述的图24所示,根据使用的应用软件,以场为单位(通常为偶数个场)执行操作和显示。
如图24所示,象三维操作这样的图象控制(数据处理)必须在一个预定时间被执行。而采集外设数据的时间不受控制,因此,当采集外设数据的时间与CPU启动图象控制(数据处理)操作的时间不一致时,外设数据在被采集之后会有所改变。例如,如下面将要说明的图20所示,假设CPU已在时段“(1)”中采集了外设数据。此后,即使由于外设的用户操作而引起了外设数据改变,CPU还是根据变化前采集的外设数据来执行图象控制。从而,所变化的外设数据并未用于图象控制。当采集外设数据的时间与启动图象控制操作的时间不一致时,将会延迟游戏对外设操作的响应。例如,从用户操作外设到发射出一枚导弹所用的时间延长,妨碍了游戏的执行。
第三,由于不能正确地确定外设是否已经与处理装置相连接,从而出现了以错误的识别数据错误地识别外设的问题。
例如,在一个视频游戏系统的数据处理装置中,在电源被接通的情况下,用户可以将一个外设端插头连接器插入到处理装置插头连接器中(热插入(hot plug-in))或将外设从处理装置插头连接器中拔出(热拔出(hot plug-out)。当处理装置正在从外设读取识别数据的同时进行热插入或热拔出时,处理装置可能读取错误的识别数据。在这种情况下,由于处理装置不能正确的确定外设是否已经与处理装置相连接,从而出现了处理装置根据错误的识别数据错误地识别外设的问题。
当用户将外设端插头连接器斜插入处理装置端插头连接器中时,插头连接器中的一些针(terminel pins)将与处理装置插头连接器中的一些针不相连接,即便在这种情况下,处理装置也不能确定外设是否已经稳定地连接在处理装置上,从而将根据错误的识别数据错误地识别外设。
即使在处理装置已正确识别了外设之后发生热拔出,处理装置还是不能确定是否与外设相连接。从而,将会发生下列问题,当在外设向处理装置发送外设数据(代表外设的操作状态)的同时发生热拔出时,部分外设数据发生变化,以致处理装置接收错误的外设数据。其结果是造成一次写故障。在可能发生热插入的家庭电子游戏系统中,这些问题尤其严重。
因此,本发明的一个目的是通过解决上述问题,提供一个视频游戏系统中的最佳游戏环境。特别地,本发明的第一目的是提供一种能够提供高速数据处理,如图象控制的数据处理装置。本发明的第二目的是提供一种数据处理装置和一种数据处理方法,它能在数据处理,如图象控制,中直接反映外设操作的内容。本发明的第三目的是提供一种游戏处理装置和数据处理方法,它通过确定外设是否已经以稳定的方式与游戏设备本体相连接来解决外设的错误识别及游戏处理装置误操作的问题和根据处理方法的错误操作等问题。
作为本发明的一个方面,提供了子操作装置,用以根据来自主操作装置的命令控制和处理到/从外设的输入/输出数据。从而,主操作装置无需直接控制和处理到/从外设的输入/输出数据,以便将主操作装置分配给其它工作以执行更大量的数据处理(视频处理,音频处理),因此,例如在诸如电子游戏系统的数据处理装置中,以更高的速度提供视频图象控制的提供一个富有真实性的游戏。
子操作装置通过从外设读取识别数据来识别外设的类型。输出装置向主操作装置提供与外设类型有关的数据。子操作装置不仅执行外设数据的输入/输出操作,而且用于识别外设。因此,主操作装置能被分配处理外设以外的其它数据,以使系统能够处理更大量的数据。
连接转换装置能将外设有选择地连接到主操作装置和子操作装置中的任一个上。因此,具有更高处理速度的主操作装置能够访问一个需要快速访问的外设。
连接转换装置将外设可选择地连接到主操作装置或子操作装置上。当子操作装置与外设相连接时,由子操作装置来执行到/从外设的数据输入/输出。在这种情况下,主操作装置集中执行数据处理,例如图象处理。因此,本发明的数据处理装置减少了主操作装置的工作量以达到快速数据处理的目的。
连接转换装置根据一个来自主操作装置的转换信号,将外设连接到主操作装置或子操作装置上。因此,根据包括外设类型、主操作装置的程序内容等在内的图象处理环境的特性、内容等将用于外设的图象处理特性和数据输入/输出特性都保持在最佳状态。
例如,当该转换装置被转换时,根据外设的操作速度特性,当该外设属于低速型时,连接转换装置将外设连接到子操作装置上以减少主操作装置的工作量。当外设具有高速操作特性时,通常具有高处理能力的主操作装置负责到/从外设的数据输入/输出以保证到/从该外设的数据输入/输出。
这种连接转换装置最好通过一个多路转换器来实现,本发明的数据处理装置被设计成根据主控制装置所执行的程序类型、内容等来控制连接转换装置,这样,如果主控制装置在执行一个图象处理程序时需要一个高速外设,连接转换装置则受控将该外转换到主控制装置,否则连接转换装置连接该外设到子操作装置。由于连接转换装置根据主控制装置所执行的程序类型和内容将所需外设连接到主操作装置或子操作装置,从而与图象处理的类型、内容等要匹配的外设被迅速选择,防止了外设的错误选择。
作为本发明的另一方面,对数据采集控制装置加以控制以使其在包括图象控制、声音处理等在内的数据处理的启动时间之前直接结束外设数据的采集。这样,就可以直接根据数据处理启动时间之前的外设数据执行数据处理。例如,在一个包括电子游戏系统的数据处理装置中,对用户操作转换控制器,例如一个操纵板(外设)的图象反应被加速。
根据采集控制装置确定数据采集起始时间,以便于在数据处理的启动时间之前结束外设数据的采集。因此,数据采集装置在开始数据采集的预定时间开始采集外设数据。
假设数据采集装置在数据处理启动时间之前结束了外设数据的上一次采集,在这种情况下,数据采集控制装置根据上一次采集的外设数据确定外设数据采集的启始时间这样数据采集装置可以在数据处理启动时间之前结束外设数据的采集。如果在数据处理开始之前不能结束外设数据的上一次采集,数据采集启动时间确定装置会提前外设数据采集的开始时间。
如果数据处理开始之前不能结束外设数据的采集,那么数据处理开始时就不能使用这些外设数据。为避免这种情况,在本发明中,使数据采集开始的时间提前以阻止外设数据采集在数据处理开始的时间被中断。
当数据采集控制装置重复这种处理时,每次外设数据都在一个最佳时刻被采集。
数据采集控制装置控制数据采集装置中的数据采集时间以使数据采集装置在数据处理启动时间之前完成外设数据的采集。例如,通过控制外设数据的传送速度,可使数据处理开始之前完成外设数据的采集。
作为本发明的另一方面,为达到本发明的第一和第二目的,开始采集数据的时间被确定以使在数据处理开始之前结束外设数据的采集。因此,主操作装置能够根据在数据处理开始之前采集到的外设数据执行数据处理,并且用户对外设的操作的内容也能马上在数据处理中有所反映。这样,即使在用于数据处理的主操作装置外,还提供了用于控制到/从外设的输入/输出的子操作装置,在主操作和子操作的平稳合作的基础上,可实现所需的数据处理。
在本发明的数据处理装置中,确定装置确定外设的信号线是否已经与数据处理装置的端子相连,也就是,通过证实外设是否已经与数据处理器相连,来保证产生数据处理,如图象处理的最佳结果。
作为本发明的另一方面,确定开始采集外设数据的时间以使在数据处理启动时间之前结束外设数据的采集,根据确定了的数据采集开始时间,开始外设数据的采集,因此,根据在数据处理开始之前所现有的外设数据执行数据处理,从而加速图象对外设操作的反应。
假设数据采集装置在数据处理开始之前结束了上一次外设数据的采集,在这种情况下,根据上一次所采集的外设数据确定开始数据采集的时间。如果在数据处理开始之前没有结束外设数据的上一次采集,则提前数据采集开始的时间。因此,依据本发明,图象对外设操作的反应被提前并阻止了外设数据的采集在数据处理开始的时间被中断。
作为数据处理装置的另一方面,数据处理装置根据来自与装置端子(插座连接器针)相连的外设的数据执行数据处理。确定装置确定外设的信号线是否已经与装置端子相连接。例如,当由于热插入等情况而导致一根或多根信号线没有以稳定的方式与装置端子相连接时,数据处理装置接收到的数据(包括表示外设类型的识别数据和表示外设状态的外设数据等)很可能是错误的。因此,数据处理装置认识到所接收的数据是错误的,从而避免了由于使用错误数据而导致外设的错误识别和错误操作。特别是,通信装置要在预定的时间间隔内多次读取识别数据。在全部识别数据都一致的情况下,确定装置确定外设的信号线是否已经与装置侧端子相连接。例如,当装置端的电源被接通时和当用户将外设的信号线从装置侧端子拔掉时,装置侧端子上的信号电平将发生变化。因此,多次读出的识别数据会有不同的值,这样,根据多次读出的识别数据是否相互一致,可以确定外设侧的信号线是否已经与装置侧端子相连接。从而,依据本发明,通过确定信号线的连接状态可以避免外设的错误识别问题。
当外设或一根或多根信号线没有连接起来时,装置侧端子(插座连接器针)被提前上拉或下拉以便于输出表示外设或信号线非连接状态的预定数据。假设在一个预定时间,已经从外设发送了包括预定数据反量(inverse)在内的连接确认数据,在这种情况下,确定装置确定通信装置所接收到的连接确认数据是否区别于表示外设或其信号线非连接状态的预定数据反量。如果是,则确定装置确定外设没有与装置侧端子相连接。从而事先避免了外设的错误识别问题。
外设被如此设计以使其一个或多个端子(插头连接器针)与其电源针和/或接地针(GND)相连。当把插头连接器插入装置的外设端口时,确定装置检测对应于与外设电源针或接地针相连的插头连接器针的装置插座连接器针上的一个或多个信号电平。如果这一个或多个信号电平与预定的一个或多个信号电平(电源电平或接地电平)不同,确定装置则确定该外设未被连接或插头连接器针没有准确地与插座连接器针相连接。从而,防止了可能出现的外设的错误识别。
在本发明的数据处理装置中,通信装置向外设发送一个需要外设传送数据的信号,如果通信装置在发送了数据请求信号之后的预定时间没有接收到响应信号,确定装置则确定该外设没有与装置侧端子相连接。从而,事先防止了由热插入等导致的外设错误识别。
在本发明的数据处理方法中,根据来自与装置侧端子相连的外设的数据(表示外设类型的识别数据,表示外设状态等的外设数据)执行数据处理,并确定外设的信号线是否已经与装置侧端子相连。从而事先防止了可能的数据错误识别。
本发明所涉及的外设向数据处理装置输出有关外设侧端子是否已经与该装置相连接的证实数据。与之相应,数据处理装置确定从外设接收到的证实数据是否正确。因此,数据处理装置能够确定外设是否已经以稳定方式连接在该装置上,从而避免了象错误识别外设这样的问题。
外设输出识别数据作为证实数据。也就是,数据处理装置在预定的时间间隔不只一次地从外设读取识别数据。确定装置根据那些识别数据是否一致来确定外设是否已经以稳定方式连接于该装置。
外设输出连接确认数据作为证实数据。也就是,数据处理装置侧端子被预先上拉或下拉以便于输出表示外设与装置侧端不相连接并包含连接确认数据反量(inverse)在内的预定数据。假设在一个预定的时间,包括了预定数据的反量的连接确认数据已从外设被传送。在这种情况下,确定装置确定通过通信装置接收的连接确认数据是否与预定数据的反量不同。如果是,则确定装置确定外设没有与装置侧端子相连接。从而预先避免了象错误识别外设这样的问题。
外设输出一个作为连接确认数据的信号。也就是,外设的一些端子已经被连接到电源或接地。因此,当外设端子连接到数据处理装置一侧的端子上时,该装置侧端子被置于一个预定的信号电平。当装置侧端子的信号电平与预定的信号电平不同时,确定装置要确定外设端子是否已经以稳定的方式连接于装置侧端子,从而避免了在一个不稳定连接中可能出现的外设的错误识别问题。
外设输出响应信号和外设数据作为连接确认数据。即外设根据来自数据处理装置的一个请求信号输出响应信号和外设数据。因此,当数据处理装置在向外设发出请求信号后的一段预定时间内没有接收到响应信号时,确定装置确定外设没有以稳定方式连接于数据处理装置,从而避免了错误识别外的问题。
为获得上述有益效果,根据本发明的另一方面,提供了一个与外设相连接的数据处理装置,包括:一个处理来自外设的外设数据的主CPU;一个与主CPU相连的第一ROM;一个作为主CPU工作区的第一RAM;一个子CPU电路,它通过一条总线与主CPU相连并通过一个连接器可拆卸地连接于外设;所述子CPU电路包括一个与总线相连的第一接口;一个与第一接口相连的CPU内核和第二RAM;一个与CPU内核相连的第二ROM;以及一个与CPU内核和连接器都相连的第二接口,其中所述第一ROM存储一个用于向子CPU电路发送一条从外设采集一个外设数据的指令的第一程序和一个用于通过子CPU电路读取所采集的外设数据的第二程序;所述第二ROM存储一个第三程序,该程序用于根据指令从外设采集外设数据并将采集到的外数据提供给主CPU。
根据本发明的另一个方面,提供了一种操作装置,包括:一个连接到外设并控制到/从外设输入/输出信号的第一接口;一个与一根用于向/从与操作装置相连的主CPU输入/输出信号的总线相连的第二接口;一个通过内部总线与第二接口相连的CPU内核,它执行一个来自主CPU的命令;一个存储了命令处理所需程序的ROM;以及按照外设的类型将第一接口可选择地连接于CPU总线和内部总线中的任一条。
图1是作为本发明的一个实施例的电子游戏系统透视图;
图2是作为实施例的电子游戏略图;
图3是实施例的子CPU略图;
图4表示了实施例外设端口附近的电路;
图5是实施例中的寄存器表;
图6表示实施例外设端口的信号线的名称;
图7表示实施例的数据寄存器组;
图8是实施例的连接转换装置的方块图;
图9表示实施例的各个寄存器的真值表;
图10表示外设1D-1与外设名称间的对应关系;
图11表示外设1D-2与外设名称间的对应关系;
图12说明了实施例中所用的确定通信系统的方法;
图13A到13C表示实施例外设插头连接器连接器的针的排列;
图14说明实施例的TH/TR选择通信模式;
图15说明实施例的三线式信号交换通信模式,
图16说明实施例的计时并行通信模式;
图17A和17B说明实施例的计时串行通信模式;
图18表示数据处理装置操作的简略顺序图;
图19表示电子游戏系统在主CPU直接方式下操作的流程图;
图20表示没有执行最佳外设数据采集定时的时间图;
图21是执行了最佳外设数据采集定时的时间图;
图22是一个实施例中的寄存器表;
图23是表示图象显示和控制的时间图;
图24是表示图象显示和控制的时间图;
图25是在子CPU控制模式下电子游戏系统操作的流程图;
图26是表示外设数据来集定时最优化的流程图;
图27是表示外设数据采集定时最优化的流程图;
图28是表示外设数据采集定时最优化的流程图;
图29是表示外设数据采集定时最优化的流程图;
图30是表示外设数据采集定时最优化的流程图;
图31说明实施例中外设连接状态的确定;以及
图32A和32B说明了实施例中外设连接状态的确定。
本实施例的结构(1)整体结构
图1是作为本发明的一个实施例的电子游戏系统透视图,在图1中,符号1f表示该电子游戏系统的数据处理装置,它的前部有一对双外设端口27,每个外设端口27有一个插座连接器或插座连接器2as,外设2b的一个插头连接器或插头连接器2ap能可拆分地与之相连接。插头连接器2ap通过一根电缆2c与外设2b相连接。插座连接器2as和插头连接器2ap的连接组合在下文中被称作连接器2a,外设2b包括控制键转换部件,诸如操纵板,操纵杆,键盘或鼠标器。这些转换部件也可以被称作一个控制器。可以采用美国专利申请S.N.08/245,446所公开的控制器作为转换部件。
在数据处理装置1f的上表面上提供了一个数据盒1/Fle用以连接一个ROM数据盒和一个用来读CD-ROM的CD-ROM驱动器5a。在数据处理装置1f的后部提供了一个视频输出端子和一个音频输出端子(图中未示),数据处理装置一侧的视频输出端子通过一根电缆1g与电视3d的视频输入端子相连,并且电子游戏系统的音频输出端子通过一根电缆1h与电视3d的音频输入端子相连。在这样的电子游戏系统中,用户能在观看出现在电视3d显示屏上图象的同时,通过操作外设2d来玩游戏。
图2是表明本实施例中电子游戏系统的简要方块图。其数据处理装置由一个对整个系统提供控制的CPU块1,一个处理视频信号并控制在游戏显示屏上显示的图象块3,一个产生有效声音等的语音块4和一个控制CD-ROM驱动器5a并读CD-ROM的子系统5构成。
CPU块1由一个SCU(系统控制单元)1a,主CPU1b,RAM1c,ROM1d,数据盒1/Fle,子CPU2和CUP总线10构成,主CPU1b控制整个游戏系统,为了增强控制能力,主CPU1b由32位R1SC型高速CPU(两个SH-2CPU芯片)组成并提供了经改进的与一个数字信号处理器(DSP)功能相似的高速运算操作。RAM1c被用于主CPU1b的工作区,ROM1d中写有一个用于初始化目的的初始程序。SCU1a通过控制总线10、11和12平稳地在主CPU1b,VDP3a和3b,DSP4b以及CPU5c之间输入/输出数据。SCU1a有一个内部DMA控制器,它在游戏过程中高速地向图象块3中的V-RAM传送字符(子画面)数据以执行程序用的应用软件。数据盒1/F le以一个ROM数据盒的形式供给的定位应用软件中进行输入。
子CPU2被称作SMPC(系统管理器及外设控制),它具有根据来自主CPU1b的请求,通过连接器2a从外设2b采集外设数据的功能,所述主CPU1b控制图象,例如根据从子CPU2接收到的外设数据在游戏显示屏上旋转一架飞机。子CPU2还具有自动识别与连接器2a(插座连接器端子)相连的外设类型的功能并依据该类型的外设所用的通信模式来采集外设数据。
图象块3由一个在电子游戏中描绘字符的VDP3a(图象显示处理器),一个描绘背景画面的VDP3b构成。VDP3sa和3b所描绘的图象上的数据被存在一个帧存储器中(图中未示),然后将其输出到一个编码器3c中,其中通过附加一个同步信号到图象数据上来产生一个视频信号,并输出该视频信号到电视机上以在电视上显示游戏图形。图象块3的详细描述可以参照PCT/JP94/01068(1995年2月24日在美国申请),PCT/JP94/01067(1995年2月27日在美国申请),PCT/JP94/01066(1995年2月27日在美国申请)。
语音块4由一个按照PCM或FM系统执行语音合成的DSP4b和一个控制DSP4b及其它操作的CPU4a组成。DSP4b产生的语音数据被一个D/A转换器转换成两个通道信号,然后将其输出到扬声器4d。
子系统5由一个CD-ROM驱动器5a,CD 1/F 5b,CPU5c,MPEG AUDIO 5d,MPEG V1DEO 5e等组成。子系统5读取CD-ROM馈给的应用软件并再现一个动画。CD-ROM驱动器5a从CD-ROM读取数据。CPU5c控制CD-ROM驱动器5a并校正读出数据中可能有的错误。从CD-ROM读出的数据通过CD 1/F 5b,总线11和SCU1a被传送到主CPU 1b并用作应用软件。MPEG AUDIO 5d和MPEG VIDEO5e恢复按MPEG(运动图形专家组)标准压缩的数据。通过利用MPEG AUDIO 5d和MPEG V1DEO 5e恢复写在CD-ROM中的MPEG压缩数据,动画图象被再现。(2)子CPU的结构
图3显示了子CPU2的结构,子CPU2通过包括了地址和数据总线的总线10连接于主CPU1b,并作为主CPU的一个子CPU进行操作,子CPU2由一个执行从主CPU1b发送的命令的CPU内核20,一个包括了一个译码器的1/F 21,写有用于执行命令的程序的ROM22,用作工作区的RAM23,总线38,对时钟计数的计数器24,一个根据主CPU1b的命令直接控制I/O接口26的多路转换器36,转换多路转换器36和具有双通道外设端口27的I/O接口的数据寄存器组35组成。在本发明中,多路转换器36和数据寄存器组35构成了连接转换装置40。子CPU2可做成一个半导体芯片上的集成电路。
如图4所示,外设2b通过连接器2a和外设端口27与子CPU2电连接。通过将外设2b的插头连接器连接器2ap插入数据处理装置的插座连接器2as中。外设端口27的所有信号线就与外设2b电连接起来。<1/F 21,RAM23>
RAM23被用作CPU内核20的一个工作区。1/F 21包括一个对地址和数据总线进行译码的译码器。在1/F21中提供了一个寄存器表(图中未示),它提供了主CPU1b和子CPU2之间的数据输入/输出。因此,经由CPU总线10访问一个预定地址,主CPU1b可以访问寄存器表。
图5显示了寄存表的一个例子。在图5中,一个命令寄存器(COMREG)用于向子CPU2传送来自主CPU1b的命令并被看作主CPU1b的一个8位只写寄存器,例如,当主CPU1b已将一个中断返回命令(1NTBACK)“10H”写入了命令寄存器时,CPU内核20依据该命令采集外设数据。一个状态寄存器(SR)指示已执行命令后子CPV2的操作状态。例如,它显示双通道I/O端口的使用状态,及存在/不存在还没有传送到主CPU1b的剩余外设数据。状态寄存器被看主CPU1b的一个只读寄存器。
状态标志(SF)指示子CPU2是否在执行命令或是否可以接收命令,状态标志中的数“1”表示子CPU2处于忙状态(在执行命令),而“0”表示子CPU2能够接收一个命令。主CPU1b在将命令写入命令寄存器之前设置(写入“1”)该状态标志,当子CPU2完成了该命令的执行时,子CPU2将状态标志复位(写入“0”),在确认子CPU2处于能够执行一个命令的状态(状态标志为“0”后,主CPU1b向子CPU2发送一个命令。
每个输入寄存器(IREG0-IREG6)是一个7字节寄存器,它为从主CPU1b发向子CPU2的命令给定一个固有命令参数,并且该寄存器被看作主CPU1b的一个只写寄存器。
每个输出寄存器(OREG0-OREG31)存储从子CPU2向主CPU1b传送的数据,例如,子CPU2所采集的外设数据,关于外设类型的数据等被写入输出寄存器。因此,通过访问输出寄存器,主CPU1b能够获及外设数据。每个输出寄存器被看作主CPU1b的只读寄存器。<多路转换器36>
多路转换器36确定CPU内核20和主CPU16哪一个应该访问I/O接口26,由数据寄存器组35来执行多路转换器36的转换。
通常,多路转换器36处于如图3所示的状态并且CPU内核20访问I/O接口26。如此,我们称子CPU2依据来自主CPU16的命令得到外设数据的状态为“子CPU控制模式”。
根据子CPU控制模式,可能会出现下列问题。当使用需要高速访问的外设2b时,低操作速度的CPU内核20不能访问外设数据。由于外设2b的访问协议是存在ROM22中,所以此访问协议是难以改变的。因此,虽然子CPU2能够访问一个预先假定好要用的外设2b,但它不能访问没有假定的外设2b。为解决这个问题本发明打算提供一种数据处理装置,它实现了高速图象处理,多种图象处理并优化了外设控制。
在这些情况下,通过利用能执行高速操作并具有高灵活性的主CPU1直接访问外设2b,获得了外设数据。如此,我们称主CPU1b直接访问外设的状态为“主CPU直接模式”。<I/O接口26>
I/O接口26有双通道外设端口27,每个双通道外设端口27由7根信号线和电流线Vcc和地线GND构成,各信号线的名称和功能如图6所示。如图所示,参考字符TH,TR和TL表示主要用做控制线的信号线;R,L,D和U表示主要用做从外设延伸至I/O接口26的数据输出线的信号线。如下所述,可以根据与数据处理装置相连的外设的类型来自由设置那些信号线的输入/输出方向。在定时并行和串行通信模式以外的通信模式中,这些信号线TR,TL能被用做数据线。
通过访问子CPU2中提供的数据寄存器35(图3,7)来设定信号线的输入/输出方向。数据寄存器组的每个数据方向寄存器(DDR1,DDR2)是一个7位寄存器,它能设置每个通道的外设端口27的各个信号线的输入/输出方向。例如,当主CPU1b通过CPU总线10在数据方向寄存器的每一位中写入“0”时,各信号线被设置成数据输入,而当主CPU1b写入“1”时,各信号线被设置成数据输出。因此,实现了对各种外设的访问。
数据寄存器组的每个端口数据寄存器(PDR1,PDR2)是一个7位寄存器,其中存储了每个通道的外设端口27中的数据。当外设端口27已被设为数据输出时,通过将数据写入端口数据寄存器来将此数据输出到外设端口27。当外设端口27被设为数据输入时,通过读端口数据寄存器中的数据来读出外设端口27的端子状态(“0”或“1”)。
每个I/O选择寄存器(IOSEL1,IOSEL2)是一个标志,它确定子CPU2和主CPU1b中的哪一个将访问外设端口27。当将“0”写入I/O选择寄存器时,子CPU2能访问外设端口27,当将“1”写入I/O选择寄存器时,主CPU1b能访问外设端口27。<数据寄存组35>
数据寄存器组35的具体结构如图3和8所示。在图3中,数据寄存器组35通过一个多路转换器30与I/O接口26相连。数据寄存器组35主要包括一个用于主CPU1b的寄存器组351,用于子CPU2的寄存器组352和I/O选择寄存器353。
用于主CPU1b的寄存器组351的一个端子通过总线39和10与主CPU1b相连。寄存器组351的另一个端子与多路转换器36的一个端子相连。
用于CPU内核20的寄存器组352的一个端子通过总线38与CPU内核20相连。寄存器352的另一个端子与多路转换器36的另一个端子相连。
多路转换器36的一个公用端子与I/O接口26相连,其依序与外设连接器2a相连。通过外设端口27与外设连接器2a相连的是两个相应的外设2b,例如操纵板。
多路转换器36根据数据寄存器组35的I/O选择寄存组353的设置,通过寄存器组352和总线38将外设2b连接于CPU内核20或通过寄存器组351和总线39及10将外设2b连接于主CPU1b。
而在图3的数据寄存器组35中,所说明的多路转换器36和I/O接口26是由用于双通道的电路组成的,下面将说明只用于一个通道的元件。
图8是表示连接转换装置40的具体结构的方块图。在图8中,显示了主CPU1b及其总线10,连接转换装置40,子CPU2中的CPU内核20及总线38。
与主CPU1b相连的总线10由一个地址总线101,控制总线102和数据总线103组成。地址总线101和控制总线102通过一个译码器264与子CPU2的一个译码器251相连。从地址总线101向译码器251供给地址数据。
寄存器组351由6位端口数据寄存器(PDR1,2)355,6位端口数据方向寄存器(DDR1,2)和6位端口数据寄存器357组成。
来自数据总线103的数据被写入端口数据寄存器355和数据方向寄存器356中。译码器251的输出端与端口寄存器355,数据方向寄存器356,端口数据寄存器357和I/O选择寄存器组(IOSEL1,2)353相连。由译码器251的指示选择,那些寄存器中的一个。
寄存器组352由一个6位端口数据寄存器358,6位数据方向寄存器359和6位端口数据寄存器360构成。
与CPU内核20相连的总线38由一根地址总线381,控制总线382和数据总线383构成。数据总线383与端口数据寄存器358,数据方向寄存器359和端口数据寄存器360相连。地址总线381和控制总线382与译码器252相连,该译码器的输出端与端口数据寄存器358,数据方向寄存器359和端口数据寄存器相连,根据译码器252的指示选择,那些寄存器中的一个。
多路转换器36由三态缓冲器361-365构成,假设其中已存储了所需的位数据。I/O选择寄存器组353的输出端与缓冲器361和363的非反相控制输入端子及缓冲器362和364的反相控制输入端子相连。当I/O选择寄存器组353的输出端为“1”时,缓冲器361和363被打开,而I/O选择寄存组353的输出端为“0”时,缓冲器362和364被打开。
端口数据寄存器组355的输出端子与缓冲器361的一个输入端子相连;数据方向寄存器组356的输出端子与缓冲器363的一个输入端子相连;端口数据寄存器358的输出端子与缓冲器362的一个输入端子相连;数据方向寄存器359的输出端子与缓冲器364的一个输入端子相连。
缓冲器361,362的输出端子一起与缓冲器365的一个输入端子相连。缓冲器365的非反相控制输入端子与缓冲器363、364的输出端子相连以控制开/关缓冲器365,与I/O接口26相连的输出端子及端口数据寄存器351,360。
图9显示了图8中各个寄存器的真值表(从主CPU1b来看),并解释了当I/O选择寄存器353已被设置为“0”时将访问I/O接口26的权利转换给CPU内核20的状态。在这种情况下,图9还显示了I/O接口26的方向处于输入状态而不考虑数据方向寄存器组356的值,及由子CPU2确定缓冲器的状态等而不考虑端口数据寄存器组355的值。这个表进一步表明当I/O接口26的输入状态是图9所示8个上态中的任一个时,可以通过端口数据寄存器357来读取。<外设端口27>
图4显示了在外设端口27周围的电路。如上所述,I/O接口26有两个通道外设端口27。每个外设端口27的信号线D、U、TH、TR、TL、R和L通过相应的电阻器271上拉到电源Vcc。这样,当没有外设连接到这些信号线时,这些信号线的电压为Vcc(“1”)。因此,当设置用于数据输入的这些信号线(例如,R、L、D、U)都为“1”时,子CPU2确定没有外设已经连接到外设端口27。<外设>
外设的种类很多;控制器或操作板,鼠标,键盘,等等。并且,因此,执行依赖于各种外设的通信所需的处理。在本实施例中,这些外设由外设标志ID-1、2表示,因而能够自动识别所连接的外设。外设标志ID-1用于使子CPU2确定通信模式等。外设标志ID-1不传送到主CPU1b。外设标志ID-2用于使主CPU1b执行依赖于这种外设的图象处理。因此,外设标志ID-2从相关的外设读出并传送到主CPU1b。
外设标志ID-1和外设名称之间的关系显示在图10中,其中,根据当子CPU2输出“1”到信号线TH时,信号线R、L、D、U的相应值以及当子CPU2输出“0”到信号线TH时,信号线R、L、D、U的相应值来确定外设标志ID-1的值。即,外设标志ID-1为4比特并且其具体计算根据下式进行:
外设标志ID-1
={(当TH=1时的R)或(当TH=1时的L)}×8h
+{(当TH=1时的D)或(当TH=1时的U)}×4h
+{(当TH=0时的R)或(当TH=0时的L)}×2h
+{(当TH=0时的D)或(当TH=0时的U)}×1h,这里,h表示16进制的后缀。
子CPU2能够自动识别称作外设标志ID-1的外围设备,并且确定与所识别的外设标志ID-1相对应的通信模式。例如,当外设标志ID-1的值是“Bh”时,子CPU2确定连接到外设端口27的外围设备是一个控制板(controlPAD),例如,当外设标志ID-1的值是“3h”时,子CPU2确定连接到外设端口27的外围设备是一个鼠标,另外,例如,当外设标志ID-1的值是“Dh”时,子CPU2确定连接到外设端口27的外围设备是一个“3TRG/6TRG/PAD”(3/6按钮的控制板),另外,例如,当外设标志ID-1的值是“7h”时,子CPU2确定连接到外设端口27的外围设备是一个“用于许多外设连接的4P适配器”。
在某些外设中,信号线TR用作一输出线。这样,当外设的信号线TR有一个低阻抗(输出)时,I/O接口26或在外设一侧的设备存在被中断的可能性,为了避免这一所不希望的情况,当信号线R、L、D、U的值被读取并计算外设标志ID-1时,信号线TR最好是处于高阻抗状态并上拉为高电平。
外设标志ID-2是在通信模式已经确定后的通信中从外设输出的数据。此外设标志ID-2通过输出寄存器传送到主CPU1b并且与主CPU1b的图象控制有关。外设标志ID-2和外设名称之间的关系显示在图11中。例如,当外设标志ID-2的值为“1h”时,主CPU1b确定外设是诸如操纵杆之类的模拟设备,同时,外设标志ID-1的值变成“5h”表示外设输出外设ID-2,即,只有当外设标志ID-1为“5h”时,外设才输出外设标志ID-2。
如上所述,通过采用两个外设标志ID-1、2,一个用于电子游戏系统的在类型上能够与其它外设区别开来的外设能够用在下面的电子游戏系统中。例如,假定外设标志ID-1分配给一常规类型的外设,在这种情况下,通过除ID-1之外还把外设标志ID-2分配给一新型外设,那么此新型外设能够包含新型和旧型的外设的功能,因此,根据本实施例,能够开发一种新型外设,而同时仍然保持此外设与其它外设的兼容。<在外设端口和外设之间的通信模式>
子CPU2根据下面的依赖外设类型的通信模式进行通信。如上所述,通信模式由外设标志ID-1的值确定。
例如,当外设标志ID-1的值为“Dh”时,子CPU2确定连接到外设端口27的外围设备是“3TRG/6TRGPAD”。在这种情况下,子CPU2选择一种依赖于外设“3TRG/6TRGPAD”的并行通信模式。当外设ID-1的值是“Bh”时,子CPU2确定连接到外设端口27的外围设备是一个控制板。在这种情况下,子CPU2根据外设标志ID-1(=Bh)确定一种后面将要描述的TH/TR选择通信模式。
当外设标志ID-1的值为“5h”时,在对应图12的表的基础上确定三线信号交换通信模式(handshake communcca-tion mode)、定时并行和串行通信模式的其中之一。图12显示了每根信号线和通信模式之间的关系。例如,当子CPU2输出TH=1和TR=1,外设输出R=0、L=0、D=0和U=1时,以及当子CPU2输出TH=0和TR=1,外设输出R=0、L=0、D=0和U=1时,子CPU2选择三线信号交换通信模式。当子CPU2输出TH=1和TR=1,外设输出R=0、L=0、D=1和U=0时,以及当子CPU2输出TH=0和TR=1,外设输出R=0、L=0、D=0和U=0时,子CPU2选择定时串行通信模式。当子CPU2输出TH=1和TR=1,外设输出R=0、L=0、D=1和U=1时,以及当子CPU2输出TH=0和TR=1,外设输出R=0、L=0、D=1和U=1时,子CPU2选择定时并行通信模式。
在基于定时串行通信的外围设备中,最好是信号线R、L连接到地(GND)而信号线D连接到电源Vcc。如图13C中的插头连接器2ap的针配置所示的那样。因此,防止了通信模式选择的错误。在确定通信模式后,子CPU2根据适当的通信系统访问外围设备。
接下来,下面将描述TH/TR选择通信模式、三线信号交换通信模式和定时并行及串行通信模式的细节。
图14说明了TH/TR选择通信模式,这种模式主要用于诸如控制板的外围设备中,在图14中,“RIGHT”,“LEFT”,“DOWN”,“UP”,“START”,“TRG-A至C”,“TRG-R”和“TRG-X至Z”表示在控制板中提供的各个键上的数据。在这种通信模式中,信号线TH、TR设置成数据输出(用于从I/O接口26到外围设备的信号传输),信号线TL、R、L、D和U设置成数据输入(用于从外设到I/O接口26的信号传输)。如图14所示,通过顺序地改变在子CPU2一侧的信号线TH、TR的状态,外围设备顺序地输出第一至第四数据到信号线R、L、D和U上。这样,子CPU2读取输出到各个信号线R、L、D和U上的数据而采集外设数据(关于控制板的键盘的状态)。所采集的外设数据通过输出寄存器送到主CPU1b。
当外围设备2b采用TH/TR选择通信模式时,其插头连接器2ap的9根针的配置及其相互间的电隔离,如图13A所示。
图15说明了三线信号交换通信模式,此模式用于诸如鼠标等之类的外围设备中。在三线信号交换通信模式中,信号线TH、TR设置为数据输出(用于从I/O接口26至外围设备的信号传输)。信号线TL、R、L、D和U设置成数据输入(用于从外围设备至I/O接口的信号传输)。当子CPU2已经开始访问外围设备时,信号线TH、TR和TL全为“1”。子CPU2读取表示来自信号线R、L、D和U的用于计算外设标志ID-1的数据的前半部分的4比特数据,子CPU2输出“0”作为一个外设选择信号到信号线TH并且读取表示用于计算外设标志ID-1的数据的后半部分的4比特数据。
其后,当子CPU2使信号线TR上的信号电平翻转到“0”时,在外设ID-2(ID0-ID3)上的4比特数据从外设输出到信号线R、L、D和U。这时,外设使信号线TL翻转到“0”以通知子CPU2输出到信号线R、L、D和U的数据已经被固定。在子CPU2已经证实信号线TL的翻转后,它读取输出到信号线R、L、D和U的关于外设标志ID-2的数据。另外,当子CPU2使信号线TR翻转到“1”时,外设输出表示外设数据的各总字节数的数据量大小的信号(DSIZE0-DSIZE3)到信号线R、L、D和U上。子CPU2证实信号线翻转到“0”后,读取输出到信号线R、L、D和U上的数据量大小信号。其后,子CPU2顺序地翻转信号线TR上电压值从而使得外围设备输出外设数据(DATA)。外设标志ID-2、数据量大小信号和外设数据通过输出寄存器送到主CPU1b。
下一个输出的外设数据(R=0、L=0、D=0和U=0)为连接证实数据。通过证实此数据,子CPU2能够确定外设端口是否已经正确地连接。如果外围设备的某些插头端子脱出数据处理装置的插座连接器,那么上拉信号线R、L、D和U的任意一个将为“1”,并且连接证实数据的值不是R=0、L=0、D=0和U=0。因此,通过参照连接证实数据,在通信过程中子CPU2能够确定外围设备已经脱出,从而预先防止错误的外设数据反馈到主CPU1b。
当外围设备2b采用三线信号交换通信模式时,其插头连接器2ap的相互电隔离的9根针的配置显示在图13A中。
图16说明了定时并行通信模式。除了与用于前面的通信模式中的外设不同外,在此并行通信模式中用于输入/输出的各个信号线的设置与三线信号交换通信模式类似。在插头连接器2ap中的两根数据信号线TR和TL短接,如图13B所示,使得输出到信号线TR的信号不加改变地输入到信号线TL。当子CPU2已经开始访问外围设备时,信号线TH、TR和TL全为“1”。这时,子CPU2读取表示来自信号线R、L、D和U的用于计算外设标志ID-1的数据的前半部分的4比特数据。子CPU2然后输出“0”作为一个外设选择信号到信号线TH并且读取表示用于计算外设标志ID-1的数据的后半部分的4比特数据。子CPU2能够根据计算出的外设标志ID-1选择定时通信模式。
当子CPU2输出“0”到信号线TR时,4比特大小外设标志ID-2数据从外围设备输出到信号线R、L、D和U。然后当子CPU2输出“1”到信号线TR时,输出4比特表示数据量大小的数据。然后,子CPU2顺序地翻转信号线TR以输出外设数据。
外设标志ID-1、ID-2、数据量大小数据、外设数据和连接证实数据都与前面的三线信号交换并行通信模式类似。
图17说明了定时串行通信模式。其中信号线TH、TR设置为数据输出而信号线U设置成数据输入。当子CPU2开始访问外围设备时,信号线TH和TR都为“1”而信号线TL为“0”。子CPU2读取表示来自信号线R、L、D和U的用于计算外设标志ID-1的数据的前半部分的4比特数据。子CPU2然后输出“0”作为一个外设选择信号到信号线TH并且读取表示用于计算外设标志ID-1的数据的后半部分的4比特数据。根据依照这些数据计算出的外设标志ID-1确定定时并行通信模式。
当子CPU2访问外围设备时,子CPU2首先输出“0”到信号线TH作为一外设选择信号。当子CPU2输出一定时信号到信号线TR时,外设输出每一比特数据到信号线U。如图17所示,诸如外设标志ID-2、数据量大小数据、和外设数据等数据以1比特为单位输出。当输出到信号线TR的时钟上升时,子CPU2读取输出到信号线U上的数据。在定时串行通信模式中外设一侧的插头连接器端子显示在图13C中。在插头连接器2ap中,信号线D连接到电源Vcc并且信号线TL、R和L连接到地(GND)。因此,当根据定时串行模式进行通信,并且信号线TL、R和L变成“1”时,子CPU2确定没有外设已经连接到外设端口27。(操作)
接下来,下面将描述来实施例中的电子游戏系统的操作。
(1)在子CPU控制模式中执行的过程的概述:
下面将概述在子CPU控制模式中执行的过程。子CPU控制模式意味着一个操作状态,如上所述,根据来自主CPU1b的命令,在此操作状态中子CPU2执行外设数据的采集等等。在子CPU控制模式中的过程下面将参照图18的顺序图描述。<设置数据寄存器组>
首先,主CPU1b执行一个在CD-ROM驱动器5a中的CD-ROM设置或者执行一个在插入在数据盒连接器1e中的ROM数据盒上的程序。当主CPU1b确定此过程可能在子CPU2的控制模式下时,主CPU1b观察子CPU2的状态,当转换装置40不在子CPU2一侧时,主CPU1b将预定数据写入数据寄存器组(图7)中以设置外设端口27(T1)的输入/输出方向。
根据图19中的流程图执行数据寄存器组的设置。主CPU1b输出预定数据到地址总线101和控制总线102以便通过译码器251选择数据方向寄存器(DDR)356。然后主CPU1b输出例如“00H”到数据总线103并且将其设置到DDR 356中(步骤S 501)。主CPU1b输出预定数据到地址总线101和控制总线102以便通过译码器251选择I/O选择寄存器353。然后主CPU1b输出“0”到数据总线263并且设置“0”到I/O选择寄存器(IOSEL)353(步骤S502)。通过如此操作,模式就变换到子CPU控制模式。
设置在子CPU2中的I/O选择寄存器353,使得在处理系统电源接通的状态时,子CPU2一侧被正常地选择。因此,在这种情况下,转换装置40已被设置为连接到子CPU2,这样就没有转换命令从主CPU1b输出。
因为在子CPU控制模式下I/O选择寄存器(IOSEL)353的输出端输出“0”,因此缓冲器361、362打开并且缓冲器362、364开启。因此,I/O接口26的访问权已经属于CPU内核20。
图9说明了当I/O选择寄存器358已设置为“0”,对I/O接口26的访问权已经转换到CPU内核20的情况。在这种情况下,图9说明了I/O接口26的方向设置为数据输入而不管数据方向寄存器356的值,以及缓冲器的状态等等已经被子CPU2所确定而不管端口数据寄存器355的值。图9还显示了当I/O接口26的输入状态为图9上行状态的任何一种时,子CPU2能够通过端口数据寄存器357读取外设数据。
CPU内核20设置“1”到数据方向寄存器359中作为请求通过端口数据寄存器358将所需数据送到外设并且通过端口数据寄存器360从外设采集数据。正如上所述,当外围设备已经连接到CPU内核20上时,此外设为低速类型且数据以一相对低的速度采集。因此,例如,用一控制板作为这种外设。
高速外设意味着由于CPU内核20在外设上与来自监视器3d的垂直同步信号同步地采集数据,因此CPU内核20在采集数据的时间内需要采集比一预定数据量更多的数据,而低速外设意味着CPU内核20在采集数据的时间内只需要采集比预定数据量少的数据。
CPU内核20在外设上与一垂直同步信号同步地采集数据并且在此时间内将采集到的数据通过输出寄存器送到主CPU1b。因此,由于主CPU1b不需要执行对外设的处理,因此减少了CPU1b的负荷,从而使得主CPU1b能够集中于图象处理并且以较高的速度执行游戏系统的操作。<输入寄存器的设置>
在设置完数据寄存器组35后,主CPU1b确定状态标志(SF)(图5)是否已经复位(子CPU2是否能够接收命令)。如果状态标志已经被置位(子CPU2在命令执行的过程中),主CPU1b等待直到状态标志复位。当主CPU1b确定此状态标志已经复位,那么主CPU1b置位此状态标志,并且写一命令参数到一输入寄存器中(IREG)(图5)(T2)。由命令参数设置的内容是,例如,稍后将描述的外设数据采集开始时间的优化应该执行或关于子CPU2的状态数据应该返回。<向后中断(interrupt Back)命令的产生>
此外,主CPU1b写表示一个向后中断数据命令的数据“10h”到一命令寄存器中(COMREG)(图5)(T3)。此向后中断命令用于使子CPU2获取外设数据。产生向后中断命令的时刻如图20所示。在图20中,向后中断命令通常在视频信号的垂直消隐期间(从V-BLANK-IN到V-BLANK-OUT)产生。<外设数据的采集>
在子CPU2通过命令寄存器接收到一向后中断命令后的一预定时刻,子CPU2开始采集外设数据(T4)。通常,主CPU1b在没有图象显示的V-BLANK期间已经读取了外设数据。因此,如图20和图21所示,在子CPU2接收到向后中断命令后最好在靠近V-BLANK-IN(T6)的时刻(T4-T5)采集外设数据。正如上所述,通过减小在开始图象控制(V-BLANK-IN)的时刻和采集外设数据的时刻之间的时间差,主CPU1b能够采用每时每刻都在变化的外设数据的最新内容。因此,游戏对外设操作的反应加快了。例如,即使当外设数据的内容改变一个半帧(one field)时,主CPU1b也能够获取最新外设数据而对外设的操作提供精确的图象控制。这一处理称为外设数据采集时间的优化。
首先,在时刻T4,子CPU2的CPU内核20通过I/O接口26读取外设端口27的信号线R、L、D和U的信号电平。当没有外设连接到外设端口27时,信号线R、L、D和U上拉到电源Vcc而全变为“1”。在这种情况下,外设标志ID-1变成一个非记录值(在图10中,外设标志ID-1没有分配给一个外设,即“Fh”),因而子CPU2确定没有连接外设。
当由子CPU2读取的外设标志ID-1的值是一个记录值时,子CPU2自动确定与外设标志ID-1的值相对应的外设已经连接。这时,子CPU2根据信号线R、L、D和U的值(图12),自动地从TH/TR选择通信模式、三线信号交换通信模式、定时串行和并行通信模式等等中选择一种适当的模式。
例如,当TH=1、TR=1、R=0、L=0、D=0、U=1和TH=0、TR=1、R=0、L=0、D=0、U=1时,子CPU2选择三线信号交换通信模式,如图15所示。子CPU2根据三线信号交换通信模式顺序地从外设读取外设标志ID-2、数据量大小数据和外设数据。外设数据的读周期如图21B所示。读取的数据存储在子CPU2的输出寄存器(OREG)中。<输出寄存器的建立(creation)>
图22显示了在执行向后中断命令后的输出寄存器的内容。每个2通道外设端口27中的数据以相同的格式存储在输出寄存器中。在外设端口1中的数据401包括端口1的状态,外设1数据,外设2数据,。。。,外设m数据,由参考数402所示。这些外设1数据,外设2数据,。。。表示通过转接插座(连接器)连接到外设端口的许多外设的数据。关于连接到外设端口的转接插座的ID数据和关于连接到外设端的外设数量的数据都写在端口1的状态中,如参考数403所示。当没有外设连接到外设端口或一个非记录外设连接到外设端口时,关于连接器的数量的数据为“0h”。
另外,外设信息、修改的数据量大小数据和外设数据(第1-第n)被写入一个外设1数据段,如参考数404所示。当连接了一个具有多于16字节的数据量大小的外设时,修改的数据量大小数据就被加上。外设数据包括外设标志ID-2和数据量大小数据,如参考数405所示。在状态寄存器SR中的NPE位表示已经被传送到主CPU1b的外设数据存在/不存在。当没有被传送的外设数据时,将“1”写入NPE而当所有的外设数据都已传送时,将“0”写入NPE。这样,就完成了写数据到输出寄存器(图11和图18中的T5)。<输出寄存器的获取>
在图18中,在完成将外设数据等等写入输出寄存器后,子CPU2在时刻T6(T7)中断主CPU1b。主CPU1b响应此中断而获取写入输出寄存器的外设数据。当主CPU1b参考状态寄存器中的NPE(指示剩余数据的存在/不存在)而确定有一些剩余外设数据时,主CPU1b请求子CPU2写这些剩余外设数据到输出寄存器(T7-T8)并中断主CPU1b。需要注意的是,当由于外设数据太大或者一个外设具有一个连接有许多外设的转接插座等等时,输出寄存器容纳不下外设数据,因而主CPU1b产生一个CONTINUE请求。
同样地,主CPU1b从输出寄存器获取剩余外设数据。这样,在从V-BLANK-OUT至V-BLANK-IN期间,外设数据分成一些数据项,然后顺序传送到主CPU1b。当外设数据量小时,所有外设数据都在垂直扫描期间传送到主CPU1b。这样,通过将所有的外设数据传送到主CPU1b,完成了向后中断数据命令的执行过程(T9)。然后,主CPU1b根据来自外设的外设数据在V-BLANK-IN后的半帧时期内提供诸如三维计算的图象控制,并且将由图象控制获得的图象数据写入两个帧缓冲器的其中之一(例如,在帧A),如图23所示。在下一半帧中,在子CPPU2从外设采集新的外设数据期间,显示在帧A写入帧缓冲器中的图象数据。根据所用的应用软件,上述显示的图象以许多半帧为单位切换(图24)。
如上所述,通过使子CPU2采集外设数据,主CPU1b不需要访问具有从几微秒到几百微秒的低数据传输率的外设。因此,图象处理能够高速执行。
(2)在主CPU直接模式中的处理概述:
图19是一个表示在直接模式中的主CPU操作的流程图。
在此流程图中,主CPU1b执行在CD-ROM驱动器5a中的CD-ROM组上的或者插在数据盒连接器1e中的ROM数据盒上的程序。当主CPU1b确定除了主CPU1b的直接模式外没有外设控制处理能够执行时,它输出预定数据到地址总线261和控制总线262以使其通过译码器251选择端口数据寄存器(PDR)355。然后,主CPU1b输出一个预定值到数据总线263并将其设置到端口数据寄存器(PDR)355(图19中的S401)。然后,主CPU21输出预定数据到地址总线101和控制总线102以通过译码器251选择数据方向寄存器(DDR)356。
然后,主CPU1b输出一预定值到数据总线103并且将其设置到数据方向寄存器356(图19中的S402)。
另外,主CPU1b输出预定数据到地址总线101和控制总线102以通过译码器251选择I/O选择寄存器353。然后,主CPU1b输出例如“1”到数据总线103并将其设置到I/O选择寄存器353(图19中的S403)。
由于I/O选择寄存器353的输出端输出“1”,因此缓冲器361和363开启而打开缓冲器362和364。因此,对I/O访问的I/O权转移到主CPU1b。
这里,图9的底8行的状态表示在每一状态中,I/O选择寄存器353已置为“1”并且I/O接口26的访问权已转移到主CPU1b。
在这种情况下,当数据方向寄存器的值为“0”时,此值通过缓冲器363送到缓冲器365的控制输入端。因此,缓冲器365处于打开状态并且I/O接口26的方向设置为数据输入。根据端口寄存器359的值,多路转换器36的CMOS晶体管的状态等等的变化如图9所示;即,当端口数据寄存器359的值为“0”时,CMOS晶体管的阻抗为高而当寄存器359的值为“1”时,上拉MOS晶体管导通。然后主CPU1b通过端口寄存器351读取依赖于I/O接口26的输入状态的逻辑值。
当数据方向寄存器356的值为“1”时,此值通过缓冲器363送到缓冲器365的输入端。因此,缓冲器365开启,因而I/O26的方向设置为数据输出。多路转换器36的CMOS晶体管的状态等等根据端口寄存器355的值的变化如图9所示;即,当寄存器355的值为“0”时,NMOS晶体管导通而当端口数据寄存器355的值为“1”时,上拉MOS和PMOS晶体管导通,并且从主CPU1b写到端口数据寄存器355的这个值通过I/O接口26送到外设。这时,主CPU1b通过端口数据寄存器357读取依赖于设置在端口数据寄存器355的值的一个逻辑值。当模式从主CPU直接模式转换到子CPU控制模式时,图25的流程图需要重新执行。
如上所述,在本实施例中,子CPU2能够控制外设并且根据请求从外设采集数据。更具体地说,主CPU1b能够直接控制外设并且根据请求从外设直接采集数据。主CPU也能直接将数据写入外设中。在这种情况下,可能的外设需要具备高速数据通信的能力。因此,适当的高速外设是存储设备,例如扩充存贮器、软盘和硬盘、以及打印机。
因此,根据此直接控制模式,可得到下述的优点。
(a)即使当子CPU2不能管理和控制的外设连接到插座连接器2as时,主CPU1b也能管理和控制它们。因为当大量的数据从外设输出时,连接转换装置能够将这些外设连接到主CPU。因此,即使一个外设输出大量的数据也能被控制;
(b)数据能够送到外设,例如一些存储设备,包括打印机、扩充内存、软盘和硬盘;
(c)能够控制以高于子CPU2的最大可能处理速度的速度请求访问的外设;以及
(d)即使当在子CPU2中存在不能胜任的地方,主CPU1b也能直接控制外设,从而克服了这一问题。
(3)外设数据采集开始时间优化的详述:
如上所述,在本实施例的电子游戏系统中,可以执行外设数据采集时间的优化。
此优化主要分成三个过程。第一过程是初始化,如图26的流程图所示。此过程包括在图27是时序中执行的标志初始化(例如,在接通电源的时刻)。第二过程是V-BLANK-IN中断过程,如图28的流程图所示。此过程包括在时刻V-BLANK-IN的外设数据采集开始时间的计算,如图27所示。第三过程包括一个外设过程,如图29的流程图所示。此过程包括使一计时器计数直到在第二过程中计算的外设数据采集开始时间为止并且在此时采集外设数据。第三过程在第二过程结束后马上开始。在许多情况下,外设数据的采集在第三过程的后半部分的一个时刻(靠近V-BLANK-IN)。
下面将参照流程图26、28、29及时序图30描述第一至第三过程。
首先,当电子游戏系统的电源接通时,执行第一过程(初始化)(图30的T101)。第一过程的内容由图26的流程图所示。首先,子CPU2将“0”送入标志1以将其初始化(S101)。标志1表示当执行下一外设过程时,外设数据采集时间是否将要优化。在此初始化中,标志1为“0”(不优化)。子CPU2将“1”送入标志2以将其初始化(S102)。标志2表示在外设数据的采集过程中一个超时(V-BLANK-IN)是否已经产生。如果产生,则将“1”写入标志2。接下来,子CPU2将“0”送入变量A以初始化变量A(S103),变量A表示由子CPU2计算的外设数据采集开始时间和从V-BLANK-IN到外设数据采集开始时间之间的时间。
当在第一过程后(T102)产生V-BLANK-IN中断时,则执行第二过程(V-BLANK-IN中断过程)。此第二过程的内容由图28的流程图所示。首先,子CPU2确定标志1的内容(S201)。这时,由于在初始化时标志1的内容设置为“0”,因此,子CPU2执行S205的过程。即子CPU2将计数器X的内容改变为“0”(T102)。计数器X由子CPU2的一个内部计数器24(图2)增加。
在第二过程结束之后,开始执行第三过程(外设处理)(T103)。第三过程的内容示于图29。首先,至CPU2替换“0”到标志2中(S301)并确定标志“1”的内容是否表示应执行优化(S302)。这时,由于标志1保持为“0”(在S302中“0”),至CPU2在S305和下面的步骤中执行处理。
在步骤S305,子CPU2将计数器X的值送到变量A。即一个表示图30中从时刻T102至T103的时间Y0的值送到变量A。其后,子CPU2开始外设数据的采集(S306,T103)。接着,在继续采集外设数据(S306-S309)的同时,子CPU2确定当前时刻是否已经到达V-BLANK-IN(S307)。当所有的外设数据的采集完成时(在S309的“是”,T104),子CPU2将采集的外设数据写入输出寄存器(S310)。同时,子CPU2将“0”送到计数器X(S311)。即,在时刻T104,复位计数器X的内容并且重新开始计数器X的计数操作。
当产生一个V-BLANK-IN中断时(T105),执行第二过程。这时,由于标志1的内容为“0”并且表示产生超时的标志2的内容也为“0”,因此子CPU2执行S203中的过程,在此过程中,子CPU2将计数器X中的计数值加到变量X上并且将计数器X的计数值与变量A的加值和裕度(margin)α之间的差值送到变量A(S203)。这时,变量A的值表示时间Y0而计数器X的计数据值表示时间Z0(图30)。因此,变量A=Y0+Z0-α=Y1,Y1表示从当前时刻T105到下次外设数据采集时刻(T106)的时间。因此,如果在当前时刻(T105)后的时刻Y1采集外设数据,那么外设采集时间能够在接近V-BLANK-IN的地方产生而不会发生任何超时。如果下次外设采集时间(T106-T107)超过上次外设数据采集时间(T103-T104)一个裕度α以上,那么将产生一个超时。裕量α是一可允许的误差时间(约1ms),它减少了产生超时的可能性。表达式“1FM=Y0+Z0+外设数据采集时间”成立,这里1FM是一个半帧时间(在NTSC的情况下约为16.6ms)。
其后,子CPU2将“1”送到标志1以便在下一次外设处理(S204)中优化外设数据采集时间并且复位计数器X(S205)。然后执行第三过程。子CPU2将“0”送到标志2(S301)并确定标志1的内容(S302)。这时,由于标志1为“1”,因此子CPU2执行S303和S304中的处理。在S304的处理中,子CPU2确定计数器X的计数值是否已经达到变量A的值(=Y1)(步骤S304)。当当前时刻还没有到达外设数据采集开始时间(在304中的“是”)时,子CPU2继续执行S304中的处理。这样,当当前时刻到达外设数据采集开始时间(在S304中的“否”,T106)时,在将计数器X的计数值设置给变量A(S305)后,子CPU2开始采集外设数据(S306)。当在外设数据的采集期间时刻到达V-BLANK-IN(S307中的“否”)之前,外设数据的采集已经结束(S309中的“是”,T106)时,子CPU2将外设数据写入输出寄存器(S310)并复位计数器X而结束第二过程。
然后,同样地,子CPU2重复第二和第三过程。即,在第二过程中(T108),子CPU2根据上次Y1、Z1和裕量α的值计算从时刻T108至下次外设数据采集开始时间(T109)之间的时间Y2(=Y1+Z1-α)。在第三过程中,子CPU2在经过时间Y2(T109-T110)后开始采集外设数据。
在第二过程中(T111),子CPU2根据上次Y2。Z2和裕量α的值计算从时刻T111到下次外设数据采集开始时间T112之间的时间Y3(=Y2+Z2-α)。当上次外设数据采集时间(T109-T110)缩短时,时间Y3则增加。现在假设下次外设数据采集开始时间T112延迟并且已经产生一个超时(T113)。在这种情况下,在第三过程中,子CPU2确定在外设数据的采集过程中已经产生一个V-BLANK-IN中断(S307中的“是”)。然后,子CPPU 2将“1”送到表示产生超时的标志2(S308)中。
因为在第二过程中标志2为“1”,因此不执行S203和S204中的过程,从而使得标志1继续保持状态“0”。在下次第三过程中,标志1为“0”(S302),从而使得子CPU2立即开始采集外设数据(S306-)。正如上所述,当在上次外设数据的采集过程中产生一超时时,子CPU2执行一个为下次提供较早的外设数据采集开始时间的过程,从而预先防止了继续产生超时。
如上所述,通过外设数据采集开始时间的优化,此开始时间接近主CPU1的获取外设数据的开始时间。通过使外设数据采集开始时间接近图象控制开始时间(V-BLANK-IN),加快了游戏对外设操作的反应。例如,即使当外设数据的内容改变例如半帧时,主CPU1b也能获取最新外设数据,从而对外设的操作实现了精确的图象控制。
已执行的外设数据采集开始时间的计算(第二过程的S203)与半帧时间无关。因此,外设数据采集开始时间的优化在执行时能够不依赖于视频信号的标准,例如NTSC和PAL。
在本实施例中,通过采用V-BLANK-IN(垂直消隐信号)执行优化,而通过采用一个诸如V-BLANK-OUT的信号能够实现同样的效果。在一个可执行的过程中,根据来自主CPU1b的一个命令(当产生一向后中断数据命令时设置命令参数)不执行优化。另外,可以设置两通道外设端口27的每一个的外设数据是否将要获取。可以选择的是,优化能以每几个半帧为单位执行,例如,每帧(=每两个半帧)(图27的最下边的部分)。
通过改变时钟频率,等等,用于读取外设数据所需的时间(传输速率)也可以控制,它能在图象控制开始前立即结束(或优化)外设数据的采集。
在本实施例中执行的优化不仅可用于图象处理,而且可用于音频处理和其它数据处理。因此可实现声频处理过程。例如,在快速响应外设操作的电子游戏系统中。
(4)外设连接状态的确定:
在电子游戏系统的电源已接通的一个状态中,用户能够把外设插头连接器插入数据处理装置的插座连接器中(热插入)或者从外设数据处理装置的插座连接器拔出外设插头连接器(热拔出)。当数据处理装置正在从外设读取标识数据时热插入或热拔出,子CPU2可能读取错误的外设标志ID-1。在这种情况下,由于子CPU2不能正确地确定外设是否已连接到游戏系统,因此产生的一个严重问题是子CPU2将根据错误的外设标志ID-1错误地识别外设。
本实施例通过下面的过程自动地确定外设连接状态,最好地解决了这些问题。<采用外设标志ID-1确定外设连接状态>
当访问一外设时,子CPU2首先根据信号线TH、TR、R、L、D和U的状态获得外设标志ID-1。在TH/TR选择通信模式(图14)、三线信号交换通信模式(图15)、定时并行和串行通信模式(分别为图16、17)中确定外设标志ID-1的方法是相同的。即,对于所有的外设,确定外设的连接状态的方法是相同的。
图31简述了采用外设标志ID-1确定外设连接状态的一个过程。已接收了一个向后中断命令的子CPU2以半帧(在NTSC情况下为16.6ms)为单位访问外设。可选择的是,子CPU可以以多于半帧的单位访问外设。
当没有外设连接到外设端口27(T200-T201)时,上拉到电源Vcc的所有的信号线R、L、D和U都为“1”。子CPU2从信号R、L、D和U的状态读取表示外设数据ID-1的前半部分的4比特(第一)。然后读取表示外设标志ID-1的后半部分的4比特(第二)(T201)。这时,由于没有外设连接到外设端口,子CPU2确定外设标志ID-1还“未连接”。因此,表示“未连接”的外设标志ID-1传送到主CPU1b。
其后,用户将诸如控制板的外设插入数据处理装置的插座连接器(T202)中。当外设较深地插入插座连接器时,连接的信号线数量逐渐增加。在上次访问时刻T201后16。6ms处的时刻T203,子CPU2读取外设标志ID-1。在此时刻,由于信号线的连接状态非常不稳定,因此仅有一些信号线已经连接。因此,这时外设标志ID-1的值与上次(T201)的值不同。因此,子CPU确定此连接状态不稳定并且将表示“现在未连接”的数据送回主CPU1b。在仅有一些信号线已连接的状态中,外设标志ID-1的值表示一个错误的外设标志ID-1。
在所有的信号线已连接后(T204-),信号线的状态被稳定,从而在时间T205的外设标志ID-1得到正确值。需要注意的是,此时外设标志ID-1的值与上次的值是不同的(T203)。因此,子CPU2确定信号线的连接状态还不稳定并且将表示“现在未连接”的数据送回主CPU1b。
在延迟16.6ms后的时刻T206,外设标志ID-1读出一个与上次相同的值(T205)。因此,子CPU2确定所有的信号线已经连接并且将外设数据等等送回到主CPU1b。
上面描述了在热插入时执行的过程,而在热拔出时也执行类似的过程。更具体地说,当用户开始从连接器拔出外设时,在时刻T207的外设标志ID-1与时刻T209的不同。因此,子CPU2确定此时的连接状态不稳定。在时刻T209,由于一些信号线还连接着,因此外设标志ID-1的值很可能是错的。当所有的信号线都未连接时(T210),所有的上拉信号线都为“1”。因此,在这种情况下,子CPU2确定这些信号线未连接(T211)。
图32分别显示了在热插入和热拔出时连接状态的稳定时期。在图32中,水平轴分别表示从产生热插入和热拔出到信号线的连接状态稳定(这里所有的信号线都已连接或未连接)的时期。垂直轴表示探测到的不稳定状态的总数(这里一些信号线未连接)。从图中可以证实,在发生热插入和热拔出后,连接状态随着时间的推移而稳定。特别地,在延迟半帧时间后,探测到的不稳定连接状态总数大大减少。例如,在热插入中稳定的连接状态为85%的可能性,而在热拔出中稳定的连接状态为100%的可能性。因此,在上述过程中,当外设数据以16.6ms的间隔连续两次读取同样的值时,可以认为此连接状态已经稳定。根据上述的确定过程,在热插入和热拔出中防止外设ID-1等等的错误识别的可能性超过85%。<用一上拉信号线确定连接状态>
所有的信号线TH、TR、TL、R、L、D和U已被相应的电阻上拉到电源Vcc。因此,当一原来应输出“0”的信号线输出“1”时,就可以确定没有外设已经连接到此信号线。例如,在三线信号交换通信模式(图15)和定时并行通信模式(图16)中,从外设输出R=0、L=0、D=0、U=0作为外设数据之后的连接证实数据。因此,这些信号线的任何一根为“1”时,子CPU2确定这些信号线中的某一些信号线未连接。在定时串行通信系统中,在外设一侧,信号线TL、R和L已连接到地(GND)。因此,当信号线TL、R和L都为“1”时,就能确定这些信号线示连接。信号线R、L、D、U可以下拉到地(GND)。在这种情况下,需要输出R=1、L=1、D=1、U=1作为连接证实数据。<由控制信号线TR、TL实现的确定>
在三线信号交换通信模式中,(图15),当子CPU2请求外设输出数据时(当信号线TR翻转时),此外设将一表示数据输出的信号(响应信号)送回到信号线TL(信号线TL翻转)。如果信号线TR、TL至少有一根未连接,那么就没有信号从此外设输出给信号线TL。当在子CPU2输出一信号线信号线TR后的预定时间内外设未使信号线TL翻转时,子CPU2能够确定信号线TR、TL的任意之一未连接。因此,子CPU2能够确定没有外设稳定地连接到插座连接器,因而避免了外设的错误识别问题。
将上述的采用外设标志ID-1确定外设的连接状态、通过上拉信号线确定连接状态、以及通过控制信号线TR、TL确定连接状态结合起来,能够更精确地确定连接状态。本发明不限于上述实施例,并且在不脱离本发明的精神和范围的情况下也能实现本发明。
如上所述,根据本实施例所产生的优点如下:
首先,包括图象控制的数据处理可以高速执行。通过使子操作装置执行外设数据的采集,主操作不需要访问具有低数据传输率的外设。即,由于连接转换装置根据来自主操作装置的一转换信号连接一外设到主操作装置或者子操作装置,因此,根据图象处理环境的内容和特性,包括此种外设的内容、主操作装置程序的内容等等,数据处理装置能够在图象处理特性和对外设的数据输入/输出特性之间保持最佳的兼容性。当开关装置根据外设的操作速度特性转换时,连接转换装置将具有低操作速度特性的外设连接到子操作装置,因而减少了主操作装置的负载。当一个外设具有高操作速度特性时,通常具有高速处理能力的主操作装置管理输入数据到外设和从外设输出数据。因而保证实现其目的。因此,主操作装置能够执行较大量的工作并且提供加速的图象处理。特别地,在实时控制特性等等中需要控制高速移动图象的电子游戏中。
在数据处理装置中,连接转换装置由主操作装置执行的程序控制。例如,当主操作装置执行一图象处理程序时,如果需要一高速外设,那么连接转换装置被控制,使得将一外设连接到主操作装置,而如果相反,则连接转换装置将一外设连接到子操作装置。因此,保证了适应图象处理的种类、内容等等的合适的外设的选择。
第二,外设操作的内容立即反映到包括图象控制的数据处理中。使采集外设数据的时间尽可能地接近开始图象控制的时间。因此,例如,在包括飞机战斗的电子游戏中,从外设的用户操作到发射导弹的时间被最短化,使得用户能够享受具有自然感觉的电子游戏。
第三,能够确定一外设是否稳定地连接到数据处理装置,因而避免了诸如外设的错误识别的问题。例如,当连续读取的外设数据相互不同时,就能确定外设的连接状态不稳定。另外,外设的连接状态能够根据数据处理装置接收的数据是否与外设输出的正确数据相一致来确定。例如,当由于热插入等等而确定一信号线还未连接到数据处理装置的连接器端子时,存在很大的可能性的就是由图象控制装置接收的数据(关于一种外设的识别数据、关于外设状态的外设数据等等)是错误的。因此,图象控制装置识别出接收的数据是错误的。因而避免了可能的错误识别以及由于采用错误数据的外设操作。
因此,在一电子游戏系统等等中提供了最佳的游戏环境。
Claims (48)
1.一种与一个外设相连接的数据处理装置,包括:
主操作装置,用于数据处理;以及
子操作装置,用于按照主操作装置的一个命令向/从外设输入/输出外设数据。
2.如权利要求1所述的数据处理装置,其中子操作装置通过读取来自外设的识别数据来识别外设的类型并向主操作装置输出有关被识别的外设类型的数据。
3.如权利要求1或2所述的数据处理装置,包括连接转换装置,用于将外设连接到主操作装置和子操作装置中的任何一个上。
4.如权利要求1或2所述的数据处理装置,其中连接转换装置被控制以使得根据一个来自主操作装置的转换信号将外设连接到主操作装置和子操作装置中的任何一个上。
5.如权利要求1或2所述的数据处理装置,其中连接转换装置根据外设的类型而被控制。
6.如权利要求5所述的数据处理装置,其中当外设的操作速度特性为高速型时,连接转换装置受控将外设连接于主操作装置,而当外设的操作速度特性为低速型时,连接转换装置受控将外设连接于子操作装置。
7.如权利要求3-6中任一数据处理装置,其中根据一个由主操作装置所执行的程序控制连接转换装置。
8.一种与外设相连接的数据处理装置,包括:
数据采集装置,用于从外设采集外设数据;
数据处理装置,用于在预定的时间间隔,根据所采集到的外设数据执行数据处理;以及
数据采集控制装置,用于控制数据采集装置以使得在数据处理开始之前由数据采集装置完成外设数据的采集。
9.如权利要求8所述的数据处理装置,其中数据采集控制装置确定由数据采集装置采集外设数据开始的时间,以使得在数据处理开始之前由数据采集装置完成外设数据的采集。
10.如权利要求9所述的数据处理装置,其中数据采集控制装置确定采集外设数据开始的时间,其根据为
一个处理过程(1),用于当上一次外设数据的采集已在数据处理开始之前完成时,根据上一次外设数据采集的时间确定外设数据采集开始的时间以使得在数据处理开始之前由数据采集装置完成外设数据的采集;以及
一个处理过程(2),用于在上一次外设数据的采集没有在数据处理开始之前完成时,提前外设数据采集的开始时间。
11.如权利要求10所述的处理装置,其中数据采集控制装置重复执行处理过程(1)和(2)。
12.如权利要求8所述的数据处理装置,其中数据采集控制装置控制一个数据采集装置中的数据采集时间以使得在数据处理开始之前由数据采集装置完成外设数据的采集。
13.如权利要求1-7中任一所述的数据处理装置,其中子操作装置包括数据采集装置,用于在一个预定时间开始采集外设输出的外设数据;数据处理装置,用于在预定的时间间隔根据所采集的外设数据执行数据处理;以及数据采集控制装置,用于确定外设数据采集的开始时间以使得在数据处理开始之前由数据采集装置完成外设数据的采集。
14.如权利要求1-13中任一所述的数据处理装置,包括确定装置,用于确定外设的一根信号线是否与数据处理装置的一个端子相连接。
15.一种数据处理方法,包括步骤:
在一个预定的数据采集开始时间,开始采集从一个外设输出的外设数据;
在预定的时间间隔,根据所采集的外设数据执行数据处理;以及
确定外设数据采集的开始时间以使得在数据处理开始之前完成外设数据的采集。
16.如权利要求15所述的数据处理方法,其中确定步骤执行下列处理过程:
当上一次外设数据采集已在数据处理开始之前完成时,根据上一次外设数据采集的时间确定外设数据采集开始的时间以使得在根据上一次外设数据采集时间的数据处理开始时间之前完成外设数据的采集;以及
在上一次外设数据的采集没有在上一次数据处理开始之前完成时,提前外设数据采集的开始时间。
17.一种数据处理装置包括一个连接器端子,与一个外设相连接;用于根据来自与连接器端子相连接的外设的数据执行数据处理的数据处理装置;以及用于确定外设的一根信号线是否已经连接于连接器端子的确定装置,还包括:
通信装置,用于在通过连接器端子读取有关外设类型识别的识别数据后,将外设数据传送到外设,在预定的时间间隔,所有的识别数据同时被通信装置不止一次地读出的情况下,确定装置确定外设的信号线是否已经与连接器端子相连接。
18.一种数据处理装置包括一个连接器端子可与一个外设相连接;用于根据来自与连接器端子相连接的外设的数据执行数据处理的数据处理装置;以及用于确定外设的一根信号线是否已经连接于连接器端子的确定装置;
当外设与连接器端子不相连接时,连接器端子被上拉或下拉以使得从外设输出表示一个外设的非连接状态的预定数据,数据处理装置包括用于通过连接器端子将外设数据传送给外设的通信装置,当包括了一个表示外设的非连接状态的预定数据的反量在内的连接确认数据已从外设被传送并且通信装置所接收的连接确认数据与表示外设的非连接状态的预定数据的反量不同时,确定装置确定外设与连接器端子不相连接。
19.一种数据处理包括一个插座连接器端子,可与一个外设相连接;用于根据来自与插座连接器端子相连接的外设的数据执行数据处理的数据处理装置;以及用于确定外设的一根信号线是否已经连接于插座连接器端子的确定装置的数据处理装置,
所述插座连接器端子可被连接到具有插头连接器端子的外设上,其中之一与一个电源和地线(GND)之一相连接,数据处理装置包括用于通过插座连接器端子和插头连接器端子将外设数据传送给外设的通信装置,当相应于连接在电源或地线(GND)上的插头连接器端子的插座连接器端子上的信号电平不同于前述的插头连接器端子上的一个信号电平时,确定装置确定外设与插座连接器端子不相连接。
20.一种数据处理装置,包括一个连接器端子,与一个外设相连接;用于根据来自与连接器端子相连接的外设的数据执行数据处理的数据处理装置;以及用于确定外设的一根信号线是否已经连接于连接器端子的确定装置,还包括:
通信装置,用于在通信装置已向外设传送了一个数据请求信号之后接收一个来自外设的响应信号和外设数据,当通信装置在传送了数据请求信号之后的一个预定时间内没有接收到响应信号时,确定装置确定外设与连接器端子不相连接。
21.一种从一个外设向一个数据处理装置传送数据,并根据来自外设的数据处理数据的数据处理方法,包括根据该数据来确定外设的一根信号线是否与数据处理装置的一个连接器端子相连接的步骤。
22.一种用于向一个数据处理装置输出要被处理的数据的外设,包括一个与数据处理装置相连的连接器端子;该外设输出用于确认所述该端子已与处理装置相连的数据。
23.如权利要求22所述的外设,用于至少输出权利要求17所述的识别数据,权利要求18所述的连接确认数据,权利要求19所述的信号,权利要求20所述的响应信号或外设数据中的一个。
24.一种数据处理装置,它与一个外设相连接,包括:一个处理外设提供的外设数据的主CPU;一个与主CPU相连的第一ROM;一个用做主CPU工作区的第一RAM;以及一个通过一根总线与主CPU相连并通过一个连接器可拆卸地连接于外设的子CPU电路;
所述CPU电路包括一个与总线相连的第一接口,一个CPU内核和一个第二RAM,它们均与第一接口相连接,一个与CPU内核相连接的第二ROM,以及一个与CPU内核和连接器相连的第二接口;
其中所述第一ROM存储一个用于向子COU电路发送一个自外设采集一个外设数据的指令的第一程序和一个用于读取子CPU电路所采集的外设数据的第二程序;以及
所述第二ROM存储一个用于根据指令从外设采集外设数据并向主CPU提供所采集的外设数据的第三程序。
25.如权利要求24所述的数据处理装置,其中所述连接器具有一个插座连接器,其上包括按照第一到第九的顺序排列在一行中的九根针,它们与从外设伸出的插头连接器的九根针可拆卸地相连接,
所述插座连接器的第五针分配给电源和地保护中的一个,所述插座连接器的第九针分配给其他的电源和地保护,所述插座连接器的第二、三、七和八针分配用于传送数据信号,所述插座连接器的第四和五针分配用于传送控制信号,以及
所述第二ROM存储一个用于根据通过插座连接器的第二、三、七和八针提供的数据信号来识别设置在外设上的固有通信模式。
26.权利要求25所述的数据处理装置,还包括一个多路转换器,用于有选择性地将接有主CPU的总线和CPU内核连接到第二接口,其中所述的第一接口包括用于控制多路转换器的转换的装置。
27.权利要求24所述的数据处理装置,其中所述的第一接口有一个在主CPU和CPU内核之间接收和传送数据的寄存器表。
28.权利要求27所述的数据处理装置,其中所述的寄存器表包括一个命令寄存器,主CPU将命令写入此命令寄存器以便将此命令传送给CPU内核;一个状态寄存器,主CPU读出其中的数据用于检查在CPU内核执行上述命令后CPU内核的一个状态;一个状态标志,通过在主CPU将命令写入命令寄存器之前置位此状态标志以及在CPU内核执行完命令后复位此状态标志,来表示CPU内核是否在执行命令的过程中;一个输入寄存器,主CPU将与命令有关的命令参数写入此寄存器以便将此命令参数传送到CPU内核;以及一个输出寄存器,CPU内核将数据写入此输出寄存器以便将此数据传送到主CPU。
29.权利要求28所述的数据处理装置,其中所述的由主CPU执行的第一程序周期性地确定上述的状态标志是否被CPU内核复位,然后,不仅当此状态标志没有复位时等待,而且当此状态标志复位时置位此状态标志,然后将命令参数写入输入寄存器以便采集外设数据,并且将命令写入命令寄存器以便采集外设数据;
所述的由CPU内核执行的第三程序从命令寄存器中读出命令以便采集外设数据,然后,在每一特定的时期,不仅识别外设类型和与此外设通信的通信模式,而且根据此通信模式从外设读出外设数据,并且将读出的外设数据写入输出寄存器;以及
所述的由主CPU执行的第二程序在每一特定的时期读出存储在输出寄存器中的外设数据。
30.一种数据处理装置,一个外设连接到其上,此数据处理装置包括:处理来自所述外设的外设数据的主CPU;一个第一ROM连到主CPU;一个第一RAM作为主CPU的一个工作区;以用一个子CPU电路,通过一个总线连到主CPU并通过一连接器可拆卸地连到上述外设。
所述子CPU电路包括一个连到上述总线的第一接口,一个CPU内核和一个第二RAM,二者都连到上述的接口,一个连接到CPU内核的第二ROM,以及一个连接到CPU内核和连接器的第二接口,
其中所述的第二ROM存储一个程序,此程序采集来自外设的外设数据以响应由主CPU给出的命令,并且然后将采集到的外设数据送到主CPU,其中采集外设数据的开始时间被优化在每一个特定时刻,使得采集外设数据的结束时间与在主CPU中处理外设数据的开始时间一致。
31.权利要求30所述的数据处理装置,有一监视器连到其上,此监视器用于显示由主CPU执行的对外设数据的处理结果,其中所述的特定时刻由用于监视器的垂直消隐信号的第一转变和最后一个转变的其中任何一个确定。
32.权利要求31所述的数据处理装置,其中所述的程序包括第一步骤,用于初始化一个标志和一个变量,二者与采集外设数据的开始时间的优化有关;第二步骤,跟在第一处理步骤之后,用于计算在响应一个采集指令时的中断的开始时间;以及第三步骤,不仅用于等待着计算开始时间,而且用于当计算开始时间结束时采集外设数据。
33.权利要求32所述的数据处理装置,其中所述的标志包括一个第一标志和一个第二标志,第一标志用于标识在下一个外设数据采集周期中上述的开始时间是否将优化,第二标志用于标识在由CPU内核执行的外设数据的采集过程中已经出现的垂直消隐信号是否产生了超时;并且所述的变量表示开始时间,其中所述的第一标志在上述的第一步骤中设置成逻辑“0”,表示开始时间的优化将不执行,并且,第二标志在第一步骤中设置成逻辑“1”,表示上述的超时已经产生。
34.权利要求33所述的数据处理装置,在其中所述的第二步骤中,当第一和第二标志的任何一个为逻辑值“1”时,清除一个计数器的值;而当第一和第二标志都为逻辑值“0”时,用变量的当前值、一个计数器的值和一个时间范围值的加值代替此变量的值;设置第一标志为逻辑值“1”并清除计数器的值。
35.权利要求34所述的数据处理装置,在其中所述的第三步骤中,设置第二标志为逻辑值“0”,仅当第一标志为逻辑值“1”时设置第一标志为逻辑值“0”,等待直到计数器的值达到变量值为止,用计数器的当前值替换变量的值,当在外设数据采集期间发生超时时,不仅采集外设数据以将其送到主CPU,而且设置第二标志为逻辑值“1”,然后清除计数器的值。
36.一种数据处理装置,具有一插头连接器的一外设连接到其上,此数据处理装置包括:处理来自所述外设的外设数据的主CPU;一个第一ROM连到主CPU;一个第一RAM作为主CPU的一个工作区;通过一总线与主CPU相连接的子CPU;以及一个与上述总线相连接的插座连接器,上述外设的插头连接器可拔插地与此插座连接器相连接。
所述子CPU电路包括一个连到上述总线的第一接口,一个CPU内核和一个第二RAM,二者都连到上述的接口,一个连接到CPU内核的第二ROM,以及一个连接到CPU内核和插座连接器的第二接口;
其中所述的第二ROM存储一个程序,此程序用于当子CPU电路响应来自主CPU的命令而采集来自外设的数据时,自动识别外设的插头连接器到上述插座连接器的连接状态。
37.权利要求36所述的数据处理装置,其中所述的插座连接器包括9根针,从第一到第九针顺序地排列成一列,所述的第一针被分配作为电源和地的其中之一,并且所述的第九针被分配作为电源和地的另一个,所述的第二、三、七和八针被分配作为传输数据信号;而所述的第四至六针被分配作为传输控制信号;以及
所述的插头连接器包括另外一组排列成一列的9根针,第一至第九针的每一个可拔插地连接到插座连接器的第一至第九针的每一相应针。
38.权利要求37所述的数据处理装置,其中连接到所述的插座连接器的第二至第八针的每根信号线通过一个寄存器被连接到表示逻辑值“1”的电源上。
39.权利要求38所述的数据处理装置,其中所述的由第二ROM存储的程序包括一个过程,当分别用“1”和“0”表示电源和零电位时,对于控制信号“1”和“1”分别通过第四和五针供给的状态和控制信号“0”和“1”分别通过第四和五针供给的状态,在这两个状态的任一状态中,上述的过程在第一特定时间计算一个用通过第七、八、二、三针来自外设的数据信号的识别数据;并且
此过程在一些特定时间,当识别数据的计算值表示出插头连接器到插座连接器的一个连接状态时,确定外设到数据处理装置的一个完整的连接。
40.权利要求39所述的数据处理装置,其中所述的由第二ROM存储的程序包括另一过程,当在当前特定时间的识别数据不同于上一特定时间的计算值时,此过程确定外设到数据处理装置的一个非连接状态。
41.一个操作装置,包括:
连接到外设的第一接口,用于控制输入信号到此外设和从此外设输出信号;
连接到CPU总线的第二接口,用于输入信号到连接有上述操作装置的主CPU和从此连接有上述操作装置的主CPU输出信号;
一CPU内核,通过一内部总线连接到上述第二接口,以便执行由主CPU提供的命令;
一个ROM,存储命令处理所需的程序;以及
一个装置,用于根据外设的类型有选择地将上述CPU总线和内部总线的其中之一连接到上述第一接口。
42.权利要求41所述的操作装置,其中所述的可选择地连接的装置包括一个寄存器电路和一个多路转换器,此寄存器电路位于主CPU和CPU内核之间,此多路转换器位于第一接口和CPU总线、内部总线之间,并且根据设置到寄存器的控制数据可选择地将CPU总线和内部总线的其中之一连接到第一接口。
43.权利要求42所述的操作装置,其中所述的寄存器电路包括一个主CPU可访问的第一寄存器组、一个CPU内核可访问的第二寄存器组和一个主CPU可访问的I/O选择寄存器,此I/O选择寄存器用于确定主CPU和CPU内核的其中之一获得对第一接口的访问权。
44.权利要求43所述的操作装置,其中所述的第一和第二寄存器组的每一组包括一个数据方向寄存器和一个端口数据寄存器,此数据方向寄存器用于设置任一通道的外设端口的每根信号线的输入/输出数据的方向,此端口数据寄存器用于存储在外设端口上的数据。
45.权利要求42所述的操作装置,其中所述的多路转换器包括许多三态缓冲器,这些三态缓冲器响应设置在I/O选择寄存器中的控制数据而打开和关闭。
46.权利要求41所述的操作装置,其中所述的存储在ROM中的程序是这样的一个程序,当CPU内核从主CPU接收一个通知开始采集外设数据的命令时,此程序从外设采集外设数据并将这些外设数据送到主CPU。
47.权利要求46所述的操作装置,其中所述的第二接口有一个寄存器表,在主CPU和CPU内核之间的数据通信通过此寄存器表实现。
48.权利要求47所述的操作装置,其中所述的寄存器表包括一个命令寄存器,主CPU写一命令到此命令寄存器中以便将此命令传送给CPU内核,还包括一状态寄存器,由主CPU读出此状态寄存器的数据以检查在CPU内核执行上述命令后CPU内核的一个状态,还包括一状态标志,通过在主CPU写命令到命令寄存器之前设置状态寄存器和在CPU内核执行完命令后复位状态寄存器,此标志表示CPU内核是否在命令执行的过程中;还包括一个输入寄存器,主CPU将与命令有关的参数写入此输入寄存器中以便将这些参数传送到CPU内核;以及一个输出寄存器,CPU内核在其中写数据并将数据传送到主CPU。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24658094 | 1994-10-12 | ||
JP246579/94 | 1994-10-12 | ||
JP24657994 | 1994-10-12 | ||
JP246580/94 | 1994-10-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1136849A true CN1136849A (zh) | 1996-11-27 |
Family
ID=26537800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN95191026A Pending CN1136849A (zh) | 1994-10-12 | 1995-10-11 | 从外设采集数据的数据处理装置的改进 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5892974A (zh) |
EP (1) | EP0733242A1 (zh) |
JP (1) | JPH09512369A (zh) |
CN (1) | CN1136849A (zh) |
AU (1) | AU3672495A (zh) |
TW (1) | TW357913U (zh) |
WO (1) | WO1996012249A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7993194B1 (en) | 1998-06-18 | 2011-08-09 | Aristocrat Technologies Australia Pty Limited | Method of linking devices to gaming machines |
WO2000057290A1 (fr) * | 1999-03-19 | 2000-09-28 | Hitachi, Ltd. | Processeur d'informations |
JP3449313B2 (ja) | 1999-09-28 | 2003-09-22 | 日本電気株式会社 | 機器情報収集方法、機器制御装置およびブリッジ |
US6717577B1 (en) | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
US6618048B1 (en) | 1999-10-28 | 2003-09-09 | Nintendo Co., Ltd. | 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components |
US7119813B1 (en) | 2000-06-02 | 2006-10-10 | Nintendo Co., Ltd. | Variable bit field encoding |
US7047338B1 (en) * | 2000-07-18 | 2006-05-16 | Igt | Configurable hot-swap communication |
US7576748B2 (en) | 2000-11-28 | 2009-08-18 | Nintendo Co. Ltd. | Graphics system with embedded frame butter having reconfigurable pixel formats |
US7061502B1 (en) | 2000-08-23 | 2006-06-13 | Nintendo Co., Ltd. | Method and apparatus for providing logical combination of N alpha operations within a graphics system |
US6825851B1 (en) | 2000-08-23 | 2004-11-30 | Nintendo Co., Ltd. | Method and apparatus for environment-mapped bump-mapping in a graphics system |
US7184059B1 (en) | 2000-08-23 | 2007-02-27 | Nintendo Co., Ltd. | Graphics system with copy out conversions between embedded frame buffer and main memory |
US7196710B1 (en) | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
US7034828B1 (en) | 2000-08-23 | 2006-04-25 | Nintendo Co., Ltd. | Recirculating shade tree blender for a graphics system |
US6707458B1 (en) | 2000-08-23 | 2004-03-16 | Nintendo Co., Ltd. | Method and apparatus for texture tiling in a graphics system |
US6937245B1 (en) | 2000-08-23 | 2005-08-30 | Nintendo Co., Ltd. | Graphics system with embedded frame buffer having reconfigurable pixel formats |
US6980218B1 (en) | 2000-08-23 | 2005-12-27 | Nintendo Co., Ltd. | Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system |
US7002591B1 (en) | 2000-08-23 | 2006-02-21 | Nintendo Co., Ltd. | Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system |
US7134960B1 (en) | 2000-08-23 | 2006-11-14 | Nintendo Co., Ltd. | External interfaces for a 3D graphics system |
US6609977B1 (en) | 2000-08-23 | 2003-08-26 | Nintendo Co., Ltd. | External interfaces for a 3D graphics system |
US6811489B1 (en) | 2000-08-23 | 2004-11-02 | Nintendo Co., Ltd. | Controller interface for a graphics system |
US6700586B1 (en) | 2000-08-23 | 2004-03-02 | Nintendo Co., Ltd. | Low cost graphics with stitching processing hardware support for skeletal animation |
US6867781B1 (en) | 2000-08-23 | 2005-03-15 | Nintendo Co., Ltd. | Graphics pipeline token synchronization |
US7538772B1 (en) | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
US6636214B1 (en) | 2000-08-23 | 2003-10-21 | Nintendo Co., Ltd. | Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode |
US7003588B1 (en) | 2001-08-22 | 2006-02-21 | Nintendo Co., Ltd. | Peripheral devices for a video game system |
US6810439B2 (en) * | 2003-02-18 | 2004-10-26 | Hewlett-Packard Development Company, L.P. | System and method to monitor connections to a device |
JP5340803B2 (ja) * | 2009-05-18 | 2013-11-13 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置 |
JP5966270B2 (ja) | 2010-09-16 | 2016-08-10 | 株式会社リコー | システム及び機器管理プログラム |
JP5929431B2 (ja) | 2012-03-30 | 2016-06-08 | ブラザー工業株式会社 | 画像記録装置、画像記録装置の制御方法、及び制御プログラム |
JP5477456B2 (ja) * | 2012-12-04 | 2014-04-23 | 株式会社バッファロー | 周辺機器、及び、ホスト機器と周辺機器の接続方法 |
CN103744324B (zh) * | 2013-12-23 | 2017-01-11 | 广西科技大学 | 一种基于室内环境品质监控的数据采集方法 |
TW201601407A (zh) * | 2014-06-24 | 2016-01-01 | 萬國商業機器公司 | 電源分配單元與用於其之警示方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4534011A (en) * | 1982-02-02 | 1985-08-06 | International Business Machines Corporation | Peripheral attachment interface for I/O controller having cycle steal and off-line modes |
US4862156A (en) * | 1984-05-21 | 1989-08-29 | Atari Corporation | Video computer system including multiple graphics controllers and associated method |
US4912672A (en) * | 1988-01-15 | 1990-03-27 | Giorgio Paul J | Computer peripheral rate aided sensing system |
US5157519A (en) * | 1989-08-24 | 1992-10-20 | Fujitsu America, Inc. | Serial computer peripheral for facsimile image and ascii text communication |
JP2784811B2 (ja) * | 1989-08-25 | 1998-08-06 | ソニー株式会社 | 画像作成装置 |
JP3468786B2 (ja) * | 1992-11-27 | 2003-11-17 | 任天堂株式会社 | 光学式記憶媒体を用いた情報処理装置および情報処理方法 |
AU3594793A (en) * | 1993-01-27 | 1994-08-15 | Life Fitness | Physical exercise video system |
-
1994
- 1994-10-13 TW TW084210124U patent/TW357913U/zh unknown
-
1995
- 1995-10-11 US US08/656,226 patent/US5892974A/en not_active Expired - Fee Related
- 1995-10-11 JP JP8513088A patent/JPH09512369A/ja active Pending
- 1995-10-11 AU AU36724/95A patent/AU3672495A/en not_active Abandoned
- 1995-10-11 EP EP95934268A patent/EP0733242A1/en not_active Withdrawn
- 1995-10-11 WO PCT/JP1995/002072 patent/WO1996012249A1/en not_active Application Discontinuation
- 1995-10-11 CN CN95191026A patent/CN1136849A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
TW357913U (en) | 1999-05-01 |
AU3672495A (en) | 1996-05-06 |
EP0733242A1 (en) | 1996-09-25 |
WO1996012249A1 (en) | 1996-04-25 |
JPH09512369A (ja) | 1997-12-09 |
US5892974A (en) | 1999-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1136849A (zh) | 从外设采集数据的数据处理装置的改进 | |
CN1213782C (zh) | 包括多个操作终端设备和一个信息处理设备的信息处理系统 | |
CN1148672C (zh) | 便携式信息终端和信息处理方法 | |
CN1256636A (zh) | 便携式电子装置、娱乐系统和记录媒体 | |
CN1171143C (zh) | 信息增加方法 | |
CN100338575C (zh) | 娱乐系统及数据供给方法、数据处理器、数据储存控制器 | |
CN1218567A (zh) | 多路并行数字数据流通道控制器体系结构 | |
CN1313960C (zh) | 视频游戏装置、信息传送方法和机器可读介质 | |
CN1256675C (zh) | 在音频存储器中预缓存数据的方法和装置 | |
CN1218566A (zh) | 支持要求驱动的多重并行数字数据流传输的方法和装置 | |
CN1183151A (zh) | 接口装置 | |
CN1933883A (zh) | 游戏装置、游戏程序、存储游戏程序的存储介质以及游戏控制方法 | |
CN1602647A (zh) | 控制装置、被控制装置、远程控制系统及远程控制方法 | |
CN1392474A (zh) | 计算机设备及其控制方法,程序,控制器,系统,卡片 | |
CN106610910B (zh) | 在不同通讯接口间相互传输信号的系统、装置及其方法 | |
CN1218574A (zh) | 用于多线程数据流传输控制的分布式状态信令系统 | |
CN1249476A (zh) | 数据处理系统和方法以及娱乐系统 | |
CN1363074A (zh) | 信息处理设备和方法、数据存储设备和程序 | |
CN1665572A (zh) | 通信装置、通信方法、程序以及信息记录介质 | |
CN1010063B (zh) | 具有多个能独立显示表意文字及/或ascii字符的crt显示器的个人计算机 | |
CN1444173A (zh) | 网络游戏系统 | |
CN1256637A (zh) | 便携式电子装置和娱乐系统 | |
CN1049924A (zh) | 线计算机 | |
CN1784254A (zh) | 游戏设备和格斗游戏中的队伍划分方法 | |
CN101700434B (zh) | 游戏系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C01 | Deemed withdrawal of patent application (patent law 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |