Save sync support by platform¶
Save sync works per game: when a game is installed, its save is uploaded to RomM and pulled back before launch, so you can carry on across devices. Standard cartridge saves work automatically. A few consoles store saves differently β this page shows what syncs for each system today, and what's planned.
How reliable is this page?¶
Tender no longer decides what a save is from a table like this one. It asks your machine, per game and per the emulator that will launch it, every time it syncs β so the answer follows your actual core choice and your actual core options rather than a row written in advance. This page is now background reading: it explains why a platform behaves the way it does, and Tender's own answer is what governs.
Two things still matter when you read a row:
- A β often means "not with the settings that ship", not "impossible". Several cores can write per-game saves if you change a core option β the rows below say which. Turning that on is not yet something Tender does for you, but it does now notice: change the option and the next sync reads the new answer.
- Rows are stated for each platform's default core. You can override the core per system and per game, and a
different core can behave differently β which is exactly why Tender asks per game. A save written beside the game file
(usually RetroArch's
savefiles_in_content_dir) keeps save sync off, and that is reported separately.
Most of this table is derived from libretro's documentation and from reading core source, not from watching each core write a save. Where the emu-atlas audit has corrected an earlier assumption, this page reflects the audit.
When save sync does nothing, and why¶
Where Tender cannot carry a game's saves, it says so when you start a sync yourself: Sync Save Files, a slot switch, copying a save to another slot and restoring an older version all answer with the reason. The sync before a game starts and the one after it exits pass such a game over without a message, and Sync All Saves Now counts it among the games whose saves cannot be synced. A downloaded game's Saves tab is marked with a warning beside its title and gives the reason in place of its save slots, whether or not a slot was set up for it before; a game that is not downloaded says whether its saves will sync once it is, or that this could not be established. There are five reasons, and they mean different things:
- The emulator keeps one save card that all games share. Standalone PCSX2 is the common case. Syncing it per game would copy other games' progress onto this one's record, so Tender leaves it alone.
- The save is written inside the game file itself. There is no separate file to carry.
- The emulator files saves under the game's own identity, which Tender cannot read yet β in the file name, for Dreamcast and GameCube alike. Dreamcast, GameCube, Nintendo 3DS and Wii U are here.
- Where the emulator saves depends on the folder the game is started from. RetroArch does this when its save folder is set as a relative path. Tender cannot tell which folder that is, so it leaves such a game alone.
- What the emulator writes could not be established β either nobody has audited that core yet, or the folder is known and the names inside it are not.
None of these is an error, and none of them stops a game launching. If you change the emulator for a game, the answer is read again for the new one.
Categories¶
| Meaning | |
|---|---|
| β | Synced today. Your saves for this system carry across devices automatically. A few systems answer differently for a disc image than for a raw dump β where that is so, the note says which file gets you the per-game save. |
| π | Planned. This save type isn't synced yet, but it fits the model and is on the way in a future release. |
| β | Not synced yet. This system's default core writes a shared card (one file for many games), keeps saves outside the per-game save folder, or hasn't been pinned down yet β so it doesn't fit per-game sync today. Handled differently in a later release. |
| βͺ | No save data. This system's emulator has no in-game save to sync (you can still use save states locally). |
What syncs today β ¶
Standard per-game cartridge saves sync automatically. That covers the large majority of systems β Nintendo (NES, SNES, Game Boy / Color / Advance, N64, DS), Sega (Master System, Game Gear, Genesis / Mega Drive), PC Engine / TurboGrafx, WonderSwan, Atari Lynx, Virtual Boy, and more.
Sega CD depends on your game file. A raw .bin dump saves per game and syncs; a .chd, .cue or .iso disc image
puts the save on a shared BRAM card that all your Sega CD games write to, which cannot be carried per game. Amiga is the
same story with different answers: a .chd CD32 image saves per game, while an .adf floppy writes into the disk image
itself, a .lha names a WHDSaves folder whose contents the core does not list, and an .hdf hard-disk image cannot
be established at all.
3DO and Neo Geo keep their saves in a subfolder of the emulator's own β saves/3do/opera/per_game and
saves/neogeo/fbneo β and Tender now looks there, because it takes each game's save folder from the emulator rather
than working it out itself. That has not yet been observed on a device.
3DO saves were not backed up by earlier versions
3DO once showed as β
on the assumption that the Opera core writes a plain <game>.srm into the save folder. It
does not: Opera writes its NVRAM to opera/per_game/ with a version number in the filename, and earlier versions
of Tender never looked there. If you played 3DO games with an earlier version, those saves were never uploaded
to RomM. This version looks where Opera writes them, which has not yet been observed on a device β check that
your 3DO saves reach RomM before relying on it.
The systems whose default core has been watched writing a save on a stock RetroDECK install are Game Boy / Color /
Advance, N64, Saturn, Neo Geo Pocket (Color) and PokΓ©mon Mini. The rest of the β
rows follow the same standard .srm
convention and are expected to behave identically, but haven't been observed one by one.
Coming soon π¶
Per-game saves for these systems fit the sync model and are planned for a future release:
| System | Notes |
|---|---|
| PlayStation | Memory-card saves. The cores write them per game, but under a name Tender doesn't probe yet. |
A few less-common systems (some DOS, PICO-8, ST-V) may also gain support pending confirmation.
Not synced yet β¶
These systems' default cores write a shared card β a single file holding the saves for all your games β keep saves outside the per-game save folder, or haven't been pinned down yet. A shared card can't be split per game without risking other games' saves, so it doesn't fit per-game sync today. We're looking at safe ways to handle these in a future release.
| System | Why it doesn't sync today |
|---|---|
| Dreamcast | Flycast ships with Per-Game VMUs off, so every game shares vmu_save_A1.bin and its siblings in RetroDECK's system folder. The core can write per-game VMUs; the names it uses then aren't pinned down yet. |
| PlayStation 2 | The LRPS2 core ships with shared memory cards on (Mcd001.ps2 / Mcd002.ps2). With that option off it writes one <game>.ps2 card per game β which would fit per-game sync. The PCEE2 core always writes shared cards, in the same folder. |
| GameCube / Wii | RetroDECK runs both on Dolphin (Standalone). Wii: the save folder is known, not which title folder is the game's. GameCube: the card path holds a region placeholder, and the GCI files are not named after the game. |
| Neo Geo CD | Ships writing one shared save. The core has a per-content mode; which one wins when loading isn't confirmed. |
| Nintendo 3DS | The Azahar core appears to use its own save subtree. Not confirmed on-device yet. |
| PSP | Where the PPSSPP core keeps its saves, and whether they are per game, hasn't been established. |
| Arcade (MAME) | NVRAM is stored separately by the emulator, not as a file named after your ROM. |
| Amiga | PUAE keeps an .adf floppy's save inside the disk image itself, so there is no separate file to carry. A .lha names a WHDSaves folder whose contents the core does not list, and an .hdf is not answered at all. |
No save data βͺ¶
Many computer, arcade, and homebrew systems have no in-game battery save at all β there's simply nothing to sync (save states still work locally). See the full table for specifics.
Full platform list¶
Every platform (149)
Status of each platform's default emulator core. Some platforms offer alternative cores that may behave differently.
| Platform | Status | Notes |
|---|---|---|
amiga |
β | An .adf floppy keeps the save inside the disk image; a .lha names a folder whose contents the core does not list; an .hdf is not answered |
amstradcpc |
β | Not synced |
apple2 |
β | Saves are stored separately by the emulator (MAME) |
apple2gs |
β | Saves are stored separately by the emulator (MAME) |
arcade |
β | Saves are stored separately by the emulator (MAME) |
arcadia |
β | Saves are stored separately by the emulator (MAME) |
astrocde |
β | Saves are stored separately by the emulator (MAME) |
atomiswave |
β | Shared VMU card (Flycast default; the core has a per-game mode) |
consolearcade |
β | Saves are stored separately by the emulator (MAME) |
cps |
β | Saves are stored separately by the emulator (MAME) |
cps1 |
β | Saves are stored separately by the emulator (MAME) |
cps2 |
β | Saves are stored separately by the emulator (MAME) |
cps3 |
β | Saves are stored separately by the emulator (MAME) |
crvision |
β | Saves are stored separately by the emulator (MAME) |
daphne |
β | Saves are stored separately by the emulator (MAME) |
doom |
β | Not synced |
dreamcast |
β | Shared VMU card (Flycast default; the core has a per-game mode) |
easyrpg |
β | Not synced |
fmtowns |
β | Saves are stored separately by the emulator (MAME) |
gamate |
β | Saves are stored separately by the emulator (MAME) |
gameandwatch |
β | Saves are stored separately by the emulator (MAME) |
gamecom |
β | Saves are stored separately by the emulator (MAME) |
gc |
β | Dolphin (Standalone): the card path holds a region placeholder, and the GCI files are not named after the game |
gmaster |
β | Saves are stored separately by the emulator (MAME) |
gx4000 |
β | Not synced |
laserdisc |
β | Saves are stored separately by the emulator (MAME) |
lcdgames |
β | Saves are stored separately by the emulator (MAME) |
mame |
β | Saves are stored separately by the emulator (MAME) |
mess |
β | Not synced |
model2 |
β | Saves are stored separately by the emulator (MAME) |
n3ds |
β | Azahar core's own save subtree β not confirmed on-device |
naomi |
β | Shared VMU card (Flycast default; the core has a per-game mode) |
naomi2 |
β | Shared VMU card (Flycast default; the core has a per-game mode) |
naomigd |
β | Shared VMU card (Flycast default; the core has a per-game mode) |
neogeocd |
β | Shared save (the core has a per-content mode) |
neogeocdjp |
β | Shared save (the core has a per-content mode) |
ps2 |
β | Shared memory card by default (LRPS2), always (PCEE2); per-game <game>.ps2 available as an LRPS2 core option |
psp |
β | Where the PPSSPP core keeps its saves is not established |
pv1000 |
β | Saves are stored separately by the emulator (MAME) |
scummvm |
β | Not synced |
scv |
β | Saves are stored separately by the emulator (MAME) |
supracan |
β | Saves are stored separately by the emulator (MAME) |
vsmile |
β | Saves are stored separately by the emulator (MAME) |
wii |
β | Dolphin (Standalone): the save folder is known, not which title folder in it is the game's |
x68000 |
β | Not synced |
amiga1200 |
π | Planned |
amiga600 |
π | Planned |
atarijaguar |
π | Planned |
cdimono1 |
π | Under review |
cdtv |
π | Planned |
dos |
π | Planned |
pc |
π | Planned |
pico8 |
π | Planned |
psx |
π | Planned |
quake |
π | Planned |
saturnjp |
π | Planned |
stv |
π | Planned |
wasm4 |
π | Under review |
windows3x |
π | Planned |
windows9x |
π | Planned |
3do |
β | Per-game NVRAM in the Opera core's own opera/per_game/ subfolder β not yet observed on a device |
amigacd32 |
β | A .chd disc image saves per game; a raw .bin is not answered |
atari2600 |
β | Synced |
c64 |
β | Synced |
famicom |
β | Synced |
fbneo |
β | Synced |
fds |
β | Synced |
gamegear |
β | Synced |
gb |
β | Synced |
gba |
β | Synced |
gbc |
β | Synced |
genesis |
β | Synced |
mark3 |
β | Synced |
mastersystem |
β | Synced |
megacd |
β | A raw .bin dump saves per game; a disc image uses a shared BRAM card |
megacdjp |
β | A raw .bin dump saves per game; a disc image uses a shared BRAM card |
megadrive |
β | Synced |
megadrivejp |
β | Synced |
megaduck |
β | Synced |
multivision |
β | Synced |
n64 |
β | Synced |
n64dd |
β | Synced |
nds |
β | Synced |
neogeo |
β | Per-game saves in the FinalBurn Neo core's own fbneo/ subfolder β not yet observed on a device |
nes |
β | Synced |
ngp |
β | Synced |
ngpc |
β | Synced |
pc88 |
β | Synced |
pcengine |
β | Synced |
pcenginecd |
β | Synced |
pcfx |
β | Synced |
plus4 |
β | Synced |
pokemini |
β | Synced |
satellaview |
β | Synced |
saturn |
β | Synced |
sega32x |
β | Synced |
sega32xjp |
β | Synced |
sega32xna |
β | Synced |
segacd |
β | A raw .bin dump saves per game; a disc image uses a shared BRAM card |
sfc |
β | Synced |
sg-1000 |
β | Synced |
sgb |
β | Synced |
snes |
β | Synced |
snesna |
β | Synced |
sufami |
β | Synced |
supergrafx |
β | Synced |
supervision |
β | Synced |
tg-cd |
β | Synced |
tg16 |
β | Synced |
tic80 |
β | Synced |
vic20 |
β | Synced |
virtualboy |
β | Synced |
wonderswan |
β | Synced |
wonderswancolor |
β | Synced |
arduboy |
βͺ | No save data |
atari5200 |
βͺ | No save data |
atari7800 |
βͺ | No save data |
atari800 |
βͺ | No save data |
atarilynx |
βͺ | No save data |
atarist |
βͺ | No save data |
atarixe |
βͺ | No save data |
bbcmicro |
βͺ | No save data |
chailove |
βͺ | No save data |
channelf |
βͺ | No save data |
colecovision |
βͺ | No save data |
fba |
βͺ | No save data |
intellivision |
βͺ | No save data |
j2me |
βͺ | No save data |
lowresnx |
βͺ | No save data |
lutro |
βͺ | No save data |
moto |
βͺ | No save data |
msx |
βͺ | No save data |
msx1 |
βͺ | No save data |
msx2 |
βͺ | No save data |
msxturbor |
βͺ | No save data |
odyssey2 |
βͺ | No save data |
palm |
βͺ | No save data |
pc98 |
βͺ | No save data |
ports |
βͺ | No save data |
spectravideo |
βͺ | No save data |
to8 |
βͺ | No save data |
uzebox |
βͺ | No save data |
vectrex |
βͺ | No save data |
videopac |
βͺ | No save data |
vircon32 |
βͺ | No save data |
x1 |
βͺ | No save data |
zmachine |
βͺ | No save data |
zx81 |
βͺ | No save data |
zxspectrum |
βͺ | No save data |
Coverage is reviewed against the emulator cores RetroDECK ships. Most rows still await on-device confirmation; see How reliable is this page? above. Last reviewed 2026-08-02, against the emu-atlas core audit as of 2026-07-24.