DE69623242T2 - Untersystem zur Peripheriesteuerung für Videospielsystem - Google Patents
Untersystem zur Peripheriesteuerung für VideospielsystemInfo
- Publication number
- DE69623242T2 DE69623242T2 DE69623242T DE69623242T DE69623242T2 DE 69623242 T2 DE69623242 T2 DE 69623242T2 DE 69623242 T DE69623242 T DE 69623242T DE 69623242 T DE69623242 T DE 69623242T DE 69623242 T2 DE69623242 T2 DE 69623242T2
- Authority
- DE
- Germany
- Prior art keywords
- video game
- player
- storage device
- data
- coprocessor
- 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.)
- Expired - Lifetime
Links
- 230000002093 peripheral effect Effects 0.000 title claims description 124
- 238000012545 processing Methods 0.000 claims description 58
- 230000004044 response Effects 0.000 claims description 31
- 238000000034 method Methods 0.000 claims description 11
- 239000002131 composite material Substances 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000006399 behavior Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 102100028043 Fibroblast growth factor 3 Human genes 0.000 description 9
- 108050002021 Integrator complex subunit 2 Proteins 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000013506 data mapping Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 239000011449 brick Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 102100024061 Integrator complex subunit 1 Human genes 0.000 description 2
- 101710092857 Integrator complex subunit 1 Proteins 0.000 description 2
- 101710129178 Outer plastidial membrane protein porin Proteins 0.000 description 2
- 102100037820 Voltage-dependent anion-selective channel protein 1 Human genes 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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
- A63F13/49—Saving the game status; Pausing or ending the game
- A63F13/493—Resuming a game, e.g. after pausing, malfunction or power failure
-
- 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/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
- A63F13/5255—Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
-
- 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/70—Game security or game management aspects
- A63F13/73—Authorising game programs or game devices, e.g. checking authenticity
-
- 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/90—Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
- A63F13/95—Storage media specially adapted for storing game information, e.g. video game cartridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- 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/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- 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/20—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 characterised by details of the game platform
- A63F2300/201—Playing authorisation given at platform level
-
- 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/20—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 characterised by details of the game platform
- A63F2300/206—Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
-
- 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/636—Methods for processing data by generating or executing the game program for controlling the execution of the game in time involving process of starting or resuming a 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/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
-
- 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/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
-
- 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/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6661—Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
- A63F2300/6676—Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dedicated player input
-
- 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/80—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 specially adapted for executing a specific type of game
- A63F2300/807—Role playing or strategy games
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0382—Plural input, i.e. interface arrangements in which a plurality of input device of the same type are in communication with a PC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2109—Game systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Geometry (AREA)
- Controls And Circuits For Display Device (AREA)
- Advance Control (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Description
- Die vorliegende Erfindung betrifft ein preiswertes Hochleistungs-Videospielsystem. Insbesondere betrifft die Erfindung ein Videospielsystem, das ein multifunktionales Spielersteuerungsverarbeitungsuntersystem und einen flexibel erweiterbaren externen Videospielspeicher mit einem niedrigen Pinout aufweist.
- Auf Mikroprozessoren basierende Heimvideospielsysteme, wie beispielsweise das Nintendo Entertainment System und das Super Nintendo Entertainment System sind äußerst erfolgreich gewesen, teilweise weil sie interaktiv sensationelle Videografik erzeugen können, die zahlreiche sich bewegende belebte Objekte einschließt.
- Das hier beschriebene Videospielsystem gestattet das Spielen von Spielen, die dreidimensionale Bilder mit einer diese und andere bisher bekannte Videospielsysteme weit übertreffenden Tiefe und Realitätsnähe beinhalten. In der Vergangenheit kosteten Computersysteme, die nötig waren, um solche Bilder interaktiv zu erzeugen, Zehntausende von Dollar.
- Um ein solches Hochleistungsvideospielsystem zu Kosten bereitzustellen, die sich der durchschnittliche Verbraucher leisten kann, wurden in dem Videospielsystem viele Merkmale in einzigartiger Weise optimiert. Dabei wurden viele einzigartige Merkmale in das hier beschriebene System aufgenommen, wobei neuartige, multifunktionale Komponenten verwendet wurden, die einen niedrigen Pinout aufweisen, die jedoch eine äußerst flexible zukünftige Erweiterung vorsehen.
- Der Prozessor und/oder die Bildverarbeitungseinheit von Videospielsystemen, wie dem Nintendo Entertainment System und dem Super Nintendo Entertainment System, üben eine direkte Kontrolle über die Verarbeitung von Signalen aus Spielereingabe/Spielsteuer-Vorrichtungen, d. h. Spielersteuerungen, aus. Diese bekannten Systeme schließen kein Spielersteuerungsverarbeitungsuntersystem ein, das mit dem Spielmikroprozessor und der Bildverarbeitungseinheit zusammenwirkt, um Befehle zum Umgang mit spielersteuerungsbezogener Eingabe/Ausgabe zu verarbeiten.
- Das Dokument EP 0 268 419 offenbart eine tragbare Speichervorrichtung, die mit einer Datenverarbeitungseinheit eines Videospielsystems verbindbar ist. Der Oberbegriff der unabhängigen Patentansprüche basiert auf diesem Dokument.
- Die vorliegende Erfindung ist teilweise auf ein multifunktionales Peripherieverarbeitungsuntersystem außerhalb des Spielmikroprozessors gerichtet und offenbart einen Koprozessor, der Befehle zum Umgang mit Spielersteuerungs- Eingabe/Ausgabe ausführt, um dadurch die Verarbeitungsbelastung des Grafikverarbeitungsuntersystems kleiner zu machen. Das Peripherieverarbeitungsuntersystem wird benutzt, um sowohl die Verarbeitung von Spielersteuerungs-Eingabe/Ausgabe zu steuern als auch während des Spielens eines Spiels dauernd Spielauthentifizierungssicherheitsprüfungen durchzuführen. Das Peripherieverarbeitungsuntersystem wird auch während des anfänglichen Kommunikationsprotokolls der Spielkassette/der Videospielsystemkonsole benutzt, wobei in seinem Boot-ROM gespeicherte Befehle verwendet werden, um den Beginn des Spielens eines Spiels zu ermöglichen.
- Die Peripherieschnittstelle ist mit dem Koprozessor durch einen drei Bit breiten seriellen Bus gekoppelt, über den Befehle über eine Leitung empfangen werden, Taktsignale über eine andere Leitung, und Antworten zum Koprozessor über eine dritte serielle Leitung übertragen werden. Die Peripherieschnittstelle enthält einen Mikroprozessor zur Steuerung verschiedener Peripherieschnittstellenfunktionen, einen Lese/Schreib- Direktzugriffsspeicher, einen Boot-ROM, eine Koprozessorbefehlskanalschnittstelle, eine Spielersteuerungskanalschnittstelle, usw., welche Komponenten zusammenwirken, um Spielersteuerungsbefehle wirkungsvoll zu verarbeiten, während sie auch andere wichtige Funktionen ausführen, ohne wesentliche Hauptprozessorverarbeitungszeit zu benötigen.
- Die Koprozessorbefehlskanalschnittstelle spricht auf Koprozessortaktsignale und Befehlssteuersignale an, um einen Zugriff auf den Direktzugriffsspeicher und auf den Boot-ROM zuzulassen, und erzeugt Steuersignale, um den Peripherieschnittstellenmikroprozessor zu unterbrechen. Ein Peripherieschnittstellen-Makro kann ausgeführt werden, um eine Lese- oder Schreibtransaktion mit jedem Peripheriegerät zu starten und danach die im Direktzugriffsspeicher gespeicherten Transaktionsergebnisse zum Hauptspeicher des Spielmikroprozessors zu übertragen.
- Gemäß einem anderen Aspekt der vorliegenden Erfindung wird bei der beispielhaften Ausführungsform eine tragbare Speichervorrichtung in Form einer Spielkassette verwendet, die einen niedrigen Pinout aufweist, teilweise infolge der Verwendung eines multiplexierten Adressen/Daten-Bus. Speicherzugriffsbezogene Zeitsteuerungssignale werden zur Kassette übertragen, die programmierbar verändert werden kann, und zwar in Abhängigkeit von einer erfassten Adressendomäne, die benutzt wird, um die Art von Speichervorrichtung festzulegen, die vom Videospielsystem verwendet wird.
- Diese und andere Merkmale und Vorteile der vorliegenden Erfindung werden durch Bezugnahme auf die nachfolgende ausführliche Beschreibung einer augenblicklich bevorzugten beispielhaften Ausführungsform in Verbindung mit den Zeichnungen besser und vollständiger verständlich, von denen:
- Fig. 1 eine perspektivische Ansicht einer beispielhaften Ausführungsform eines Videospielsystems gemäß der vorliegenden Erfindung ist;
- Fig. 2 ein Blockdiagramm einer in Fig. 1 dargestellten Videospielkonsole und Spielkassette ist;
- Fig. 3A ein Blockdiagramm einer rücksetzbezogenen Schaltungsanordnung ist, die in der in Fig. 2 dargestellten Videospielkonsole enthalten ist;
- Fig. 3B Zeitsteuerungs- oder Taktsignale zeigt, die von der Schaltungsanordnung aus Fig. 3A erzeugt worden sind;
- die Fig. 4A und 4B eine beispielhafte ausführlichere Implementierung der Videospielkonsole zeigen, wie im Blockdiagramm aus Fig. 2 dargestellt;
- Fig. 5A beispielhafte Signale zeigt, die auf dem Kommunikationskanal zwischen dem Koprozessor im Peripherieschnittstellenuntersystem erscheinen;
- Fig. 5B beispielhafte Zeitsteuerungs- oder Taktsignale für zur Veranschaulichung dienende Befehle zeigt, die auf diesem Kommunikationskanal übermittelt werden;
- die Fig. 6A-F beispielhafte 3D-Bildschirmeffekte zeigen, die unter Verwendung des hier beschriebenen Systems erreichbar sind.
- Fig. 7 ist ein Blockdiagramm der in Fig. 2 dargestellten Peripherieschnittstelle;
- Fig. 8 zeigt ausführlicher die in Fig. 7 dargestellte PIF- Kanalschnittstelle;
- Fig. 9A ist ein Blockdiagramm, das ausführlicher die Joystickkanalsteuerung in einem der Anschlüsse oder Ports zeigt, die im Blockdiagramm aus Fig. 7 dargestellt sind;
- Fig. 9B ist eine zur Veranschaulichung dienende Darstellung von Daten aus einer Spielersteuerung, die zur Peripherieschnittstelle 138 übermittelt wurden;
- die Fig. 10A bis 10C sind Fließbilder, welche die Sende- und Empfangsbetriebsarten oder -moden für den in Fig. 7 dargestellten Spielersteuerungskanal zeigen;
- Fig. 11 zeigt eine beispielhafte Spielersteuerung mit einer Speicherkarte;
- Fig. 12 ist ein Blockdiagramm einer beispielhaften Kassettenspeichervorrichtung und einer zugehörigen Zugriffsschaltungsanordnung;
- die Fig. 13 und 14 zeigen beispielhafte Zeitsteuerungs- oder Taktsignale und Datensignale, die mit dem in Fig. 12 dargestellten Speichersystem verbunden sind.
- Fig. 1 zeigte eine beispielhafte Ausführungsform eines Videospielsystems 50 gemäß der vorliegenden Erfindung. Das zur Veranschaulichung dienende Videospielsystem 50 schließt eine Hauptkonsole 52, eine Videospielspeichervorrichtung 54 und in der Hand gehaltene Steuerungen 56a,b (oder andere Benutzer- Eingabevorrichtungen) ein. Die Hauptkonsole 52 ist mit einem konventionellen Haushaltsfarbfernsehgerät 58 verbunden. Das Fernsehgerät 58 zeigt auf seinem Fernsehbildschirm 60 3D- Videospielbilder und gibt durch seine Lautsprecher 62a,b Stereoton oder Stereoklang wieder.
- Bei der zur Veranschaulichung dienenden Ausführungsform liegt die Videospielspeichervorrichtung 54 in der Form einer austauschbaren Speicherkassette vor, die in einen Schlitz 64 auf einer Oberseite 66 der Konsole 52 einführbar ist. Eine breite Auswahl an alternativen Programmspeichermedien, wie CD- ROM, Floppy Disk, usw. wird von der vorliegenden Erfindung in Betracht gezogen. Bei dieser beispielhaften Ausführungsform umfasst die Videospielspeichervorrichtung 54 ein Kunststoffgehäuse 68, das eine Leiterplatte 70 umschließt. Die Leiterplatte 70 weist einen Rand 72 auf, der eine Anzahl von elektrischen Kontakten 74 festlegt oder definiert. Wenn die Videospielspeichervorrichtung 54 in den Hauptkonsolenschlitz 64 eingeführt wird, paaren sich die elektrischen Kontakte 74 der Kassette mit entsprechenden elektrischen Kontakten eines "Randsteckers" in der Hauptkonsole. Dieser Vorgang verbindet die Leiterplatte 72 der Speichervorrichtung elektrisch mit der Elektronik innerhalb der Hauptkonsole 52. Bei diesem Beispiel ist innerhalb des Speichervorrichtungsgehäuses 68 auf der Leiterplatte 70 mindestens ein "Nurlesespeicher"-Chip 76 angeordnet. Dieser "Nurlesespeicher"-Chip 76 speichert Anweisungen und andere zu einem bestimmten Videospiel gehörige Informationen. Der Nurlesespeicher-Chip 76 für eine Spielkassettenspeichervorrichtung 54 kann zum Beispiel Anweisungen und andere Informationen für ein Abenteuerspiel enthalten, während eine andere Speichervorrichtung 54 Anweisungen und Informationen zum Spielen eines Autorennspiels, eines Erziehungs- oder Bildungsspiels, usw. enthalten kann. Um ein Spiel zu spielen, im Gegensatz zu einem anderen Spiel, braucht der Benutzer des Videospielsystems 60 nur die passende Speichervorrichtung 54 in den Hauptkonsolenschlitz 64 zu stecken, wodurch der Nurlesespeicher-Chip 76 der Speichervorrichtung (und jegliche andere Schaltungsanordnung, die sie enthalten kann) mit der Konsole 52 verbunden wird. Dies ermöglicht es, dass ein in der Konsole 52 enthaltenes Computersystem auf die im Nurlesespeicher 76 enthaltenen Informationen zugreift, welche Informationen das Computersystem der Konsole steuern, um das passende Videospiel durch die Anzeige von Bildern und die Wiedergabe von Ton auf dem Farbfernsehergerät 58 zu spielen, wie unter der Steuerung oder Kontrolle der Spielprogramminformationen im Nurlesespeicher festgelegt.
- Um das Videospielsystem 50 zum Spielen eines Spiels einzurichten, verbindet der Benutzer zuerst die Konsole 52 mit dem Farbfernsehgerät 58, indem er ein Kabel 78 zwischen die beiden hängt. Die Konsole 52 erzeugt sowohl "Video"-Signale und "Ton"-Signale zur Steuerung des Farbfernsehgeräts 58. Die "Video"-Signale steuern die auf dem Fernsehbildschirm 60 angezeigten Bilder, und die "Ton"-Signale werden als Ton von den Lautsprechern 62 des Fernsehgeräts abgespielt. In Abhängigkeit von der Art des Farbfernsehgeräts 58 kann es notwendig sein, einen konventionellen "RF-Modulator" zwischen die Konsole 52 und das Farbfernsehgerät 58 zu schalten. Dieser "RF-Modulator" (nicht dargestellt) wandelt die direkten Video- und Ton-Ausgaben oder Ausgangssignale der Konsole 52 in ein rundfunkartiges Fernsehsignal um (z. B. für einen Fernsehkanal 2 oder 3), das unter Verwendung des internen "Tuners" des Fernsehgeräts empfangen und verarbeitet werden kann. Andere konventionelle Farbfernsehgeräte 58 weisen direkte Video- und Ton-Eingangsklinken auf und benötigen diesen zwischengeschalteten RF-Modulator daher nicht.
- Der Benutzer muss dann die Konsole 52 mit einer Stromquelle verbinden. Diese Stromquelle kann einen herkömmlichen Wechselstromadapter (nicht dargestellt) umfassen, der in eine übliche elektrische Haushaltswandsteckdose eingesteckt wird und die Haushaltsnetzspannung in ein Gleichstromsignal mit niedrigerer Spannung umwandelt, das zum Betreiben der Konsole 52 geeignet ist. Der Benutzer kann dann bis zu 4 Handsteuerungen 56a, 56b mit entsprechenden Steckern 80a-80d auf einer Frontplatte 82 der Haupteinheit verbinden. Die Steuerungen 56 können eine Reihe von Formen annehmen. Bei diesem Beispiel schließen die Steuerungen 56a,b verschiedene Funktionen steuernde Drucktaster ein, wie 84a-c, sowie X-Y- Schalter 86a,b, die zum Beispiel verwendet werden, um die Richtung (nach oben, nach unten, nach links oder nach rechts) vorzugeben, in der sich eine auf dem Fernsehbildschirm 60 angezeigte, durch einen Spieler steuerbare Gestalt bewegen sollte. Andere Steuerungsmöglichkeiten schließen Joysticks, Mauszeigersteuerungen und einen weiten Bereich von anderen konventionellen Benutzereingabevorrichtungen ein.
- Das vorliegende System ist entwickelt worden, um einer Erweiterung Rechnung zu tragen und verschiedene Arten von Peripheriegeräten zu enthalten, die noch genannt werden sollen. Dies wird erreicht, indem man ein programmierbares Peripheriegerät-Eingabe/Ausgabesystem einschließt (das unten ausführlich beschrieben werden soll), das es gestattet, die Art und den Status des Geräts durch Programmbefehle anzugeben.
- Im Gebrauch wählt ein Benutzer eine Speichervorrichtung 54 aus, die ein gewünschtes Videospiel enthält, und führt diese Speichervorrichtung in den Konsolenschlitz 64 ein (wodurch der Nurlesespeicher 76 und andere Kassettenelektronikbauteile elektrisch mit der Elektronik der Hauptkonsole verbunden werden). Der Benutzer betätigt dann einen Netzschalter 88, um das Videospielsystem 50 einzuschalten, und betätigt die Steuerungen 56a,b (in Abhängigkeit von dem jeweils gespielten Videospiel können zusammen mit der zur Veranschaulichung dienenden Konsole bis zu vier Steuerungen für vier verschiedene Spieler verwendet werden), um der Konsole 52 Eingaben zu liefern und somit das Spielen des Videospiels zu steuern. Zum Beispiel kann das Drücken von einem der Drucktaster 84a-c bewirken, dass das Spielen des Spiels beginnt. Ein Bewegen des Richtungsschalters 86 kann bewirken, dass sich belebte Gestalten auf dem Fernsehbildschirm 60 in verschiedene Richtungen bewegen, die steuerbar sind. In Abhängigkeit von dem jeweiligen in der Speichervorrichtung 54 gespeicherten Videospiel können diese verschiedenen Steuerorgane 84, 86 auf der Steuerung 56 zu unterschiedlichen Zeiten unterschiedliche Funktionen erfüllen. Wenn der Benutzer einen Neustart des Spiels von Beginn an wünscht oder alternativ das Spiel mit gewissen Spielprogrammen auf einen bekannten Fortsetzungspunkt zurücksetzen möchte, kann der Benutzer einen Rücksetztaster 90 drücken.
- Fig. 2 ist ein Blockdiagramm einer zur Veranschaulichung dienenden Ausführungsform der mit einer Spielkassette 54 gekoppelten Konsole 52 und zeigt einen Hauptprozessor 100, einen Koprozessor 200 und einen Hauptspeicher 300, der ein Erweiterungsmodul 302 einschließen kann. Der Hauptprozessor 100 ist ein Computer, der das Videospielprogramm in der Speichervorrichtung 54 ausführt. In diesem Beispiel greift der Hauptprozessor 100 durch den Koprozessor 200 über einen zwischen dem Hauptprozessor und dem Koprozessor 200 verlaufenden Kommunikationspfad 102 und über einen anderen Kommunikationspfad 104a, 104b zwischen dem Koprozessor und der Videospielspeichervorrichtung 54 auf dieses Videospielprogramm zu. Alternativ kann der Hauptprozessor 100 den Koprozessor 200 steuern, um das Videospielprogramm über einen Pfad 106 von der Videospielspeichervorrichtung 54 in den Hauptspeicher 300 zu kopieren, und dann kann der Hauptprozessor 100 über den Koprozessor 200 und die Pfade 102, 106 auf das Videospielprogramm im Hauptspeicher 300 zugreifen. Während der Ausführung des Videospielprogramms akzeptiert der Hauptprozessor 100 Eingaben von den Spielsteuerungen 56.
- Der Hauptprozessor 100 erzeugt von Zeit zu Zeit Listen von Anweisungen, die der Koprozessor 200 durchzuführen hat. Der Koprozessor 200 umfasst in diesem Beispiel eine anwendungsspezifische integrierte Hochleistungsschaltung für spezielle Zwecke mit einer inneren Auslegung, die zum schnellen Verarbeiten von 3D-Grafikinformationen und digitalen Toninformationen optimiert ist. Bei der zur Veranschaulichung dienenden Ausführungsform ist der hier beschriebene Koprozessor das Produkt eines Joint Venture zwischen der Nintendo Company Limited und Silicon Graphics, Inc. Die vorliegende Erfindung ist nicht auf eine Verwendung zusammen mit dem oben genannten Koprozessor beschränkt. Jeglicher kompatible Koprozessor, der eine schnelle Verarbeitung von 3D-Grafikinformationen und digitalen Toninformationen unterstützt, kann hier verwendet werden. Ansprechend auf vom Hauptprozessor 100 über den Pfad 102 bereitgestellte Anweisungslisten erzeugt der Koprozessor 200 auf der Grundlage von im Hauptspeicher 300 und/oder in der Videospielspeichervorrichtung 54 gespeicherten Daten eine Ausgabe von Video und Ton zur Zufuhr zum Farbfernsehgerät 58.
- Fig. 2 zeigt auch, dass Ton und Video, die vom Koprozessor 200 ausgegeben werden, in diesem Beispiel nicht direkt zum Fernsehgerät 58 geliefert werden, sondern statt dessen durch eine externe Elektronik außerhalb des Koprozessors weiterverarbeitet werden. Insbesondere gibt in diesem Beispiel der Koprozessor 200 seine Ton- und Videoinformationen in digitaler Form aus, jedoch benötigen konventionelle Heimfarbfernsehgeräte 58 analoge Tonsignale und Videosignale. Deshalb müssen die digitalen Ausgangssignale des Koprozessors 200 in analoge Form umgewandelt werden, eine Aufgabe, die für die Toninformationen von einem DAC (D/A-Wandler) und einem Mischerverstärker 40 und für die Videoinformationen von einem VDAC und einem Kodierer 144 durchgeführt wird. Die im DAC 140 erzeugten analogen Tonsignale werden von einem Tonfrequenzverstärker darin verstärkt und gefiltert, der über das EXTSOUND-L/R-Signal auch außerhalb von der Konsole 52 erzeugte Tonsignale vom Stecker 154 zumischen kann. Die im VDAC 144 erzeugten analogen Videosignale werden zu einem Videokodierer darin geliefert, der zum Beispiel RGB-Eingaben in zusammengesetzte Videoausgaben umwandeln kann, die mit handelsüblichen Fernsehgeräten kompatibel sind. Die verstärkte Stereotonausgabe des Verstärkers im Ton-DAC und Mischer/Verstärker 140 und die zusammengesetzte Videoausgabe des Video- DAC und Kodierers 144 werden bereitgestellt, um das Heimfarbfernsehgerät 58 direkt zu steuern. Das vom Video- Digital/Analog-Wandler im Bauteil 144 erzeugte zusammengesetzte Synchronisationssignal wird für eine Verwendung, zum Beispiel, durch einen wahlweise vorgesehenen Lichtgriffel oder eine Fotopistole zu seinem Videokodierer und zum externen Stecker 154 geführt.
- Fig. 2 zeigt auch einen Taktgenerator 136 (der zum Beispiel von einem in Fig. 4A dargestellten Schwingquarz 148 gesteuert werden kann), der Zeitsteuerungs- oder Taktsignale erzeugt, um die anderen Komponenten der Konsole 52 zu takten und zu synchronisieren. Unterschiedliche Konsolenkomponenten erfordern unterschiedliche Taktfrequenzen, und der Taktgenerator 136 liefert solche geeigneten Taktfrequenzausgaben (oder Frequenzen, aus denen geeignete Taktfrequenzen zum Beispiel durch Dividieren abgeleitet werden können).
- Bei dieser beispielhaften Ausführungsform sind die Spielsteuerungen 56 nicht direkt mit dem Hauptprozessor 100 verbunden, sondern sind statt dessen durch eine serielle Peripherieschnittstelle 138 mit der Konsole 52 verbunden. Die serielle Peripherieschnittstelle 138 demultiplexiert serielle Datensignale, die von bis zu vier oder fünf Spielsteuerungen 56 hereinkommen (z. B. 4 Steuerungen vom seriellen E/A-Bus 151 und 1 Steuerung vom Stecker 154) und liefert diese Daten in einem vorbestimmten Format über den Koprozessor 200 zum Hauptprozessor 100. Die serielle Peripherieschnittstelle 138 ist bidirektional, d. h. sie ist imstande, vom Hauptprozessor 100 angegebene serielle Informationen aus den Frontplattensteckern 80a-d heraus zu übertragen und zudem serielle Informationen aus diesen Frontplattensteckern zu empfangen. Die serielle Schnittstelle 138 empfängt Daten vom Hauptspeicher RDRAM, Taktsignale, Befehle und versendet Daten/Antworten über eine serielle Schnittstelle (nicht dargestellt) des Koprozessors. E/A-Befehle werden zur seriellen Schnittstelle 138 übertragen, zur Ausführung durch ihren internen Prozessor, wie unten beschrieben wird. Auf diese Weise verkleinert der Peripherieschnittstellenprozessor (250 in Fig. 7) die Verarbeitungsbelastung auf dem Hauptprozessor 100, indem er E/A-Aufgaben übernimmt. Wie in Verbindung mit Fig. 7 unten ausführlicher beschrieben wird, schließt die serielle Peripherieschnittstelle 138 auch einen "Boot-ROM (Nurlesespeicher)" ein, der eine geringe Menge an Urlade(IPL)- Code speichert. Dieser im Boot-ROM der Peripherieschnittstelle gespeicherte IPL-Code wird vom Hauptprozessor 100 beim Start und/oder beim Zurücksetzen ausgeführt, um es dem Hauptprozessor zu ermöglichen, mit der Ausführung von Spielprogrammanweisungen 108 in der Speichervorrichtung 54 zu beginnen. Die anfänglichen Spielprogrammanweisungen 108 können wiederum den Hauptprozessor 100 steuern, um die Treiber und Steuerungen zu initialisieren, die er benötigt, um auf den Hauptspeicher 300 zuzugreifen.
- Bei dieser beispielhaften Ausführungsform schließt die serielle Peripherieschnittstelle 138 einen Prozessor (vgl. 250 in Fig. 7) ein, der zusätzlich zur Durchführung der oben genannten E/A- Aufgaben auch mit einem zugehörigen Sicherheitsprozessor 152 in der Speichervorrichtung 54 kommuniziert. Dieses Paar Sicherheitsprozessoren (einer in der Speichervorrichtung 54, der andere in der Konsole 52) erfüllt im Zusammenwirken mit dem Hauptprozessor 100 eine Authentifizierungsfunktion, um sicherzustellen, dass nur zugelassene Speichervorrichtungen zusammen mit der Videospielkonsole 52 verwendet werden können.
- Wie in den Fig. 2 und 3A dargestellt, empfängt die Peripherieschnittstelle 138 von der Rücksetz-IC 139 ein Strom Ein-Rücksetzsignal. Der Rücksetz-IC 139 stellt einen geeigneten Schwellenwertspannungspegel fest und erzeugt danach ein Strom- Ein-Rücksetzsignal, was wiederum dazu führt, dass von einer Schaltung 162 ein Kalt-Rücksetzsignal erzeugt wird, welches Signal zum Rücksetzeingang des Hauptprozessors 100 geführt wird. Um sicherzustellen, dass das Kalt-Rücksetzsignal zum richtigen Zeitpunkt erzeugt wird, wird ein Verzögerungssignal CLDCAP zu der das Kalt-Rücksetzsignal erzeugenden Schaltung 162 geführt. Der Kalt-Rücksetzsignalgenerator 162 enthält eine Schmidt-Triggerschaltung (die das Rücksetz-IC-Signal vom Rücksetz-IC 139 empfängt), deren Ausgang mit einem Eingang eines UND-Gliedes gekoppelt ist. Der Ausgang des Schmidt- Triggers ist auch mit einem Puffer-NICHT-Glied gekoppelt, dessen Ausgabe und das CLDCAP-Signal zu einem zweiten Eingang des UND-Gliedes geführt werden. Die Ausgabe des UND-Gliedes dient als Kalt-Rücksetzsignal, das zum Mikroprozessor 250 und zum Hauptprozessor 100 und zu dem in Fig. 3A dargestellten Mikroprozessor 152 geführt wird. Das Kalt-Rücksetzsignal, das vom Kalt-Rücksetzsignalgenerator erzeugt worden ist, wird durch eine Diode (nicht dargestellt) zum Eingang des Generators 162 zurückgeführt. Das Kalt-Rücksetzsignal wird auch zum Rücksetzeingang des in der Peripherieschnittstelle 138 (vgl. Fig. 7) enthaltenen Prozessors 250 und zum Rücksetzsteckerstift des Steckers 154 geführt, der mit dem Rücksetzeingang des Sicherheitsprozessors 152 gekoppelt ist. Fig. 3B zeigt die Rücksetz-IC(RESIC)-, Kalt-Rücksetz(CLDRES)- und CLDCAP-Signale. Obwohl die in den Fig. 3B, 4A, 4B usw. dargestellten Signale in der Beschreibung (und in den Fig. 2 und 3A) genannt werden, ohne zu berücksichtigen, ob sie umgekehrt sind, oder nicht (zwecks Erleichterung der Bezugnahme), zeigen die Fig. 3B, 4A und 4B und jedes der Zeitsteuerungs- oder Taktdiagramme in dieser Offenbarung die passende umgekehrte Natur des Signals durch eine Linie über der Signalbezeichnung (oder Steckerstiftbezeichnung) an, wie dies üblich ist.
- Fig. 2 zeigt auch einen Stecker 154 in der Videospielkonsole 52. Bei dieser zur Veranschaulichung dienenden Ausführungsform wird der Stecker 154 im Gebrauch mit den elektrischen Kontakten 74 am Rand 72 der Leiterplatte 70 der Speichervorrichtung verbunden. Somit verbindet der Stecker 154 den Koprozessor 200 elektrisch mit dem ROM 76 der Speichervorrichtung. Zusätzlich verbindet der Stecker 154 den Sicherheitsprozessor 152 der Speichervorrichtung mit der seriellen Peripherieschnittstelle 138 der Haupteinheit. Obwohl der Stecker 154 in dem in Fig. 2 dargestellten speziellen Beispiel in erster Linie benutzt werden kann, um aus einem nicht-beschreibbaren Nurlesespeicher 76 Daten und Anweisungen zu lesen, ist das System 52 so ausgelegt, dass der Stecker bidirektional ist, d. h. dass die Haupteinheit Informationen zur Speichervorrichtung 54 senden kann, um sie zusätzlich zum Lesen von Informationen aus ihr im Direktzugriffspeicher 77 zu speichern.
- Der Hauptspeicher 300 speichert das Videospielprogramm in Form von CPU-Anweisungen 108. Jeder Zugriff auf den Hauptspeicher 300 erfolgt durch den Koprozessor 200 über den Pfad 106. Diese CPU-Anweisungen werden typischerweise aus dem Spielprogramm/den Spieldaten 108 kopiert, die in der Speichervorrichtung 54 gespeichert sind, und zum RDRAM 300 heruntergeladen. Diese Architektur ist ohne weiteres auch zur Verwendung mit einer CD- ROM oder anderen Massenspeichermedien anpassbar. Obwohl die CPU 100 imstande ist, Anweisungen direkt aus dem ROM 76 der Speichervorrichtung auszuführen, ist das für einen Zugriff auf jede Anweisung aus dem ROM benötigte Maß an Zeit viel größer als die für einen Zugriff auf Anweisungen aus dem Hauptspeicher 300 benötigte Zeit. Deshalb kopiert üblicherweise der Hauptprozessor 100 das Spielprogramm/die Spieldaten 108 aus dem ROM 76 auf einer Nach-Bedarf-Grundlage in Blöcken in den Hauptspeicher 300, und greift auf den Hauptspeicher 300 zu, um die Anweisungen tatsächlich auszuführen. Der RDRAM des Speichers 300 ist vorzugsweise ein dynamischer Schnellzugriff- RAM, der imstande ist, Zugriffszeiten von 500 Mbytes/Sekunde zu erzielen, wie beispielsweise der von RAMBUS, Inc. verkaufte DRAM. Der Speicher 300 ist mit dem Koprozessor 200 über einen vereinheitlichten neun Bit breiten Bus 106 gekoppelt, über dessen Steuerung vom Koprozessor 200 entschieden wird. Der Speicher 300 ist erweiterbar, indem man lediglich zum Beispiel eine 8-Mbyte-Speicherkarte über einen Konsolenspeichererweiterungsanschluss (nicht dargestellt) in die Konsole 52 einsteckt.
- Der Hauptprozessor 100 enthält vorzugsweise einen internen Cache-Speicher (nicht dargestellt), der zum weiteren Verkürzen der Anweisungszugriffszeit benutzt wird. Die Speichervorrichtung 54 speichert auch eine Datenbank mit Grafikdaten und Tondaten 112, die benötigt werden, um die Grafik und den Ton des speziellen Videospiels bereitzustellen. Der Hauptprozessor 100 liest im Allgemeinen auf einer Nach- Bedarf-Grundlage die Grafikdaten und Tondaten 112 aus der Speichervorrichtung 54 und speichert sie in Form von Texturdaten, Tondaten und Grafikdaten im Hauptspeicher 300 ab. In diesem Beispiel umfasst der Koprozessor 200 einen Anzeigeprozessor, der einen inneren Texturspeicher aufweist, in den auf einer Nach-Bedarf-Grundlage Texturdaten zur Verwendung durch den Anzeigeprozessor kopiert werden.
- Die Speichervorrichtung 54 speichert auch Koprozessor-Mikrocode 156. In diesem Beispiel führt ein Signalprozessor innerhalb des Koprozessors 200 ein Computerprogramm aus, um damit seine verschiedenen Grafikfunktionen und Tonfunktionen zu erfüllen. Dieses Computerprogramm, das "Mikrocode" genannt wird, wird von der Speichervorrichtung 54 geliefert. Typischerweise kopiert der Hauptprozessor 100 den Mikrocode 156 beim Hochfahren des System in den Hauptspeicher 300 und steuert dann den Signalprozessor, um Teile des Mikrocodes auf einer Nach-Bedarf- Grundlage zur Ausführung in einen Anweisungsspeicher im Signalprozessor zu kopieren. Weil der Mikrocode 156 von der Speichervorrichtung 54 geliefert wird, können verschiedene Speichervorrichtungen verschiedene Mikrocodes liefern, um dadurch die jeweiligen, vom Koprozessor 200 unter Software- Steuerung bereitgestellten Funktionen maßzuschneidern. Weil der Mikrocode 156 typischerweise zu groß ist, um auf einmal in den internen Anweisungsspeicher des Signalprozessors zu passen, kann es nötig sein, verschiedene Mikrocodeseiten oder -teile nach Bedarf aus dem Hauptspeicher 300 in den Anweisungsspeicher des Signalprozessors zu laden. Zum Beispiel kann ein Teil des Mikrocodes 156 zur Grafikverarbeitung in den Signalprozessor 400 geladen werden, und ein anderer Teil des Mikrocodes kann zur Tonverarbeitung geladen werden. Vergleiche auch die oben genannte, damit zusammenhängende Anmeldung wegen weiterer Einzelheiten bezüglich des Signalprozessors und des im Koprozessor enthaltenen Anzeigeprozessors sowie der verschiedenen im RDRAM 300 aufbewahrten Datenbanken.
- Obwohl dies in Fig. 2 nicht dargestellt ist, schließt der Koprozessor 200 auch eine CPU-Schnittstelle, eine serielle Schnittstelle, eine parallele Peripherieschnittstelle, eine Tonschnittstelle, eine Videoschnittstelle, eine Hauptspeicher- DRAM-Steuerung/Schnittstelle, einen internen Hauptbus und eine Zeitsteuerungs- oder Takt-Schaltungsanordnung ein. Der Hauptbus des Koprozessors gestattet es, dass die verschiedenen Hauptkomponenten innerhalb des Koprozessors 200 jeweils miteinander kommunizieren. Die CPU-Schnittstelle ist der Übergang zwischen dem Hauptprozessor 100 und dem Koprozessor 200. Über einen von der CPU zum Koprozessor führenden Bus liest der Hauptprozessor 100 Daten aus der Koprozessor/CPU- Schnittstelle und schreibt Daten in diese. Eine serielle Schnittstelle des Koprozessors liefert eine Schnittstelle zwischen der seriellen Peripherieschnittstelle 138 und dem Koprozessor 200, während eine parallele Peripherieschnittstelle 206 des Koprozessors eine Schnittstelle mit der Speichervorrichtung 54 oder anderen, mit dem Stecker 154 verbundenen parallelen Geräten oder Vorrichtungen bildet.
- Eine Tonschnittstelle des Koprozessors liest Informationen aus einem Tonpufferspeicher innerhalb des Hauptspeichers 300 und gibt sie zum Ton-DAC 140 aus. Entsprechend liest eine Videoschnittstelle des Koprozessors Informationen aus einem RDRAM-Bildpufferspeicher und gibt sie dann zum Video-DAC 144 aus. Eine Koprozessor-DRAM-Steuerung/Schnittstelle ist der Übergang, über den der Koprozessor 200 auf den Hauptspeicher 300 zugreift. Die Zeitsteuerungs- oder Taktschaltungsanordnung des Koprozessors empfängt Taktsignale vom Taktgenerator 136 und verteilt sie (falls notwendig nach einer geeigneten Division) an verschiedene andere Schaltungen innerhalb des Koprozessors 200.
- Der Hauptprozessor 100 in diesem Beispiel ist ein MIPS R4300 RISC-Mikroprozessor, der von MIPS Technologies, Inc., Mountain View, Kalifornien entwickelt wurde. Für weitere Informationen über den Hauptprozessor 100 vergleiche zum Beispiel Heinrich, MIPS Mikroprozessor R4000 Benutzerhandbuch (MIPS Technologies, Inc., 1984, 2. Ausgabe).
- Der konventionelle R4300-Hauptprozessor 100 trägt sechs Hardware-Interrupts, einen internen (Zeitgeber-)Interrupt, zwei Software-Interrupts und einen nicht-maskierbaren Interrupt (NMI). In diesem Beispiel gestatten es drei der sechs Hardware- Interrupt-Eingänge (INT0, INT1 und INT2) und der nicht- maskierbare Interrupt (NMI)-Eingang, dass andere Teile des Systems 50 den Hauptprozessor unterbrechen. Speziell ist der INT0 des Hauptprozessors so geschaltet, dass er es dem Koprozessor 200 gestattet, den Hauptprozessor zu unterbrechen, der Interrupt INT1 des Hauptprozessors ist so geschaltet, dass er es der Speichervorrichtung 54 oder anderen externen Geräten oder Vorrichtungen gestattet, den Hauptprozessor unterbrechen, und die Interrupts INT2 und NMI des Hauptprozessors sind so geschaltet, dass sie es der seriellen Peripherieschnittstelle 138 gestatten, den Hauptprozessor zu unterbrechen. Jedes Mal, wenn der Prozessor unterbrochen wird, schlägt er in einem internen Unterbrechungsregister nach, um die Ursache der Unterbrechung festzustellen, und kann dann in einer geeigneten Weise reagieren (z. B. ein Statusregister lesen oder eine andere angemessene Tätigkeit durchführen). Alle außer dem NMI- Interrupt-Eingang von der seriellen Peripherieschnittstelle 138 her sind maskierbar (d. h. der Hauptprozessor 100 kann sie unter Softwaresteuerung freischalten oder sperren).
- Wenn der Videospielrücksetzschalter 90 gedrückt wird, wird von der Peripherieschnittstellenschaltung 138 ein nicht- maskierbares Unterbrechungssignal erzeugt und wird zum Hauptprozessor 100 geführt, wie in Fig. 2 dargestellt. Das NMI-Signal führt jedoch zu einer nicht-maskierbaren sofortigen Abzweigung in einen zuvor festgelegten Initialisierungszustand. Um die Möglichkeit eines Ansprechens auf die Betätigung des Rücksetzschalters 90 durch Abzweigung zum Beispiel auf den augenblicklichen höchsten erreichten Spielstand zuzulassen, wird die in Fig. 3A dargestellte Schaltung verwendet. Wenn der Rücksetzschalter 90 gedrückt wird, empfängt der E/A-Anschluss 164 ein Rücksetzschaltereingabesignal, das eine Logikschaltung darin einstellt und unmittelbar ein INT2-Signal zum Prozessor 100 führt. INT2 ist ein NMI-Vorwarnsignal und wird benutzt, um zum Beispiel den Spielprozessor 100 zu triggern, um den Zustand des Spiels in vorbestimmten Registern zu sichern. Die Logikschaltung innerhalb des E/A-Anschlusses 164 kann eine Zeitverzögerungsschaltung sein, die sicherstellt, dass das NMI- Signal fünf Sekunden nach INT2 auftritt, wie man aus den in Fig. 3 dargestellten Zeitsteuerungs- oder Taktsignalen sehen kann. Der linke Teil der Fig. 3B zeigt die Signalerzeugung, wenn der Rücksetzschalter weniger als eine halbe Sekunde lang gedrückt wird. Der rechte Teil der Fig. 3B zeigt die Zeitsteuerung oder Taktung, wenn der Rücksetzschalter mehr als eine halbe Sekunde lang gedrückt wird. Somit kann ein individuelles Spielprogramm ein gewünschtes Ansprechen auf das Drücken des Rücksetzschalters 90 festlegen, indem es ansprechend auf das INT2-Signal vor dem Auftreten von NMI eine zuvor festgelegte Gruppe von Anweisungen ausführt. Die CPU 100 spricht auch auf das NMI-Vorwarnsignal INT2 an, indem sie einen Abschaltverarbeitungsvorgang für zugehörige Ton- und Videosysteme einleitet und die Abschaltung ihres Cache- Speichers und anderer Schaltungen vorbereitet, so dass eine Rückkehr zu einem anderen gewünschten bekannten Zustand als lediglich dem Beginn des Spiels möglich ist. Das NMI-Signal wird auch zum Peripherieschnittstellenmikroprozessor 250 geführt.
- Im Betrieb empfängt der Hauptprozessor 100 Eingaben aus den Spielsteuerungen 56 und führt das von der Speichervorrichtung 54 bereitgestellte Videospielprogramm aus, um für eine Spielverarbeitung und Animation zu sorgen und Grafik- und Tonbefehle umzuwandeln. Die vom Hauptprozessor 100 erzeugten Grafik- und Tonbefehle werden vom Koprozessor 200 verarbeitet. In diesem Beispiel führt der Koprozessor eine 3D-Geometrie- Transformations- und Beleuchtungsverarbeitung durch, um Grafikanzeigebefehle zu erzeugen, die der Koprozessor dann benutzt, um zu Anzeigezwecken Polygone zu "zeichnen". Wie oben angegeben, enthält der Koprozessor 200 einen Signalprozessor und einen Anzeigeprozessor. Die 3D-Geometrie-Transformation und Beleuchtung wird in diesem Beispiel vom Signalprozessor ausgeführt, und die Polygonrasterung und -texturierung wird vom Anzeigeprozessor 500 ausgeführt. Der Anzeigeprozessor schreibt seine Ausgabe in einen Bildpufferspeicher im Hauptspeicher 300. Dieser Bildpufferspeicher speichert eine digitale Darstellung des auf dem Fernsehbildschirm 60 anzuzeigenden Bildes. Eine weitere Schaltungsanordnung innerhalb des Koprozessors 200 liest die im Bildpufferspeicher enthaltenen Informationen und gibt sie zur Anzeige an das Fernsehgerät 58 aus. Unterdessen verarbeitet der Signalprozessor unter Verwendung von digitalen Tonsignalverarbeitungstechniken auch vom Hauptprozessor 100 empfangene Tonbefehle. Der Signalprozessor schreibt seine digitale Tonausgabe in den Hauptspeicher 300, wobei der Hauptspeicher die Tonausgabe vorübergehend "puffert" (d. h. speichert). Eine andere Schaltungsanordnung im Koprozessor 200 liest diese gepufferten Tondaten aus dem Hauptspeicher 300 und wandelt sie in elektrische Tonsignale (Stereo, links und rechts) zur Zufuhr zum und zur Wiedergabe durch das Fernsehgerät 58 um.
- Spezieller liest der Hauptprozessor 100 ein im Hauptspeicher 300 gespeichertes Videospielprogramm 108. Ansprechend auf die Ausführung dieses Videospielprogramms 108 erzeugt der Hauptprozessor 100 eine Liste von Befehlen für den Koprozessor 200. Diese Befehlsliste schließt im Allgemeinen zwei Arten von Befehlen ein: Grafikbefehle und Tonbefehle. Grafikbefehle steuern die Bilder, die der Koprozessor 200 auf dem Fernsehgerät 58 erzeugt. Tonbefehle geben den Ton oder Klang vor, dessen Wiedergabe auf den Fernsehlautsprechern 62 der Koprozessor 200 bewirkt. Die Liste von Grafikbefehlen kann "Anzeigeliste" genannt werden, weil sie die Bilder steuert, die der Koprozessor 200 auf dem Fernsehbildschirm 60 anzeigt. Eine Liste von Tonbefehlen kann "Abspielliste" genannt werden, weil sie die Töne oder Klänge steuert, die über den Lautsprecher 62 abgespielt werden. Im Allgemeinen gibt der Hauptprozessor 100 für jedes auf dem Farbfernsehgerät 58 dargestellte "Teilbild" eines Videofilms sowohl eine Anzeigeliste und eine Abspielliste vor.
- In diesem Beispiel liefert der Hauptprozessor 100 seine Anzeige/Abspielliste 110 dem Koprozessor 200, indem er sie in den Hauptspeicher 300 kopiert. Der Hauptprozessor 100 sorgt auch dafür, dass der Hauptspeicher 300 eine Grafik- und Tondatenbank enthält, die sämtliche der Daten umfasst, die der Koprozessor 200 benötigt, um Grafik und Ton zu erzeugen, die in der Anzeige/Abspielliste 100 angefordert worden sind. Zum Beispiel kann der Hauptprozessor 100 die passenden Grafik- und Tondaten aus dem Nurlesespeicher 76 der Speichervorrichtung in die Grafik- und Tondatenbank innerhalb des Hauptspeichers 300 kopieren. Der Hauptprozessor 100 teilt dem Koprozessor 200 mit, wo die Anzeige/Abspielliste 110 zu finden ist, die er in den Hauptspeicher 300 geschrieben hat, und diese Anzeige/Abspielliste 110 kann angeben, welche Teile der Grafik- und Tondatenbank 112 der Koprozessor 200 verwenden sollte.
- Der Signalprozessor des Koprozessors liest die Anzeige/Abspielliste 110 aus dem Hauptspeicher 100 und verarbeitet diese Liste (wobei er bei Bedarf auf zusätzliche Daten in der Grafik- und Tondatenbank zugreift). Der Signalprozessor erzeugt zwei hauptsächliche Ausgaben: Grafikanzeigebefehle zur weiteren Verarbeitung durch den Anzeigeprozessor und Tonausgabedaten zur Zwischenspeicherung innerhalb des Hauptspeichers 300. Sobald der Signalprozessor 400 die Tonausgabedaten in den Hauptspeicher 300 schreibt, liest ein anderer Teil des Koprozessors 200, der "Tonschnittstelle" (nicht dargestellt) genannt wird, diese Tondaten und gibt sie zur Wiedergabe durch die Fernsehlautsprecher 62 aus.
- Der Signalprozessor kann die Grafikanzeigebefehle über einen internen Pfad des Koprozessors 200 direkt zum Anzeigeprozessor liefern, oder er kann diese Grafikanzeigebefehle in den Hauptspeicher 300 schreiben, zum Abrufen aus dem Hauptspeicher mittels des Anzeigeprozessors. Diese Grafikanzeigebefehle befehlen dem Anzeigeprozessor, vorgegebene geometrische Bilder auf dem Fernsehbildschirm 60 zu zeichnen ("aufzubereiten"). Zum Beispiel kann der Anzeigeprozessor auf der Grundlage dieser Grafikanzeigebefehle Linien, Dreiecke oder Rechtecke zeichnen und kann Dreiecke und Rechtecke mit bestimmten Texturen füllen (z. B. Bildern von Blättern eines Baums oder Backsteinen einer Backsteinwand, wie in den beispielhaften Bildschirmanzeigen in den Fig. 6A bis F dargestellt), die im Hauptspeicher 300 gespeichert sind, alles wie durch den Grafikanzeigebefehl vorgegeben. Es ist auch möglich, dass der Hauptprozessor 100 Grafikanzeigebefehle direkt in den Hauptspeicher 300 schreibt, so dass er dem Anzeigeprozessor direkt befiehlt. Der Anzeigeprozessor des Koprozessors erzeugt als Ausgabe eine digitalisierte Darstellung des Bildes, das auf dem Fernsehbildschirm 60 erscheinen soll.
- Dieses digitalisierte Bild, das manchmal "bit map" genannt wird, wird (zusammen mit "Tiefen- oder Z"-Informationen) in einem im Hauptspeicher 300 befindlichen Bildspeicher oder Bildpufferspeicher für jedes vom Farbfernsehgerät 58 angezeigte Videobild gespeichert. Ein anderer Teil des Koprozessors 200, der "Videoschnittstelle" (nicht dargestellt) genannt wird, liest den Bildpufferspeicher und wandelt seinen Inhalt in Videosignale zum Zuführen zum Farbfernsehgerät 58 um.
- Jede der Fig. 6A-6F wurde unter Verwendung eines dreidimensionalen Modells einer "Welt" erzeugt, die ein Schloss auf einem Berggipfel darstellt. Dieses Modell besteht aus geometrischen Formen (d. h. Linien, Dreiecken, Rechtecken) und "Texturen" (digital gespeicherten Bildern), die auf die von den geometrischen Formen begrenzten Oberflächen "abgebildet" werden. Das System 50 dimensioniert, dreht und bewegt diese geometrischen Formen in angemessener Weise, "projiziert" sie und setzt sie alle zusammen, um ein realistisches Bild der dreidimensionalen Welt von einem beliebigen Blickpunkt aus zu liefern. Das System 50 kann dies interaktiv in Echtzeitreaktion auf die Betätigung von Spielsteuerungen 56 durch eine Person vornehmen.
- Die Fig. 6A-6C und 6F zeigen Luftansichten des Schlosses von vier verschiedenen Blickpunkten aus. Man bemerke, dass jede der Ansichten perspektivisch ist. Das System 50 kann diese Ansichten (und Ansichten dazwischen) interaktiv mit geringer oder keiner merklichen Verzögerung erzeugen, so dass es scheint, als ob der Spieler des Videospiels tatsächlich über das Schloss flöge.
- Die Fig. 6D und 6E zeigen Ansichten vom Boden aus bei einem Blick nach oben an dem oder nahe dem Haupttor des Schlosses. Das System 50 kann diese Ansichten interaktiv in Echtzeitreaktion auf Spielsteuerungseingaben hin erzeugen, die befehlen, dass der Blickpunkt vor dem Schloss "landet", und befehlen, dass der "virtuelle Betrachter" (d. h. die gedachte, sich durch die 3-D-Welt bewegende Person, durch deren Augen man die Schauplätze sieht) in verschiedene Richtungen blickt. Fig. 6D zeigt ein Beispiel einer "Texturabbildung", bei dem eine Textur (ein Bild) einer Backsteinwand auf den Schlosswänden abgebildet wird, um ein sehr realistisches Bild zu erzeugen.
- Fig. 4A und 4B umfassen eine beispielhafte ausführlichere Implementierung des Blockdiagramms aus Fig. 2. Komponenten in den Fig. 4A und 4B, die mit denjenigen identisch sind, welche in Fig. 2 dargestellt sind, sind gleiche Bezugsziffern zugeordnet. Viele der in den Fig. 4A und 4B dargestellten Komponenten sind bereits in Verbindung mit Fig. 2 beschrieben worden, und eine weitere Erörterung dieser Komponenten ist nicht notwendig.
- Die Fig. 4A und 4B zeigen die Schnittstelle zwischen Systemkomponenten und den auf Gerätesteckerstiften empfangenen spezifischen Signalen ausführlicher als in Fig. 2 dargestellt. Soweit in den Fig. 4A und 4B Spannungspegel angegeben sind, stellt VDD +3,3 Volt dar, und VCC stellt +5 Volt dar.
- Konzentriert man sich zuerst auf die Peripherieschnittstelle 138 in Fig. 4B, so sind Signale wie CLDRES, NMI, RESIC, CLDCAP und RSWIN bereits zuvor in Verbindung mit den Fig. 2, 3A und 3B erläutert worden, welche Erläuterung hier nicht wiederholt wird. Es sind drei Koprozessor 200/Peripherieschnittstelle 138- Kommunikationssignale dargestellt: PCHCLK, PCHCMD und PCHRSP. Diese Signale werden auf einem 3 Bit breiten Peripherieschnittstellenkanalbus übertragen, wie in den Fig. 2, 4A und 4B dargestellt. Das Taktsignal PCHCLK wird zu Zeitsteuerungs- oder Taktungszwecken benutzt, um eine Aufnahme von Peripherieschnittstellendaten und -befehlen zu triggern. Das Taktsignal wird vom Koprozessor 200 zur Peripherieschnittstelle 138 übertragen.
- Der Koprozessor 200 und die CPU 100 liefern auf der Grundlage des in der Speichervorrichtung 54 gespeicherten Videospielprogramms auf der PCHCMD-Steuerleitung Befehle, die von der Peripherieschnittstelle 138 ausgeführt werden sollen. Der Befehl schließt ein Startbitfeld, ein Befehlscodefeld und Daten oder andere Informationen ein.
- Die Peripherieschnittstellenschaltungsanordnung (wie weiter unten beschrieben) dekodiert den Befehl und, falls die Daten als Antwort auf den Befehl bereit sind, sendet ein PCHRSP- Antwortsignal umfassend ein Bestätigungssignal "ACK" gefolgt von den Antwortdaten. Ungefähr zwei Taktimpulse nachdem die Peripherieschnittstelle 138 das Bestätigungssignal ACK erzeugt, beginnt die Datenübertragung. Von der Peripherieschnittstelle 138 empfangene Daten können Informationen/Anweisungen sein, die im Boot-ROM gespeichert sind, oder Steuerungsstatus oder Steuerungsdaten, usw..
- Fig. 5A zeigt repräsentative Signale, die über die PCHCLK-, PCHCMD- und PCHRSP-Leitungen übertragen werden. Die Beziehungen zwischen dem Taktsignal und der Abtastung der PCHCMD-Leitung durch die Peripherieschnittstelle sowie dem Taktsignal und der Ausgabe der Antwort durch die Peripherieschnittstelle ist in Fig. 5A dargestellt. Zudem sind in Fig. 5A die Beziehungen zwischen dem Taktsignal und der Ausgabe eines PCHCMD-Signals durch den Koprozessor 200 (RCP) sowie der Abtastung des PCHRSP- Signals durch den Koprozessor dargestellt. Wie durch Fig. 5A vorgeschlagen, können die Hoch- und Tiefpegel des Taktsignals verschiedene Impulsbreiten aufweisen, je nach dem ob das System zusammen mit NTSC oder PAL verwendet werden soll. Fig. 5B zeigt auf dem Peripherieschnittstellenkanal erscheinende beispielhafte Signale für vier beispielhafte Befehle, die dazu dienen, 4 Bytes in Speicher zu lesen, 4 Bytes in Speicher zu schreiben, eine Peripherieschnittstellenmakroanweisung auszuführen oder 64 Bytes in Peripherieschnittstellenpufferspeicher zu schreiben. Eine weitere Erläuterung der Peripherieschnittstellenvorrichtung und dieser Befehle wird unten ausführlich beschrieben.
- Wendet man sich wieder der Peripherieschnittstelle 138 in Fig. 4B zu, so sind SECCLK, SECTRC und SECTRD drei sicherheitsbezogene Signale, die zwischen zwei in der Peripherieschnittstelle 138 bzw. in der Spielkassette enthaltenen Sicherheitsprozessoren geführt werden. SECCLK ist ein Taktsignal, das benutzt wird, um Sicherheitsprozessor- Operationen in sowohl der Peripherieschnittstelle und der Spielkassette zu takten. SECTRC ist ein von der Peripherieschnittstelle 138 zur Spielkassette gesandtes Signal, das ein Datenübertragungstaktsignalfenster festlegt, in dem Daten gültig sind, und SECTRD ist ein Datenübertragungsbussignal, bei dem Daten aus der Peripherieschnittstelle 138 und Daten aus dem Sicherheitsprozessor der Spielkassette ausgetauscht werden, und zwar zu Zeiten, die durch die SECTRD-Übertragungstaktimpulse identifiziert werden. Schließlich enthält die Peripherieschnittstelle 138 einen Steckerstift RSWIN, welcher der Rücksetzschaltereingabesteckerstift ist.
- Wendet man sich als nächstes dem Stecker 154 zu, wie zuvor erwähnt, so schließt das System 50 eine Erweiterungsmöglichkeit zum Hinzufügen einer anderen Steuerung 56 ein. Daten aus einer solchen Steuerung würden über den EXTJOY-E/A-Steckerstift des Steckers 154 übertragen. Die drei oben erwähnten sicherheitsbezogenen Signale werden an den mit SECTRD, SECTRC und SECCLK bezeichneten Steckerstiften zwischen dem Spielkassettensicherheitsprozessor und dem Peripherieschnittstellenprozessor geführt.
- Der Kassettenstecker führt zudem ein Kalt-Rücksetzsignal CRESET zum Spielkassettensicherheitsprozessor, um eine Stromeinschalt- Rücksetzfunktion zu ermöglichen. Zudem kann, wenn während der Prozessorauthentifizierungsprüfung zum Beispiel der Peripherieschnittstellenprozessor keine Daten empfängt, die zu dem passen, was erwartet wird, der Kassettenprozessor über den CRESET-Steuersteckerstift in einen Rücksetz-Zustand gebracht werden.
- Der NMI-Eingang ist ein Steuersteckerstift, um ein NMI- Unterbrechungssignal zur Kassette zu führen. Die Steuerleitung CARTINT ist vorgesehen, um es zu ermöglichen, dass aus der Kassette ein Unterbrechungssignal zur CPU 100 erzeugt wird, zum Beispiel wenn Vorrichtung mit der Kassette gekoppelt sind, die einen Dienst von der CPU 100 benötigen. Nur beispielhaft ist eine Massenspeichervorrichtung, wie eine CD-ROM, eine mögliche Vorrichtung, die einen CPU-Unterbrechungsdienst benötigt.
- Wie in Fig. 4B dargestellt, ist der Systembus mit dem Kassettenstecker 154 gekoppelt, um einen Zugriff auf Programmanweisungen und Daten aus dem Spielkassetten-ROM und/oder Massenspeichervorrichtungen, wie CD-ROM usw., zu ermöglichen. Im Gegensatz zu bekannten Videospielsystemen, wie dem Nintendo NES und SNES, werden Adressen- und Datensignale nicht getrennt auf verschiedenen Bussen zur Spielkassette geführt, sondern werden statt dessen auf einem 16 Bit breiten Adressen/Datenbus multiplexiert. Es werden auch Lese- und Schreibsteuersignale und Adressenblockierungsfreigabesignale mit Hochpegel und Tiefpegel ALEH bzw. ALEL zur Spielkassette geführt. Der Zustand der ALEH- und ALEL-Signale legt die Bedeutung der auf dem 16-Bit-Bus übertragenen Informationen fest. Das Lesesignal RD ist ein Leseausblendsignal, welches es ermöglicht, dass Daten aus dem Masken-ROM oder RAM in der Spielkassette gelesen werden. Das Schreibsignal WR ist ein Ausblendsignal, welches das Schreiben von Daten aus dem Koprozessor 200 zum statischen RAM der Kassette oder einer Massenspeichervorrichtung ermöglicht. Die multiplexierte Benutzung des 16-Bit-Adressen/Daten-Bus wird in Verbindung mit den Fig. 12-14 bei der Beschreibung des Zugriffs auf einen externen Speicher ausführlicher beschrieben.
- Ton kann aus der Kassette und/oder durch den Stecker 154 zu den Eingängen Kanal-1 und Kanal-2 des Tonmischers 142, CH1EXT bzw. CH2EXT, ausgegeben werden. Die externen Toneingaben von SOUNDL und SOUNDR werden mit der Tonausgabe aus dem Koprozessor über den Ton-DAC 140 und die Eingänge CH1IN, CH2In gemischt, um danach das kombinierte Tonsignal über die Tonmischerausgänge CH10UT, CH2OUT auszugeben, die wiederum mit den Eingängen AUDIOL und AUDIOR des Ton/Videoausgabesteckers 149 gekoppelt sind, und werden danach zu den Fernseherlautsprechern 62a,b geführt.
- Der Stecker 154 empfängt auch ein zusammengesetztes Synchronisationssignal CSYNC, das die Ausgabe des Video-DAC 144 ist, welche gleichfalls zum Ton/Video-Ausgabestecker 149 geführt wird. Das zusammengesetzte Synchronisationssignal CSYNC, wie zuvor beschrieben, wird als Synchronisationssignal zur Verwendung bei der Synchronisation von zum Beispiel einem Lichtgriffel oder einer Fotopistole benutzt.
- Der Kassettenstecker schließt auch Steckerstifte zum Empfang von Stromversorgungs- und Erde-Signalen ein, wie in Fig. 4B dargestellt. Die +3,3 Volt dienen zum Beispiel zum Betreiben des 16-Bit-AD-Bus sowie anderer Kassettenvorrichtungen. Der 12- Volt-Stromversorgungsanschluss wird zum Betreiben von Massenspeichervorrichtungen genutzt.
- Wendet man sich dem Koprozessor 200 in Fig. 4A zu, so sind viele der vom Koprozessor 200 empfangenen oder übertragenen Signale bereits beschrieben worden, die hier nicht wiederholt werden. Der Koprozessor 200 gibt ein Tonsignal aus, das anzeigt, ob Tondaten für den linken oder rechten Kanal vorgesehen sind, d. h. AUDLRCLK. Serielle Tondaten werden auf einem AUDDATA-Steckerstift ausgegeben. Die Zeitsteuerung oder Taktung für die seriell übertragenen Daten wird am AUDCLK- Steckerstift bereitgestellt. Der Koprozessor 200 gibt sieben Videosignale SRGB0 bis SRGB7 aus, welche synchronisierten digitalen RGB-Signale zur Umwandlung in analoge Signale zum Video-DAC 144 geführt werden. Der Koprozessor 200 erzeugt ein Zeitsteuerungs- oder Taktsignal SYNC, das die Taktung für die SRGB-Daten steuert, die zum TSYNC-Eingang des Video-DAC 144 geführt werden. Der Koprozessor 200 empfängt vom Taktgenerator 136 über den VCLK-Eingangssteckerstift eine Videotakteingabe, um die zeitliche Abfolge des SRGB-Signals zu steuern. Der Koprozessor 200 und die CPU 100 benutzen ein PVALID-Signal, um anzuzeigen, dass der Prozessor 100 eine gültige Befehls- oder Datenkennung oder gültige Adressen/Daten auf dem Systembus treibt, und ein EVALID-Signal, um anzuzeigen, dass der Koprozessor 200 eine gültige Befehls- oder Datenkennung oder gültige Adressen/Daten auf dem Systembus treibt. Der Koprozessor 200 versorgt die CPU 100 mit Haupt- oder Bezugstaktimpulsen für Zeitsteuerungs- oder Taktungsvorgänge innerhalb der CPU 100. Der Koprozessor 200 und die CPU 100 benutzen zusätzlich ein EOK-Signal, um anzuzeigen, dass der Koprozessor 200 imstande ist, einen Befehl des Prozessors 100 anzunehmen.
- Wendet man sich dem Hauptspeicher RDRAM 300, 302 zu, wie in Fig. 4A dargestellt, so sind dort zwei RDRAM-Chips 300a und 300b mit einem Erweiterungs-RDRAM-Modul 302 dargestellt. Wie zuvor beschrieben, kann der Hauptspeicher RDRAM erweitert werden, indem in einen Speichererweiterungsanschluss im Gehäuse der Videokonsole ein Speichermodul eingesteckt wird. Jedes RDRAM-Modul 300a,b, 302 wird in derselben Weise mit dem Koprozessor 200 gekoppelt. Beim Hochfahren wird als erstes der RDRAM1 (300a) initialisiert, dann werden der RDRAM2 (300b) und der RDRAM3 (302) initialisiert. Der RDRAM1 wird vom Koprozessor erkannt, da sein SIN-Eingang an VDD gebunden ist, wie in Fig. 4A dargestellt. Wenn RD1 unter Softwaresteuerung initialisiert wird, wird sich SOUT auf einem Hochpegel befinden. Das SOUT- Hochpegelsignal wird zum SIN des RDRAM2 (300b) geführt, was dahingehend wirkt, dass RDRAM2 initialisiert wird. SOUT wird dann auf einen Hochpegel gehen, was dahingehend wirkt, dass RDRAM3 (302) (falls im System vorhanden) initialisiert wird.
- Jedes der RDRAM-Module empfängt vom Koprozessor 200 Bussteuerungs- und Busfreigabesignale. Der Koprozessor 200 gibt ein TXCLK-Signal aus, wenn Daten zu einem der RDRAM1 bis 3 ausgegeben werden sollen, und es wird ein Taktsignal RXCLK ausgegeben, wenn Daten aus einer der RDRAM-Datenbanken ausgelesen werden sollen. Die seriellen Ein-(SIN) und seriellen Aus-(SOUT)-Steckerstifte werden während der Initialisierung benutzt, wie zuvor beschrieben. Der RDRAM empfängt Taktsignale vom Ausgabesteckerstift FSO des Taktgenerators 136.
- Der Taktgenerator 136 ist ein Drei-Frequenz- Taktsignalgenerator. Zum Beispiel kann der Oszillator innerhalb des Taktgenerators 136 ein auf einer Phasenregelschleife basierender Oszillator sein, der ein FSO-Signal von ungefähr 250 MHz erzeugt. Der Oszillator gibt auch eine dividierte Version des FSO-Signals aus, z. B. FSO/5, die ungefähr bei 50 MHz liegen kann, welche für Zeitsteuerungs- oder Taktungs- Vorgänge verwendet wird, die den Koprozessor 200 und den Video- DAC 144 betreffen, wie in den Fig. 4A und 4B angezeigt ist. Das FSC-Signal wird benutzt, um das Videokodiererträgersignal zu synchronisieren. Der Taktgenerator 136 enthält auch einen Frequenzwahleingang, in dem Frequenzen gewählt werden können, je nachdem, ob eine NTSC- oder PAL-Version der beschriebenen beispielhaften Ausführungsform verwendet wird. Obwohl daran gedacht wird, das FSEL-Auswahlsignal zur Konfigurierung des Oszillators für eine Verwendung mit NTSC oder PAL zu nutzen, wie in Fig. 4A dargestellt, setzt die Eingabe den Oszillator unter Stromeinschaltrücksetzbedingungen zurück. Wenn er beim Zurücksetzen mit dem Netz verbunden wird, wird das Zurücksetzen des Oszillators freigegeben, wenn ein vorbestimmter Schwellenwert erreicht wird.
- Fig. 7 ist ein Blockdiagramm der in Fig. 2 dargestellten Peripherieschnittstelle 138. Der zuvor in Verbindung mit den Fig. 3A und 3B beschriebene Teil der Peripherieschnittstelle 138 ist in Fig. 7 nicht dargestellt. Die Peripherieschnittstelle 138 wird für E/A-Verarbeitungsvorgänge verwendet, z. B. um die Eingabe/Ausgabe-Verarbeitung der Spielsteuerung 56 zu steuern und um während des Spielens eines Spiels dauernd Spielauthentifizierungssicherheitsprüfungen durchzuführen. Zudem wird die Peripherieschnittstelle 138 während des Spielkassetten/Koprozessor 200- Kommunikationsprotokolls verwendet, wobei im Boot-ROM 262 gespeicherte Anweisungen benutzt werden, um einen Beginn des Spielen des Spiels zu ermöglichen. Die Peripherieschnittstelle 138 enthält eine CPU 250, die zum Beispiel ein 4-Bit- Mikroprozessor von der Art sein kann, die von der Sharp- Corporation hergestellt wird. Die CPU 250 führt ihr Sicherheitsprogramm aus dem Programm-ROM 252 heraus durch. Wie zuvor beschrieben, kommuniziert der Peripherieschnittstellenprozessor 250 mit dem auf der Spielkassette enthaltenen Sicherheitsprozessor 152, wobei die SECTRC-, SECTRD- und SECCLK-Signale verwendet werden. Der Peripherieschnittstellenanschluss 254 enthält zwei 1-Bit- Register zum Zwischenspeichern der SECTRC- und SECTRD-Signale.
- Die Gesamtsystemsicherheit zur Authentifizierung von Spielsoftware wird durch die Wechselwirkung des Hauptprozessors 100, des Peripherieschnittstellenprozessors 250, des Boot-ROM 262 und des Kassettensicherheitsprozessors 152 gesteuert. Der Boot-ROM 262 speichert eine Gruppe von Anweisungen, die vom Prozessor 100 ausgeführt werden, kurz nachdem der Strom eingeschaltet wird (und, falls gewünscht, beim Drücken des Rücksetzschalters 90). Das Boot-ROM-Programm enthält Anweisungen zum Initialisieren der CPU 100 und des Koprozessors 200 über eine Gruppe von Urladeanweisungen (IPL). Danach werden vom Hauptprozessor 100 Authentifizierungsberechnungen durchgeführt, und das Ergebnis wird zur Nachprüfung bzw. Bestätigung zur CPU 250 in der Peripherieschnittstelle 138 zurückgeführt. Falls es zu einer Bestätigung kommt, wird das Spielprogramm zum RDRAM übertragen, nachdem er initialisiert worden ist, und es wird eine weitere Authentifizierungsprüfung durchgeführt. Nach der Bestätigung eines authentischen Spielprogramms springt die Steuerung zwecks Ausführung zum Spielprogramm im RDRAM. Während des Spielens eines Spiels dauern kontinuierliche Authentifizierungsberechnungen durch den Authentifizierungsprozessor in der Peripherieschnittstelle 138 und durch den Sicherheitsprozessor 152 an, wie es zum Beispiel im U.S. Patent 4,799,635 und im damit zusammenhängenden U.S. Patent 5,426,762 beschrieben ist.
- Wendet man sich wieder Fig. 7 zu, so wird dort ein PCHCLK- Taktsignal mit einer Frequenz von zum Beispiel ungefähr 15 MHz dem Taktgenerator 256 eingegeben, der wiederum ein Taktsignal mit ungefähr 1 MHz zur CPU 250 und ein Taktsignal mit ungefähr 1 MHz zur Übertragung entlang der Leitung SECCLK zum Spielkassetten-Sicherheitsprozessor 152 liefert. Die PIF- Kanalschnittstelle 260 spricht auf PCHCLK- und PCHCMD- Steuersignale an, um einen Zugriff auf den Boot-ROM 262 und den RAM 264 zu gestatten und um Signale zur Steuerung der Unterbrechung der CPU 250 zu erzeugen, wenn dies zweckmäßig ist.
- Fig. 8 ist ein Blockdiagramm der in Fig. 7 dargestellten PIF- Kanalschnittstelle 260. Wie in Fig. 8 dargestellt, werden Befehle unter der Steuerung von Taktimpulsen PCHCLK seriell in ein Schieberegister 282 auf der Leitung PCHCMD geladen. Das Schieberegister 282 wirkt als Serie-Parallel-Umsetzer und Parallel-Serie-Umsetzer, wie unten erläutert wird. Eine Steuerung 284 dekodiert Befehle, die parallel aus dem Schieberegister 282 ausgegeben werden, um zum Beispiel Lese- oder Schreibsteuersignale zu erzeugen, um auf Informationen aus dem RAM 264 zuzugreifen, um Anweisungen aus dem Boot-ROM 262 auszulesen oder um Unterbrechungssteuersignale zu erzeugen, die zur CPU 250 übermittelt werden sollen und/oder erzeugt bei Bedarf andere konventionelle Steuersignale (CTL). Informationen aus dem RAM 264, auf die zugegriffen wird, und Anweisungen aus dem Boot-ROM 262, auf die zugegriffen wird, werden über einen internen Bus 285 parallel in das Schieberegister 282 geladen und werden dann auf der Antwortleitung PCHRSP seriell aus dem Schieberegister 282 ausgetaktet. Wenn der in das Schieberegister 282 geladene Befehl ein Schreibein-den-RAM- 264-Befehl ist, wird die Steuerung 284 den Befehl dekodieren, ein Schreibsteuersignal erzeugen und mit dem Befehl verknüpfte Daten parallel aus dem Schieberegister zum RAM 264 ausgeben. Somit übt die Steuerung 284 eine DMA-Steuerung beim Steuern des Zugriffs auf Daten des RAM 264 und des Boot-ROM 262 und beim Laden von derartigen Daten in das Schieberegister 282 und beim Steuern der Datenübertragung vom Schieberegister 282 zum RAM 264 aus. Die PIF-Kanalschnittstelle 260 enthält auch ein Pufferspeicher-Steuerungs/Status-Register 283 zum Speichern von Kanalstatus- und/oder Kanalsteuerbits, auf die von der Steuerung 284 oder der CPU 250 zugegriffen werden kann. Dieses Register speichert Informationen, die für die augenblickliche Zugriffsgröße des Pufferspeichers 264 und den Lese/Schreib- Status des Pufferspeichers 264 bezeichnend sind.
- Wie in Fig. 5A dargestellt, ist das PCHCLK-Signal das grundlegende Taktsignal, das zum Beispiel ein 15,2 MHz-Signal sein kann, das zum Takten von Kommunikationsvorgängen zwischen dem Koprozessor 200 und der Peripherieschnittstelle 138 verwendet wird. Fig. 5A zeigt auch die Zeitsteuerung oder Taktung für den vom Koprozessor 200 zur Peripherieschnittstelle 138 ausgegebenen PCHCMD-Befehl. Der Befehl wird zum Lesen und Schreiben aus dem und in den RAM 264 benutzt, sowie zum Lesen aus dem Boot-ROM 262. Die Peripherieschnittstelle 138 wiederum liefert eine PCHRSP-Antwort, die sowohl Daten, auf die zugegriffen wurde, als auch ein Bestätigungssignal enthält. Die unteren drei in Fig. 5A dargestellten Zeitsteuerungs- oder Taktsignale sind Signale aus der Perspektive der Peripherieschnittstelle (PIF), während die oberen drei Zeitsteuerungs- oder Taktsignale aus der Perspektive des Koprozessors sind.
- Bei der vorliegenden beispielhaften Ausführungsform werden vier Befehle in Betracht gezogen, einschließlich eines Lies-4-Byte- aus-dem-Speicher-Befehl zum Lesen aus dem RAM 264 und dem Boot- ROM 262, eines Schreib-4-Byte-in-den-Speicher-Befehls zum Schreiben in den RAM 264, eines PIF-Makrobefehls zum Lesen von 64 Bytes aus dem Pufferspeicher 264 und zum Zugreifen auf Steuerung/Daten von der Spielersteuerung (nachfolgend Joy- Kanal). Die CPU 250 wird von der PIF-Makroanweisung getriggert, um Joy-Kanal-Daten zu senden oder zu empfangen. Der Hauptprozessor 100 kann so einen PIF-Makrobefehl erzeugen, der E/A-Verarbeitungsvorgänge durch die CPU 250 initialisieren wird, um die Verarbeitungsbelastung auf dem Hauptprozessor 100 zu verkleinern. Der Hauptprozessor 100 kann auch einen Schreib- 64-Byte-Pufferspeicherbefehl ausgeben, der 64 Bytes in den RAM 264 schreibt.
- Wendet man sich wieder Fig. 7 zu, so enthält die Peripherieschnittstelle 138 auch einen Buszuweiser 258, der den Zugriff auf den RAM 264 zwischen CPU 250 und PIF- Kanalschnittstelle 260 zuweist. Der RAM 264 funktioniert als Arbeits-RAM für die CPU 250 und speichert kassettenauthentifizierungsbezogene Berechnungen. Der RAM 264 speichert zusätzlich Statusdaten, wie solche, zum Beispiel anzeigen, ob der Rücksetzschalter gedrückt worden ist. Der RAM 264 speichert auch steuerungsbezogene Informationen, zum Beispiel in einem 64-Byte-Pufferspeicher innerhalb des RAM 264. Fig. 5B zeigt beispielhafte Befehlsformate zum Lesen und Schreiben aus dem und in den 64-Byte-Pufferspeicher.
- Der Pufferspeicher-RAM 264 und der Boot-ROM 262 befinden sich beide im Adressenraum des Hauptprozessors 100. Die CPU 250 der Peripherieschnittstelle 138 kann auch auf den Pufferspeicher- RAM 264 in ihrem Adressenraum zugreifen. Speicherschutz- Techniken werden benutzt, um einen unpassenden Zugriff auf Teile des RAM 264 zu verhindern, die für Authentifizierungsberechnungen verwendet werden.
- Wie man in Fig. 7 sehen kann, werden die in den Fig. 3A und 3B dargestellten rücksetz- und unterbrechungsbezogenen Signale, wie CLDRES, CLDCAP und RESIC erzeugt und/oder verarbeitet, wie oben erläutert. Das Signal RSWIN wird beim Drücken des Rücksetzschalters 90 zum Anschluss 268 geführt, und, wie oben beschrieben, werden das NMI- und das NMI-Vorwarnsignal INT2 erzeugt, wie zuvor in Verbindung mit Fig. 3B beschrieben.
- Der Anschluss 268 enthält ein Rücksetzsteuerregister, das Bits speichert, die angeben, ob ein NMI- oder INT2-Signal erzeugt werden soll. Ein drittes Bit im Rücksetzsteuerregister zeigt an, ob der Rücksetzschalter 90 gedrückt worden ist.
- Wie zuvor erwähnt, dient die Peripherieschnittstelle 138 zusätzlich zu ihren anderen Funktionen dazu, eine Eingabe/Ausgabeverarbeitung für zwei oder mehr Spielersteuerungen bereitzustellen. Wie in Fig. 1 dargestellt, schließt eine beispielhafte Ausführungsform der vorliegenden Erfindung vier Buchsen 80a-d ein, um bis zu vier Peripheriegeräte zu akzeptieren. Zusätzlich sieht die vorliegende Erfindung die Aufnahme von einem oder mehr zusätzlichen Peripheriegeräten vor. Vergleiche den Stecker 154 und den Steckerstift EXTJOY E/A. Der 64-Bit-Hauptprozessor 100 steuert Peripheriegeräte, wie Joystick oder auf Kreuzschaltern basierende Steuerungen nicht direkt. Statt dessen steuert der Hauptprozessor 100 die Spielersteuerungen indirekt, indem er über den Koprozessor 200 Befehle zur Peripherieschnittstelle 138 schickt, welche die E/A-Verarbeitung für den Hauptprozessor 100 handhabt. Wie in Fig. 7 dargestellt, empfängt die Peripherieschnittstelle 138 auch Eingaben von zum Beispiel fünf Spielersteuerungskanälen über einen Kanalwähler 280, einen Demodulator 278, eine Joystick-Kanalsteuerung 272 und einen Anschluss 276. Joystick- Kanaldaten können zu Peripheriegeräten über den Anschluss 266 zur Joystick-Kanalsteuerung 277, zum Modulator 274 und zum Kanalwähler 276 übertragen werden.
- Hinsichtlich des Joy-Kanalkommunikationsprotokolls gibt es ein Befehlsprotokoll und ein Antwortprotokoll. Nach einem Befehls- Datenübertragungsblock wird ein Fertigmeldungssignal erzeugt. Ein Antwort-Datenübertragungsblock kommt immer nach einem Befehls-Datenübertragungsblock. In einem Antwort- Datenübertragungsblock wird ein Fertigmeldungssignal erzeugt, nachdem die Antwort vollständig ist. Daten werden auch von der Peripherieschnittstelle 138 zu den Joy-Kanalsteuerungen geschickt. Die CPU 250 der Peripherieschnittstelle steuert derartige Datenübertragungen.
- Jeder Kanal, der mit einer Spielersteuerung gekoppelt ist, ist ein serieller bilateraler Bus, der über den Kanalwähler 276 ausgewählt werden kann, um unter der Steuerung der Vier-Bit-CPU 250 Informationen zu einem der Peripheriegeräte zu führen. Wenn der Hauptprozessor 100 Daten aus Spielersteuerungen oder anderen Peripheriegeräten lesen oder Daten in Spielersteuerungen oder anderen Peripheriegeräte schreiben möchte, muss er auf den RAM 264 zugreifen. Wie in Fig. 5B dargestellt, gibt es mehrere Betriebsarten zum Zugreifen auf den RAM 264. Die 64-Bit-CPU 100 kann eine 32-Bit-Wort-Lies- oder Schreib-Anweisung aus dem oder in den RAM 264 der Peripherieschnittstelle ausführen. Alternativ kann die CPU eine Schreib-64-Byte-DMA-Anweisung ausführen. Diese Anweisung wird vollzogen, indem zuerst eine DMA-Startadresse in das Haupt-RAM- Adressregister geschrieben wird. Danach wird ein Pufferspeicher-RAM-264-Adresscode in ein vorbestimmtes Register geschrieben, um einen 64-Byte-DMA-Schreibvorgang zu triggern oder auszulösen, um Daten aus einem Haupt-RAM-Adressregister zu einer feststehenden Zieladresse im RAM 264 zu übertragen.
- Ein PIF-Makro kann ebenfalls ausgeführt werden. Ein PIF-Makro beinhaltet einen Austausch von Daten zwischen dem RAM 264 der Peripherieschnittstelle und den Peripheriegeräten und das Lesen von 64 Bytes durch DMA. Durch Verwendung des PIF-Makros kann der Status von jeglichem Peripheriegerät festgestellt werden. Das Makro wird initialisiert, indem zuerst die Peripherieschnittstelle 138 eingestellt wird, um jedes Peripheriegerät zuzuordnen, indem ein Schreib-64-Byte-DMA- Vorgang oder ein Schreib-4-Byte-Vorgang benutzt wird (der weggelassen werden könnte, falls er zuvor vorgenommen wurde und keine Veränderung der Zuordnung nötig ist). Danach wird die DMA-Zieladresse auf ein Haupt-RAM-Adressregister geschrieben, und ein vorbestimmter RAM-264-Adresscode wird in ein im Koprozessor angeordnetes PIF-Makroregister geschrieben, was das PIF-Makro triggert oder auslöst. Das PIF-Makro schließt zwei Phasen ein, wobei zuerst die Peripherieschnittstelle 138 eine Lese- oder Schreibtransaktion mit jedem Peripheriegerät bei jedem zugeordneten Modus startet, was dazu führt, dass im Peripherieschnittstellen-RAM 264 aktualisierte Informationen gespeichert werden. Danach wird ein Lies-64-Byte-DMA-Vorgang ausgeführt, um 64 Bytes aus der feststehenden DMA-Startadresse des RAM 264 zur programmierbaren DMA-Zieladresse des RAM- Adressregisters im Haupt-RAM 300 zu übertragen. Vergleiche Fig. 5B für PIF-Makro-Zeitsteuerungs- oder Taktsignale.
- Die Tabelle unten stellt beispielhaft die Art und Weise dar, in welcher der 64-Bit-Hauptprozessor 100 kommuniziert, wobei sein Speicheradressenraum durch Adressieren des RAM 264 verwendet wird, um Informationen mit den Joy-Kanälen auszutauschen.
- Bei der vorliegenden beispielhaften Ausführungsform sind sechs Joy-Kanäle verfügbar. Die Byte-Größen der Übertragungsdaten und Empfangsdaten jedes Kanals können durch Einstellung von Größenparametern alle unabhängig zugeordnet oder zugewiesen werden. Bei der beispielhaften Ausführungsform sind Größenparametereinstellungen aller sechs Kanäle erforderlich, egal ob sie benutzt werden, oder nicht. Wie oben dargestellt, soll der RAM 264 für die Zuordnung von Tx-Daten/Rx-Daten jedes Kanals verwendet werden. Die Tx-Daten/Rx-Daten-Zuordnung wird wirksam, wenn der Hauptprozessor 100 unter Verwendung von Wr64B oder Wr4B einen Formatmerker (0x1FC007FC b0) setzt.
- Wenn bei der beispielhaften Ausführungsform der Prozessor 100 "0x00", "0xFD", "0xFE" oder "0xFF" als Tx-Daten-Größe schreibt, werden die Daten nicht als Tx-Datengröße erkannt, sondern haben eine spezielle Funktion, wie unten angegeben. Sie werden wirksam, wenn der Prozessor 100 unter Verwendung von Wr64B oder Wr4B ein Formatbit (0x1FC007FC b0) setzt.
- "0x00" = Kanal überspringen Wenn 0x00 als Tx-Daten-Größe geschrieben wird, wird die jeweilige Joy-Kanal-Transaktion nicht ausgeführt.
- "0xFD" = Kanal zurücksetzen Wenn 0xFD als Tx-Daten-Größe geschrieben wird, gibt die PIF (Peripherieschnittstelle) ein Rücksetzsignal zum jeweiligen Joy-Kanal aus.
- "0xFE" = Formatende Wenn 0xFE als Tx-Daten-Größe geschrieben wird, wird bei diesem "0xFE" die Tx-Daten/Rx-Daten-Zuordnung beendet. Mit anderen Worten wird die Tx-Daten-Größe oder Rx-Daten-Größe nach "0xFE" ignoriert.
- "0xFF" = Leerdaten Die Tx-Daten-Größe 0xFF wird als Leerdaten zur Wortausrichtung des Datenbereichs verwendet.
- Jeder Kanal weist vier Merker auf. Zwei von ihnen weisen Informationen vom Prozessor 100 zum Joy-Kanal und andere vom Joy-Kanal zum Prozessor 100 auf.
- Skip = Kanal überspringen Wenn der Prozessor 100 diesen Merker auf "1" setzt, wird die jeweilige Joy-Kanal-Transaktion nicht ausgeführt. Dieser Merker wird ohne Formatmerker wirksam.
- Res = Kanal zurücksetzen Wenn die 64-Bit-CPU diesen Merker auf "1" setzt, gibt die PIF ein Rücksetzsignal zum jeweiligen Joy-Kanal aus. Dieser Merker wird ohne Formatmerker wirksam.
- NR = keine Antwort an Joy-Kanal Wenn das Peripheriegerät jedes Joy-Kanals nicht antwortet, wird das jeweilige NR-Bit auf "1" gesetzt. Dies ist die Vorgehensweise zur Erfassung der Anzahl von augenblicklich angeschlossenen Peripheriegeräten.
- Err = Joy-Kanal-Fehler Wenn ein Übertragungsfehler zwischen der PIF und dem Peripheriegerät aufgetreten ist, wird der Err-Merker auf "1" gesetzt.
- Wenn die 64-Bit-CPU 100 die Tx/Rx-Daten-Zuordnung der Joy- Kanäle verändern möchte, wird ein 32-Bit-Formatmerker verwendet, wobei ein bestimmtes Bit oder bestimmte Bits das gewünschte Format angeben. Wenn zum Beispiel Wr64B oder Wr4B ausgegeben wird, wenn dieser Merker "1" ist, führt die PIF die Tx/Rx-Daten-Zuordnung für jeden Joy-Kanal basierend auf der Tx/Rx-Größe jedes Kanals durch. Mit anderen Worten ändert sich die Tx/Rx-Datenbereichs-Zuordnung nicht, falls nicht dieser Merker mit Wr64B oder Wr4b auf "1" gesetzt ist. Nach der Tx/Rx- Daten-Zuordnung wird dieser Merker automatisch auf "0" zurückgesetzt.
- Fig. 9A ist ein Blockdiagramm der Joystick-Kanalsteuerung 272 und des Anschlusses 266, die in Fig. 7 dargestellt sind. Wie in Fig. 9A angezeigt, führt ein Bus 287, der mit der CPU 250 verbunden ist, Daten, die zum Joy-Kanal übertragen werden sollen, durch ein Anschlussregister 290 zum FIFO-Pufferspeicher 312. Unter der Kontrolle der Steuerung 310 werden dann Vier- Bit-Daten parallel in das Schieberegister 314 geladen und seriell zum Modulator 274 ausgetaktet, in einen identifizierten Joy-Kanal, der vom Kanalwähler 276 basierend auf einer im Adressregister RA299 vorhandenen Adresse ausgewählt worden ist. Von einem Joy-Kanal empfangene Daten werden über den Kanalwähler 280 zum Demodulator 278 eingegeben und werden dann seriell in das Schieberegister 314 geladen. Die seriellen Daten werden vom Schieberegister 314 in parallele Daten umgewandelt, in den FIFO 312 geladen und dann über ein Register 292 zur CPU 250 geführt. Die Steuerung 310 erzeugt herkömmliche Steuersignale (CTL), die benutzt werden, um den hier beschriebenen Datenaustausch zu steuern.
- Die Funktion der verschiedenen Register des Anschlusses 266 sind unten zusammengefasst. Das Register R0(290) ist ein Joy- Kanal-Ausgaberegister zum Empfang von Daten, die über den Modulator 274 und den Kanalwähler 276 ausgegeben werden sollen. Die Joystick-Kanalsteuerung 272 verwendet ein Joy-Kanal- Adressregister RA, um den Kanalwähler zu steuern, um bestimmte Joy-Kanäle zur Eingabe und Ausgabe von Daten zu identifizieren. Das Register R1 292 ist ein Vier-Bit-Joy-Kanal- Eingabedatenregister. Das Register CR 294 ist ein Joy-Kanal- Steuerregister, das zum Beispiel feststellt, ob Daten empfangen oder übertragen werden. Das Register SR 296 ist ein Joy-Kanal- Statusregister, das zum Beispiel ein Bit enthält, das anzeigt, dass ein Joy-Bus-Datenregister bereit ist, und ein Bit, das anzeigt, dass ein Joy-Bus-Fehler festgestellt worden ist. Das Register ER 298 ist ein Joy-Bus-Fehlerregister, das anzeigt, ob es einen Kollisionsfehler, Datenübertragungsblockfehler, Überlauffehler oder Keine-Antwort-Fehler gegeben hat.
- Hinsichtlich des Keine-Antwort-Signals wird selbst dann, wenn eine Steuerung nicht angeschlossen ist und daher keine Antwort geben könnte, bei der beispielhaften Ausführungsform der vorliegenden Erfindung das Fehlen einer Antwort als Fehlersignal behandelt.
- Wie man in Fig. 9A sehen kann, versorgt die Steuerung 310 das Statusregister und das Fehlerregister parallel mit den oben festgestellten Status- und Fehlerinformationen und empfängt Steuersignale aus dem Steuerregister 294, um den Pufferspeicher 312 und das Schieberegister 314 zu steuern, so dass sie entsprechend der augenblicklichen Betriebsart antworten.
- Das Videospielsystem ist programmiert, um es zu ermöglichen, dass ein bis vier Spieler gleichzeitig spielen, indem zum Beispiel der RDRAM 300 eingerichtet wird, wie unten dargestellt:
- Danach wird die DMA-Startadresse in ein Adressregister des RDRAM-Koprozessors 200 geschrieben. Ein Adresscode des RAM 264 wird dann in das Schreibe-64-Byte-Register im Koprozessor 200 geschrieben, und eine Schreibe-DMA-Zieladresse wird in das RDRAM-Adressregister im Koprozessor geschrieben. Danach wird die Adresse im 64-Byte-RAM 264 in das PIF-Makroregister im Koprozessor geschrieben.
- Die Antwort der Steuerungen wird zum RDRAM zurückgeführt. Wenn nur zwei Steuerungen mit Kanal 1 und Kanal 2 verbunden sind, ist der DMA-Ziel-RAM-Bereich, der daraus resultiert, nachdem das PIF-Makro ausgeführt ist, vorzugsweise so, wie unten dargestellt. Wenn jedoch eine Steuerung mit Kanal 3 oder Kanal 4 verbunden ist, wechselt der RAM-Bereich des Kanals zu demselben wie Kanal 1 oder Kanal 2.
- Der Peripheriegerätekanal ist ausgelegt, um verschiedene Arten von zukünftigen Peripheriegeräten zu akzeptieren. Die vorliegende beispielhafte Ausführungsform verwendet einen erweiterungsfähigen Befehl, der von Peripheriegeräten einschließlich zukünftiger Geräte zu interpretieren ist. Die Befehle nehmen das erste Byte eines Tx-Datenbereichs im RAM 264 ein. Viele Bits und Befehle sind für eine zukünftige Erweiterung reserviert. Beispielhafte Befehle betreffend Peripheriegeräte sind unten dargestellt. Es sind auch Befehle zum Lesen und Schreiben von Daten aus einer/in eine Speicherkarte vorgesehen. Backup- oder Sicherungsdaten für ein Spiel können auf einer Speicherkarte gespeichert werden. Auf diese Weise braucht für diesen Speicher während des Spielens eines Spiels keine Sicherungsbatterie verwendet werden, da er in die Steuerung eingesteckt wird. Gewisse dieser Befehle ziehen ein Erweiterungsspeicherkartenmodul 313 in Betracht, das in eine Spielersteuerung 56 eingesteckt wird, wie in Fig. 11 dargestellt. Im Hinblick auf weitere Einzelheiten betreffend beispielhafte Steuerungen, die im System 50 und im Kommunikationsprotokoll zwischen einer solchen Steuerung und der Peripherieschnittstelle 138 verwendet werden können (sowie die damit verbundene Verarbeitung), wird auf eine am 9. Oktober 1995 eingereichte und mit der Veröffentlichungs-Nr. 7-288006 veröffentlichte Japanische Patentanmeldung verwiesen, die als Erfinder Nishiumi et al nennt. Beispielhafte Steuerungsbefehle sind unten dargestellt.
- Befehl 0: Frage die Art und den Statusmerker von jedem Peripheriegerät ab.
- Tx-Größe: 1 Byte Rx-Größe: 3 Byte
- Dieser Befehl wird verwendet, um die Art und die Statusmerker des Peripheriegeräts abzufragen, und seine Antwort soll in den Rx-Datenbereich zurückgeführt werden.
- Diese Art wird vom angeschlossenen Peripheriegerät über seine Funktionen und Merkmale geliefert, wie zum Beispiel unten dargestellt.
- L b0: Im Fall der Standard-Steuerungen würden sie eine Antwort "1" senden, was anzeigt, dass Steuerungen Zähler enthalten und die Joystickdaten als Absolutwert senden.
- L b2: Im Fall der Standardsteuerungen würden sie eine Antwort "1" senden, was anzeigt, dass Steuerungen den Joy- Anschluss aufweisen, der mit der in Fig. 11 dargestellten austauschbaren Speicherkarte verbunden wird.
- Diese Statusmerker sind die Antwort vom angeschlossenen Peripheriegerät über seinen Status. Im Fall von Standardsteuerungen werden diese Merker für eine Speicherkarte verwendet.
- b0: Wenn eine Speicherkarte mit der Steuerung verbunden ist, wird dieser Merker auf "1" gesetzt. Wenn nicht, wird dieser Merker auf "0" gesetzt.
- b1: Nachdem eine Steuerung eingesteckt ist, wird, wenn eine Speicherkarte herausgezogen wird, dieser Merker auf "1" gesetzt. Dieser Merker wird auf "0" zurückgesetzt, wenn die Steuerung eingesteckt ist und Strom zugeführt wird, oder der Befehl 0 oder 225 (Steuerungssoftwarerücksetzbefehl) mit angeschlossener Speicherkarte ausgegeben wird. Wenn die Steuerung ohne Speicherkarte eingesteckt und Strom zugeführt wird, ist dieser Merker undefiniert.
- b2: Ein AddrCRC(zyklischer Redundanzcode)-Report wird bei der Kommunikation mit dem Joy-Anschluss von der Steuerung abgeschickt. Dieser Merkerstatus "1" bedeutet, dass Adress-H/L nicht richtig zur Steuerung übertragen werden. Dieser Merker wird auf "0" zurückgesetzt, wenn das Peripheriegerät eingesteckt und Strom zugeführt oder der Befehl 0 oder 255 ausgegeben wird.
- Befehl 1: Lies Steuerungsdaten
- Tx-Größe: 1 Byte Rx-Größe: 4 Byte.
- Der Befehl 1 wird verwendet, um den Tasterzustand und den Joystickzustand der Steuerung zu erhalten. Der Zähler des Joysticks wird auf "0x00" zurückgesetzt, wenn die Steuerung eingesteckt und Strom zugeführt wird, der Befehl 0 oder 255 ausgegeben wird, das Joy-Kanalrücksetzsignal ausgegeben wird oder L-, R-, START-Taster gleichzeitig gedrückt werden. Das JSRes-Bit zeigt, dass die L-, R-, START-Taster gleichzeitig gedrückt werden.
- Wendet man sich wieder Fig. 7 zu, so benötigen die Joy-Kanäle keine zwei getrennten Leitungen für Takt- bzw. Datensignale. Statt dessen werden Joy-Kanal-Daten übertragen, um 1er und 0er darzustellen, wie in Fig. 9B dargestellt. Auf diese Weise sind nur Stromleitung, Erde und übertragene Daten notwendig, wie in Fig. 9B dargestellt. Wie in Fig. 9B dargestellt, wird somit eine Tastverhältnismodulation verwendet, um 1en und Den darzustellen. Durch Abtastung der Daten in der Mitte des Taktsignals wird festgestellt, ob die Daten eine 1 oder 0 darstellen.
- Die Fliessbilder in den Fig. 10A bis 10C zeigen die Abfolge von Vorgängen, die beim Senden und Empfangen von Daten zwischen dem in Fig. 9A dargestellten Anschluss 266 und den in Fig. 7 dargestellten Joy-Kanälen beteiligt sind. Eine Routine zum Senden und Empfangen von Daten ist dargestellt, in der die Kanal-Betriebsart eingestellt wird (315). Ein Sende-Zähler wird auf den gewünschten Wert eingestellt (317). Dann wird eine Überprüfung vorgenommen, wie beim Block 319 angezeigt, um festzustellen, ob der Sende-Zähler gleich null ist.
- Wenn der Sende-Zähler gleich null ist, dann ist der Anschluss auf Empfangs-Betriebsart oder Empfangsmodus eingestellt (321). Danach wird der Empfangs-Zähler eingestellt (323). Dann wird eine Prüfung vorgenommen, um festzustellen, ob der Empfangs- Zähler null ist (325). Wenn der Empfangs-Zähler null ist, dann wird der Anschluss auf Sende-Betriebsart oder Sendemodus (327) eingestellt, woraufhin zu der Abrufroutine zurückgekehrt wird, die von der CPU 250 ausgeführt wird.
- Wenn im Block 319 eine Feststellung gemacht wurde, dass der Sende-Zähler nicht gleich null ist, dann zweigt die Routine in eine Sende-ein-Byte-Daten-Unterroutine (331) ab. Wie in Fig. 10B angezeigt, wird gemäß der Sende-ein-Byte-Daten-Routine eine Prüfung vorgenommen, um festzustellen, ob der Anschluss-bereit- Merker ein ist (338). Wenn der Anschluss-bereit-Merker nicht ein ist, läuft die Routine um, bis der Anschluss-bereit-Merker ein ist. Wenn der Anschluss-bereit-Merker ein ist, dann wird ein Byte Daten vom Speicher zum Anschluss gesendet (339), und die Routine zweigt im Block 331 in Fig. 10A in die Abrufroutine ab. Nachdem ein Byte Daten gesendet worden ist, wird der Sende-Zähler um einen Schritt herabgesetzt (333), und die Routine zweigt zurück zum Block 319 ab. Sobald der Sende- Zähler gleich null ist, wird in die Empfangs-Betriebsart eingetreten, wie zuvor beschrieben.
- Wenn die Prüfung im Block 325 anzeigt, dass der Empfangs-Zähler nicht gleich null ist, dann zweigt die Routine in eine Empfange-ein-Byte-Daten-Unterroutine (335) ab, die in Fig. 10C dargestellt ist. Gemäß der Empfange-ein-Byte-Daten-Routine (335) wird eine Prüfung vorgenommen, um festzustellen, ob der Anschluss-bereit-Merker ein ist (341). Wenn der Anschlussbereit-Merker nicht ein ist, dann läuft die Routine um, bis der Anschluss-bereit-Merker eingeschaltet wird. Daraufhin wird ein Byte Daten aus dem Anschluss zum Speicher gesendet, (342), und die Routine zweigt am Block 335 zur Abrufroutine (343) ab. Nachdem ein Byte Daten empfangen worden ist, wird der Empfangs- Zähler um einen Schritt herabgesetzt (337), und die Routine zweigt zurück zum Block 325 ab.
- Fig. 12 ist ein Blockdiagramm, das ausführlich darstellt, wie der 16-Bit-Adress/Daten-Bus verwendet wird, um Informationen aus einem Spielkassetten-ROM zu lesen und Informationen aus einem und in einen Spielkassetten-RAM zu lesen bzw. zu schreiben. Der Koprozessor 200 erzeugt ein Adressenspeicherfreigabe-Hochpegelsignal, das in Fig. 12 am ALEH-Steckerstift eingegeben wird. Beispielhafte Zeitsteuerungs- oder Taktsignale für das Lesen und Schreiben von Informationen sind in den Fig. 13 bzw. 14 dargestellt. Der Koprozessor 200 erzeugt entsprechend ein Adressenspeicherfreigabe-Tiefpegelsignal (in Fig. 13 dargestellt), das zum ALEL-Steckerstift geführt wird, was es wiederum ermöglicht, Informationen auf den Adresssteckerstiften 0 bis 15 in den Eingabepufferspeicher 352 zu laden. Die Bits 7 und 8 und 11 und 12 aus dem Eingabepufferspeicher 352 werden wiederum zum Adressendekodierer 356 geführt. Bei der beispielhaften Ausführungsform der vorliegenden Erfindung werden die Bits 7, 8 und 11, 12 vom Adressendekodierer dekodiert, um sicherzustellen, dass sie 4 Bits entsprechen, die für die richtige Stelle im Adressenraum für den Masken-ROM 368 bezeichnend sind. So weist der Masken-ROM 368 eine bestimmte Stelle im AD-16-Bus-Speicherabbild auf, und der Dekodierer 356 stellt sicher, dass die Masken-ROM-Adressiersignale der richtigen Masken-ROM-Stelle in diesem Speicherabbild entsprechen. Bei Erfassung einer derartigen Entsprechung gibt der Dekodierer 356 ein Signal zu einem Ein-Bit-Chip- Auswahlregister 360 aus. Wendet man sich nun Fig. 13 zu, so werden, wenn ALEH von Hochpegel auf Tiefpegel übergeht, wie in Fig. 12 dargestellt, die aus dem Eingabepufferspeicher 352 ausgegebenen Bits 0 bis 6 im 7-Bit-Adressregister 362 verriegelt. Gleichzeitig werden Daten aus dem Adressendekodierer 356 im Chip-Auswahlregister 360 verriegelt, und das Register 358 wird ebenfalls freigegeben, wie in Fig. 12 angezeigt.
- Wenn der Koprozessor 200 auf dem AD-16-Bus Adressenbits niedriger Ordnung ausgibt, werden die Adressensignale in den Eingangspufferspeicher 352 eingegeben. Die Bits werden in mehrere Richtungen geführt. Wie in Fig. 12 angezeigt, werden die Bits 1 bis 8 in einen voreinstellbaren 8-Bit-Adressenzähler 366 gesetzt, und die Bits 9 bis 15 werden zu einem 7-Bit- Adressregister 364 geführt. Zu einem von ALEL gesteuerten Zeitpunkt (in Fig. 13 dargestellt), wenn die Register 358 und 360 eingestellt sind, und die Register 362, 364 und 366 geladen sind, ist die Datenauslesung zur Initialisierung bereit. Wie in Fig. 13 angezeigt, ist für Daten, die ausgegeben werden sollen, nachdem das ALEL-Signal von Hochpegel auf Tiefpegel übergeht, die Zeit TL erforderlich. Nachdem das ALEL-Signal erzeugt worden ist, wird ein Leseimpuls RD an dem im oberen linken Teil der Fig. 12 dargestellten Steckerstift angelegt. Das Lesesignal wird in ein Verknüpfungsglied 374 eingegeben, dessen anderer Eingang mit einem Verknüpfungsglied 372 verbunden ist. Wenn die Ausgabe der Register 358, 360 und die Signale ALEL und ALEH auf einem Tiefpegel sind, dann wird die Ausgabe von 372 auf einem Tiefpegel sein. Wenn RD und die Ausgabe von 372 auf einem Tiefpegel sind, wird am Ausgang von 374 das Taktsignal erzeugt, wodurch bewirkt wird, dass der Zähler 366 getaktet wird und zu zählen beginnt und der Ausgabepufferspeicher 354 freigegeben wird. Der voreinstellbare 8-Bit-Adressenzähler bestimmt die ausgewählte Speicherzellenarrayspalte, und die Kombination der Ausgabe des Adressregisters 362 und des Adressregisters 364 legt die ausgewählte Speicherzellenzeile fest. Die Ausgabedaten werden in einem Signalspeicher 370 zwischengespeichert und dann zum Ausgabepufferspeicher 354 geführt. Danach werden die Daten über dieselben 16 AD 0- bis AD 15-Leitungen zum Koprozessor 200 zurück übertragen.
- Dank der Verwendung des multiplexierten AD 0 bis AD 15-Bus wird der Pinout der Spielkassette in vorteilhafter Weise verringert. Obwohl die Schaltungsanordnung aus Fig. 12 entwickelt wurde, um auf einen Masken-ROM zuzugreifen, ist sie ohne weiteres anpassbar, um Informationen zum Beispiel in einen statischen RAM (SRAM) zu schreiben, wobei die in Fig. 14 dargestellten Zeitsteuerungs- oder Taktsignale verwendet werden. Bei einer Ausführungsform mit statischem RAM ist die Verarbeitung der ALEH- und ALEL-Signale dieselbe, wie zuvor beschrieben, was auch für das Laden von Informationen in die Register 358, 360, 362, 364 und 366 gilt. Ein Schreiben-Signal, wie in Fig. 14 dargestellt, wird erzeugt und an Stelle des in Fig. 12 dargestellten Lesen-Signals zum Verknüpfungsglied 374 geführt. Daten werden aus dem Koprozessor 200 ausgegeben, um sie in einen statischen RAM-Speicher 368 zu schreiben. Die Daten werden in den Pufferspeicher 352 geladen. Am Ausgang des Verknüpfungsgliedes 374 wird ein Taktimpuls erzeugt, um zu bewirken, dass der voreinstellbare Adressenzähler zu zählen beginnt, um zu bewirken, dass Daten in den Speicher 368 geschrieben statt, wie zuvor beschrieben, ausgelesen werden. Die Tabellen 1 bis 3 unten zeigen die in Fig. 12 verwendeten Signale und erläutern die Zeitsteuerungs- oder Taktsymbole, die in den in den Fig. 13 und 14 dargestellten Lese- und Schreib-Zeitdiagrammen verwendet werden. Die in den Tabellen 2 und 3 angegebenen Zeiten dienen nur zu Zwecken der Veranschaulichung. TABELLE 1 SIGNAL-BESCHREIBUNG Tabelle 2 SCHREIB-Adressendomäne 1 Tabelle LESE-Adressendomäne 1 TABELLE 3 PROGRAMMIERBARE PARAMETER (ADRESSENDOMÄNE 1)
- Wie in Fig. 2 dargestellt, kann der AD 16-Bus verwendet werden, um andere Vorrichtungen als einen ROM zu adressieren. Zum Beispiel zeigt Fig. 2 einen Lese/Schreib-RAM, auf den vom Videospielsystem 50 durch den Stecker 154 zugegriffen werden kann. Nur als Beispiel kann der ROM im Speicherraum des Prozessors 100 eine Adressendomäne 1 besetzen. Gemäß der vorliegenden Erfindung kann eine Speichervorrichtung mit einer anderen Adressendomäne andere Zeitsteuerungs- oder Taktungsparameter aufweisen. In Abhängigkeit von der festgestellten Adressendomäne, z. B. 1 oder 2, führt der AD 16- Bus Signale mit unterschiedlichen Zeitsteuerungs- oder Taktungseigenschaften zum Stecker 154. Indem zum Beispiel festgestellt wird, ob auf die Adressendomäne 1 oder 2 zugegriffen wird, kann der Koprozessor 200 eine von zwei Gruppen von Zeitsteuerungs- oder Taktsignalen auswählen, um sie zum Stecker 154 und zum AD 16-Bussystem zu führen. Auf diese Weise kann ein Spielprogramm das Videospielsystem 50 konfigurieren, um Zeitsteuerungs- oder Taktsignale zu erzeugen, die für die Speichermedien maßgeschnitten sind, für welche das Spiel entwickelt worden ist. Tabelle 3 zeigt auch eine beispielhafte Gruppe von programmierbaren Parametern innerhalb eines gegebenen Adressenraums, z. B. der Adressendomäne 1. Die gleichzeitig eingereichte mitanhängige Anmeldung zeigt weitere Einzelheiten betreffend die Koprozessorregister, die bei der Programmierung des AD 16-Bus gemäß der Adressendomäne, wie oben beschrieben, beteiligt sind.
Claims (32)
1. Tragbare Speichervorrichtung (54) zur Verwendung mit und
zur Steuerung des Betriebs von einer Videospielsystemkonsole
(52), die ein Videospielprogrammausführungsverarbeitungssystem
und mindestens eine Spielersteuerung (56) aufweist, die durch
einen Spieler bedienbar ist, um Videospielsteuersignale zu
erzeugen, bei welcher
das Videospielprogrammausführungssystem einen
Spielmikroprozessor (100) einschließt, sowie einen Koprozessor
(200), der mit diesem gekoppelt ist, um im Zusammenwirken ein
Videospielprogramm auszuführen, und
die tragbare Speichervorrichtung (54) ein Speichermedium
(76) zum Speichern von Videospielanweisungen und Grafik- und
Tondaten umfasst, sowie Einrichtungen, um die aus dem
Speichermedium (76) abgerufenen Videospielanweisungen und
Grafik- und Tondaten zur Videospielsystemkonsole (52) zu
führen;
dadurch gekennzeichnet, dass
das Videospielprogrammausführungsverarbeitungssystem auch
ein Spielersteuerungsprozessoruntersystem (138) einschließt,
das mit dem Koprozessor (200) gekoppelt ist; und
die Videospielanweisungen in der tragbaren
Speichervorrichtung (54) mindestens eine
Spielersteuerungsanweisung einschließen, um zu bewirken, dass
das Spielprogrammausführungsverarbeitungssystem einen Befehl
(PCHCMD) an das Spielersteuerungsprozessoruntersystem (138)
sendet, dessen Ausführung einen Vorgang einleitet, der mit den
von Spielern erzeugten Videospielsteuersignalen im Zusammenhang
steht.
2. Tragbare Speichervorrichtung (54) nach Anspruch 1, bei
welcher der Befehl (PCHCMD) ein Mehrbyte-Lesebefehl ist.
3. Tragbare Speichervorrichtung (54) nach Anspruch 1, bei
welcher der Befehl (PCHCMD) ein Mehrbyte-Schreibbefehl ist.
4. Tragbare Speichervorrichtung (54) nach Anspruch 2, bei
welcher das Spielersteuerungsprozessoruntersystem (138) einen
Direktzugriffsspeicher (264) zum Speichern von
spielersteuerungsbezogenen Daten einschließt, und bei welcher
der Mehrbyte-Lesebefehl benutzt wird, um aus dem
Direktzugriffsspeicher (264) zu lesen.
5. Tragbare Speichervorrichtung (54) nach Anspruch 2, bei
welcher das Spielersteuerungsprozessoruntersystem (138) einen
Boot-ROM (262) einschließt, und bei welchem der Mehrbyte-
Lesebefehl benutzt wird, um aus dem Boot-ROM (262) zu lesen.
6. Tragbare Speichervorrichtung nach Anspruch 1, bei welcher
der Befehl (PCHCMD) bewirkt, dass das
Spielersteuerungsprozessoruntersystem (138) 1) zwischen dem
Spielersteuerungsprozessoruntersystem (138) und mindestens
einer Spielersteuerung (56) eine Datentransaktion einleitet,
und 2) von Spielern erzeugte Videospielsteuersignale zum
Koprozessor (200) weiterleitet.
7. Peripherieverarbeitungsuntersystem (138) zur Verwendung in
einem Videospielsystem (50), das eine tragbare
Speichervorrichtung (54) zum Speichern eines
Videospielprogramms, ein
Spielprogrammausführungsverarbeitungssystem und mindestens eine
Spielesteuerung (56) aufweist, die durch einen Spieler
bedienbar ist, um Videospielsteuersignale zu erzeugen, wobei
das Videospielprogrammausführungsverarbeitungssystem einen
Spielmikroprozessor (100) einschließt, sowie einen Koprozessor
(200), der mit diesem gekoppelt ist, um im Zusammenwirken ein
Videospielprogramm auszuführen, und
dadurch gekennzeichnet, dass
das Videospielprogrammausführungsverarbeitungssystem
betreibbar ist, um mindestens einen spielersteuerungsbezogenen
Befehl (PCHCMD) zu erzeugen, der die Ausführung eines Vorgangs
anfordert, der mit den von Spielern erzeugten
Videospielsteuersignalen im Zusammenhang steht, und wobei
das Peripherieverarbeitungsuntersystem (138) umfasst:
eine erste Schnittstellenschaltung (260), die mit dem
Koprozessor (200) gekoppelt ist und betreibbar ist, um einen
spielersteuerungsbezogenen Befehl (PCHCMD) zu empfangen und zu
verarbeiten; und
Einrichtungen zum Übertragen einer Antwort (PCHRSP) auf
den Spielersteuerungsbefehl zum Koprozessor (200).
8. Peripherieverarbeitungsuntersystem nach Anspruch 7, weiter
enthaltend einen Direktzugriffsspeicher (264) zum Speichern von
spielersteuerungsbezogenen Daten, die von der mindestens einen
Spielersteuerung (56) empfangen wurden.
9. Peripherieverarbeitungsuntersystem (138) nach Anspruch 8,
bei dem die erste Schnittstellenschaltung (260) ein
Schieberegister (282) zum Empfangen des
spielersteuerungsbezogenen Befehls (PCHCMD) und eine
Verarbeitungsschaltungsanordnung zum Dekodieren des
spielersteuerungsbezogenen Befehls (PCHCMD) einschließt, um
einen spielersteuerungsbezogenen Vorgang zu identifizieren, der
mit den Videospielsteuersignalen ausgeführt werden soll, und um
das Verhalten des spielersteuerungsbezogenen Vorgangs zu
steuern.
10. Peripherieverarbeitungsuntersystem nach Anspruch 9, bei
dem die Verarbeitungsschaltungsanordnung einen Mikroprozessor
(250) und eine Schnittstellensteuerung (284) einschließt.
11. Peripherieverarbeitungsuntersystem nach Anspruch 10, bei
dem die Schnittstellensteuerung (284) das Lesen und Schreiben
von spielersteuerungsbezogenen Daten aus dem und in den
Direktzugriffsspeicher (264) steuert.
12. Peripherieuntersystem nach einem der Ansprüche 8 bis 11,
weiter enthaltend eine zweite Schnittstelle (250, 266, 272,
278, 280) zum Empfangen von spielersteuerungsbezogenen Daten
von der mindestens einen Spielersteuerung (56) und zum Laden
dieser Daten in den Lese/Schreibspeicher (264).
13. Peripherieuntersystem nach einem der Ansprüche 9 bis 12,
weiter enthaltend einen Boot-ROM (262) zum Speichern von
Anweisungen (IPL), die ausgeführt werden sollen, bevor
Anweisungen ausgeführt werden, die in einem externen Speicher
(300) gespeichert sind, und bei dem die
Verarbeitungsschaltungsanordnung betreibbar ist, um nach dem
Dekodieren eines Befehls zum Lesen aus dem Boot-ROM (262) auf
eine Boot-ROM-Anweisung (IPL) zuzugreifen und diese Anweisung
zum Koprozessor (200) zu führen.
14. Peripherieuntersystem nach Anspruch 13, bei dem aus dem
Boot-ROM (262) auf die Boot-ROM-Anweisung (IPL) zugegriffen und
diese zum Schieberegister (282) geführt wird.
15. Peripherieuntersystem (138) nach einem der Ansprüche 9 bis
14, weiter enthaltend einen seriellen Bus, der mit dem
Schieberegister (282) gekoppelt ist, um den
spielersteuerungsbezogenen Befehl (PCHCMD) seriell zum
Schieberegister (282) zu liefern, einen Zeitsteuerungsbus, der
mit dem Schieberegister (282) gekoppelt ist, um
Zeitsteuerungssignale (PCHCLK) bereitzustellen, um den
spielersteuerungsbezogenen Befehl (PCHCMD) in das
Schieberegister (282) zu takten.
16. Peripherieverarbeitungsuntersystem (138) nach einem der
Ansprüche 9 bis 15, bei dem das Schieberegister (282) als
Serie-Parallel-Umsetzer betreibbar ist.
17. Peripherieverarbeitungsuntersystem (138) nach Anspruch 9,
weiter enthaltend einen Boot-ROM (262) zum Speichern von
Anweisungen (IPL), die ausgeführt werden sollen, bevor
Anweisungen ausgeführt werden, die in einem externen Speicher
(300) gespeichert sind, sowie Einrichtungen zum Zugreifen auf
Informationen aus einem von dem Direktzugriffsspeicher (264)
und dem Boot-ROM (262) ansprechend auf die Dekodierung des
spielersteuerungsbezogenen Befehls (PCHCMD).
18. Peripherieverarbeitungsuntersystem (138) nach Anspruch 17,
weiter enthaltend eine
Spielersteuerungseingabeschnittstellensteuerung (284) zum
Empfangen von Spielersteuerungsdaten aus den Spielersteuerungen
(56) und zum Übertragen der Spielersteuerungsdaten zum
Direktzugriffsspeicher (264).
19. Peripherieverarbeitungsuntersystem (138) nach Anspruch 18,
weiter enthaltend mindestens ein Register (292), eine mit dem
Register (292) gekoppelte Pufferspeichervorrichtung (312) und
einen mit der Pufferspeichervorrichtung (312) gekoppelten
Serie-Parallel-Umsetzer (314).
20. Peripherieverarbeitungsuntersystem (138) nach Anspruch 9,
bei dem die Verarbeitungsschaltungsanordnung auf einen
vorbestimmten spielersteuerungsbezogenen Befehl (PCHCMD)
anspricht, 1) um Daten aus einer Spielersteuerung abzurufen und
solche Spielersteuerungsdaten in den Direktzugriffsspeicher
(264) zu laden, und 2) um aus dem Direktzugriffsspeicher (264)
abgerufene Daten zu lesen und die abgerufenen Daten zur
Übertragung zum Koprozessor (200) zur ersten
Schnittstellenschaltung (260) weiterzuleiten.
21. Peripherieverarbeitungsuntersystem (138) nach Anspruch 20,
weiter enthaltend eine zweite Schnittstellenschaltung (250,
266, 272, 278, 280), um von der Spielersteuerung empfangene
Spielersteuerungsdaten zwischenzuspeichern und um die
zwischengespeicherten Daten unter der Steuerung der
Verarbeitungsschaltungsanordnung zum Direktzugriffsspeicher
(264) zu führen.
22. Peripherieverarbeitungsuntersystem (138) nach einem der
Ansprüche 7 bis 21, weiter enthaltend eine Speichervorrichtung
(252) zum Speichern einer ersten Gruppe von Anweisungen zum
Steuern des Verhaltens des Vorgangs, der mit den durch den
spielersteuerungsbezogenen Befehl (PCHCMD) identifizierten
Videospielsteuersignalen im Zusammenhang steht, und eine zweite
Gruppe von Anweisungen zur Authentifizierung des externen
Speichers (54); sowie einen Mikroprozessor (250) zum Ausführen
der ersten und zweiten Gruppe von Anweisungen.
23. Videospielsystem (50), umfassend:
eine tragbare Speichervorrichtung (54) zum Speichern eines
Videospielprogramms;
einen Spielmikroprozessor (100) zum Ausführen des
Videospielprogramms;
mindestens eine Spielersteuerung (56), die durch einen
Spieler bedienbar ist, um Videospielsteuersignale zu erzeugen;
einen Koprozessor (200), der mit dem Spielmikroprozessor
(100) gekoppelt ist, um mit dem Spielmikroprozessor (100)
zusammenzuwirken, um das Videospielprogramm auszuführen,
dadurch gekennzeichnet, dass
der Koprozessor (200) betreibbar ist, um mindestens einen
spielersteuerungsbezogenen Befehl (PCHCMD) zu übermitteln, der
das Ausführen eines Vorgangs anfordert, der mit den von der
mindestens einen Spielersteuerung (56) erzeugten
Videospielsteuersignalen im Zusammenhang steht; und
das Spielsystem (50) auch ein
Peripherieverarbeitungsuntersystem (138) umfasst, das mit dem
Koprozessor (200) gekoppelt ist und betreibbar ist, um den
spielersteuerungsbezogenen Befehl (PCHCMD) zu empfangen und den
Befehl auszuführen, um dadurch den mit den
Videospielsteuersignalen im Zusammenhang stehenden Vorgang
auszuführen.
24. Tragbare Speichervorrichtung (54) nach Anspruch 1, weiter
umfassend:
einen multiplexierten Bus, der im Gebrauch mit dem
Koprozessor (200) gekoppelt ist, um Adressensignale parallel zu
dem Speichermedium (76, 77) zu übertragen und aus dem
Speichermedium (76, 77) abgegriffene Informationen zu
empfangen;
eine Adressierlogikschaltungsanordnung (352, 356), um
Adressensignale, die aus dem Bus empfangen wurden, zu
verknüpfen, um das Speichermedien zu adressieren;
eine Ausleseschaltungsanordnung (370, 354), um aus dem
Speichermedium ausgelesene Informationen zum multiplexierten
Bus zu führen.
25. Tragbare Speichervorrichtung (54) nach Anspruch 24, bei
welcher die über den multiplexierten Bus übertragenen Signale
eine Mehrzahl von Zeitsteuerungsparametern (t) aufweisen und
mindestens einige der Parameter programmierbar sind.
26. Tragbare Speichervorrichtung (54) nach Anspruch 24, bei
welcher das Speichermedium (76, 77) eine erste Adressendomäne
im Adressenraum des Spielmikroprozessors besetzt, und bei
welcher die über den multiplexierten Bus übertragenen Signale
eine Mehrzahl von Zeitsteuerungsparametern (t) aufweisen und
mindestens einige der Zeitsteuerungsparameter basierend darauf,
dass das Medium in der ersten Adressendomäne statt in einer
zweiten Adressendomäne angeordnet ist, programmierbar sind.
27. Tragbare Speichervorrichtung nach einem der Ansprüche 24
bis 26, bei welcher der multiplexierte Bus weiter mindestens
eine Adressenspeicherfreigabesteuerleitung einschließt.
28. Tragbare Speichervorrichtung nach Anspruch 27, weiter
enthaltend mindestens ein Register (352), um ansprechend auf
ein Steuersignal, das über die mindestens eine
Adressenspeicherfreigabesteuerleitung übertragen wird,
Adresseninformationen zu empfangen, die über den
multiplexierten Bus übertragen werden.
29. Tragbare Speichervorrichtung (54) nach Anspruch 24, bei
welcher die Videospielkonsole (52) einen Video-Digital-Analog-
Umsetzer (144) einschließt, der ein zusammengesetztes
Synchronisationssignal erzeugt, und bei welcher die tragbare
Speichervorrichtung (54) einen Eingabeanschluss zum Empfangen
des zusammengesetzten Synchronisationssignals einschließt.
30. Tragbare Speichervorrichtung (54) nach Anspruch 24, bei
welcher die tragbare Speichervorrichtung (54) mindestens einen
unterbrechungsbezogenen Anschluss einschließt.
31. Tragbare Speichervorrichtung (54) nach Anspruch 24, bei
welcher die tragbare Speichervorrichtung (54) weiter
einschließt:
eine Dekodierschaltung (356) zum Empfangen einer
vorbestimmten Gruppe der Adressensignale und zum Erzeugen eines
speichermediumauslesungsfreigabebezogenen Signals, wenn
festgestellt wird, dass sich das Speichermedium in einem
vorbestimmten Teil des Adressenraums des Spielmikroprozessors
befindet, und bei dem
die Ausleseschaltungsanordnung (354, 370) auf das
speichermediumfreigabebezogene Signal anspricht, um dadurch
Informationen aus einem durch die Adressensignale
identifizierten Speichermediumort auszulesen, um sie zum Bus zu
führen.
32. Tragbare Speichervorrichtung (54) nach Anspruch 24, bei
welcher die tragbare Speichervorrichtung (54) weiter einen
Speichermediumauthentifizierungsprozessor (152) einschließt, um
Informationen zu der Videospielsystemkonsole zu übertragen und
aus dieser zu empfangen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/562,288 US6022274A (en) | 1995-11-22 | 1995-11-22 | Video game system using memory module |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69623242D1 DE69623242D1 (de) | 2002-10-02 |
DE69623242T2 true DE69623242T2 (de) | 2002-12-19 |
Family
ID=24245638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69623242T Expired - Lifetime DE69623242T2 (de) | 1995-11-22 | 1996-11-21 | Untersystem zur Peripheriesteuerung für Videospielsystem |
Country Status (8)
Country | Link |
---|---|
US (2) | US6022274A (de) |
EP (1) | EP0780771B1 (de) |
JP (1) | JPH1015244A (de) |
CN (1) | CN1103617C (de) |
AU (1) | AU722079B2 (de) |
CA (1) | CA2190933A1 (de) |
DE (1) | DE69623242T2 (de) |
TW (1) | TW332882B (de) |
Families Citing this family (194)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69625523T2 (de) | 1995-05-10 | 2003-07-10 | Nintendo Co Ltd | Steuergerät mit analogem Joystick |
US6241611B1 (en) | 1995-05-10 | 2001-06-05 | Nintendo Co., Ltd. | Function expansion device and operating device using the function expansion device |
MX9704155A (es) | 1995-10-09 | 1997-09-30 | Nintendo Co Ltd | Sistema procesador de imagenes tridimensionales. |
JP3524247B2 (ja) | 1995-10-09 | 2004-05-10 | 任天堂株式会社 | ゲーム機およびそれを用いたゲーム機システム |
JP3544268B2 (ja) | 1995-10-09 | 2004-07-21 | 任天堂株式会社 | 三次元画像処理装置およびそれを用いた画像処理方法 |
US6007428A (en) | 1995-10-09 | 1999-12-28 | Nintendo Co., Ltd. | Operation controlling device and video processing system used therewith |
CN1109960C (zh) | 1995-11-10 | 2003-05-28 | 任天堂株式会社 | 万向操作杆装置 |
US6155926A (en) | 1995-11-22 | 2000-12-05 | Nintendo Co., Ltd. | Video game system and method with enhanced three-dimensional character and background control |
US6190257B1 (en) * | 1995-11-22 | 2001-02-20 | Nintendo Co., Ltd. | Systems and method for providing security in a video game system |
US6267673B1 (en) | 1996-09-20 | 2001-07-31 | Nintendo Co., Ltd. | Video game system with state of next world dependent upon manner of entry from previous world via a portal |
US6022274A (en) | 1995-11-22 | 2000-02-08 | Nintendo Co., Ltd. | Video game system using memory module |
US6139433A (en) | 1995-11-22 | 2000-10-31 | Nintendo Co., Ltd. | Video game system and method with enhanced three-dimensional character and background control due to environmental conditions |
EP0835676B1 (de) * | 1996-03-05 | 2004-10-13 | Sega Enterprises, Ltd. | Kontroller und erweiterungseinheit dafür |
EP2096600A3 (de) * | 1996-06-05 | 2009-12-09 | Sega Enterprises, Ltd | Grafikverarbeitungsvorrichtung, Grafikverarbeitungsverfahren, Spielmaschine und Speichermedium |
US6139434A (en) | 1996-09-24 | 2000-10-31 | Nintendo Co., Ltd. | Three-dimensional image processing apparatus with enhanced automatic and user point of view control |
JP3793313B2 (ja) * | 1997-02-18 | 2006-07-05 | 株式会社メガチップス | ゲームカセット装置 |
US6354947B1 (en) * | 1997-03-12 | 2002-03-12 | U.S. Philips Corporation | Multimedia method and system for interaction between a screen-based host and various distributed and free-styled information containing items, and an information containing item for use with such system |
US6786420B1 (en) | 1997-07-15 | 2004-09-07 | Silverbrook Research Pty. Ltd. | Data distribution mechanism in the form of ink dots on cards |
JPH11188180A (ja) | 1997-04-07 | 1999-07-13 | Snk:Kk | ゲームシステム |
US6618117B2 (en) | 1997-07-12 | 2003-09-09 | Silverbrook Research Pty Ltd | Image sensing apparatus including a microcontroller |
US6879341B1 (en) | 1997-07-15 | 2005-04-12 | Silverbrook Research Pty Ltd | Digital camera system containing a VLIW vector processor |
US6948794B2 (en) | 1997-07-15 | 2005-09-27 | Silverbrook Reserach Pty Ltd | Printhead re-capping assembly for a print and demand digital camera system |
US6624848B1 (en) | 1997-07-15 | 2003-09-23 | Silverbrook Research Pty Ltd | Cascading image modification using multiple digital cameras incorporating image processing |
US7110024B1 (en) | 1997-07-15 | 2006-09-19 | Silverbrook Research Pty Ltd | Digital camera system having motion deblurring means |
US6690419B1 (en) | 1997-07-15 | 2004-02-10 | Silverbrook Research Pty Ltd | Utilising eye detection methods for image processing in a digital image camera |
JP3655438B2 (ja) | 1997-07-17 | 2005-06-02 | 任天堂株式会社 | ビデオゲームシステム |
CA2268180C (en) * | 1997-08-08 | 2008-01-22 | Sega Enterprises, Ltd. | Memory device, controller and electronic device |
US20020075308A1 (en) * | 1997-11-12 | 2002-06-20 | Divelbiss Adam W. | Multi-purpose interactive application execution system |
JPH11207034A (ja) * | 1997-11-20 | 1999-08-03 | Nintendo Co Ltd | 異なる種類のゲーム機間でバックアップデータを利用して プレイ可能なゲームシステム |
US6464585B1 (en) * | 1997-11-20 | 2002-10-15 | Nintendo Co., Ltd. | Sound generating device and video game device using the same |
JPH11155150A (ja) | 1997-11-20 | 1999-06-08 | Nintendo Co Ltd | 映像信号ディジタル処理装置、映像信号ディジタル処理のための情報記憶媒体、および映像信号ディジタル処理方法 |
US6878066B2 (en) * | 1998-02-13 | 2005-04-12 | Freedom Wave Llc | Wireless game control units |
CA2248745C (en) * | 1998-02-13 | 2005-08-23 | Arista Interactive Llc | Wireless game control units |
JPH11239670A (ja) * | 1998-02-25 | 1999-09-07 | Sony Corp | 携帯用電子機器 |
US6599194B1 (en) * | 1998-09-08 | 2003-07-29 | Darren Smith | Home video game system with hard disk drive and internet access capability |
AUPP702098A0 (en) | 1998-11-09 | 1998-12-03 | Silverbrook Research Pty Ltd | Image creation method and apparatus (ART73) |
JP4054141B2 (ja) * | 1998-10-08 | 2008-02-27 | 株式会社ソニー・コンピュータエンタテインメント | 携帯型情報端末及び記録媒体 |
US7118481B2 (en) * | 1998-11-09 | 2006-10-10 | Silverbrook Research Pty Ltd | Video gaming with integral printer device |
US6712703B2 (en) * | 1998-11-19 | 2004-03-30 | Nintendo Co., Ltd. | Video game apparatus and information storage medium for video game |
US6692357B2 (en) | 1998-11-19 | 2004-02-17 | Nintendo Co., Ltd. | Video game apparatus and method with enhanced player object action control |
US6612930B2 (en) | 1998-11-19 | 2003-09-02 | Nintendo Co., Ltd. | Video game apparatus and method with enhanced virtual camera control |
US7749089B1 (en) | 1999-02-26 | 2010-07-06 | Creative Kingdoms, Llc | Multi-media interactive play system |
US20060287030A1 (en) * | 1999-02-26 | 2006-12-21 | Briggs Rick A | Systems and methods for interactive game play |
US6468160B2 (en) | 1999-04-08 | 2002-10-22 | Nintendo Of America, Inc. | Security system for video game system with hard disk drive and internet access capability |
JP2000333377A (ja) * | 1999-05-21 | 2000-11-30 | Sony Computer Entertainment Inc | エンタテインメントシステムおよび充電システム |
AUPQ056099A0 (en) | 1999-05-25 | 1999-06-17 | Silverbrook Research Pty Ltd | A method and apparatus (pprint01) |
TW436685B (en) * | 1999-06-14 | 2001-05-28 | Via Tech Inc | Computer system for accessing initialization dada and its method |
US7325125B2 (en) * | 1999-06-14 | 2008-01-29 | Via Technologies, Inc. | Computer system for accessing initialization data and method therefor |
JP4372289B2 (ja) | 1999-08-26 | 2009-11-25 | 任天堂株式会社 | ゲーム装置およびその記憶媒体 |
JP4372290B2 (ja) | 1999-08-26 | 2009-11-25 | 任天堂株式会社 | ゲーム機及びコンピュータ読み取り可能な情報記憶媒体 |
JP4283397B2 (ja) | 1999-08-26 | 2009-06-24 | 任天堂株式会社 | 通信ゲームシステム、ゲーム機及び情報記憶媒体 |
JP2001129255A (ja) | 1999-08-26 | 2001-05-15 | Nintendo Co Ltd | ゲーム装置およびその記憶媒体 |
DE20080209U1 (de) * | 1999-09-28 | 2001-08-09 | Immersion Corp | Steuerung von haptischen Empfindungen für Schnittstellenvorrichtungen mit Vibrotaktiler Rückkopplung |
JP3847058B2 (ja) * | 1999-10-04 | 2006-11-15 | 任天堂株式会社 | ゲームシステム及びそれに用いられるゲーム情報記憶媒体 |
US7819750B2 (en) | 1999-10-06 | 2010-10-26 | Igt | USB software architecture in a gaming machine |
US7704147B2 (en) | 1999-10-06 | 2010-04-27 | Igt | Download procedures for peripheral devices |
US6251014B1 (en) * | 1999-10-06 | 2001-06-26 | International Game Technology | Standard peripheral communication |
US7290072B2 (en) | 1999-10-06 | 2007-10-30 | Igt | Protocols and standards for USB peripheral communications |
US6899627B2 (en) | 1999-10-06 | 2005-05-31 | Igt | USB device protocol for a gaming machine |
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 |
US6825832B2 (en) * | 1999-11-30 | 2004-11-30 | Vercel Development, Inc. | Hand held internet browser with folding keyboard |
US7878905B2 (en) | 2000-02-22 | 2011-02-01 | Creative Kingdoms, Llc | Multi-layered interactive play experience |
US7445550B2 (en) * | 2000-02-22 | 2008-11-04 | Creative Kingdoms, Llc | Magical wand and interactive play experience |
US6761637B2 (en) | 2000-02-22 | 2004-07-13 | Creative Kingdoms, Llc | Method of game play using RFID tracking device |
US6383080B1 (en) * | 2000-05-09 | 2002-05-07 | Nintendo Co., Ltd. | Kiosk for printing and communicating video game images |
AU772424B2 (en) * | 2000-05-24 | 2004-04-29 | Nintendo Co., Ltd. | Information processing device and storage device used therefor |
US7076445B1 (en) * | 2000-06-20 | 2006-07-11 | Cartwright Shawn D | System and methods for obtaining advantages and transacting the same in a computer gaming environment |
JP2002058874A (ja) * | 2000-08-15 | 2002-02-26 | Mitsumi Electric Co Ltd | コントロールアダプタ装置 |
US7576748B2 (en) * | 2000-11-28 | 2009-08-18 | Nintendo Co. Ltd. | Graphics system with embedded frame butter having reconfigurable pixel formats |
US6609977B1 (en) | 2000-08-23 | 2003-08-26 | Nintendo Co., Ltd. | External interfaces for a 3D graphics system |
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 |
US6811489B1 (en) | 2000-08-23 | 2004-11-02 | Nintendo Co., Ltd. | Controller interface for a graphics system |
US6937245B1 (en) * | 2000-08-23 | 2005-08-30 | Nintendo Co., Ltd. | Graphics system with embedded frame buffer having reconfigurable pixel formats |
US7134960B1 (en) | 2000-08-23 | 2006-11-14 | Nintendo Co., Ltd. | External interfaces for a 3D graphics system |
US6707458B1 (en) | 2000-08-23 | 2004-03-16 | Nintendo Co., Ltd. | Method and apparatus for texture tiling in a graphics system |
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 |
US6700586B1 (en) | 2000-08-23 | 2004-03-02 | Nintendo Co., Ltd. | Low cost graphics with stitching processing hardware support for skeletal animation |
US7196710B1 (en) * | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
US7538772B1 (en) * | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
US7066781B2 (en) | 2000-10-20 | 2006-06-27 | Denise Chapman Weston | Children's toy with wireless tag/transponder |
AU2002225854A1 (en) * | 2000-10-30 | 2002-05-15 | Mvmax Llc | Methods and apparatus for presenting interactive entertainment |
US20020128067A1 (en) * | 2001-03-09 | 2002-09-12 | Victor Keith Blanco | Method and apparatus for creating and playing soundtracks in a gaming system |
US20020137565A1 (en) * | 2001-03-09 | 2002-09-26 | Blanco Victor K. | Uniform media portal for a gaming system |
US20020128068A1 (en) * | 2001-03-09 | 2002-09-12 | Randall Whitten Jon Marcus | Method and apparatus for managing data in a gaming system |
US7218739B2 (en) * | 2001-03-09 | 2007-05-15 | Microsoft Corporation | Multiple user authentication for online console-based gaming |
US6966837B1 (en) | 2001-05-10 | 2005-11-22 | Best Robert M | Linked portable and video game systems |
JP2003000951A (ja) * | 2001-06-22 | 2003-01-07 | Konami Computer Entertainment Osaka:Kk | ゲーム進行プログラム、ゲーム進行方法及びビデオゲーム装置 |
US9457281B1 (en) * | 2001-09-22 | 2016-10-04 | Peter Ar-Fu Lam | Electronics toy play set |
US8708828B2 (en) * | 2001-09-28 | 2014-04-29 | Igt | Pluggable modular gaming modifiers and configuration templates for gaming environments |
US6902481B2 (en) * | 2001-09-28 | 2005-06-07 | Igt | Decoupling of the graphical presentation of a game from the presentation logic |
US7931533B2 (en) | 2001-09-28 | 2011-04-26 | Igt | Game development architecture that decouples the game logic from the graphics logics |
US7428638B1 (en) | 2001-11-13 | 2008-09-23 | Microsoft Corporation | Architecture for manufacturing authenticatable gaming systems |
US7203835B2 (en) | 2001-11-13 | 2007-04-10 | Microsoft Corporation | Architecture for manufacturing authenticatable gaming systems |
US7849301B2 (en) * | 2001-12-12 | 2010-12-07 | Intel Corporation | Providing a user input interface prior to initiation of an operating system |
US20070066396A1 (en) | 2002-04-05 | 2007-03-22 | Denise Chapman Weston | Retail methods for providing an interactive product to a consumer |
US6967566B2 (en) | 2002-04-05 | 2005-11-22 | Creative Kingdoms, Llc | Live-action interactive adventure game |
US7350081B1 (en) | 2002-04-29 | 2008-03-25 | Best Robert M | Secure execution of downloaded software |
US8797260B2 (en) * | 2002-07-27 | 2014-08-05 | Sony Computer Entertainment Inc. | Inertially trackable hand-held controller |
US8947347B2 (en) * | 2003-08-27 | 2015-02-03 | Sony Computer Entertainment Inc. | Controlling actions in a video game unit |
US8686939B2 (en) * | 2002-07-27 | 2014-04-01 | Sony Computer Entertainment Inc. | System, method, and apparatus for three-dimensional input control |
US7918733B2 (en) * | 2002-07-27 | 2011-04-05 | Sony Computer Entertainment America Inc. | Multi-input game control mixer |
US8313380B2 (en) * | 2002-07-27 | 2012-11-20 | Sony Computer Entertainment America Llc | Scheme for translating movements of a hand-held controller into inputs for a system |
US8139793B2 (en) * | 2003-08-27 | 2012-03-20 | Sony Computer Entertainment Inc. | Methods and apparatus for capturing audio signals based on a visual image |
US7391409B2 (en) * | 2002-07-27 | 2008-06-24 | Sony Computer Entertainment America Inc. | Method and system for applying gearing effects to multi-channel mixed input |
US7854655B2 (en) * | 2002-07-27 | 2010-12-21 | Sony Computer Entertainment America Inc. | Obtaining input for controlling execution of a game program |
US7352359B2 (en) * | 2002-07-27 | 2008-04-01 | Sony Computer Entertainment America Inc. | Method and system for applying gearing effects to inertial tracking |
US10086282B2 (en) * | 2002-07-27 | 2018-10-02 | Sony Interactive Entertainment Inc. | Tracking device for use in obtaining information for controlling game program execution |
US7803050B2 (en) * | 2002-07-27 | 2010-09-28 | Sony Computer Entertainment Inc. | Tracking device with sound emitter for use in obtaining information for controlling game program execution |
US9393487B2 (en) | 2002-07-27 | 2016-07-19 | Sony Interactive Entertainment Inc. | Method for mapping movements of a hand-held controller to game commands |
US8233642B2 (en) * | 2003-08-27 | 2012-07-31 | Sony Computer Entertainment Inc. | Methods and apparatuses for capturing an audio signal based on a location of the signal |
US9474968B2 (en) | 2002-07-27 | 2016-10-25 | Sony Interactive Entertainment America Llc | Method and system for applying gearing effects to visual tracking |
US8160269B2 (en) * | 2003-08-27 | 2012-04-17 | Sony Computer Entertainment Inc. | Methods and apparatuses for adjusting a listening area for capturing sounds |
US8570378B2 (en) | 2002-07-27 | 2013-10-29 | Sony Computer Entertainment Inc. | Method and apparatus for tracking three-dimensional movements of an object using a depth sensing camera |
US9174119B2 (en) | 2002-07-27 | 2015-11-03 | Sony Computer Entertainement America, LLC | Controller for providing inputs to control execution of a program when inputs are combined |
US7850526B2 (en) * | 2002-07-27 | 2010-12-14 | Sony Computer Entertainment America Inc. | System for tracking user manipulations within an environment |
US7674184B2 (en) * | 2002-08-01 | 2010-03-09 | Creative Kingdoms, Llc | Interactive water attraction and quest game |
US7878908B2 (en) * | 2002-11-14 | 2011-02-01 | Nintendo Co., Ltd. | Multiplexed secure video game play distribution |
US7083420B2 (en) * | 2003-02-10 | 2006-08-01 | Leapfrog Enterprises, Inc. | Interactive handheld apparatus with stylus |
US9446319B2 (en) | 2003-03-25 | 2016-09-20 | Mq Gaming, Llc | Interactive gaming toy |
JP4350408B2 (ja) * | 2003-04-10 | 2009-10-21 | キヤノン株式会社 | 記録ヘッド用基板、記録ヘッド、及び記録装置 |
JP3808054B2 (ja) * | 2003-05-12 | 2006-08-09 | 任天堂株式会社 | ゲーム装置およびゲームプログラム |
US7874917B2 (en) * | 2003-09-15 | 2011-01-25 | Sony Computer Entertainment Inc. | Methods and systems for enabling depth and direction detection when interfacing with a computer program |
US7249950B2 (en) | 2003-10-10 | 2007-07-31 | Leapfrog Enterprises, Inc. | Display apparatus for teaching writing |
US20050174337A1 (en) * | 2004-02-11 | 2005-08-11 | Nielsen Paul S. | Electronic handheld drawing and gaming system using television monitor |
US20070060358A1 (en) | 2005-08-10 | 2007-03-15 | Amaitis Lee M | System and method for wireless gaming with location determination |
US7534169B2 (en) | 2005-07-08 | 2009-05-19 | Cfph, Llc | System and method for wireless gaming system with user profiles |
US8616967B2 (en) | 2004-02-25 | 2013-12-31 | Cfph, Llc | System and method for convenience gaming |
US7637810B2 (en) | 2005-08-09 | 2009-12-29 | Cfph, Llc | System and method for wireless gaming system with alerts |
US8092303B2 (en) | 2004-02-25 | 2012-01-10 | Cfph, Llc | System and method for convenience gaming |
US20060084504A1 (en) * | 2004-04-30 | 2006-04-20 | Chan Andy K | Wireless communication systems |
US8941668B2 (en) | 2004-06-25 | 2015-01-27 | Nvidia Corporation | Method and system for a scalable discrete graphics system |
US8446417B2 (en) * | 2004-06-25 | 2013-05-21 | Nvidia Corporation | Discrete graphics system unit for housing a GPU |
US8411093B2 (en) | 2004-06-25 | 2013-04-02 | Nvidia Corporation | Method and system for stand alone graphics independent of computer system form factor |
US20060044947A1 (en) * | 2004-08-16 | 2006-03-02 | Chung-Wu Chia | Headrest type media player device |
US20060095475A1 (en) * | 2004-10-29 | 2006-05-04 | Microsoft Corporation | Defining and exposing storage devices generically to end users and developers through abstracted storage |
GB0427973D0 (en) | 2004-12-21 | 2005-01-26 | Falanx Microsystems As | Microprocessor systems |
US20060148564A1 (en) * | 2005-01-06 | 2006-07-06 | Bfg Technologies, Inc. | Game control system |
US7736234B2 (en) * | 2005-03-09 | 2010-06-15 | Igt | MRAM as critical event storage for powered down gaming machines |
US7722468B2 (en) * | 2005-03-09 | 2010-05-25 | Igt | Magnetoresistive memory units as read only memory devices in gaming machines |
US20060205513A1 (en) * | 2005-03-09 | 2006-09-14 | Igt | MRAM as nonvolatile safe storage for power hit and ESD tolerance in gaming machines |
US20060287089A1 (en) * | 2005-05-13 | 2006-12-21 | Addington David R | System and method for interfacing a simulation device with a gaming device |
US20060258458A1 (en) * | 2005-05-13 | 2006-11-16 | Addington David R | System and method for interfacing a simulation device with a gaming device |
US10510214B2 (en) | 2005-07-08 | 2019-12-17 | Cfph, Llc | System and method for peer-to-peer wireless gaming |
US8070604B2 (en) | 2005-08-09 | 2011-12-06 | Cfph, Llc | System and method for providing wireless gaming as a service application |
US8313379B2 (en) | 2005-08-22 | 2012-11-20 | Nintendo Co., Ltd. | Video game system with wireless modular handheld controller |
JP2007054120A (ja) * | 2005-08-22 | 2007-03-08 | Okumura Yu-Ki Co Ltd | 遊技機 |
JP4805633B2 (ja) | 2005-08-22 | 2011-11-02 | 任天堂株式会社 | ゲーム用操作装置 |
US7942745B2 (en) | 2005-08-22 | 2011-05-17 | Nintendo Co., Ltd. | Game operating device |
US7927216B2 (en) | 2005-09-15 | 2011-04-19 | Nintendo Co., Ltd. | Video game system with wireless modular handheld controller |
JP4262726B2 (ja) | 2005-08-24 | 2009-05-13 | 任天堂株式会社 | ゲームコントローラおよびゲームシステム |
US8308563B2 (en) | 2005-08-30 | 2012-11-13 | Nintendo Co., Ltd. | Game system and storage medium having game program stored thereon |
US8157651B2 (en) | 2005-09-12 | 2012-04-17 | Nintendo Co., Ltd. | Information processing program |
US20070213884A1 (en) * | 2006-03-08 | 2007-09-13 | Visteon Global Technologies, Inc. | Method of implementing PC game auto-play in vehicle applications |
JP4151982B2 (ja) | 2006-03-10 | 2008-09-17 | 任天堂株式会社 | 動き判別装置および動き判別プログラム |
US7644861B2 (en) | 2006-04-18 | 2010-01-12 | Bgc Partners, Inc. | Systems and methods for providing access to wireless gaming devices |
US7549576B2 (en) | 2006-05-05 | 2009-06-23 | Cfph, L.L.C. | Systems and methods for providing access to wireless gaming devices |
CN102989174B (zh) * | 2006-05-04 | 2016-06-29 | 美国索尼电脑娱乐公司 | 获得用于控制游戏程序的运行的输入 |
US20070265075A1 (en) * | 2006-05-10 | 2007-11-15 | Sony Computer Entertainment America Inc. | Attachable structure for use with hand-held controller having tracking ability |
US8939359B2 (en) | 2006-05-05 | 2015-01-27 | Cfph, Llc | Game access device with time varying signal |
US20110014981A1 (en) * | 2006-05-08 | 2011-01-20 | Sony Computer Entertainment Inc. | Tracking device with sound emitter for use in obtaining information for controlling game program execution |
JP4989105B2 (ja) | 2006-05-09 | 2012-08-01 | 任天堂株式会社 | ゲームコントローラ |
USRE48417E1 (en) | 2006-09-28 | 2021-02-02 | Sony Interactive Entertainment Inc. | Object direction using video input combined with tilt angle information |
US8310656B2 (en) * | 2006-09-28 | 2012-11-13 | Sony Computer Entertainment America Llc | Mapping movements of a hand-held controller to the two-dimensional image plane of a display screen |
US8781151B2 (en) | 2006-09-28 | 2014-07-15 | Sony Computer Entertainment Inc. | Object detection using video input combined with tilt angle information |
US9306952B2 (en) | 2006-10-26 | 2016-04-05 | Cfph, Llc | System and method for wireless gaming with location determination |
US8292741B2 (en) | 2006-10-26 | 2012-10-23 | Cfph, Llc | Apparatus, processes and articles for facilitating mobile gaming |
US8510567B2 (en) | 2006-11-14 | 2013-08-13 | Cfph, Llc | Conditional biometric access in a gaming environment |
US9411944B2 (en) | 2006-11-15 | 2016-08-09 | Cfph, Llc | Biometric access sensitivity |
US8645709B2 (en) * | 2006-11-14 | 2014-02-04 | Cfph, Llc | Biometric access data encryption |
US8581721B2 (en) * | 2007-03-08 | 2013-11-12 | Cfph, Llc | Game access device with privileges |
US9183693B2 (en) | 2007-03-08 | 2015-11-10 | Cfph, Llc | Game access device |
US8319601B2 (en) | 2007-03-14 | 2012-11-27 | Cfph, Llc | Game account access device |
US20090138638A1 (en) | 2007-11-27 | 2009-05-28 | Microsoft Corporation | Serial Peripheral Interface for a Transceiver Integrated Circuit |
US20100004058A1 (en) * | 2008-07-03 | 2010-01-07 | Acres-Fiore | Shared bonus on gaming device |
US8192267B2 (en) * | 2008-07-03 | 2012-06-05 | Patent Investment & Licensing Company | Shared game play on gaming device |
US20100004053A1 (en) * | 2008-07-03 | 2010-01-07 | Acres-Fiore, Inc. | Method and apparatus for facilitating wagering by multiple players of gaming machines |
US9530283B2 (en) | 2008-07-03 | 2016-12-27 | Patent Investment & Licensing Company | Method for sharing game play on an electronic gaming device |
US20100004054A1 (en) * | 2008-07-03 | 2010-01-07 | Acres-Fiore, Inc. | Method of allocating credits for gaming devices |
US8619080B2 (en) * | 2008-09-08 | 2013-12-31 | Disney Enterprises, Inc. | Physically present game camera |
CN101964835B (zh) * | 2009-07-23 | 2013-12-18 | 纬创资通股份有限公司 | 具有扩展功能的电子系统及其相关方法 |
US8475254B2 (en) | 2009-12-28 | 2013-07-02 | Patent Investment & Licensing Company | Linked game play on gaming devices |
US8974302B2 (en) | 2010-08-13 | 2015-03-10 | Cfph, Llc | Multi-process communication regarding gaming information |
US8956231B2 (en) | 2010-08-13 | 2015-02-17 | Cfph, Llc | Multi-process communication regarding gaming information |
TWI462569B (zh) * | 2011-04-22 | 2014-11-21 | Mstar Semiconductor Inc | 三維影像攝相機及其相關控制方法 |
FR3026207B1 (fr) * | 2014-09-22 | 2018-08-17 | Prove & Run | Terminal a affichage securise |
USD801434S1 (en) * | 2015-12-07 | 2017-10-31 | Bose Corporation | Control console |
AU2017210289B2 (en) | 2016-01-19 | 2021-10-21 | Magic Leap, Inc. | Augmented reality systems and methods utilizing reflections |
USD802677S1 (en) * | 2016-03-17 | 2017-11-14 | XDynamics Limited | Remote controller |
AU2017257549B2 (en) | 2016-04-26 | 2021-09-09 | Magic Leap, Inc. | Electromagnetic tracking with augmented reality systems |
US10585674B2 (en) * | 2016-08-22 | 2020-03-10 | Hewlett-Packard Development Company, L.P. | Connected devices information |
JP6867775B2 (ja) * | 2016-10-19 | 2021-05-12 | 任天堂株式会社 | カートリッジ |
USD848532S1 (en) | 2016-12-12 | 2019-05-14 | Hyperkin, Inc. | Video game console |
CN113689707B (zh) * | 2021-07-20 | 2022-09-06 | 浙江大华技术股份有限公司 | 视频数据处理方法、装置以及计算机可读存储介质 |
Family Cites Families (206)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US31200A (en) * | 1861-01-22 | I H S White | Newspaper-file | |
GB1284685A (en) | 1969-12-18 | 1972-08-09 | Square D Co | Multi-position electric switch assembly |
US3729129A (en) * | 1971-06-22 | 1973-04-24 | Nasa | Numerical computer peripheral interactive device with manual controls |
US3827313A (en) | 1973-01-24 | 1974-08-06 | Square D Co | Miniaturized joystick and cam structure with push button switch operating means |
USRE31200F1 (en) | 1976-01-19 | 1990-05-29 | Raster scan display apparatus for dynamically viewing image elements stored in a random access memory array | |
US4161726A (en) * | 1977-04-06 | 1979-07-17 | Texas Instruments Incorporated | Digital joystick control |
US4148014A (en) | 1977-04-06 | 1979-04-03 | Texas Instruments Incorporated | System with joystick to control velocity vector of a display cursor |
US4281833A (en) * | 1978-03-20 | 1981-08-04 | Sound Games, Inc. | Audio racquet ball |
US4359222A (en) | 1978-10-30 | 1982-11-16 | Smith Engineering | Hand-held electronic game playing device with replaceable cartridges |
US4315113A (en) | 1980-01-18 | 1982-02-09 | Harman International Industries, Inc. | Actuator switch for remote control rearview mirrors |
US4467412A (en) | 1981-05-18 | 1984-08-21 | Atari, Inc. | Slave processor with clock controlled by internal ROM & master processor |
US4469330A (en) | 1982-01-07 | 1984-09-04 | Atari, Inc. | Controller unit for video game |
DE3204428A1 (de) | 1982-02-09 | 1983-08-18 | Siemens Ag | Steueranordnung zum verschieben von auf dem bildschirm eines sichtgeraetes dargestellten zeichen |
JPS59188A (ja) | 1982-06-24 | 1984-01-05 | シャープ株式会社 | 携帯型汎用電子装置 |
US4685678A (en) * | 1982-08-13 | 1987-08-11 | Bally Manufacturing Corporation | Position transducer system for a joystick |
US4462594A (en) | 1982-09-29 | 1984-07-31 | Coleco, Industries, Inc. | Video game with control of rate of movement of game objects |
JPS5968072A (ja) | 1982-10-13 | 1984-04-17 | Sharp Corp | 機能変換用小形電子機器 |
GB2133257B (en) | 1982-12-22 | 1987-07-29 | Ricoh Kk | T v game system |
US4538035A (en) | 1983-02-11 | 1985-08-27 | Pool Danny J | Joystick occlusion gate control for video games |
US4485457A (en) | 1983-05-31 | 1984-11-27 | Cbs Inc. | Memory system including RAM and page switchable ROM |
US4799677A (en) | 1983-09-02 | 1989-01-24 | Bally Manufacturing Corporation | Video game having video disk read only memory |
US4587510A (en) | 1983-10-19 | 1986-05-06 | Wico Corporation | Analog joystick controller |
US4575591A (en) | 1984-04-23 | 1986-03-11 | Lugaresi Thomas J | Joystick attachment for a computer keyboard |
US4789932A (en) | 1984-09-21 | 1988-12-06 | Austin T. Musselman | Apparatus and method for automatically scoring a dart game |
US4620176A (en) | 1984-09-25 | 1986-10-28 | Hayes Charles L | Control stick mechanism |
FR2573552B1 (fr) | 1984-10-25 | 1988-12-02 | Monfort Jean Jacques | Systeme de traitement de jeux de paris |
CA1270339A (en) | 1985-06-24 | 1990-06-12 | Katsuya Nakagawa | System for determining a truth of software in an information processing apparatus |
US4783812A (en) | 1985-08-05 | 1988-11-08 | Nintendo Co., Ltd. | Electronic sound synthesizer |
US4659313A (en) * | 1985-11-01 | 1987-04-21 | New Flite Inc. | Control yoke apparatus for computerized aircraft simulation |
JPH0668758B2 (ja) | 1986-01-07 | 1994-08-31 | 株式会社日立製作所 | カーソル制御方法及び3次元図形表示装置 |
US4789927A (en) | 1986-04-07 | 1988-12-06 | Silicon Graphics, Inc. | Interleaved pipeline parallel processing architecture |
JPS62260244A (ja) | 1986-05-06 | 1987-11-12 | Nintendo Co Ltd | メモリカ−トリツジ |
US5226136A (en) | 1986-05-06 | 1993-07-06 | Nintendo Company Limited | Memory cartridge bank selecting apparatus |
US4748441A (en) * | 1986-09-17 | 1988-05-31 | Brzezinski Stephen R M | Multiple function control member |
CA1330596C (en) | 1986-11-19 | 1994-07-05 | Yoshiaki Nakanishi | Memory cartridge and data processing apparatus |
US4817149A (en) * | 1987-01-22 | 1989-03-28 | American Natural Sound Company | Three-dimensional auditory display apparatus and method utilizing enhanced bionic emulation of human binaural sound localization |
JPS63201816A (ja) | 1987-02-18 | 1988-08-19 | Hitachi Ltd | カ−ソル表示装置 |
JP2615607B2 (ja) | 1987-04-07 | 1997-06-04 | ソニー株式会社 | 入力操作装置 |
DE3716892A1 (de) * | 1987-05-20 | 1988-12-01 | Fresenius Ag | Vorrichtung zur eingabe von numerischen bzw. alphanumerischen daten in ein geraet |
US4974192A (en) | 1987-07-23 | 1990-11-27 | Face Technologies, Inc. | Communication processor for personal computer |
US4868780A (en) * | 1987-07-27 | 1989-09-19 | Ambrosia Microcomputer Products, Inc. | Emulation circuit for interfacing joystick to ROM cartridge slot of computer |
JP2710316B2 (ja) | 1987-08-26 | 1998-02-10 | 任天堂株式会社 | パスワード作成装置およびパスワード作成装置を用いたゲーム機 |
US4924216A (en) | 1988-02-12 | 1990-05-08 | Acemore International Ltd. | Joystick controller apparatus |
US4858930A (en) | 1988-06-07 | 1989-08-22 | Namco, Ltd. | Game system |
US4887966A (en) * | 1988-06-30 | 1989-12-19 | Gellerman Floyd R | Flight simulation control apparatus |
US4933670A (en) | 1988-07-21 | 1990-06-12 | Picker International, Inc. | Multi-axis trackball |
US4951232A (en) | 1988-09-12 | 1990-08-21 | Silicon Graphics, Inc. | Method for updating pipelined, single port Z-buffer by segments on a scan line |
US5038297A (en) | 1988-09-13 | 1991-08-06 | Silicon Graphics, Inc. | Method and apparatus for clearing a region of Z-buffer |
US5016876A (en) | 1988-10-14 | 1991-05-21 | Williams Electronics Games, Inc. | Video display co-processor for use in a video game |
US4976435A (en) * | 1988-10-17 | 1990-12-11 | Will Shatford | Video game control adapter |
US4976429A (en) * | 1988-12-07 | 1990-12-11 | Dietmar Nagel | Hand-held video game image-projecting and control apparatus |
US5001632A (en) * | 1989-12-22 | 1991-03-19 | Hall Tipping Justin | Video game difficulty level adjuster dependent upon player's aerobic activity level during exercise |
USD316879S (en) | 1989-01-09 | 1991-05-14 | Shulman Donald P | Joystick for electronic games |
FI111789B (fi) * | 1989-01-10 | 2003-09-15 | Nintendo Co Ltd | Elektroninen pelilaite, jossa on mahdollisuus pseudostereofoniseen äänen kehittämiseen |
US5051737A (en) | 1989-02-23 | 1991-09-24 | Silicon Graphics, Inc. | Efficient graphics process for clipping polygons |
USD317946S (en) | 1989-03-08 | 1991-07-02 | Std Electronic International Ltd. | Joystick |
KR0149503B1 (ko) | 1989-04-20 | 1999-05-15 | 야마우찌 히로시 | 메모리 카트리지 |
US5113490A (en) | 1989-06-19 | 1992-05-12 | Silicon Graphics, Inc. | Method for forming a computer model from an intersection of a cutting surface with a bounded volume |
GB2234575A (en) * | 1989-07-28 | 1991-02-06 | Philips Electronic Associated | User input device for an interactive display system |
JP2725062B2 (ja) | 1989-08-01 | 1998-03-09 | 株式会社リコー | 画像処理装置 |
US5052685A (en) * | 1989-12-07 | 1991-10-01 | Qsound Ltd. | Sound processor for video game |
JPH0380786U (de) * | 1989-12-07 | 1991-08-19 | ||
JP3047185B2 (ja) | 1990-01-26 | 2000-05-29 | 任天堂株式会社 | ディジタル音源装置、およびそれに用いられる外部メモリカートリッジ |
US5453763A (en) | 1990-02-02 | 1995-09-26 | Nintendo Co., Ltd. | Still picture display apparatus and external memory cartridge used therefor |
AU7313491A (en) | 1990-02-16 | 1991-09-03 | Silicon Graphics, Inc. | Method and apparatus for providing a visually improved image by converting a three-dimensional quadrilateral to a pair of triangles in a computer system |
GB2244546A (en) * | 1990-05-10 | 1991-12-04 | Primax Electronics Ltd | Computer input device |
DE4018052A1 (de) | 1990-06-06 | 1990-12-20 | Klaus Dr Ing Eckert | Verfahren zum steuern von anwenderprogrammablaeufen eines computers und einrichtung zur durchfuehrung des verfahrens |
US5160918A (en) * | 1990-07-10 | 1992-11-03 | Orvitek, Inc. | Joystick controller employing hall-effect sensors |
US5146557A (en) | 1990-07-27 | 1992-09-08 | General Electric Company | User interface for a golf green and a golf putt modelling system |
JPH0442029U (de) | 1990-08-09 | 1992-04-09 | ||
JP3274682B2 (ja) | 1990-08-27 | 2002-04-15 | 任天堂株式会社 | 静止画像表示装置およびそれに用いる外部記憶装置 |
JP3068842B2 (ja) | 1990-08-27 | 2000-07-24 | 任天堂株式会社 | 画像処理装置におけるダイレクトメモリアクセス装置およびそれに用いる外部記憶装置 |
US5046739A (en) * | 1990-10-31 | 1991-09-10 | Dynasound Organizer, Inc. | Ergonomic handle for game controller |
US5393073A (en) * | 1990-11-14 | 1995-02-28 | Best; Robert M. | Talking video games |
US5393070A (en) * | 1990-11-14 | 1995-02-28 | Best; Robert M. | Talking video games with parallel montage |
US5393071A (en) * | 1990-11-14 | 1995-02-28 | Best; Robert M. | Talking video games with cooperative action |
US5393072A (en) * | 1990-11-14 | 1995-02-28 | Best; Robert M. | Talking video games with vocal conflict |
AU652209B2 (en) * | 1990-11-14 | 1994-08-18 | Robert Macandrew Best | Talking video games |
US5371512A (en) | 1990-11-19 | 1994-12-06 | Nintendo Co., Ltd. | Background picture display apparatus and external storage used therefor |
US5329276A (en) * | 1990-12-19 | 1994-07-12 | Kabushiki Kaisha Yaskawa Denki | Multidimensional signal input device |
US5273294A (en) | 1991-02-04 | 1993-12-28 | Tengen Ltd. | Game memory |
US5266941A (en) | 1991-02-15 | 1993-11-30 | Silicon Graphics, Inc. | Apparatus and method for controlling storage of display information in a computer system |
US5343558A (en) | 1991-02-19 | 1994-08-30 | Silicon Graphics, Inc. | Method for scan converting shaded triangular polygons |
US5230039A (en) | 1991-02-19 | 1993-07-20 | Silicon Graphics, Inc. | Texture range controls for improved texture mapping |
US5307450A (en) | 1991-02-19 | 1994-04-26 | Silicon Graphics, Inc. | Z-subdivision for improved texture mapping |
US5286024A (en) | 1991-03-20 | 1994-02-15 | Atari Games Corporation | System for sensing the position of a joystick |
US5203563A (en) * | 1991-03-21 | 1993-04-20 | Atari Games Corporation | Shaker control device |
US5415549A (en) | 1991-03-21 | 1995-05-16 | Atari Games Corporation | Method for coloring a polygon on a video display |
US5265199A (en) | 1991-05-22 | 1993-11-23 | Silicon Graphics, Inc. | Method and apparatus for accomplishing Z-buffering by prediction |
US5251909A (en) | 1991-05-28 | 1993-10-12 | Reed Michael J | Secured high throughput data channel for public broadcast system |
JP2794230B2 (ja) | 1991-07-16 | 1998-09-03 | 株式会社スクウェア | ビデオ・ゲーム装置,その制御方法および制御ディバイス |
US5237311A (en) * | 1991-08-01 | 1993-08-17 | Picker International, Inc. | Hingedly supported integrated trackball and selection device |
US5437464A (en) | 1991-08-30 | 1995-08-01 | Kabushiki Kaisha Sega Enterprises | Data reading and image processing system for CD-ROM |
US5213327A (en) | 1991-10-24 | 1993-05-25 | Konami Co. Ltd. | Game apparatus |
GB2263802A (en) | 1992-01-24 | 1993-08-04 | Chen Chin Tung | Television game with wireless remote-control for two players |
US5357604A (en) | 1992-01-30 | 1994-10-18 | A/N, Inc. | Graphics processor with enhanced memory control circuitry for use in a video game system or the like |
US5388841A (en) | 1992-01-30 | 1995-02-14 | A/N Inc. | External memory system having programmable graphics processor for use in a video game system or the like |
CA2074388C (en) | 1992-01-30 | 2003-01-14 | Jeremy E. San | Programmable graphics processor having pixel to character conversion hardware for use in a video game system or the like |
JP3248215B2 (ja) | 1992-02-24 | 2002-01-21 | 日本電気株式会社 | 音声符号化装置 |
EP0571138A3 (de) | 1992-05-20 | 1995-03-29 | Codemasters Ltd | Speicherkassette und Schnittstelle für Videospielkonsole. |
US5389950A (en) | 1992-07-09 | 1995-02-14 | Thurstmaster, Inc. | Video game/flight simulator controller with single analog input to multiple discrete inputs |
US5245320A (en) | 1992-07-09 | 1993-09-14 | Thrustmaster, Inc. | Multiport game card with configurable address |
US5551701A (en) * | 1992-08-19 | 1996-09-03 | Thrustmaster, Inc. | Reconfigurable video game controller with graphical reconfiguration display |
US5259626A (en) | 1992-08-07 | 1993-11-09 | Std Electronic International Ltd. | Programmable video game controller |
JPH0654962A (ja) * | 1992-08-07 | 1994-03-01 | Funai Electric Co Ltd | 小型電子機器 |
US5513307A (en) | 1992-11-20 | 1996-04-30 | Sega Of America, Inc. | Video game with switchable collision graphics |
AU5846094A (en) * | 1992-11-30 | 1994-06-22 | Stephen A.A. Goddard | Hand held encoding instrument |
US5394168A (en) * | 1993-01-06 | 1995-02-28 | Smith Engineering | Dual-mode hand-held game controller |
US5290034A (en) * | 1993-01-15 | 1994-03-01 | Derral Hineman | Game chair apparatus |
JP2799126B2 (ja) * | 1993-03-26 | 1998-09-17 | 株式会社ナムコ | ビデオゲーム装置及びゲーム用入力装置 |
US5607157A (en) * | 1993-04-09 | 1997-03-04 | Sega Enterprises, Ltd. | Multi-connection device for use in game apparatus |
US5388990A (en) | 1993-04-23 | 1995-02-14 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Virtual reality flight control display with six-degree-of-freedom controller and spherical orientation overlay |
CA2127053C (en) | 1993-07-02 | 2005-01-04 | Makoto Furuhashi | Method and apparatus for time-sharing cpu system bus in image generation system |
JPH0785308A (ja) | 1993-07-02 | 1995-03-31 | Sony Corp | 画像表示方法 |
US5369739A (en) | 1993-07-09 | 1994-11-29 | Silicon Graphics, Inc. | Apparatus and method for generating point sample masks in a graphics display system |
US5734373A (en) | 1993-07-16 | 1998-03-31 | Immersion Human Interface Corporation | Method and apparatus for controlling force feedback interface systems utilizing a host computer |
US5421590A (en) * | 1993-07-23 | 1995-06-06 | Commodore Electronics Limited | Multiple linked game controllers |
US5473325A (en) | 1993-08-11 | 1995-12-05 | Mcalindon; Peter J. | Ergonomic human-computer interface apparatus and method |
JP3311830B2 (ja) | 1993-09-20 | 2002-08-05 | 株式会社東芝 | 3次元動画作成装置 |
IT1264225B1 (it) | 1993-09-24 | 1996-09-23 | Sintecna S R L | Dispositivo per il puntamento del cursore sullo schermo di sistemi interattivi |
JP3349787B2 (ja) | 1993-10-15 | 2002-11-25 | 株式会社ソニー・コンピュータエンタテインメント | 描画データ作成装置及び描画データ作成方法 |
US5436640A (en) * | 1993-10-29 | 1995-07-25 | Thrustmaster, Inc. | Video game and simulator joystick controller with geared potentiometer actuation |
USD357712S (en) | 1994-01-03 | 1995-04-25 | James Wu | Video game control unit |
JPH07219894A (ja) | 1994-01-31 | 1995-08-18 | Sony Corp | データ転送方法及びデータ転送装置 |
JPH07281652A (ja) | 1994-04-07 | 1995-10-27 | Sony Corp | 画像処理装置 |
JPH07282270A (ja) | 1994-04-08 | 1995-10-27 | Sony Corp | 画像生成方法および装置 |
US5515044A (en) | 1994-04-18 | 1996-05-07 | Sensormatic Electronics Corporation | Controller apparatus using force sensing resistors |
USD375326S (en) | 1994-05-02 | 1996-11-05 | Nintendo Co., Ltd. | Controller for game machine |
JP3628358B2 (ja) | 1994-05-09 | 2005-03-09 | 株式会社ソニー・コンピュータエンタテインメント | ゲーム機用コントローラ |
US6004134A (en) | 1994-05-19 | 1999-12-21 | Exos, Inc. | Interactive simulation including force feedback |
US5680154A (en) | 1994-05-25 | 1997-10-21 | Alps Electric Co., Ltd. | Operation inputting apparatus |
JP3220328B2 (ja) | 1994-06-01 | 2001-10-22 | 株式会社ソニー・コンピュータエンタテインメント | ビデオゲーム機 |
JPH0816530A (ja) * | 1994-07-04 | 1996-01-19 | Kurieiteibu Design:Kk | コプロセサシステムおよび補助演算機能付外部メモリ装置 |
US5624117A (en) | 1994-07-28 | 1997-04-29 | Sugiyama Electron Co., Ltd. | Game machine controller |
US5820462A (en) | 1994-08-02 | 1998-10-13 | Nintendo Company Ltd. | Manipulator for game machine |
US5512920A (en) | 1994-08-17 | 1996-04-30 | Mitsubishi Electric Research Laboratories, Inc. | Locator device for control of graphical objects |
USD363092S (en) | 1994-08-29 | 1995-10-10 | Michael Hung | Hand-held controller |
US5451053A (en) | 1994-09-09 | 1995-09-19 | Garrido; Fernando P. | Reconfigurable video game controller |
WO1996010230A1 (fr) | 1994-09-27 | 1996-04-04 | Sega Enterprises, Ltd. | Dispositif de transfert de donnees et jeux video utilisant ce dispositif |
NZ294038A (en) | 1994-10-12 | 1997-02-24 | Sega Enterprises Kk | Data processor to peripheral device: operational mode selection |
US5680534A (en) | 1994-10-31 | 1997-10-21 | Nintendo Co., Ltd. | Video game/videographics program fabricating system and method with superimpose control |
US5593350A (en) * | 1994-11-04 | 1997-01-14 | Thrustmaster, Inc. | Video game card having interrupt resistant behavior |
JPH08137428A (ja) | 1994-11-11 | 1996-05-31 | Nintendo Co Ltd | 画像表示装置、画像表示システムおよびそれに用いられるプログラムカートリッジ |
JPH08191951A (ja) | 1995-01-17 | 1996-07-30 | Sony Corp | ゲーム機およびその中継器 |
JP3267463B2 (ja) | 1995-01-23 | 2002-03-18 | 松下電器産業株式会社 | 景色表示装置 |
US5670955A (en) | 1995-01-31 | 1997-09-23 | Microsoft Corporation | Method and apparatus for generating directional and force vector in an input device |
US5558329A (en) * | 1995-03-01 | 1996-09-24 | Liu; William S. Y. | Photoelectric digitized joystick |
US5640177A (en) | 1995-03-15 | 1997-06-17 | Anko Electronic Co., Ltd. | Optical analog rocker |
US5706029A (en) * | 1995-03-15 | 1998-01-06 | United Microelectronics Corp. | Apparatus and method for retrieving data from a joystick |
US5714981A (en) * | 1995-04-21 | 1998-02-03 | Advanced Gravis Computer Technology, Ltd. | Gameport communication apparatus and method |
GB2300503A (en) | 1995-05-05 | 1996-11-06 | United Microelectronics Corp | Video game with display of key programming process |
DE69625523T2 (de) | 1995-05-10 | 2003-07-10 | Nintendo Co Ltd | Steuergerät mit analogem Joystick |
AU719082B2 (en) | 1995-05-10 | 2000-05-04 | Nintendo Co., Ltd. | Image processing system using analog joystick |
US5653637A (en) * | 1995-05-12 | 1997-08-05 | United Microelectronics Corp. | Expandable controllers capable of connecting in series to a control deck of a video game machine |
CN100501768C (zh) | 1995-05-19 | 2009-06-17 | 世嘉股份有限公司 | 图像处理装置、方法及设备 |
TW300974B (de) * | 1995-05-31 | 1997-03-21 | Sega Of America Inc | |
US5691898A (en) | 1995-09-27 | 1997-11-25 | Immersion Human Interface Corp. | Safe and low cost computer peripherals with force feedback for consumer applications |
US5805138A (en) | 1995-06-07 | 1998-09-08 | International Business Machines Corporation | Gross motion input controller for a computer system |
US5589854A (en) * | 1995-06-22 | 1996-12-31 | Tsai; Ming-Chang | Touching feedback device |
US5628686A (en) | 1995-07-31 | 1997-05-13 | Microsoft Corporation | Apparatus and method for bidirectional data communication in a game port |
US5793356A (en) * | 1995-07-31 | 1998-08-11 | Microsoft Corporation | System and method for the software emulation of a computer joystick |
US5694153A (en) | 1995-07-31 | 1997-12-02 | Microsoft Corporation | Input device for providing multi-dimensional position coordinate signals to a computer |
US5632680A (en) | 1995-08-09 | 1997-05-27 | Quickshot Patent (Bvi) Ltd. | Method and apparatus for controlling a computer game |
JP3734045B2 (ja) | 1995-08-10 | 2006-01-11 | 株式会社セガ | 仮想画像生成方法及びその装置 |
JP2845175B2 (ja) | 1995-08-25 | 1999-01-13 | 株式会社オプテック | ゲーム機用コントローラ |
JPH09153146A (ja) | 1995-09-28 | 1997-06-10 | Toshiba Corp | 仮想空間表示方法 |
MX9704155A (es) | 1995-10-09 | 1997-09-30 | Nintendo Co Ltd | Sistema procesador de imagenes tridimensionales. |
US6283857B1 (en) | 1996-09-24 | 2001-09-04 | Nintendo Co., Ltd. | Three-dimensional image processing apparatus with enhanced automatic and user point of view control |
US6007428A (en) | 1995-10-09 | 1999-12-28 | Nintendo Co., Ltd. | Operation controlling device and video processing system used therewith |
JP3544268B2 (ja) | 1995-10-09 | 2004-07-21 | 任天堂株式会社 | 三次元画像処理装置およびそれを用いた画像処理方法 |
US5663747A (en) * | 1995-10-23 | 1997-09-02 | Norandor Systems, Inc. | Pointing device |
US5896125A (en) | 1995-11-06 | 1999-04-20 | Niedzwiecki; Richard H. | Configurable keyboard to personal computer video game controller adapter |
CN1109960C (zh) | 1995-11-10 | 2003-05-28 | 任天堂株式会社 | 万向操作杆装置 |
US6139433A (en) | 1995-11-22 | 2000-10-31 | Nintendo Co., Ltd. | Video game system and method with enhanced three-dimensional character and background control due to environmental conditions |
US6267673B1 (en) | 1996-09-20 | 2001-07-31 | Nintendo Co., Ltd. | Video game system with state of next world dependent upon manner of entry from previous world via a portal |
US6071191A (en) | 1995-11-22 | 2000-06-06 | Nintendo Co., Ltd. | Systems and methods for providing security in a video game system |
US6155926A (en) | 1995-11-22 | 2000-12-05 | Nintendo Co., Ltd. | Video game system and method with enhanced three-dimensional character and background control |
US6022274A (en) | 1995-11-22 | 2000-02-08 | Nintendo Co., Ltd. | Video game system using memory module |
US6190257B1 (en) | 1995-11-22 | 2001-02-20 | Nintendo Co., Ltd. | Systems and method for providing security in a video game system |
US6169540B1 (en) | 1995-12-01 | 2001-01-02 | Immersion Corporation | Method and apparatus for designing force sensations in force feedback applications |
US5615083A (en) | 1995-12-11 | 1997-03-25 | Gateway 2000, Inc. | Detachable joystick for a portable computer |
US5734376A (en) | 1995-12-27 | 1998-03-31 | Hsien; Ming-Kun | Joypad circuit for playing PC games |
JPH09223098A (ja) | 1996-02-19 | 1997-08-26 | Sega Enterp Ltd | 画像拡張機能ボード及びこれを用いた電子装置 |
US6050718A (en) | 1996-03-28 | 2000-04-18 | Immersion Corporation | Method and apparatus for providing high bandwidth force feedback with improved actuator feel |
TW346611B (en) | 1996-03-28 | 1998-12-01 | Sega Enterprises Kk | An image processor, a game machine using the image processor, a method of image processing and a medium |
US5769718A (en) | 1996-05-15 | 1998-06-23 | Rieder; William R. | Video game apparatus and medium readable by a computer stored with video game program |
US5684512A (en) * | 1996-05-20 | 1997-11-04 | Schoch; Paul T. | Ergonomic apparatus for controlling video or computer equipment |
JPH1063470A (ja) | 1996-06-12 | 1998-03-06 | Nintendo Co Ltd | 画像表示に連動する音響発生装置 |
EP0856340B1 (de) | 1996-08-21 | 2002-11-27 | Konami Co., Ltd. | Verfahren, anordnung und aufzeichnungsmedium zur befehlseingabe |
US5731806A (en) | 1996-09-20 | 1998-03-24 | Vlsi Technology, Inc. | Interrupt based positioning system for joysticks and method therefor |
US6244959B1 (en) | 1996-09-24 | 2001-06-12 | Nintendo Co., Ltd. | Three-dimensional image processing system with enhanced character control |
US6139434A (en) | 1996-09-24 | 2000-10-31 | Nintendo Co., Ltd. | Three-dimensional image processing apparatus with enhanced automatic and user point of view control |
US5898424A (en) | 1996-09-30 | 1999-04-27 | Gateway 2000, Inc. | Pointing device with differing actuation forces for primary and secondary buttons |
US5804781A (en) | 1996-11-07 | 1998-09-08 | Perfect 360 Controls, Inc. | Feed-back control plate for joystick |
US5867051A (en) | 1996-11-20 | 1999-02-02 | Cretech Co., Ltd. | Digital joystick interface circuit |
US5784051A (en) | 1997-01-27 | 1998-07-21 | Vlsi Technology, Inc. | Digital power management system |
US6042478A (en) | 1997-02-10 | 2000-03-28 | Tiger Electronics, Ltd. | Hand held video game |
US6020876A (en) | 1997-04-14 | 2000-02-01 | Immersion Corporation | Force feedback interface with selective disturbance filter |
JP3103322B2 (ja) | 1997-05-23 | 2000-10-30 | コナミ株式会社 | シューティングゲーム装置、シューティングゲームの画像表示方法及び可読記録媒体 |
JP3767094B2 (ja) | 1997-06-17 | 2006-04-19 | 株式会社セガ | ビデオゲーム装置における遊戯者により操作される複数キャラクタの表示制御方法 |
US6071194A (en) | 1997-06-19 | 2000-06-06 | Act Labs Ltd | Reconfigurable video game controller |
US5883628A (en) | 1997-07-03 | 1999-03-16 | International Business Machines Corporation | Climability: property for objects in 3-D virtual environments |
JP2997439B2 (ja) | 1997-07-16 | 2000-01-11 | コナミ株式会社 | ビデオゲーム機,及びコンピュータプログラムを記録した機械読取可能な記録媒体 |
US6034669A (en) | 1998-02-12 | 2000-03-07 | Realtek Semiconductor Corp. | Joystick control device having cursor correcting function |
US6067077A (en) | 1998-04-10 | 2000-05-23 | Immersion Corporation | Position sensing for force feedback devices |
JPH11319312A (ja) | 1998-05-18 | 1999-11-24 | Sega Enterp Ltd | 電子遊戯装置 |
-
1995
- 1995-11-22 US US08/562,288 patent/US6022274A/en not_active Expired - Fee Related
-
1996
- 1996-11-21 EP EP96308413A patent/EP0780771B1/de not_active Expired - Lifetime
- 1996-11-21 CA CA002190933A patent/CA2190933A1/en not_active Abandoned
- 1996-11-21 DE DE69623242T patent/DE69623242T2/de not_active Expired - Lifetime
- 1996-11-21 TW TW085114322A patent/TW332882B/zh not_active IP Right Cessation
- 1996-11-22 AU AU71959/96A patent/AU722079B2/en not_active Expired
- 1996-11-22 CN CN96121758A patent/CN1103617C/zh not_active Expired - Lifetime
- 1996-11-22 JP JP8352111A patent/JPH1015244A/ja active Pending
-
1999
- 1999-07-19 US US09/357,171 patent/US6383079B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH1015244A (ja) | 1998-01-20 |
DE69623242D1 (de) | 2002-10-02 |
TW332882B (en) | 1998-06-01 |
EP0780771A2 (de) | 1997-06-25 |
CN1103617C (zh) | 2003-03-26 |
US6022274A (en) | 2000-02-08 |
CN1159957A (zh) | 1997-09-24 |
CA2190933A1 (en) | 1997-05-23 |
US6383079B1 (en) | 2002-05-07 |
AU7195996A (en) | 1997-05-29 |
EP0780771B1 (de) | 2002-08-28 |
EP0780771A3 (de) | 1998-05-20 |
AU722079B2 (en) | 2000-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69623242T2 (de) | Untersystem zur Peripheriesteuerung für Videospielsystem | |
DE60035382T2 (de) | Spielvorrichtung, Spieldarstellungskontrollverfahren und computerlesbares Aufzeichungsmedium | |
DE69518811T4 (de) | Videospiel/videographisches Programmerzeugungsverfahren mit auf einer Einheit basierter Programmverarbeitung | |
DE69518810T2 (de) | Videospiel/videographisches Programmerzeugungsverfahren und System | |
DE60216005T2 (de) | System zur Datenübermittlung, Datenübermittlungserver, und Videospielvorrichtung | |
DE69609571T2 (de) | Ablenkungen für Fernsehzuschauer | |
DE69918916T2 (de) | System und Verfahren zur Datenverarbeitung und Unterhaltungssystem | |
DE69609572T2 (de) | Videoempfängeranzeige von ein Menü-überlagernden Video | |
DE69824075T2 (de) | Informationsverarbeitungssystem, rechnerlesbare Medien, und Entwurfsystem | |
DE69527932T2 (de) | Co-prozessorsystem und externer zusatzspeicher mit arithmetikfunktion | |
DE69620381T2 (de) | Spielvorrichtung und system dafür | |
DE69827544T2 (de) | Datenverarbeitungsgerät und -Verfahren | |
DE3689574T2 (de) | System zum Feststellen der Echtheit von Software in einer Informationsverarbeitungsanlage. | |
JP3534372B2 (ja) | テレビジョン・ビデオ・ディスプレイのためのカーソル制御ユーザ・インターフェースを有する事前チャネル・リスティング・システム | |
DE69210915T2 (de) | System um Daten auszulesen und Bilder von CD-ROM zu verarbeiten | |
DE69628727T2 (de) | System zum bearbeiten von dreidimensionalen bildinformationen | |
DE60131902T2 (de) | Unterhaltungsgerät, menü-anzeigeverfahren, und informationsaufzeichnungsmedium | |
DE69607189T2 (de) | Sichere und preisgünstige rechner-peripheriegeräte mit kraftrückkoppelung für konsumanwendungen | |
DE69723613T2 (de) | Aufnahme und/oder Wiedergabe von dreidimensionalen Bilddaten | |
DE69428398T2 (de) | Videospiel- und kommunikations-system in einem flugzeug | |
DE10119493A1 (de) | Spielsystem und tragbare Spielmaschine | |
US6071191A (en) | Systems and methods for providing security in a video game system | |
DE69523717T2 (de) | Verfahren und vorrichtung zur richtungssteuerung eines objektes | |
JPH08331412A (ja) | カーソル重畳ビデオのビデオ信号のディスプレイ装置及び方法 | |
JPH08331415A (ja) | ビデオ受信ディスプレイ・システム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |