1 minute read

Back when the original DMG was released, flash chips were prohibitively expensive to use as storage medium for video games. In order to still be able to retain data, a so called SRAM chip was used. This chip retains its contents, but requires constant power, even when the console is turned off and so cartridges with save functionality at the time included a small battery, typically a CR1616 coin cell. These batteries can last for 10-20 years!

This lasted until the early years of the Game Boy Advance, after which they started using dedicated flash chips, next to the ROM. Modern bootlegs don’t contain batteries anymore as it’s cheaper to produce them without a battery. Because the cartridges exclusively use flash chips it is possible to use this to retain save data, but we have to modify the ROM!

It should be possible to modify any ROM and apparently the save routines can quite easily be patched in GBA games using tools like this, but I haven’t done that myself. Instead I found some IPS patches in this repository.

In order to patch a ROM yourself, you need to:

  • Check if there is a patch available in the repository
  • Supply the correct ROM, it seems to be the exact version!
  • Go to Rom Patcher JS and input the files

Saving won’t work in an emulator anymore, it will only work on an actual cartridge, so flash the newly generated ROM onto a bootleg and try it out!

I’ve tried Metal Slug Advance and the level progress is being saved! For some reason the cards and humans are not saved, and I think that’s not how it’s supposed to be. My guess is that the IPS patch was created from a poorly executed patch of a Chinese bootleg. Just remember that there are no guarantees. 😅

I also patched WarioWare, Inc. and that works too, but that’s all I tested. I haven’t had time to properly play it yet. Let’s hope for the best!

Happy patching!