[HELP] Inject retroarch save to snes VC game

Discussion in '3DS - Homebrew Development and Emulators' started by toto9992, Mar 11, 2016.

  1. toto9992
    OP

    toto9992 GBAtemp Regular

    Member
    163
    15
    Sep 12, 2009
    France
    France
    Hi everyone !

    Is there a way to "inject" a .srm save file that I got from playing with retroarch CATsnes in the VC version of the game ?

    When I dump the save with JKSV from the VC game, I get 3 files : *.cfg, *.vea, *.ves.

    Any idea ?

    I tried to rename the save I got from JKSV and use them with an Snes emulator, but it doesn't work, so I guess we're screwed.
     
  2. MelonGx

    MelonGx GBAtemp Advanced Maniac

    Member
    1,630
    438
    Jan 8, 2009
    China
    Same problem here.
    *.VES has the most similar size as *.SRM.
    But when I try to replace *.VES with *.SRM by renaming, it still displays my uninjected game progress.
    Maybe the save is stored inside the *VEA?
     
    Last edited by MelonGx, Mar 12, 2016
    Xiphiidae likes this.
  3. 730
    This message by 730 has been removed from public view by BORTZ, Mar 22, 2016, Reason: Do not bump topics.
    Mar 14, 2016
  4. Columbo2811
    This message by Columbo2811 has been removed from public view by BORTZ, Mar 22, 2016, Reason: Do not bump topics.
    Mar 14, 2016
  5. 730
    This message by 730 has been removed from public view by BORTZ, Mar 22, 2016, Reason: Do not bump topics.
    Mar 16, 2016
  6. k1r92
    This message by k1r92 has been removed from public view by BORTZ, Mar 22, 2016, Reason: Do not bump topics.
    Mar 17, 2016
  7. 730
    This message by 730 has been removed from public view by BORTZ, Mar 22, 2016, Reason: Do not bump topics.
    Mar 19, 2016
  8. 730
    This message by 730 has been removed from public view by BORTZ, Mar 22, 2016, Reason: Do not bump topics.
    Mar 22, 2016
  9. AriusPrime

    AriusPrime Newbie

    Newcomer
    5
    6
    Mar 31, 2016
    United States
    I’ve tried to get my .srm file of A Link to the Past file to work with the 3DS's Virtual Console and no luck, here are my attempts.
    • Renaming .srm save file to .ves
    • Hex editing (.ves definatly contains the save because it is most similar to the .srm file.)
    • Renaming .zst file to .vew (save states)
     
    Last edited by AriusPrime, Mar 31, 2016
  10. hug0-a7x

    hug0-a7x GBAtemp Fan

    Member
    336
    82
    Jan 19, 2013
    Brazil
    Need a help too.
     
  11. Xiphiidae

    Xiphiidae [ˈzifɨˌdeɪ]

    Member
    2,034
    986
    Sep 13, 2009
    Australia
    I've tried doing this with Super Metroid and Earthbound (though from SNES9X, not retroarch), with the same results as you.

    This is definitely something that warrants some research.
     
    MelonGx likes this.
  12. ThomasRobertWade

    ThomasRobertWade GBAtemp Regular

    Member
    164
    20
    Oct 13, 2012
    I've done some testing using iHex, and I have discovered that the .ves file is the save file, but it has 48 extra bytes at the beginning. I copied everything but the first 48 bytes onto a blank file and saved it as a .srm, and I was able to use my 3DS VC save on an emulator. I tried doing the same thing, but the opposite way around (copying all the data from a .srm onto the .ves, leaving the first 48 bytes) and I put it back onto my New 3DS. It still wouldn't load the uninjected save. I tried a few things with the copy of the uninjected one I made, and I discovered that if the emulator I was using loaded the game from its automatic suspension point, it wouldn't load the save, and the file that you tried to load with gets automatically rewritten with the old file's data. I believe that the problem with the 3DS loading the saves is that it is loading from a suspension point, and that is overwriting the save with the one in the suspension point's memory. I also believe that the memory of the suspension point is kept in the .vea file, due to the size it has.
    I hope this can help anyone with a better knowledge than me to be able to improve upon what I have done.


    EDIT: I have been searching through the .vea file and I have found some data that exactly matches a save file. I tried using my own savedata and copied it in, like I did with the .ves, but it hasn't worked yet. However, I think I might be onto something.
     
    Last edited by ThomasRobertWade, Jun 26, 2016 - Reason: New information to add to the topic, and I didn't want to break the rules by double posting.
  13. Xiphiidae

    Xiphiidae [ˈzifɨˌdeɪ]

    Member
    2,034
    986
    Sep 13, 2009
    Australia
    It's possible that those first 48 bytes contain checksum information or the secure value.

    Still, good work, hopefully something will come of it.
     
  14. ThomasRobertWade

    ThomasRobertWade GBAtemp Regular

    Member
    164
    20
    Oct 13, 2012
    I'm pretty sure that it's to do with the emulator loading stuff at an automatic suspension point, because I had the same issue with Snes9x originally on my Macbook. It's probably something in the .vea file, because there is so much in there. I'm not really sure myself. This is the first I've really done any Hex editing without following some sort of tutorial, and it was more for curiosity than anything else. I'm glad I was of some use.
     
  15. hug0-a7x

    hug0-a7x GBAtemp Fan

    Member
    336
    82
    Jan 19, 2013
    Brazil
    waiting the specialist
     
  16. Nirmonculus

    Nirmonculus GBAtemp Advanced Fan

    Member
    646
    145
    Nov 4, 2014
    Bump. I need to transfer my saves as well XD
     
  17. Stremon

    Stremon GBAtemp Regular

    Member
    111
    30
    Sep 30, 2014
    France
    Nerima, Tokyo
    After some testing, I realize that when I copy my save data into the *.vea and *.ves files, the VC emulator reset both the save and save state, making them blank.
    I also tried to fill those 3 files with random hexadecimal data, and it does the same, just resetting the game and the data...
    I guess the emulator has some kind of checksum at startup to avoid crash in case of data corruption...
     
  18. hippy dave

    hippy dave Butts Butts Megabutts

    Member
    2,567
    1,790
    Apr 30, 2012
    Yeah I couldn't get save injection working. My only other idea was to try to inject it into ram with ntr, but I don't think I got going with it.
     
  19. SG6000

    SG6000 GBAtemp Regular

    Member
    241
    90
    Nov 2, 2015
    I tried to solve this issue as well - and tried everything suggested without any luck.

    I think the moral of the story is simply not to play any lengthy / involved games on Snes VC if you think you might want to transfer your save file to another emulator or platform.

    SNES VC is like a gilded, low-volume, maximum security prison for your save files. And your saves are stuck in there for life.
     
  20. Stremon

    Stremon GBAtemp Regular

    Member
    111
    30
    Sep 30, 2014
    France
    Nerima, Tokyo
    To be fair you can actually start a game on the VC then export the save to an emulator, but sadly not the other way around :(
    It's annoying since you can actually do it quite easily on the GB/GBC VC games, but the file system is totally different...
     
  21. SG6000

    SG6000 GBAtemp Regular

    Member
    241
    90
    Nov 2, 2015
    Oh you can? That's good to know. My attempts to export failed, and my more serious and time consuming attempts to import failed as well.

    I've also run into some general and compatibility issues that aren't present in Catsfc (graphic glitches mainly but some sound ones too) with playing games I know well on the Snes VC, so all of that coupled with the low audio output has pretty much cooled things with this particular official emulator.
     
  22. Stremon

    Stremon GBAtemp Regular

    Member
    111
    30
    Sep 30, 2014
    France
    Nerima, Tokyo
    yep, watch here: ;)
    https://gbatemp.net/threads/how-to-extract-snes-virtual-console-saves-from-3ds-to-pc.433063/

    Same thing for me, I was just trying to make it work for the button layout and the low input latency, but I am about to give up and go back to emulate it on my Android game device :P
     
    Last edited by Stremon, Nov 28, 2016