SNES Development
How to Use ROM Patches

How to Use ROM Patches

This guide should help you in your goal of patching your ROM. This guide is applicable to most ROMs and patches but makes some assumptions about the patches and ROMs used:

  • The patches are from superfamicom.org as these are tested and prepared to work with unheadered ROMs.
  • The ROMs have no header.
  • ROMs have the extension of .sfc, not .smc, .swc or .fig.

How to Remove a ROM Header

To remove a ROM header, it’s probably easiest for you to remove the header using NSRT, as well as verifying it is the correct region, version or any other specifics about the ROM. First make sure the sure in the NSRT Preferences → Headers section Remove Headers is selected, click Apply and OK. Rescan the ROM you wish to patch and it should now be header free.

How to Apply the ROM Patch

The patches come in various formats, UPS, IPS, BPS and BDF which is short for BSDIFF. There are numerous ways to apply patches, and I will touch on just a few of them.

OS X: UPS, IPS, BDF, BSDIFF

For OS X I highly recommend MultiPatch.

Linux: UPS

For Linux I recommend using Tsukuyomi v0.1 by byuu.

Linux: IPS

Use this PERL script IPS.pl.

ips.pl rom.sfc patch.ips

Or you can use Lunar IPS by FuSoYa via WINE.

Linux, OS X: BDF, BSDIFF

For BDF / BSDIFF patches you can install bsdiff form source through Homebrew on OS X and should be avaliale already on Linux, then you can run the command:

bspatch old_file.sfc new_file.sfc patch.bdf

Windows: UPS

For Windows I recommend using Tsukuyomi v0.1 by byuu.

Windows: IPS

For Windows I recommend using Lunar IPS by FuSoYa.