FR/LG LayeredFS Ruby/Sapphire/Emerald Save Fix (ROM Replacement) — v1 (WIP)
Hey,
So if you've ever tried swapping a Hoenn ROM (Ruby / Sapphire / Emerald) into the Pokémon Leaf Green NSP via LayeredFS, you probably already know the pain: the game runs fine, "Save complete!" message and everything, then you reboot and… no Continue. Save's just gone. Every time.
Spent the last couple of weeks reverse engineering the wrapper to figure out why, and I finally got it working. Honestly way more tedious than I expected — most of those evenings were me staring at crash reports trying to figure out what the emulator core was hiding. But got there.
I've tested everything on a Switch running Atmosphère CFW with the USA Leaf Green NSP and Pokémon Emerald (USA and Europe — both work).
Should also work on Ruby and Sapphire since they're the same engine, and probably on other regional NSPs, but I haven't personally tried.
If you do, please post back, would really help me confirm.
How to install
You need three things on your Switch:
1. Atmosphère CFW (any recent version — that's what I tested on)
2. Pokémon Leaf Green NSP installed (Title ID '010034D02340E000')
3. Your Hoenn ROM as a 16 MB GBA file, renamed exactly to 'LeafGreen_e.gba', placed at: '/atmosphere/contents/010034D02340E000/romfs/LeafGreen_e.gba'
Important: the wrapper specifically loads a file called 'LeafGreen_e.gba' from that folder — it doesn't care what game is actually inside. So if your ROM is named something like 'Emerald.gba' or 'Pokemon - Emerald (U).gba', just rename it to 'LeafGreen_e.gba' before dropping it in. Same goes for Ruby and Sapphire.
Then:
- Download the zip linked below
- Extract it at the root of your SD card — the included 'atmosphere/' folder merges with your existing one, nothing gets overwritten
- After extraction you should see a new file at '/atmosphere/exefs_patches/leafgreen-hoenn-save-v1/a8dd9bcc…ips'
- Don't rename it — Atmosphère matches the patch to the game by that filename
- Boot the Leaf Green NSP and your Hoenn ROM loads automatically
That's it. Then just play.
One important thing about saving
After you press Save in-game, you need to wait about 7-8 seconds before leaving the game — and by leaving I mean anything that ends the game process: closing it from the home menu, switching to another title, or power off. If you exit right after pressing Save, the save won't have been captured yet. Just give it a few seconds and you're good.
Calling it v1 / WIP because I'm still working on a proper version that won't need the wait, but this one is rock-solid for actual playing.
Full technical writeup, roadmap, and source on my GitHub repo — worth a read if you're into reverse engineering, the path was anything but straight.
What is currently on the roadmap:
1. Changing the game's icon and title on the home menu to match R/S/E instead of "Pokémon Leaf Green" — if you're a designer or can put together a nice Hoenn-themed icon, please send it my way!
2. Improving the fix to identify the precise GBA Flash commands that trigger a save, so we can quit the game immediately after saving — no more 7-8 second wait.
3. If possible, integrating link cable / wireless networking for trades and battles between FRLG and Hoenn games. Long shot, no promises, but I'd love to take a swing at it once the save fix is fully wrapped up.
- Download (zip, extract at 'atmosphere' path):
https://github.com/GMR7Z-RE/leafgreen-hoenn-save/releases/download/v1/leafgreen-hoenn-save-v1.zip
- Repo (docs, source, issues):
https://github.com/GMR7Z-RE/leafgreen-hoenn-save
- Support — if it helped and you wanna throw me a coffee, no pressure:
https://buymeacoffee.com/gmr7z
Drop a reply if you try Ruby/Sapphire or a non-USA NSP, or just shoot me an email at [email protected].
Cheers
So if you've ever tried swapping a Hoenn ROM (Ruby / Sapphire / Emerald) into the Pokémon Leaf Green NSP via LayeredFS, you probably already know the pain: the game runs fine, "Save complete!" message and everything, then you reboot and… no Continue. Save's just gone. Every time.
Spent the last couple of weeks reverse engineering the wrapper to figure out why, and I finally got it working. Honestly way more tedious than I expected — most of those evenings were me staring at crash reports trying to figure out what the emulator core was hiding. But got there.
I've tested everything on a Switch running Atmosphère CFW with the USA Leaf Green NSP and Pokémon Emerald (USA and Europe — both work).
Should also work on Ruby and Sapphire since they're the same engine, and probably on other regional NSPs, but I haven't personally tried.
If you do, please post back, would really help me confirm.
How to install
You need three things on your Switch:
1. Atmosphère CFW (any recent version — that's what I tested on)
2. Pokémon Leaf Green NSP installed (Title ID '010034D02340E000')
3. Your Hoenn ROM as a 16 MB GBA file, renamed exactly to 'LeafGreen_e.gba', placed at: '/atmosphere/contents/010034D02340E000/romfs/LeafGreen_e.gba'
Important: the wrapper specifically loads a file called 'LeafGreen_e.gba' from that folder — it doesn't care what game is actually inside. So if your ROM is named something like 'Emerald.gba' or 'Pokemon - Emerald (U).gba', just rename it to 'LeafGreen_e.gba' before dropping it in. Same goes for Ruby and Sapphire.
Then:
- Download the zip linked below
- Extract it at the root of your SD card — the included 'atmosphere/' folder merges with your existing one, nothing gets overwritten
- After extraction you should see a new file at '/atmosphere/exefs_patches/leafgreen-hoenn-save-v1/a8dd9bcc…ips'
- Don't rename it — Atmosphère matches the patch to the game by that filename
- Boot the Leaf Green NSP and your Hoenn ROM loads automatically
That's it. Then just play.
One important thing about saving
After you press Save in-game, you need to wait about 7-8 seconds before leaving the game — and by leaving I mean anything that ends the game process: closing it from the home menu, switching to another title, or power off. If you exit right after pressing Save, the save won't have been captured yet. Just give it a few seconds and you're good.
Calling it v1 / WIP because I'm still working on a proper version that won't need the wait, but this one is rock-solid for actual playing.
Full technical writeup, roadmap, and source on my GitHub repo — worth a read if you're into reverse engineering, the path was anything but straight.
What is currently on the roadmap:
1. Changing the game's icon and title on the home menu to match R/S/E instead of "Pokémon Leaf Green" — if you're a designer or can put together a nice Hoenn-themed icon, please send it my way!
2. Improving the fix to identify the precise GBA Flash commands that trigger a save, so we can quit the game immediately after saving — no more 7-8 second wait.
3. If possible, integrating link cable / wireless networking for trades and battles between FRLG and Hoenn games. Long shot, no promises, but I'd love to take a swing at it once the save fix is fully wrapped up.
- Download (zip, extract at 'atmosphere' path):
https://github.com/GMR7Z-RE/leafgreen-hoenn-save/releases/download/v1/leafgreen-hoenn-save-v1.zip
- Repo (docs, source, issues):
https://github.com/GMR7Z-RE/leafgreen-hoenn-save
- Support — if it helped and you wanna throw me a coffee, no pressure:
https://buymeacoffee.com/gmr7z
Drop a reply if you try Ruby/Sapphire or a non-USA NSP, or just shoot me an email at [email protected].
Cheers






