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

Discussion in '3DS - Flashcards & Custom Firmwares' started by JCCG1989, Oct 30, 2016.

  1. JCCG1989
    OP

    JCCG1989 GBAtemp Fan

    Member
    434
    188
    Jul 16, 2016
    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, Oct 30, 2016


  2. Xyphoseos

    Xyphoseos Hack or no games

    Member
    905
    79
    Jun 29, 2016
    France
    Rivière
    I have several gba games, how i can know : which sav is it ?
    Sorry for my bad english...
     
  3. JCCG1989
    OP

    JCCG1989 GBAtemp Fan

    Member
    434
    188
    Jul 16, 2016
    Mexico
    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.
     
  4. Xyphoseos

    Xyphoseos Hack or no games

    Member
    905
    79
    Jun 29, 2016
    France
    Rivière
    sorry but I don't understand...
     
  5. JCCG1989
    OP

    JCCG1989 GBAtemp Fan

    Member
    434
    188
    Jul 16, 2016
    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.
     
    Xyphoseos likes this.
  6. carls

    carls Newbie

    Newcomer
    4
    3
    Apr 2, 2016
    Indonesia
    emuashui and KunoichiZ like this.
  7. Bryon15

    Bryon15 GBAtemp Maniac

    Member
    1,160
    108
    Aug 9, 2010
    United States
    united states
  8. JCCG1989
    OP

    JCCG1989 GBAtemp Fan

    Member
    434
    188
    Jul 16, 2016
    Mexico
  9. kid sampson

    kid sampson GBAtemp Regular

    Member
    243
    13
    Jul 20, 2006
    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?
     
  10. JCCG1989
    OP

    JCCG1989 GBAtemp Fan

    Member
    434
    188
    Jul 16, 2016
    Mexico
    I really have no information that could be useful, I've only tested 32 & 64Kbs savedatas.
     
  11. kid sampson

    kid sampson GBAtemp Regular

    Member
    243
    13
    Jul 20, 2006
    United States
    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.
     
  12. JMCV22

    JMCV22 Newbie

    Newcomer
    1
    0
    Dec 9, 2016
    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).
     
  13. kid sampson

    kid sampson GBAtemp Regular

    Member
    243
    13
    Jul 20, 2006
    United States
    I never found a solution. I've just decided to continue my saves on my DS Lite for these two.
     
  14. YaminoEndo

    YaminoEndo Newbie

    Newcomer
    9
    2
    Feb 17, 2015
    Argentina
    Salta, Argentina
    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, Feb 10, 2017
    JCCG1989 likes this.
  15. JCCG1989
    OP

    JCCG1989 GBAtemp Fan

    Member
    434
    188
    Jul 16, 2016
    Mexico
    Thank you so much for your report.
     
  16. YaminoEndo

    YaminoEndo Newbie

    Newcomer
    9
    2
    Feb 17, 2015
    Argentina
    Salta, Argentina
    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.
     
    JCCG1989 likes this.
  17. YaminoEndo

    YaminoEndo Newbie

    Newcomer
    9
    2
    Feb 17, 2015
    Argentina
    Salta, Argentina
    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
     
  18. JCCG1989
    OP

    JCCG1989 GBAtemp Fan

    Member
    434
    188
    Jul 16, 2016
    Mexico
    Do you main if I add that as a part of the guide?
     
  19. YaminoEndo

    YaminoEndo Newbie

    Newcomer
    9
    2
    Feb 17, 2015
    Argentina
    Salta, Argentina
    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, Feb 11, 2017
  20. zang_282

    zang_282 Member

    Newcomer
    11
    0
    Feb 13, 2017
    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).