Question on SNES Everdrive 'auto save'

Discussion in 'Super Everdrive' started by toshiba1, Aug 4, 2011.

  1. toshiba1

    toshiba1 Newly Registered

    Joined:
    Aug 3, 2011
    Messages:
    2
    Likes Received:
    0
    Regarding 'auto-save' ...

    If I'm playing Super Mario World and I save my game 'in game', and 10 seconds later I power the system off, is my game saved?

    Must I press the reset button and/or load another ROM to save the prior game?

    to ask another way, under what scenarios would 'auto save' NOT save my game?

    Thanks to the community and I'm SO excited to purchase a SNES flash cart!!! :)

    toshiba1
     
  2. exdeath

    exdeath Rising Member

    Joined:
    Jul 10, 2011
    Messages:
    59
    Likes Received:
    0
    The save data is saved and loaded with the associated rom image you have selected automatically. The save data will stay valid for the current flashed game virtually forever. You just treat it like a commercial cart. It's only when you flash a new game that it writes the contents of the save data to SD so that the save memory is available for the new game. When you go back to the previous game, the associated save data that was written to SD is automatically pulled back from SD card again into the save RAM.

    So if you play Super Mario World and save, the save ram will contain Super Mario World save data. If you put the cart away and come back 30 years later, the save data still contains Super Mario World. When you load Chrono Trigger, the save data for Super Mario World is saved to SD card and the save ram becomes Chrono Trigger data. When you go back to Super Mario World, the save ram is again saved to SD, this time for Chrono Trigger, and the one saved for Super Mario World is loaded in save ram again. Easy, no user interaction required.
     
    Last edited: Aug 4, 2011
  3. exdeath

    exdeath Rising Member

    Joined:
    Jul 10, 2011
    Messages:
    59
    Likes Received:
    0
    Speaking of save data, question for Krikzz:

    Saves are in ASAVE.DAT, first 64k are the index which contains rom name and header info every 32 bytes. If an entry is found that matches the loaded ROM, this is how SED knows there is save data and loads it. Each entry includes some header info from the matching rom including a checksum, so you can have multiple versions of the same name ROM (english+japanese) and SED knows the diff based on the checksum when they are the same name.

    Actual save data starts at 0x10000 and are all 32k in size and order is same order as index,
    so save_offset = index_num * 32k + 64k from start of ASAVE.DAT.

    0x00000:
    SUPER MARIO WORLD (save #1)
    ............................
    CHRONOTRIGGER......
    ............................ (save #2)

    0x10000:
    (32k save block for Super Mario World)

    0x18000:
    (32k save block for Chrono Trigger)

    There is enough room in the 64k header for 2048 index entries, but the rest of the size ASAVE.DAT from 0x10000 to end only allows for exactly 256 save slots.

    Again probably wanted a nice multiples of 32k or 64k to make FAT cluster size convenient and match FeRAM size.

    I just got my SED and heard that ASAVE.DAT would go away in V10 OS so I made sure I was familiar with extracting save data if needed when the time comes :)
     
    Last edited: Aug 4, 2011
  4. KRIKzz

    KRIKzz Well Known Member

    Joined:
    Apr 5, 2010
    Messages:
    1,672
    Likes Received:
    2
    i should look at my sources for be assured (cant keep all in mind), but all exactly as you say if i remember correctly.
     
  5. toshiba1

    toshiba1 Newly Registered

    Joined:
    Aug 3, 2011
    Messages:
    2
    Likes Received:
    0
    Thank you (exdeath) and others for the replies!
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page