|
|
Geschichte :
Das Schummelmodul Game Genie wurde von Code Masters entwickelt und von Galoob in China
produziert. Nintendo sah in dem Game Genie eine Bedrohung, da dadurch die Spiele manipuliert werden,
was nach Nintendos Auffassung eine Copyright-Verletzung darstellte. Nintendo behauptete der Game
Genie würde die Lebenszyklus eines Spiels drastisch verkürzen, indem es das Spiel zu einfach macht.
Nintendo strengte aus diesem Grund ein Gerichtsverfahren an, doch unterlag in Kanada, ebenso wie in den
USA. Der Game Genie konnte somit (zwar verzögert) auf den Markt kommen.
Nintendo Versuche gegen den Game Genie vorzugehen war eine modifizierten NES Version, die 1993 auf den Markt kam und inkompatibel zum
Game Genie war.
|
|
Bilder des Game Genie:
|
|
Wie wird der Game Genie verwendet :
Der Game Genie wird auf das Modul aufgesteckt und zusammen mit dem Modul in die Konsole geschoben (wie auf dem folgenden Bild zu sehen ist):

Ein ganz nette Eigenschaft des Game Genies (was Nintendo natürlich auch nicht gefällt), ist das man auf
europäischen Konsolen nun auch US Spiele spielen kann und umgekehrt.
Wie arbeitet der Game Genie ? :
Der Game Genie hat ein eigenes Code-Format, welches hexadezimal ist. Der Code besteht aus 8 Buchstaben.
Dieser Code hat folgendes zu bedeuten:
Die ersten 4 Zeichen sind die hexadezimale Adresse des Wertes, dessen Wert verändert werden soll und
die letzen (oder nächsten) 4 Zeichen sind der (neue,veränderte) Wert selber.
Wie wird das Spiel nun manipuliert ? Die Daten werden von der Konsole zum Spiel, und umgekehrt durch
den Game Genie geleitet. Entspricht eine addressierte Speicheradresse im Rom des Moduls der einer definierten
Adresse im Game Genie (also den ersten 4 Zeichen deiner Schummeleingabe), so wird anstatt der Wert der im Rom
enthalten ist, der Wert in dem Game Genie (also der Wert der letzten 4 Zeichen) an die Konsole geschickt.
Ältere Spiele haben anstatt 8 Zeichen nur 6 Zeichen. Das liegt daran das der Speicheraum nur halb so groß ist bei
diesen Spielen und auch die Werte in diesen nur halb so lang sind.
Wie funktioniert dies genau ?:
Als erstes : Was bedeuten die Buchstaben?:
Laut Handbuch sind sie in 2 Gruppen aufgeteilt
A P Z L G I T Y
E O X U K S V N
Die Buchstaben entsprechen folgendem Hexcode:
A 0x0
P 0x1
Z 0x2
L 0x3
G 0x4
I 0x5
T 0x6
Y 0x7
E 0x8
O 0x9
X 0xA
U 0xB
K 0xC
S 0xD
V 0xE
N 0xF
An dieser Stelle kommt der schwierige Teil. Der Game Genie macht eine Menge von verschachtelten
Bitverschiebungen um aus dem Game Genie Code eine Adresse und den dazugehörigen Wert zu gewinnen.
Warum dies so ist weiß keiner (ich jedenfalls nicht). Wahrscheinlich wurde das gemacht, um den Game
Genie Code mysteriöser Aussehen zu lassen. Doch es gibt dazu eine Lösung. Bei dem Spiel Snake Rattle N..
Kann man sein Leben mit 1 oder 6 Leben beginnen, und es ändert sich hierbei nur ein Zeichen. Durch Modifikation
dieses Zeichens können auch andere Mengen von Leben eingegeben werden.
Decoding for 6-bit Codes :
Ein 6 bit Code kann durch folgenden Algorithmus decodiert werden:
Hierbei sind die 6 Zeichen mit n0...n5 beschrieben
& -> bitweises AND
| -> bitweises OR
<< und >> sind die Shift Operationen
Die daten liegen im oberen Adressraum(0x8000-0xFFFF).
Adresse = 0x8000 + ((n3 & 7) << 12) | ((n5 & 7) << 8) |
((n4 & 8) << 8) | ((n2 & 7) << 4) | ((n1 & 8) << 4)
| (n4 & 7) | (n3 & 8)
Was macht der Algoritmus ? Er kombiniert die 3 niederwertigen Bits eines halben Bytes und den obersten Bit des anderen
halben Bytes und ergibt so das ergebnis.
Für die Daten :
Daten =((n1 & 7) << 4) | ((n0 & 8) << 4) | (n0 & 7) | (n5 & 8);
Für wen das nun unverständlich ist ein kleines Beispiel:
|
|
|
|