GameShark

From z64 wiki
Jump to: navigation, search

All of the items in the GS 3.3 box packed out The GameShark, which was a part of a myriad of other devices (see "See Also"), is an ingenious device. Without it, there would be no Zelda hacking scene, nor would there be a hacking scene for any other game. A GameShark grafts itself into the memory of an N64 game, and will modify certain regions of the game's memory (RAM) to enable "cheat codes".


How it works

The GameShark on the Nintendo 64 was designed to take in a Nintendo 64 cartridge from the top, and manipulate the data that passed through it on the way to the Nintendo 64 console itself. Here is a basic example of how this works:

Ocarina of Time sends information regarding Link's arrows for his bow along with a bunch of other information in the game. The GameShark between the console and cartridge takes in this data. The player can search this data for a value, such as the value of his arrow count. Once found, the player then puts in this value as a code. From that point on, the GameShark will take in the value for the arrow count, and instead of the cartridge sending a new value, the GameShark will replace it with the same value every time. When the player shoots an arrow, the GameShark replaces the value, and the value that's in the Nintendo 64's memory will remain the same. Thus, the player will have unlimited arrows because the system will never see a change in the number of arrows.

The only difference between this example as it is and the real situation is that numbers on the Nintendo 64's memory aren't stored as 0123456789. That is the decimal system. The Nintendo 64's memory, much like every other electronic device with storage, uses the Hexadecimal system. 0123456789ABCDEF. In this case, 12 arrows could be represented as 0C in Hexadecimal.