Every once in a while, I get really into customizing my homebrew devices, and I think the latest Fire Red hype brought me back. I initially wanted something to just sync up my gba rom saves between my phone, 3ds and switch. The scope grew, and here we are! So far I've implemented:
Some limitations:
https://github.com/drippyday/SaveSync
- Switch and 3DS homebrew applications
- Customizable Delta / Dropbox sync with polling or manual sync
- Lightweight FastAPI Docker server using docker-compose as the server brain
- Web Admin UI for Desktop and Mobile for downloading, injecting and reverting to older saves
- Ability to "lock" a game so it doesn't get synced by Auto Sync
- Ability to "keep" any save file, so it doesn't get purged from history (and set how many prior saves you'd like to keep)
- Give display names to your roms and saves that syncs between all apps
- Can initiate uploads, downloads, and revert to old saves from any client or web page
- Conflict resolution so your saves are not overwritten if server and local diverged except when explicitly instructed
- Works for GBA, DS and GB/GBC saves
Some limitations:
- Current only .sav is supported for Delta / Dropbox Sync, but other formats should work if you just need to move them. between devices and no conversion necessary.
- I expect it would work for other emulators, as long as they use .sav! Only really tested on my workflow, which is:
- mGBA on Switch (for gba and gb/gbc)
- open_agb_firm and Twilight Menu++ on 3DS (for gba, nds and gb/gbc)
- Delta on iOS (for gba, ads and gb/gbc)
https://github.com/drippyday/SaveSync






