Skip to content

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.