DE10103222A1 - Halbleiter-Speichereinrichtung und Programm-Unterscheidungssystem - Google Patents
Halbleiter-Speichereinrichtung und Programm-UnterscheidungssystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection 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.
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.
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.
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.
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.
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)
| 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)
| 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 | 주식회사 하이닉스반도체 | 불휘발성 메모리의 프로그램 프로텍션장치 |
-
2000
- 2000-01-25 JP JP2000015227A patent/JP2001209531A/ja active Pending
- 2000-11-28 US US09/726,222 patent/US6578132B1/en not_active Expired - Lifetime
- 2000-12-15 TW TW089126888A patent/TW587210B/zh not_active IP Right Cessation
-
2001
- 2001-01-16 KR KR1020010002318A patent/KR100591444B1/ko not_active Expired - Fee Related
- 2001-01-22 CN CNB011033037A patent/CN1286021C/zh not_active Expired - Fee Related
- 2001-01-23 GB GB0101741A patent/GB2366025B/en not_active Expired - Lifetime
- 2001-01-25 DE DE10103222A patent/DE10103222B4/de not_active Expired - Lifetime
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 |