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,

Cecil_FF4

Active Member
Newcomer
Joined
Apr 25, 2016
Messages
40
Trophies
0
Age
43
XP
385
Country
United States
Ran a gba game that had a save successfully in sysnand. Immediately quit and attempted to load agbsave9.bin. Froze again. At this point, I think it's pretty safe to assume it's either bootctr (which loads my other bins/dats just fine, such as decrypt9, emunand9, cakes, or luma), luma (my version of cakes can't load gba), or it's the agbsave9.bin itself. FYI, I'm using Agbsave9-20160208-200546.
 

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
Ran a gba game that had a save successfully in sysnand. Immediately quit and attempted to load agbsave9.bin. Froze again. At this point, I think it's pretty safe to assume it's either bootctr (which loads my other bins/dats just fine, such as decrypt9, emunand9, cakes, or luma), luma (my version of cakes can't load gba), or it's the agbsave9.bin itself. FYI, I'm using Agbsave9-20160208-200546.
I'm running the A9LH-compatible agbsave9.bin from latest Luma's chainloader, it's fine here. :unsure:
 

Cecil_FF4

Active Member
Newcomer
Joined
Apr 25, 2016
Messages
40
Trophies
0
Age
43
XP
385
Country
United States
I'm running the A9LH-compatible agbsave9.bin from latest Luma's chainloader, it's fine here.

I just ran the a9lh-compatible agbsave9.bin from the latest luma's chainloader. It froze for me.

So this time I reconfigured my sd files so that a9lh loaded luma, completely cutting bootctr out of the loop. I set agbsave9.bin as a payload in the luma/payloads folder with the name y_agbsave9.bin. I also set it as the default payload because payloads don't seem to load at all without some default (def_agbsave9.bin). I loaded up the gba game in sysnand, then restarted the console. No payload would load right after the gba game had run (it just booted to sysnand like normal). Restarting the console without running the game allowed me to attempt to load the payload, but it froze.
 

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
I just ran the a9lh-compatible agbsave9.bin from the latest luma's chainloader. It froze for me.

So this time I reconfigured my sd files so that a9lh loaded luma, completely cutting bootctr out of the loop. I set agbsave9.bin as a payload in the luma/payloads folder with the name y_agbsave9.bin. I also set it as the default payload because payloads don't seem to load at all without some default (def_agbsave9.bin). I loaded up the gba game in sysnand, then restarted the console. No payload would load right after the gba game had run (it just booted to sysnand like normal). Restarting the console without running the game allowed me to attempt to load the payload, but it froze.
This is weird, I just tried here(Heck, without loading a game before) and I was able to boot the payload and dump my save without any major issue directly from Luma3DS. Are you using this payload?
 

Cecil_FF4

Active Member
Newcomer
Joined
Apr 25, 2016
Messages
40
Trophies
0
Age
43
XP
385
Country
United States
Yes, I just confirmed I'm using the exact payload you linked to by doing a byte-for-byte comparison in my hex editor.
 

Cecil_FF4

Active Member
Newcomer
Joined
Apr 25, 2016
Messages
40
Trophies
0
Age
43
XP
385
Country
United States
try asking on the official thread

I don't know what you mean by that. I thought this was the official thread for agbsave9.

I'm pretty confused about why this won't work on my 3DS when it does on others'. It would be nice to put my old saves in these injected titles, but my motivation for solving this issue is mostly because I like solving problems. But I don't know where any point of failure could be at this point. It's not bootctr. We're both using the latest luma, A9LH, and agbsave9. It's probably got nothing to do with the gba games I'm using because the app won't turn on whether one has been run or not. So I'm going to be as specific as possible about my setup, in the hopes anyone has any suggestions as to why this app won't run.

I'm on an O3DS XL. I run a 9.2 sysnand and a 10.7 emunand (I still run an emunand for easy backup purposes). I got A9LH installed with no problems and have run many apps through it. I use Luma3DS 5.2 as my primary CFW, Cakes 138 as my alternate (though this can't load GBA games). I usually use the arm9loaderhax.bin from the A9LH-compatible bootctr9 boot loader, with the boot config set to load agbsave9.bin on the press of 'L' (though I've tried other buttons). If I choose to bypass bootctr, I'll change the arm9loaderhax to the latest luma version, then set agbsave9 as the payload for the 'y' button and the default. I test two different gba games: one that has a save already on my system (LoZ:LTTP) and one that has no save that I would like to inject from my computer (Advance Wars). These games were acquired from 'davhuit' on that iso site.

If there's any more info I can give, let me know.
 

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
I don't know what you mean by that. I thought this was the official thread for agbsave9.

I'm pretty confused about why this won't work on my 3DS when it does on others'. It would be nice to put my old saves in these injected titles, but my motivation for solving this issue is mostly because I like solving problems. But I don't know where any point of failure could be at this point. It's not bootctr. We're both using the latest luma, A9LH, and agbsave9. It's probably got nothing to do with the gba games I'm using because the app won't turn on whether one has been run or not. So I'm going to be as specific as possible about my setup, in the hopes anyone has any suggestions as to why this app won't run.

I'm on an O3DS XL. I run a 9.2 sysnand and a 10.7 emunand (I still run an emunand for easy backup purposes). I got A9LH installed with no problems and have run many apps through it. I use Luma3DS 5.2 as my primary CFW, Cakes 138 as my alternate (though this can't load GBA games). I usually use the arm9loaderhax.bin from the A9LH-compatible bootctr9 boot loader, with the boot config set to load agbsave9.bin on the press of 'L' (though I've tried other buttons). If I choose to bypass bootctr, I'll change the arm9loaderhax to the latest luma version, then set agbsave9 as the payload for the 'y' button and the default. I test two different gba games: one that has a save already on my system (LoZ:LTTP) and one that has no save that I would like to inject from my computer (Advance Wars). These games were acquired from 'davhuit' on that iso site.

If there's any more info I can give, let me know.
This is just a tutorial that I wrote for it, the official thread would be this one.
The only difference between my setup and yours is that you have an emuNAND while I run CFW sysNAND. Well, for the injection itself, you don't need AGBSave9, it's only for dumping the saves. If you know the Title ID and save type, just run the script to make the injected save CIA.
Still, I really want to know why it won't run in your 3DS, and I think that you can make GBA games work on Cakes if you disable reboot patches and patch AGB_FIRM/get the .cakes patch for AGB_FIRM.

Quick question, if you load a GBA game directly from sysNAND, do you ever boot back into emuNAND? If yes, try avoid going into emuNAND while you are attempting to dump it.
 

Cecil_FF4

Active Member
Newcomer
Joined
Apr 25, 2016
Messages
40
Trophies
0
Age
43
XP
385
Country
United States
The only difference between my setup and yours is that you have an emuNAND while I run CFW sysNAND. Well, for the injection itself, you don't need AGBSave9, it's only for dumping the saves. If you know the Title ID and save type, just run the script to make the injected save CIA.

Yeah, I just wanted to be able to dump the saves eventually.

Quick question, if you load a GBA game directly from sysNAND, do you ever boot back into emuNAND? If yes, try avoid going into emuNAND while you are attempting to dump it.

I set the config for Luma to autoboot sysnand during my sysnand-only tests.

This is just a tutorial that I wrote for it, the official thread would be this one.

I'll check it out. Thanks for your help.
 
  • Like
Reactions: matpower

EddieEddie90

Well-Known Member
Member
Joined
Apr 24, 2016
Messages
232
Trophies
0
Age
30
XP
959
Country
Mexico
Hi, I'm currently trying to get this to work on latest rxTools, everytime I load the app from the homebrew launcher (on sysNAND) it kicks me back to HB. Is there a fix to this? (And yes, I'm running a gba vc game before using the app from HB)
 

SD_DS

Well-Known Member
Newcomer
Joined
Feb 12, 2016
Messages
59
Trophies
0
XP
79
Country
United States
Everytime I try to run gen_rom.py, it just closes as soon as I put in all the information. It doesn't generate the CIA, it just closes.

I'm using version 1.0, and the gen_rom that you provided.
 
Last edited by SD_DS,

SD_DS

Well-Known Member
Newcomer
Joined
Feb 12, 2016
Messages
59
Trophies
0
XP
79
Country
United States
I did all the steps, but wehn I run Sapphire, it resets the save. I have to make a new game. Do you know what the problem s>
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • 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: @BigOnYa...