1 Reflashing a Gameshark
sanni edited this page 2023-03-22 20:51:46 +01:00

The Gameshark uses two SST29LE010 type flash ROMs that hold the Gameshark menu and all the cheat codes. Furthermore upon power on the Gameshark copies the boot code from the cartridge that is plugged on top of the Gameshark to those flash roms.
If the cheat code list has an error or if the boot code was copied wrongly the Gameshark can brick. Also if the Gameshark was set to a CIC type you don't have a game of you will also not be able to boot it anymore.
All these issues can be resolved by reflashing the two flashroms with the Open Source Cart Reader. As a bonus you can also update the Gameshark menu, e.g. turn a V2 Gameshark into a V3 Gameshark.

To reflash the Gameshark you can use the "GameShark Pro (USA) (v3.3) (Unl).bin" file from the no-intro set, but you will have to give it a shorter name like "gameshark.z64".
To start plug the Gameshark into the Cart Reader without any game on top and select the Gameshark menu option under N64.
The Cart Reader will check that it can address the flash roms correctly, then backup the current flash content to the SD card and flash the new file.

Once the Cart Reader display says "Verifying...ok", power off the Cart Reader and remove the Gameshark from the Cart Reader, put Super Mario 64 or any other 6102 game(flashing removes any previous boot code) on top, make sure it's perfectly centered as the Gameshark uses a wrong pitch cartridge slot and then plug the Gameshark/Mario tower into the N64 console. At first boot it might take a little longer since it has to copy the boot code to the flashrom.

Sometimes the Gameshark looks itself up, then all you need to do is plug a 6102 game into the top slot of the Gameshark, plug both in the Cart Reader and dump the ROM as if it was a game.

There are different PCB versions of the Gameshark that connect the little number display to different pins of the main GAL chip, therefore the countdown might stop working if you flash a ROM from a different PCB version. However, the rest seems to work just fine.

The Gameshark always copies the boot code from the currently inserted cartridge however it does not use the checksum of the inserted cartridge but has its own. In the Gameshark's menu, you have the option to change the key code, this writes a different checksum to 0x10 of the 29LE010 allowing you to boot the Gameshark with games with a CIC other than 6102.

You can also flash a 256KB homebrew ROM to the Gameshark. The homebrew has full access to the save chips of the plugged-in cartridge.