This is an easy to use utility for performing some tasks on SNES / SFC ROMs!

Following functions are included:

Add header: adds an empty header
Remove header: removes an existing header
Edit ROM information like title, country/region and version
Fix checksum: fixes a broken checksum. You always should do this before saving, if possible. Please note that some beta or demo ROMs have an odd checksum anyway …
Fix ROM size: fixes wrong internal ROM size information (useful for some ROM hacks)
Expand ROM: expands ROM to a specific size up to 64 Mbit (BS-X up to 32 Mbit). Mirror option should only be used, when there are problems with standard expanding. Always check if your ROM still works after doing this!
Split ROM: splits ROM into multiple parts
SwapBin: swaps binaries to get a “Close-to-SNES-Mask-ROM”-layout (27C801)
Deinterleave: some copy stations like “Game Doctor SF” or “Super UFO” use interleaving when dumping HiROM games. This will reverse this process. Please use ROMs with copy station header, unless you know which copy station was used!
Remove Region Locks: some games have a copy protection preventing the ROM from running on systems with another region (PAL/NTSC lock). Use this function to remove most known region locks.
Remove Slow ROM Checks: This is only useful, if you want to play FastROMs on a slow medium, like some copy stations or burning it on an (E)EPROM slower than 120ns.
Apply Patch: patch your loaded ROM! Supports IPS patches with RLE hunks, expanding and truncating, also avoids EOF offset bug. UPS is able to revert a patch, if applied a second time and expands and truncates to destination file size. BPS, BDF and XDELTA are also supported!

Notes:

Splitting and SwapBin will be performed with your actual ROM configuration and lead to an output of one or more files.
If you have *.bdiff patch files, try to rename them to *.bdf and also try renaming *.vcdiff to *.xdelta.
BS-X information: checksum doesn’t include header information, so it wont change if you edit some values. ROMs have no region code (JP only), so you can’t change it. Only ROM sizes up to 32 Mbit are supported.

History:

v0.9.7: fixed BPS patcher! Some very few patches contain metadata, which led to problems. Added function for removing SlowROM checks! This is only useful, if you want to play FastROMs on a slow medium, like some copy stations or burning it on an (E)EPROM slower than 120ns. I guess this is pretty useless these days, but now it’s in…

v0.9.6: added BDF and XDELTA patching functionality. Handle LoROM SlowROM the same way as FastROM when expanding without mirroring to 48 or 64 Mbit for improving compatibility (experimental).

v0.9.5: added BPS patching functionality. Support for expanding up to 64 MBit incl. mirroring (not well tested, so call it experimental). Support for expanding BS-X ROMs up to 32 MBit and fixing internal ROM size. Fixed refreshing bug of drop down boxes for selecting country and file sizes for expanding/splitting when a patch affects file size or country code.

v0.9.1: added UPS patching functionality. Supports reversing patches, expanding and truncating to destination file size. Fixed CRC32 calculation for headered ROMs. Cleaned up design.

v0.9: added IPS patching functionality. Supports patches with RLE hunks, expanding and truncating.

v0.8.3: fixed detection of some GSU-2 ROMs, so detection now should work fine for all ROMs. When “Save As” was used, context is now on new file.

v0.8.2: application crash and wrong checksum calculation on loading few ROMs fixed!

http://www.romhacking.net/utilities/1638/