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,104
Trophies
2
Age
24
Location
Best state in Brazil
XP
2,612
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,104
Trophies
2
Age
24
Location
Best state in Brazil
XP
2,612
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,104
Trophies
2
Age
24
Location
Best state in Brazil
XP
2,612
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
  • BakerMan @ BakerMan:
    i hope both of you guys get better
    +2
  • SylverReZ @ SylverReZ:
    Thanks mate.
  • Sicklyboy @ Sicklyboy:
    I used to drink alcohol fairly often. Never to the point of it being a problem, but like 2-3 beers with dinner each night, or a few cocktails or glasses of Scotch or something. Started smoking/vaping weed a lot a few years back which killed 90% of my interest in booze. Now I stopped smoking/vaping weed as much and just deal with life the boring way most of the time
    +1
  • Xdqwerty @ Xdqwerty:
    I only drank alcohol once and it was by accident
  • Xdqwerty @ Xdqwerty:
    I didnt know it was beer, it was on a juice bottle
  • SylverReZ @ SylverReZ:
    Yeah, I'm addicted to smoking, sadly. It's very addictive but I wish I didn't start.
  • K3Nv2 @ K3Nv2:
    May just order a 5700g for a nas/emulation set up tbh
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, atleast you were asleep on 4/20
    +1
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, you played that Mario flash game called Mario 63?
  • SylverReZ @ SylverReZ:
    @Xdqwerty, No, but I've seen it on Vinesauce's stream.
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, that game is one of the reasons i met newgrounds bc the full versión of it is in that site
  • Xdqwerty @ Xdqwerty:
    Also somebody is remaking it
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, the other game where I found newgrounds is new york shark
    +1
  • SylverReZ @ SylverReZ:
    Spoke to Tom Fulp the other day, if he can find his old Newgrounds site content like the mini Flash animations from the 2000's that played on the portal.
  • SylverReZ @ SylverReZ:
    So far no response, but he did say that he'll find them. Wayback Machine doesn't have em.
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, atleast the 1999 versión of pico's school is avaliable (the difference between it, the 2006 versión and the 2016 versión is that the speed of the game depends of the speed of your computer and that it had the og soundtrack)
  • SylverReZ @ SylverReZ:
    @Xdqwerty, Another being Pico VS Bear, the original 1999 version before Jim Henson filed a DMCA takedown.
    +1
  • Xdqwerty @ Xdqwerty:
    The 2006 versión was made when the flash portal was made
  • SylverReZ @ SylverReZ:
    Many people thought it was lost, but was discovered that he hid it on the same page.
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, although the "secrets" system where the game was has been removed. Also pico vs uberkids had a netplay versión that was shutdown, although the swf file has been found
  • SylverReZ @ SylverReZ:
    @Xdqwerty, Nope. There are two download buttons on the same page, where you can download the original under a file called "bear.exe". "bear2.exe", however, is the updated game in a Flash projector. P.s. this was on the archived Pico page from 2000.
  • SylverReZ @ SylverReZ:
    @Xdqwerty, That's been there for a long time, too. People who search for lost media don't look hard enough lmao.
    +1
    SylverReZ @ SylverReZ: @Xdqwerty, That's been there for a long time, too. People who search for lost media don't look... +1