[go: up one dir, main page]

DE10103222A1 - Halbleiter-Speichereinrichtung und Programm-Unterscheidungssystem - Google Patents

Halbleiter-Speichereinrichtung und Programm-Unterscheidungssystem

Info

Publication number
DE10103222A1
DE10103222A1 DE10103222A DE10103222A DE10103222A1 DE 10103222 A1 DE10103222 A1 DE 10103222A1 DE 10103222 A DE10103222 A DE 10103222A DE 10103222 A DE10103222 A DE 10103222A DE 10103222 A1 DE10103222 A1 DE 10103222A1
Authority
DE
Germany
Prior art keywords
address
program
data
address data
code
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.)
Granted
Application number
DE10103222A
Other languages
English (en)
Other versions
DE10103222B4 (de
Inventor
Masaru Shimomura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Publication of DE10103222A1 publication Critical patent/DE10103222A1/de
Application granted granted Critical
Publication of DE10103222B4 publication Critical patent/DE10103222B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Eine Halbleiter-Speichereinrichtung umfaßt einen Programm-Nur-Lese-Speicher. Ein Rechenelement einer Adressen-Verarbeitungseinheit, das in dem Programm-Nur-Lese-Speicher angeordnet ist, berechnet niedrigere 8 Bits A0-A7 von ersten Adreßdaten eines Adreßbusses einer Zentraleinheit durch Verwendung eines Adreßrechencodes a0-a7 von 8 Bits, die vorher in einer in den gleichen Programm-Nur-Lese-Speicher angeordneten Code-Speichereinheit gesetzt worden sind. Das Rechenelement gibt ein Rechenergebnis A0'-A7' aus. A0-A7 werden durch A0'-A7' durch ein Wählelement ersetzt, wodurch die zweiten Adreßdaten von insgesamt 16 Bits A0'-A7' + A8-A15 von der Adressen-Verarbeitungseinheit ausgegeben werden.

Description

Die vorliegende Erfindung betrifft eine Halbleiter-Speichereinrichtung und ein Programm-Unterscheidungssystem hierfür. Insbesondere betrifft die Erfindung eine Halbleiter-Speichereinrichtung, wie einen Nur-Lese-Speicher, die ein Pro­ gramm und dergleichen in eine Kassette für ein Spiele-Gerät speichert, und ein Unterscheidungssystem für das Programm.
Beispielsweise umfaßt eine Kassette für ein Spiele-Gerät eine Halbleiter- Speichereinrichtung, wie einen Nur-Lese-Speicher, in den ein Spielprogramm geschrieben ist, wobei die Kassette während der Benutzung in ein Spiele- Gerätegehäuse eingefügt ist. Besonders im Fall einer solchen Kassette für Spiele- Geräte ist der Markt mit Imitationen verseucht, in der Spielprogramme gesetzwid­ rig kopiert sind.
Wie in der japanischen Auslegeschrift Nr. 2-31256 [G06F 12/14] offenbart ist, schlägt der Anmelder ein System vor, das imstande ist, ein unerlaubtes Kopieren eines Spielprogramms oder eines anderen Programms zu verhindern, bzw. das imstande ist, ein Verändern der Daten durch Unterscheidung der Echtheit und durch Zugangsverhinderung zu dem Programmspeicher, im Falle, daß eine Kas­ sette keine Originalkassette ist, zu verhindern.
In dem vorgenannten Stand der Technik, in dem die Adressendecodierungsme­ thode verwendet wird, wird die Echtheit durch Vergleich mit den von dem im Speicher tatsächlich gelesenen Programmdaten festgestellt. Daher ist es möglich, Raubkopien mit einer hohen Zuverlässigkeit und über einen gewissen Grad hinaus zu entfernen.
Jedoch ist es bei dem oben beschriebenen Stand der Technik erforderlich, eine Anzahl von Adressen zu decodieren, wobei ein zusätzlich zu lösendes Problem vorhanden war, und zwar, daß nicht nur die Chipgröße aufgrund der Anzahl der Verknüpfungsglieder zu lang wurde, sondern auch, wenn die Adressen, die zu decodieren waren, zu analysieren waren, ein Schutzeffekt gegen die gesetzwidrige Verwendung des Programms verloren ging.
Daher ist es Hauptaufgabe der Erfindung, eine neue Halbleiter- Speichereinrichtung und ein Programm-Unterscheidungssystem hierfür zu schaf­ fen.
Eine weitere Aufgabe der vorliegenden Erfindung ist es, eine Halbleiter- Speichereinrichtung bereitzustellen, welche die Analyse eines Programms er­ schwert, die Durchführung einer Programm-Untersuchung und einen Schutzeffekt für eine lange Zeit ermöglicht, und ein Programm-Unterscheidungssystem hierfür zu schaffen.
Eine Halbleiter-Speichereinrichtung, gemäß der vorliegenden Erfindung ist eine Halbleiter-Speichereinrichtung, in der Programmdaten, die durch eine Zentralein­ heit ausgeführt werden, fest gespeichert sind und die Programmdaten von Adres­ sen, die durch Adreßdaten bestimmt sind, ausgibt. Die Halbleiter- Speichereinrichtung umfaßt ein Programmdaten-Speichermittel für das Festspei­ chern der Programmdaten, ein Code-Erzeugungsmittel für die Erzeugung eines Adreßrechencodes, und ein Adressen-Verarbeitungsmittel, das erste Adreßdaten erhält, die von der Zentraleinheit ausgegeben werden, in der das Adressen- Verarbeitungsmittel neue zweite Adreßdaten ausgibt, die durch Ausführung eines Rechenschritts von mindestens einem Teil der ersten Adreßdaten geschaffen wer­ den, wobei die Ausführung auf der Grundlage des Adreßrechencodes basiert, wo­ bei die Ausführung zu einem Zeitpunkt erfolgt, bei dem ein Steuersignal vorhan­ den ist, wobei das Adressen-Verarbeitungsmittel die zweiten Adreßdaten an dem Programmdaten-Speichermittel anlegt, wobei das Adressen-Verarbeitungsmittel zu einem Zeitpunkt, in dem kein Steuersignal vorhanden ist, die ersten Adreßda­ ten an dem Programmdaten-Speichermittel anlegt.
Das Adressen-Verarbeitungsmittel umfaßt ein Rechenmittel, das fähig ist, die zweiten Adreßdaten durch Berechnung von mindestens einem Teil der ersten Adressen durch Verwendung des Adreßrechencodes auszugeben, und umfaßt ein Wählelement, das die zweiten Adreßdaten ausgibt, wenn das Steuersignal an dem Wählelement angelegt wird, und gibt die ersten Adreßdaten aus, wenn das Steuer­ signal nicht an dem Wählelement angelegt wird.
In einem solchen Fall, kann das Rechenmittel eine Mehrzahl von Rechenelemen­ ten umfassen, die jeweils verschiedene Arten von Rechenoperationen ausführen können. Das Rechenmittel gibt somit verschiedene Arten von zweiten Adreßdaten aus, jeweils bei Aufnahme der ersten Adreßdaten und den Adreßrechencode. Das Code-Erzeugungsmittel erzeugt zusätzlich einen Rechenelementwahlcode, mit dem jedes der Mehrzahl der Rechenelemente ausgewählt werden kann. Das Wähl­ element kann die mit demjenigen Rechenelement in Verbindung stehenden zwei­ ten Adreßdaten auswählen, welches durch den Rechenelementwahlcode oder die ersten Adreßdaten ausgewählt worden ist.
In einer Ausführungsform der vorliegenden Erfindung umfaßt eine Halbleiter- Speichereinrichtung ein Programmdaten-Speichermittel für die Festspeicherung von Programmdaten, ein Code-Erzeugungsmittel für die Erzeugung eines Adreß­ rechencodes, und ein Adressen-Verarbeitungsmittel, das erste Adreßdaten erhält, die von einer Zentraleinheit ausgegeben werden, worin das Adressen- Verarbeitungsmittel neue zweite Adreßdaten ausgibt, die durch Ausführen eines ersten Rechenschritts auf mindestens einem Teil der ersten Adreßdaten erhalten werden, wobei das Ausführen auf dem Adreßrechencode basiert, wobei ferner die Ausführung zu einem Zeitpunkt erfolgt, bei dem ein Steuersignal vorhanden ist. Das Adressen-Verarbeitungsmittel legt die zweiten Adreßdaten an das Pro­ grammdaten-Speichermittel an und gibt neue dritte Adreßdaten aus, die durch Ausführen eines zu dem ersten Rechenschritt unterschiedlichen zweiten Rechen­ schritts, der auf zumindest einem Teil der ersten Adreßdaten unterschiedlich ist, erhalten werden, auf der Grundlage des Adreßrechencodes basiert, wobei ferner das Ausführen zu einem Zeitpunkt geschieht, in dem kein Steuersignal vorhanden ist, wobei das Adressen-Verarbeitungsmittel die dritten Adreßdaten an das Pro­ grammdaten-Speichermittel anlegt.
In diesem Fall verwandeln einer der ersten Rechenschritte und der zweite in dem Adressen-Verarbeitungsmittel ausgeführte Rechenschritt die ersten Adreßdaten in Adreßdaten, um Programmdaten auszugeben, die regulär durch die Zentraleinheit ausgeführt werden müssen.
Ein Programm-Unterscheidungssystem im Sinne der vorliegenden Erfindung um­ faßt eine nur Lese-Programmspeichereinheit, die Programmdaten festspeichert, und eine Zentraleinheit, die die Programmdaten durch Lesen der Programmdaten von der Programmspeichereinheit ausführt und die unterscheidet, ob das Pro­ gramm ein ordnungsgemäßes Programm ist oder nicht, wobei die Programmspei­ chereinheit ein Programmdaten-Speichermittel für das Festspeichern der Pro­ grammdaten einschließt, ein Code-Erzeugungsmittel für das Erzeugen von einem Adreßrechencode und ein Adressen-Verarbeitungsmittel für das Empfangen von ersten Adreßdaten, die von der Zentraleinheit ausgegeben werden, wobei das Adressen-Verarbeitungsmittel neue zweite Adreßdaten ausgibt, die durch Ausfüh­ rung eines Rechenschritts von mindestens einem Teil der ersten Adreßdaten er­ halten werden, wobei die Ausführung auf der Grundlage des Adreßrechencodes basiert, wenn ein Steuersignal von der Zentraleinheit angelegt wird, und die zweiten Adreßdaten an dem Programmdaten-Speichermittel anlegt, und die ersten Adreßdaten an dem Programmdaten-Speichermittel anlegt, wenn kein Steuersi­ gnal angelegt ist, und die Zentraleinheit ein Steuersignal-Anlegungsmittel umfaßt, um das Steuersignal an dem Adressen-Verarbeitungsmittel der Programmspei­ chereinheit anzulegen, und ein Adressen-Ausgabemittel für die Ausgabe der er­ sten Adreßdaten, um die ersten Adreßdaten kurz nach dem das Steuersignal vor­ liegt, an dem Adressen-Verarbeitungsmittel anzulegen, und ein Entscheidungs­ mittel für die Entscheidung der Echtheit der Programmspeichereinheit, in dem entschieden wird, ob eine vorher festgesetzte Beziehung zwischen den Pro­ grammdaten, die durch das Programmdaten-Speichermittel gemäß der zweiten Adreßdaten und den im voraus gesetzten Prüfdaten gelesen werden, besteht oder nicht.
Die Zentraleinheit weist weiterhin ein Programm-Beendigungsmittel für die zwangsläufige Beendigung des Programms auf, wenn ein Entscheidungsergebnis des Entscheidungsmittels eine falsche Programmspeichereinheit anzeigt.
Wenn das Steuersignal, das von der Zentraleinheit als Reaktion der bestimmten, aus dem Programmdaten-Speichermittel gelesenen Programmdaten zu dem Adressen-Verarbeitungsmittel weitergegeben wird, gibt in der Halbleiter- Speichereinrichtung das Adressen-Verarbeitungsmittel die zweiten Adreßdaten aus, indem eine Rechenoperation an allen Bits oder Bitteilen der ersten Adreßda­ ten, die auf dem Adreßrechencode des Code-Erzeugungsmittels basieren, durch­ geführt wird, wobei das Adressen-Verarbeitungsmittel die zweiten Adreßdaten an dem Programmdaten-Speichermittel anlegt. Vorzugsweise errechnet das Rechen­ mittel des Adressen-Verarbeitungsmittels die ersten Adreßdaten, indem der Adreßrechencode verwendet wird, um die zweiten Adreßdaten auszugeben, und das Wählelement gibt die zweiten Adreßdaten als Reaktion auf das Steuersignal aus. Daher werden von dem Programmdaten-Speichermittel, als Reaktion auf das Steuersignal, die Programmdaten von einer Adresse gelesen, die bestimmt ist, nicht durch die ersten Adreßdaten, die von der Zentraleinheit ausgegeben werden, sondern durch die zweiten Adreßdaten, die von dem Adressen- Verarbeitungsmittel ausgegeben werden.
In der Zentraleinheit wird durch das Entscheidungsmittel entschieden, ob die Pro­ grammdaten, die gemäß der zweiten Adreßdaten ausgelesen werden, mit den vor­ her gesetzten Prüfdaten übereinstimmen oder nicht. Wenn beide Daten miteinan­ der übereinstimmen, entscheidet das Entscheidungsmittel, daß die Halbleiter- Speichereinheit (Programm-Nur-Lese-Speicher) zu diesem Zeitpunkt eine echte ist. Wenn die Daten nicht miteinander übereinstimmen, ist die Halbleiter- Speichereinrichtung eine falsche, und das Programm wird daher zwangsläufig beendet.
Dementsprechend, auch wenn alle in das Programmdaten-Speichermittel gespei­ cherten Programmdaten kopiert sind, wird im Fall, daß das Adressen- Verarbeitungsmittel gemäß der vorliegenden Erfindung nicht vorhanden ist, die Programmspeichereinheit aufgrund des Ergebnisses der Programmprüfung als eine Imitation erkannt, wodurch es unmöglich ist, das Programm auszuführen.
Wenn eine Mehrzahl der Rechenelemente, die fähig sind, jeweils verschiedene Arten von Rechenoperationen auszuführen, in dem Adressen-Verarbeitungsmittel vorhanden sind, wählt das Wählelement weiterhin die zweiten Adreßdaten von einem Rechenelement aus, welches durch einen Rechenwahlcode ausgewählt worden ist, der von dem Code-Erzeugungsmittel ausgegeben worden ist.
Weiterhin können die zweiten Adreßdaten, die durch Verarbeitung der ersten Da­ ten durch die erste Rechenoperation, wenn das Steuersignal vorhanden ist, entste­ hen, oder die dritten Adreßdaten, die als Ergebnis der Verarbeitung der ersten Adreßdaten durch die zweite Rechenoperation, wenn kein Steuersignal vorhanden ist, entstehen, ausgegeben werden. In diesem Fall, verwandelt die erste Rechen­ operation oder die zweite Rechenoperation in dem Adressen-Verarbeitungsmittel die ersten Adreßdaten in eine reguläre Adresse, damit Programmdaten ausgegeben werden können, um regulär durch die Zentraleinheit ausgeführt zu werden.
Gemäß der vorliegenden Erfindung können die Programmdaten im Gegensatz zum echten Produkt nicht ausgeführt werden, wenn alle Programmdaten des Pro­ grammdaten-Speichermittels kopiert sind, aber alle die Elemente, wie das Re­ chenmittel und der Rechencode in dem Adressen-Verarbeitungsmittel, nicht un­ tersucht sind, wodurch es möglich ist, eine gesetzwidrige Programmbenutzung wirksam zu verhindern.
Weiterhin ist es im Fall, daß die Elemente, wie z. B. die Art der Rechenoperation, der Adreßrechencode in dem Rechenmittel und der Rechenwahlcode, durch den das Rechenelement bestimmt worden ist, für jedes Produkt oder jede Produktver­ sion ausgetauscht werden, selbst wenn alle Elemente eines gegebenen Produktes untersucht werden könnten, für eine Person, die versucht das Programm gesetz­ widrig zu benutzen, erforderlich, die Elemente bei jeder Gelegenheit erneut zu analysieren, und kann ein Untersuchungsergebnis an einem anderen Produkt, so wie es ausgeführt ist, nicht herangezogen werden. In Anbetracht dessen, daß eine lange Zeit und massive Instrumente für die Untersuchung erforderlich sind, ist es, gemäß der vorliegenden Erfindung, wirklich möglich, die gesetzwidrige Pro­ grammbenutzung zu verhindern.
Die oben beschriebene Aufgabe und andere Aufgaben, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden anhand der detaillierten Beschrei­ bung und der begleitenden Zeichnungen der vorliegenden Erfindung näher erläu­ tert.
Fig. 1 ist ein Blockdiagramm, das eine Ausführungsform der vorliegenden Erfin­ dung zeigt;
Fig. 2 ist ein Blockdiagramm, das ein Beispiel einer Adressen- Verarbeitungseinheit der Ausführung gemäß der Fig. 1 zeigt;
Fig. 3 zeigt eine Darstellung eines Speicherplans einer Zentraleinheit in Fig. 1;
Fig. 4 ist ein Flußdiagramm, das einen Ablauf der Ausführungsform gemäß der Fig. 1 zeigt;
Fig. 5 ist ein Flußdiagramm, das ein Prüfprogramm gemäß des Flußdiagramms in Fig. 4 zeigt;
Fig. 6 ist ein Blockdiagramm, das ein abgeändertes Beispiel der Adressen- Verarbeitungseinheit zeigt;
Fig. 7 ist ein Blockdiagramm, das ein anderes abgeändertes Ausführungsbeispiel der Adressenverarbeitungseinheit zeigt; und
Fig. 8 ist ein Blockdiagramm, das eine andere Ausführungsform gemäß der vor­ liegenden Erfindung zeigt.
Eine Informations-Verarbeitungsvorrichtung 10 einer Ausführungsform gemäß der vorliegenden Erfindung, die in Fig. 1 gezeigt ist, umfaßt eine Zentraleinheit 12 (CPU), die eine zentrale Verarbeitungseinheit ist. Eine Anzeigevorrichtung 14, die eine Ausgabeeinrichtung ist, und eine Eingabe-Bedieneinrichtung 16, die eine Eingabeeinrichtung ist, sind mit der Zentraleinheit 12 verbunden. Die Informati­ ons-Verarbeitungsvorrichtung 10 weist ein Programm-Unterscheidungssystem auf. Wenn die Informations-Verarbeitungsvorrichtung 10 ein Spieleprozessor ist, dann ist die Eingabe-Bedieneinheit 16 eine Steuereinheit für Spiele, wobei die Steuereinheit einen Steuerknüppel (joystick), ein Steuerkreuz (cross key) und ei­ nige Arten von Bedienknöpfen aufweist, wobei der Spieleprozessor, d. h. die Zen­ traleinheit 12, ein Spielprogramm verarbeitet, das in einem Programm-Nur-Lese- Speicher 18 als Folge einer Bedienung gespeichert ist, wobei die Bedienung durch eine Eingabe-Bedieneinrichtung 16 ausgeführt wird, um ein Spielebild in einer Anzeigevorrichtung 14 anzuzeigen, wobei die Anzeigevorrichtung 14 beispiels­ weise ein Fernsehbildschirm oder ein Flüssigkristallbildschirm sein kann. Weiter­ hin ist ein Arbeitsspeicher 20, der an der Zentraleinheit 12 angeschlossen ist, bei­ spielsweise als ein Schreib-Lese-Speicher und dergleichen ausgeführt, wobei der Arbeitsspeicher 20 für den Betrieb der oben beschriebenen Programmverarbeitung benutzt wird und wobei der Arbeitsspeicher 20 für das temporäre Speichern eines Prüfprogramms und von Prüfdaten für eine später beschriebene Programmecht­ heitsunterscheidung benutzt wird.
Der Programm-Nur-Lese-Speicher 18, der wie eine Halbleiter-Speicher­ einrichtung oder eine Programmspeichereinheit funktioniert, ist ein Nur-Lese- Halbleiterspeicher, wie ein programmierbarer Nur-Lese-Speicher (PROM), ein Flash ROM, ein löschbarer Festwertspeicher (EPROM), ein elektrisch löschbarer Festwertspeicher (EEROM) und dergleichen, der die Programmdaten fest spei­ chert. Der Programm-Nur-Lese-Speicher 18 weist zusätzlich zu einer Programm­ daten-Speichereinheit 22 eine Adressen-Verarbeitungseinheit 24 und eine Code- Speichereinheit 26 auf, wobei die Programmdaten-Speichereinheit 22, die ein Speicherkern ist, ein konventioneller Programm-Nur-Lese-Speicher ist. Weiterhin sind, wie in dem Ausführungsbeispiel gezeigt, die Programmdaten- Speichereinheit 22, die Adressen-Verarbeitungseinheit 24 und die Code- Speichereinheit 26 in dem gleichen Halbleiterchip angeordnet. Weiterhin werden die von der Zentraleinheit 12 durch einen Adreßbus ausgegebenen Daten von der Adressen-Verarbeitungseinheit 24 verarbeitet. Die Adressen-Verarbeitungseinheit 24 legt die verarbeiteten Adreßdaten an die Programmdaten-Speichereinheit 22 an. Die Programmdaten-Speichereinheit 22 liest die Programmdaten aus gemäß der Adreßdaten, die durch die Adressen-Verarbeitungseinheit 24 verarbeitet wor­ den sind. Die Programmdaten werden von der Zentraleinheit 12 durch einen Da­ tenbus ausgegeben.
Weiterhin verarbeitet, wie später beschrieben, die Adressen-Verarbeitungseinheit 24 die Adreßdaten auf der Basis eines an einem Steuerbus der Zentraleinheit 12 angelegten Steuersignals und eines Codes (Daten), der von einer Code- Speichereinheit 26 angelegt ist.
Ein Ausführungsbeispiel der Adressen-Verarbeitungseinheit 24 ist in Fig. 2 ge­ zeigt. Wie in Fig. 2 gezeigt ist, umfaßt die Adressen-Verarbeitungseinheit 24 ein Wählelement 30 und ein Rechenelement 28, das wie ein Rechenmittel arbeitet. Das Rechenelement 28 ist in dem Chip des Programm-Nur-Lese-Speichers 18 angeordnet und kann ein Multiplizierer, ein Dividierer, ein Subtrahierer, ein Ad­ dierer sein oder ein Verschiebe-Register oder ein anderes einfaches logisches Re­ chenelement (beispielsweise UND, Nicht-UND, ODER, Nicht-ODER, EXKLUSIV-ODER und dergleichen) sein.
Die oberen 8 Bits A8-A15, beispielsweise der ersten Adreßdaten A0-A15 von 16 Bits, die von der Zentraleinheit 12 ausgegeben werden, sind synthetisiert bzw. sind mit den Ausgabedaten A0'-A7' des Wählelementes 30 gekoppelt. Die un­ teren 8 Bits A0-A7 werden an einem Eingang des Rechenelements 28 und an einem Eingang (X) des Wählelementes 30 angelegt. An einem anderen Eingang des Rechenelements 28 wird ein Adreßrechencode a0-a7 von 8 Bits angelegt, wobei der Adreßrechencode a0-a7 in der Code-Speichereinheit 26, die wie ein Code-Erzeugungsmittel arbeitet, gesetzt wird. Das Rechenelement 28 führt jede der oben beschriebenen Operationen an zwei Eingängen aus. Ein Ausgang des Rechenelements 28 wird an einem anderen Eingang (Y) des Wählelementes 30 angelegt. Im Fall, daß das Rechenelement 28 beispielsweise ein UND ist, gibt das Rechenelement 28 ein logisches Summenergebnis A0'-A7' des Adreßrechenco­ des a0-a7 und der niedrigeren 8 Bits A0-A7 aus und legt dasselbe an dem oben beschriebenen einen Eingang des Wählelementes 30 an.
Das vorher beschriebene Steuersignal, beispielsweise ein Schreibsignal, wird an dem Wählelement 30 der Zentraleinheit 12 angelegt. Daher ersetzt das Wählele­ ment 30 die niedrigeren 8 Bits A0-A7 der Adreßdaten mit dem Rechenergebnis A0'-A7' als Folge des Steuersignals, d. h. des Schreibsignals, und gibt die aus­ getauschten Daten aus. Andererseits sind die oberen 8 Bits A8-A15 der Adreß­ daten A0-A15 mit dem Ausgang des Wählelementes 30 gekoppelt. Als Ergebnis hiervon werden die zweiten Adreßdaten von insgesamt 16 Bits von A0'-A7' + A8-A15 von dem Wählelement 30, d. h. der Adressen-Verarbeitungseinheit 24 ausgegeben.
Weil die zweiten somit modifizierten bzw. durch die Adressen- Verarbeitungseinheit 24 verarbeiteten Adreßdaten in der Programmdaten- Speichereinheit 22 (Fig. 1) in einem in Fig. 5 gezeigten und später beschriebenen Schritt S12 eingegeben werden, werden die Programmdaten gelesen von einer Adresse der Programmdaten-Speichereinheit 22, die nicht durch die Adreßdaten A0-A15, sondern durch die zweiten Adreßdaten A0'-A7' + A8-A15 be­ stimmt ist. Im Fall eines falschen Programm-Nur-Lese-Speichers, der nicht die Adressen-Verarbeitungseinheit 24 aufweist, werden die Programmdaten von einer durch die ersten Adreßdaten A0-A15 gezeigten Adresse gelesen. Daher werden die Programmdaten, die von der Programmdaten-Speichereinheit 22 gelesen wor­ den sind, voneinander unterschiedlich. Im vorher erwähnten Fall stimmen die ausgelesenen Programmdaten mit den vorher gesetzten Prüfdaten überein. Im später beschriebenen Fall stimmen die Programmdaten aber nicht mit den Prüf daten überein.
Weiterhin werden gemäß des Ausführungsbeispiels in Fig. 2 nur die niedrigeren 8 Bits der ersten Adreßdaten mit dem Rechencode durch das Rechenelement 28 berechnet. Die oberen 8 Bits werden so wie sie sind ausgegeben. Wie auch immer können alle 16 Bits der ersten Adresse in dem Rechenelement 28 berechnet wer­ den. In einem solchen Fall, wie in der Fig. 2 mit Klammern dargestellt ist, werden alle 16 Bits der Adreßdaten A0-A15 an dem einen Eingang des Rechenelements 28 angelegt. An dem anderen Eingang des Rechenelementes 28 wird ein Adreßre­ chencode a0-a15 von 16 Bits von der Code-Speichereinheit 26 angelegt. Daher werden zweite Adreßdaten A0'-15', von denen alle Bits modifiziert bzw. ver­ arbeitet sind, von dem Rechenelement 28 ausgegeben. Die zweiten Adreßdaten A0'-15' werden an dem einen Eingang (X) des Wählelementes 30 gelegt. Wie bei dem anderen Eingang (Y) des Wählelementes 30 auch, werden die Adreßdaten A0-A15, die von der Zentraleinheit 12 ausgegeben worden sind, angelegt. Des­ halb werden von dem Wählelement 30 die zweiten Adreßdaten A0'-A15' aus­ gegeben, wenn das Steuersignal vorhanden ist. Wenn das Steuersignal nicht vor­ handen ist, werden die zweiten Adreßdaten A0-A15 ausgegeben. Deshalb wird in einem Schritt S13 in Fig. 5 die Richtigkeit der gelesenen Programmdaten fest­ gestellt, wobei die Programmdaten von einer Adresse gelesen werden, die durch die Adreßdaten A0'-15' bestimmt wird.
Die Zentraleinheit 12 in Fig. 1 weist einen Speicherplan auf, der in Fig. 3 gezeigt ist. Ein Speicherraum, beispielsweise "0000h-DFFFh", ist ein Programmbereich, der dem Programm-Nur-Lese-Speicher 18 zugewiesen ist. Ein Speicherbereich von "E000h-FFFFh" ist ein Arbeitsbereich, der dem Arbeitsspeicher 20 zuge­ wiesen ist.
Die Programmdaten-Speichereinheit 22 des Programm-Nur-Lese-Speichers ist ein Teil des oben beschriebenen Programmbereichs. Der Programmbereich ist weiter­ hin mit einem Programmbelegungsbereich oder einem Home-Bereich, einem Prüfprogrammbereich und einem Prüf-Startbefehlsbereich versehen.
Ein Prüfprogramm, das in einem Prüfprogrammbereich gespeichert ist, kann an­ hand des in der Fig. 4 und Fig. 5 gezeigten und später beschriebenen Flußdia­ gramms ausgeführt werden.
Weiterhin wird in dem Prüfprogramm eine oder mehrere der Prüfdaten gesetzt. Die Prüfdaten sind Daten zur Unterscheidung der Programmechtheit, wobei die Unterscheidung durch Vergleich mit den Daten, die durch das Ergebnis der Prüf programmausführung angezeigt werden, erfolgt. Beispielsweise wird in dieser gezeigten Ausführungsform, die Echtheit des Programms nur einmal geprüft, weshalb nur ein Satz Prüfdaten in dem Prüfprogramm gesetzt sind, wie in Fig. 3 gezeigt ist. Durch Setzen des Prüfstartbefehls, damit das Prüfprogramm gestartet wird, wobei das Prüfprogramm ein einziges Prüfdatenpaket in einer Mehrzahl von Plätzen des Hauptprogramms (beispielsweise ein Spielprogramm) verwendet, oder durch Setzen einer Mehrzahl von Prüfstartbefehlen, um jeweils eine Mehr­ zahl von Prüfprogrammen zu starten, wobei eine Mehrzahl von Prüfdaten in einer Mehrzahl von Plätzen benutzt wird, ist es möglich, die Schwierigkeit der Untersu­ chung des Programms zu erhöhen, durch die häufige Echtheitsprüfung des Pro­ gramms.
Weiterhin ist es im Fall, daß das Prüfprogramm relativ klein (beispielsweise eini­ ge bis einige 10 Bytes) ist, es vorzuziehen zur Erhöhung der Schwierigkeit der Untersuchung des Prüfprogramms, daß das Prüfprogramm anstelle des Prüfstart­ befehls in einer Mehrzahl von Plätzen des Hauptprogramms gesetzt wird.
Mit Bezug auf die Fig. 4 wird ein Schritt S1 zuerst durch die Zentraleinheit 12 ausgeführt, wenn eine (nicht gezeigte) Stromversorgung der Informations- Verarbeitungsvorrichtung 10 eingeschaltet wird. In dem Schritt S1 liest die Zen­ traleinheit 12 das in der Programmdaten-Speichereinheit 22 des Programm-Nur- Lese-Speichers 18 (Fig. 1) gespeicherte Programm. In dem zweiten Schritt S2 wird festgestellt, ob die gelesenen Programmdaten bestimmte Programmdaten sind, wobei die bestimmten Programmdaten die Ausführung der Echtheitsprüfung festlegen.
Wenn "NICHT" in dem Schritt S2 festgestellt wird, d. h. wenn die Programmda­ ten, die die Echtheitsprüfung auslösen, keine bestimmten Programmdaten sind, dann wird in einem Schritt S3 eine Verarbeitung gemäß der zu dieser Zeit vorlie­ genden Programmdaten ausgeführt. In einem Schritt S4 nach dem Schritt S3 legt die Zentraleinheit 12 fest, ob das Programm beendet wird. Wenn "JA" festgestellt wird, dann wird die Verarbeitung beendet. Wenn jedoch "NEIN" festgestellt wird, dann springt die Verarbeitung zu dem vorherigen Schritt S1 zurück. Also wird durch Wiederholen der Schritte S1-S4 das in der Programmdaten- Speichereinheit 22 gespeicherte Programm der Reihe nach ausgeführt. In diesem Zustand wird das Steuersignal (beispielsweise das Schreibsignal) nicht an dem Wählelement 30 der Adressen-Verarbeitungseinheit 22 angelegt, wodurch ein Zustand, daß der Eingang X ausgesucht ist, in dem Wählelement 30 festgehalten wird. Demgemäß werden die von der Zentraleinheit 12 ausgegebenen ersten Adreßdaten der Programmspeichereinheit 22 ausgegeben.
Wenn der Befehl für das Ausführen des Prüfprogramms in der Zentraleinheit 12 während der Durchführung, wobei die jeweiligen Befehle der Durchführung in dem Programmbereich der Reihe nach durch Wiederholen der Schritte S1-S4 ausgeführt werden, wobei die im Schritt 2 bestimmt wird, eingegeben wird, dann geht die Verarbeitung zu dem Schritt S5 weiter. Im Fall, daß der Befehl, d. h. die bestimmten Programmdaten, in der Adresse "030Eh" gesetzt worden sind, wie in der Fig. 3 gezeigt ist, geht die Zentraleinheit 12 zu einem Zeitpunkt zu dem Schritt S5 weiter, bei dem die Adresse zu der Adresse "030Eh" heraufgesetzt worden ist.
In dem Schritt S5 liest die Zentraleinheit 12 das Prüfprogramm und die Prüfdaten ein, wobei beide in dem Programmbereich, der in Fig. 2 gezeigt ist, angeordnet sind. Die Zentraleinheit 12 schreibt bzw. kopiert beide in den Arbeitsspeicher 20. Hierfür wird ein Schritt S6 gemäß des Prüfprogramms und der Prüfdaten, die in dem Arbeitsspeicher 20 kopiert sind, durchgeführt. Wie auch immer wird das in dem Arbeitsspeicher 20 kopierte Prüfprogramm nach der Fertigstellung der Prü­ fung vernichtet.
Ein Unterprogramm des Schrittes S6 ist in der Fig. 5 im Detail gezeigt. In einem Schritt S11 der Fig. 5 erzeugt die Zentraleinheit 12 zuerst das Steuersignal mittels des Steuerbusses, um die in dem Programm-Nur-Lese-Speicher 18, der in Fig. 1 gezeigt ist, angeordnete Adressen-Verarbeitungseinheit 24 freizugeben. Insbeson­ dere gibt die Zentraleinheit 12 das Schreibsignal (Steuersignal) dem Wählelement 30 des Programm-Nur-Lese-Speichers 18 durch den Steuerbus weiter. Das Schreibsignal wird normalerweise nicht einem Programm-Nur-Lese-Speicher (Nur-Lese-Speicher) während der Programmdurchführung des Nur-Lese-Speicher zugeführt, wobei durch Ausgeben des Schreibsignals zu dem Programm-Nur- Lese-Speicher 18 das Wählelement 30 der Adressen-Verarbeitungseinheit 24 ver­ anlaßt wird, den Eingang Y auszuwählen. Der Schritt S11 stellt ein Steuersignal- Anlegungsmittel dar.
Weiterhin kann anstelle des oben beschriebenen, als Steuersignal verwendeten Schreibsignals, ein Steuersignal dem Wählelement 30 zugeführt werden, wenn die Zentraleinheit 12 eine bestimmte Adresse der Programmdaten-Speichereinheit 22 des Programm-Nur-Lese-Speicher 18 ausführt. In einem solchen Fall, obwohl nicht gezeigt, kann ein Adressenvergleichselement vorgesehen sein, wobei das Adressenvergleichselement der Reihe nach die über den Adreßbus vor der Zen­ traleinheit 12 ausgegebenen Adreßdaten mit den bestimmten Adressen vergleicht. Wenn durch das Adressenvergleichselement ermittelt wird, daß beide Adressen miteinander übereinstimmen, dann wird das Steuersignal an das Wählelement angelegt.
Bei einem nachfolgenden Schritt S12 gibt die Zentraleinheit 12 die Adreßdaten (die ersten Adreßdaten) aus, um die Programmdaten-Speichereinheit 22 des Pro­ gramm-Nur-Lese-Speicher S18 zu lesen. Insbesondere werden genau nach dem Schritt S11, in dem die Steuerung ausgegeben wird, in dem Schritt S12, welcher als ein Adressen-Eingabemittel wirkt, die ersten Adreßdaten in der Adressen- Verarbeitungseinheit 24 eingegeben, wie eine Nur-Lese-Speicheradresse durch den Adreßbus der Zentraleinheit 12. Die Adressen-Verarbeitungseinheit 24 verar­ beitet aber die ersten Adreßdaten, wie in dem Ausführungsbeispiel der Fig. 2 be­ schrieben ist, und führt ein verarbeitetes Adressenergebnis (zweite Adreßdaten) zu dem Programm-Nur-Lese-Speicher 18.
Anschließend wird in einem Schritt S13 festgelegt, ob die Programmdaten einem wahren Wert entsprechen, wobei die Programmdaten, gemäß der durch die Adres­ sen-Verarbeitungseinheit 24 verarbeiteten zweiten Adreßdaten, von der Pro­ grammdaten-Speichereinheit 22 gelesen worden sind. Das bedeutet, daß der Schritt S13 Festlegungsmittel umfaßt, die bestimmen, ob die in dem Arbeitsspei­ cher 20 gelesenen Prüfdaten und die Programmdaten miteinander übereinstim­ men, wobei beide Daten miteinander verglichen werden. Es wird angenommen, daß die aus der Adresse, welche gemäß einer in der Adressen- Verarbeitungseinheit 24 vorher bestimmten Regel verarbeitet worden ist, gelese­ nen Programmdaten mit den vorher gesetzten Prüfdaten übereinstimmen. Daher wird in diesem Fall "JA" bestimmt. Jedoch wird im Fall eines falschen Pro­ gramm-Nur-Lese-Speichers, der nicht mit der Adressen-Verarbeitungseinheit 24 versehen ist, oder eines falschen Nur-Lese-Speichers, in dem eine Einheit gleich der Adressen-Verarbeitungseinheit 24 existiert, aber die Adreßverarbeitung nicht konform zu der bestimmten Regel ist, im Schritt S13 "NEIN" bestimmt.
Weiterhin ist es im Fall, daß der echte bzw. wahre Programm-Nur-Lese-Speicher als "JA" in dem Schritt S13 bestimmt worden ist, so, daß die Verarbeitung zu ei­ ner normalen Programmverarbeitung zurückkehrt. Andererseits ist es im Fall ei­ nes nachgeahmten Programm-Nur-Lese-Speichers, der mit "NEIN" bestimmt worden ist, so, daß in einem nächsten Schritt S14 die Zentraleinheit 12 eine Warnmeldung, beispielsweise in der Anzeigevorrichtung 14 (Fig. 1), anzeigt wird, wie "Dieser Programm-Nur-Lese-Speicher (Kassette) ist eine Fälschung und wird daher nicht in diesem Gerät verarbeitet", wodurch das Programm in dem Schritt S15 zwangsläufig beendet wird. Daher wird es im Fall einer Nachahmung un­ möglich, das Programm ununterbrochen weiter zu verarbeiten. Das heißt, daß die Schritte S14 und S15 gleich den Mitteln zur zwangsläufigen Programmbeendi­ gung sind.
Weiterhin wird in der Beschreibung oben, in dem Schritt S13, der ein Bestim­ mungsmittel ist, verglichen, ob die gemäß der zweiten Adreßdaten gelesenen Pro­ grammdaten mit den vorher gesetzten Prüfdaten miteinander übereinstimmen, wobei beide nicht miteinander übereinstimmen könnten, und wobei beide ein vor­ bestimmtes und vorher gesetztes Verhältnis (Zustand) zueinander haben könnten. Es kann ein willkürlich vorher festgesetztes Verhältnis gesetzt werden, wobei das Verhältnis, beispielsweise ein Verhältnis ist, das im gegenseitigen Vergleich, die einen größer oder kleiner um eine vorher festgesetzte Anzahl sind, bzw. ein Ver­ hältnis ist, daß beide miteinander übereinstimmen, wenn eine im voraus festge­ legte Berechnung auf die einen (und/oder die anderen) angewendet wird bzw. ein Verhältnis ist, bei dem die absoluten Werte der beiden einander gleich sind und so weiter.
In dem Ausführungsbeispiel der Fig. 2 können, wenn die passenden Instrumente verwendet werden, die Programmdaten vollständig von der Programmdaten- Speichereinheit 22 ausgelesen und kopiert werden. Jedenfalls ist es, auch wenn nur die Programmdaten von der Programmdaten-Speichereinheit 22 wiederge­ speichert werden, unmöglich, daß das wiedergespeicherte Programm im Gegen­ satz zum echten Produkt ausgeführt wird.
Insbesondere kann der oben beschriebene Adressen-Modifikationsprozeß nicht ausgeführt werden, selbst wenn nur die Programmdaten wiedergespeichert sind, in dem Fall, daß die Adressen-Verarbeitungseinheit 24 und die Code-Speichereinheit 26 nicht in einem Speicher einer Person versehen sind, die versucht, die Pro­ grammdaten des Programm-Nur-Lese-Speichers 18 gesetzwidrig zu benutzen, wenn die die Programmprüfung bestimmenden Programmdaten ausgelesen wer­ den. Daher werden die ersten, nicht identifizierten Adreßdaten A0-A15 in die Programmdaten-Speichereinheit 22 eingegeben. Auch wenn ein solcher Prüfbe­ fehl besteht, werden die Programmdaten von der durch die ersten Adreßdaten A0-A15 festgelegten Adresse gelesen. In diesem Fall sind die Programmdaten un­ terschiedlich zu den Programmdaten, die aus einer durch die zweiten Adreßdaten A0'-A7' und A8-A5 erhalten in der Ausführungsform der Fig. 2, festgelegten Adresse gelesen worden sind. Nicht-Übereinstimmung wird durch Vergleichen mit den vorher in dem Schritt S13 gesetzten Prüfdaten ermittelt. Anschließend wird, wenn das Unterscheidungsergebnis der nicht Übereinstimmung erhalten ist, "NEIN" in dem Schritt S13 festgestellt, wodurch das Programm zwangsläufig beendet wird.
Um die derartige Zwangsbeendigung des Programms zu vermeiden, ist es erfor­ derlich, die bestimmten Programmdaten, die den Prüfungsstart in dem Schritt S2 in Fig. 4 auslösen, und den Programmschritt (Adresse) hiervon zu analysieren. Weiter ist es erforderlich, alle Elemente, solche wie eine Operationsart in dem Rechenelement 28 und den Adreßrechencode, die in dem Prüfprogramm (Fig. 2) gesetzten Prüfdaten usw., zu analysieren. Im Fall, daß der Programm-Nur-Lese- Speicher 18 beispielsweise durch einen maskierten Nur-Lese-Speicher realisiert ist, ist es sehr schwer, ein derartiges Element zu untersuchen, und daher ist für die Untersuchung eine aufwendige Einrichtung und eine lange Zeit erforderlich.
Andererseits kann im Fall, daß die Elemente, wie die Operationsart in dem Re­ chenelement und die Adreßberechnung für jede Art des Programm-Nur-Lese- Speichers, Spieltitel im Fall einer Spielkassette, oder einer Programmversion ge­ ändert werden, ein Untersuchungsergebnis nicht auf andere Programm-Nur-Lese- Speicher angewendet werden, wobei dies gilt, selbst wenn alle Elemente eines vorhandenen Programm-Nur-Lese-Speichers untersucht worden sind. Daher ist es für eine Person, die versucht das Programm gesetzwidrig zu benutzen, erforder­ lich, daß alle Elemente zu jeder Zeit erneut untersucht werden. Nach dem gezeig­ ten Ausführungsbeispiel, ist es also angesichts der Zeit und der erforderlichen Kosten für die Untersuchung möglich, die gesetzwidrige Benutzung des Pro­ gramm-Nur-Lese-Speichers wirksam zu unterbinden.
Fig. 6 ist ein abgeändertes Beispiel des Ausführungsbeispiels in Fig. 2. In dem Ausführungsbeispiel in Fig. 6 weist das Rechenmittel der Adressen- Verarbeitungseinheit 24 eine Mehrzahl von (n) Rechenelementen 281-28n auf. Die niedrigeren 8 Bits A0-A7 der ersten Adreßdaten des Adreßbusses werden an den entsprechenden Eingängen der entsprechenden Rechenelemente 281-28n eingegeben. Entsprechenderweise empfangen andere Eingänge in der Regel den Adreßrechencode a0-a7 von 8 Bits, welcher von der Code-Speichereinheit 26 ausgegeben worden ist. Weiterhin wird an dem Wählelement 30 ein vorher in der Code-Speichereinheit 26 gesetzter Rechenwahlcode c0-cX zusammen mit dem Steuersignal zugeführt. Die Anzahl der Bits des Rechenwahlcodes c0-cX kann entsprechend der Anzahl der Rechenelemente (n) gesetzt werden. Im Fall, daß vier (4) Rechenelemente 28 vorhanden sind, beträgt die Anzahl der Bits 2. Im Fall, daß acht (8) Rechenelemente vorhanden sind, können 3 Bits verwendet wer­ den. Weiterhin ist der Rechenwahlcode c0-cX gesetzt worden, um jedes von mehreren Rechenelementen 281-28n auszuwählen.
In dem Ausführungsbeispiel der Fig. 6 berechnen bzw. verändern, ähnlich dem Rechenelement 28 des Ausführungsbeispiels in Fig. 2, die entsprechenden Re­ chenelemente 281-28n die Adresse, weshalb eine bestimmte Beschreibung einer solchen Adressenberechnung weggelassen werden kann. Jedenfalls wird in dem Ausführungsbeispiel der Fig. 6 vorausgesetzt, daß die entsprechenden Rechen­ elemente 281-28n verschiedene Arten von Rechenoperationen durchführen kön­ nen. Wenn verschiedene Rechenelemente durch den Rechencode c0-cX für jede Art von Programm-Nur-Lese-Speicher (Spieltitel) bzw. einer Programmversion ausgewählt werden können, dann wächst der Schwierigkeitsgrad der Programm- Untersuchung, die in der Fig. 2 beschrieben ist. Die gesetzwidrige Benutzung wird daher erschwert.
Das Ausführungsbeispiel gemäß der Fig. 6 bietet weitere Vorteile. Insbesondere im Fall, daß nur ein Rechenelement in einem Chip, wie in der Fig. 2 gezeigt ist, angeformt ist und das Rechenelement gemäß der Produktart oder Programmver­ sion ausgewechselt worden ist, dann ist in der Zeit, in der das Rechenelement ausgetauscht ist, ein Auswechseln einer Druckmaske erforderlich. Wenn die Mehrzahl der Rechenelemente 281-28n eingebettet sind, wie in der Fig. 6 ge­ zeigt ist, ist es im Gegensatz möglich, das Rechenelement auszuwählen, wobei die Auswahl der Art der Rechenoperation nur durch Verändern des Rechenwahl­ codes ermöglicht wird. Andererseits kann der Rechenwahlcode in dem gleichen Druckverfahrensschritt des Adreßrechencodes hergestellt werden. Gemäß des Ausführungsbeispiels in Fig. 6 ist es möglich, den Programm-Nur-Lese-Speicher zu niedrigen Kosten herzustellen, wenn das Rechenelement geändert wird.
In dem Ausführungsbeispiel der Fig. 6 wählt das Wählelement 30 den Eingang X, wenn das Steuersignal vorhanden ist. Das Wählelement wählt den Eingang Y, wenn kein Steuersignal vorhanden ist, wodurch die ersten Adreßdaten oder die zweiten Adreßdaten entsprechend der An- oder Abwesenheit des Steuersignals ausgegeben werden. Weiterhin wird in der Fig. 6 in Klammern ein Fall gezeigt, bei dem alle Bits der Adreßdaten A0-A15 abgeändert und verarbeitet worden sind. Eine Abarbeitung in einem derartigen Fall kann in einfacher Weise anhand der vorherigen Beschreibung für das Ausführungsbeispiel in Fig. 2 nachvollzogen werden und kann daher hier ausgelassen werden.
Weiterhin werden in den vorher beschriebenen Ausführungsbeispielen die durch Berechnung eines Teiles oder der gesamten Teile durch das Rechenelement 28 (281-28n) entstandenen Adreßdaten (zweite Adreßdaten) durch die Adressen- Verarbeitungseinheit 24 ausgegeben. Wenn das Steuersignal nicht vorhanden ist, dann werden die von der Zentraleinheit 12 (die ersten Adreßdaten) ausgegebenen Adreßdaten von der Adressen-Verarbeitungseinheit 24 ausgewählt und ausgege­ ben. Wenn kein Steuersignal besteht, können dritte, durch einen zweiten Rechen­ schritt entstandene, Adreßdaten ausgegeben werden, wobei der zweite Rechen­ schritt zu dem Rechenschritt der zweiten Adreßdaten in den ersten Adreßdaten unterschiedlich ist.
Ein derartiges Ausführungsbeispiel ist in Fig. 7 gezeigt. In dem Ausführungsbei­ spiel in Fig. 7 ist ein derartiges Rechenelement 28' zusätzlich zu dem Rechenele­ ment 28 und dem Wählelement 30 des Ausführungsbeispieles in Fig. 2 in der Adressen-Verarbeitungseinheit 24 angeordnet. Weiterhin werden zu dem jeweili­ gen Eingang der Rechenelemente 28 und 28' die unteren 8 Bits A0-A7 der Adreßdaten A0-A15 (erste Adreßdaten) von dem Adreßbus der Zentraleinheit 12, so wie sie sind, angelegt. Der Adreßrechencode a0-a7 von 8 Bits, die in der Code-Speichereinheit 26 gesetzt worden sind, wird an den jeweiligen anderen Eingängen der Rechenelemente 28 und 28' zusammen angelegt. Die Rechenele­ mente 28 und 28' werden in der Weise ausgewählt, daß die Rechenelemente 28 und 28' eine erste Rechenart, beziehungsweise eine zweite unterschiedliche Re­ chenart ausführen können.
Das Rechenelement 28 gibt ein erstes Rechenergebnis A0'-A7' des Adreßre­ chencodes a0-a7 und der niedrigeren 8 Bits A0-A7 aus, wobei das Rechenele­ ment 28 sie an einen Eingang X des Wählelementes 30 legt. Das Rechenelement 28' gibt ein zweites Rechenergebnis A0"-A7" des Adreßrechencodes a0-a7 und der niedrigeren 8 Bits A0-A7 aus, um diese an den anderen Eingang Y des Wählelementes 30 zu legen. Einer dieser Eingänge A0'-A7' und A0"-A7" des Rechenelementes 28 und 28' wird durch das Wählelement 30 ausgewählt. An dem Wählelement 30 wird das Steuersignal, d. h. beispielsweise das Schreibsignal, von der Zentraleinheit 12 angelegt und der Rechenwahlcode c0-cX, das in der Code-Speichereinheit 26 gespeichert ist, angelegt. Daher wählt das Wählelement 30 den Ausgang des Rechenelementes 28, d. h. den Eingang X, wenn das Steuersi­ gnal existiert, damit die Adreßdaten A0'-A7' der durch das Rechenelement 28 verarbeiteten niedrigeren 8 Bits ausgegeben werden. Das Wählelement 30 wählt den Ausgang des Rechenelementes 28', d. h. den Eingang Y, wenn das Steuersi­ gnal nicht vorliegt, damit die Adreßdaten A0"-A7" der niedrigeren 8 Bits durch das Rechenelement 28' verarbeitet werden können.
Andererseits sind die oberen 8 Bits A8-A15 der Adreßdaten mit dem Ausgang des Wählelementes 30 gekoppelt, wodurch, wenn das Steuersignal angelegt wird, die Adreßdaten (zweite Adreßdaten) von insgesamt 16 Bits (A0'-A7' + A8-A15) von dem Wählelement 30 bzw. der Adressen-Verarbeitungseinheit 24 aus­ gegeben. Wenn das Steuersignal nicht von dem Wählelement 30 angelegt wird, dann werden die Adreßdaten (die dritten Adreßdaten) von 16 Bits (A0"-A7" + A8-A15) ausgegeben.
Weiterhin können in dem Ausführungsbeispiel der Fig. 7, wie in der Fig. 7 in Klammern dargestellt ist, alle Bits der Adreßdaten A0-A15 durch das Rechen­ element 28 und das Rechenelement 28' logisch verarbeitet werden.
In dem Ausführungsbeispiel der Fig. 7 sind die ersten Adreßdaten A0-A15 der Zentraleinheit 12 nicht die Adreßdaten, bei denen die Programmdaten ausgelesen werden können, wobei normalerweise die Zentraleinheit versucht diese auszufüh­ ren. Das bedeutet, daß die ersten Adreßdaten bloß falsche Adreßdaten sind. Das erste Rechenelement 28 und das zweite Rechenelement 28' vertauscht bzw. wan­ delt die ersten Adreßdaten A0-A15 derart um, daß die Programmdaten, die die Zentraleinheit 12 normalerweise versucht auszuführen, korrekt ausgelesen werden können. Das ist der Fall, wenn die zweiten Adreßdaten und die dritten Adreßdaten korrekte Adreßdaten sind.
In dem Ausführungsbeispiel der Fig. 7 ist es im Fall, wenn versucht wird, das Programm gesetzwidrig zu benutzen, erforderlich, nicht nur das erste Rechenele­ ment 28 sondern auch das zweite Rechenelement 28' zu untersuchen, wodurch der Schwierigkeitsgrad der Untersuchung weiterhin erhöht wird.
Die oben beschriebenen Ausführungsbeispiele sind mit der Adressen- Verarbeitungseinheit 24 in dem Nur-Lese-Speicher 18 versehen, um die Adressen zu verarbeiten bzw. abzuändern, damit sie an der Programmdaten-Speichereinheit 22 angelegt werden können. Wie auch immer ist es möglich, ausgegebene Pro­ grammdaten zu verarbeiten, bzw. abzuändern, ebenso auch bei den Adreßdaten, wenn die gleiche Idee bei den aus der Programmdaten-Speichereinheit 22 ausge­ lesenen Programmdaten angewendet wird.
Ein derartiges Ausführungsbeispiel ist in Fig. 8 gezeigt. Insbesondere in dem Aus­ führungsbeispiel der Fig. 8 umfaßt der Nur-Lese-Speicher 18, zusätzlich zu der Programmdaten-Speichereinheit 22, die Adressen-Verarbeitungseinheit 24 und die Code-Speichereinheit 26 des Ausführungsbeispiels gemäß Fig. 1. Weiterhin ist der Nur-Lese-Speicher mit einer Ausgabedaten-Verarbeitungseinheit 32 verse­ hen, wobei die Ausgabedaten-Verarbeitungseinheit 32 die Programmdaten emp­ fängt, die von der Programmdaten-Speichereinheit 22 ausgegeben werden, und wobei die Ausgabedaten-Verarbeitungseinheit 32 eine vorher festgelegte Pro­ grammdatenverarbeitung ausführt. Insbesondere führt die Ausgabedaten- Verarbeitungseinheit 32 eine zu der oben beschriebenen Adressen- Verarbeitungseinheit 24 ähnliche Operation aus, um die aus der Programmdaten- Speichereinheit 22 gelesenen Programmdaten zu verarbeiten, bzw. zu verändern.
In diesem Fall wird das Steuersignal von der Zentraleinheit 12 an die Adressen- Verarbeitungseinheit 24 und die Ausgabedaten-Verarbeitungseinheit 32 angelegt, wobei die beiden Einheiten 24 und 32 in dem Schritt S11 in Fig. 5 freigegeben werden.
Zusätzlich wird in jedem der Ausführungsbeispiele die Code-Speichereinheit 26, wie das Code-Erzeugungsmittel auch, auf dem gleichen Chip des Nur-Lese- Speichers 18 angeordnet. Das Code-Erzeugungsmittel kann fähig sein, einen will­ kürlichen Code (Daten) an das Rechenmittel zu legen, wodurch die Code- Speichereinheit 26 mit einer Struktur ersetzt werden kann, bei der willkürliche Daten durch einen DIP-Schalter und dergleichen oder einem externen Flash ROM, der willkürliche Daten in einer Art und Weise speichert, daß die Daten von außen neu geschrieben werden können, gesetzt werden können.
Weiterhin ist es in den oben beschriebenen Ausführungsbeispielen im Fall eines falschen Programms so, daß die Ausführung des Programms nach einer vorher festgelegten Zeit zwangsläufig beendet wird. Jedenfalls kann das Programm nach einer vorher festgelegten Zeit beendet werden, bzw. kann im Falle eines Spiels die zwangsläufige Beendigung durch andere Verarbeitungen, wie Parameterwechsel von Zeichen oder löschgesicherten Daten des Spieles oder durch Umkehrung des Spieles zu einem Anfangsstadium, ersetzt werden.
Obwohl die vorliegende Erfindung im Detail gezeigt und beschrieben worden ist, ist es selbstverständlich, daß sie durch die Art der Darstellung und Beispiele nicht auf diese Lösungen beschränkt ist. Der Erfindungsgedanke und der Schutzbereich der Erfindung sind nur durch den Wortlaut der anliegenden Ansprüche begrenzt.

Claims (14)

1. Halbleiter-Speichereinrichtung, in der durch eine Zentraleinheit auszufüh­ rende Programmdaten fest gespeichert sind, und die die Programmdaten von Adressen, die durch Adreßdaten bestimmt sind, ausgibt, umfassend:
ein Programmdaten-Speichermittel für das Festspeichern der Programm­ daten;
ein Code-Erzeugungsmittel für die Erzeugung eines Adreßrechencodes;
und ein Adressen-Verarbeitungsmittel, das erste Adreßdaten erhält, die von der Zentraleinheit ausgegeben werden, in der das Adressen- Verarbeitungsmittel neue zweite Adreßdaten ausgibt; wobei
das Adressen-Verarbeitungsmittel neue zweite Daten ausgibt, die durch Ausführung eines Rechenschritts auf mindestens einem Teil der ersten Adreßdaten erhalten werden, auf der Grundlage des Adreßrechencodes, zu einem Zeitpunkt erfolgt, bei dem ein Steuersignal vorhanden ist, und die zweiten Adreßdaten dem Programmdaten-Speichermittel zuführt und zu einem Zeitpunkt, in dem kein Steuersignal vorhanden ist, die ersten Adreßdaten dem Programmdaten-Speichermittel zuführt.
2. Halbleiter-Speichereinrichtung nach Anspruch 1, in der das Adressen- Verarbeitungsmittel ein Rechenmittel zur Berechnung von mindestens ei­ nem Teil der ersten Adreßdaten umfaßt, wobei der Adreßrechencode ver­ wendet wird, um die zweiten Adreßdaten auszugeben, und ein Wählele­ ment, das zweite Adreßdaten zu einem Zeitpunkt ausgibt, in dem das Steu­ ersignal daran angelegt wird, und die ersten Adreßdaten zu einem Zeit­ punkt ausgibt, in dem das Steuersignal nicht daran angelegt wird.
3. Halbleiter-Speichereinrichtung nach Anspruch 2, bei der das Rechenmittel eine Mehrzahl von Rechenelementen umfaßt, die jeweils durch Empfan­ gen der ersten Adreßdaten und des Adreßrechencodes verschiedene Arten von Rechenoperationen ausführen können und die Rechenelemente unter­ schiedliche zweite Adreßdaten ausgeben,
wobei das Code-Erzeugungsmittel weiterhin einen Rechenwahlcode für die Auswahl eines von mehreren Rechenelementen erzeugt, und
wobei das Wählelement die zweiten Adreßdaten auswählt, die mit demje­ nigen Rechenelement in Verbindung stehen, das durch den Rechenwahl­ code oder durch die ersten Adreßdaten ausgewählt worden ist.
4. Halbleiter-Speichereinrichtung nach einem der Ansprüche 1 bis 3, bei der das Programmdaten-Speichermittel bestimmte Programmdaten umfaßt, die eine Ausgabe des Steuersignals während der Programmausführung durch die Zentraleinheit befehlen können.
5. Halbleiter-Speichereinrichtung nach einem der Ansprüche 1 bis 4, bei der das Programmdaten-Speichermittel, das Code-Erzeugungsmittel und das Adressen-Verarbeitungsmittel in einem einzigen Halbleiterchip ausgeführt sind.
6. Halbleiter-Speichereinrichtung nach einem der Ansprüche 1 bis 5, bei der das Programmdaten-Speichermittel und das Code-Erzeugungsmittel durch einen Flash-Speicher gebildet werden.
7. Halbleiter-Speichereinrichtung, in der durch eine Zentraleinheit auszufüh­ rende Programmdaten festgespeichert sind, und die die Programmdaten von Adressen, die durch Adreßdaten bestimmt sind, ausgibt, umfassend:
ein Programmdaten-Speichermittel für das Festspeichern der Programm­ daten;
ein Code-Erzeugungsmittel für die Erzeugung eines Adreßrechencodes;
und ein Adressen-Verarbeitungsmittel, das erste Adreßdaten erhält, die von der Zentraleinheit ausgegeben werden, in der das Adressen- Verarbeitungsmittel neue zweite Adreßdaten ausgibt; wobei
das Adressen-Verarbeitungsmittel neue zweite Daten ausgibt, die durch Ausführung eines Rechenschritts auf mindestens einem Teil der ersten Adreßdaten erhalten werden, auf der Grundlage des Adreßrechencodes, zu einem Zeitpunkt erfolgt, bei dem ein Steuersignal vorhanden ist, und die zweiten Adreßdaten dem Programmdaten-Speichermittel zuführt,
dritte Adreßdaten dem Programmdaten-Speichermittel zuführt, die durch eine Durchführung eines zu dem ersten Rechenschritt unterschiedlichen zweiten Rechenschritts, geschaffen werden, auf mindestens einem Teil der ersten Adreßdaten auf der Grundlage des Adreßrechencodes zu einem Zeitpunkt erfolgt, bei dem kein Steuersignal vorhanden ist.
8. Halbleiter-Speichereinrichtung nach Anspruch 7, bei der ein erster und ein zweiter Rechenschritt des Adressen-Verarbeitungsmittels die ersten Adreßdaten in Adreßdaten umwandelt, um Programmdaten auszugeben, die normalerweise durch die Zentraleinheit ausgeführt werden.
9. Programm-Unterscheidungssystem, umfassend:
eine Nur-Lese-Programmspeichereinheit, die die Programmdaten fest speichert, und
eine Zentraleinheit, die die Programmdaten durch Lesen der Programm­ daten von der Programmspeichereinheit ausführt und die unterscheidet, ob das Programm ein ordnungsgemäßes Programm ist oder nicht, wobei die Programmspeichereinheit umfaßt:
ein Programmdaten-Speichermittel für das Festspeichern der Programm­ daten;
ein Code-Erzeugungsmittel für das Erzeugen eines Adreßrechencodes; und
ein Adressen-Verarbeitungsmittel für das Empfangen von ersten Adreß­ daten, die von der Zentraleinheit ausgegeben werden,
wobei das Adressen-Verarbeitungsmittel
neue zweite Adreßdaten ausgibt, die durch Ausführung eines Rechen­ schritts auf mindestens einem Teil der ersten Adreßdaten erhalten werden, auf der Grundlage des Adreßrechencodes, wenn ein Steuersignal von der Zentraleinheit eingesetzt wird, und die zweiten Adreßdaten dem Pro­ grammdaten-Speichermittel zuführt, und die ersten Adreßdaten zu dem Programmdaten-Speichermittel führt, wenn kein Steuersignal vorhanden ist, und
wobei die Zentraleinheit umfaßt:
ein Steuersignal-Anlegungsmittel, um das Steuersignal dem Adressen- Verarbeitungsmittel der Programmspeichereinheit zuzuführen,
ein Adressen-Ausgabemittel für die Ausgabe der ersten Adreßdaten, um die ersten Adreßdaten kurz nach dem das Steuersignal vorliegt in dem Adressen-Verarbeitungsmittel anzulegen, und
ein Entscheidungsmittel für die Entscheidung der Echtheit der Programm­ speichereinheit, in dem entschieden wird, ob eine vorher festgesetzte Be­ ziehung zwischen den Programmdaten, die durch das Programmdaten- Speichermittel in Übereinstimmung mit den zweiten Adreßdaten gelesen werden, und zwischen im voraus gesetzten Prüfdaten besteht oder nicht.
10. Programm-Unterscheidungssystem nach Anspruch 9, bei dem das Steuer­ signal-Anlegungsmittel ein bestimmtes vorher in dem Programm- Speichermittel festgelegtes Programm umfaßt, und bei dem das Steuersi­ gnal zu einem Zeitpunkt angelegt wird, bei dem das bestimmte Programm ausgelesen wird.
11. Programm-Unterscheidungssystem nach Anspruch 9, bei dem die Zentral­ einheit zusätzlich ein Programm-Beendigungsmittel umfaßt, um das Pro­ gramm zwangsweise zu beenden, wenn ein Unterscheidungsergebnis des Entscheidungsmittels eine falsche Programmspeichereinheit anzeigt.
12. Adressensteuerungsverfahren für eine Halbleiter-Speichereinrichtung, die einen Programm-Nur-Lese-Speicher umfaßt, der durch eine Zentraleinheit auszuführende Programmdaten festspeichert, mit den Schritten:
  • a) Erzeugen eines Adreßrechencodes;
  • b) Ausgeben zweiter Adreßdaten, die durch Anwenden eines Rechen­ schritts an mindestens einem Teil der von der Zentraleinheit ausge­ gebenen ersten Adreßdaten erhalten werden auf der Basis des Adreßrechencodes zu einer Zeit, wenn ein Steuersignal existiert, um die zweiten Adreßdaten dem Programmspeichermittel zuzufüh­ ren; und
  • c) Anlegen der ersten Adreßdaten an die Programmdaten- Speichermittel zu einem Zeitpunkt, bei dem das Steuersignal nicht besteht.
13. Adressensteuerungsverfahren für eine Halbleiter-Speichereinrichtung, die einen Programm-Nur-Lese-Speicher umfaßt, der durch eine Zentraleinheit auszuführende Programmdaten fest speichert, mit den Schritten:
  • a) Erzeugen eines Adreßrechencodes;
  • b) Ausgeben von neuen zweiten Adreßdaten, die durch Anwenden ei­ nes ersten Rechenschritts an mindestens einem Teil der ersten Adreßdaten erhalten werden, wobei die Adreßdaten von der Zen­ traleinheit auf der Basis des Adreßrechencodes zu einem Zeitpunkt ausgegeben werden, bei dem ein Steuersignal vorhanden ist, um die zweiten Adreßdaten an dem Programmdaten-Speichermittel anzu­ legen; und
  • c) Ausgeben neuer dritter Adreßdaten, die durch Anwenden eines zweiten Rechenschritts, der unterschiedlich zu dem ersten Rechen­ schritt ist, an mindestens einem Teil der ersten Adreßdaten erhalten werden auf der Grundlage des Adreßrechencodes zu einem Zeit­ punkt, bei dem das Steuersignal nicht vorhanden ist, um die zwei­ ten Adreßdaten dem Programmdaten-Speichermittel anzulegen.
14. Verfahren zur Programm-Unterscheidung in einer Informationsverarbei­ tungsvorrichtung, die mit einer Nur-Lese-Programm-Speichereinrichtung versehen ist, die Programmdaten fest speichert, wobei die Informations­ verarbeitungsvorrichtung mit einer Zentraleinheit versehen ist, die ein Programm durch Lesen der Programmdaten von der Programmspeicher- Einrichtung ausführt, mit den Schritten:
  • a) Erzeugen eines Adreßrechencodes;
  • b) Ausgeben eines Steuersignals;
  • c) Ausgeben einer ersten Adresse von der Zentraleinheit kurz nach Schritt (b);
  • d) Ausgeben neuer zweiter Adreßdaten, die durch Ausführung eines Rechenschritts an mindestens einem Teil der von der Zentraleinheit ausgegebenen ersten Adreßdaten erhalten werden, auf der Grundla­ ge des Adreßrechencodes zu einem Zeitpunkt, an dem ein Steuersi­ gnal vorhanden ist, um die zweiten Adreßdaten dem Programmda­ ten-Speichermittel zuzuführen;
  • e) Anlegen der ersten Adreßdaten an die Programmdaten- Speichermittel zu einem Zeitpunkt, bei dem das Steuersignal nicht besteht; und
  • f) Entscheiden, ob die von dem Programmdaten-Speichermittel aus­ gelesenen Programmdaten gemäß der zweiten Adreßdaten und vor­ her gesetzten Prüfdaten einen vorher festgelegten Zusammenhang in der Zentraleinheit aufweisen.
DE10103222A 2000-01-25 2001-01-25 Halbleiter-Speichereinrichtung und Programm-Unterscheidungssystem Expired - Lifetime DE10103222B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000015227A JP2001209531A (ja) 2000-01-25 2000-01-25 半導体記憶装置およびプログラム判別システム
JP2000-15227 2000-01-25

Publications (2)

Publication Number Publication Date
DE10103222A1 true DE10103222A1 (de) 2001-07-26
DE10103222B4 DE10103222B4 (de) 2008-11-20

Family

ID=18542560

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10103222A Expired - Lifetime DE10103222B4 (de) 2000-01-25 2001-01-25 Halbleiter-Speichereinrichtung und Programm-Unterscheidungssystem

Country Status (7)

Country Link
US (1) US6578132B1 (de)
JP (1) JP2001209531A (de)
KR (1) KR100591444B1 (de)
CN (1) CN1286021C (de)
DE (1) DE10103222B4 (de)
GB (1) GB2366025B (de)
TW (1) TW587210B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10115118A1 (de) * 2001-03-27 2002-10-10 Philips Corp Intellectual Pty Verfahren zur Übertragung von Daten über einen Datenbus
US6966837B1 (en) 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
US7350081B1 (en) 2002-04-29 2008-03-25 Best Robert M Secure execution of downloaded software
TWI243994B (en) * 2003-09-08 2005-11-21 Mediatek Inc Method and apparatus for protecting a specific memory section
JP4364077B2 (ja) * 2004-06-30 2009-11-11 富士通株式会社 演算装置及び演算装置の制御方法
US11266911B1 (en) 2020-09-21 2022-03-08 Nintendo Co., Ltd. Systems and method for identifying modified program data

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2820938B2 (ja) 1988-07-21 1998-11-05 任天堂株式会社 外部メモリとそれを用いる情報処理装置
JP2885600B2 (ja) * 1993-03-29 1999-04-26 株式会社東芝 半導体集積回路
JP3625340B2 (ja) * 1996-09-19 2005-03-02 株式会社東芝 セキュリティシステム
JPH1165936A (ja) * 1997-06-12 1999-03-09 Oki Micro Design Miyazaki:Kk メモリ装置
KR100253310B1 (ko) * 1997-08-26 2000-05-01 김영환 반도체 메모리 장치의 프로그램 데이타 보호 회로
KR100253328B1 (ko) * 1997-09-30 2000-05-01 김영환 메모리의 데이터 보호회로
JP3793629B2 (ja) * 1997-10-30 2006-07-05 沖電気工業株式会社 メモリカードとメモリカード装置
KR100295647B1 (ko) * 1998-03-28 2001-08-07 김영환 메모리데이터보호회로
JP2000082010A (ja) * 1998-09-04 2000-03-21 Sharp Corp アドレス変換を有するデータ処理方法および装置
KR200312371Y1 (ko) * 1998-10-29 2003-07-16 주식회사 하이닉스반도체 불휘발성 메모리의 프로그램 프로텍션장치

Also Published As

Publication number Publication date
JP2001209531A (ja) 2001-08-03
GB2366025A (en) 2002-02-27
GB0101741D0 (en) 2001-03-07
GB2366025B (en) 2004-07-21
KR20010076275A (ko) 2001-08-11
CN1316697A (zh) 2001-10-10
DE10103222B4 (de) 2008-11-20
CN1286021C (zh) 2006-11-22
US6578132B1 (en) 2003-06-10
KR100591444B1 (ko) 2006-06-22
TW587210B (en) 2004-05-11

Similar Documents

Publication Publication Date Title
DE69719479T2 (de) Datenverarbeitungssystemsicherheit
DE3210816C2 (de)
DE3783171T2 (de) Verfahren zum wechseln eines grundschluessels und zum beglaubigen eines aus einem vorherbestimmten grundschluessel hergestellten schluessels und system zu seiner verwirklichung.
DE4010828B4 (de) Verfahren zum Warten einer Industriesteuerung
DE10000503A1 (de) Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb
DE69612075T2 (de) Vorrichtung zur Fehlerbeseitigung und Verfahren zur Fehlerbeseitigung in einem Spielprogramm in einem ROM-Speichermodul
DE3900248C2 (de) Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens
DE68924400T2 (de) Fliessbanddatenverarbeitungsvorrichtung.
DE19983098B4 (de) Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren
DE2747384A1 (de) Datenverarbeitungseinheit
DE2722124A1 (de) Anordnung zum feststellen des prioritaetsranges in einem dv-system
EP0580663A1 (de) Verfahren zur verifikation datenverarbeitender systeme.
DE3587620T2 (de) Logikanalysator.
EP3811263B1 (de) Kryptografiemodul und betriebsverfahren hierfür
DE10103222A1 (de) Halbleiter-Speichereinrichtung und Programm-Unterscheidungssystem
DE4327660C2 (de) Vorrichtung zum Herstellen einer und Herstellungsverfahren für eine integrierte Halbleiterschaltungsvorrichtung und elektronische Schaltungsvorrichtung
DE4113590C2 (de) Mikrocomputer
DE19841893B4 (de) Mikrokontroller
DE2756033A1 (de) Verfahren und einrichtung zur diagnose von stoerungen von rechenmaschinen
DE3887717T2 (de) Prozessor für programmierbaren logischen regler und programmierbarer logischer regler.
DE69614355T2 (de) Spielvorrichtung und Verfahren zur Fehlerbeseitigung in einem Spielprogramm
DE10325513B4 (de) Verfahren und Vorrichtung zum Erstellen eines Verhaltensaspekts einer Schaltung zur formalen Verifikation
DE10254657A1 (de) Mikrocontroller und zugeordnetes Verfahren zum Abarbeiten der Programmierung des Mikrocontrollers
DE60019833T2 (de) Auswahlsystem für ausführbare Programme
DE102006035610A1 (de) Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
R071 Expiry of right