How to use IPS files
This page was last modified 13:19, 15 September 2017 by Rderooy. Based on work by Mars2000you and Sd snatcher and others.

IPS or "International Patching System", is a file format, originally meant to patch ROM images, but can also be used with Disk image files. Patching image files can be done to fix bugs, but can also be used for other things such as cheats, translations or game enhancements.

The advantage of IPS to distributing patched images, is that you do not modify the original, the IPS file is normally very small, and you are unlikely to have copyright issues. A disadvantage to IPS, is that it will only apply if the checksum matches, so you need to have the correct original file. Especially for Disk images this may be problematic, as some games insist on writing to the disk and then the checksum will no longer match.

On the fly patching

The openMSX emulator supports on the fly patching. This way you do not need to keep a patched version of the image around.

For example, to patch a ROM file on the fly in openmsx you would use a command such as this:

openmsx -cart galious.rom -ips galiouspatch.ips

For more information, see the openmsx user manual.

In addition, openMSX can also export patched disk images, using the built-in diskmanipulator command. For more information, see the openmsx diskmanipulator documentation.

Patching tools

  • Lunar IPS (LIPS) is an application for Windows. It allows us to apply or make patches.
  • IPSEXE is another powerful application for Windows. It allows us to apply or make patches.
  • Neill Corlett's UIPS is the best option for those running some Un*x flavor. The source code is available here, and the Mac OS-X binary is available here.
  • IPS Patching Tool is an online patcher. The page is in Japanese but it allows us to apply easily patches on any OS.
  • MultiPatch seems to be the only functional application for recent Macs and it can also create patches, but it (the v1.6.2) can’t apply all IPS files. For example, the Metal Gear Remix patch is not supported.
  • IPS4MSX allows to apply our patches directly on MSX-DOS. Tested on MSX Turbo R, it does the job quickly even for megaroms. However it (the v1.3) can’t apply all IPS files.
  • Floating IPS for Windows and Linux, meant as a replacement for Lunar IPS.
  • Lazy IPS for Linux written in Python.
  • JIPS IPS patcher written in Java.