Hacking [Guide] Backup and Restore GBA Virtual Console Savedatas Using Decrypt9

JCCG1989

Well-Known Member
OP
Member
Joined
Jul 16, 2016
Messages
444
Trophies
0
Age
34
XP
368
Country
Mexico
Disclaimer: Obviously I'm not an expert in the theme. I did this because it was difficult to me to find a quick reference to safely backup and restore my GBA VC saves. All of this information can be checked in the Decrypt9 Readme file and the refence https://gbatemp.net/threads/downloa...yption-tools-wip.388831/page-196#post-6615811 it provides added to my personal experience with this problem.

Requeriments:
1.- The latest release of Decryp9 with GBA VC functionality.
2.- To have Decryp9 as an arm9 payload in your luma/payloads folder (example: up_decrypt9.bin).
3.- Homebrew Launcher installed as a CIA.
4.- Perform the method for each savedata you need to restore or backup.

Backing a savedata
1.- Launch the game which savedata you need to backup, when it fully boots press HOME button to leave Virtual Console
2.- Open Homebrew Launcher (CIA installed).
3.- Press START button, press A to proceed to reboot and inmediately press the button you have assigned for Decrypt9 payload (example D-pad up).*
4.- Select "SysNAND options".
5.- Select "Miscellaneus".
6.- Select "GBA VC Save Dump".
7.- Select the name of your save data (usually "gbavc.sav").
8.- Your savedata file will be in the root of your SD card with the name you selected.
9.- DO NOT MODIFY the file name, just save it to your PC in a folder named as the game.
10.- I repeat, you need to do this procedure for each savedata you want to backup.


* I tested this method launching Decrypt9 as a Homebrew application just adding the Decrypt9 folder to my /3ds folder and it worked fine for me.

Restoring a savedata
1.- Copy the savedata you want to restore to the root of your SD card. (Usually named "gbavc.sav").
2.- Power on your system and launch the game you need to restore, as the game boots press HOME button to leave Virtual Console.
3.- Open Homebrew Laucher (CIA installed).
4.- Press START button, press A to proceed to reboot and inmediately press the button you have assigned for Decrypt9 payload (example D-Pad up).*
5.- Select "SysNAND options".
6.- Select "Miscellaneus".
7.- Select GBA VC Save Inject
8.- The program will ask for permision to start the code with a combination of buttons than must be pressed sequencially (not all at the same time) and warning that it will be written in SysNAND (don't worry)
9.- Select the name your savedata has (Usually "gbavc.sav") and press A to restore.
10.- Press START button to reboot your console and check thesave is injected.

* I did NOT test trying to inject the saves with Decrypt9 as a Homebrew application, maybe someone can confirm if it works that way.

Relevant Notes
- This guide assumes you're using arm9lh to be able to launch Decrypt9 as an arm9 payload.
- I do not have information if this is viable for Homebrew Launcher-only users.
- You must repeat the method for each game you need to backup or restore.
- Your savedata files should be 32KB or 64KB depending on the game you backed.
- A savedata file of 0KB means the method was not adequately performed.
- It is important to NOT POWER OFF your console trying to make a shortcut, the data in the RAM memory will be wipped and the file generated will be 0KB and invalid.
- DO NOT modify savedata file names, I recommend to save them in folders named after the game that is backed.
- If you are an arm9lh user you can set Decrypt9 as a payload extracting the file "Decrypt9.bin" from the ZIP file to luma/payloads folder an renaming it with your keybinding (example "up_decrypt9.bin" without quotations).

Please feel free to point mistakes or redundant information in this guide. I wasn't able to find a direct reference about a guide using Decrypt9 other than the useful post included in the file Readme, so please feel free to point if I'm wrong.
I hope this is useful to all the noobs (like me) that are having trouble with this issue.
All the credits goes to the awesome developers working to make our systems better.
 
Last edited by JCCG1989,

JCCG1989

Well-Known Member
OP
Member
Joined
Jul 16, 2016
Messages
444
Trophies
0
Age
34
XP
368
Country
Mexico
I have several gba games, how i can know : which sav is it ?
Sorry for my bad english...
You will need to perfor the method foe each game you have, when the save game is generated, put your SD card in your pc go to the root, copy the savegame, create a folder with the name of the game and put the save there, that will help you to know where that save belongs.
 

Xyphoseos

Hack or no games
Member
Joined
Jun 29, 2016
Messages
1,833
Trophies
0
Age
23
Location
Rivière
XP
3,255
Country
France
You will need to perfor the method foe each game you have, when the save game is generated, put your SD card in your pc go to the root, copy the savegame, create a folder with the name of the game and put the save there, that will help you to know where that save belongs.
sorry but I don't understand...
 

JCCG1989

Well-Known Member
OP
Member
Joined
Jul 16, 2016
Messages
444
Trophies
0
Age
34
XP
368
Country
Mexico
Let say you're backing Advance Wars savedata, when you backup the save data of Advance Wars create a folder named "Advance Wars" in your PC and copy there the savedata file, that ways you can know the save inside there is for Advance Wars game, repeat for the rest of your games.
 
  • Like
Reactions: Xyphoseos

kid sampson

Well-Known Member
Member
Joined
Jul 20, 2006
Messages
329
Trophies
1
XP
886
Country
United States
Thanks. This post helped me import all of my saves except two: Yoshi's Island and Mario & Luigi Superstar Saga. Theses saves are weird in that they appear to be 8 kb when dumped. Decrypt9 says my file has been imported successfully but the game's original save is not replaced. Do these two have some weird save type that requires additional steps? Or do I need to apply some patch to the rom when making the cia?
 

JCCG1989

Well-Known Member
OP
Member
Joined
Jul 16, 2016
Messages
444
Trophies
0
Age
34
XP
368
Country
Mexico
Thanks. This post helped me import all of my saves except two: Yoshi's Island and Mario & Luigi Superstar Saga. Theses saves are weird in that they appear to be 8 kb when dumped. Decrypt9 says my file has been imported successfully but the game's original save is not replaced. Do these two have some weird save type that requires additional steps? Or do I need to apply some patch to the rom when making the cia?
I really have no information that could be useful, I've only tested 32 & 64Kbs savedatas.
 

kid sampson

Well-Known Member
Member
Joined
Jul 20, 2006
Messages
329
Trophies
1
XP
886
Country
United States
I really have no information that could be useful, I've only tested 32 & 64Kbs savedatas.

Thanks. Both of those work perfectly. And those that did not were solved by trimming the save. These two have me stumped. For now, I'll continue to play them on an emulator which loads my save file fine.
 

JMCV22

New Member
Newbie
Joined
Dec 9, 2016
Messages
1
Trophies
0
Age
28
XP
60
Country
Thanks. This post helped me import all of my saves except two: Yoshi's Island and Mario & Luigi Superstar Saga. Theses saves are weird in that they appear to be 8 kb when dumped. Decrypt9 says my file has been imported successfully but the game's original save is not replaced. Do these two have some weird save type that requires additional steps? Or do I need to apply some patch to the rom when making the cia?
The exact same problem happens with Minish cap which savefile appears as 8kb, and I simply can't get it to work even using the trimmer posted here, did you happen to find a solution for those games?. BTW thanks for the guide as it was usefull for other savefiles different than 8kb(namely 32kb and 64kb).
 

kid sampson

Well-Known Member
Member
Joined
Jul 20, 2006
Messages
329
Trophies
1
XP
886
Country
United States
The exact same problem happens with Minish cap which savefile appears as 8kb, and I simply can't get it to work even using the trimmer posted here, did you happen to find a solution for those games?. BTW thanks for the guide as it was usefull for other savefiles different than 8kb(namely 32kb and 64kb).

I never found a solution. I've just decided to continue my saves on my DS Lite for these two.
 

YaminoEndo

Member
Newcomer
Joined
Feb 17, 2015
Messages
16
Trophies
0
Age
36
Location
Salta, Argentina
XP
116
Country
Argentina
Thanks. This post helped me import all of my saves except two: Yoshi's Island and Mario & Luigi Superstar Saga. Theses saves are weird in that they appear to be 8 kb when dumped. Decrypt9 says my file has been imported successfully but the game's original save is not replaced. Do these two have some weird save type that requires additional steps? Or do I need to apply some patch to the rom when making the cia?

The exact same problem happens with Minish cap which savefile appears as 8kb, and I simply can't get it to work even using the trimmer posted here, did you happen to find a solution for those games?. BTW thanks for the guide as it was usefull for other savefiles different than 8kb(namely 32kb and 64kb).

kid sampson and JMCV22, I was having the same problem as you two, but in my case it worked perfectly. The game in particular was Minish Cap, the same as you JMCV22 so I can't confirm that this would work for you kid sampson because I could only test it with this one. What I did was this:

Origin: Console A - Destination: Console B

1) I made a fresh install of Minish Cap in Console B and started a new game with the same name in the same save slot as the one I have in Console A.
2) In Console A, I made a backup of my Minish Cap save, as the guide explains (although my backup was in a folder named files9 instead of the root of the SD).
3) I put my save in the root of my Console B's sd card (and created a folder named files9 and put the backup there too, just to be sure).
4) As the guide indicated I made the injection and VOILA!! It worked.

kid sampson, I know you said that although the injection was successful the original save was not replaced, so I guess this is either something that only will work with Minish Cap or something went wrong during the injection. As proof of my success I'm gonna add a few photos of both consoles running the game at the same time. The only difference you'll notice is in my rupees and shells, because I went to get some new figurines. Everything else is the same, even the amount of Kinstone pieces, for each different piece the same number on both games, so you know I'm not faking this. Here are the photos:

DSC_0764.jpg DSC_0766.jpg DSC_0767.jpg DSC_0768.jpg
 
Last edited by YaminoEndo,
  • Like
Reactions: JCCG1989

JCCG1989

Well-Known Member
OP
Member
Joined
Jul 16, 2016
Messages
444
Trophies
0
Age
34
XP
368
Country
Mexico
kid sampson and JMCV22, I was having the same problem as you two, but in my case it worked perfectly. The game in particular was Minish Cap, the same as you JMCV22 so I can't confirm that this would work for you kid sampson because I could only test it with this one. What I did was this:

Origin: Console A - Destination: Console B

1) I made a fresh install of Minish Cap in Console B and started a new game with the same name in the same save slot as the one I have in Console A.
2) In Console A, I made a backup of my Minish Cap save, as the guide explains (although my backup was in a folder named files9 instead of the root of the SD).
3) I put my save in the root of my Console B's sd card (and created a folder named files9 and put the backup there too, just to be sure).
4) As the guide indicated I made the injection and VOILA!! It worked.

kid sampson, I know you said that although the injection was successful the original save was not replaced, so I guess this is either something that only will work with Minish Cap or something went wrong during the injection. As proof of my success I'm gonna add a few photos of both consoles running the game at the same time. The only difference you'll notice is in my rupees and shells, because I went to get some new figurines. Everything else is the same, even the amount of Kinstone pieces, for each different piece the same number on both games, so you know I'm not faking this. Here are the photos:

View attachment 77797 View attachment 77798 View attachment 77799 View attachment 77800
Thank you so much for your report.
 

YaminoEndo

Member
Newcomer
Joined
Feb 17, 2015
Messages
16
Trophies
0
Age
36
Location
Salta, Argentina
XP
116
Country
Argentina
Thank you so much for your report.

It's the least I could do to give back a little to the community, it would've been very selfish on my part to keep the knowledge to myself. I don't know much of programing and that sort of stuff, but I had an idea so I decided to test it and I was very happy to make it work.

I've been reading a bit and I think the problem might originate in the particular nature of this games. Both Minish Cap and Yoshi's Island were games released for the 3DS VC, BUT only for people in the Ambassador Program. They no longer appear on the eShop, the only way to get them is through cia files or the FreeShop app, and even then you can't get them all there. In the FreeShop I only found 5 of the 10 GBA Ambassador Program games, Minish cap I got it via cia file. Now, you might be wondering, where did I get the idea to check that? Well, I noticed something very particular about this EP GBA games: these 5 games don't have their release dates under their names, unlike every other VC game.

That led me to notice something I hadn't before: there are no GBA games for the VC (I know, that was dumb from my part), except those from the EP games. I think that maybe there's something in the code of the games that gives these 8kb saves, so perhaps it'll work for Yoshi's Island. I will try to make some tests with the other games and see what happens. As for the case of Mario & Luigi Superstar Saga, there never was an official 3DS VC port, so this solution might not work, as kid sampson must be using a GBA rom converted to VC cia. Other than that I cannot offer any kind of solution, as I've said I lack the technical knowledge to make these awesome tools and guides the community creates.
 
  • Like
Reactions: JCCG1989

YaminoEndo

Member
Newcomer
Joined
Feb 17, 2015
Messages
16
Trophies
0
Age
36
Location
Salta, Argentina
XP
116
Country
Argentina
I never found a solution. I've just decided to continue my saves on my DS Lite for these two.

Thank you so much for your report.

I have some good news, especially for you kid sampson, my method did work with Yoshi's Island. But I must point out that I discovered something else, a fortunate mistake on my part. JCCG1989, your guide says specifically to reboot using Homebrew Launcher to not lose RAM during the creation of the backup and to do the same when injecting the save, and here is were my mistake comes into play. When I did my Minish Cap intection my HBL crashed and I completely forgot about what you said, so I turned off the console and turned it on on Decrypt9, made the injection and as you know it worked.

This time with Yoshi I was very careful to follow the guide... and three times one after the other the injection was "successful" but the save on Console B remained the same, as you said it had happened to you, kid sampson. So, remembering what had happened with Minish Cap, I followed the guide step by step, except that this time after closing Yoshi I turned off the console and turned it on on Decrypt9, made the injection and guess what? IT WORKED!

I did the same process with Metroid Fusion, one of the other GBA VC games, but this one did gave me a 32kb save file, which you said works. I think is something particular to two or three games out there. As with my first message, here are some photos to prove my success. I hope more people read this and can transfer their save files to their new consoles. The photos are one from before the injection and one after, for both games:

DSC_0773.jpg DSC_0774.jpg DSC_0776.jpg DSC_0777.jpg
 

JCCG1989

Well-Known Member
OP
Member
Joined
Jul 16, 2016
Messages
444
Trophies
0
Age
34
XP
368
Country
Mexico
I have some good news, especially for you kid sampson, my method did work with Yoshi's Island. But I must point out that I discovered something else, a fortunate mistake on my part. JCCG1989, your guide says specifically to reboot using Homebrew Launcher to not lose RAM during the creation of the backup and to do the same when injecting the save, and here is were my mistake comes into play. When I did my Minish Cap intection my HBL crashed and I completely forgot about what you said, so I turned off the console and turned it on on Decrypt9, made the injection and as you know it worked.

This time with Yoshi I was very careful to follow the guide... and three times one after the other the injection was "successful" but the save on Console B remained the same, as you said it had happened to you, kid sampson. So, remembering what had happened with Minish Cap, I followed the guide step by step, except that this time after closing Yoshi I turned off the console and turned it on on Decrypt9, made the injection and guess what? IT WORKED!

I did the same process with Metroid Fusion, one of the other GBA VC games, but this one did gave me a 32kb save file, which you said works. I think is something particular to two or three games out there. As with my first message, here are some photos to prove my success. I hope more people read this and can transfer their save files to their new consoles. The photos are one from before the injection and one after, for both games:

View attachment 77998 View attachment 77999 View attachment 78000 View attachment 78001
Do you main if I add that as a part of the guide?
 

YaminoEndo

Member
Newcomer
Joined
Feb 17, 2015
Messages
16
Trophies
0
Age
36
Location
Salta, Argentina
XP
116
Country
Argentina
Do you main if I add that as a part of the guide?

Be my guest, I want people to know about this so that they can continue to play their games.

I would like to point out something that I didn't said before: you HAVE to have a saved game on Console B for this to work. I did a test without it with both games and it never worked, at least for me.
 
Last edited by YaminoEndo,

zang_282

Member
Newcomer
Joined
Feb 13, 2017
Messages
11
Trophies
0
Age
27
XP
51
Country
Colombia
I'm trying to inject a save file from ´Zatch Bell Dream Tag Tournament', but I couldn't. I saw that the save file size is 1 kb!!! I followed the guide step by step but it wasn't succesfull.. Any idea how to do it? :( :( (I tried the Agbsave9 tutorial too but didn't result).
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: