Scripts and tools to automate saUCE cooking.
- First clone the repo
git clone https://github.com/wn2000/sauce_factory cd sauce_factory
- Set ROM and core directories by setting the following env variable (assuming Bash):
export ROMDIR=/my/rom/directory export COREDIR=/my/core/directory
- Build
- To build all sauces, type
make
This will turn each recipe in therecipes
folder into a sauce in theout
folder. The Makefile will only process a recipe if the corresponding sauce does not exist, or the recipe has recently been updated. - To build a single sauce, type
make out/Sauce_Name.uce
e.g.
make out/AddOn_Air_Rescue.uce
- To build all sauces, type
- Some recipes include a
save.zip
file. This is a pre-generated save partition, which can contain core options overrides, custom control mappings, and save states of the game. - To generate such a file yourself, or to simply view the content of this file, refer to the following steps:
- Generate an ext4 partition file with necessary folder structures
This creates a 4MB file
truncate -s 4M save.bin mkfs.ext4 save.bin debugfs -R 'mkdir upper' -w save.bin debugfs -R 'mkdir work' -w save.bin
save.bin
that has an ext4 partition in it. Alternatively, you can also get such a file by stripping the last 4MB from an existing UCE:tail -c 4M existing.uce > save.bin
- Once the
save.bin
file is ready, we need to mount it to a directory to access its content:Note that the# First create the mount point directory mkdir mnt # Mount it sudo mount -o loop save.bin mnt
mount
command needssudo
access. So make sure your user account is in thesudoers
group. - Once "mounted", the content of
save.bin
can be accessed from themnt
folder. There you can add/remove/edit files of interest, which may include the following:retroplayer.ini
: This can be used to override many core options, and frontend video / control settingscfg
folder: This has custom control mappings made in the MAME menuhi
andnvram
: May contain hi-scores- Game save files and their screenshots
- Once done editting the
mnt
folder, go out of the folder and doThis unmounts thesudo umount /path/to/mnt
save.bin
file and flushes all changes to the file. - Finally, zip the
save.bin
file assave.zip
and place it inside the recipe folder. The build script will unzip it and put it into the UCE.
- Generate an ext4 partition file with necessary folder structures