byuu has released UPS, a file patching format meant to specifically replace IPS.
- simple file format, easy for anyone to implement.
- automatic bi-directional patching. The same patch can both patch and unpatch a game.
- CRC32 checksums on the original, modified and patch files guarantees patches will not apply to the incorrect games. We use CRC32 as this is designed to test integrity, not to prevent malicious checksum conflicts. Odds of a false positive are 1:4 billion with CRC32, and CRC32 is 100x easier to implement than eg MD5SUM, etc. Very important for others implementing this algorithm.
- infinite file sizes. No more 16MB limitation as with IPS.
- Windows / Linux GUI patchers, core library written in ISO C++9x.
- all of this is public domain
- command line functionality to patch files and create patches directly instead of using the UI
: You can find windows and linux binaries of the first UPS patcher archived here
, and some more useful information and discussion here
. IPS has been around since the mid 90s and has definitely worn out its welcome. Limited file sizes, no checks to ensure people are patching the correct ROM, and various hacked up implementations have dogged the community for too long. Hopefully UPS catches on. It'd be nice to have a more modern patching format in vogue.Relevant Link: