• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

SNES9x : Loading Save state overwrites SRAM ?

Scheduled Pinned Locked Moved Help and Support
save statessramsnes9x
8 Posts 5 Posters 6.4k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B
    BopCat
    last edited by 7 Feb 2017, 17:27

    Hi everyone,

    I encountered a very annoying issue yesterday : I've been playing Super Metroid on my retropie for more than a month (I'm using a PI 3 model B, with the latest software), regularly saving "normally" through the game. I was near the end of the game and I accidently loaded a save state that I made in the beginning, to test that feature. I thought it was no big deal, I immediately reset the game and as I arrived on the data screen, my progress had been lost : the save file was a very old one, one that was made the same day that I created the save state file. AFAIK, this behavior is not normal : SRAM and save states are two different things, and loading a save state file should not affect the SRAM in any way.

    Does anybody have any info on that issue ?

    reply

    B 1 Reply Last reply 7 Feb 2017, 17:31 Reply Quote 0
    • B
      BuZz administrators @BopCat
      last edited by BuZz 2 Jul 2017, 17:32 7 Feb 2017, 17:31

      @BopCat If you loaded a save state, and then did an in-game save - it will have overwritten your previous in-game progress - do you have another save state you can load from ?

      To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

      1 Reply Last reply Reply Quote 0
      • B
        BopCat
        last edited by 8 Feb 2017, 00:44

        I did not save in game when the save state was loaded, that is why this is so weird. I reset the game just after loading the state, didn't do anything else. Unfortunately, I don't have another save state, I was using the "real" save feature when playing the game.

        1 Reply Last reply Reply Quote 0
        • L
          lostless
          last edited by lostless 2 Aug 2017, 01:26 8 Feb 2017, 01:25

          I just had a similar issue with save states and SRAMs. I guess it depends on the game/emulator holds the sram in the save state. My game (castlevania circle of the moon on GBA) did not hold the sram in the save state, so when I accedently rewrote over, the last write to the sram was an old file. Retroarch by default only writes the sram to disk when you exit. Sounds like yours held the sram in the save state and when you loaded up an old save state, it wrote the turn current sram.

          My issue was posted here
          https://retropie.org.uk/forum/topic/7984/do-game-saves-not-write-to-file-during-the-actual-save/3

          1 Reply Last reply Reply Quote 0
          • C
            Capeman
            last edited by Capeman 2 Aug 2017, 15:02 8 Feb 2017, 14:59

            Loading an emulator save state will always load the srm battery data that was active at the time the emulator save state was created.

            This has been causing headaches since the zSNES / Nesticle days of the early 2000's... There is no way to prevent it, given the way old games were programmed, this is just the way it is. There is no fix that any developer can do to prevent it. Trying to maintain a battery backup and start at an earlier time via save state would confuse the hell out of the games programming since it was never intended to function that way.

            The only workaround is just to be careful. I find it's best not to use save state functionality in any game that uses srm battery backup, it always causes problems.

            Vector Artist, Designer and Maker of Stuff: Laser Cut Atari / Pixel Theme Bartop

            1 Reply Last reply Reply Quote 1
            • C
              Capeman
              last edited by 8 Feb 2017, 15:04

              What actually would be nice would be if the developers would integrate an "Erase all save states" into the optional function keys so you could clear out all states so an accidental loading of an older state wouldn't ruin a current saved game.

              Actually, this would make a nice feature request.

              Vector Artist, Designer and Maker of Stuff: Laser Cut Atari / Pixel Theme Bartop

              1 Reply Last reply Reply Quote 0
              • D
                dankcushions Global Moderator
                last edited by 8 Feb 2017, 15:30

                there is an undo save state/undo load state in retroarch. https://github.com/libretro/RetroArch/pull/3069

                so if you accidentally load an earlier save state, you should 'undo loads state' rather than quit. it's in the retroarch quick menu i believe.

                1 Reply Last reply Reply Quote 1
                • B
                  BopCat
                  last edited by BopCat 2 Aug 2017, 17:17 8 Feb 2017, 16:50

                  Capeman : thanks for clearing that up, I didn't know that this was how it has always worked.

                  dankcushions : I found the undo load state option but only after resetting and noticing the problem. It was obviously too late... well, now I know.

                  1 Reply Last reply Reply Quote 0
                  8 out of 8
                  • First post
                    8/8
                    Last post

                  Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                  Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.

                    This community forum collects and processes your personal information.
                    consent.not_received