[Experimental] Synchro - Sync saves to your phone and back

Hi All,

I got sick of manually syncing my saves between my phone and computer so I’ve worked up a script to automate the process. Theoretically you should be able to play on your phone, sync, pick up on your PC, sync, pick up where you left off again on your phone without any sort of user interaction besides plugging your phone into your PC. Things you should know:

  1. This software is currently in an experimental, pre-alpha state. Before you do anything make sure to make backups of your saves and approach this knowing you may be helping me test this software.

  2. I have only tested with an iPhone and PC. It should theoretically work with Android phones and anything else you can mount with a lettered-drive to your PC. However, based on the shoddiness of the iPhone drivers, it’s equally possible you’ll end up with unreadable saves so approach with caution.

  3. I do not have a lot of time right now due to personal and professional commitments, but I will do my best to fix issues as soon as I can.

  4. I am not a programmer and the source developed rapidly as I came across iPhone driver issues, so it could probably use a refactor.

From the Read Me:

Warning: This is experimental (pre-alpha) software. Make a backup of any saves you plan to use with this software and carefully read the directions before proceeding. By using this software you agree that I am not responsible should something bad happen to your saves or system.

What is Syncro? Synchro is a an automated way to sync saved games on your iPhone (or theoretically other portable devices) with those on your home PC. This allows you to play a game on your portable, sync, pick up on your PC, sync, and then pick up again on your portable, etc.

Download: Synchro.zip

Features: -Automated, periodic scanning and syncing of the save folders on your portable device and PC for new or updated files (*only saves for roms on your portable will be synched). This is all handled in the background without user interaction.

-Supported save formats srm|sav|brm|bkr|bcr|mcr|dsv|state|undo|last

-Limited backups One backup for each save file containing the most recently overwritten save will be saved to your PCs saves folder.

-Additional Options (See below for details): -Optional synch notifications to Kodi -Optional support for PPSSPP saves (see below)

Prerequisites -Windows PC with a local (non-network) location to backup your files. -A way to mount your portable device to a lettered windows volume (“E:” etc.) -File read and write privledges on both systems

*Notes:

  1. iPhones can be mounted to lettered drives through IExplorer (paid software) and assigning IExplorer to automatically mount your game app folders whenever you connect your device to your PC.

  2. Synchro has not been tested on Android or with any other portable devices (PSP, NDS, etc.) but should technically work as long as the device can be mounted to a lettered drive and the drivers work as expected.

Directions: Before You Start: a) Before doing anything else, make a backup of any saves you intend to use with this software. If you irreparably lose your saves, don’t say I didn’t warn you.

b) Connect your portable device to your computer and make sure you can access the files you intend to sync via a mounted, lettered drive (“E:”).

c) Before using Synchro, either manually sync your saves between PC and portable or delete all saves currently on your portable device. As files are updated based on file modification time, it’s possible that a file may be incorrectly overwritten if you do not complete this step. (It will actually speed things up to delete any unused saves before starting anyway).

Note manually synching will avoid a common incorrect overwrite case. As Retroarch (and most emulators) will create a a new save if a save isn’t present on first-run of a rom, your files may be overwritten if you a) play a game heavily on one device) b) load the game on another device without syncing first, and c) attempt to sync the saves.

Getting Started:

  1. Edit savelocations.cfg, which should be in the same folder as Synchro.exe. Each entry is composed of three lines and each entry should have it’s own number (you may have up to 999 entries). ###;roms = The full path to the roms folder on your portable device ###;saves = The full path to the save folder on your portable device ###;backups = The full path to the save folder on your PC Note that any line not beginning with a number is considered a comment.[/indent] Example Config (Portable drive assumed to be mounted to I:): ;Synch native SNES saves 001;roms = I:\roms\SNES 001;saves = I:\saves\SNES\NativeSaves 001;backups = C:\Users\atsumori\Documents\saves\SNES\NativeSaves ;Now synch save states 002;roms = I:\roms\SNES 002;saves = I:\saves\SNES\SaveStates 002;backups = C:\Users\atsumori\Documents\saves\SNES\SaveStates
  2. Did you backup and manually sync your files? Seriously, do that now if you haven’t yet.
  3. Run SynchroCLI.exe to begin synchronizing your saves. If everything is OK, you will see a log of the backup process in the command prompt. Run this for a while and, if everything seems ok, you can quit SynchroCLI.exe and run Synchro.exe to get rid of the command prompt. If you have any issues, continue to the FAQ.

Checking Status & Quiting Synchro: 4) Check Synchro status in the Windows application tray. You can hover over the Synchro icon to show a tool tip of what is happening 5) Right click the application tray icon and select “Exit” to quit the program

Command Line Options: -enablekodi Sends file sync notifications to Kodi. By default notifications will be sent as guest to the kodi install at localhost on port 8081. To post as a different user, or send notifications to a different computer or port on the network, add this data after -enablekodi in the format “-enablekodi [user:password@]IP.ADDRESS:PORT”( for example “-enablekodi synchro:[email protected]:8081”).

-enableppsspp Enables synching of PPSSPP saves and savestates by changing default functionality to sync any file in a subfolder of the save folder.

By default, Synchro only syncs saves from the topmost level of the folder specified in the config file and identifies saves by matching their name to a rom on the portable device. Since PPSSPP saves files a) in a subfolder named after the Sony product code and b) in files of irregular type and naming convention, its saves must be handled differently. - enablepppsspp allows synchro to open up any sub-folders in the save directory and synch ALL files within that folder.
Note that this will increase sync time and may sync unwanted files, so only enable if you plan to use PPSSPP or an emulator with similar saving conventions.

FAQ:

1) It’s not synching, what am I doing wrong? Check the following a) Is your portable device visible to your PC using a mounted, lettered drive (for example “E:”)?
b) Do you have roms in the rom folder specified in your config? -Synchro needs a lettered drive to function, and will only sync saves for roms on your portable device.

2) Synchro disappeared, where is it/how do I quit? Click the application tray in your windows toolbar, and you should see the Synchro icon. Right click and select “Exit” to quit.

3) How does Synchro determine which files to sync? In pseudo code: Get roms on portable device Get saves on portable device and PC For each save name if save name = rom name on portable device [indent]Sync file with newest modified date across devices[/indent] If save name is != rom name on portable device [indent]If portable save has newer modified date than PC save[/indent] [indent][indent]Sync file anyway[/indent][/indent]

4) Could Synchro delete saves if their rom is no longer on the device? Maybe, one day if the IExplorer drivers get better, but for now no.

5) HALP, my save has disappeared! Did you make a backup beforehand? If so, copy it over from there. If not, try looking for a backup in your PCs save folder under “(MYSAVEFOLDER)\Sync Backup” This only holds the most recently overwritten save for each file, so will only work if you haven’t made any changes to the save since it was incorrectly overwritten.

6) How often does Synchro scan for updated saves? Roughly every minute.

7) Can I unplug my device from my PC while Synchro is running? Yes, if Synchro is in the middle of a synch job it will stop and your saves should be safe. The next time you plug in your device, it will begin the sync process again so you don’t need to worry about your old data coming back to haunt you. However, note that if you do not complete the sync job, do not run any unsynced games on any device accept the one with the latest save or you may risk overwriting with a new, empty save file.

8) Can I store my roms/saves in subfolders? Roms: yes Saves/savestates: no (unless -enableppsspp is activated)

9) Does Synchro sync to the portable device, or only to the PC? It syncs both ways, so you should be able to play a game on portable, sync, pick it up on PC, sync, pick it up on portable again.

10) Can I sync to/from a networked drive? No, you can only use mounted, lettered drives. You might be able to mount the networked drive as a lettered drive, but note that this functionality is unsupported and has NOT been tested.

11) Do I need to restart the syncing process if I disconnect/reconnect the device? No, Synchro should handle that all automatically in the background.

12) Can I sync save states or only saves? [i]Synchro can physically sync save states, however, it is up to your emulator whether the portable and PC verions can use the same save states or not. For best results, try using portable/PC builds from roughly the same time. My experience is as follows: Retroarch: -Gambatte: OK -Genesis Plus GX: OK -Mednafen PCE Fast/Supergrafx: OK -Mednafen PSX: Works fine, though PC version complains of incompatible save state before loading -Mupen64: OK -Nestopia: OK -PC-FX: OK -Snes9x: OK -VBA: OK

PPSSPP (v1.3): -No Problem[/i]

13) Can I play the game on both the portable and PC system? Yes, but make sure to sync before switching between systems. If you have not synched, you run the risk of accidentally updating the time stamp on an old save, causing it to overwrite your most recent save file.

14) I have a bug/feature request, what do I do? Post it in the forum thread you downloaded this file from. I am super busy with work/life right now so it might take me a while to respond but I’ll see if I can fix the issue.

Download: Synchro.zip