Now before we begin I would like to inform you that there are two types of patch files dominantly used in GBA hacking; .ips and .ups. UPS is a better form of patching and this tutorial fully endorses using the UPS format over IPS format.
As mentioned before UPS is a better format for patching files. Most contemporary GBAFE hacks use this patch format.
UPS patches allow you to expand the ROM without having to do use the dual patches method like StealthPatch, making it more efficient and easier to understand.
UPS format also has several other advantages over IPS format such as:
Now, that’s a lot of words that you might not understand. The basic rundown is that UPS is more efficient and can patch files over 16MB which IPS cannot do. So now unto the actual tutorial for using the UPS patchers. For this demonstration I will be using NUPS, created by my good friend Nintenlord because it is the best UPS Patcher out there.
Now when you open the program you will arrive at your main menu.
As you can see there are three options, applying a patch, creating a patch, and getting patch data. Let us go and apply a patch.
Notice the options under “If original file is invalid.” Right now you must be wondering what an invalid file is. An invalid file is a ROM that has been hacked previously, essentially it is not in the original form it was when you downloaded it. UPS checks if ROMs are valid in order to protect you from potentially damaging your ROM. You are given 4 options for what to do when this happens, all of which are pretty self explanatory. You should only bypass the validation if you are sure that applying the patch is safe. Now we’ll take a look at creating a patch with NUPS.
This works the same as any other patches that creates patches. Just select the original ROM and the modified ROM and hit the ‘Create Patch’ button. Now lets take a look at that third option, checking patch data.
This is more of a tool for hackers than normal people looking to play a game. What this option does is tell you the information about the patch. I will demonstrate this tool with my FE4 Advance hack.
As you can see, that’s a lot of information that the everyday hack player would never need. Heck, I don’t even need to know that, it is a tool for the use of hardcore hackers.
What is an IPS Patch?
An IPS Patch is essentially a checklist that notes everything in the file, it can be applied to another file and everything that the patch’s checklist has different is changed so that everything is the same. Basically it applies the changes you made with Nightmare/WindHex/whatever you use onto another ROM.
Soft patching is when you use an IPS file with the ROM without altering the data in the ROM itself. This is a feature of the Visual Boy Advance emulator. In VBA go to Options -> Emulator and make sure there is a check mark next to Automatic IPS Patching. The ROM and the patch must have the same name (EX: Fire Emblem Fuuin no Tsurugi.gba and, Fire Emblem Fuuin no Tsurugi.ips), soft patching is great for people who don’t have the memory to make back up copies of the original game.
First off your going to need a program to patch the file, some common ones are:
- LunarIPS (Recommended)
I will be demonstrating with LunarIPS, the most popular of the programs I listed.
Select the option you want and a file selection screen will appear. When applying a patch you will be first asked to identify the IPS patch to use. Then you will be asked to select the ROM to patch. Once that’s done your ROM will be patches and ready to play. When creating a patch you will select the original, unmodified ROM first; then you will select the hacked ROM. Once that is done enjoy the waiting and you will soon have your very own IPS patch to use.
Now, here’s a trick you can do with LunarIPS. If you associate the filetype .ips with LunarIPS you can double click on the IPS patch and then it will ask you to select a ROM to patch and viola! The deed is done! Much quicker way of getting the job done since you don’t have to run back to a folder to open a program. This trick can only be done with LunarIPS.