Skip to main content

Retro Emulation Across Devices With Synced Saves

·2 mins

I wanted one retro emulation setup for GBA, NES, SNES, N64, and PS1, ideally with saves syncing across iOS, Android, and macOS.

The short answer: RetroArch is the most cohesive option, but sync normal in-game saves, not save states.

Current Pick #

RetroArch is not the prettiest emulator frontend, but it is available almost everywhere and supports the systems I care about:

  • NES
  • SNES
  • GBA
  • N64
  • PS1
  • iOS
  • Android
  • macOS

Recommended starting cores:

  • NES: FCEUmm or Nestopia
  • SNES: Snes9x
  • GBA: mGBA
  • PS1: PCSX ReARMed on iOS, Beetle PSX HW where supported
  • N64: Mupen64Plus-Next, with iOS performance as the main weak spot

PS1 Import Notes #

I first tried Manic EMU because it showed a PS1 core, Beetle PSX HW, in its menu. Importing a PS1 .bin file did not classify correctly, and importing the .cue also errored.

For PS1, the .cue file is usually the file to load. It describes the disc layout and points to the .bin data file:

FILE "Game Name.bin" BINARY
  TRACK 01 MODE2/2352
    INDEX 01 00:00:00

The .cue and .bin must be together, and the filename inside the .cue must exactly match the real .bin filename. Some games also have multiple .bin tracks, and all of them need to be present.

PS1 may also require BIOS files, commonly:

scph5500.bin
scph5501.bin
scph5502.bin

Save Sync #

The safest sync target is the RetroArch save files directory, not the save state directory.

Sync these kinds of files:

.srm
.sav
.mcr
.mcd

Avoid syncing save states unless every device uses the same core and very similar RetroArch versions. Save states are emulator snapshots, so they are much more fragile across devices.

MEGAsync should work well for macOS, Windows, and Android if RetroArch can point its save directory to a locally synced MEGA folder. iOS is the difficult platform because apps usually cannot freely write to arbitrary third-party cloud folders. For iOS + macOS, iCloud Drive may be smoother.

The rule is simple: save in-game, close RetroArch, wait for sync, then continue on the other device.

Practical Setup #

My current target setup:

  • Use RetroArch everywhere.
  • Keep ROM filenames identical across devices.
  • Use the same core per system where possible.
  • Point RetroArch save files to a synced folder.
  • Use MEGA for macOS, Android, and Windows when available.
  • Use iCloud Drive as the fallback for iOS + macOS.
  • Avoid save state sync.

This is not a perfect one-click setup, but it is the most portable path I found for a multi-system retro library with cross-device saves.