Copying save files from Gameboy Advance games to a PC
Whereas Gameboy Advance games hold their save files over time much better than their older cousin, the Gameboy, sometimes you just need to be able to back up your save file to a PC. More often, I need to copy a save file from a PC onto a Gameboy Advance cartridge, either because I've found a cartridge copy of a game I've played on an emulator, or because I'm trying to catch a mythical Pokemon that's no longer available because the games aren't supported any more. Whatever your reason, it's not too difficult.
Bear in mind, this is the way I do it. There are many other ways of doing this, but this is the way I find the easiest.
Things to buy
You'll need, in addition to your Gameboy Advance and game cartridge:
- A Nintendo DS or DS Lite.
- A DS Flash cart, such as the M3 DS Real, or the R4.
- A memory card for your flash cart
The DS must be a DS or DS Lite. Anything newer doesn't have a GBA slot and therefore won't work. We need a DS that has a DS slot and a GBA slot. You can use any DS Flash cart, or method for running homebrew on a DS, but I strongly suggest the R4 over the M3, for reasons that will be explained later.
The only extra software you'll need is GBA-Dump, a piece of homebrew software for the DS and DS Lite that reads the contents of the GBA card inserted into Slot 2, and writes it to the memory of the flash cart, or vice-versa. You can download this software here
There are two versions of this software - obviously use the latest version you can, but bear in mind that the later version (0.21) does not work on the M3 flash cart by design. I believe the reason is that the author of the software has some beef with the manufacturers of the M3, but I'm not 100% certain. If you have the M3, use version 0.1, but bear in mind it won't read the save memory of some GBA games. Both versions happily work with all Gen 3 Pokemon games, so don't worry if that's all you need it for, but see the bottom of this article for more information on save formats.
Copy the .NDS file to your flash cart, and put it in the DS. Put the game whose save file you want to copy into slot 2 at the bottom. Now power on the DS and run the GBA-Dump software. Press A to make the software scan the GBA cart, and you'll get a menu.
The default mode is 'backup mode', you can switch between modes using the L and R buttons, but in backup mode you'll get a file menu on the top screen and a guide to the functions on the bottom screen. To copy the save file on the GBA cartridge to your flash cartridge, simply press the B button. This will create a new file for the save. If instead you want to overwrite a previous file, select it using the top screen menu and press the A button. That's basically it. Now, if you have a ROM file for your game, you can copy the new SAV file to your emulator and continue playing.
If you need to restore the file to your cartridge, the process is just as simple. Press the R button to get into 'restore mode', then select the SAV file on the top screen and press the A button to copy it back to the cartridge. Pressing the B button on this screen wipes the cartridge's save memory, which is good if you want to start a game from scratch or sell the game.
Versions and Save Formats
As mentioned previously, GBA-Dump has two common versions. Version 0.1 works on any DS flash cartridge, and version 0.21 works on everything except the M3. The former version will read your cartridge's save file if it uses Flash memory, but some games (eg Super Mario Advance 2: Super Mario World) use EEPROM to store the save, and the earlier version of GBA-Dump will not read or write this. The latter version supports games with EEPROM memory. If you want to know what type of save memory your game has, you can look it up at the following website, which has a pretty comprehensive list of GBA games.
Unfortunately, if you have an M3 and want to dump the memory of a game that uses EEPROM for its save, you're out of luck using this method.