A good portion of ROM hacks are made using tools made by other retro community members. These tools aim to simplify the process involved in editing palettes, changing text, or simply moving things around. These tools are making it easier for your average person to create hacks of their own while having either no or very little development knowledge. Which is great — everyone gets to express their creativity in a new medium.
For instance, Pokemon Ruby, Emerald, and Fire Red have their own decompilation tools; developers decompile the entire game and break it down into bits for anyone to go in and edit any aspect of the respective games. It’s why so many Pokemon-centered ROM hacks nowadays seem to be more expansive and robust than the hacks of yesterday.
But that’s just a few games in one single series. ROM hacks expand beyond those horizons as well. Mario games feature a legion of ROM hacks that change the entirety of how the game is meant to be played, some have custom themes, like seasonal-based level design, or predominantly feature kaiso challenges.
Table of Contents
Getting Started
First things first, we have to download a ROM hack that we want to play.
I’ll be using Teenage Mutant Ninja Turtles: Shredder’s Re-Revenge. It’s a hack of Streets of Rage 2, a game with over 100 separate hacks available.
In 2024, applying ROM hacks to games is more simple than it has ever been. It does require you to put in a little leg work to get the base game’s ROM, and we cannot help you with that at all. We won’t. But once you get that by obviously ripping your own cartridge, it’s easy.
ROM hacks are not solely hacks that change or alter a game inherently. Some are translations, 3rd party bug patches, palette swaps — there’s a litany of them.
Applying ROM Hack Guide
To apply ROM hacks, you need to download the ROM hack, obviously. Downloading ROM hacks, the small patches, is not illegal nor frowned upon. It’s a 20+ year long, tried, true, and tested practice that may be older than a handful of people reading this very guide.
With ROM hacks, it’s incredibly important to ensure that your base game is the same rip as the one the ROM hack developer has said to use. Usually, they will supply three to four hashes for you to check against. You can use this online hash verifier to do so.
In the guide, I am using a .md file. Even though the rip above mentions it needing .gen, the hashes are the exact same, so I’m good to go. Newer games will probably have different hashes for different regional releases.
The majority of ROM hacks are still distributed via ROMhacking.net despite announcing its closure months ago. Alternatively, its replacement, which is still in alpha, romhack.ing also hosts multiple. Search around, and pick whichever one looks nicest to you.
I would recommend using the web patcher, the first option below. It’s by far the easiest, fastest, and most user-friendly option. There are instructions for those wanting a dedicated app, too.
What You’ll Need
- A ROM hack/patch (should be a .ips, .bps, .ups, .aps, .rup, .ppf or .xdelta file)
- ROMhacking.net and romhack.ing are good resources
- The base game’s ROM file (again, will not, cannot help you acquire)
- Internet browser to visit Rom Patcher JS (Online)
- Floating IPS aka flips (Windows)
- xdelta UI (Windows – xdelta Patcher)
- MultiPatch (macOS)
Web
The web option is potentially the easiest. It doesn’t need you to download anything extra, you don’t have to install a new app onto your computer, and, in some cases, you don’t have to worry about your boss questioning what a ROM is and why you downloaded something to patch them. Avoid the headaches.
The most useful tool in the ROM hacking world is ROM Patcher JS. It’s a website built in javascript that allows you to give it a base game’s ROM, the ROM patch, and it will output the fully patched game.
- Head over to https://www.marcrobledo.com/RomPatcher.js/
- In the ROM file area, hit the upload button and find your ROM file.
- In the Patch file area, click the upload icon and find the ROM hack/patch you’ve downloaded.
- The CRC32, MD5, and SHA-1 areas will appear once you’ve chosen and uploaded a ROM file. These strings of numbers and letters are cryptographic hashes. If you receive a file from someone, you can verify its authenticity by comparing it to one of the hashes.
- Hit Apply Patch and download the file it spits out.
Windows
- Download the Floating IPS aka flips app from the What You’ll Need section above.
- Extract the .zip and open the flips.exe app.
- It’s nested inside the builds > windows-x64-gui.zip folder
If you get alerts about Windows protected your PC, hit More Info at the end of the text in the popup, and then Run anyway in the bottom right.
After you hit that, flips should open.
- Hit Apply Patch.
- Flips will pop up a new window saying Select Patches to Use.
- Find the ROM hack/patch file you’ve downloaded.
- Flips will immediately present a new window asking you to Select File to Patch.
- Find your ROM file.
- If you can’t find the ROM file, go to the bottom right of the app and change Most Common ROM Files to All Files.
- The app will next ask you to Select Output File.
- It will default to the name of the patch you’re applying, I would recommend keeping it that way.
The app will then show an alert saying The patch was applied successfully if everything was done correctly.
xDelta
xDelta patches are usually reserved for DS games. Your most common Pokemon ROM hacks for Diamond, Pearl, Black, White, and their sequels are distributed using xDelta. The web interface can handle all types of patches, but Floating IPS can only do .bps and .ips.
So, we have to use a noticeably older app, xDelta UI, to patch the ROM hack onto the base game.
- Download the xDelta UI app from the What You’ll Need section above.
- Inside, open up the xdeltaUI.exe app, it’s one of three files in the folder.
When you open the app, it will tell you that you will need to download Windows features. If you don’t see this alert, skip this step, you’re ahead of the game already.
- Hit the first option, Download and install this feature.
- After searching, it will begin Downloading required files.
- Finally, it will tell you that the .NET Framework 3.5 (includes .NET 2.0 and 3.0) has been successfully installed.
- Hit Close, and then reopen the xdeltaUI.exe app.
- When you open the app, you’ll see three total options. Ensure that you’re on the Apply Patch setting and not Create Patch.
- In the Patch area, hit Open... and find the .xdelta ROM hack that you’ve downloaded.
- In Source File, hit Open... and find the base game. In my case, it’s a .nds rip of Castlevania: Portrait of Ruin.
- In Output File, hit … and enter a name followed by the extension of the base game. For me, it’s .nds and I’ve chosen to name it the same as the patch itself.
After a few moments, the app will alert you that the file patched successfully.
macOS
- Download MultiPatch from the What You’ll Need section above
- Extract the .zip and you’ll see a MultiPatch app, its icon is a roll of toilet paper.
- Put that app in your Applications folder.
- Open MultiPatch.
- In the Location of patch area, hit Browse… and find the patch file you’ve downloaded.
- In the Location of file to modify area, hit Browse… and find your ROM file.
- In the Save patched file as area, hit Browse… and in the Save As area, type in a file name followed by the file extension of the ROM.
- If your base game is a .gen, then you should have .gen at the end of the file name you input. When you use MultiPatch, you have to be sure to put the file extension in or it will just produce a file… with no extension.
- Hit Apply Patch.
You should see an alert like the one above, and the file will be found in the same location you fed the app in the Save patched file as section..
Wrap-Up
Now, you have the ROM-hack-patched game. This game functions the exact same as any other made for that console. You put it in the same folders as your other games. Once you put the game in the correct folder on your retro handheld, you can go ahead and start playing it as you would any other game.
Playing these games on retro handhelds adds to their luster, it makes them feel more authentic and genuine. Looking at SNES ROM hacks on the Retroid Pocket Mini would be stellar on its OLED screen. On an RG406V, nearly all 4:3 games with ROM hacks would look incredible.
With this guide, hopefully, ROM hacking becomes a new fascination that has you diving deeper into the games you remember. And beyond that, we hope each and every ROM hack triggers new excitement in a series you love.
What did you think of this guide? Do you have any favorite ROM hacks you like to play? Let us know in the comments below, and chat with us in our Discord!
This page may contain affiliate links, by purchasing something through a link, Retro Handhelds may earn a small commission on the sale at no additional cost to you.