This patch was adapted from the Super Metroid Practice Hack. It is a very minimal practice hack due to the extreme lack of free space in X-Fusion. Many important features had to be ommitted, such as presets and tinystates.
By default, the inputs to create a savestate are Select+Y+R. Once a savestate has been created, you can press Select+Y+L by default to load the savestate. Savestates cannot be created or loaded during door scrolling, music change, or when message boxes are active.
Savestates will only work on platforms that support 256k of SRAM. This includes SD2SNES/FXPAK, bsnes, Snes9x 1.61+, Mesen, MiSTer, and Super NT. A separate patch without this feature is provided for all other platforms.
Pre-made IPS patches are included in the \releases\ directory. You will need a patching utility such as Floating IPS to apply patches to X-Fusion. Always use an unheadered ROM when applying the patches.
- Download and install Python 3. *
- Run
build_ips.batto build the IPS patch files - Patches will output to
\build\
*Windows users will need to set the PATH environment variable for the Python installation.
- Place a copy of
X-Fusion.sfcin the\build\directory - Run
build_rom.bat - Alternatively, drag-and-drop an X-Fusion ROM onto the script directly
- Output ROMs will output to the same directory as the input ROM
- Making a savestate on a music change can cause a crash when loading the savestate