A year or two ago I was playing Final Fantasy VI in mGBA on Windows, and I had put the game down for like six months after saving. I'd reinstalled my OS since then, but I went ahead and put the .sav and rom into my folder and pointed a fresh mGBA at them.

It wouldn't load. I assumed at the time that this was a freak accident and something had messed up on my end, why wouldn't it be?

Cut to a couple months ago and I was playing Tactics Ogre: The Knight of Lodis (pre-squeakwuel to the greatest game of all time) on the Wii U version of Retroarch with the mGBA core, because 160p scales well to the gamepad screen. I got about eight hours in, saved both a .sav (I thought retroarch saved .srm?) and save state and set it down. Now just this week I pulled that save file from the SD card, hoping to check on it in mGBA on a Windoze machine.

Nothing, mGBA pretends it's not there.

For fun, I also tried booting it through GBArunner2 on a Twilightmenu DSi, openagbfirm on a New 3DS and the current desktop version of mGBA in Retroarch. None of these wanted to see it. Out of pure curiosity though I put the file back on the Wii U and it still reads fine. Okay.

Why are GBA save files like this? I understand savestates are proprietary but I've carried save files for other consoles (DS saves, SNES saves, PS1 saves) around to different systems and formats and not had an issue. At one point I took my Playstation Tactics Ogre save from Duckstation format to PCSX-ReArmed format to the weird proprietary format the PSP uses for PS1 Eboots, and then converted it back to Duckstation format and still had it load.

Yes these are all slightly different versions of mGBA but seriously, what kind of emulator breaks save compatibility every time it updates?

EDIT: My FFVI is cooked but I made headway on Knight of Lodis. The solution:

The .sav in your roms folder Retroarch makes is apparently a dummy file made for no reason. My beautiful better half discovered: if you go Retroarch -> Cores -> savefiles you will find the actual SRM files. I have loaded it on a peecee successfully after simply renaming it from .srm to .sav!

  • AernaLingus [any]
    ·
    22 hours ago

    Both of these files are lost causes, unfortunately. The save data portion (the first 23 KiB) of the FFVI save is all zeros besides 33 bytes at offset 0x1F00 containing the title of the game:

    FINAL FANTASY VI
         ADVANCE    
    

    I played through just enough of FFVI to generate a save file and it has that same text at the same offset, but obviously with some other data as well.

    The Tactics Ogre save is literally all zeros--nary a set bit in sight.

    As for why this happened, I'm sure there are a multitude of possibilities but I couldn't begin to speculate. Losing save data sucks and is super demoralizing--I'm really sorry this happened to you.

    If you ever want to poke around at the raw data of a save file yourself (or any file, really) you can toss it into a hex editor. ImHex is a nice open source option with dark mode which I started to use recently; it's got all kinds of bells and whistles but it also works just fine as a simple hex editor.

    There's one thing that did pique my curiosity, though:

    Out of pure curiosity though I put the file back on the Wii U and it still reads fine. Okay.

    If it's the exact Tactics Ogre save file that you uploaded, that doesn't make sense to me unless the old file was still there and it read that one instead. Could it be that it's simply not being transferred off of the SD card intact? Might be interesting to try to look at it in a hex editor directly on the SD card.

    • ashinadash [she/her]
      hexagon
      ·
      edit-2
      22 hours ago

      The Tactics Ogre save is literally all zeros--nary a set bit in sight.

      This is now in unhinged territory.

      I noticed this too because I went in with HxD to try to edit the last 16 bytes - all zeros. I copied it off of that Sandisk 32GB SD again - still all zeros. So I went and checked it on the Wii U Retroarch, where it still boots and shows my Knight of Lodis save.

      Why?

      I guess I could grab the SD and look at the data on the card, hang on - and HxD ALSO sees the save on the SD card as all fucking zeros. So either HxD and ImHex are goofballs or Retroarch can read a zeroed save file just fine. Somehow. I checked again btw and it still loads on the Wii U fine.

      EDIT: the .sav in the roms folder Retroarch makes is apparently a dummy file. My beautiful better half discovered: if you go Retroarch -> Cores -> savefiles you will find the actual SRM files. I have loaded it on a peecee, thank you for going back and forth with me about it.

      catgirl-peace

      • D61 [any]
        ·
        19 hours ago

        EDIT: the .sav in the roms folder Retroarch makes is apparently a dummy file.

        Well that's just f**kin rude!

        • ashinadash [she/her]
          hexagon
          ·
          18 hours ago

          It really is, like why tbh. Unserious emulator frontend.

      • AernaLingus [any]
        ·
        21 hours ago

        Yay, I'm glad you all figured it out! After I made that comment I was still thinking about it and started wondering if maybe this was a weird symlink situation or something, so I guess I wasn't too far off! And it's no problem: I genuinely love troubleshooting stuff.

        Happy gaming! doggirl-happy