Fill out README.md
All checks were successful
moparisthebest/saturn-patch/pipeline/head This commit looks good

This commit is contained in:
Travis Burtrum 2021-02-17 23:05:26 -05:00
parent 820d823b92
commit 69c832190a

View File

@ -1,18 +1,48 @@
saturn-patch
------------
# saturn-patch
Reversible region and manufacturer patcher for sega saturn games.
Unlike other utilities that do this, this is open source, safe, cross platform, but most importantly, allows you to
"unpatch" your changed files by storing small backup files. The sha256 hash of the original file and the backup file are
stored in the backup so you can be confident your games can be put back to byte-for-byte original whenever you wish.
"unpatch" your changed files by storing small backup files next to them. The sha256 hash of the original file and the
backup file are stored in the backup so you can be confident your games can be put back to byte-for-byte original
whenever you wish.
Examples
--------
### How to use
On Windows or some DEs, simply drag saturn bin files onto the saturn-patch executable. It will only modify saturn files
with the region header in them and then only if it can successfully unpatch it and after it writes the backup file to
disk, so you can safely just run it on all your files.
##### Customize Regions
Set the environmental variable `SATURN_REGION` with your desired regions in order from most preferred to least. If not
set the default is `JUBLKTEA`, which is Japan, USA, Brazil, Latin America, Taiwan, Europe, Asia.
##### Customize Manufacturer
Set the environmental variable `SATURN_MANUFACTURER` to whatever you wish, as long as it's less than 16 characters. If not
set the default is `SEGA TP T-81`. Why would you want to do this? So you can [swap disks](https://youtu.be/fp-U-s8Xdo0)
with a burned KD02 disk the easy way.
#### How do I get it
You can download `saturn-patch` from the releases section, compile it yourself, or run `cargo install saturn-patch`.
Where is `saturn-unpatch` you ask? It's the same executable, make a symbolic link to it, or copy and rename.
### Examples
```sh
# patch single file
saturn-patch panzer-dragoon.bin
# unpatch single file
saturn-unpatch panzer-dragoon.bin
# unpatch single file by sending in backup file
saturn-unpatch panzer-dragoon.bin.saturnpatchbak
# patch all bin files recursively in this directory
find -type f -name '*.bin' -print0 | xargs -0 saturn-patch 2>&1 | tee saturn-patch.log
find -type f -iname '*.bin' -print0 | xargs -0 saturn-patch
# unpatch all bin files for which we have a .saturnpatchbak file for recursively in this directory
find -type f -name '*.saturnpatchbak' -print0 | xargs -0 saturn-unpatch 2>&1 | tee saturn-unpatch.log
find -type f -name '*.saturnpatchbak' -print0 | xargs -0 saturn-unpatch
```