Tutorial  Updated

Dumping and injecting GBA VC saves with AGBSave9

WARNING: GodMode9 added a native save dumping and injecting tool that works way better than AGBSave9, you can download it here. Here's how to use it.
I'll be keeping this guide around for historical purposes, but you should use GodMode9 instead.
Dumping GBA VC saves:
What you will need:
  • AGBSave9 v.1.0 "EEPROM support" (A9LH-compatible version here)
1) Run the game that you want to dump the save and close it.
2) Load AGBSave9 from sysNAND 9.2/A9LH and select "Save Dump".
3) This should give you a screen with this info:
  • Title ID: xxxxxxxx
  • Use save type 0/1/2: SRAM/Flash/EEPROM
  • Creating agb_dump.sav ...
4) Write down the Title ID and Save Type, you'll need it if you want to inject the save back later.
5) Plug your SD card into your computer and copy the agb_dump.sav on the root of the SD to somewhere safe, this is your save file.

Injecting saves into the GBA VC:
What you will need:

1) Install Python 3, else you won't be able to run the gen_run.py.
2) Copy your save file into the agb_inject folder.
3) Run gen_run.py and follow the on screen instructions, this should generate a .cia file inside the agb_inject folder.
43f380I.png

4) Copy the output CIA file to your 3DS' SD card.
5) Install it on sysNAND using your favorite CIA installer, I recommend FBI. (if it asks to overwrite the previous install, allow it.)
If you only have them on sysNAND:
6a) Run the CIA that you just installed. (It should show up as Fire Emblem on the top screen)
If you have them on both NANDs:
6b) Run the game that you want to inject the save on emuNAND.
7) When "AGB_FIRM save injector" appears, turn off your 3DS.
8) Insert your SD card on your computer and go to "/Nintendo3DS/(YourSysNANDHere)/(RandomStuff)/title/00040000/(TitleID)/" and copy the data folder.
9) Reinstall the game that you want to inject the save on sysNAND. (if it asks to overwrite the previous install, allow it.)
10) Reinsert the SD card on your computer and copy the data folder back into "/Nintendo3DS/(YourSysNANDHere)/(RandomStuff)/title/00040000/(TitleID)/"
11) Run the game, if everything worked properly, your injected save should appear on the game.

Credits:
@alex34567 7 for AGBSave9.
@redunka for the fixed "gen_run.py".
@Frelia a for the A9LH-compatible version.
 
Last edited by matpower,

SD_DS

Well-Known Member
Newcomer
Joined
Feb 12, 2016
Messages
59
Trophies
0
XP
79
Country
United States
Hmm, if you are injecting a save from an emulator, what's its file size? I have heard some issues with big saves.
My save file is from the Pokemon Sapphire GBA VC. It was 192 KB, and then when I extracted it, it was 64KB. I did some modifying, and when I saved it, it still was 64KB. Then I basically did the injection steps, and when I run Sapphire in Emunand, it has no save file.
 

matpower

Messenger from Zero
OP
Member
Joined
May 5, 2012
Messages
1,103
Trophies
2
Age
24
Location
Best state in Brazil
XP
2,603
Country
Brazil
My save file is from the Pokemon Sapphire GBA VC. It was 192 KB, and then when I extracted it, it was 64KB. I did some modifying, and when I saved it, it still was 64KB. Then I basically did the injection steps, and when I run Sapphire in Emunand, it has no save file.
Hmm, so the original file was 192KB, then you injected it, the save stopped working and got 64KB?
 

SD_DS

Well-Known Member
Newcomer
Joined
Feb 12, 2016
Messages
59
Trophies
0
XP
79
Country
United States
Hmm, so the original file was 192KB, then you injected it, the save stopped working and got 64KB?
The original .sav was 192 KB, but when I extracted it using the AGBSave, the extracted file was 64KB.

The extracted sav file was the one I used to make the CIA. When I installed the CIA in Sysnand, I launched Sapphire in Emunand and had the AGB_Firm injection thing.

I copied the data folder like you said. The sav file in the data folder was 192 KB.

I installed Pokemon Sapphire into Sysnand, and pasted the data folder over the other data folder.

Then I launched Sapphire in Emunand, and I had no save. I did it multiple times seeing if I put the title ID right, and in all the times I had no save file.

I don't know what I'm doing wrong :/

--------------------- MERGED ---------------------------

Hmm, so the original file was 192KB, then you injected it, the save stopped working and got 64KB?
I think I found the problem.. I'm not sure though.

The program I used to edit the sav file apparently automatically saved it as an Emerald sav file rather than Ruby/Sapphire. I went ahead and saved it as Sapphire, so now I'll build the CIA using that and repeat the injection steps.
 
Last edited by SD_DS,

matpower

Messenger from Zero
OP
Member
Joined
May 5, 2012
Messages
1,103
Trophies
2
Age
24
Location
Best state in Brazil
XP
2,603
Country
Brazil
The original .sav was 192 KB, but when I extracted it using the AGBSave, the extracted file was 64KB.

The extracted sav file was the one I used to make the CIA. When I installed the CIA in Sysnand, I launched Sapphire in Emunand and had the AGB_Firm injection thing.

I copied the data folder like you said. The sav file in the data folder was 192 KB.

I installed Pokemon Sapphire into Sysnand, and pasted the data folder over the other data folder.

Then I launched Sapphire in Emunand, and I had no save. I did it multiple times seeing if I put the title ID right, and in all the times I had no save file.

I don't know what I'm doing wrong :/

--------------------- MERGED ---------------------------


I think I found the problem.. I'm not sure though.

The program I used to edit the sav file apparently automatically saved it as an Emerald sav file rather than Ruby/Sapphire. I went ahead and saved it as Sapphire, so now I'll build the CIA using that and repeat the injection steps.
Yeah, the steps are right AFAIK. Let's see if it works.
 

SD_DS

Well-Known Member
Newcomer
Joined
Feb 12, 2016
Messages
59
Trophies
0
XP
79
Country
United States
Hmm, so either the injection is broken or you are doing something wrong. I feel like it's the former. :unsure:
Which folder is the Emunand folder? Is it the one that is bigger? I installed a lot of games while on Emunand but I'm not sure. I already did the injetion using both folders, and it still had no save file.
 

matpower

Messenger from Zero
OP
Member
Joined
May 5, 2012
Messages
1,103
Trophies
2
Age
24
Location
Best state in Brazil
XP
2,603
Country
Brazil
Which folder is the Emunand folder? Is it the one that is bigger? I installed a lot of games while on Emunand but I'm not sure. I already did the injetion using both folders, and it still had no save file.
Yeah, emuNAND is always bigger since games are on it. (I'm surprised that you still run emuNAND :P) But I'm pretty sure that GBA saves are on sysNAND.
 

SD_DS

Well-Known Member
Newcomer
Joined
Feb 12, 2016
Messages
59
Trophies
0
XP
79
Country
United States
Yeah, emuNAND is always bigger since games are on it. (I'm surprised that you still run emuNAND :P) But I'm pretty sure that GBA saves are on sysNAND.
Haha yeah. Honestly, I only did this to pirate 3DS Games :/ Arm9Loader doesn't really offer me that much if I just want to pirate lol

Anyway, this time it worked. No idea why. I did two things differently this time.

1. I made sure that Pokemon Sapphire had a save in it. The other times I just left it without the save.

2. The sav I injected was 128KB.

I don't know what made it work this time, but hey it works lol.
 
  • Like
Reactions: matpower

AlexRT07

New Member
Newbie
Joined
May 30, 2016
Messages
3
Trophies
0
Age
30
XP
43
Country
Mexico
Good guide! It worked for me.

I only want to say that the modified gen_rom.py was giving me a lot of troubles. Then I tried with the original gen_rom.py provided with the v1.0 release and it worked. I have to say that I'm using GNU/Linux elementary OS 0.3.2 with the official python3 released in the repositories of this OS. Maybe you had problems because you used Windows and this python script was written in Linux, I really don't know haha.

Skipping that, everything went OK when I transferred a GBA VC save from my old 3ds to my new one :toot::toot::toot:
 
Last edited by AlexRT07,

Ella879

Banned!
Banned
Joined
May 26, 2016
Messages
123
Trophies
0
Age
25
XP
99
Country
United States
with the python script

File "C:\Users\pornypanther7\Downloads\agb_inject\gen_rom.py", line 20, in <module>
with open("agb_inject_mb.gba", "rb") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'agb_inject_mb.gba'
 

KunoichiZ

Well-Known Member
Member
Joined
Mar 16, 2012
Messages
8,830
Trophies
0
Age
28
XP
4,597
Country
United States
I did all of the steps but when I launch my games, I still get the "AGB_firm save injector" text. It's not loading the game. The steps I took:
1. I installed the games and made a save file for each.
2. Used AGBSave9 on A9LH Luma3DS boot (up_Agbsave9.bin) to get the Title ID and the save type for both games.
3. Used the Title ID and save type in the python script for both games
4. Moved the generated .CIAs to my SD card
5. Installed them and ran them
6. Turned my 2DS off at the save injector text
7. Copied the folders with the Title ID to my computer
8. Deleted the previously installed .CIAs
9. Re-installed the games
10. Copied the folders with the Title ID back to my SD card
11. Loaded the games but was presented with the "AGB_firm save injector" text instead of the game.

What did I do wrong? I used the modified gen_run.py script, and the v1.0 of AGBSave9. I'm using Pokemon FireRed and Pokemon Emerald as my games. The logos on the top screen were replaced with Fire Emblem: The Sacred Stones but the icons on the bottom screen were of FireRed and Emerald.
 
Last edited by KunoichiZ,

DrkBeam

Well-Known Member
Member
Joined
Jun 12, 2016
Messages
414
Trophies
0
Age
31
XP
397
Country
Spain
10) Reinsert the SD card on your computer and copy the data folder back into "/Nintendo3DS/(YourSysNANDHere)/(RandomStuff)/title/00040000/(TitleID)/"

10. Copied the folders with the Title ID back to my SD card
11. Loaded the games but was presented with the "AGB_firm save injector" text instead of the game.

I had the same mistake, it's only the data folder
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    Anyone wanna play with my joydock
  • BigOnYa @ BigOnYa:
    Biomutant looks cool tho, may have to try that
  • Quincy @ Quincy:
    Usually when such a big title leaks the Temp will be the first to report about it (going off of historical reports here, Pokemon SV being the latest one I can recall seeing pop up here)
  • K3Nv2 @ K3Nv2:
    I still like how a freaking mp3 file hacks webos all that security defeated by text yet again
  • BigOnYa @ BigOnYa:
    They have simulators for everything nowdays, cray cray. How about a sim that shows you playing the Switch.
  • K3Nv2 @ K3Nv2:
    That's called yuzu
    +1
  • BigOnYa @ BigOnYa:
    I want a 120hz 4k tv but crazy how more expensive the 120hz over the 60hz are. Or even more crazy is the price of 8k's.
  • K3Nv2 @ K3Nv2:
    No real point since movies are 30fps
  • BigOnYa @ BigOnYa:
    Not a big movie buff, more of a gamer tbh. And Series X is 120hz 8k ready, but yea only 120hz 4k games out right now, but thinking of in the future.
  • K3Nv2 @ K3Nv2:
    Mostly why you never see TV manufacturers going post 60hz
  • BigOnYa @ BigOnYa:
    I only watch tv when i goto bed, it puts me to sleep, and I have a nas drive filled w my fav shows so i can watch them in order, commercial free. I usually watch Married w Children, or South Park
  • K3Nv2 @ K3Nv2:
    Stremio ruined my need for nas
  • BigOnYa @ BigOnYa:
    I stream from Nas to firestick, one on every tv, and use Kodi. I'm happy w it, plays everything. (I pirate/torrent shows/movies on pc, and put on nas)
  • K3Nv2 @ K3Nv2:
    Kodi repost are still pretty popular
  • BigOnYa @ BigOnYa:
    What the hell is Kodi reposts? what do you mean, or "Wut?" -xdqwerty
  • K3Nv2 @ K3Nv2:
    Google them basically web crawlers to movie sites
  • BigOnYa @ BigOnYa:
    oh you mean the 3rd party apps on Kodi, yea i know what you mean, yea there are still a few cool ones, in fact watched the new planet of the apes movie other night w wifey thru one, was good pic surprisingly, not a cam
  • BigOnYa @ BigOnYa:
    Damn, only $2.06 and free shipping. Gotta cost more for them to ship than $2.06
  • BigOnYa @ BigOnYa:
    I got my Dad a firestick for Xmas and showed him those 3rd party sites on Kodi, he loves it, all he watches anymore. He said he has got 3 letters from AT&T already about pirating, but he says f them, let them shut my internet off (He wants out of his AT&T contract anyways)
  • K3Nv2 @ K3Nv2:
    That's where stremio comes to play never got a letter about it
  • BigOnYa @ BigOnYa:
    I just use a VPN, even give him my login and password so can use it also, and he refuses, he's funny.
  • BigOnYa @ BigOnYa:
    I had to find and get him an old style flip phone even without text, cause thats what he wanted. No text, no internet, only phone calls. Old, old school.
    K3Nv2 @ K3Nv2: https://youtu.be/z9E_uv5IT-o?si=0qMdVEnRK8mmclzS