Need Help With GBA VC Save Inject

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by twosidea, Oct 3, 2016.

  1. twosidea
    OP

    twosidea Newbie

    Newcomer
    4
    0
    Oct 3, 2016
    Malaysia
    I've searched high and low, wasted hours to look for a solution.

    I have A9LH and Luma3DS installed, with Decrypt9 available by pressing down while booting up. I wanted to inject my Yggdra Union GBA save into it's respective VC file. I boot into Decrypt9, I'm able to dump the VC save file, but it won't detect my original GBA save file. I realized that the dumped VC save file is 32KB while the original GBA save is only 8KB. I also ran a check with Decrypt9 for the keys, I don't have slot0x24keyY in the system.
     
    Last edited by twosidea, Oct 3, 2016
  2. lasercut

    lasercut Member

    Newcomer
    19
    4
    Oct 13, 2011
    United States
    1. check if you have the aeskeydb.bin from part 3 of Plailect's guide in the root of you SD card or your files9 folder
    2. copy the save file you wish to inject in to files9 folder and name it gbavc.sav
    2. start the gba game that you wish to inject the save into
    3. wait until the game reaches the title scren, then press home button and exit to 3ds home menu (do not power off the 3ds after this)
    4. go into system settings
    5. exit system settings using the touch screen (this will cause the 3ds to reboot), then quickly hold the button associated with decrpyt9 to boot it
    6. go to sysnand settings and inject the gbavc.sav

    If the above steps do not work, you can follow the steps below:

    Required files:
    Yggdra Union gba rom
    Yggdra Union VC cia


    Agbsave9 (requires python 3):
    https://gbatemp.net/threads/pre-release-agbsave9-tool-to-extract-agb_firm-saves.410684/
    Ultimate GBA VC Injector:
    http://gbatemp.net/threads/release-ultimate-gba-vc-injector-for-3ds.438057/

    1. Download both agbsave9 and gba vc injector
    2. open up gba vc injector and load the Yggdra Union rom
    3. the injector should be able to determine the save type of the rom. Note down the type (either SRAM, Flash or EEPROM)
    4. close and reopen the gba injector. This time load the Yggdra cia then click next step.
    5. note down the title id of the cia then add two zeros on either side of the id (e.g. if the title id is E123, then write down 00E12300)
    6. in the agbsave9 zip there should be a folder called agb_inject
    7. copy the save file you wish to inject into agb_inject folder and name it "yusave.sav" (without quotes)
    8. double click gen_rom.py
    9. for the save's name type "yusave.sav" (without quotes)
    10. output cia type "yusave.cia" (without quotes)
    11. for the save type, use the number corresponding to the save type you noted down in step 4 (SRAM = 0, Flash = 1, EEPROM = 2)
    12. the title id is the one you wrote down in step 5, in this case it's 00E12300
    13. now you should have a cia file in the agb_inject folder called yusave.cia
    14. uninstall Yggdra Union game on your 3ds using via system settings then install the yusave.cia from step 13. You should have a gba game called test on the home menu
    15. run the gba test game and wait until "AGB_FIRM save injector" appears. Then exit the game.
    16. go into Ninteno 3DS/[random number folder]/[another random number folder]/title/0040000 folder on your 3ds sd card
    17. find the folder with the same title id as the one you noted down in step 5 (in this example it's 00e12300)
    18. copy the data folder inside the title id folder and place it somewhere safe
    19. delete the test gba game and resinstall yggdra union cia
    20. repeat steps 16 and 17
    21. copy the data folder from step 18 into the title id folder again

    your save file should be injected into the game
     
    Last edited by lasercut, Oct 3, 2016
  3. twosidea
    OP

    twosidea Newbie

    Newcomer
    4
    0
    Oct 3, 2016
    Malaysia
    Thanks for the help! I'll try this whenever I can.

    EDIT: Tried running the steps as stated. Got stuck at converting the sav file into a cia using AGBsave9. After executing the Python file using Python 3 and placing the required data, it immediately closes and no cia file was generated in the agbinject folder.

    EDIT 2: Had to download an old release of AGBsave9 (1.0), generated the cia file successfully! Will have to push this endeavor for another day, work calls.

    EDIT 3: Carried out all the steps. The save data is not readable by the game. Booted up the game and there's no "Load" option. Could this have to do with the fact that the original GBA save is US region while the VC is EUR region?
     
    Last edited by twosidea, Oct 5, 2016
  4. twosidea
    OP

    twosidea Newbie

    Newcomer
    4
    0
    Oct 3, 2016
    Malaysia
    I carried out the steps multiple times but the game does not load my save, or recognize any save at all. I attached an image of how I generated the cia file.

    EDIT: Apparently the save file that the VC needed was a SRAM type. Seems to be a bug amongst a few EEPROM games. Fixed and finally got the save loaded!
     

    Attached Files:

    Last edited by twosidea, Oct 5, 2016