DE69430032T2 - Videospiel- und Kommunikationssystem zur Verwendung in einem Hotelzimmer - Google Patents
Videospiel- und Kommunikationssystem zur Verwendung in einem HotelzimmerInfo
- Publication number
- DE69430032T2 DE69430032T2 DE69430032T DE69430032T DE69430032T2 DE 69430032 T2 DE69430032 T2 DE 69430032T2 DE 69430032 T DE69430032 T DE 69430032T DE 69430032 T DE69430032 T DE 69430032T DE 69430032 T2 DE69430032 T2 DE 69430032T2
- Authority
- DE
- Germany
- Prior art keywords
- program
- data
- video
- guest
- room
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/31—Communication aspects specific to video games, e.g. between several handheld game devices at close range
-
- A63F13/12—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/338—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using television networks
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/214—Specialised server platform, e.g. server located in an airplane, hotel, hospital
- H04N21/2143—Specialised server platform, e.g. server located in an airplane, hotel, hospital located in a single building, e.g. hotel, hospital or museum
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/214—Specialised server platform, e.g. server located in an airplane, hotel, hospital
- H04N21/2146—Specialised server platform, e.g. server located in an airplane, hotel, hospital located in mass transportation means, e.g. aircraft, train or bus
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/402—Communication between platforms, i.e. physical link to protocol
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/409—Data transfer via television network
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/552—Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Description
- Die Erfindung betrifft im großen und ganzen digitale Kommunikations- und Unterhaltungs-/Videospielsysteme. Insbesondere betrifft die Erfindung ein Hotel- (oder Kreuzfahrtschiff-) gestütztes Videospiel- und Kommunikationssystem, von dem ein Teil in einzelnen Gästezimmern eingebaut ist.
- Vor der vorliegenden Erfindung haben Hotels ein beschränktes Ausmaß von Unterhaltungsdienstleistungen im Zimmer angeboten. Derartige Dienstleistungen umfaßten üblicherweise ein Kabelfernsehen-gestütztes System, bei dem ein Gast entweder einen Homebox-Office (HBO)-artigen Spielfilm und einen Unterhaltungskanal ohne Kosten oder alternativ Pay-per-view- Dienstleistungen auswählt. Derartige Pay-per-view-Systeme haben bisher die Erzeugung einer Menüanzeige für einen Anwender beinhaltet, um eine gewünschte Pay-per-view-Option auszuwählen, wie zum Beispiel eine beschränkte Anzahl von kürzlich herausgekommenen Spielfilmen.
- In einzelnen Fällen wurden bestimmte Pay-per-view-Dienstleistungen erweitert, indem Kommunikationsverbindungen zwischen Zimmern in einem Hotel (oder sogar zwischen Zimmern in verschiedenen Hotels) ausgebildet werden, um Gästen zu erlauben, triviale Spiele zu spielen. Derartige Systeme arbeiten als Reaktion auf Hotelgasteinträge über eine fernsehartige Fernsteuerung und verwenden Satelliten- und/oder Telefonkommunikationsverbindungen.
- Derartige hotelgestützte Unterhaltungssysteme sind in dem Bereich der zur Verfügung gestellten Unterhaltungsdienstleistungen extrem eingeschränkt. Zum Beispiel erlauben es derartige Systeme nicht jedem Gast, komplexe Videospiele zu spielen, die ein sich bewegendes Objekt und Hintergrundcharakter auf dem Flug erzeugen, wie das Super Nintendo- Unterhaltungssystem (SNES), das kommerziell von dem Rechtsnachfolger der Anmelder vertrieben wird.
- EP-A-0 631 247 ist ein Dokument, das unter Art. 54(3) EPÜ fällt und ein Videospiel- und Kommunikationssystem beschreibt, das zur Verwendung in einem Flugzeug geeignet ist.
- Die vorliegende Erfindung ist auf ein Videospiel-/Kommunikationssystem gerichtet, das es Hotelgästen erlaubt, aktiv bei Videospielspielen teilzunehmen oder andere Datenverarbeitungs-Kommunikationsdienstleistungen zu verwenden.
- Gemäß einem Aspekt der vorliegenden Erfindung wird ein Gästezimmer-Kommunikationssystem zum Erzeugen interaktiver videographischer Anzeigesitzungen im Zimmer in einer Vielzahl von Gästezimmern zur Verfügung gestellt, mit:
- einer Anzeige im Zimmer, das in jedem der Vielzahl von Gästezimmern angeordnet ist,
- einem Feld von Videographikverarbeitungssystemen, wobei die Anzahl der Videographikverarbeitungsysteme in dem Feld geringer als die Anzahl der Gästezimmer ist, wobei jedes Videographikverarbeitungssystem folgendes umfaßt:
- ein Videographikprogrammausführungsprozessor, der ausgelegt ist, um Informationen zu empfangen, die während einer interaktiven Videographikanzeigesitzung im Zimmer erzeugt werden, und
- ein Speichersystem, das an den Videographikprogrammausführungsprozessor angeschlossen ist, und ausgelegt ist, ein Videographikprogramm zu speichern,
- wobei jedes Videographikverarbeitungssystem in dem Feld jeder Anzeige im Zimmer zuweisbar ist, und
- eine Datenleitvorrichtung, um Informationen, die in einem der Gästezimmer erzeugt werden, zu einem gekennzeichneten Videographikverarbeitungssystem zur Verarbeitung zu leiten.
- Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Betreiben eines Gästezimmerunterhaltungssystems mit einem Hostcomputer, einer Vielzahl von Anzeigeeinheiten im Zimmer und einem Feld von Graphikverarbeitungssystemen angegeben, wobei die Anzahl an Graphikverarbeitungssystemen kleiner als die Anzahl an Anzeigeeinheiten im Zimmer ist, wobei das Verfahren folgende Schritte umfaßt:
- Anzeigen eines Anzeigemenüs, das eine Vielzahl von Graphikprogrammen kennzeichnet, auf jeder Anzeigeeinheit der Vielzahl von Anzeigeeinheiten im Zimmer,
- Ermitteln des von einem Anwender ausgewählten Graphikprogramms,
- dynamisches Zuweisen eines der Graphikverarbeitungssysteme zu der Anzeigeeinheit im Zimmer, auf der ein Graphikprogramm ausgewählt wurde,
- Zur-Verfügung-Stellen des Graphikprogramms, das von dem Anwender für das zugewiesene Graphiksystem ausgewählt wurde, und
- Ausführenlassen des von dem Anwender ausgewählten Graphikprogramms durch das zugewiesene Graphikverarbeitungssystem.
- Beim Ausführungsbeispiel der vorliegenden Erfindung lädt ein Multitasking-Hostcomputer, der vorzugsweise Videospiele und andere Anwendungsprogramme auf seiner Harddisc speichert, Programme in ein Feld von SNES-Spielstationen als Reaktion auf Gastauswahlen herunter. Jedes Hotelgästezimmer enthält eine Terminalvorrichtung, die an den Farbfernseher des Gastes und an einen Spielcontroller (der bei den Ausführungsbeispielen eine modifizierte Version des kommerziell erhältlichen SNES-Spielcontrollers ist, der eine Spielrücksetztaste, eine Menütaste und Lautstärke bezogene Tasten umfaßt) angeschlossen.
- Indem eine Spielcontrollermenütaste gedrückt wird, initiiert der Hotelgast das Herunterladen von Anwendungssoftware durch den Hostcomputer in das Feld von SNES-Maschinen, die in dem Hotel angeordnet sind. Ein heruntergeladenes Anwendungsprogramm erzeugt ein Anzeigemenü, das auf dem Fernseher des Gastes erscheint. Gemäß einer bevorzugten Ausführung der vorliegenden Erfindung erlaubt das Anzeigemenü vorzugsweise jedem Hotelgast, zwischen verschiedenen Betriebsarten (die zum Beispiel durch Anzeigebilder gekennzeichnet sind) auszuwählen, einschließlich Filmen, Spielen, Einkaufen, Zollformularen, Sprachauswahl, Kommunikations-/Datenverarbeitungsdienstleistungen usw. Wenn ein Anwender Videospielspielen auswählt, dann werden die verfügbaren Spieltitel und/oder Beschreibungen davon angezeigt.
- Wenn der Hostcomputer an einer hotelgestützten Kopfstation eine Spielwahl eines Gastes empfängt, lädt er üblicherweise ein Spielprogramm von seiner Festplatte in eine Bank der SNES-Spielstationen, die auch in der Kopfstation angeordnet sein kann. Obwohl die genaue Anzahl von Spielstationen, die in dem System enthalten sind, in Abhängigkeit von der Anzahl von Gästezimmern in dem Hotel und der Systemnutzung variieren kann, ist es zur Zeit bevorzugt, das ungefähr acht SNES-Spielstationen für 200 Gästezimmer installiert werden.
- Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung weist der Hostcomputer sowohl einem Gästezimmerterminal als auch einer SNES-Spielstation Zeitfenster zu, um das Videospiel kennzeichnende Tastendrücke von dem Spielecontroller des Zimmers zu der SNES-Station zu leiten. Das Gästezimmerterminal tastet den SNES-Spielcontroller 60 mal pro Sekunde auf Tastendrücke ab. Daten des Tastendrucks werden von den Gästeterminals über eine Schnittstelle geleitet, die ein RF- Modem umfaßt, und dann zu der Bank der SNES-Stationen.
- Audio- und Videoausgänge von jeder der SNES-Stationen sind an einen Kanalmodulator angeschlossen, der das zusammengesetzte Signal auf einer zugewiesenen Frequenz in dem RF- Verteilungssystem anordnet. Die Zuweisung wird an das Zimmerterminal während einer interaktiven Anfangssitzung geleitet, wodurch das Terminal den Fernseher auf dem richtigen Kanal für seine zugewiesene SNES-Station einstellt.
- Sobald das Spiel beginnt, bedient jeder Hotelgast, der das System verwendet, den SNES-Spielcontroller so als ob eine einzelne SNES unmittelbar an den Zimmerfernseher wie bei einem herkömmlichen Heimsystem angeschlossen wäre. Wenn eine Spielzeit eines Hotelgastes abgelaufen ist, instruiert der Hostcomputer das Gästeterminal, das Spielen anzuhalten und ein Menü anzuzeigen, das es dem Gast erlaubt, mehr Spielzeit zu kaufen, wenn es erwünscht ist.
- Die obigen und weiteren Merkmale und Vorteile der Erfindung und die Weise, sie zu realisieren, werden klarer und die Erfindung selber wird besser aus dem Studium der folgenden detaillierten Beschreibung und der angehängten Ansprüche mit Bezügen auf die beigefügten Zeichnungen verstanden, die einige Ausführungsbeispiele der Erfindung zeigen.
- Fig. 1 zeigt ein Blockschaltbild von einem beispielhaften hotelgestützten Videospiel-/Kommunikationssystem gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
- Fig. 2A zeigt ein Blockschaltbild des in Fig. 1 gezeigten Gästeterminals und Fig. 2B zeigt ein Flußdiagramm, das die Schrittfolge darstellt, die von dem Mikrocontroller in Fig. 2A ausgeführt wird.
- Fig. 3 zeigt ein Diagramm, das im großen und ganzen den Gesamtbetrieb eines Ausführungsbeispiels der vorliegenden Erfindung darstellt.
- Die Fig. 4A bis 4G zeigen Flußdiagramme, die die Schrittfolge darstellen, die von dem Hostcomputer beim Steuern des hotelgestützten Spielens eines Videospiels ausgeführt werden.
- Fig. 5 und 5B zeigen ein detailliertes Flußdiagramm, das die Schrittfolge darstellt, die von den SNES- Stationen ausgeführt werden, die Programme aus ihren jeweiligen Hochfahr-ROMs ausführen.
- Fig. 6 zeigt ein allgemeines Blockschaltbild, das entscheidende Daten und Steuersignale zeigt, die den SNES-Stationen zugeordnet sind.
- Fig. 7 zeigt ein Blockschaltbild der auf der Speicherkarte 102 verkörperten Schaltung, die in Fig. 6 gezeigt ist.
- Die Fig. 8A bis 8H zeigen beispielhafte Speicherkonfigurationen während verschiedener möglicher Betriebsarten.
- Fig. 9 zeigt ein vereinfachtes Blockschaltbild von einem beispielhaften Computer-/Videospielverarbeitungssystem, das in Verbindung mit der vorliegenden Erfindung verwendet werden kann.
- Die Fig. 10A bis 10D zeigen eine Schrittfolge, die durchgeführt wird, wenn das Hochfahr-ROM-Programm ausgeführt wird.
- Fig. 11 zeigt ein Flußdiagramm, das die Schrittfolge darstellt, die in einer Hostverarbeitungsroutine von dem Mikrocontroller 190 durchgeführt wird, der in Fig. 7 gezeigt ist.
- Die Fig. 12A bis 12D zeigen die Schrittfolge, die beim Verarbeiten von Tastendruckdaten verwendet wird.
- Die Fig. 13A und 13B zeigen Flußdiagramme, die das Verarbeiten von Host-Informationen durch den Mikrocontroller betreffen.
- Fig. 14 zeigt ein Flußdiagramm, das die Schrittfolge darstellt, die mit der Befehlsverarbeitung durch den Mikrocontroller verbunden ist.
- Die Fig. 15A bis 15I zeigen die Schrittfolge, die mit dem Ausführen der in Fig. 14 gezeigten Befehle verbunden ist.
- Fig. 16 zeigt die Schrittfolge, die mit dem Ausführen der in Fig. 14 gezeigten Befehle verbunden ist.
- Fig. 17 zeigt ein Flußdiagramm, das die Schrittfolge darstellt, die mit dem Verarbeiten von Daten aus dem SNES-Eingabepuffer des Mikrocontrollers verbunden ist.
- Fig. 18A bis 18H zeigen die Schrittfolge bei den verschiedenen Fig. 17 zugeordneten Programmzweigen.
- Fig. 19 zeigt die Schrittfolge, die in einer "Antworte dem Host"-Unterroutine durchgeführt wird.
- Fig. 20 zeigt die Schrittfolge, die durchgeführt wird, wenn Tastendrucke, Host- oder SNES-Daten an dem Mikrocontrolleranschluß empfangen werden.
- Fig. 21 zeigt ein Flußdiagramm, das die Schrittfolge darstellt, die durchgeführt wird, wenn der MCU 190 einen Fehler beim Empfangen von Daten an einem seiner seriellen Anschlüsse feststellt.
- Fig. 1 zeigt ein Blockschaltbild von einem beispielhaften hotelgestützten Videospiel-/Kommunikationssystems gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Obwohl das zur Zeit bevorzugte Ausführungsbeispiel der Erfindung in einem Hotel gezeigt wird, wird es erwogen, daß das hier beschriebene Kommunikationssystem vorteilhafterweise in vielen anderen Umgebungen eingesetzt werden kann, wie zum Beispiel einem Kreuzfahrtschiff, einem Krankenhaus, einem Bürogebäude oder dergleichen. Wie hier verwendet, sollte "Hotel" breit ausgelegt werden, um auf Hotels, Motels, Krankenhäuser oder irgendwelche andere ähnliche Einrichtungen zum Aufnehmen zahlreicher Übernachtgäste verweisen.
- Das hotelgestützte System von Fig. 1 enthält einen Hostcomputer 7. Der Hostcomputer 7 ist ein Multi-tasking- Computer, der zum Beispiel ein IBM 386-Computer sein kann, auf dem ein interaktives UNIX-Betriebssystem läuft. Der Hostcomputer 7 umfaßt eine herkömmliche Kommunikationskarte 9, die zum Beispiel eine fortschrittliche SEALEVEL-Kommunikationskarte (ACB-2), Teile-Nr. 3061B, sein kann, die synchrone Datenverbindungssteuerdaten (SDLC) erzeugt und mit anderen Verarbeitungsmodulen, die in Fig. 1 gezeigt sind, kommuniziert. Der Hostcomputer 7 speichert vorzugsweise Videospiele und andere Programme in seinem Speicher 7A, der ein Festplatten-Speichersystem umfassen kann. Videospiele und, wenn gewünscht, andere Programme werden in ein Feld 11 von SNES-Stationen (1 bis N) über eine Datenverbindung mit einer Übertragungsrate von zum Beispiel 408 Kilobyte pro Sekunde heruntergeladen. Es ist klar, daß die Implementierung von Details, die hier angegeben werden, wie zum Beispiel die Übertragungsrate und beispielhafte Bauteile nur für darstellende Zwecke angegeben werden und nicht als die vorliegende Erfindung beschränkend angesehen werden sollten.
- Der Hostcomputer 7, wie er unten weiter beschrieben wird, sendet Daten zu jedem Gästeterminal 2 in dem Hotel über eine Host-SNES-Feldschnittstelle, die ein RF-Modem 5 umfaßt, das das empfangene Signal moduliert und das Signal zu dem geeigneten Gästeterminal 2 auf dem geeigneten Datenkanal für das Gästeterminal sendet. Der Ausgang des RF-Modems 5 ist an das Gästezimmerterminal 2 über einen Mischer 4 angeschlossen, der ein zusammengesetztes RF-Signal zu dem Terminal 2 schickt. Das Terminal 2, das an den Tuner des Gästefernsehers 1 angeschlossen ist, empfängt das zusammengesetzte Signal und stellt den Fernseher auf den richtigen Kanal ein.
- Das Gästeterminal 2 ist auch an einen Videospielcontroller 3 angeschlossen. Der Spielcontroller 3 umfaßt gemäß einem Ausführungsbeispiel die Standardtasten/Steuerschalter, die bei einem kommerziellen SNES-Controller gefunden werden, und eine Taste, eine Rücksetztaste, (die auch als eine Bestätigungstaste während der Menüauswahl dienen kann), eine Menütaste und Lautstärkenregeltasten.
- Mit detaillierterem Bezug auf die Host-SNES-Schnittstelle (in Fig. 1 gezeigt) schickt das Terminal 2 über den RF- Leitungsmischer 4 Daten zu der Schnittstelle. Das RF-Modem 5 empfängt diese Daten und schickt die Daten zu einer Mikrocontrollereinheit (MCU) 6, die als eine Datenleitvorrichtung arbeitet, um die Daten zu entweder dem Hostcomputer 7 oder dem Feld von SNES-Stationen 11 zu schicken. Die MCU 6 dekodiert Informationen, die von dem Terminal 2 als entweder von dem Hostcomputer 7 oder den SNES-Stationen 11 zu verarbeitende Informationen übertragen wurden. Die daten-leitende MCU 6 schickt dann entsprechend Daten zu dem Hostcomputer 7 über einen asynchronen Anschluß 8B oder schickt alternativ Daten zu einer der SNES-Stationen (1 bis N) in dem Feld 11. Der Datenausgang von der MCU 6, der an die SNES-Stationen (1 bis N) geschickt wurde, umfaßt Tastenbetätigungssteuerdaten, die als Reaktion auf die Betätigung von Steuertasten von dem Controller 3 erzeugt wurden. Es ist bevorzugt (insbesondere wenn acht SNES-Stationen eingesetzt werden), daß derartige Tastendruckdaten über direkte Verbindungen zu jeder der SNES-Stationen 1-N geschickt werden. Alternativ kann eine herkömmliche gemeinsame Bus-Verbindung eingesetzt werden.
- Wie in Fig. 1 gezeigt, ist die MCU 10 an einem asynchronen Anschluß 8C des Hostcomputers 7 und an jede SNES-Station im Feld 11 angeschlossen. Die MCU 10 schickt Befehle (und zugeordnete Daten, falls vorhanden) von dem Host-Computer 7 zu der aktiven SNES-Station, mit der eine Kommunikation gesucht wird, indem die Adresse von der geeigneten SNES- Station im Feld 11 angegeben wird. Die MCU 10 empfängt entsprechend Informationen (zum Beispiel Antworten auf Befehle) von den SNES-Stationen (1-N), um sie zu den Host- Computer 7 zu schicken. Die SNES-Stationen können Befehle zu dem Host-Computer 7 über die MCU 10 senden. Die MCU 6 und die MCU 10 können herkömmliche Mikroprozessor-gestützte Controller mit mehreren I/O-Anschlüssen sein.
- Audio- und Videospiel-bezogene Daten werden von den SNES- Stationen 1-N über ein Feld von Modulatoren (12-14) gesendet. Die Ausgänge der Modulatoren 12-14 werden unter Verwendung zum Beispiel eines Mischers 15 kombiniert und über den Mischer 4 zu dem passenden Terminal 2 geschickt.
- Der Hostcomputer 7, das SNES-Stationenfeld 11 und die Host- SNES-Schnittstelle kann in einer einzigen Kopfstation aufgenommen sein, die in einem geeigneten Zimmer in dem Hotel angeordnet ist. Alternativ, wenn es erwünscht ist, können diese Bauteile an verschiedenen unterschiedlichen Stellen angeordnet werden. Der Host-Computer 7 muß nicht notwendigerweise in dem Hotel angeordnet sein.
- Fig. 2A zeigt ein Blockschaltbild des in Fig. 1 gezeigten Terminals 2. Das Gästeterminal 2 umfaßt einen Mikrocontroller (MCU) 2B, der zum Beispiel ein Hitachi H8325- Microcontroller sein kann. Der MCU 2B ist über die Controllerschnittstelle 2E an den Controller 3 angeschlossen, um vom Spieler erzeugte Tastendruckdaten zu empfangen. Die Contrdllerschnittstelle 2E kann eine herkömmliche Videospielcontrollerschnittstelle sein, die eine Schieberegistergestützte Schaltung umfaßt, die temporär den Zustand von jedem Schalter des Controllers in bestimmten Schieberegisterstufen speichert, und die zum Beispiel 2 Byte der Controllerdaten, die den Zustand von jeder Steuertaste/jedem Steuerschalter des Controllers 3 wiedergeben, die an dem jeweiligen parallelen Registereingang empfangen wurden, seriell ausgibt (zu der MCU).
- Die MCU 2B ist an eine Hostdaten-I/O-Leitungsschnittstelle 2C und eine Tastendruckschnittstellen-Datenverbindung 2D angeschlossen. Die Schnittstellen 2C und 2D sind als separate Bauteile in Fig. 2A dargestellt und werden als zu separaten Datenverbindungen gesendete Daten gezeigt. Die Datenausgänge der Host-Schnittstelle 2C und der Tastendruck- Schnittstelle 2D können jedoch, wenn sie in dem System von Fig. 1 verwendet werden, kombiniert und zu der RF-Verbindung von Fig. 1 geschickt werden, die an das Terminal 2 angeschlossen ist. Die Ausgänge der Host-Schnittstelle 2C und der Tastendruck-Schnittstelle 2 werden getrennt und zu entweder dem Host-Computer 7 oder dem SNES-Stations-Feld 11 über den MCU 6 geleitet, wie oben in Verbindung mit Fig. 1 beschrieben. Der MCU 2B ist zusätzlich an die Tunersteuerung 2A angeschlossen, die den TV-Tuner 16 des Fernsehers 1 auf den passenden Datenkanal einstellt. Der RF-Videoeingang von der RF-Datenverbindung, die in Fig. 1 gezeigt ist, ist gleichermaßen an den TV-Tuner 16 angeschlossen.
- Fig. 2B zeigt ein Flußdiagramm, das die Schrittfolge darstellt, die von der in Fig. 2A gezeigten MCU 2B durchgeführt wird. Die Software der MCU 2B des Gästeterminals fragt nach dem Durchführen herkömmlicher Initialisierungsschritte den Spielcontroller 3 ab (einmal zum Beispiel alle 60'tel Sekunden), um festzustellen, ob irgendeine Taste von einem Spieler gedrückt wurde (17). Der MCU 2B empfängt dann irgendein verfügbares Spielcontrollerbyte über die Controllerschnittstelle 2E (18). Nach dem Empfang der Bytes werden die Daten geprüft, um festzustellen, ob ein Befehl empfangen wurde, zum Beispiel ein Setze-Zurück-Befehl (19). Ein Befehl kann zum Beispiel detektiert werden, indem eine bestimmte Bit-Position in dem 2-Byte-Datenstrom überwacht wird, der von dem Controller 3 empfangen wird. Wenn zum Beispiel die 13. Bit-Position ein logischer Zustand "1" ist, kann der MCU 2B feststellen, daß ein Setze-Zurück-Befehl von einem Spieler eingegeben wurde. Nach dem Erkennen von einem derartigen Befehl in Block 19 konvertiert der MCU 2B den identifizierten Befehl in ein bestimmtes Befehlbyteformat und schickt den Befehl zu dem SNES-Feld 11 über den MCU 6 und die oben gekennzeichnete Tastendruckverbindung.
- Wenn in Block 19 festgestellt wird, daß ein Befehl nicht erzeugt wurde, sondern stattdessen ein reguläres Controller- Datenbyte erzeugt wurde, wird das Byte gespeichert, bis das Gästeterminal 2 von dem Host-Computer 7 abgefragt wird, wie in Block 21 bestimmt. Wenn die Abfrage von dem Host nicht auftritt, dann wird in Block 22 eine Überprüfung gemacht, um festzustellen, ob ein Einstell-Befehl von dem Host 7 empfangen wurde (d. h. Lenken einer Kanaländerung). Wenn es keinen Einstell-Befehl von dem Host gab, dann verzweigt die Verarbeitung zurück zu Block 21, wo andauernd Überprüfungen auf Abfragen durch den Host oder auf Einstell-Befehle gemacht werden, bis eines dieser Ereignisse auftritt.
- Nach der Feststellung der Abfrage durch den Host in Block 21 sendet der MCU 2B Steuerdaten-Bytes oder Befehlsbytes auf der Tastendruckverbindung zu dem SNES-Stations-Feld 11 (24). Obwohl Befehlbytes von der MCU 2B beschrieben wurden, daß sie zu den SNES's weitergeleitet werden, können derartige Befehle alternativ zu dem Host-Computer 7 geleitet werden. Nach der Übertragung derartiger Controller-Datenbytes oder Befehlsbytes verzweigt die Routine zurück zu Block 17, wo das Abfragen des Spielcontrollers andauert. Wenn die Überprüfung in Block 22 ergibt, daß ein Einstell-Befehl von dem Host empfangen wurde, dann wird der Einstell-Befehl zu dem Tuner gesendet, um die passende Aktion durchzuführen, d. h. den Kanal zu ändern (23), und die Verarbeitung verzweigt zu Block 17, wo die Abfrage des Spielcontrollers 3 fortgesetzt wird.
- Fig. 3 zeigt ein Blockschaltbild, das im großen und ganzen den Gesamtbetrieb eines Ausführungsbeispiels der vorliegenden Erfindung darstellt. Wie in Fig. 3 gezeigt, wird unmittelbar, nachdem der Strom angeschaltet ist (1000) eine Initialisierungsabfolge durchgeführt (1003). Während der Initialisierung führt jede SNES-Station im Feld 11 ihre eigene Initialisierungsroutine durch, während der verschiedene Parameter auf passende Vorgabewerte eingestellt werden, und die seriellen Anschlüsse werden auf die richtige Übertragungsrate initialisiert. Außerdem kann, wenn erwünscht, eine Versionskennzeichnungsnummer, die dem Hochfahrprogramm zugeordnet ist, das in jeder SNES ausgeführt wird, zu dem Mikrocontroller 190 von Fig. 7 weitergeleitet werden. Der Mikrocontroller (190), der vorzugsweise auf einer Speicherkarte 102 (siehe Fig. 6) in jeder SNES-Station eingebaut ist, empfängt die Versionskennzeichnungsnummer und führt Eingangs-/Ausgangs-Schnittstellenfunktionen für die Speicherkarte 102 durch. Der Host-Computer 7 führt auch herkömmliche Initialisierungsfunktionen einschließlich des Abfragens der Gästezimmerterminals durch.
- Nach der Initialisierung (103) wird Anwendungssoftware in die SNES-Station heruntergeladen. Das Herunterladen wird als Reaktion auf eine Herunterladeanfrage (zum Beispiel Auswahl der Menütaste) von dem Gästeterminal 2 begonnen, das an den Host-Computer 7 über die Host-SNES-Schnittstelle angeschlossen ist.
- Nach dem Empfang der Herunterladeanfrage antwortet der Host- Computer 7, indem er eine Anwendungsprogrammübertragung einrichtet, um das Anzeigemenü 2 zu erzeugen, das auf jedem Gästezimmerfernseher erscheint. Das anfängliche Herunterladen des Anwendungsprogramms führt zu einer Menüanzeige in jedem Zimmer, das eine Anfrage initiiert hat. Das Anwendungsprogramm wird von dem Host-Computer 7 zu jeder SNES- Station geschickt.
- Gemäß der zur Zeit bevorzugten Ausführung der vorliegenden Erfindung erlaubt das Anzeigemenü dem Anwender, zwischen verschiedenen Betriebsarten zu wählen, einschließlich: Filme 1009, Spiele 1015, Einkaufen 1023, Zollformulare 1025, Sprachwahl 1027, Kommunikations-/Datenverarbeitungsdienstleistungen 1035. Am Anfang kann der Anwender aufgefordert werden, eine Sprache auszuwählen (1027), damit er zwischen Englisch 1029, Deutsch 1031, Japanisch 1033 usw. wählen kann. Die Sprachwahl wiederum bestimmt die Sprache, die zum Beispiel bei jeder nachfolgenden Filmauswahl usw. verwendet wird.
- Bei einem Ausführungsbeispiel der vorliegenden Erfindung werden Bilder auf dem Schirm angezeigt, um es dem Anwender zu erlauben, eine beliebige Betriebsart verschiedener Betriebsarten auszuwählen. Wenn eine Filmoption (1009) ausgewählt wird, wird eine Überprüfung gemacht, um zu gewährleisten, daß der Film in der passenden Sprache vorliegt (1011). Der Kanal wird dann für den Empfang des ausgewählten Films über einen passenden VCR (nicht gezeigt) geändert (1013).
- Kommunikations- oder Datenverarbeitungsdienstleistungen 1035 können ausgewählt werden, um zwischen Textverarbeitungsdienstleistungen 1045, Fax-Dienstleistungen 1037 usw. auszuwählen. Es wird erwogen, daß das Zimmerterminal einen Anschluß zum Empfangen einer Tastatureingabe umfassen kann. Tastaturen werden gemäß einem Ausführungsbeispiel der vorliegenden Erfindung in den Gästezimmern von dem Hotelpersonal auf Anfrage verteilt. Alternativ kann das System erweitert werden, um im Zusammenhang mit zumindest einigen Zimmern eine Tastatur zu umfassen, die für das Gästeterminal zur Auswahl von Textverarbeitung 1045 oder Fax-Dienstleistungen 1037 ständig angeboten wird.
- Wenn der Gast Fax-Dienstleistungen 1037 auswählt, dann wird der Anwender aufgefordert, mit der Formulierung einer zu übertragenden Nachricht zu beginnen 1039.
- Nach der Erstellung der Nachricht gibt der Anwender ein Ende der Nachricht oder ein anderes spezielles Steuerzeichen ein, um anzuzeigen, daß die Nachricht übertragen werden kann (1041).
- Wenn der Anwender Videospiel-Spielen auswählt (1015), dann werden dem Anwender die verfügbaren Spieltitel und/oder deren Beschreibungen angezeigt (1017). Danach initiiert die Hauptsteuereinheit 7 einen Herunterladevorgang eines Videospielprogramms, der im Detail unten in Verbindungen mit den Fig. 5A und 5B beschrieben wird (1019). Das System beginnt dann, das Spielprogramm auszuführen, und der Passagier kann das ausgewählte Videospiel spielen (1021).
- Das Kommunikationssystem der vorliegenden Erfindung umfaßt auch eine Einkaufsdienstleistungsoption (1023); bei der ein weiter Bereich verfügbarer Artikel von dem Anwender ausgewählt werden kann, um über Kreditkarte oder auf Zimmerrechnung zu kaufen. Außerdem hat das System die Fähigkeit, Hotelgäste aufzufordern, Zollformulare auszufüllen (1025).
- Die Unterhaltungs- und Datenverarbeitungsdienstleistungen, die über das Kommunikationssystem der vorliegenden Erfindung auswählbar sind, das in Fig. 3 gezeigt ist, sind nur beispielhaft. Die vorliegende Erfindung erwägt, daß zusätzliche Dienstleistungen unter den auswählbaren Optionen sein können, wie zum Beispiel Bücher oder Zeitschriften, die auf einem Massenspeichermedium gespeichert sein können, das dem Host-Computer 7 zugeordnet ist. Außerdem ist es erwogen, daß eine Auswahl von Computer-Lernprogrammen zusätzlich zu den auswählbaren Videospielen vorgesehen sein kann.
- Obwohl Fig. 3 die Auswahl von einem weiten Bereich von Unterhaltungs-/Datenverarbeitungs- und anderen Dienstleistungen angibt, legt die folgende Offenbarung einen Schwerpunkt auf die mit der Videospieloption verbundene Verarbeitung.
- Die Fig. 4A bis 4G zeigen Flußdiagramme, die die Schrittfolge darstellen, die von dem Host-Computer 7 beim Steuern des hotelgestützten Videospiel-Spielens durchgeführt wird. Fig. 4A zeigt beispielhafte Vorlade- und Statusprüfschritte. Nachdem die Hochfahrschritte die Initialisierung gemäß einem Ausführungsbeispiel durchgeführt haben (4000), lädt der Hostcomputer 7 jede SNES-Station (1-N) mit einem Videospiel oder einem Anwendungsprogramm im voraus. Das Feld 11 von SNES-Stationen, das im Detail unten beschrieben wird, kann mit zum Beispiel Videospielen im voraus geladen werden, die früher am häufigsten ausgewählt wurden. Zum Beispiel können die zwei oder drei populärsten Videospiele über die verfügbaren SNES-Stationen verteilt werden, und nachfolgende Zimmerzuweisungen der SNES-Stationen können aufgrund der Zuordnung dieser Spiele auf anfragende Zimmerterminals erfolgen.
- Obwohl gemäß einem weiteren Ausführungsbeispiel, wie oben beschrieben, der Host-Computer ein Anwendungsprogramm für jede SNES-Station herunterladen kann, um eine Hauptmenüanzeige zu erzeugen (bei der ein weiter Bereich von Unterhaltungsoptionen zur Auswahl dargestellt wird), legt das vorliegende Flußdiagramm den Schwerpunkt auf die Implementation der Videospieloption. Wie gewünscht, können die SNES- Stationen (1-N), der Host-Computer 7 oder die Gästeterminals (2) programmiert werden, um die Erzeugung von Menüanzeigen zu steuern.
- Nachdem jede Karte im voraus geladen ist, fragt der Host- Computer 7 eine Leiterplatte (1-N) einer SNES-Station ab, um ihren Status zu bestimmen (4002). Wie es unten weiter beschrieben wird, antwortet ein jeder SNES-Station zugeordneter Mikrocontroller 190 auf die Statusabfrage des Hosts, indem ein Statusbyte zurückgegeben wird, das den Status der SNES kennzeichnet. Wenn der abgefragte Status der SNES's okay ist (4003), dann fährt die Verarbeitung fort, indem die nächste Karte geprüft wird, bis alle aktiven Karten geprüft wurden (4009).
- Wenn die Statusüberprüfung nicht okay ist, dann wird eine Überprüfung gemacht, um festzustellen, ob das empfangene Statuswort von dem SNES-Mikrocontroller 190 auf einen beschäftigten Zustand hinweist (4004). Wenn die SNES beschäftigt ist, dann wird eine Überprüfung in Block 4006 gemacht, um zu bestimmen, ob die SNES-Karte für eine ungewöhnliche Zeitdauer beschäftigt war. Wenn das der Fall ist, oder wenn die Überprüfung in Block 4004 ergibt, daß die SNES nicht beschäftigt ist, wird eine Überprüfung gemacht, um festzustellen, ob die Karte von einem Gast genutzt wird (4005). Wenn die Karte nicht von einem Gast benutzt wird, dann bestimmt der Host 7, ob die SNES-Stationskarte eine ungewöhnliche Fehlermenge über eine bestimmte Zeitdauer hatte (4007). Wenn die Karte keine ungewöhnliche Fehlermenge über eine Zeitdauer hatte, dann wird der Herunterladeschritt des Spiels für diese Karte wiederholt (4008), und die Routine verzweigt zu Block 4009 um festzustellen, ob alle aktiven Karten geprüft wurden.
- Wenn die Karte von einem Gast verwendet wurde, wie in Block 4005 festgestellt, verzweigt die Routine zu Block 4010 in Fig. 4B zur SNES-Kartenfehlerverarbeitung. In Block 4010 wird eine Überprüfung gemacht, um festzustellen, ob ein Spiel läuft. Wenn ein Spiel nach einer unakzeptablen Statusantwort läuft (4003), dann verzweigt die Routine zu einem Fehlerbehandlungsprogramm, weil ein Fehler bei der Spielprogrammverarbeitung (oder möglicherweise beim Herunterladen) aufgetreten sein muß. Eine Fehlernachricht wird dann in dem passenden Gästezimmer angezeigt. Ein Optionsmenü wird auch angezeigt, und die Routine verzweigt zu Block 4009 von Fig. 4A, um fortzufahren, aktive SNES-Karten zu prüfen (4011).
- Wenn ein Spiel aufgrund der Verarbeitung in Block 4010 nicht läuft, dann wird eine zusätzliche Fehlerprüfung gemacht, um festzustellen, ob es eine ungewöhnliche Fehlerzahl gab, die von der SNES-Station (1-N) stammt (4012). Wenn es keine ungewöhnliche Fehlerzahl gab, dann wird das Spiel erneut zu dieser SNES-Karte heruntergeladen (4013) und die Routine verzweigt zu Block 4009 von Fig. 4A, um festzustellen, ob alle aktiven Karten geprüft wurden.
- Wenn es eine ungewöhnliche Fehlerzahl für die bestimmte SNES-Station (1-N) gab, dann wird eine Überprüfung in Block 4014 gemacht, ob es eine andere freie SNES-Station gibt. Wenn es keine freie SNES-Station gibt, dann wird eine Fehlernachricht angezeigt, und ein Menü von Optionen wird dem Anwender angezeigt (4015). Danach wird die aktuelle SNES-Station in einen inaktiven Status versetzt (4016), und ein Fehlerbericht für die aktuelle SNES-Station wird erzeugt (4017).
- Wenn die Überprüfung in Block 4014 ergibt, daß es eine weitere SNES-Station gibt, die frei ist, dann wird die aktuelle SNES-Station als inaktiv gekennzeichnet und in einen inaktiven Status versetzt (4018). Die Kennzeichnung einer aktuellen SNES-Station als sich in einem inaktiven Zustand befindend entfernt diese SNES-Station aus dem Abfrageschema des Host-Computers. Danach wird ein Fehlerbericht für die aktuelle SNES-Station erzeugt (4019), und die Zimmerterminalkartenzuweisung wird auf die identifizierte freie SNES-Station geschaltet (4020). Das Schalten der SNES-Kartenzuweisung des Zimmerterminals auf eine freie Karte (4020) führt zu einer Änderung der Station, auf die das Gästeterminal eingestellt ist. Die Spielauswahl des Gastes wird dann auf die neue SNES-Station von dem Host- Computer 7 heruntergeladen (4022), und die Routine verzweigt zu Block 4009 in Fig. 4A. Nach der SNES-Statusverarbeitung in Fig. 4B werden alle aktiven SNES-Karten geprüft sein, wie in Block 4009 in Fig. 4A festgestellt, und die Routine wird zu Fig. 4C verzweigen.
- Fig. 4C zeigt ein Flußdiagramm, das die Schrittfolge darstellt, die von dem Host-Computer 7 durchgeführt wird, wenn er die Menüantworten verarbeitet. Wie in Block 4024 angedeutet, sammelt der Host-Computer 7 Menüantworten von allen Zimmerterminals, nicht nur diejenigen, die gegenwärtig ein Spiel spielen. Eine Überprüfung wird dann gemacht, um festzustellen, ob die Menüantwort eine Anfrage ist, ein Spiel zu spielen (4026). Wenn eine Anfrage gemacht wurde, ein Spiel zu spielen, dann wird eine Überprüfung in Block 4036 gemacht, um festzustellen, ob dieses Zimmer gegenwärtig eine SNES-Station benutzt. Wenn die Überprüfung in Block 4036 ergibt, daß das Zimmer gerade keine SNES-Station benutzt, dann wird eine Überprüfung gemacht, um festzustellen, ob es eine freie SNES-Stationskarte gibt (4040).
- Wenn es eine freie Karte gibt, dann wird eine weitere Überprüfung in Block 4046 gemacht, um festzustellen, ob die Spielwahl des Hotelgastes auf einer bestimmten SNES-Station bereits im voraus geladen wurde. Wenn das der Fall ist, dann wird dem Zimmerterminal diese freie SNES-Station zugewiesen (4050). Das Spiel wird dann in einen Startzustand zurückgesetzt (4052), und die Routine verzweigt zu Block 4034 in Fig. 4C, wo eine Überprüfung gemacht wird, um festzustellen, ob alle Menüantworten geprüft wurden. Wenn das nicht der Fall ist, beginnt die Menüantwortverarbeitung wieder in Block 4026. Wenn alle Antworten geprüft wurden, dann verzweigt die Routine zu einer Spielzeitüberprüfroutine des Spiels in Block 4068, Fig. 4G, was unten beschrieben wird.
- Wenn die Überprüfung in Block 4046 ergibt, das es keine freie Karte mit dem ausgewählten im voraus geladenen Spiel gibt, dann weist der Host-Computer 7 dem Zimmerterminal eine freie Karte zu (4048), und das ausgewählte Spiel wird auf diese SNES-Stationskarte heruntergeladen (4054), und die Routine verzweigt zu Block 4034, um festzustellen, ob alle Antworten geprüft wurden.
- Wenn die Überprüfung in Block 4040 anzeigt, daß es überhaupt keine freie Karte gibt, dann wird eine Fehlernachricht in Block 4042 angezeigt, und eine Menüoption wird in dem Gästezimmer angezeigt (4044). Die Routine verzweigt dann zurück zu Block 4034, um festzustellen, ob alle Antworten geprüft wurden.
- Wenn die Überprüfung in Block 4036 anzeigt, daß der Raum gerade eine Karte verwendet, dann wird das ausgewählte Spiel auf diese SNES-Stationskarte heruntergeladen (4038), und die Routine verzweigt zu Block 4034, um festzustellen, ob alle Antworten geprüft wurden.
- Wenn die Überprüfung in Block 4026 anzeigt, daß es keine Anfrage war, ein Spiel zu spielen, dann wird eine Überprüfung gemacht, um festzustellen, ob es eine Anfrage war, weitere Zeit zu kaufen (4028). Wenn es eine Anfrage war, mehr Zeit zu kaufen, dann verzweigt die Routine zu Block 4056, der in Fig. 4D gezeigt ist, um die Fernsehanzeige des Hotelgastes wieder zurück unter die Steuerung einer SNES- Station zu schalten. Der Host-Computer gibt einen Befehl heraus, daß die CPU des SNES weiterarbeitet (4058), die angehalten wurde, als die Spielzeit abgelaufen war. Die Routine verzweigt dann zurück zu Block 4034 in Fig. 4C, um festzustellen, ob alle Antworten geprüft wurden.
- Wenn die Überprüfung in Block 4028 anzeigt, daß es keine Anfrage war, mehr Zeit zu kaufen, dann wird in Block 4030 eine Überprüfung gemacht, um festzustellen, ob es eine Anfrage war, das Spielen des Spiels zu beenden. Wenn es eine Anfrage gab, das Spielen des Spiels zu beenden, dann verzweigt die Routine zu Block 4060 in Fig. 4E. Wie in Block 4060 angedeutet, zeigt der Hostprozessor an, daß die dem Zimmer zugewiesene SNES-Station frei ist. Danach wird an dem Fernseher des Hotelzimmers ein Hauptmenü angezeigt (4062), und die Routine verzweigt zu Block 4034 in Fig. 4C.
- Wenn die Überprüfung in Block 4030 anzeigt, daß es keine Anfrage zum Beenden des Spielens des Spiels war, dann wird eine Überprüfung in Block 4032 gemacht, um festzustellen, ob es eine Anfrage für das Hauptmenü war. Wenn das der Fall ist, verzweigt die Routine zu Block 4064, die in Fig. 4F gezeigt ist. Wie in Block 4064 angedeutet, wird die Fernsehanzeige des Zimmers von dem Anzeigen von Charaktern unter der Steuerung eines SNES-Videospielprogramms auf Anzeigen eines Menüs umgeschaltet. Danach wird die dem Zimmer zugewiesene SNES-CPU angehalten (4066) und die Verarbeitung fährt mit Block 4034 von Fig. 4C fort, wo eine Überprüfung gemacht wird, um festzustellen, ob alle Menüantworten von allen Zimmerterminals geprüft wurden. Wenn die Verarbeitung in Block 4032 anzeigt, daß es keine Anfrage für das Menü war, dann verzweigt die Routine zu Block 4034.
- Nachdem alle Antworten geprüft wurden, wie in Block 4034 festgestellt, verzweigt die Routine zu Block 4068 von Fig. 4G, wo das Überprüfen der Spielzeit für das Spiel passiert. Wie in Block 4068 angedeutet, werden die Zimmerterminals mit zugewiesenen SNES-Stationen von dem Host-Computer 7 abgefragt (mit einer Rate, die größer als die Zimmerterminals ist, die nicht zugewiesen sind). Zum Beispiel kann der Host- Computer 7 Zimmerterminals, die beim Spielen eines Spiels involviert sind, alle 60'tel Sekunden abfragen. Andere, kein Spiel spielende Zimmerterminals werden auch von dem Host- Computer 7 abgefragt, aber vorzugsweise nicht mit derselben 60'tel-Sekunden-Rate.
- Die von den Zimmerterminals gesammelten Informationen als Ergebnis des Abfragens des Host werden über die Tastendruckverbindung, die in Fig. 1 gezeigt ist, zu der zugewiesenen SNES-Station geschickt. Genauer werden Tastendruckinformationen, die von dem Spielcontroller 3 erzeugt werden, über die MCU 6 zu der Tastendruckverbindung geschickt, die in Fig. 1 gezeigt ist, die von der passenden SNES-Station (1-N) empfangen werden. Der Mikrocontroller 190, der zu jeder SNES-Station gehört, greift auf die von seinem zugeordneten SNES-Videospielprozessor zu verarbeitenden SNES-Spielcontrollerinformationen zu und schickt derartige Signale auf den Spielcontroller-Eingangsleitungen zu der SNES, wie es unten beschrieben wird.
- Eine Überprüfung der Spielzeit des Spiels von einem ersten Gästezimmerterminal wird dann gemacht, das aktiv ein Spiel spielt (4070). Eine Überprüfung wird in Block 4072 gemacht, um festzustellen, ob die Spielzeit des Spiels die gekaufte Zeitdauer überschreitet. Wenn die Zeit abgelaufen ist, dann wird ein Haltebefehl zu der zugeordneten SNES-CPU geschickt (4074), und ein Optionsmenü wird an dem Zimmerterminal angezeigt (4076) einschließlich einer Option, weitere Zeit zu kaufen. Wenn die Zeiten für das erste Zimmerterminal nicht abgelaufen ist (4072) oder nachdem die Menüoptionen angezeigt wurden (4076), fährt die Verarbeitung mit Block 4078 fort, wo eine Feststellung gemacht wird, ob alle Zimmerterminals geprüft wurden. Wenn alle Zimmerterminals geprüft wurden, dann fährt die Verarbeitung mit Block 4002 in Fig. 4A fort, um die Host-Verarbeitung zu wiederholen.
- Wenn die Überprüfung in Block 4078 anzeigt, daß alle Zimmerterminals, die ein Spiel spielen, nicht geprüft wurden, dann verzweigt die Routine zurück zu Block 4020, um die Verarbeitung der Überprüfung der Spielzeit für das Spiel zu wiederholen.
- Die Fig. 5A und 5B zeigen ein detailliertes Flußdiagramm, das die Schrittfolge darstellt, die von den SNES-Stationen durchgeführt wird, die Programme aus ihren jeweiligen Hochfahr-ROMs während des Herunterladevorgangs des Spielprogramms ausführen, der in Block 1019 von Fig. 3 gezeigt ist. Am Anfang des Herunterladevorgangs des Spielprogramms (38) fragt die SNES-CPU ihren Empfangspuffer ab, um festzustellen, ob irgendwelche heruntergeladenen Daten empfangen wurden (40). Alle empfangenen Daten umfassen Programmdaten, die mit bestimmten einrahmenden oder anderen Daten geteilt werden, wie unten beschrieben. Wenn keine heruntergeladenen Daten empfangen wurden, fährt die Routine fort, den Empfangspuffer abzufragen, bis solche Daten empfangen werden.
- Wenn Daten empfangen werden, werden sie ausgelesen (42). Die ersten Bytes der Informationen werden verwendet, um die Anzahl von Speicherbanken des pseudostatischen RAM's (174, Fig. 7) einzurichten, das verwendet werden wird, um das heruntergeladene Programm zu speichern (44). Danach wird das nächste Datenbyte ausgelesen (46) und verwendet, um die Anfangsbanknummer festzulegen (52). Eine Überprüfung wird in Block 52 gemacht, um festzustellen, ob die empfangene Banknummer gültig ist. Die richtige Banknummer kann verifiziert werden, indem festgestellt wird, ob die Bank in einen bestimmten Bereich fällt. Wenn die empfangene Banknummer nicht gültig ist, dann wird das Herunterladen verworfen (48), und eine Fehlernachricht wird zu dem Mikrocontroller 190 der SNES-Karte gesendet (50), und die Routine wird beendet.
- Wenn die richtige Banknummer spezifiziert wurde, wie durch die Überprüfung in Block 52 festgestellt, dann lädt sie ein Register in der SNES mit der richtigen Bank, so daß Programmdaten zu dieser Bank geleitet werden (54).
- Danach werden die nächsten beiden Datenbytes ausgelesen (56). Wie in Block 58 angedeutet, wird eine Überprüfung gemacht, um festzustellen, ob die beiden in Block 56 gelesenen Datenbytes die richtige Speicherstartadresse kennzeichnen. Wenn die richtige Speicherstartadresse nicht gekennzeichnet wird, dann verzweigt die Routine zu Block 48, um das Herunterladen zu verwerfen. Wenn die richtige Speicherstartadresse gekennzeichnet wurde, wie in Block 60 angedeutet, dann wird die gekennzeichnete Startadresse eingerichtet. Die beiden nächsten Datenbytes werden dann ausgelesen (62), die die Anzahl von Bytes in der Bank kennzeichnen. Eine Überprüfung wird in Block 64 gemacht, um festzustellen, ob die richtige Anzahl von Bytes gekennzeichnet wurde. Wenn das nicht der Fall ist, verzweigt die Routine zu Block 48.
- Wenn die richtige Anzahl von Bytes gekennzeichnet wurde, dann werden Daten im Block 66 ausgelesen, die das gegenwärtige Programm betreffende Daten sind. Danach wird das Byte in den Speicher geschrieben, nachdem jedes Byte gelesen wurde (68). Wie in Block 70 angedeutet, wird dann eine Überprüfung gemacht, um festzustellen, ob alle Bytes in der Bank empfangen wurden. Wenn nicht alle Bytes empfangen wurden, dann verzweigt die Routine zurück zu Block 66. Sobald alle Bytes empfangen wurden, wird eine Überprüfung gemacht, um festzustellen, ob alle gekennzeichneten Banken empfangen wurden (72). Wenn nicht alle Banken empfangen wurden, dann verzweigt die Routine zu Block 42 zu weiteren Bankverarbeitung.
- Wenn alle Banken empfangen wurden, dann wird eine Prüfsumme von den heruntergeladenen Speicherinhalten berechnet (74). Wenn die Prüfsumme mit einem gespeicherten Prüfsummenwert übereinstimmt (76), wird das Programm ausgeführt (80), und die Routine wird beendet. Wenn die Prüfsumme nicht übereinstimmt, dann verzweigt die Routine zu Knoten AB in Fig. 5A zur Fehlerverarbeitung, nach der der Herunterladevorgang erneut begonnen werden kann.
- Fig. 6 zeigt ein allgemeines Blockschaltbild, das signifikante Daten und Steuersignale zeigt, die den SNES-Stationen 1-N zugeordnet sind. Jede SNES-Station umfaßt eine Videospielcomputerkarte 100 und eine Speicherkarte 102, die beide unten detaillierter beschrieben werden. Bei den zur Zeit bevorzugtem Ausführungsbeispiel ist die Videospielcomputerkarte 100 eine kompakte Version des Super-NES- Videospielsystems. Die Speicherkarte 102 umfaßt Speichervorrichtungen zum Speichern eines heruntergeladenen Spielprogramms, von Spielcharakterdaten und anderen Anwendungsprogramminformationen. Die Speicherkarte 102 umfaßt zusätzlich einen Hochfahr-Nur-Lesespeicher (ROM), dessen Hochfahrprogramm, das beim Anschalten ausgeführt wird, festlegt, ob der pseudostatische RAM in der Speicherkarte 162 die erwartete Programminformation enthält und andere Operationen durchführt, wie unten in Verbindung mit den Fig. 10A bis 10C erklärt. Bei der zur Zeit bevorzugten Ausführung enthält die Speicherkarte auch einen in Fig. 7 gezeigten Mikrocontroller 190 zusammen mit einem ZILOG-Kommunikationscontroller Modell-Nr. Z85233.
- Mit Bezug auf die Daten- und Steuersignale, die zwischen der Videospiel-/Computerkarte 100 und der Speicherkarte 102 ausgetauscht werden, wird ein Auffrischsignal REFRESH zu der Speicherkarte 102 geschickt, um die Direktzugriffspeicher- (RAM)-Vorrichtungen auf eine Weise aufzufrischen, die den Fachleuten klar ist. Die Computerkarte 100 schickt auch ein Systemtaktsignal und ein 21 MHz-Taktsignal zu der Speicherkarte. Das Systemtaktsignal schafft das notwendige Takten für Registerfunktionen und für die Speicherkarte RAM auf eine den Fachleuten klaren Weise. Die Systemuhr erlaubt vorzugsweise, daß die Taktrate zumindest in einem begrenzten Umfang auswählbar ist. Das ROMSEL- und das RAMSEL-Signal werden von der Videospielcomputerkarte erzeugt und als Chip- Aktiviersignale eingesetzt, die von der Dekodierlogik in der Speicherkarte verarbeitet werden, um den passenden Speicher zu der passenden Zeit auszuwählen. Wie in Fig. 6 gezeigt, sind verschiedene Stromleitungen und bidirektionale Steuerleitungen auch an die Speicherkarte und die Videospielcomputerkarte angeschlossen.
- Unter den Steuersignalen, die zu der Videospielcomputerkarte 100 geschickt werden, sind Videospielsteuersignale, die von einem von einem Spieler Hand-Controller 3 erzeugt werden. Diese Signale werden über einen Mikrocontroller 190 (Fig. 7) auf der Speicherkarte 102 an die Videospielcomputerkarte 100 geschickt. Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden die Signale, die von einem SNES-artigen Spielcontroller 3 erzeugt werden, von einer Logikschaltung auf der Speicherkarte 102 elektronisch geschaltet. Gemäß dem vorliegenden Ausführungsbeispiel werden die Steuerungssignale zu dem Mikrocontroller 190 geschickt, der die Spielereingabesignale elektronisch schaltet und diese Signale zu dem Videospielcomputer über die Steuerleitungen schickt, die in Fig. 6 gezeigt sind. Auf der Speicherkarte 102 werden zwei elektronische 8-Bit- Schalter eingesetzt, um eine 16-Bit-Spielersteuerungsinformation für die Videospielcomputerkarte 100 zu schaffen.
- Die Videospielcomputerkarte hat 24 Adreßleitungen CAO-CA23, die an die Speicherkarte 102 angeschlossen sind und verwendet werden, um die Speichervorrichtungen zu adressieren, die darin eingebaut sind. Außerdem werden 8 Datenleitungen zum Austausch von Daten zwischen der Speicherkarte 102 und der Computerkarte 100 eingesetzt. Die Speicherkarte 102, wie unten weiter erklärt wird, umfaßt ein pseudostatisches RAM zum Speichern von Programminformationen, die wie andere Speicher auf der Speicherkarte 102 zu den Adreßdatenleitungen geschickt werden. Die Videospielcomputerkarte 100 umfaßt auch zusätzliche Steuerleitungen zum Schicken von Lese- oder Schreibsignalen zu den Speichervorrichtungen auf der Speicherkarte 102.
- Die Speicherkarte 102 umfaßt auch eine IRESET-Leitung, um ein extern erzeugtes Setze-Zurück-Signal für die Videospielcomputerkarte 100 zu schaffen. IRESET wird verwendet, wenn das System aufgrund von Kommunikationsproblemen zurückgesetzt werden muß, die von Zeit zu Zeit in dem Hotel auftreten können, oder wenn die Kommunikation aufgrund anderer Kommunikationen höherer Priorität beendet werden muß. Die RESET-Leitung, die in Fig. 6 gezeigt ist, wird verwendet, um die Elemente, die auf der Speicherkarte verkörpert sind, beim Anschalten zurückzusetzen, damit sich Spannungszustände einstellen können. Die Computer- und Speicherkarte sind auch miteinander über einen 8-Bit- Adreßbus PAO-PA7 verbunden, der das Adressieren von Registern (unten beschrieben) zuläßt, die in einem bestimmten Adreßraum der CPU angeordnet sind.
- Die Speicherkarte 102 empfängt ein synchronen seriellen Hochgeschwindigkeitseingang, der eine von dem Host-Computer 7 heruntergeladene Programminformation umfaßt. Ein derartiger synchroner serieller Eingang wird zum Beispiel mit 408 kBaud empfangen und kann Spielprogramm- oder Anwendungsprogramminformationen umfassen. Die Speicherkarte enthält auch einen asynchronen seriellen Eingangs-/Ausgangsanschluß, der einen Eingang bei zum Beispiel 102,4 kBaud empfängt, einschließlich Tastendruckdaten- oder -befehle, (zum Beispiel Halt, Setze-Fort, Setze-Zurück) des Spielcontrollers umfassen, die zu der SNES von einem Gästeterminal 2 über das RF-Modem 5, die MCU 6 und die Tastendruckdatenverbindung gesendet werden, die in Fig. 1 gezeigt ist. Außerdem ist ein weiterer asynchroner serieller Eingangs/Ausgangsanschluß vorhanden, der Informationen von dem Host- Computer 7 bei zum Beispiel 38,4 kBaud empfängt. Befehle von dem Host-Computer 7 werden zu dem Mikrocontroller der Speicherkarte und dem SNES (die wiederum dem Host-Computer 7 antwortet) über diese bidirektionale Verbindung geschickt. Die Speicherkarte 102 empfängt auch einen 5-Volt-Spannungseingang. Außerdem gibt die Videospielcomputerkarte 100 Videosignalausgänge und linke und rechte Audiokanalsignale zu dem Fernseher des Gastes aus, wie in Fig. 1 beschrieben.
- Es ist den Fachleuten klar, daß die oben beschriebenen Eingangssignale auf geeignete Weise zu der SNES-Station geleitet werden, die einem bestimmten Gästezimmer zugewiesen ist. Wenn acht SNES-Stationen bei einer bestimmten Anwendung verwendet werden, kann eine 3-Bit-"Adresse" eingesetzt werden, um eine bestimmte SNES-Station eindeutig zu kennzeichnen.
- Fig. 7 zeigt ein Blockschaltbild von der auf der Speicherkarte 102 verkörperten Schaltung, die in Fig. 6 gezeigt ist. Die Speicherkarte 102 umfaßt eine Dekodierlogik 150, 152, 154, 156, die zugeordnete Register 158, 160, 162, 164 umfassen und zum Beispiel in einer programmierbaren Feldlogik (PAL) implementiert sein kann. Die Dekodierlogik 150-156 führt das Dekodieren und das Laden der Register betreffende Funktionen durch, wie es unten im Detail beschrieben wird.
- Jeder Dekodierlogik 150, 152, 154, 156 ist ein einzelnes Bitregister zugeordnet. Das Register 158 wird als das Geschwindigkeitsregister gekennzeichnet. Das Register 160 ist als das Zbank-Register gekennzeichnet. Das Register 162 wird als das Abbildungsartregister gekennzeichnet, und das Register 164 wird als das Hochfahr-/Ablaufregister gekennzeichnet. Die Funktion der Register 158-164 wird unten weiter erklärt. Die in dem jeweiligen Registern gespeicherten Bits werden in einem Pseudo-RAM (PSRAM)-Controller 166 eingegeben, der wiederum gemäß dem Zustand von dem Ausgang der Register 158-164 die Adreßabbildungsart des Pseudo-RAMs 174 auswählt. Die Adreßabbildungsfunktionen, die von dem PSRAM-Controller 166 implementiert sind, erlauben es, daß verschiedene Spiele unterschiedliche Adreßabbildungsarten verwenden, um unter Verwendung der gleichen Speicherkarten- Hardware ausgeführt zu werden.
- Der pseudostatische RAM-Controller 166 stellt zusätzlich zum Durchführen der Adreßabbildungsfunktionen auch ein Pseudostatisches-RAM-Ausgang-Aktiv-Signal für eine Lesefunktion und ein Schreibenaktivsignal zur Verfügung und erzeugt das Auffrischsignal, das für das pseudostatische RAM 174 erforderlich ist. Der pseudostatische RAM-Controller 166 empfängt Adreßdaten von den Super-NES-Adreßleitungen (wie in Fig. 6 gezeigt). Diese Adreßdaten werden in Abhängigkeit von dem Zustand der Register 158-164 interpretiert, die wiederum als Reaktion auf die Adreßsignale eingestellt werden, die von der Dekodierlogik 150-156 über die Adreßleitungen, wie PA0-PA7, eingegeben werden. Bei dem Ausführungsbeispiel ist das pseudostatische RAN 174 vorzugsweise ein 2 MByte-RAM, das auch auf PSRAM-Steuersignale anspricht, wie in Fig. 7 gezeigt.
- Die Register 162, 164 sind an den statischen RAM-Controller 168 angeschlossen, der den Zugriff auf das RAM 176 steuert, indem ein Chipauswahlsignal aufgrund des Ausgangs erzeugt wird, der von den Registern 164, 162 empfangen wird. Das statische RAM 176 wird über Adreßsignale auf dem Super-NES- Adreßbus adressiert und spricht auf Lese- und Schreibsteuersignale des Super-NES an, wie in Fig. 7 gezeigt.
- Die Register 160, 162 und 164 sind an einen nicht flüchtigen RAM-Controller 170 angeschlossen, der ein Chipauswahlsignal für den nicht flüchtigen RAM 178 erzeugt. Der nichtflüchtige RAM 178 wird von dem SNES-Adreßbus adressiert und empfängt ein Schreibsteuersignal und ein Lesesteuersignal über Chip aktiv, wie in Fig. 7 gezeigt. Die Inhalte von dem Hochfahr-/Ablaufregister 164 ebenso wie die Setze SNES zurück- und ROM-Auswahlsignale werden zu dem EPROM-Controller 172 geschickt, der ein Chipauswahlsignal zu der geeigneten Zeit erzeugt, um das EPROM 180 auszulesen. Der EPROM-Controller 172 empfängt eine Adresse von dem Super- NES-Adreßbus. Das EPROM kann als Reaktion auf ein SNES- Schreibsteuersignal beschrieben werden. Das pseudostatische RAM 174, das SRAM 176, das nicht-flüchtige RAM 178 und das Hochfahr-ROM 180 sind alle an die SNES-Adreß- und Datenbusse angeschlossen.
- Das pseudostatische RAM 174 speichert entweder ein heruntergeladenes Spielprogramm oder die heruntergeladenen Anwendungsprogramme, wie oben beschrieben. Das statische RAM 176 speichert verschiedene Arten von Spielparameterinformationen und arbeitet als ein Hilfsspeicher. Das nicht-flüchtige RAM 178 speichert Informationen, die von einem Anwendungsprogramm erzeugt werden, und Informationen, die den Status des pseudostatischen RAM's 174 betreffen, einschließlich Informationen, die die Datenart kennzeichnen, die in dem pseudostatischen RAM 174 gespeichert sind.
- Die Speicherkarte 102 umfaßt auch bei dem vorliegenden Ausführungsbeispiel einen Schnittstellen-Mikrocontroller 190, der zum Beispiel ein Hitachi-H8/325-Mikrocontroller sein kann. Der Mikrocontroller 190 führt Funktionen durch, die unten im Detail beschrieben werden.
- Die Speicherkarte 102 umfaßt zusätzlich einen Steuerdekoder 182, der an die SNES-Adreßleitungen angeschlossen ist. Als Reaktion auf an den SNES-Adreßleitungen empfangene Signale schickt der Steuerdekoder 182 ein "Daten bereit"-Signal zu dem Mikrocontroller 190, ein "Lesen"-Signal für den Zuerst rein-Zuerst raus-(FIFO)-Puffer 184 und stellt ein "Daten reingeschoben"-Signal für den elektronischen Schalter 188 zur Verfügung (der Daten von den SNES-Datenleitungen empfängt), der wiederum Daten in dem Mikrocontroller 190 herausschiebt. Der FIFO 184 empfängt mit hoher Geschwindigkeit heruntergeladene Informationen von dem Mikrocontroller 190 und speichert solche Daten als Reaktion auf das von der MCU 190 erzeugte "Schreibe"-Signal. Der Steuerdekoder 182 löst als Reaktion auf ein Lesesteuersignal an seinen Eingangsadreßleitungen einen Lesevorgang von dem FIFO 184 aus. Wenn keine Daten in dem FIFO 184 auf Anfrage verfügbar sind, wird von dem FIFO 184 ein "Daten nicht bereit"-Signal erzeugt, das zu dem Steuerdekoder 182 und den SNES-Datenleitungen geschickt wird. Um Daten zu dem MCU 190 zu schreiben, prüft der SNES-Prozessor die "beschäftigt"-Leitung, die darauf hinweist, wenn der MCU 190 Daten empfangen kann. Wenn der MCU 190 Daten empfangen kann, dann wird ein Byte in den elektronischen Schalter 188 verschoben, der wiederum das "beschäftigt"-Signal aktiviert, indem er ein "Eingangs- Strobe"-Signal sendet. Wenn der MCU 190 Daten nicht empfangen kann, fährt der SNES fort, das "beschäftigt"- Signal zu prüfen.
- Der Mikrocontroller 190 steuert zusätzlich einen seriellen ZTLOG-Kommunikationscontroller 192, der angeschlossen ist, um mit hoher Geschwindigkeit heruntergeladene Programmbefehle und Daten von dem Host-Computer 7 zu empfangen. Die heruntergeladenen Programmbefehle und -daten werden zu dem seriellen ZILOG-Kommunikationscontroller 192 über den Balanceniveauverschieber 194 gesendet. Die mit hoher Geschwindigkeit heruntergeladenen Daten von dem Tuner 86 weisen einen logischen Wert von 0 bis 1 Volt auf. Der Niveauverschieber 194 ist ein herkömmlicher Niveauverschieber, der die 0 bis 1-Volt-Daten auf 0 bis 5-Volt-Daten konvertiert.
- Die Speicherkarte 102 umfaßt auch einen Haltecontroller 196, der an den Mikrocontroller 190 angeschlossen ist. Der Haltecontroller 196 ist ausgelegt, um ein Haltesignal an den Videospielcomputer zu schicken. Das Haltesignal kann erzeugt werden, um das Spielen des Spiels nach einer bestimmten Zeitdauer anzuhalten, zum Beispiel 1 h nach Beginn, derart, daß der Anwender aufgefordert werden kann, weitere Spielzeit anzufragen und für solche Zeit zu zahlen. Außerdem kann der Haltecontroller programmiert sein, um auch an die Öffentlichkeit adressierte Ankündigungen oder andere Ereignisse in dem Hotel anzusprechen, die für Ereignisse gehalten werden, die die den Haltezustand auslösen sollten. Der Haltecontroller 196 gewährleistet, daß der Halt nicht zu irgendeiner zufälligen Zeit stattfindet, sondern erfordert, daß das Halten in Übereinstimmung mit einem Speicherauffrischvorgang passiert, um das Verlieren gespeicherter Daten und des Uhrsignals des Systems zu vermeiden. Das Halten des Super- NES kann erwünscht sein, wenn Aufgaben höherer Priorität durchgeführt werden müssen, oder wenn zum Beispiel irgendwelche andere Gründe zum Anhalten des Videospielcomputers vorliegen, wie zum Beispiel während Kommunikations- oder Stromproblemen.
- Wie vorher angedeutet, schickt die Speicherkarte 102 Spielcontrollerdaten zu der Videospielcomputerkarte über Controllereingangsleitungen. Derartige Controllerdaten werden zu dem Mikrocontroller 190 über einen asynchronen seriellen Anschluß geschickt. Die Controllerdaten werden zu dem SNES über den elektronischen Schalter 186 ausgegeben, dessen Ausgang an die Datenleitung eines Controllers angeschlossen sind, wie in Fig. 6 gezeigt.
- Der Mikrocontroller 190 umfaßt auch eine Setze-Ausgang- Zurück-Leitung, die verwendet wird, um den Videospielcomputer zurückzusetzen, um sich zum Beispiel von einem temporären Spannungsabfall in dem Hotel oder irgendwelchen anderen elektrischen Störungen zu erholen. Das Hochfahr-ROM- Programm prüft, um festzustellen, ob es als eine Folge von einem derartigen Fehlerzustand ausgeführt wird.
- Die Fig. 8A bis 8H zeigen verschiedene Konfigurationen des Adreßraums des Videospielcomputers. Die Speicherkonfiguration, auf die CPU des Videospielcomputers zugreifen kann, wird durch die Informationen, die in den Registern 158, 160, 162 und 164 gespeichert sind, definiert, wie sie beispielhaft in den Fig. 8A-8H gezeigt sind.
- Die Fig. 8A und 8D zeigen zwei beispielhafte Speicherkonfigurationen, nachdem der Strom am Anfang angeschaltet wurde. Wie in den Fig. 8A und 8D gezeigt, wird das Hochfahrprogramm im ROM am Anfang ausgeführt, auf das von der Zugriffspeicherbank 00 zugegriffen wird. Während dieser Zeitdauer läuft kein Anwendungsprogramm, wie durch das Hochfahr-/Ablaufregister angedeutet wird, daß eine logische "0" speichert. Das Hochfahr-/Ablaufbit schaltet zwischen dem Hochfahr-ROM, das auf eine Stelle für den Videospielcomputer zum Ausführen (Hochfahr/Ablauf = 0) abgebildet wird, und dem Inhalt der pseudostatischen RAM's hin und her, die auf eine Speicherstelle für den Videospielcomputer zum Ausführen (Hochfahr/Ablauf = 1) abgebildet werden. Wie in den Fig. 8A und 8D gezeigt, haben die Inhalte der "Geschwindigkeit"- und "Z-Bank"-Register keine Auswirkung auf diese Speicherkonfiguration (wie durch das "X" oder dem "Beachte es nicht"-Zustand angedeutet wird. Die Register 158-164 werden als Reaktion auf die Auswahl eines Spielprogramms eingestellt, bevor ein bestimmtes Spielprogramm heruntergeladen wird.
- Fig. 8A stellt die Speicherkonfiguration dar, die die Standardkonfiguration ist, in der der SNES-Videospielcomputer normalerweise die Ausführung einer ROM-Spielkassette beginnen würde. In dieser Konfiguration ist das Hochfahr- ROM, das auf der Speicherkarte 102 verkörpert ist, an Stelle der ROM-Spielkassette abgebildet. Bei der anfänglichen Anschaltabbildung, die in Fig. 8A gezeigt ist, kann der Videospielcomputer auf das nichtflüchtige RAM (NVRAM) zugreifen, damit das ROM-Hochfahrprogramm eine Überprüfung von dem letzten Status des Systems durchführen kann, bevor es ausgeschaltet wurde (der in einem nichtflüchtigen RAM 178 gespeichert ist). Wie in Fig. 8A gezeigt, kann die CPU während der Ausführung des Hochfahrprogramms auf das pseudostatische RAM 174, das statische RAM 176 und das NVRAM 178 zugreifen.
- Die Fig. 8B, 8C und 8E definieren drei Standardspeicheradreßraumkonfigurationen, die einem weiten Bereich von Spielen der Super Nintendo Unterhaltungsysteme zugeordnet sind. Wie in 8B, 8C und 8E angedeutet, sind die Inhalte der Hochfahr-/Ablaufregister "1", was andeutet, daß das Spielprogramm ausgeführt wird.
- Die Speicherabbildungsarten, die in den Fig. 8B und 8C gezeigt sind, unterscheiden sich darin, dass in Fig. 8C ein Bild von den pseudostatischen RAM-Stellen in bestimmten niedrigeren Adreßspeicherbanken und höheren Speicheradreßbanken erscheint. Wie in den Fig. 8B und 8C gezeigt, unterscheiden sich die zugeordneten Registerzustände aufgrund der Inhalte von dem "Geschwindigkeits"-Register. Wie oben angedeutet, erzeugt die Videospielcomputersystemuhr Signale mit zwei unterschiedlichen Taktraten. Bei einem Ausführungsbeispiel der vorliegenden Erfindung wird die Hochgeschwindigkeitstaktrate eingesetzt, um Programme (die in einem Bild der PSRAM-Speicherbanken niedriger Ordnung gespeichert sind) aus Adreßbanken höherer Ordnung auszuführen.
- Die Einstellung des Z-Bankregisters steuert die Fähigkeit von einem Anwendungsprogramm, dem Videospielcomputer nach Abschluß der Ausführung zu erlauben, auf das Hochfahr-ROM zuzugreifen, um das Herunterladen eines Spielprogramms zuzulassen. Einem Spielprogramm kann jedoch nicht erlaubt werden, auf das Hochfahr-ROM zuzugreifen. Der Zustand von dem Z-Bankregister ist auf die Decodier-Logik rückgekoppelt, um anzuzeigen, daß das Anwendungsprogramm läuft. Das Abbildartbit definiert zum Teil die auszuwählende Adreßabbildungsart.
- Wenn ein Videospielprogramm läuft, schließt der Zustand von dem Z-Bankregister die Modifikation des Geschwindigkeits-, Z-Bank-, Abbildart-, oder Hochfahr-/Ablauf-Registers aus. Wenn ein Anwendungsprogramm läuft, kann der Zustand dieser Register jedoch später modifiziert werden.
- Die in Fig. 7 gezeigte Speicherkarte 102 arbeitet wie folgt. Wenn am Anfang Strom eingeschaltet wird, ist die CPU der Videocomputerkarte in dem in Fig. 8A gezeigten Zustand und das in dem Hochfahr-ROM gespeicherte Programm wird ausgeführt. Die Ausführung des ROM-Hochfahrprogramms (das unten detaillierter beschrieben wird) fordert die CPU des Videospielcomputers auf, Daten, die auf den Datenleitungen des Videospielcomputers erscheinen, in den elektronischen Schalter 188 als Reaktion auf "Schiebe-Daten-rein"-Steuersignale zu schreiben, die von dem Steuerdecoder 182 als Reaktion auf Signale auf den SNES-Adreßleitungen erzeugt werden. Der Mikrocontroller 190 wird über seinen "Eingangs-Strobe"- Steuereingang informiert, dass Daten bereit sind. Die MCU 190 liest die in dem elektronischen Schalter 188 gespeicherten Daten aus und schickt die Daten zu dem SNES-Videospielprozessor oder dem Host-Computer 7.
- Daten, die zu dem SNES zu schicken sind, werden von der MCU 190 in den FIFO 184 geladen. Der SNES-Videospielcomputer überwacht, wenn er Programme ausführt, die in dem Hochfahr- ROM gespeichert sind, den FIFO 184 auf das Vorliegen eines Statusflags, wenn Daten verfügbar sind. Der SNES schickt dann ein Steuersignal auf seinen SNES-Adreßleitungen, die von dem Steuerdecoder 182 decodiert werden, um ein "Lesen"- Signal zu erzeugen, das zu dem FIFO 184 geschickt wird, der mit dem Auslesen der Informationen der SNES-Datenleitungen beginnt.
- Das ROM-Hochfahrprogramm kann dann als Reaktion auf die gelesenen Daten das Herunterladen eines Anwendungsprogrmms, eines Spielkennzeichners, der eindeutig auf das Spiel hinweist, das ausgewählt wurde, und/oder von Abbildartregisterindizes einleiten, die in die Register 158-164 zu laden sind. Gemäß einem Ausführungsbeispiel der Erfindung wird das erste Mal, wenn das ROM-Hochfahrprogramm ausgeführt wird, das Herunterladen des Anwendungsprogramms eingeleitet. Wenn das Anwendungsprogramm heruntergeladen ist, überwacht das Hochfahr-ROM den Statusflag des FIFO 184 auf das Vorliegen von Informationen, die gelesen werden können. Das Anwendungsprogramm selber wird über einen Hochgeschwindigkeitsherunterladelink durch den Niveauverschieber 194 in die serielle ZILOG-Kommunikationsanschlußsteuerung 192 heruntergeladen, die als Reaktion auf Steuersignale von dem Mikrocontroller 190 Daten zu dem Mikrocontroller schickt, der wiederum die Daten und/oder Befehle zu dem FIFO 184 lädt.
- Wenn das Anwendungsprogramm von dem Host-Computer 7 heruntergeladen ist, nachdem es in dem FIFO 184 gepuffert wurde, wird es in das pseudostatische RAM 174 über den SNES-Datenbus geladen. Nachdem das Anwendungsprogramm heruntergeladen ist, werden spielbezogene Parameterdaten geladen und in dem nichtflüchtigen RAM 178 gespeichert. Auf diese Weise ist das Anwendungsprogramm fähig, während der Ausführung auf den Inhalt des nichtflüchtigen RAM's 178 zuzugreifen, um die Anzeige derartiger Informationen, wie die bestimmten Spiele und/oder Lernprogramme zu ermöglichen, die verfügbar sind. Wenn das Anwendungsprogramm erfolgreich heruntergeladen wurde, wird der Inhalt von dem Z-Bankregister auf "1" gesetzt, und der Adreßraum des Videospielcomputerspeichers wird wie in den Fig. 8E-8H gezeigt organisiert.
- Während der Ausführung des Anwendungsprogramms macht der Anwender die gewünschte Menüauswahlen. Die Menüauswahlen führen zu dem Laden von Daten in den elektronischen Schalter 188 in Fig. 7. Das "Eingangsstrobe"-Signal wird dann zu dem Mikrocontroller 190 gesendet, der das Auslesen von Daten aus dem elektronischen Schalter 188 auslöst, damit die Menüauswahldaten zu dem Host-Computer 7 gesendet werden. Das letztendliche Ziel der Daten hängt von der Menüauswahl des Anwenders ab, die auf die Notwendigkeit hinweisen kann, ein bestimmtes Videospielprogramm herunterzuladen, oder von der Anwenderauswahl eines Films, einzukaufen, oder von irgendeiner anderen Betriebsart.
- Wenn ein Spiel ausgewählt wird, werden Spielersteuerdaten, die zum Beispiel auf die Bewegung von einem sich bewegenden Objekt, zum Beispiel Super Mario, hinweisen, zu der MCU 190 von einem Zimmertreminal geschickt, und die Spielercontrollerinformationen werden in den elektronischen Schalter 186 eingelesen. Die Spielersteuerdaten werden dann zu dem Videospielcontroller über Datenleitungen des SNES-Controllers geschickt. Die Spielercontrollerdaten können auf eine Richtungsbewegung von einem sich bewegenden Objekt nach links, nach rechts, nach oben oder nach unten hinweisen, oder auf Steuersignale, die von den "A"-, "B"-, usw. Steuertasten auf einen SNES-Standardcontroller erzeugt werden.
- Während der Ausführung des Programms, das in dem Hochfahr- ROM gespeichert ist, ist es erlaubt, daß die Inhalte der Register 158-164 geändert werden. Adressen, die auf den Adreßleitungen PAO-PA7 erscheinen, werden eingesetzt, um eindeutig alle vier Register 158, 160, 162 und 164 einzustellen oder zurückzusetzen. Eine PAL-Decodierlogik 150, 152, 154 und 156 verhindert, daß zugeordnete Register während der Zeitdauer eingestellt oder zurückgesetzt werden, wenn das System eine derartige Modifikation ausschließt. Zum Beispiel wird es die Decodierlogik 150 während der Ausführung eines Spiels nicht zulassen, die Taktrate eines Spiels zu ändern.
- Fig. 9 zeigt ein vereinfachtes Blockdiagramm eines beispielhaften Computer-/Videospielverarbeitungssystems, das in Verbindung mit der vorliegenden Erfindung eingesetzt werden kann. Gemäß dem vorliegenden Ausführungsbeispiel kann die Computerkarte zum Beispiel das 16 Bit-Videospielsystem sein, das kommerziell von Nintendo of America Inc. verkauft wird, wie das Super Nintendo Unterhaltungssystem (Super NES). Das Super NES ist zum Teil in der US-Patentanmeldung-Nr. 07/651265 mit dem Titel "Video processing apparatus", die am 10. April 1991 eingereicht wurde, der US-Patentanmeldung-Nr. 07/749530 mit dem Titel "Direct Memory Access Apparatus and External Storage Device Used Therein", das am 26. August 1991 eingereicht wurde, und der US-Patentanmeldung Nr. 07/793 735, die unter dem Titel "Mosaic picture Display Apparatus and External Unit Used Therefore" am 19. November 1991 eingereicht wurde, beschrieben. Es ist jedoch klar, daß die vorliegende Erfindung nicht auf Super NES bezogene Anwendungen beschränkt ist und in Verbindung mit anderen Videospiel-/Datenverarbeitungssystemen oder anderen keine Videospielinformationen verarbeitenden Vorrichtungen eingesetzt werden kann. Somit sollte die Bezugnahme in der ganzen Beschreibung auf Super NES (SNES) oder SNES-Stationen den Schutzbereich der vorliegenden Erfindung nicht auf Super NES bezogene Anwendungen oder Systeme mit einem Blockdiagramm, wie in Fig. 9 gezeigt, einschränken. Das Super NES wird vorzugsweise in einer Anzahl von Aspekten geändert, wie zum Beispiel denen hier beschriebenen. Die RF-Modulator- schaltung, die in einem herkömmlichen Super NES-System enthalten ist, ist in dem vorliegenden Ausführungsbeispiel nicht eingebaut, sondern externe RF-Modulatoren werden verwendet. Wie in Fig. 9 gezeigt, wird die Videospielcomputerkarte 100 an die Speicherkarte 102 angeschlossen, die im Detail in Fig. 7 beschrieben wurde. Die Host-CPU 220 und die anderen Hardware-Komponenten auf der Karte 100, wie oben gezeigt, sind für das Super NES typisch, das kommerziell von Nintendo von Amerika verkauft wird.
- Die Host-CPU 220 ist eine 16 Bit-CPU, die zum Beispiel ein 65816 kompatibler Mikroprozessor sein kann. Die CPU 220 ist an ein Arbeits-RAM 226 angeschlossen, der zum Beispiel 128K- Byte Speicher umfassen kann. Die CPU 220 ist an eine Bildverarbeitungseinheit 222 angeschlossen (die im Detail in den '265, '530 und '735 Anmeldungen beschrieben sind), die wiederum an ein Video-RAM 228 angeschlossen ist. Die CPU 220 kann nur auf das Video-RAM 228 über die PPU 222 zu anderen Zeiten zugreifen, als bei einer aktiven Leitungsabtastung, wenn die PPU 222 auf den Video-RAM 228 zugreift. Die PPU 222 erzeugt ein Videosignal, das zu einem Fernsehbildschirm eines Gastes geschickt wird. Die CPU 220 ist auch an eine Audio-Verarbeitungseinheit APU 224 angeschlossen, die an ihren Arbeits-RAM 230 angeschlossen ist. Die APU 224, die einen kommerziell erhältlichen Tonchip enthalten kann, erzeugt die dem Videospiel zugeordneten Töne, das in dem pseudostatischen RAM 174 auf der Speicherkarte 102 gespeichert ist. Die Host-CPU 220 kann nur über die APU 224 auf den Arbeits-RAM 230 zugreifen.
- Der Video-RAM 228 in der Super NES wird mit geeigneten Charakterdaten geladen, die in dem pseudostatischen RAM 174 gespeichert sind (das nicht nur das Spielprogramm, sondern auch die Charakterdaten speichert, die während des Spielen des Spiels verwendet werden). Alle sich bewegenden Objekte und Hintergrundcharakter, die anzuzeigen sind, sind in dem Video-RAM 228 vor der Anzeige resident vorhanden.
- Auf das das Programm speichernde pseudostatische RAM 174 wird von der Host-CPU 220 über Adreßbusse und Datenbusse zugegriffen, die im Großen und Ganzen in Fig. 9 gezeigt sind. Die PPU 222 ist an die Speicherkarte über geteilte Host-CPU- Daten- und Adreßbusse und über Anschlüsse 234 angeschlossen, um einen Weg für PPU-Daten und Steuersignale zu schaffen, die an die Speicherkarte zu schicken sind. Die APU 224 ist an die Speicherkarte über geteilte Host-CPU-Busse und den Audio-Bus 232 angeschlossen.
- Wie oben beschrieben und in Fig. 9 gezeigt, erzeugt die Super NES eine Vielzahl von Steuersignalen. Wenn die CPU 220 der Super NES auf den pseudostatischen RAM 174 zugreifen muß, erzeugt sie das Steuersignal ROMSEL. Um eine Speicherauffrischung einzuleiten, erzeugt die Super NES ein Auffrischsignal RFSH. Die Host-CPU 220 erzeugt zusätzlich Lese- und Schreibsignale. Zeitgebersignale des Systems werden von der Zeitgeber-Kettenschaltung 210 auf der Videospielverarbeitungskarte 100 erzeugt. Ein Setze-Zurück-Signal beim Anschalten wird auch auf der Videospielcomputerkarte 100 erzeugt und zu der Speicherkarte 102 geschickt. Weitere Steuersignale, die in Fig. 8 gezeigt sind und für die vorliegende Hotelanwendungsimplementation eindeutig sind, wurden oben beschrieben, wie zum Beispiel das "Halt"-Steuersignal und das "IRESET"-Signal, die in Verbindung mit den Fig. 6 und 7 beschrieben wurden. Eine vollständigere Wiedergabe der zwischen der Speicherkarte 102 und der Videospiel-/Computerkarte 100 ausgetauschten Signale ist in Fig. 6 gezeigt.
- Die Fig. 10A-10D zeigen die Schrittfolge, die von dem in dem in Fig. 7 gezeigten Hochfahr-ROM 180 gespeicherten Programm durchgeführt werden, außer den Herunterladevorgängen, die vorher in den Fig. 5A und 5B beschrieben wurden. Wenn das Hochfahrprogramm zu laufen beginnt, werden die Register und Anschlüsse der CPU 220 und PPU 222, die der Videospiel-/Computerkarte 100 zugeordnet sind, initialisiert (251). Nach der Initialisierung wird der Anfangsanzeigebildschirm eingestellt (252), der von dem Anwender gesehen wird (der entweder von dem Host-Computer 7 oder der SNES erzeugt werden kann).
- Wie in Fig. 10A angedeutet, führt die Ausführung des beispielhaften Hochfahr-ROM-Programms dazu, daß der SNES eine Anschaltnachricht, zum Beispiel "Hallo" zu dem Mikrocontroller 190 auf der Speicherkarte sendet (254). Die Nachricht von dem SNES informiert den Mikrocontroller 190, daß die SNES gerade einen Rücksetzungsvorgang durchgemacht hat (d. h. entweder eine "Strom an"-Rücksetzung oder eine Rücksetzung, die von der Betätigung der "RESET"-Taste des Spielcontrollers folgt.
- Der Mikrocontroller 190 erzeugt danach eine von verschiedenen Antworten auf die "Hallo-"Nachricht der SNES. Wie in Block 256 angedeutet, prüft die SNES andauernd, ob eine Antwort von dem Mikrocontroller empfangen wurde. Wenn eine Antwort von dem Mikrocontroller 190 empfangen wird, wird eine Überprüfung gemacht, um festzustellen, ob die Antwort anzeigt, daß das in dem pseudostatischen RAM gespeicherte Spiel neu gestartet werden soll (258).
- Wenn die Antwort nicht anzeigt, daß das Spiel neu gestartet werden soll, dann wird in Block 260 eine Überprüfung gemacht, um festzustellen, ob ein Herunterladevorgang begonnen wurde. Wenn ein Herunterladen eines Programms nicht begonnen wurde, dann wird in Block 262 eine Überprüfung gemacht, um festzustellen, ob eine "Warte auf Befehl"- Antwort empfangen wurde, was typischerweise anzeigt, daß es, nachdem das gesamte System am Anfang angeschaltet wurde, es notwendig ist, auf einen Befehl zu warten.
- Wenn die Antwort nicht die Notwendigkeit anzeigt, auf einen Befehl zu warten, dann wird in Block 264 eine Überprüfung gemacht, um festzustellen, ob ein Speicherkartentest begonnen wurde. Wenn ein Speicherkartentest nicht begonnen wurde, dann verzweigt die Routine zurück zu Block 254, um die Übertragung der "Strom an"-Nachricht zu dem Mikrocontroller zu initiieren, um die oben beschriebene Verarbeitung zu wiederholen. Wenn ein Speicherkartentest begonnen wurde, dann testet das ROM-Hochfahrprogramm der SNES den Speicher und sendet die Ergebnisse zu dem Mikrocontroller 190 (266). Der Speichertest kann zum Beispiel das Lesen und Schreiben von Informationen in den pseudostatischen RAM 174, den statischen RAM 176 und den nicht-flüchtigen RAM 178 umfassen, um einen richtigen Speichervorgang zu gewährleisten. Die Routine verzweigt dann zurück zu Block 256, um für eine Antwort von dem Mikrocontroller 190 zu prüfen.
- Wenn aufgrund der Überprüfung in Block 258 die Antwort von dem Mikrocontroller 190 andeutet, daß ein Spiel neu zu starten ist, dann leitet, wie in Fig. 10B gezeigt, der Mikrocontroller die Abbildungsart des Spielprogramms (siehe Fig. 8A-8H) und die Spielprogramm-Größeninformationen zu den SNES weiter. Danach werden die Abbildungsart-Register, die in Fig. 7 gezeigt sind, geladen (270), und das Arbeits- RAM wird gelöscht (272). Die Routine verzweigt dann zu dem auszuführenden Spielprogramm (274).
- Wieder mit Bezug auf Fig. 10A werden, wenn die Überprüfung in Block 260 andeutet, daß ein Herunterladevorgang begonnen wurde, wie in Fig. 10C gezeigt, Spielprüfsummendaten, die von den Mikrocontrollern 190 weitergeleitet wurden, von der SNES gelesen (276). Danach liest die SNES die Abbildungsart und -größe des Spielprogramms, und Spielnameninformationen, die von dem Mikrocontroller 190 weitergeleitet wurden (277, 278). Die Routine verzweigt dann zu der Herunterladeverarbeitungsroutine (279), die oben in Verbindung mit den Fig. 5A und 5B beschrieben wird.
- Fig. 10D stellt die Schrittfolge dar, die während der nicht abbildbaren Bearbeitung der Unterbrechung des Hochfahr-ROMs auftreten, was die einzige Unterbrechung ist, die bei dem ROM-Hochfahrprogramm auftreten kann. Wie in Block 281 angedeutet, wird ein "Warte"-Timer inkrementiert, der verwendet wird, um verschiedene Timer zu steuern, wie zum Beispiel einen Timer, der die Wartezeit steuert, die für ein Herunterladen zum Starten gewährbar ist. Als nächstes wird, wie in Block 282 angedeutet, die Anzeige mit einer Uhrinformation aktualisiert (zum Beispiel einer Handbewegung), um die Tätigkeit des Systems anzudeuten. Alle zusätzlichen Nachrichten, die angezeigt werden müssen, werden dann angezeigt (283). Bei einem Ausführungsbeispiel der vorliegenden Erfindung wird während des Herunterladevorgangs ein Herunterladen-Kennzeichner geändert (284), um das Ausmaß des Abschlusses des Herunterladens anzuzueigen. Nachdem die Unterbrechungsroutine ausgeführt wurde, kehrt die Routine zu der Hosthochfahrroutine zurück, die in den Fig. 10A-10C gezeigt ist.
- Fig. 11 zeigt ein Flußdiagramm, das die Schrittfolge darstellt, die bei einer Hostverarbeitungsroutine von dem Mikrocontroller 190 durchgeführt wird, der in Fig. 7 gezeigt ist. Die Fig. 12A-12D, 13A, 13B, 14, 15A-15I, 16, 17, 18A-18H, 19-21 zeigen Flußdiagramme, die weitere Details der Abfolge der Mikrocontrollervorgänge zeigen, die von Abzweigungen resultieren, die von dem Hauptprogramm von Fig. 11 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung gemacht werden. Der Mikrocontroller 190 führt eine von Unterbrechungen angetriebene Software aus, die kontinuierlich verschiedene Statusflags überprüft. In Abhängigkeit von einem Statusflag-Zustand fährt der Mikrocontroller 190 fort, auf einer Bytepro-Byte- Basis entweder Daten zu senden oder Daten zu empfangen.
- Mit Bezug auf Fig. 11 wird eine Reihe von Initialisierungsschritten durchgeführt, um die Hauptprogrammschleife des Controllers zu beginnen. Sobald Strom angeschaltet wird, wie in Block 300 angedeutet, werden die dem Mikrocontroller 190 zugeordneten Unterbrechungen inaktiviert. Wenn serielle Daten an dem Eingangsanschluß des Controllers während dieser Zeitdauer empfangen werden, wird die Initialisierung somit nicht unterbrochen. Danach werden Variablen, die festlegen, welche Schritte zu machen sind, initialisiert (302). Wie in Block 304 angedeutet, werden Datenlenkregister, die der MCU 190 zugeordnet sind, initialisiert, um festzulegen, ob ein bestimmter Stift als ein Eingangs- oder Ausgangsstift arbeitet. Danach werden die seriellen Anschlüsse der MCU initialisiert, um die passenden Übertragungsraten und die Anzahl von Start-, Stop- und Paritätsbits einzustellen (306). Die Übertragungsraten, die dem seriellen Kommunikationscontroller (192) zuzuordnen sind, werden dann initialisiert (308). Die Software des Mikrocontrollers 190 setzt dann den FIFO 184 (310) und die CPU 220 und PPU 222 des Super-NES zurück (312), um zu gewährleisten, daß die SNES beginnt, das Hochfahr-ROM 180 auszuführen.
- Danach werden Puffer, die Spielersteuerdaten zu der SNES schicken, initialisiert (314). Wie in Schritt 316 angedeutet, wird die Super-NES dann angehalten und die Unterbrechungen der MCU 190 werden aktiviert (318). Der eingebaute Timer wird dann initialisiert (320). Der Timer der MCU wird verwendet, um zeitgesteuerte Unterbrechungen auszulösen, die initialisiert werden, wenn der Timer zum Beispiel von einem Anfangswert auf Null herunterzielt.
- Die Hauptprogramm-Initialisierungsverarbeitung wird auf die Freigabe des SNES aus seinem Haltezustand hin abgeschlossen (322). Danach, wie in Block 324 angedeutet, prüft der Mikrocontroller 190, um festzustellen, ob Tastendruckdaten in dem Eingangspuffer der MCU vorliegen. Wenn das der Fall ist, verzweigt die Routine zu der in Fig. 12A gezeigten Tastendruckdatenverarbeitungsroutine, die unten beschrieben wird.
- Wenn keine Tastendruckdaten vorliegen, wie in Block 324 bestimmt, dann wird eine Überprüfung gemacht (326), um festzustellen, ob Host-Daten in dem Host-Dateneingangspuffer vorliegen. Wenn Host-Daten vorhanden sind, dann verarbeitet die Routine die Host-Daten gemäß den in den Fig. 13A und 13B gezeigten Flußdiagrammen.
- Wenn keine Host-Daten vorliegen, wie in Block 326 bestimmt, dann wird eine Überprüfung gemacht (328), um festzustellen, ob es Daten in dem SNES-Eingangspuffer in dem Mikrocontroller 190 gibt. Wenn es Daten in dem SNES-Eingangspuffer gibt, dann werden diese Daten gemäß dem Flußdiagramm in Fig. 17 verarbeitet. Wenn keine SNES-Daten vorhanden sind, dann verzweigt die Routine zurück zu Block 324, um wieder festzustellen, ob irgendwelche Daten in dem Tastendruckeingangspuffer vorhanden sind.
- Die oben beschriebene Verarbeitung findet unabhängig in jedem Mikrocontroller 190 statt, der einer typischen der SNES-Station (1-N) zugeordnet ist, die in Fig. 1 gezeigt sind.
- Die Fig. 12A-12D zeigen die Schrittfolge, die mit der Verarbeitung von Tastendruckdaten verbunden ist. Wenn die Überprüfung in Block 324 (Fig. 11) andeutet, daß Daten in dem Tastendruckeingangspuffer vorhanden sind, verzweigt die Routine 330 in Fig. 12A, wo festgestellt wird, ob zumindest zwei Tastendruckdatenbytes in dem Tastendruckeingangspuffer vorhanden sind. Wenn es nicht zumindest zwei Tastendruckdatenbytes in dem Eingangspuffer gibt, dann verzweigt die Routine zurück zu Block 326 (Fig. 11), um den Host-Eingangspuffer zu prüfen. Wenn es zumindest zwei Bytes in dem Tastendruckeingangspuffer gibt, dann wird ein Byte ausgelesen (332).
- Nach dem Auslesen des ersten Tastendruckdatenbytes wird eine Überprüfung gemacht, um festzustellen, ob das erste Byte ein Kopfbyte ist (334). Das Vorwort eines Tastendruckdatenstroms besteht aus einem Kopfbyte, das angibt, daß Tastendruckdaten folgen. Das Kopfbyte stellt den Startpunkt von dem Datenstrom dar. Jeder SNES-Station ist eine Zeitscheibe zugewiesen, um Daten in einem übertragenen Datenstrom auszulesen. Wenn das gelesene Byte ein Kopfbyte ist, wie in Block 334 festgestellt, wird das nächste Byte ausgelesen (336). Gemäß einem beispielhaften Kommunikationsprotokoll sollte dieses Byte ein Datenstromkennzeichner sein. Es wird mit der Datenstromnummer verglichen, die der unterworfenen SNES- Station zugewiesen ist (338).
- Wenn die Prüfung in Block 338 angibt, daß die zugewiesene Datenstromnummer für die Mikrocontroller 190 der bestimmten SNES-Station ist, dann wird ein Datenpositionszähler zurückgesetzt (340), derart, daß er synchron mit der Position des zugewiesenen Datenstroms zählt. Der Zustand von der MCU 190 wird dann auf "synchronisiert" eingestellt (342), und die Routine verzweigt zurück zu Block 330 (Fig. 12A) zur weiteren Verarbeitung, um festzustellen, ob es zumindest zwei weitere Bytes in dem Eingangstastendruck-Datenpuffer gibt. Wenn es zumindest zwei weitere Bytes in dem Puffer gibt, dann wird noch einmal ein Byte gelesen (332), und eine Überprüfung wird gemacht, um festzustellen, ob das Byte ein Kopfbyte ist (334).
- Nachdem am Anfang ein Kopfbyte ausgelesen wurde, führt der zweite. Durchlauf durch diese Schleife zu dem Auslesen des nächsten Bytes (344). Eine Überprüfung wird gemacht, um zu gewährleisten, daß der Status synchronisiert ist (346). Wenn das Status nicht synchronisiert ist, dann wird das Byte, das gerade gelesen wurde, "ungelesen" (in dem die Lesezeiger zurückgesetzt werden) (348), und die Routine verzweigt zurück zu Block 330, um die Schleifenverarbeitung zu wiederholen. Wenn die Überprüfung in Block 346 andeutet, daß der Status synchronisiert ist, dann wird eine Überprüfung gemacht, um festzustellen, ob die Daten Teil einer zugewiesenen Scheibe sind (350). Wenn die Daten nicht Teil einer zugewiesenen Scheibe sind, dann wird der Datenpositionszähler inkrementiert (352), und die Routine verzweigt zurück zu Block 330 (Fig. 12A).
- Wenn die Daten Teil einer zugewiesenen Zeitscheibe sind, dann wird in Block 354 eine Überprüfung gemacht, um festzustellen, ob die zwei Bytes, die gelesen wurden, einen Befehl darstellen (354). Wenn die gelesenen Bytes keinen Befehl darstellen, wird eine Überprüfung gemacht, um festzustellen, ob sie gültige Tastendruckdaten sind (356). Wenn die beiden Bytes einen Befehl darstellen, dann verzweigt die Routine zu Block 372 in Fig. 12B, wie unten beschrieben.
- Wenn die beiden gelesenen Bytes gültige Tastendruckdaten sind, wie in Block 356 festgestellt, wird eine Überprüfung gemacht, um festzustellen, ob die SNES-CPU angehalten wurde (358). Eine Halteüberprüfung wird gemacht, um es dem Anwender zu erlauben, den Halt der CPU zu lösen, um zum Beispiel mehr Spielzeit zu kaufen. Wenn die CPU angehalten ist, dann zeigt das Gästeterminal 2 eine Menüanzeige an, die eine Option zum Fortsetzen des Spielen des Spiels schafft. Das Halten der SNES wird als Reaktion auf die Betätigung einer Starttaste 50 gelöst. Eine Überprüfung wird gemacht, um festzustellen, ob eine Starttaste gedrückt wurde (360). Wenn das der Fall ist, wird der das Halten der SNES-CPU gelöst (362), und der Starttastenbit wird in dem zugeordneten Spielcontrollerbyte gelöscht, so daß die Starttaste erscheint, als ob sie nicht gedrückt worden ist (364).
- Nach der Verarbeitung in Block 364 oder wenn die Starttaste nicht gedrückt wurde, oder die CPU nicht angehalten wurde (358), verzweigt die Routine zu Block 366, um Bites zu dem SNES-Controlleranschluß zu senden. Danach wird der Status auf "nicht synchronisiert" eingestellt (368), wird der Datenpositionszähler inkrementiert (370), und verzweigt die Routine zurück zu Block 330, wo der Eingangstastendruckpuffer geprüft wird, um festzustellen, ob zwei Bytes vorhanden sind.
- Gemäß der Verarbeitung von Fig. 12A werden Tastendruckdaten auf der Tastendruckdatenverbindung zu allen SNES-Stationen gesendet. Diese Daten werden von allen SNES-Stationen überwacht, und die passenden Daten, die der bestimmten SNES- Station zugewiesen sind, werden von dem Datenstrom durch diese SNES-Station herausgezeogen und verarbeitet.
- Wenn die Überprüfung in Block 354 anzeigt, daß die beiden Bytes, die von einer zugewiesenen Zeitscheibe gelesen wurden, ein Befehl sind, dann verzweigt die Routine zu Block 372 in Fig. 12B, um zu gewährleisten, daß der Befehl ein gültiger Befehl ist. Eine Überprüfung auf einen gültigen Befehl wird gemacht, indem festgestellt wird, ob der Befehl einer von der beschränkten Anzahl gültiger Befehle ist, die von der MCU 190 von einem Gästeterminal empfangen werden können. Wenn die Überprüfung in Block 372 angibt, daß der Befehl kein gültiger Befehl ist, dann wird das zuletzt gelesene Byte ungelesen gemacht (374), und die Routine verzweigt zurück zu Block 330 (Fig. 12A).
- Wenn der Befehl ein gültiger Befehl ist, wie in Block 372 bestimmt, wird eine Überprüfung gemacht, um festzustellen, ob der Befehl ein "Rücksetz"-Befehl ist (376). Wenn der Befehl ein Rücksetzbefehl ist, dann verzweigt die Routine zu Block 377 (Fig. 12D), wo eine Überprüfung gemacht wird, um festzustellen, ob der Herunterladevorgangstatus der SNES OK ist. Wenn der Super-NES-Herunterladestatus OK ist, dann wird ein Statusflag gesetzt, um den Spielrücksetzstatus anzuzeigen (379). Nachdem die SNES zurückgesetzt ist (381), sendet die SNES-CPU einen "Hallo"-Befehl zu dem Mikrocontroller 190, der antwortet, indem er die SNES beauftragt, mit der Ausführung des Spielprogramms zu beginnen, das in dem pseudostatischen RAM 174 gespeichert ist. Danach verzweigt die Routine zurück zu Block 330 (Fig. 12A).
- Wenn die Überprüfung in Block 376 anzeigt, daß der Befehl kein Rücksetzbefehl ist, dann wird eine Überprüfung gemacht, um festzustellen, ob der Befehl ein "Halte"-Befehl ist (378). Wenn der Befehl ein Haltebefehl ist, dann gibt der Mikrocontroller einen Haltebefehl an die SNES-CPU aus (380), und die Verarbeitung kehrt zu Block 330 zurück (Fig. 12A). Wenn die Überprüfung in Block 378 anzeigt, daß der Befehl kein Haltebefehl ist, dann wird eine Überprüfung gemacht, um festzustellen, ob der Befehl ein "Löse Halt"-Befehl ist. Wenn der Befehl ein Löse Halt-Befehl ist, dann löst der Mikrocontroller 190 den Halt der SNES-CPU 384, und die Routine verzweigt zu Block 330 (Fig. 12A).
- Wieder mit Bezug auf Fig. 12A verzweigt, wenn die Überprüfung in Block 356 anzeigt, daß die beiden von der zugewiesenen Scheibe gelesenen Bytes keine gültigen Tastendrucke sind, die Routine zu Block 384 (Fig. 12C). Wie in Fig. 12C gezeigt werden, wenn ungültige Daten festgestellt werden, die beiden letzten zuletzt gesendeten gültigen Steuerbytes erneut gesendet (384). Danach werden die beiden letzten Bytes "ungelesen" gemacht (386), und die Routine verzweigt zurück zu Block 330 von Fig. 12A.
- Die oben beschriebene Tastendruckdaten- und -befehlsverarbeitung führt dazu, daß die SNES alle Tastendruckdaten und Steuerinformationen empfängt, die für die SNES notwendig sind, um auf interaktive Spielerbefehle für sich bewegende Objekte (wie zum Beispiel Super Mario) auf viele verschiedene Weisen zu antworten, die von den SNES-Spielprogrammen erlaubt sind. Informationen werden gemäß herkömmlichen SNES- Spielprogramm-Verarbeitungstechniken verarbeitet.
- Wieder mit Bezug auf die Hauptverarbeitungsroutine in Fig. 11 verzweigt, wenn die Überprüfung in Block 126 anzeigt, daß Daten in dem Host-Eingabepuffer vorhanden sind, die Routine zu Block 388 in Fig. 13A. In Block 388 wird eine Überprüfung gemacht, um festzustellen, ob das Lesestatusflag auf "Warte auf das Kopfbyte" eingestellt ist, um den Start von dem Datenstrom zu identifizieren. Wenn das nicht der Fall ist, dann wird eine Überprüfung gemacht, um festzustellen, ob der Status "Warte auf einen Befehl" ist (390).
- Wenn die Überprüfung in Block 388 anzeigt, daß der Status Warten auf ein Kopfbyte ist, dann verzweigt die Routine zu Block 392 (Fig. 13B), wo eine Überprüfung gemacht wird, um festzustellen, ob zumindest ein Byte in dem Host-Eingangspuffer ist. Wenn das nicht der Fall ist, dann verzweigt die Routine zurück zu dem Hauptprogramm (Fig. 11) in Block 328, um festzustellen, ob es Daten in dem SNES-Eingangspuffer gibt. Wenn es zumindest 1 Byte in dem Host-Eingangspuffer gibt, dann wird dieses Byte gelesen (394), und eine Überprüfung wird gemacht, um festzustellen, ob das Byte ein Kopfbyte ist (396). Wenn das Byte kein Kopfbyte ist, dann verzweigt die Routine zurück zu Block 392, um auf den Empfang von dem Kopfbyte zu warten.
- Wenn die Überprüfung in Block 396 anzeigt, daß das Byte ein Kopfbyte ist, dann wird der Lesestatus auf "Warte auf Befehl" eingestellt, und die Verarbeitung fährt mit Block 400 fort, wo eine Überprüfung gemacht wird, um festzustellen, ob es zumindest ein Byte in dem Host-Eingangspuffer gibt. Wenn das nicht der Fall ist, dann verzweigt die Routine zu dem Hauptprogramm (Fig. 11) in Block 328. Wenn es zumindest ein Byte in dem Puffer gibt, wird dieses Byte gelesen (402), und eine Überprüfung wird gemacht, um festzustellen, ob das gelesene Byte auf einen gültigen Befehl hinweist (404). Wenn die Überprüfung in Block 404 anzeigt, daß der Befehl nicht ein gültiger Befehl ist, dann wird das Lesestatusflag auf "Warte auf Kopf" eingestellt, und die Routine verzweigt zurück zu Block 396, um auf einen Kopfbyte zu prüfen.
- Wenn die Überprüfung in Block 404 anzeigt, daß das gelesene Byte auf einen gültigen Befehl hinweist (wie zum Beispiel durch eine Tabelle gültiger Befehle angegeben), dann bestimmt der Mikrocontroller die Länge von dem kompletten Befehl einschließlich zusätzlich erforderlicher Informationen, wie zum Beispiel Prüfsummendaten und ein Ende-der- Nachricht-Flag (408). Auf diese Weise kann die MCU 190 gewährleisten, daß der komplette Befehl empfangen wurde, bevor irgendeine Verarbeitung beginnt. Mögliche gültige Befehle umfassen "Halte-", "Löse Halt", "verschiedene Speichertestbefehle", ein "Setze auf Hochfahr-ROM Zurück"- Befehl zurück, einen Befehl, det die die SNES-Station identifizierende Adresse ändert, verschiedene Statusprüfbefehle usw.. Danach wird der Status auf "Warte auf Lesebefehl" eingestellt (410).
- Wenn die Überprüfung in Block 390 (Fig. 13A) anzeigt, daß das Status "Warte auf Befehl" ist, oder wenn der Status gerade auf "Warte auf Lesebefehl" eingestellt wurde (410), dann wird eine Überprüfung in Block 412 gemacht, um festzustellen, ob die in Block 408 berechnete Befehlslänge mit der Länge von den Bytes in dem Eingangspuffer übereinstimmt (412). Wenn der vollständige Befehl nicht in dem Eingangspuffer vorhanden ist, dann verzweigt die Routine zurück zu dem Hauptprogramm in Block 328 (Fig. 11). Wenn der gesamte Befehl in dem Eingangspuffer vorliegt, dann werden alle Befehlsbytes ausgelesen (414). Nachdem alle Befehlsbytes gelesen wurden, wird das nächste Byte ausgelesen (416), und eine Überprüfung wird gemacht, um festzustellen, ob das nächste Byte gleich dem Ende-der-Nachricht-Flag ist (418).
- Wenn das zuletzt gelesene Byte nicht ein Ende-der-Nachricht- Byte ist, dann ist ein Fehler bei der Befehlsverarbeitung aufgetreten, und alle Bytes werden ungelesen gemacht, außer den ersten beiden nach dem Kopf (420). Danach verzweigt die Routine zu Block 396, wo eine Überprüfung gemacht wird, um festzustellen, ob das gelesene Byte ein Kopfbyte ist.
- Wenn das zuletzt gelesene Byte, wie in Block 418 festgestellt, ein Ende-der-Nachricht-Flag war, dann verzweigt die Routine zu Block 422 (Fig. 14), um den Befehl zu verarbeiten. Die Befehlverarbeitung beginnt, indem eine Prüfsumme aufgrund der gerade empfangenen Befehlsnachricht berechnet wird 422. Die in dem Eingangspuffer gespeicherten Prüfsummendaten werden dann ausgelesen (424). Nach dem Einstellen des "Lesestatus"-Flags auf "Warte auf Kopf" (426), werden die berechnete und die empfangene Prüfsumme verglichen, um festzustellen, ob es eine Übereinstimmung gibt (428). Wenn die Prüfsummen nicht übereinstimmen, dann wird eine Antwort zu dem Host-Computer 7 gesendet (über die gleiche Befehlsverbindung, über die der Befehl übertragen wurde), die anzeigt, daß der Befehl nicht richtig empfangen wurde (430), und die Routine verzweigt zurück zu Block 328 (Fig. 11).
- Wenn die Prüfsummen übereinstimmen, dann wird eine Reihe von Tests durchgeführt (432-450), um zu bestimmen, welcher Befehl übertragen wurde, so daß der Befehl ausgeführt werden kann. Wie in Fig. 14 gezeigt, bestimmen eine Reihe von Tests, ob der Befehl ein "Löse Halt"-Befehl (432), ein "Halte"-Befehl (434), ein "Teste Speicherkarte"-Befehl (436), ein "Prüfe Testergebnis"-Befehl (438), ein "Setze Hochfahr-ROM zurück"-Befehl (440), ein "Ändere Tastendruckdatenscheibe"-Befehl (442), ein "Prüfe Status"-Befehl (444), ein "Setze Spiel zurück"-Befehl (446), ein "Ändere Übertragungsrate des Tastendruckanschlusses"-Befehl (448), oder ein "Herunterlade"-Befehl (450) ist.
- Wenn die Reihe von "Befehls-Tests" in Block 428 bis 450 jeweils ein negatives Ergebnis ergibt, dann sendet der Mikrocontroller 190 eine Nicht-Akzeptiert- (NAK)-Antwort zu dem Host-Computer 7, um anzuzeigen, daß entweder ein ungültiger oder nicht implementierter Befehl empfangen wurde, und die Routine verzweigt zurück zu dem Hauptprogramm (Fig. 11) in Block 328.
- Die Fig. 15A-15I, und Fig. 16 zeigen die Schrittfolge, die mit dem Ausführen der in Fig. 14 gezeigten Befehle verbunden ist. Mit Bezug auf den "Löse Halt"-Befehl (Block 432) verzweigt die Routine zum Ausführen dieses Befehls zu Block 454 (Fig. 15A), wo eine Überprüfung gemacht wird, um festzustellen, ob die SNES beschäftigt ist, als eine Sicherheitsüberprüfung, um zu gewährleisten, daß sich die SNES nicht in dem Vorgang des Empfangens eines heruntergeladenen Spiels befindet. Wenn die SNES beschäftigt ist, dann wird zu dem Host eine Antwort gesendet, daß die SNES beschäftigt ist (456), und die Verarbeitung verzweigt zu Block 328 (Fig. 11).
- Wenn die SNES nicht beschäftigt ist, dann wird der "Löse Halt"-Befehl ausgeführt (458), und ein Bestätigungssignal wird zu dem Host gesendet, das anzeigt, daß der "Löse Halt"- Befehl richtig empfangen und ausgeführt wurde (460), und die Routine verzweigt zu Block 328 in Fig. 11.
- Wenn ein "Löse Halt"-Befehl nicht empfangen wurde, sondern ein "Halte"-Befehl empfangen wurde, dann verzweigt die Routine zu Block 462 (Fig. 15B). Sehr ähnlich wie die "Löse Halt"-Verarbeitung beginnt die "Halte"-Verarbeitung, indem geprüft wird, um festzustellen, ob die SNES beschäftigt ist (462). Wenn die SNES beschäftigt ist, dann wird eine Beschäftigt-Antwort zu dem Host gesendet (463), und die Routine verzweigt zu Block 328 (Fig. 11). Wenn die SNES nicht beschäftigt ist, dann wird der Halte-Befehl von dem Mikrocontroller 190 ausgeführt (464), ein Bestätigungssignal zu dem Host-Computer 7 geschickt (466), und verzweigt die Routine zu Block 328 von Fig. 11.
- Wenn der verarbeitete Befehl ein "Teste Speicherkartenbefehl" ist (436), dann verzweigt die Routine zu Block 468 in Fig. 15C. In Block 468 wird die Super-NES in einen Hochfahrzustand zurückgesetzt, um einen Befehl abzuwarten. Der Mikrocontroller 190 sendet dann einen Speichertestbefehl zu der SNES (468). Der Mikrocontroller 190 sendet dann ein Bestätigungssignal zu dem Host-Computer 7 (470), um anzuzeigen, daß ein Speichertest läuft und stellt den SNES- Status auf beschäftigt (472). Die Routine verzweigt dann zu Block 328 (Fig. 11).
- Wenn die Überprüfung in Block 438 von Fig. 14 anzeigt, daß ein "Prüfe Testergebnis"-Befehl verarbeitet wird, dann verzweigt die Routine zu Block 474 (Fig. 15D), wo der SNES- Status zu dem Host gesendet wird, und die Routine zu Block 328 verzweigt (Fig. 11). Wenn ein Speichertest noch läuft, dann ist der SNES-Status beschäftigt. Wenn die Speichertests einen betriebsfähigen Zustand ergeben, dann ist der Status "OK". Wenn die Testergebnisse ein Speicherlese- oder Speicherschreibfehler anzeigen, dann wird der Status auf einen "nicht gut" (NG)-Zustand eingestellt.
- Wenn die Überprüfung in Block 440 von Fig. 14 anzeigt, daß der Befehl ein "Setze ROM auf Hochfahren zurück"-Befehl ist, dann verzweigt die Routine zu Block 476 in Fig. 15E, wo der SNES-Sitzungsstatus auf "Setze auf Hochfahren zurück" geändert wird. Die SNES wird dann in einen Setze-Zurück- Zustand versetzt (478), nachdem das Hochfahr-ROM-Programm ausgeführt wird (siehe Fig. 10A-10D), und eine Antwort wird zu dem Host gesendet, die den Abschluß des Empfangs und die Ausführung von dem Befehl bestätigt (480), wonach die Verarbeitung zu Block 328 verzweigt (Fig. 11).
- Wenn die Verarbeitung in Block 442 anzeigt, daß ein "Ändere Tastendruckdatenscheibe"-Befehl auszuführen ist, dann verzweigt die Routine zu Block 482 (Fig. 15F), wo der Mikrocontroller 190 eine neue Tastendruckdatenscheibenzuweisung liest. Die Tastendruckdatenscheibenzuweisung zeigt dem Mikrocontroller 190 an, welche Stelle in dem Tastendruckdatenstrom Tastendruckdaten für ihn zum Verarbeiten enthält. Dieses Kommando kann optional eingesetzt werden, um die Zeitscheibe der SNES-Station derart zu ändern, daß, wenn nur die letzte SNES-Station in dem Feld zur Zeit aktiv ist, die Zeitscheibe für diese SNES-Station von der letzten Zeitscheibe auf die erste geändert werden kann, um unnötiges Senden von Dummydaten zu inaktiven SNES-Stationen zu vermeiden.
- Nach dem Auslesen einer Tastendruckdatenscheibenzuweisung sendet der Mikrocontroller 190 eine Bestätigungsantwort zu dem Host-Computer 7 (484), und die Routine verzweigt zu Block 328 (Fig. 11).
- Wenn die Verarbeitung in Block 444 (Fig. 14) anzeigt, daß ein "Statusprüfung"-Befehl verarbeitet wird, dann verzweigt die Routine zu Block 486 von Fig. 15G. Die Statusprüfungs- Unterroutine prüft den Status der Super-NES, um zum Beispiel den Status von den Spielprogramm-Herunterladevorgang festzustellen. Gemäß Block 486 wird ein Vergleich der Spielprüfsumme in dem Befehl für das Spiel, das der Host-Computer 7 erwartet, der bestimmten SNES-Station zugewiesen zu haben, mit der im Speicher gespeicherten Spielprüfsumme verglichen. Wenn es keine Übereinstimmung gibt, dann verzweigt die Routine zu Block 496, wo eine "nicht gut"-(NG)-Antwort zu dem Host-Computer 7 und dem Mikrocontroller 190 gesendet wird, und die Routine verzweigt zu Block 328 (Fig. 11).
- Wenn die Prüfsummen übereinstimmen, dann wird in Block 488 eine Überprüfung gemacht, um festzustellen, ob der Abbildungsart-Hinweis in dem verarbeiteten Befehl gleich der Abbildungsart-Information ist, die im Speicher gespeichert ist. Wenn die Abbildungsart-Daten nicht übereinstimmen, dann verzweigt die Routine zu Block 496, um eine NG-Antwortnachricht zu erzeugen. Wenn die Abbildungsart-Informationen übereinstimmen, dann wird eine Überprüfung gemacht, um festzustellen, ob die Tastendruckdatenscheibenzuweisung in dem Befehl mit der Tastendatenscheibenzuweisung im Speicher übereinstimmt (490). Wenn es keine Übereinstimmung gibt, dann fährt die Verarbeitung mit Block 496 fort, wo eine NG- Antwortnachricht zu dem Host-Computer 7 gesendet wird.
- Wenn die Tastendruckdatenscheibenzuweisung-Informationen übereinstimmen, dann wird in Block 492 eine Überprüfung gemacht, ob der Tastendruckdatenstromkennzeichner in dem Befehl mit dem Tastendruckdatenstromkennzeichner übereinstimmt, der in dem Speicher des Mikrocontrollers gespeichert ist.
- Wenn es keine Übereinstimmung gibt, dann wird eine NG-Antwortnachricht erzeugt (496). Wenn es eine Übereinstimmung gibt, dann wird der SNES-Status zu dem Host-Computer 7 gesendet, und die Verarbeitung fährt mit Block 328 (Fig. 11) fort.
- Die Statusinformation, die zu dem Host 7 gesendet wird, kann entweder "OK", "NG" oder "beschäftigt" sein. Der NG-Status, der in Block 494 erzeugt ist, unterscheidet sich von dem Nichtbestätigt-NG-Status, der in Block 496 erzeugt wird, der anzeigt, daß der einzelne Befehl ungültig ist. Der NG-Status in Block 494 zeigt an, daß, während der einzelne verarbeitete Befehl gültig war und richtig empfangen wurde, der Gesamtstatus von der SNES aus irgendeinem Grund verschiedener Gründe nicht gut ist.
- Wenn die Überprüfung in Block 446 (Fig. 14) anzeigt, daß ein "Setze Spiel zurück"-Befehl verarbeitet wird, dann verzweigt die Routine zu Block 498 von Fig. 15H. In Block 498 wird der SNES-Sitzungsstatus auf "Setze Spiel zurück" gesetzt. Eine Bestätigungsantwort wird dann zu dem Host- Computer 7 gesendet, um anzuzeigen, daß der Setze-Spielzurück-Befehl richtig empfangen wurde (500), die SNES wird zurückgesetzt (502) und die Routine verzweigt zu Block 328 (Fig. 11). Die Setze zurück-Befehlverarbeitung in Block 502 führt dazu, daß die SNES das Programm wieder ausführt, das in seinem pseudostatischen RAM gespeichert ist.
- Wenn die Verarbeitung in Block 448 (Fig. 14) anzeigt, daß der Befehl ein "Ändere die Übertragungsrate des Tastendruckanschlusses"-Befehl ist, dann verzweigt die Routine zu Block 504 (Fig. 15I). In Block 504 wird eine Übertragungsrate aus dem Befehl gelesen und in einem Register gespeichert, das von dem Mikrocontroller 190 verwendet wird, um die Übertragungsrate zu bestimmen. Danach wird die Tastendruckdatenanschluß-Übertragungsrate auf die gewünschte Rate eingestellt, wie durch den Inhalt des zugeordneten Registers angegeben (506), und eine Bestätigung der erfolgreichen Ausführung des Befehls wird zu dem Host-Computer 500 gesendet. Die Routine verzweigt zu Block 328 (Fig. 11).
- Wenn die Überprüfung in Block 450 (Fig. 14) anzeigt, daß ein Herunterlade-Befehl auszuführen ist, dann verzweigt der Mikrocontroller 190 zu Block 654 von Fig. 16. Um einen Herunterlade-Befehl auszuführen, stellt der Mikrocontroller 190 den SNES-Status in Block 654 auf beschäftigt ein, um zu verhindern, daß irgendein anderer Befehl während des Herunterladevorgangs ausgeführt wird. Danach wird eine Datei-ID (656) und eine Spielprüfsumme aus dem Befehl gewonnen (658).
- Betriebsart- und Spielgrößeninformationen werden dann aus dem Befehl gewonnen (660). Eine Tastendruckdatenscheiben- Zuweisungsinformation wird dann, wenn vorhanden, aus dem Befehl gewonnen (662). Schließlich wird zum Beispiel ein 21- Byte-Spielname aus dem Befehl gewonnen (664). Danach wird der SNES-Sitzungsstatus auf "Starte Herunterladen" gesetzt (666), und die SNES wird zurückgesetzt (668). Der Setze- SNES-Zurück-Vorgang umfaßt das Erzeugen einer "Hallo"-Nachricht, wie oben beschrieben, und der Mikrocontroller 190 antwortet durch Starten des Herunterladens, nachdem er festgestellt hat, daß die SNES-Sitzung "Starte Herunterladen" ist. Danach sendet der Mikrocontroller 190 eine Bestätigungsantwort zu dem Host-Computer 7, um anzuzeigen, daß die Herunterlade-Operation ausgeführt wurde, und die Verarbeitung kehrt zu dem Hauptprogramm in Block 328 (Fig. 11) zurück.
- Wieder kurz mit Bezug auf Fig. 11, wird, nachdem die Daten in den Tastendruckeingangspuffer und dem Host-Eingangspuffer verarbeitet wurden, in Block 328 eine Überprüfung gemacht, um festzustellen, ob es Daten in dem SNES-Eingangspuffer gibt. Wenn es Daten in dem SNES-Eingangspuffer gibt, dann verzweigt die Routine zu Block 672 (Fig. 17), um ein Byte aus dem SNES-Eingangspuffer zu lesen. Das aus dem Eingangspuffer gelesene Byte kann gültig irgendeines von 6 Bytes sein, die in Fig. 17 gezeigt sind. Mit Bezug auf Block 674 könnte die Information, die von der SNES zu dem Mikrocontroller 190 gesendet wurde, ein Hinweis sein, daß die Herunterladeprüfsumme "OK" ist, und daß das Spielprogramm ausgeführt werden kann.
- Wenn die Überprüfung in Block 674 negativ ist, dann wird eine Überprüfung gemacht, um zu sehen, ob das Byte ein Hinweis ist, daß die Herunterladeprüfsumme nicht gut war (676). Wenn die Überprüfung in Block 676 negativ ist, dann wird eine Überprüfung gemacht, um festzustellen, ob das empfangene Byte ein Setze-Zurück bezogenes "Hallo"-Signal ist, das anzeigt, daß die SNES auf Befehle zum Verarbeiten wartet. Wenn die Überprüfung in Block 676 negativ ist, dann wird in Block 680 eine Überprüfung gemacht, um festzustellen, ob das Byte anzeigt, daß das Herunterladen abgeschlossen ist.
- Wenn der Test in Block 680 negativ ist, dann wird in Block 682 eine Überprüfung gemacht, um zu sehen, ob das Byte anzeigt, daß der Speicherkartentest nicht gut war. Wenn die Überprüfung in Block 682 negativ ist, dann wird ein abschließender Test gemacht, ob das Byte, das gelesen wurde, anzeigt, daß der Speicherkartentest OK ist (684). Wenn die Überprüfung in Block 684 negativ ist, dann verzweigt die Routine zu Block 324 (Fig. 11), um zu überprüfen, ob es Daten in dem Tastendruckeingangspuffer gibt.
- Unter Bezug auf Fig. 18A verzweigt, wenn die Überprüfung in Block 674 von Fig. 17 anzeigt, daß die Herunterladeprüfsumme OK ist, die Routine zu Block 686, wo der SNES-Status auf "OK" gesetzt wird. Danach wird der SNES-Sitzungsstatus auf "Laufendes Spiel" gesetzt (688) und die Routine verzweigt zu Block 324 in Fig. 11.
- Wenn die Überprüfung in Block 676 anzeigt, daß das Byte in dem SNES-Eingangspuffer "Herunterladeprüfsumme nicht gut" war, dann verzweigt die Routine zu Block 690 (Fig. 18B), der den SNES-Status auf "nicht gut (NG)" setzt. Danach wird der SNES-Sitzungsstatus auf "Warte auf Befehl" gesetzt (692). Da kein Spielprogramm unter der Bedingung laufen kann, verzweigt die Routine zu Block 324 (Fig. 11).
- Wenn das Verarbeiten in Block 678 anzeigt, daß das Byte ein Setze-Zurück bezogener "Hallo"-Hinweis ist, dann verzweigt die Verarbeitung zu Block 694 (Fig. 18C). Während der Setze-Zurück-"Hallo"-Verarbeitung werden alle SNES-Sitzungsstatusmöglichkeiten geprüft. Zuerst wird mit Bezug auf Block 694 eine Überprüfung gemacht, um festzustellen, ob die SNES- Sitzung "Setze auf Hochfahren zurück" ist. Wenn das der Fall ist, dann verzweigt die Routine zu Block 706 (Fig. 18D), wo ein "Warte auf Befehl"-Befehl zu der SNES gesendet wird. Nachdem der SNES-Sitzungsstatus eingestellt ist, auf einen Befehl zu warten (708) und die SNES auf "OK" gesetzt ist (710), fährt die Verarbeitung mit Block 324 (Fig. 11) fort.
- Wenn die Überprüfung in Block 694 negativ ist, und die Überprüfung in Block 696 anzeigt, daß der Status "Warte auf einen Befehl" ist, dann verzweigt die Routine zu Block 712 (Fig. 181), wo der SNES-Status auf beschäftigt gesetzt wird. Wenn der SNES-Sitzungsstatus "Warten auf Befehl" ist, existiert ein Fehlerzustand, weil die SNES nicht auf einen Befehl des Mikrocontrollers warten sollte. In Block 714 wird die SNES zurückgesetzt und der SNES-Sitzungsstatus wird auf "Fehler" gesetzt (716), um auf einen Fehlerzustand hinzuweisen (die Verarbeitung dafür wird weiter unten in Verbindung mit Fig. 18G erklärt), und die Routine verzweigt zu Block 324 in Fig. 11.
- Wenn der SNES-Sitzungsstatus, wie durch die Überprüfung in Block 700 festgestellt, "Laufendes Spiel" ist, verzweigt die Routine entsprechend zu Block 712-716, d. h. die Routine, die in Fig. 18E gezeigt ist. Wenn der Prozessor in der Setze-zurück-Unterroutine ist, die in Fig. 18C gezeigt ist, sollte er nicht in einem Sitzungsstatus "Laufendes Spiel" sein, wobei auf diese Weise die Fehlerverarbeitungsroutine von Fig. 18E durchgeführt wird. Wenn die Überprüfung in Block 698 anzeigt, daß der SNES-Sitzungsstatus Herunterladen ist, dann verzweigt die Routine entsprechend auch zu Block 712, der in Fig. 18E gezeigt ist, um die Fehlerzustandsverarbeitung zu wiederholen.
- Wenn die Überprüfung in Block 702 anzeigt, daß der SNES- Sitzungsstatus "Setze Spiel zurück" ist, dann verzweigt die Verarbeitung zu Block 718 (Fig. 18F). In Block 718 sendet der Mikrocontroller 190 den "Setze Spiel zurück"-Befehl zu der SNES. Nachdem der Mikrocontroller 190 die gespeicherte Abbildungsart und Größe des Programms zu der SNES gesendet hat (720) und den SNES-Status auf "OK" ändert (722), wird ein Sitzungsstatus auf "Spiel läuft" geändert (724), und die Routine verzweigt zu Block 324 in Fig. 11.
- Wenn die Überprüfung in Block 704 anzeigt, daß der SNES- Sitzungsstatus ein Fehlerzustand ist, dann verzweigt die Routine zu Block 726 von Fig. 18G. In Block 726 wird der SNES-Status auf "NG" gesetzt, und der SNES-Sitzungsstatus wird auf "Warte auf Befehl" gesetzt (728). Der Host-Computer 7 beginnt eine passende Hilfsaktion, wie zum Beispiel das Wiederholen des Herunterladens des Spielprogramms, und die Routine verzweigt zu Block 324 (Fig. 11).
- Wenn die Überprüfung in Block 704 anzeigt, daß der SNES- Sitzungsstatus nicht "Fehler" ist, dann springt die Routine zu der "Starte-Herunterladen"-Routine, die in Fig. 18H gezeigt ist. Die "Starte-Herunterladen"-Routine führt dann zu dem Erzeugen eines "Hallo"-Befehls durch den Super NES, der eine Herunterladen-Antwort von dem Mikrocontroller 190 auslöst. Die "Starte Herunterladen"-Verarbeitung beginnt, indem der SNES-Status auf beschäftigt eingestellt wird (730). Danach wird der Tastendruckanschluß ausgeschaltet und zurückgesetzt, so daß die Herunterladen-Verarbeitung nicht unterbrochen wird (732). Die Spieldatei-ID wird zu dem ZILOG-Kommunikationskontroller 192 (Fig. 7) gesendet, der an den Mikrocontrollern 190 angeschlossen ist, so daß das herunterzuladende Spiel gekennzeichnet ist (734). Danach sendet der NES in den Schritten 736, 738, 740 bzw. 742 einen Herunterlade-Befehl, eine Spielprüfsumme, eine Abbildungsart, eine Spielgröße und einen 21-Byte-Spielnamen. Die SNES- Sitzung wird dann auf Herunterladen gesetzt (744) und die Routine verzweigt zurück zu Block 324 in Fig. 11.
- Fig. 19 zeigt die Schrittfolge, die von einer "Antwort zu Host"-Unterroutine durchgeführt wird, wobei eine bestätigende oder nicht-bestätigende Antwort von dem Mikrocontroller 190 zu dem Host-Computer 7 gesendet wird. Eine Überprüfung wird zuerst gemacht, um festzustellen, ob der Host-Anschluß · zur Übertragung bereit ist (746). Wenn der Host-Anschluß nicht zur Übertragung bereit ist, dann wartet die Routine, bis der Host-Anschluß bereit ist. Der Bereitzustand des Host-Anschlusses kann festgestellt werden, indem geprüft wird, ob Daten in einem bestimmten Register vorhanden sind. Sobald der Host-Anschluß zur Übertragung bereit ist, wird das angefragte Byte zu dem Host gesendet (748), und der serielle Statusflag des Mikrocontrollers wird zurückgesetzt (750), um anzuzeigen, daß eine Antwort erzeugt wurde.
- Fig. 20 zeigt die Schrittfolge, die durchgeführt wird, wenn an einem Mikrocontroller-Anschluß ein Tastendruck, Host- Daten oder SNES-Daten empfangen werden. Am Anfang wird in Block 752 eine Überprüfung gemacht, um festzustellen, ob irgendein Byte an dem betroffenen Anschluß empfangen wird. Wenn kein Byte empfangen wird, dann endet das "Empfange"- Verarbeiten. Wenn ein Byte empfangen wurde, dann wird eine Überprüfung gemacht, ob der Tastendruck- (oder Host- oder SNES-) Eingangspuffer voll ist. Wenn der entsprechende Puffer nicht voll ist, dann wird das Byte in dem Tastendruck- (oder Host- oder SNES-) Puffer gespeichert und die Routine wird beendet. Wenn der Tastendruck- (oder Host- oder SNES-) Eingangspuffer voll ist, dann endet die Empfangsverarbeitung.
- Fig. 21 zeigt ein Flußdiagramm, das die Schrittfolge darstellt, die durchgeführt wird, wenn die MCU 190 einen Fehler bei den empfangenen Daten an einem ihrer seriellen Anschlüsse feststellt. Wenn ein Fehler festgestellt wird, bewirkt eine innere Unterbrechungsroutine das Verzweigen zu Block 758, der feststellt, ob es ein Fehler in dem empfangenen Byte ist. Wenn das der Fall ist, wird der empfangene Puffer gelöscht (760), um die fehlerhaften Daten zu löschen. Das Flag, das die Unterbrechung auslöst, wird dann gelöscht (762), und die Fehlerroutine wird verlassen. Wenn es keinen Fehler in dem empfangenen Byte gibt, dann wird die Fehlerroutine verlassen.
- Während die Erfindung in Verbindung mit dem beschrieben wurde, was zur Zeit als die praktischte und bevorzugteste Ausführungsform betrachtet wird, ist es klar, daß die Erfindung nicht durch die offenbarte Ausführungsform beschränkt werden soll, sondern es ist im Gegenteil beabsichtigt, verschiedene Modifikationen und äquivalente Anordnungen abzudecken, die in den Schutzbereich der beigefügten Ansprüche enthalten sind.
Claims (56)
1. Gästezimmerkommunikationssystem zum Erzeugen
interaktiver Videographikanzeigesitzungen im Zimmer in einer
Vielzahl von Gästezimmern mit:
einer Anzeige (1) im Zimmer, die in jedem Gästezimmer
der Vielzahl von Gästezimmern angeordnet ist,
ein Feld von Videographikverarbeitungssystemen (11),
wobei die Anzahl der Videographikverarbeitungssysteme
in dem Feld geringer als die Anzahl der Gästezimmer
ist, wobei jedes Videographikverarbeitungssystem
folgendes aufweist:
einen Videographikprogrammausführungsprozessor (100),
der ausgelegt ist, um Informationen zu empfangen, die
während einer interaktiven Videographikanzeigesitzung
im Zimmer erzeugt werden, und
ein Speichersystem (102), das an den
Videographikprogrammausführungsprozessor angeschlossen ist und
ausgelegt ist, ein Videographikprogramm zu speichern,
wobei jedes Videographikverarbeitungssystem in dem Feld
jeder Anzeige im Zimmer zuweisbar ist, und
eine Datenleitvorrichtung (6), um Informationen, die in
einem der Gästezimmer erzeugt wurden, zu einem
gekennzeichneten Videographikverarbeitungssystem zur
Verarbeitung zu leiten.
2. Gästezimmerkommunikationssystem nach Anspruch 1, bei
dem jedes Gästezimmer der Vielzahl von Gästezimmern
einen Controller (3) im Zimmer mit einer Vielzahl von
Steuertasten zum Erzeugen von Tastendruckdaten aufweist.
3. Gästezimmerkommunikationssystem nach Anspruch 2, bei
dem der Controller eine Rücksetztaste aufweist, und bei
dem ein zugewiesener Prozessor von den
Videographikprogrammausführungsprozessoren (100) als Reaktion auf
die Betätigung der Rücksetztaste zurückgesetzt wird.
4. Gästezimmerkommunikationssystem nach Anspruch 2, bei
dem der Controller (3) im Zimmer eine Vielzahl von
Videospielsteuertasten aufweist.
5. Gästezimmerkommunikationssystem nach Anspruch 2, bei
dem jedes Videographikverarbeitungssystem (11) einen
Puffer (184) aufweist, der Tastendruckdaten (324)
speichert, die von dem Controller (3) im Zimmer erzeugt
wurden, der dem Raum entspricht, dem das
Videographikverarbeitungssystem zugewiesen ist.
6. Gästezimmerkommunikationssystem nach Anspruch 5, bei
dem die Tastendruckdaten verarbeitet werden (332), wenn
zumindest zwei Datenbytes in dem Puffer vorliegen.
7. Gästezimmerkommunikationssystem nach Anspruch 5, bei
dem, wenn Tastendruckdaten in dem Puffer vorliegen, das
entsprechende Videographikverarbeitungssystem
feststellt (334), ob das erste Datenbyte ein Kopfbyte ist.
8. Gästezimmerkommunikationssystem nach Anspruch 1,
desweiteren mit
einem Host-Computersystem (7), das das Laden von
Videographikprogrammdaten auf ein System der
Videographikverarbeitungssysteme steuert.
9. Gästezimmerkommunikationssystem nach Anspruch 8, bei
dem jedes Videographikverarbeitungssystem (11) einen
Puffer aufweist, der Daten speichert, die von dem Host-
Computer (7) empfangen wurden, und bei dem, wenn Daten
in dem Puffer vorliegen, das
Videographikverarbeitungssystem prüft (404), um festzustellen, ob ein gültiger
Befehl von dem Host-Computer (7) empfangen wurde.
10. Gästezimmerkommunikationssystem nach Anspruch 1, bei
dem jedes Videographikverarbeitungssystem (11) fähig
ist, zumindest einen Testbefehl auszuführen (436).
11. Gästezimmerkommunikationssystem nach Anspruch 1,
desweiteren mit:
einem Controller (10), der betreibbar ist, um jedem
Videographikverarbeitungssystem (11) ein Gästezimmer
der Vielzahl von Gästezimmern dynamisch zuzuweisen.
12. Gästezimmerkommunikationssystem nach Ansprüch 11, bei
dem das Videographikprogramm (1) ein Programm einer
Vielzahl von Programmen ist, die mit einem
entsprechenden Programmkennzeichner gekennzeichnet sind, und bei
dem der Controller (10) anzeigt, daß eines der
Computerprogramme von dem
Videographikprogrammausführungsprozessor (100) in einem zugewiesenen
Videographikverarbeitungssystem (11) auszuführen ist.
13. Gästezimmerkommunikationssystem nach Anspruch 2, wobei
jedes Videographikverarbeitungssystem
einen zweiten Prozessor (190) aufweist, der jeweils an
den Videographikprogrammausführungsprozessor
angeschlossen ist und Schnittstellenaufgaben für den
Videographikprogrammausführungsprozessor (100)
durchführt.
14. Gästezimmerkommunikationssystem nach Anspruch 13,
desweiteren mit
einer Anzeigeverarbeitungseinheit (222), die an den
Videographikprogrammausführungsprozessor (100)
angeschlossen ist, um ein Videosignal zur Darstellung auf
dem Anzeigeschirm (1) im Zimmer zu erzeugen.
15. Gästezimmerkommunikationssystem nach Anspruch 13, bei
dem der zweite Prozessor (190) ein Mikrocontroller mit
einem Eingangsanschluß und zumindest einem Puffer (184)
ist, der an den Eingangsanschluß angeschlossen ist, und
desweiteren eine Schnittstelle zum Schicken von
Tastendruckdaten zu dem Eingangsanschluß aufweist, wobei der
Mikrocontroller betreibbar ist, um wiederholte Tests
durchzuführen, um festzustellen, ob Tastendruckdaten,
die von dem Controller (3) empfangen wurden, in dem
zumindest einem Puffer vorliegen.
16. Gästezimmerkommunikationssystem nach Anspruch 15, bei
dem die Tastendruckdaten von dem Mikrocontroller (190)
verarbeitet werden, wenn zumindest zwei Datenbytes in
dem zumindest einen Eingangspuffer vorliegen.
17. Gästezimmerkommunikationssystem nach Anspruch 15, bei
dem, wenn Tastendruckdaten in dem Eingangspuffer
vorliegen, der Mikrocontroller (190) betreibbar ist, um
festzustellen, ob das erste Datenbyte ein Kopfbyte ist.
18. Gästezimmerkommunikationssystem nach Anspruch 15, bei
dem, wenn Tastendruckdaten in dem Eingangspuffer
vorliegen, der Mikrocontroller (190) betreibbar ist, um
festzustellen, ob die Tastendruckdaten in dem
Eingangspuffer anzeigen, daß es Daten sind, die dem
Mikrocontroller und seinem zugeordneten
Videographikprogrammausführungsprozessor (100) zugeordnet sind.
19. Gästezimmerkommunikationssystem nach Anspruch 15, bei
dem, wenn Tastendruckdaten in dem Eingangspuffer
vorliegen, der Mikrocontroller (190) betreibbar ist, um
festzustellen, ob ein gültiger Befehl von dem
Controller (3) im Zimmer empfangen wurde.
20. Gästezimmerkommunikationssystem nach Anspruch 15, bei
dem der Mikrocontroller (190), wenn Informationen in
dem Puffer vorliegen, die empfangenen Informationen
analysiert und einen Vorgang, ein Programm zu dem
Videographikprogrammausführungsprozessor (100)
herunterzuladen, steuert.
21. Gästezimmerkommunikationssystem nach Anspruch 1, bei
dem jedes Videographikverarbeitungssystem (11) eine
zentrale Verarbeitungseinheit (220) zum Ausführen von
Programmen und eine Anzeigeverarbeitungseinheit (222)
aufweist, die an die zentrale Verarbeitungseinheit
angeschlossen ist, um ein Videosignal für die Anzeige
zu erzeugen.
22. Gästezimmerkommunikationssystem nach Anspruch 1, bei
dem jedes Videographikverarbeitungssystem eine zentrale
Verarbeitungseinheit (220) und einen
Hochfahr-Nurlesespeicher (180) zum Speichern eines Programms aufweist,
das von der zentralen Verarbeitungseinheit auszuführen
ist, nachdem der Strom angeschaltet wurde.
23. Gästezimmerkommunikationssystem nach Anspruch 1, bei
dem das Speichersystem folgendes aufweist:
einen Hauptprogrammspeicher (174),
eine Vielzahl von Adressabbildungsregistern (158-164),
eine Speichersteuerschaltung (166), die an die Vielzahl
von Adressabbildungsregistern angeschlossen ist, um den
Ort von dem Hauptprogrammspeicher in dem Adressraum des
Videographikprozessors zu steuern, von dem der Inhalt
der Vielzahl von Adressabbildungsregistern abhängt.
24. Gästezimmerkommunikationssystem nach Anspruch 23, bei
dem
das Speichersystem desweiteren einen Hilfsspeicher
(176) und eine Hilfsspeichersteuerschaltung (168)
aufweist, die an zumindest ein Register der Vielzahl von
Adressabbildungsregistern (158-164) angeschlossen ist,
um den Ort des Hilfsspeichers in dem Adressraum von der
Verarbeitungseinheit in Abhängigkeit von dem Inhalt von
dem zumindest einen Register der Vielzahl von Registern
zu steuern.
25. Gästezimmerkommunikationssystem nach Anspruch 23, bei
dem das Speichersystem desweiteren einen nicht
flüchtigen Speicher (178) und eine Steuerschaltung (170) für
den nicht flüchtigen Speicher aufweist, die an
zumindest ein Register der Vielzahl von
Adressabbildungsregistern (158-164) angeschlossen ist, um den Ort von
dem nicht flüchtigen Speicher in dem Adressraum des
Videographikprozessors (11) in Abhängigkeit von dem
Inhalt des zumindest einen Registers der Vielzahl von
Registern zu steuern.
26. Gästezimmerkommunikationssystem nach Anspruch 23, wobei
das Speichersystem desweiteren einen zusätzlichen
Programmspeicher (180) und eine Steuerschaltung (172) für
den zusätzlichen Programmspeicher aufweist, die an
zumindest ein Register der Vielzahl von
Adressabbildungsregistern (158-164) angeschlossen ist, um den Ort
von dem zusätzlichen Programmspeicher in dem Adressraum
des Videographikprozessors (11) in Abhängigkeit von dem
Inhalt des zumindest einen Registers der Vielzahl von
Registern zu steuern.
27. Gästezimmerkommunikationssystem nach Anspruch 26, bei
dem der zusätzliche Programmspeicher ein
Hochfahr-Nurlesespeicher (180) ist.
28. Gästezimmerkommunikationssystem nach Anspruch 23, wobei
das Speichersystem desweiteren eine Dekodierlogik
(150-156) aufweist, die an jedes Register der Vielzahl von
Adressabbildungsregistern (158-164) angeschlossen ist,
um digitale Signale zu empfangen und die Inhalte von
zumindest einem Register der Vielzahl von
Adressabbildungsregistern zu ändern.
29. Gästezimmerkommunikationssystem nach Anspruch 23,
desweiteren mit einer
Schnittstellenverarbeitungsvorrichtung (190), um Informationen an den
Videographikprozessor zu senden und Programminformationen zu empfangen,
die in den Hauptprogrammspeicher zur Ausführung durch
den Videographikprozessor zu laden sind.
30. Gästezimmerkommunikationssystem nach Anspruch 29, wobei
das Videographikverarbeitungssystem (11) desweiteren
eine ein Haltesignal erzeugende Logik (196) aufweist,
die an die Schnittstellenverarbeitungsvorrichtung (190)
und den Videographikprogrammausführungsprozessor
angeschlossen ist, um ein Haltesteuersignal zu dem
Videographikprogrammausführungsprozessor (100) als Reaktion
auf ein Signal von der
Schnittstellenverarbeitungsvorrichtung zu senden.
31. Gästezimmerkommunikationssystem nach Anspruch 29, bei
dem jedes Videographikverarbeitungssystem (11) eine
Haltesteuerung (196) umfaßt, die das
Videographikprogramm, das auf einem der Videographikprozessoren
ausgeführt wird, an einem ersten Punkt in dem
Videographikprogramm anhält, wenn ein erster Befehl empfangen wird,
und danach als Reaktion auf einen zweiten Befehl, die
Ausführung von dem Videoprogramm an dem ersten Punkt
wiederaufnimmt.
32. Gästezimmerkommunikationssystem nach Anspruch 31, bei
dem mehrere der Videographikverarbeitungssysteme (11)
alle gerade ein jeweiliges Videographikprogramm
ausführen, und, wenn der erste Befehl herausgegeben wird,
hält jeder Haltecontroller (196) bei den mehreren
Systemen der Videographikverarbeitungssysteme die
Ausführung des jeweiligen Videospielprogramms an, das gerade
von seinem jeweiligen
Videographikprogrammausführungsprozessor (100) ausgeführt wird.
33. Gästezimmerkommunikationssystem nach Anspruch 31, bei
dem, nachdem der zweite Befehl von dem Haltecontroller
(196) empfangen wird, von dem Graphikcontroller
erzeugte Eingänge die an dem ersten Punkt in der Ausführung
des Videographikprogramms verarbeitet werden.
34. Verfahren zum Betreiben eines
Gästezimmerunterhaltungssystems mit einem Host-Computer (7), einer Vielzahl von
Anzeigeeinheiten (1) im Zimmer und einem Feld von
Graphikverarbeitungssystemen (11), wobei die Anzahl von
Graphikverarbeitungssystemen kleiner als die Anzahl von
Anzeigeeinheiten im Zimmer ist, wobei das Verfahren
folgende Schritte umfaßt:
Anzeigen (1007) eines Anzeigemenüs, das eine Vielzahl
von Graphikprogrammen kennzeichnet, auf jeder
Anzeigeeinheit der Vielzahl von Anzeigeeinheiten (1) im
Zimmer,
Ermitteln des von einem Anwender ausgewählten
Graphikprogramms,
dynamisches Zuweisen eines der
Graphikverarbeitungssysteme (11) zu der Anzeigeeinheit im Zimmer, wo ein
Graphikprogramm ausgewählt wurde,
Zür-Verfügung-Stellen (1019) des Graphikprogramms, das
von dem Anwender für das zugewiesene Graphiksystem
ausgewählt wurde, und
Ausführenlassen des von dem Anwender ausgewählten
Graphikprogramms durch das zugewiesene
Graphikverarbeitungssystem
35. Verfahren nach Anspruch 34, desweiteren mit folgendem
Schritt:
Anzeigen von Kennzeichen, die auf verschiedene
Videospiele hinweisen, die zum Spielen ausgewählt werden
können.
36. Verfahren nach Anspruch 35, desweiteren mit folgendem
Schritt:
Überträgen eines ausgewählten Videospiels zu dem
zugewiesenen Graphikverarbeitungssystem (11).
37. Verfahren nach Anspruch 34, desweiteren mit folgendem
Schritt:
Auswählen einer Option verschiedener
Graphikprogrammoptionen, die in dem Anzeigemenü enthalten sind, durch
einen Gast in einem Gästezimmer mit einer aktiven
Anzeigevorrichtung (1, 3) im Zimmer, wobei das
Verfahren folgende Schritte aufweist:
Herunterladen eines interaktiven Graphikprogramms von
dem Host-Computer (7) in das Graphikverarbeitungssystem
(11), das der aktiven Anzeigevorrichtung im Zimmer in
dem einen Gästezimmer zugewiesen ist, als Reaktion auf
die Auswahl einer der Graphikprogrammoptionen durch den
Gast,
Ausbilden einer Zeitscheibe einer Vielzahl von
Kommunikationszeitscheiben zum Empfangen von Daten von der
aktiven Anzeigevorrichtung (1) im Zimmer in einem
Gästezimmer, und
Ausführen des ausgewählten Graphikprogramms durch das
zugewiesene Graphikverarbeitungssystem (11),
wobei während der Ausführung des ausgewählten
Graphikprogramms die an der Anzeigevorrichtung im Zimmer
erzeugten Eingabedaten zu dem zugewiesenen
Graphikverarbeitungssystem während der einen Zeitscheibe
geschickt werden.
38. Verfahren nach Anspruch 37, bei dem die Eingabedaten
Befehle zum Manipulieren eines oder mehrerer
Graphikobjekte umfassen, die auf der Anzeigevorrichtung (1) im
Zimmer dargestellt sind, derart, daß das zugewiesene
Graphikverarbeitungssystem (11) das eine oder die
mehreren angezeigten Graphikobjekte als Reaktion auf die
Befehle manipuliert.
39. Verfahren nach Anspruch 37, bei dem, bevor das
interaktive Graphikprogramm heruntergeladen wird, das
Verfahren desweiteren folgende Schritte umfaßt:
Herunterladen eines Anwendungsprogramms von dem Host-
Computer (7) auf alle Graphikverarbeitungssysteme (11),
und
Anzeigen des Menüs auf jeder Anzeigevorrichtung (1) im
Zimmer als ein Ergebnis des Ausführens des
Anwendungsprogramms auf allen Graphikverarbeitungssystemen (11).
40. Verfahren nach Anspruch 37, bei dem alle
Graphikverarbeitungssysteme (11) einen Datenstrom empfangen, der
Eingabedaten von allen aktiven Anzeigevorrichtungen
(11) im Zimmer umfaßt, und jedes
Graphikverarbeitungssystem den Datenstrom während einer zugewiesenen
Zeitscheibe ausliest.
41. Verfahren nach Anspruch 40, bei dem der Datenstrom
einen Datenstromkennzeichner umfaßt, wobei das
Verfahren desweiteren folgenden Schritt aufweist:
Vergleichen in allen Graphikverarbeitungssystemen (11)
den Datenstromkennzeichner des empfangenen Datenstroms
mit einer Datenstromnummer, die diesem
Graphikverarbeitungssystem zugewiesen ist.
42. Verfahren nach Anspruch 41, bei dem das
Graphikverarbeitungssystem (11), wenn der Vergleichsschritt eine
Übereinstimmung ergibt, ein oder mehrere Datenbytes in
dem Datenstrom analysiert, um festzustellen, ob ein
oder mehrere Datenbytes ein Befehl sind.
43. Verfahren nach Anspruch 37, bei dem der
Herunterladeschritt das Überwachen von Informationen umfaßt, die
heruntergeladen werden, und das Verwerfen des
Herunterladevorgangs umfaßt, wenn die Informationen, die
überwacht werden, nicht in einem bestimmten Format
vorliegen.
44. Verfahren nach Anspruch 43, bei dem der
Überwachungsschritt das Feststellen umfaßt, ob eine Anzahl von
Speicherbänken von dem Host-Computer (7) übertragen
wurde.
45. Verfahren nach Anspruch 43, bei dem der
Überwachungsschritt das Feststellen umfaßt, ob eine erwartete
Startadresse von dem Host-Computer (7) übertragen
wurde.
46. Verfahren nach Anspruch 34, desweiteren mit den
folgenden Schritten:
Anzeigen eines Menüs auf jeder aktiven
Anzeigevorrichtung (1) im Zimmer,
Sammeln von Menüauswahlen von einer Anzeigevorrichtung
der aktiven Anzeigevorrichtungen im Zimmer
einschließlich einer Auswahl einer der Graphikprogrammoptionen
unter Verwendung einer Anzeigevorrichtung der aktiven
Anzeigevorrichtungen im Zimmer durch den Gast,
Identifizieren eines oder mehrerer
Graphikverarbeitungssysteme (11) in dem Feld, die für die Zuweisung
auf eine aktive, im Zimmer angeordnete
Anzeigevorrichtung verfügbar sind,
Feststellen, ob eines der verfügbaren
Graphikverarbeitungssysteme (11) bereits mit dem ausgewählten
Graphikprogramm geladen ist,
wenn das der Fall ist, Zuweisen des verfügbaren
Graphikverarbeitungssystems, das bereits mit dem
ausgewählten Graphikprogramm geladen ist, zu der einen
aktiven, im Zimmer angeordneten Anzeigevorrichtung (1), und
Ausführen des ausgewählten Graphikprogramms durch das
zugewiesene Graphikverarbeitungssystem (11), und
wenn das nicht der Fall ist, Zuweisen eines verfügbaren
Graphikverarbeitungssystems in dem Feld zu der aktiven,
im Zimmer angeordneten Anzeigevorrichtung.
47. Verfahren nach Anspruch 46, desweiteren mit folgenden
Schritten:
Herunterladen eines interaktiven Graphikprogramms von
dem Host-Computer (7) zu dem verfügbaren
Graphikverarbeitungssystem, das der aktiven, im Zimmer
angeordneten Anzeigevorrichtung (1) zugewiesen ist, wenn das
verfügbare Graphikverarbeitungssystem (11) nicht
bereits mit dem ausgewählten Graphikprogramm geladen
ist, und
Ausführen des ausgewählten Graphikprogramms durch das
zugewiesene Graphikverarbeitungssystem.
48. Verfahren nach Anspruch 46, bei dem alle
Graphikverarbeitungssysteme (11) einen Datenstrom empfangen, der
Eingabedaten von allen aktiven, im Zimmer angeordneten
Anzeigevorrichtungen (1) umfaßt, und alle
Graphikverarbeitungssysteme den Datenstrom während einer
zugewiesenen Zeitscheibe auslesen.
49. Verfahren nach Anspruch 48, bei dem der Datenstrom
einen Datenstromkennzeichner umfaßt, wobei das
Verfahren desweiteren den folgenden Schritt umfaßt:
Vergleichen bei allen Graphikverarbeitungssystemen (11)
den Datenstromkennzeichner des empfangenen Datenstroms
mit einer Datenstromnummer, die diesem
Graphikverarbeitungssystem zugewiesen ist.
50. Verfahren nach Anspruch 49, bei dem, wenn der
Vergleichsschritt eine Übereinstimmung ergibt, das
Graphikverarbeitungssystem (11) ein oder mehrere
Datenbytes in dem Datenstrom analysiert, um festzustellen,
ob ein oder mehrere Datenbytes ein Befehl sind.
51. Verfahren nach Anspruch 43, desweiteren mit den
folgenden Schritten:
Anhalten der Ausführung des Videospielprogramms an
einem ersten Punkt in dem Videospielprogramm, wenn ein
erster Befehl empfangen wird, und
danach Wiederaufnehmen der Ausführung des
Videospielprogramms an dem ersten Punkt als Reaktion auf einen
zweiten Befehl.
52. Verfahren nach Anspruch 51, desweiteren mit den
folgenden Schritten:
nach dem Anhalten der Ausführung des
Videospielprogramms, einem Hotelgast unter Verwendung der
Anzeigeeinheit (1) im Zimmer Anzeigen, daß zusätzliche Zeit
zum Fortsetzen der Ausführung des Videospielprogramms
ausgewählt werden kann, und
wenn der Hotelgast zusätzliche Zeit auswählt, nimmt das
Videospielprogramm die Ausführung an dem ersten Punkt
wieder auf.
53. Verfahren nach Anspruch 52, bei dem die im Zimmer
angeordnete Anzeigeeinheit (1) einen Spielcontroller
(3) umfaßt, wobei das Verfahren desweiteren folgende
Schritte umfaßt;
Anzeigen von Objekten in Übereinstimmung mit dem
Videospielprogramm,
Erzeugen von durch den Spielcontroller (3), der von
einem Hotelgast während des Spielens des Videospiels
bedient wird, erzeugt werden, und
nach Empfangen des ersten Befehls, Bewahren der
erzeugten Eingaben, und
nach dem Empfangen des zweiten Befehls, Verwenden der
bewahrten Eingabe, um das Spielen des Spiels an dem
ersten Punkt fortzusetzen.
54. Verfahren nach Anspruch 52, desweiteren mit dem
folgenden Schritt:
Herausgeben eines ersten Befehls von einem zentralen
Controller, eine bestimmte Zeitdauer nach der Aufnahme
der Ausführung des Videospielprogramms.
55. Verfahren nach Anspruch 52, desweiteren mit dem
folgenden Schritt:
Auswählen des ersten Punkts in dem Videospielprogramm,
um eine Information zu bewahren, die für die Ausführung
des Videospielprogramms an dem ersten Punkt relevant
ist.
56. Verfahren nach Anspruch 55, bei dem die Informationen
gespeicherte Daten umfassen, die das Videospielprogramm
und ein Uhrsignal betreffen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/132,293 US5581270A (en) | 1993-06-24 | 1993-10-06 | Hotel-based video game and communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69430032D1 DE69430032D1 (de) | 2002-04-11 |
DE69430032T2 true DE69430032T2 (de) | 2002-10-10 |
Family
ID=22453346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69430032T Expired - Lifetime DE69430032T2 (de) | 1993-10-06 | 1994-09-27 | Videospiel- und Kommunikationssystem zur Verwendung in einem Hotelzimmer |
Country Status (5)
Country | Link |
---|---|
US (2) | US5581270A (de) |
EP (1) | EP0647914B1 (de) |
AT (1) | ATE214178T1 (de) |
CA (1) | CA2133619A1 (de) |
DE (1) | DE69430032T2 (de) |
Families Citing this family (109)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581270A (en) * | 1993-06-24 | 1996-12-03 | Nintendo Of America, Inc. | Hotel-based video game and communication system |
US6147696A (en) * | 1993-06-24 | 2000-11-14 | Nintendo Co. Ltd. | Electronic entertainment and communication system |
US6762733B2 (en) * | 1993-06-24 | 2004-07-13 | Nintendo Co. Ltd. | Electronic entertainment and communication system |
US5959596A (en) | 1993-06-24 | 1999-09-28 | Nintendo Co., Ltd. | Airline-based video game and communications system |
USRE44685E1 (en) | 1994-04-28 | 2013-12-31 | Opentv, Inc. | Apparatus for transmitting and receiving executable applications as for a multimedia system, and method and system to order an item using a distributed computing system |
US5802274A (en) * | 1994-05-04 | 1998-09-01 | International Business Machines Corporation | Cartridge manufacturing system for game programs |
US5641319A (en) * | 1994-08-10 | 1997-06-24 | Lodgenet Entertainment Corporation | Entertainment system for providing interactive video game responses to the game interrogations to the video game engines without being processed by the host computer |
US5781734A (en) * | 1994-09-28 | 1998-07-14 | Nec Corporation | System for providing audio and video services on demand |
US5630757A (en) * | 1994-11-29 | 1997-05-20 | Net Game Limited | Real-time multi-user game communication system using existing cable television infrastructure |
CA2168087A1 (en) * | 1995-02-13 | 1996-08-14 | James S. Coman | Operating system based remote communication system |
JP4040117B2 (ja) * | 1995-06-30 | 2008-01-30 | ソニー株式会社 | ゲーム機及びゲーム機制御方法 |
JPH09128190A (ja) * | 1995-10-27 | 1997-05-16 | Fujitsu Ltd | 通信端末およびその表示制御システム |
US6189030B1 (en) | 1996-02-21 | 2001-02-13 | Infoseek Corporation | Method and apparatus for redirection of server external hyper-link references |
US5835126A (en) * | 1996-03-15 | 1998-11-10 | Multimedia Systems Corporation | Interactive system for a closed cable network which includes facsimiles and voice mail on a display |
US6014381A (en) * | 1996-09-13 | 2000-01-11 | Sony Corporation | System and method for distributing information throughout an aircraft |
US5896129A (en) * | 1996-09-13 | 1999-04-20 | Sony Corporation | User friendly passenger interface including audio menuing for the visually impaired and closed captioning for the hearing impaired for an interactive flight entertainment system |
US5854591A (en) * | 1996-09-13 | 1998-12-29 | Sony Trans Com, Inc. | System and method for processing passenger service system information |
US5848367A (en) * | 1996-09-13 | 1998-12-08 | Sony Corporation | System and method for sharing a non-volatile memory element as a boot device |
US5973722A (en) * | 1996-09-16 | 1999-10-26 | Sony Corporation | Combined digital audio/video on demand and broadcast distribution system |
US6758755B2 (en) | 1996-11-14 | 2004-07-06 | Arcade Planet, Inc. | Prize redemption system for games executed over a wide area network |
US5905942A (en) * | 1997-02-18 | 1999-05-18 | Lodgenet Entertainment Corporation | Multiple dwelling unit interactive audio/video distribution system |
US7231035B2 (en) * | 1997-04-08 | 2007-06-12 | Walker Digital, Llc | Method and apparatus for entertaining callers in a queue |
US6014439A (en) | 1997-04-08 | 2000-01-11 | Walker Asset Management Limited Partnership | Method and apparatus for entertaining callers in a queue |
US7127733B1 (en) | 1997-06-17 | 2006-10-24 | Rice Ingenieria S.A. De C.V. | System for bi-directional voice and data communications over a video distribution network |
IL123288A (en) | 1998-02-13 | 2001-05-20 | Nds Ltd | Electronic game guide system |
US6938258B1 (en) | 1998-05-26 | 2005-08-30 | Rockwell Collins | Message processor for a passenger entertainment system, method and article of manufacture |
US6782392B1 (en) | 1998-05-26 | 2004-08-24 | Rockwell Collins, Inc. | System software architecture for a passenger entertainment system, method and article of manufacture |
US7028304B1 (en) | 1998-05-26 | 2006-04-11 | Rockwell Collins | Virtual line replaceable unit for a passenger entertainment system, method and article of manufacture |
US6813777B1 (en) | 1998-05-26 | 2004-11-02 | Rockwell Collins | Transaction dispatcher for a passenger entertainment system, method and article of manufacture |
US6499027B1 (en) | 1998-05-26 | 2002-12-24 | Rockwell Collins, Inc. | System software architecture for a passenger entertainment system, method and article of manufacture |
US6807538B1 (en) | 1998-05-26 | 2004-10-19 | Rockwell Collins | Passenger entertainment system, method and article of manufacture employing object oriented system software |
US7444663B2 (en) * | 1998-12-31 | 2008-10-28 | Lodgenet Interactive Corporation | Menuing system for controlling content delivery within a video distribution system |
US7000243B1 (en) * | 1998-12-31 | 2006-02-14 | Oncommand Corporation | Allocating computer resources within a video distribution system |
IL128506A (en) | 1999-02-11 | 2009-11-18 | Nds Ltd | Time-dependent confirmation |
US6738382B1 (en) | 1999-02-24 | 2004-05-18 | Stsn General Holdings, Inc. | Methods and apparatus for providing high speed connectivity to a hotel environment |
JP2001058087A (ja) * | 1999-06-14 | 2001-03-06 | Sony Corp | ゲームコントローラ、エンタテインメントシステム及びゲーム実行方法、並びにゲームソフトプログラムダウンロード方法 |
US6758754B1 (en) * | 1999-08-13 | 2004-07-06 | Actv, Inc | System and method for interactive game-play scheduled based on real-life events |
TW548594B (en) * | 1999-10-25 | 2003-08-21 | Koninkl Philips Electronics Nv | Downloading of firmware for CE equipment |
SG99294A1 (en) * | 1999-11-19 | 2003-10-27 | Apex Pal Internat Pte Ltd | Interactive menu system for restaurants |
US6579184B1 (en) * | 1999-12-10 | 2003-06-17 | Nokia Corporation | Multi-player game system |
KR100320918B1 (ko) * | 2000-03-07 | 2004-09-07 | 삼성전기주식회사 | 멀티채널용 고주파 변조기 |
US6928481B1 (en) * | 2000-05-05 | 2005-08-09 | International Business Machines Corporation | Method, apparatus and program to optimize the network distribution of digital information based on hierarchical grouping of server topology and code distribution |
US20020003884A1 (en) * | 2000-05-26 | 2002-01-10 | Sprunk Eric J. | Authentication and/or authorization launch |
FR2813804B1 (fr) | 2000-09-08 | 2004-01-23 | Sylvius | Plateforme-ecran electronique multi-utilisateurs, notamment pour jeux |
US20020032057A1 (en) * | 2000-09-11 | 2002-03-14 | Kazuyuki Ebihara | Game-program distribution system |
US6884171B2 (en) * | 2000-09-18 | 2005-04-26 | Nintendo Co., Ltd. | Video game distribution network |
US8556698B2 (en) | 2000-10-19 | 2013-10-15 | Igt | Executing multiple applications and their variations in computing environments |
US9251647B2 (en) | 2000-10-19 | 2016-02-02 | Igt | Remote configuration of gaming terminals |
US8636596B2 (en) * | 2000-11-04 | 2014-01-28 | Igt | Dynamic player notices for operational changes in gaming machines |
US20040180721A1 (en) * | 2000-12-21 | 2004-09-16 | Igt | Gaming terminal data repository and information distribution system |
US6645077B2 (en) * | 2000-10-19 | 2003-11-11 | Igt | Gaming terminal data repository and information distribution system |
JP2002200363A (ja) * | 2000-11-06 | 2002-07-16 | Sony Computer Entertainment Inc | エンタテインメント情報生成装置および生成方法、エンタテインメント端末装置及びエンタテインメント実行方法、エンタテインメントシステム、エンタテインメント情報生成プログラム及びそのプログラムを記録した記録媒体、エンタテインメント実行プログラム及びそのプログラムを記録した記録媒体 |
US7186181B2 (en) * | 2001-02-02 | 2007-03-06 | Igt | Wide area program distribution and game information communication system |
JP2003019359A (ja) * | 2001-07-10 | 2003-01-21 | Sega Corp | ビデオゲーム装置及びデータ取得方法及び記録媒体及びプログラム |
US20030182043A1 (en) * | 2002-03-22 | 2003-09-25 | Christiansen Mark David | Smart system seat controller |
AU2003249292A1 (en) * | 2002-07-18 | 2004-02-09 | Steven H. Schneider | Video game jukebox |
US7883415B2 (en) | 2003-09-15 | 2011-02-08 | Sony Computer Entertainment Inc. | Method and apparatus for adjusting a view of a scene being displayed according to tracked head motion |
US7102615B2 (en) * | 2002-07-27 | 2006-09-05 | Sony Computer Entertainment Inc. | Man-machine interface using a deformable device |
US8797260B2 (en) | 2002-07-27 | 2014-08-05 | Sony Computer Entertainment Inc. | Inertially trackable hand-held controller |
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 |
US8686939B2 (en) | 2002-07-27 | 2014-04-01 | Sony Computer Entertainment Inc. | System, method, and apparatus for three-dimensional input control |
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 |
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 |
US7760248B2 (en) | 2002-07-27 | 2010-07-20 | Sony Computer Entertainment Inc. | Selective sound source listening in conjunction with computer interactive processing |
US9393487B2 (en) | 2002-07-27 | 2016-07-19 | Sony Interactive Entertainment Inc. | Method for mapping movements of a hand-held controller to game commands |
US9474968B2 (en) | 2002-07-27 | 2016-10-25 | Sony Interactive Entertainment America Llc | Method and system for applying gearing effects to visual tracking |
US9682319B2 (en) | 2002-07-31 | 2017-06-20 | Sony Interactive Entertainment Inc. | Combiner method for altering game gearing |
JP3567217B2 (ja) * | 2002-09-05 | 2004-09-22 | コナミ株式会社 | ゲームプログラム及びゲーム装置 |
US7878908B2 (en) * | 2002-11-14 | 2011-02-01 | Nintendo Co., Ltd. | Multiplexed secure video game play distribution |
JP4651908B2 (ja) * | 2002-12-16 | 2011-03-16 | 株式会社ユニバーサルエンターテインメント | カジノが設置されたホテルにおけるダウンロードサービスシステム |
US6976137B2 (en) * | 2003-04-24 | 2005-12-13 | International Business Machines Corporation | Preservation of memory associated with a hypervisor partition |
JP3907609B2 (ja) * | 2003-04-30 | 2007-04-18 | 株式会社ソニー・コンピュータエンタテインメント | ゲーム実行方法、ゲーム機、通信方法および通信装置 |
US20040235567A1 (en) * | 2003-05-20 | 2004-11-25 | Sony Computer Entertainment America Inc., Foster City, Ca | Video game method and system with content-related options |
US8072470B2 (en) * | 2003-05-29 | 2011-12-06 | Sony Computer Entertainment Inc. | System and method for providing a real-time three-dimensional interactive environment |
US20040266529A1 (en) * | 2003-06-30 | 2004-12-30 | Sony Computer Entertainment America Inc. | Methods and systems for remote execution of game content and presentation on a wireless portable device |
US8323106B2 (en) | 2008-05-30 | 2012-12-04 | Sony Computer Entertainment America Llc | Determination of controller three-dimensional location using image analysis and ultrasonic communication |
US9573056B2 (en) | 2005-10-26 | 2017-02-21 | Sony Interactive Entertainment Inc. | Expandable control device via hardware attachment |
US10279254B2 (en) | 2005-10-26 | 2019-05-07 | Sony Interactive Entertainment Inc. | Controller having visually trackable object for interfacing with a gaming system |
US8287373B2 (en) | 2008-12-05 | 2012-10-16 | Sony Computer Entertainment Inc. | Control device for communicating visual information |
US20050102178A1 (en) * | 2003-11-07 | 2005-05-12 | Phillips Daniel W. | Systems and methods for generating multiple revenue streams involving the use of an integrated appliance |
JP4342356B2 (ja) * | 2004-03-22 | 2009-10-14 | 任天堂株式会社 | ゲームシステム、ゲーム装置、およびゲームプログラム |
US8747226B2 (en) * | 2004-07-07 | 2014-06-10 | Nintendo Of America, Inc. | Car-based entertainment system with video gaming |
US8547401B2 (en) | 2004-08-19 | 2013-10-01 | Sony Computer Entertainment Inc. | Portable augmented reality device and method |
US7556561B2 (en) * | 2004-09-13 | 2009-07-07 | Pokertek, Inc. | Electronic player interaction area with player customer interaction features |
JP2006204441A (ja) * | 2005-01-26 | 2006-08-10 | Aruze Corp | ゲームシステム、タイピングゲーム装置及びサーバ |
US8663003B2 (en) * | 2005-04-18 | 2014-03-04 | Wms Gaming Inc. | Ordering, delivering, and licensing wager gaming content |
US10902701B2 (en) * | 2005-04-18 | 2021-01-26 | Bally Gaming, Inc. | Delivering and licensing wager gaming content |
US8781151B2 (en) | 2006-09-28 | 2014-07-15 | Sony Computer Entertainment Inc. | Object detection 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 |
USRE48417E1 (en) | 2006-09-28 | 2021-02-02 | Sony Interactive Entertainment Inc. | Object direction using video input combined with tilt angle information |
JP5255196B2 (ja) * | 2006-10-19 | 2013-08-07 | 任天堂株式会社 | ゲーム機、無線モジュール、ゲームシステムおよびゲーム処理方法 |
KR101576943B1 (ko) | 2006-12-01 | 2015-12-15 | 에이치에스엔아이 엘엘씨 | 향상된 대화형 텔레비전 프로세싱 방법 및 시스템 |
US8542907B2 (en) | 2007-12-17 | 2013-09-24 | Sony Computer Entertainment America Llc | Dynamic three-dimensional object mapping for user-defined control device |
KR101335346B1 (ko) | 2008-02-27 | 2013-12-05 | 소니 컴퓨터 엔터테인먼트 유럽 리미티드 | 장면의 심도 데이터를 포착하고, 컴퓨터 액션을 적용하기 위한 방법들 |
US8368753B2 (en) | 2008-03-17 | 2013-02-05 | Sony Computer Entertainment America Llc | Controller with an integrated depth camera |
US20100004053A1 (en) * | 2008-07-03 | 2010-01-07 | Acres-Fiore, Inc. | Method and apparatus for facilitating wagering by multiple players of gaming machines |
US20100004054A1 (en) * | 2008-07-03 | 2010-01-07 | Acres-Fiore, Inc. | Method of allocating credits for gaming devices |
US9530283B2 (en) | 2008-07-03 | 2016-12-27 | Patent Investment & Licensing Company | Method for sharing game play on an electronic gaming device |
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 |
US8961313B2 (en) | 2009-05-29 | 2015-02-24 | Sony Computer Entertainment America Llc | Multi-positional three-dimensional controller |
US8123620B2 (en) * | 2008-12-23 | 2012-02-28 | Nintendo Co., Ltd. | Enhanced video game jukebox-type system and methodology |
US8527657B2 (en) | 2009-03-20 | 2013-09-03 | Sony Computer Entertainment America Llc | Methods and systems for dynamically adjusting update rates in multi-player network gaming |
US8342963B2 (en) | 2009-04-10 | 2013-01-01 | Sony Computer Entertainment America Inc. | Methods and systems for enabling control of artificial intelligence game characters |
US8142288B2 (en) | 2009-05-08 | 2012-03-27 | Sony Computer Entertainment America Llc | Base station movement detection and compensation |
US8393964B2 (en) | 2009-05-08 | 2013-03-12 | Sony Computer Entertainment America Llc | Base station for position location |
US8475254B2 (en) | 2009-12-28 | 2013-07-02 | Patent Investment & Licensing Company | Linked game play on gaming devices |
JP6034551B2 (ja) * | 2011-03-16 | 2016-11-30 | 任天堂株式会社 | 情報処理システム、情報処理装置、情報処理プログラム、および画像表示方法 |
CN114522415A (zh) * | 2021-12-24 | 2022-05-24 | 深圳市达实智控科技股份有限公司 | 多功能游戏控制器的控制方法、装置及多功能游戏控制器 |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3833765A (en) * | 1973-01-30 | 1974-09-03 | Secretary Of The Department | Keyboard and message system |
US4110794A (en) * | 1977-02-03 | 1978-08-29 | Static Systems Corporation | Electronic typewriter using a solid state display to print |
US4339798A (en) * | 1979-12-17 | 1982-07-13 | Remote Dynamics | Remote gaming system |
US4494197A (en) * | 1980-12-11 | 1985-01-15 | Seymour Troy | Automatic lottery system |
US4814756A (en) * | 1980-12-12 | 1989-03-21 | Texas Instruments Incorporated | Video display control system having improved storage of alphanumeric and graphic display data |
US4926327A (en) * | 1983-04-05 | 1990-05-15 | Sidley Joseph D H | Computerized gaming system |
GB2148487B (en) * | 1983-10-13 | 1987-01-14 | Perkins Engines Group | Apparatus for measuring smoke density |
GB2151054A (en) * | 1983-10-20 | 1985-07-10 | Mecca Leisure Ltd | Systems for playing games |
US4582324A (en) * | 1984-01-04 | 1986-04-15 | Bally Manufacturing Corporation | Illusion of skill game machine for a gaming system |
US4747043A (en) * | 1984-02-10 | 1988-05-24 | Prime Computer, Inc. | Multiprocessor cache coherence system |
CA1245361A (en) * | 1984-06-27 | 1988-11-22 | Kerry E. Thacher | Tournament data system |
DE3444802A1 (de) * | 1984-12-08 | 1986-06-12 | Messerschmitt-Bölkow-Blohm GmbH, 8012 Ottobrunn | Verfahren und anordnung zur durchfuehrung von passagierbezogenen und/oder flugbegleiterbezogenen funktionen in einem flugzeug |
US4774514A (en) * | 1984-07-20 | 1988-09-27 | Messerschmitt-Boelkow Blohm Gesellschaft Mit Beschraenkter Haftung | Method and apparatus for carrying out passenger-related and flight attendant-related functions in an airplane |
US4584603A (en) * | 1984-10-19 | 1986-04-22 | Harrison Elden D | Amusement and information system for use on a passenger carrier |
EP0227014B1 (de) * | 1985-12-24 | 1990-03-07 | Kabushiki Kaisha Toshiba | Hilfsantriebsgerät für eine Turbine |
US4724521A (en) * | 1986-01-14 | 1988-02-09 | Veri-Fone, Inc. | Method for operating a local terminal to execute a downloaded application program |
US4647980A (en) * | 1986-01-21 | 1987-03-03 | Aviation Entertainment Corporation | Aircraft passenger television system |
US4843633A (en) * | 1986-02-18 | 1989-06-27 | Motorola, Inc. | Interface method and apparatus for a cellular system site controller |
CA1284225C (en) * | 1986-07-23 | 1991-05-14 | Katsuya Nakagawa | Game software service system |
US4894773A (en) * | 1986-08-22 | 1990-01-16 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method and apparatus for optimizing system operational parameters through projective transformations |
IL80143A0 (en) * | 1986-09-24 | 1986-12-31 | Technion Res & Dev Foundation | Optical apparatus and method for photocarrier diffusion length measurement |
CA1330596C (en) * | 1986-11-19 | 1994-07-05 | Yoshiaki Nakanishi | Memory cartridge and data processing apparatus |
JP2658030B2 (ja) * | 1987-01-30 | 1997-09-30 | ソニー株式会社 | 情報伝送装置 |
JP2612574B2 (ja) * | 1987-07-29 | 1997-05-21 | 日本電信電話株式会社 | 静止画の伝送装置 |
US4999806A (en) * | 1987-09-04 | 1991-03-12 | Fred Chernow | Software distribution system |
JP2773137B2 (ja) * | 1988-07-01 | 1998-07-09 | ソニー株式会社 | コンピュータゲームなどのサポートシステム |
US4926326A (en) * | 1988-08-12 | 1990-05-15 | Mckinley Robert E | Coin-operated message display system |
US5146568A (en) * | 1988-09-06 | 1992-09-08 | Digital Equipment Corporation | Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs |
JP2692238B2 (ja) * | 1989-02-14 | 1997-12-17 | ソニー株式会社 | 情報伝送装置 |
US4965568A (en) * | 1989-03-01 | 1990-10-23 | Atalla Martin M | Multilevel security apparatus and method with personal key |
AU641397B2 (en) * | 1989-04-28 | 1993-09-23 | Softel, Inc. | Method and apparatus for remotely controlling and monitoring the use of computer software |
US5117225A (en) * | 1989-05-01 | 1992-05-26 | Summit Micro Design | Computer display screen monitoring system |
KR910006834A (ko) * | 1989-09-29 | 1991-04-30 | 아오이 죠이치 | 전원회로의 제조건에 의해 휘도를 변경시킬수 있는 디스플레이 제어장치 |
US5043908A (en) * | 1989-10-03 | 1991-08-27 | Pitney Bowes Inc. | Mail delivery system with arrival monitoring |
US5396635A (en) * | 1990-06-01 | 1995-03-07 | Vadem Corporation | Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system |
GB9027678D0 (en) * | 1990-12-20 | 1991-02-13 | Ncr Co | Videographics display system |
US5230074A (en) * | 1991-01-25 | 1993-07-20 | International Business Machines Corporation | Battery operated computer power management system |
US5237669A (en) * | 1991-07-15 | 1993-08-17 | Quarterdeck Office Systems, Inc. | Memory management method |
ES2041577B1 (es) * | 1991-11-14 | 1996-05-16 | Juego Material Auxiliar | Sistema electronico para el desarrollo controlado del juego del bingo y maquinas utilizables en dicho sistema. |
US5311302A (en) * | 1992-07-02 | 1994-05-10 | Hughes Aircraft Company | Entertainment and data management system for passenger vehicle including individual seat interactive video terminals |
US5327228A (en) * | 1992-07-30 | 1994-07-05 | North American Philips Corporation | System for improving the quality of television pictures using rule based dynamic control |
US5390293A (en) * | 1992-08-19 | 1995-02-14 | Hitachi, Ltd. | Information processing equipment capable of multicolor display |
US5389952A (en) * | 1992-12-02 | 1995-02-14 | Cordata Inc. | Low-power-consumption monitor standby system |
US5453986A (en) * | 1993-01-08 | 1995-09-26 | Multi-Tech Systems, Inc. | Dual port interface for a computer-based multifunction personal communication system |
US5959596A (en) * | 1993-06-24 | 1999-09-28 | Nintendo Co., Ltd. | Airline-based video game and communications system |
US5581270A (en) * | 1993-06-24 | 1996-12-03 | Nintendo Of America, Inc. | Hotel-based video game and communication system |
US5641319A (en) * | 1994-08-10 | 1997-06-24 | Lodgenet Entertainment Corporation | Entertainment system for providing interactive video game responses to the game interrogations to the video game engines without being processed by the host computer |
JP3194349B2 (ja) * | 1995-10-27 | 2001-07-30 | 株式会社ダイフク | 車の搬送方法および装置 |
-
1993
- 1993-10-06 US US08/132,293 patent/US5581270A/en not_active Expired - Lifetime
-
1994
- 1994-09-27 AT AT94307026T patent/ATE214178T1/de not_active IP Right Cessation
- 1994-09-27 DE DE69430032T patent/DE69430032T2/de not_active Expired - Lifetime
- 1994-09-27 EP EP94307026A patent/EP0647914B1/de not_active Expired - Lifetime
- 1994-10-04 CA CA002133619A patent/CA2133619A1/en not_active Abandoned
-
1995
- 1995-06-07 US US08/477,667 patent/US5923306A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0647914B1 (de) | 2002-03-06 |
US5581270A (en) | 1996-12-03 |
DE69430032D1 (de) | 2002-04-11 |
EP0647914A3 (de) | 1995-09-27 |
CA2133619A1 (en) | 1995-04-07 |
ATE214178T1 (de) | 2002-03-15 |
US5923306A (en) | 1999-07-13 |
EP0647914A2 (de) | 1995-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69430032T2 (de) | Videospiel- und Kommunikationssystem zur Verwendung in einem Hotelzimmer | |
US6147663A (en) | Electronic entertainment and communication system | |
DE69428398T2 (de) | Videospiel- und kommunikations-system in einem flugzeug | |
US6762733B2 (en) | Electronic entertainment and communication system | |
DE69226966T2 (de) | Videodatenverarbeitungssystem mit zwei Prozessoren | |
DE69623242T2 (de) | Untersystem zur Peripheriesteuerung für Videospielsystem | |
DE69812338T2 (de) | Video auf anfrage mit videorecorderähnlichen funktionen | |
DE69609571T2 (de) | Ablenkungen für Fernsehzuschauer | |
DE69407377T2 (de) | Systeme zum Kartenspielen auf Abstand | |
DE69732262T2 (de) | Maschine für Programmempfang und -ausführung, die auch bei teilweisem Empfang des Programms die Maschinenprogrammausführung starten kann. | |
DE69232440T2 (de) | Transaktionsgebundenes interaktives fernsehsystem | |
DE69424493T2 (de) | Interaktives System und Verfahren | |
DE3724449A1 (de) | Bereitstellungssystem fuer software | |
DE69918916T2 (de) | System und Verfahren zur Datenverarbeitung und Unterhaltungssystem | |
US4342454A (en) | Method and apparatus for instant replay and other capabilities for microprocessor-controlled video games | |
DE69519866T2 (de) | Vorrichtung und verfahren zum spielen von computerspielen uber ein telekommunikationsnetz | |
DE19936062B4 (de) | Einrichtung, System und Verfahren zum Empfangen und/oder Senden von Information | |
DE69930522T2 (de) | Installieren und laden von gerätetreibern auf einem unterhaltungssystem | |
DE10121777B4 (de) | Multimediagerät dessen Funktionen erweitert werden können und Verfahren für das Erweitern der Funktionen | |
DE60037714T2 (de) | Spiele-steuervorrichtung, unterhaltungssystem mit einer solchen spiel-steuervorrichtung und verfahren zum ausführen eines spieles | |
DE69330860T2 (de) | Informationsprozessor mit einem optischen Speichermedium | |
DE69816356T2 (de) | Vorrichtung und Verfahren zum Betreiben eines Videospiels mit Einspielen eines Videobildes eines Spielers | |
DE3229634C2 (de) | ||
DE60034632T2 (de) | Verfahren zum Steuern des Datenverarbeitungsablaufs in einem Videospiel, Speichermedium für Datenverarbeitungsablaufsteuerprogramme und Spielvorrichtung | |
DE69423745T2 (de) | Lokales nachrichtensystem und station zur anwendung in einem solchen system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: NINTENDO OF AMERICA INC., REDMOND, WASH., US |