N-EMU · Retro game emulatorv1.10.1
Development storiesPosted thorv1.2.0

Write in-game saves while playing

In-game saves used to reach their file only when the app went to the background or the game closed. From 1.2.0, the data is written after it stays unchanged for a second.

Closed beta testing

When a game saves, the save first lands in the emulator’s memory. Up to 1.1.2, the app copied that memory to the file only when it went to the background or you left the game. If the app stopped, the system ended it or the battery ran out in between, every save made since the last switch was lost.

GB and GBA were a little worse off. mGBA writes straight to the save file it keeps open, and after the app swapped that file for a new one, mGBA went on writing to the old, already deleted file. So after the first trip to the background, in-game saves on those systems also stopped reaching the file until the next switch.

In 1.2.0 the app asks each core every half second whether its save memory has changed. Once a change has held for a second, the save is written. A game can spread one save over several frames, so writing on every change would mean frequent writes and could leave a half-written save in the file. Opening the pause menu writes at once without waiting.

Files are written the same way as before: into a temporary file first, then swapped in all at once, so the previous save survives if the app stops mid-write. Writing happens only when the game saves, never every frame. PPSSPP writes its Memory Stick folder itself and keeps doing so.

A save can still be lost if the app stops within a second of it. Whether saves survive force-quitting the app mid-game on a real device has not been checked yet.

  1. Development storiesv1.0.7Closed beta testing

    Bringing in saves from other emulators

    A report said Nintendo DS saves from Delta could not be imported. We needed to check not only the file format but also which files N-EMU accepted.

  2. Development storiesv0.4.2Early development

    When you load the wrong save state

    Undo load lets you return to the moment you were playing, even after accidentally loading an older state.

Back to newsSystems and features