General Category => News Submissions => Topic started by: RHDNBot on September 17, 2014, 08:31:16 pm

Title: Utilities: IPS Patch Checker
Post by: RHDNBot on September 17, 2014, 08:31:16 pm
( (

Update By: LocksmithArmy

For all graphics patchers, small hack patchers, or people wanting to use translated patches to try and translate hacks, this new tool will help you decide how compatible the 2 patches are with one another.

Have you ever patched a graphics patch ontop of a hack just to find they mess up the game. This is nolonger an issues. With Patch Checker, you can load up a patch and compare it to another patch to see if they will overwrite the same code.

You will get a report of how compatible they are, 100% compatible means 0 overlaps and they will work perfectly together.

Be careful, the order does matter, patching the graphics patch first means that you may not have any glitches even if you patch you hack on top of it with 97% compatibility. Just some things will get reverted back to their original graphics (3% of things).

It gives you a percentage and you use your judgment on weather you want to proceed. With 97% compatibility and 25000 alterations, a hack would have approximately 750 glitches...

If anyone has resources for other types of patches (UPS or any others) just post links in a comment so they can be incorporated into this tool.

Thanks, enjoy.

RHDN Project Page (

Relevant Link: (
Title: Re: Utilities: IPS Patch Checker
Post by: Mattiac on September 17, 2014, 08:58:05 pm
This sounds like a great tool! ^_^ Thank you very much!

PS. I wish that you would include the instructions in a
text file included with the zip file. Thanks again!

PPS. Maybe you want to include Byuu-san's patch format?
Title: Re: Utilities: IPS Patch Checker
Post by: LocksmithArmy on September 18, 2014, 04:29:16 pm
I will get to work on a ReadMe.txt for it. and I will also look into that patching format, for the most part, reading patches is not very hard so there is no reason this tool can not be universal for any patch format... eventually lol.
Title: Re: Utilities: IPS Patch Checker
Post by: FAST6191 on September 20, 2014, 01:05:26 pm
As a surface reading I guess this could be useful, though I would be careful saying things will work perfectly -- it might not overlap but if some pointers were changed then it could be ineffective, and that is not even an esoteric/obscure kind of exception if you are looking at GBA hacks (probably the last console to make any real use of IPS but it was heavily used there) -- loads of the pokemon hacking tools do it, as does some of the golden sun stuff.
Title: Re: Utilities: IPS Patch Checker
Post by: snarfblam on September 20, 2014, 02:34:16 pm
More or less what I was thinking. Patches don't always need to overwrite each other to conflict. In rare cases, I've seen patches overwrite each other without causing issues, too, but, then, that's a scenario a tool like this couldn't account for. There is also the occasional patch that is intended to be applied on top of another. I'd also be concerned about "99%" compatible patches. If that 1% is code or important data, there's a pretty good chance you're 100% screwed.

As long as the user understands exactly what "compatible" means here, I suppose there isn't an issue. Maybe something like "No conflicts detected" vs. "Warning: Patches conflict (x bytes, y%)" would be clearer.
Title: Re: Utilities: IPS Patch Checker
Post by: assassin on September 20, 2014, 02:39:55 pm
also recommended:

no GUI, but it can compare far more than two patches at once, and the outputs regarding bytes used and conflicts are very detailed.
Title: Re: Utilities: IPS Patch Checker
Post by: VicVergil on September 20, 2014, 03:01:59 pm
xdelta patching hopefully coming next?
I would be really interesting if your tool included the actual patch applying / patch creation process, for the major formats (IPS, UPS, Xdelta, beat - maybe PPF too, and I may have forgot other things).

An option for either single patch applying, or double patch applying.
Single patch would also have a detailed information button showing exactly which bytes were changed in detail, as well as a global count of changed bytes.
Double patch would have the program automatically checking for % of overlapping bytes, displaying "Safe" in case it is 0%.

Also, a CRC/MD-5 check at all times whenever the original rom file is loaded (as text that can be copied from the program window to the clipboard) would be really awesome to have.

I believe there is definitively a niche for a single convenient all-purpose tool.
Thanks a lot for sharing this :)
Title: Re: Utilities: IPS Patch Checker
Post by: FAST6191 on September 21, 2014, 06:41:49 am
The trouble with xdelta is that it is not an in place patcher but one able to handle data shifts (it was not only the 16 meg window/limit that saw IPS dropped), something that becomes very necessary when you are working with filesystem based devices.
Now if this did some kind of content/filesystem/data aware meta analysis (this patch aims to alter the sound_data.sdat/0x014500050-0145000F0/the following string combinations, the other patch ....) and maybe sees if it can combine things/generate a secondary patch to work with the altered data of the first* then it could be quite useful. I can not think of any specific instances right now but the devices that really benefit from xdelta are still fairly unexplored as far as ROM hacking goes, that said I have pulled a few things apart in the past to figure out what files were changed and rebuilt accordingly.

*not an especially easy feat if the xdelta patch is also handling a file system rebuild. I would probably try to search for the old data that would have been changed.
Title: Re: Utilities: IPS Patch Checker
Post by: LocksmithArmy on September 21, 2014, 04:07:58 pm
I have added a report button that shows the offsets and bytes that are causing errors. its been submitted to the site for a couple days now... (version 2.0)

The percent compatibility means that __% of the first patch remains after the second is patched, yes this can be skewed if the pointer to a table or whatever is altered(in either the first or the second), but its better than just hoping, and no tool could possibly check for pointers unless it was made for a specific game. patching 2 patches together is never ideal (a single patch that did everything you wanted is always better lol). this should be covered in the readme.txt (in version 2.0)

I can add UPS and NINJA(1.0 and 2.0) and will search for the other formats you all mentioned above. I need to know how they make their file and ill be able to read it.

I can also make this tool compare more than 2 if it is needed. I never really considered it. usually the user wants to patch a graphics patch over a hack... thats just 2 lol. but adding more is not a problem, just say the word. (ill figure it out)

Expect this tool to change alot, I have another site where users have given great ideas, and now you guys are contributing much. So as the needs increase, so will the usefullness of the tool.

I was unaware the community wanted such a tool, I am suprised at the amount of interest.