GBA ROM PATCHER

Buy me a coffee

The ultimate tool for your GBA ROMs

Blog How to Fix GBA Repro Save Issues — The SRAM Patch Guide

How to Fix GBA Repro Save Issues — The SRAM Patch Guide

GBA repro cart saves not working? An SRAM patch rewrites the save routines in the ROM to fix the hardware mismatch. Step-by-step guide with common fixes.

Affiliate Disclosure: Some links on this page are affiliate links. If you make a purchase through them, we may earn a small commission at no extra cost to you. This helps keep the site and tools free.

You flash a ROM to your repro cart, boot it up, play for an hour, and then the game either refuses to save or wipes everything when you power off. It's one of the most common problems people run into with GBA reproduction cartridges, and the fix is usually a simple patch applied before flashing. Here's what's actually going on and how to sort it out.

Why Repro Saves Fail

GBA games save data using one of a few different hardware chips: SRAM, Flash (in 512K or 1M variants), or EEPROM (in 512-byte or 8KB variants). The save routines written into the game's code target specific memory addresses based on whichever chip Nintendo soldered onto the original cartridge.

A Pokémon FireRed cartridge, for example, has a 128KB Flash save chip. The game's internal save code writes to the memory-mapped addresses for that Flash chip. When you burn the same ROM onto a repro cart that uses a plain SRAM chip instead — which is what most cheap repros use, because SRAM is simple and widely available — the game's save routines are targeting the wrong hardware entirely. The writes either go nowhere or corrupt silently.

The game isn't broken. The ROM is fine. The save code in the ROM is just pointing at a chip that isn't there.

What an SRAM Patch Actually Does

An SRAM patch rewrites the save routines embedded in the ROM to target the SRAM address range instead of Flash or EEPROM addresses. On the GBA, SRAM is memory-mapped at 0xE000000. Flash and EEPROM sit at different addresses and require different write procedures — Flash in particular needs an erase cycle before writing, which SRAM does not.

The patch identifies the save-related functions in the ROM and replaces them with code that reads and writes directly to 0xE000000 using simple byte-level operations that SRAM supports natively. The end result is a ROM where the save routines work correctly on a repro cart with an SRAM chip.

Nothing else in the game changes. Gameplay, graphics, sound — all untouched. Only the save subsystem is modified.

Which Games Need SRAM Patching

Most FireRed-based ROMs need it. Here's a breakdown of the common ones:

Game Save Type Needs SRAM Patch?
Pokémon FireRed Flash 1M Yes
Pokémon LeafGreen Flash 1M Yes
Pokémon Emerald Flash 128K Sometimes
Pokémon Ruby Flash 128K Sometimes
Pokémon Sapphire Flash 128K Sometimes
Pokémon FireRed/LG-based hacks Flash 1M Yes
Pokémon Emerald-based hacks Flash 128K Depends on repro

FireRed and LeafGreen use Flash 1M saves — the largest save type and the one that most repros can't handle at all without patching. These almost always need an SRAM patch.

Emerald, Ruby, and Sapphire use Flash 128K, which some repro carts handle correctly depending on their hardware. Whether they need patching depends on your specific cart. If saves are failing on an Emerald repro, the SRAM patch is the first thing to try.

EEPROM-based games (including the original FireRed/LeafGreen on carts with serial numbers above a certain threshold) are a different case — those are typically only 512 bytes or 8KB in size and handled differently. If you're not sure what save type your ROM uses, the patcher tool detects it automatically when you drop the file in.

Step-by-Step: Patching with gbarompatcher.com

  1. Go to gbarompatcher.com — the patcher runs entirely in your browser, no install needed.

  2. Drop your ROM file into the tool. The patcher will detect the save type embedded in the ROM header and in the save routines themselves. You'll see it listed in the interface.

  3. Check the "SRAM Patch" option. If your ROM uses Flash or EEPROM saves, this option will be available. If the ROM is already using SRAM routines, the option will indicate there's nothing to patch.

  4. Click "Patch ROM" and wait for the process to complete. It takes a second or two.

  5. Download the patched ROM. The filename will reflect that patching has been applied.

That's the whole process. The patched file is what you flash to your repro cart.

After Patching: Flashing and Testing

Flash the patched ROM to your repro cart using whatever writer you normally use — GBxCart RW, Joey GBA, or a similar tool. The process is the same as flashing any other ROM.

Once it's on the cart:

  1. Boot the game and start a new save file.
  2. Play until you hit the first save point — usually within the first five minutes.
  3. Save and power off completely. Wait a few seconds before powering back on.
  4. Boot again and confirm your save file loaded correctly.

If it works, you're done. If the save appears to load but then disappears after a second boot, there may be a write protect issue with your SRAM chip — this is a hardware problem with the repro, not a patching issue.

Common Issues After Patching

The game still won't save after patching.

First, check whether the ROM was actually using Flash or EEPROM saves in the first place. If the patcher showed the ROM already using SRAM routines, the patch was a no-op — your problem is elsewhere, probably a bad SRAM chip on the repro.

If the ROM did use Flash saves and you applied the patch, double-check you flashed the patched version (not the original). It's an easy mistake.

Saves work but disappear after powering off.

This is the classic symptom of a dead save battery on a battery-backed SRAM repro. An SRAM chip without power loses everything. If your repro uses a coin cell battery and it's dead, you'll get this behavior regardless of patching. Either replace the battery or apply a batteryless save patch — which is a separate patch that writes saves into the ROM flash chip itself instead of relying on a battery-backed chip.

The game saves but the data is corrupted or garbled.

This can indicate the SRAM patch was applied to a ROM that had already been partially patched by someone else, resulting in conflicting save routines. Try starting from a clean, unmodified ROM dump and re-applying the patch fresh.

I applied the patch but the patcher says my ROM uses EEPROM, not Flash.

EEPROM patching is handled differently from SRAM patching. The standard SRAM patch targets Flash save routines specifically. EEPROM saves are a different address and a different protocol. Check whether your repro cart supports EEPROM emulation — some do, some don't. If it doesn't, you'll need a different fix path.

Which Patch Do You Actually Need?

If your repro has a separate SRAM chip (you can often tell because the cart has two chips on the board rather than one), the SRAM patch is correct.

If your repro is a cheaper single-chip design where the same flash chip stores both the ROM and the save data — common on budget AliExpress carts — you'll need a batteryless save patch in addition to the SRAM patch. The batteryless patch redirects saves into a reserved sector at the end of the ROM flash chip, which requires no separate save chip and no battery. See the GBA Batteryless Save Patch guide for the full walkthrough.

For more background on how the different GBA save types work under the hood, the GBA save types explained article covers the hardware differences in detail.


The SRAM patch fixes the vast majority of repro save failures, especially on FireRed and LeafGreen repros. Apply it before flashing, test after the first save, and you'll avoid the frustration of losing progress to a hardware mismatch that was always fixable. The patcher is free, browser-based, and takes about ten seconds.


Having save issues with a single-chip repro that doesn't have a dedicated save chip? The batteryless save patch guide covers that specific case.

← Back to Blog