slinga-homebrew / Save-Game-Copier

Copy Sega Saturn save game files
GNU General Public License v3.0
49 stars 8 forks source link
joengine mode satiator save-game savegame sega sega-saturn

Save Game Copier (SGC)

Copy Sega Saturn save game files to and/or from internal memory, cartridge memory, external devices (e.g. Sega Saturn Floppy Disk Drive), Action Replay cart, Satiator, MODE, and CD. Build with Jo Engine or download an ISO from releases. One of the most useful features of SGC is to create a custom SGC ISO with your own save game files and copy them to your Saturn.

SGC is for copying save games to a Saturn. To copy save games from Saturn -> PC use Save Game Extractor.

Screenshots

Main List Saves CD Saves Copy Satiator MODE Dump

Save Games Format (.BUP)

SGC uses saves in the .BUP save format. The .BUP format consists of the metadata along with the save data itself. The format is documented in Save Game BUP Scripts along with a script to convert between .BUP and raw saves.

Additional examples: GRANDIA001.BUP -> GRANDIA.BUP THREE_DIRTY.BUP -> THREE_DI.BUP

MODE and Satiator can use longer 14.3 filenames.

Adding Custom Save Games to the SGC ISO

There are two ways to add your custom save game files to SGC:
1a) (Windows) Using something like WinISO add your save game file to the SATSAVES directory. Again read the instructions in "Save Game Format" so you have the correct type of file and filename. The filename must be in the 8.3 format.
1b) (Linux)

# mount the original
mkdir /tmp/sgc_custom
sudo mount -t iso9660 -o loop sgc_original.iso /mnt/
cd /mnt/
tar cf - . | (cd /tmp/sgc_custom; tar xfp -)

# make the necessary changes
# remember that filenames must be in 8.3 format
cd /tmp/sgc_custom/SATSAVES
<add\delete saves as needed>

# convert your changes back into an iso
mkisofs -o sgc_modified.iso /tmp/sgc_custom

# insert the boot headers from the original iso into the modified
dd conv=notrunc if=sgc_original.iso of=sgc_modified.iso bs=1 count=32768

2) If you are comfortable compiling SGC, you can also add saves at build time. Checkout SGC from source. Add your save game files (in a raw format) to cd/SATSAVES/ and recompile. Again read the instructions in "Save Game Format" so you have the correct type of file and filename. The newly built ISO will include your saves.

Satiator Support

When using Satiator:

MODE Support

When using MODE:

Dumping Memory

SGC also supports an advanced feature to dump arbitrary memory. This can allow you to dump:

Issues

Troubleshooting

When debugging saves that don't work, load SGC on both systems and verify the MD5 hash and file size of both saves. The most likely issue is that of metadata being included. The other common issue is the name of the file.

SGC uses a dynamic menu and will remove devices it doesn't detect from your menu. If SGC is having trouble seeing your backup cartridge make sure the builtin Saturn memory manager can see the cartridge. Most likely the Saturn can't see the cartridge and therefore neither can SGC.

MODE is not detected. Make sure you use the game_cure_for_mode.cue otherwise the MODE will not be detected.

Adding New Backend Devices

See backends/README.MD for notes on how to add a new backend device to Save Game Copier.

Saturn Save Games Collect Project

Want to share your save games on the web? Send them to the Save Games Collect project. Made by Cafe-Alpha, the author of the Gamer's Cartridge. Please submit your ".BUP" files.

License

Licensed under GPL3 to comply with the Iapetus license.

3rd Party Code

Save Game Copier uses code from:

Credits