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 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 Start the script either by double-clicking on it or by typing ./ 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.


Kevin Arrows

Kevin Arrows is a highly experienced and knowledgeable technology specialist with over a decade of industry experience. He holds a Microsoft Certified Technology Specialist (MCTS) certification and has a deep passion for staying up-to-date on the latest tech developments. Kevin has written extensively on a wide range of tech-related topics, showcasing his expertise and knowledge in areas such as software development, cybersecurity, and cloud computing. His contributions to the tech field have been widely recognized and respected by his peers, and he is highly regarded for his ability to explain complex technical concepts in a clear and concise manner.