SNES emulator save not working — SRAM deleted, won't save, or save file lost (bsnes-hd / Snes9x)

High4 solutions

SNES games with battery-backed save RAM (Zelda: A Link to the Past, Super Metroid, Final Fantasy VI, Chrono Trigger, Earthbound, and many others) store saves in a .srm file alongside the ROM. When this file is missing, misnamed, or in the wrong folder, your game starts fresh every time — appearing to "delete" your save.

Common symptoms that bring users here:

  • "My save file disappeared" — the game starts at the title screen with no save slots.
  • "SRAM keeps resetting every time I launch the game" — saves appear to work during a session but are gone on the next launch.
  • "I moved my ROMs folder and now saves are gone" — the emulator can no longer find the .srm because the ROM path changed.
  • "Save state loaded instead of SRAM" — save states and battery saves are different; accidentally loading a state after the battery save was deleted.

The most common cause is a filename mismatch: both bsnes-hd and Snes9x key the .srm file to the ROM's base filename. If the ROM file is renamed, the emulator creates a new empty .srm instead of loading the old one.

Last updated 1 week ago0 users reported this issue6
Sign in to interact

Solutions

solution #1529

verify-the-srm-file-exists-and-matches-the-rom-filename (sortOrder=1, isMostHelpful)

The most common cause of "missing saves" is a filename mismatch between the ROM and its .srm save file. Both bsnes-hd and Snes9x require the .srm to have the same base name as the ROM file.

  1. Find where the emulator saves files. In bsnes-hd: Settings → Configuration → Paths → Saves. In Snes9x: Options → Paths → Saves. Open that folder in File Explorer.
  2. Check that the .srm filename matches the ROM. If your ROM is The Legend of Zelda - A Link to the Past (USA).sfc, the save file must be The Legend of Zelda - A Link to the Past (USA).srm. The base filename must be identical.
  3. Rename the .srm if needed. If you renamed the ROM file at any point, locate the old .srm (it will still have the old name) and rename it to match the current ROM filename exactly.
  4. Reload the game. Close and reopen the emulator. The game should now load with your saves intact. If the saves folder contains multiple .srm files, make sure only one matches the current ROM filename.

If you cannot find the old .srm at all, search the entire drive for *.srm files using File Explorer's search bar — the file may still exist in an old ROMs folder.

solution #1530

set-a-dedicated-saves-folder-and-do-not-change-rom-locations (sortOrder=2)

If saves disappear whenever you move your ROMs folder, it is because the emulator is saving .srm files next to the ROM (the default for Snes9x), and they do not follow when you relocate the ROM. Setting a permanent dedicated saves folder prevents this.

  1. Create a permanent saves folder. For example: C:\Emulation\Saves\SNES\. This folder should not be inside your ROMs folder, so moving ROMs does not affect it.
  2. Set this folder in bsnes-hd. Go to Settings → Configuration → Paths → Saves → click Browse → select the folder you created → click OK.
  3. Set this folder in Snes9x. Go to Options → Paths → Saves → uncheck "Use ROM folder" → browse to your dedicated saves folder → OK.
  4. Move any existing .srm files into the new folder. Find *.srm files that were previously saved next to your ROMs and copy them to the new saves folder.
  5. Reload the game and verify the save loads. From now on, saves are always in the fixed folder regardless of where the ROMs live.

solution #1531

do-not-close-the-emulator-mid-game-before-an-in-game-save (sortOrder=3)

Battery SRAM saves (the in-game save system) are written to disk only when the emulator closes the ROM or exits. If you force-close the emulator mid-session without saving in-game first, the SRAM changes from that session are lost.

  1. Always save in-game before closing the emulator. Use the game's own save system (save rooms, save points, inns, etc.) before closing bsnes-hd or Snes9x. Do not rely solely on save states for long-term progress.
  2. Verify bsnes-hd writes on close (it should by default). Go to Settings → Configuration → Emulator → Save SRAM on close — ensure this is enabled. bsnes-hd saves SRAM to disk when you close the game or the emulator.
  3. In Snes9x, use File → Save SRAM manually if uncertain. If you are about to force-close and have not in-game saved, use File → Save SRAM to write the current SRAM state to disk before exiting.
  4. Do not use save states as your only backup. Save states contain the full emulator state (RAM, CPU, PPU) and are not portable between emulators. SRAM files are the correct long-term save format and are compatible with real hardware cart-writers.

solution #1532

recover-a-save-from-a-save-state (sortOrder=4)

If your SRAM file is lost but you have a save state from the same session, you can reload that state, immediately in-game save, and let the emulator write a new SRAM file.

  1. Load the game. Open the ROM in bsnes-hd or Snes9x. Ignore the blank save slots at the title screen.
  2. Load your save state. In bsnes-hd: File → Load State → Slot N (or press the slot's keyboard shortcut). In Snes9x: press the number key for the slot you saved (default: keys 1–9).
  3. Once in the game world, immediately use the in-game save system. Navigate to a save point, save room, or inn and save via the game's normal menu. This writes to the SRAM in RAM.
  4. Close the ROM cleanly. In bsnes-hd: File → Close. This writes the SRAM to disk as a new .srm file. Your save is now recovered.

This only works if a save state exists from a point after your last in-game save. If no states exist, the SRAM is unrecoverable unless you have a backup.

Experiencing a different problem?Report a new issue to help the community find solutions.

Comments (0)

No other comments yet. Be the first to share your thoughts.

Sign in to_leave_comment

On This Page