How to Patch ROM Dumps with IPS Files in Linux
If you have a USB cartridge dumper or another way to legitimately acquire a ROM file, then you might want to get in on the ROM hacking scene. International Patching System (.IPS) files allow programmers to send changed ROM data for video games without distributing any code from the original game, which helps avoid some of the licensing issues involved in distributing derivative work video games.
While you need special utilities to patch these files under Windows or OS X, you can use a simple Python script to do the same under Linux. Since it’s an interpreted Python script and not a compiled program, you can run it on most modern distributions of GNU/Linux.
Patching Files with IPS Additions
You’ll need a package called Lazy IPS from Boris Timofeev, which will arrive named as lazy_ips.py.zip and should be scanned before use nonetheless. Unzip the file either by right-clicking on it and choosing “Extract Here” in Nautilus, or another file manager, or by using the unzip command at the CLI prompt. You’ll end up with a single file named lazy_ips.py. Start the script either by double-clicking on it or by typing ./lazy_ips.py at the CLI prompt. If you are asked for permission to execute it, proceed, but ensure the colors of the window match your GTK theme. If you have custom GTK colors or fonts, this program will accommodate them. There is absolutely no need to run it as root.
Click on the ‘Open’ button next to the first file entry field, then select the ROM from the box that appears. The ROM might have a different extension depending on the type of hardware that the game originally ran on. Next, click the second ‘Open’ button and select an IPS patch file. Make sure there’s a check next to ‘Create a backup file.’ You might want to create additional copies of the original ROM in a different directory. After that, click on the ‘Execute’ button and wait until it displays ‘Done.’ You can click the ‘Quit’ button once it’s completed. Then, right-click on the ROM file you used in Lazy IPS and go to properties. The file modification date should coincide with the day you ran the program. In the same directory, the .bak file represents the backup that Lazy IPS created.