DE69623242T2 - Untersystem zur Peripheriesteuerung für Videospielsystem - Google Patents

Untersystem zur Peripheriesteuerung für Videospielsystem

Info

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
Application number
DE69623242T
Other languages
English (en)
Other versions
DE69623242D1 (de
Inventor
Syuhei Kato
Satoshi Nishiumi
Genyo Takeda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Publication of DE69623242D1 publication Critical patent/DE69623242D1/de
Application granted granted Critical
Publication of DE69623242T2 publication Critical patent/DE69623242T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • A63F13/493Resuming a game, e.g. after pausing, malfunction or power failure
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/73Authorising game programs or game devices, e.g. checking authenticity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional 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/95Storage media specially adapted for storing game information, e.g. video game cartridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/20Features 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/201Playing authorisation given at platform level
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/20Features 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/206Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time
    • A63F2300/636Methods 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6676Methods 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/80Features 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/807Role playing or strategy games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0382Plural input, i.e. interface arrangements in which a plurality of input device of the same type are in communication with a PC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2109Game 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

    GEBIET DER ERFINDUNG
  • 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.
  • HINTERGRUND UND ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • AUSFÜHRLICHE BESCHREIBUNG EINER BEISPIELHAFTEN AUSFÜHRUNGSFORM
  • 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.
  • Art des Peripheriegeräts
  • 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.
  • Statusmerker
  • 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.
DE69623242T 1995-11-22 1996-11-21 Untersystem zur Peripheriesteuerung für Videospielsystem Expired - Lifetime DE69623242T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 電子遊戯装置

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