8/16/2013

Transferring N64 cartridge savegames to a 64drive - continued

Today I finished my N64 EEPROM copy utility. It was easier than expected because libdragon link already has EEPROM support.

The idea of my copy utility is very simple:

  • select the EEPROM size in the 64drive loading screen and start the copy utility.
  • switch S_DAT line to cartridge.
  • start the 4K/16K dumping process by pressing the correct button listed on the screen. The dumper will copy the EEPROM content into memory.
  • switch the S_DAT line back to the 64drive.
  • let the copy utility write the EEPROM dump from memory to the 64drive's virtual EEPROM.
  • reset the N64 so the 64drive writes the EEPROM to the CF/SD card.


You can download my SaveGame Dumper here: N64 SaveGame Dumper v0.1

Once again you are doing this at your own risk, because if you don't follow exactly the instructions you can override your savedata with garbage.

I tested the utility without any problems for the following games savegames which were all properly dumped:

4K EEPROM
Banjo-Kazooie
Blast Corps
Body Harvest
Cruis'n USA
Diddy Kong Racing
GoldenEye 007
Lylat Wars / Star Fox 64
Mario Kart 64
Mario Party
Mission Impossible
Pilotwings 64
Super Mario 64
Wave Race 64

16K EEPROM
Banjo-Tooie
Cruis'n World
Donkey Kong 64
Perfect Dark
RR64 - Ridge Racer 64
Yoshi's Story

You will most likely only do this once for your collection. So take your time, check every savegame by running it with the appropriate game on the 64drive or if in doubt dump the EEPROM more than once and compare their hash values (MD5/SHA1).

If for some reason you want to copy a 64drive savegame to a real cartridge you just have to reverse the steps and can use the same program for this task.

Future work
With my SaveGame Dumper I was able to backup all my N64 games with EEPROM saves which are nearly all of my games. It was much easier than expected, because only one pin must be switched and libdragon already has EEPROM support.

What is still missing is SRAM and FlashRAM support. I am currently unsure if this is possible without desoldering, because SRAM/FlashRAM shares all PINs (besides the /write) PIN with the game ROM. libdragon also has no SRAM/FlashRAM support. But this should be the smaller problem because the N64 is documented fairly good on the net.

More on SRAM/FlashRAM in another post.

No comments:

Post a Comment