All Projects → slinga-homebrew → Save-Game-Copier

slinga-homebrew / Save-Game-Copier

Licence: GPL-3.0 License
Copy Sega Saturn save game files

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Save-Game-Copier

libyaul
An open source SEGA Saturn development kit
Stars: ✭ 117 (+244.12%)
Mutual labels:  sega, sega-saturn
Ghidra-SegaSaturn-Processor
A Ghidra processor module for the Sega Saturn (SuperH SH-2)
Stars: ✭ 43 (+26.47%)
Mutual labels:  sega, sega-saturn
maimai DX CN probe
舞萌查分器
Stars: ✭ 12 (-64.71%)
Mutual labels:  sega
modesolverpy
Photonic mode solver with a simple interface.
Stars: ✭ 47 (+38.24%)
Mutual labels:  mode
savemii
Savegame manager for the Nintendo Wii U
Stars: ✭ 38 (+11.76%)
Mutual labels:  savegame
philsol
Simple python library for calculating the modes of electromagnetic waveguides using finite difference frequency domain method.
Stars: ✭ 21 (-38.24%)
Mutual labels:  mode
MegaDrivePlusPlus
Universal Region mod, 50/60 Hz switch and In-Game-Reset (IGR) for Sega Mega Drive (AKA Genesis)
Stars: ✭ 100 (+194.12%)
Mutual labels:  sega
SatisfactorySaveEditor
Savegame editor for Satisfactory
Stars: ✭ 27 (-20.59%)
Mutual labels:  savegame
sega-nu
Sega Nu restoration notes and discoveries
Stars: ✭ 20 (-41.18%)
Mutual labels:  sega
BlueRetro
Multiplayer Bluetooth controllers adapter for retro video game consoles
Stars: ✭ 520 (+1429.41%)
Mutual labels:  sega
hollow-knight-completion-check
App for reading and analyzing a Hollow Knight save file. Shows what remains to do for full 112% Game Completion, Achievements, Hunter's Journal, Collectibles, True Completion %. Includes a self-designed Hint system.
Stars: ✭ 23 (-32.35%)
Mutual labels:  savegame
Save-System-for-Unity
Save System for Unity with AOT (IL2CPP) and assets references support.
Stars: ✭ 116 (+241.18%)
Mutual labels:  savegame
NomNom
NomNom is the most complete savegame editor for NMS but also shows additional information around the data you're about to change. You can also easily look up each item individually to examine its attributes, independently of a savegame, or get other useful information that are not related to a specific savegame (but enhanced if one is loaded).
Stars: ✭ 167 (+391.18%)
Mutual labels:  savegame
arcade-pcb-case
Plans to build Arcade PCB cases
Stars: ✭ 29 (-14.71%)
Mutual labels:  sega
helios
A Java-based Sega Mega Drive/Genesis emulator. And other systems too.
Stars: ✭ 14 (-58.82%)
Mutual labels:  sega
Ultimate-Smasher
A Super Smash Bros. Ultimate save editor written in Python
Stars: ✭ 77 (+126.47%)
Mutual labels:  savegame
Ghidra-SegaSaturn-Loader
A Sega Saturn loader for Ghidra
Stars: ✭ 30 (-11.76%)
Mutual labels:  sega-saturn
sonic-gms2
A GameMaker Studio 2 template project used for constructing games based on the Sonic the Hedgehog series.
Stars: ✭ 18 (-47.06%)
Mutual labels:  sega
SuperPhotoStudio
Take pictures of your favorite characters, in glorious Hori-HD (800px mode)!
Stars: ✭ 16 (-52.94%)
Mutual labels:  sega
slacky-dark
Dark mode theme for Slack desktop clients
Stars: ✭ 24 (-29.41%)
Mutual labels:  mode

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.

  • All files on a CD are limited to 8 character names plus 3 characters for the .BUP extension.

  • The .BUP extension is required.

  • If you want your ISO to work properly on a Saturn you have to rename the file to an 8.3 character file. For example if the file you are adding is FPS_6MEN_01.BUP, rename to FPS_6MEN.BUP.

Additional examples: GRANDIA_001.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
  1. 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:

  • Make sure you upgrade to the latest firmware. There have been firmware fixes
  • Create a "SATSAVES" directory on the root of the drive. SGC is hardcoded to use that folder. Copy saves to and from that folder.
  • Saves must use the .BUP file extensions or they will not be visible. Filenames can be 11 characters + 3 more for the extension.

MODE Support

When using MODE:

  • Ensure you are running firmware >= 1.04
  • Create a "SATSAVES" directory on the root of the SD card. SGC is hardcoded to use that folder and the SD card. HDD is not supported yet.
  • Saves must use the .BUP file extensions or they will not be visible. Filenames can be 11 characters + 3 more for the extension.
  • You must use the cue file named game_cue_for_mode.cue INSTEAD OF game.cue file. Ensure only 1 cue is present along with game.iso file. This is required because MODE needs a large TOC for the command interface.
  • Set the Software Reset option to "Direct to Mode" and make sure "Fast Boot" is enabled.

Dumping Memory

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

  • Saturn BIOS (address: 0x80000, size: 0x80000)
  • Internal backup memory (address: 0x00180000, size: 0x001FFFFF)
  • Cartridge backup memory (address: 0x02000000, size: 0x01FFFFFF)
  • etc

Issues

  • Non-English save game comments are not displayed. This is a limitation of the print routine I'm using. However the comments are copied correctly and can be viewed within the Saturn BIOS. I'm researching a workaround.
  • Once you access the Satiator you can no longer list the saves in the "CD Memory" option. I don't know if this is an issue with Satiator or the Satiator-Yabause fork I am testing with. If you really want to transfer multiple "CD Memory" saves to your Satiator, transfer them to your Internal Memory first. From there you can transfer multiple saves to the Satiator without issue. Or since you have a Satiator you can just put the saves on your SD card...
  • Some Satiator users have reported the first transfer takes ~90 seconds and then all other transfers are fast. Professor Abrasive is aware of the issue. It's possible the issue is related to the SD card itself. Try running a chkdsk.

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

  • Thank you to Johannes Fetz for Jo Engine and adding features needed by Save Game Copier.
  • Thank you to Emerald Nova for volunteering to test the code on his Satiator.
  • Thank you to Terraonion for contributing MODE support.
  • Thank you to RevQuixo for numerous bug reports.
  • Thank you to Cafe-Alpha for .BUP file format and advice.
  • Thank you to Hitomi2500 for help parsing Action Replay and advice.
  • Special thanks to Antime, Ponut, VBT, and everyone else at SegaXtreme keeping the Saturn dev scene alive.
  • Thank you to Takashi for the original Save Game Copier idea back in ~2002.
  • Shentokk for information regarding emulator save game extraction
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].