![]() ![]() ____ \__/____)\____)\ ___\____ \.___/1.1 - 12/24/94 / .\| __/__ .\ International Patching System Format / _>\ |/ . _>\MindRape \_ : ./ |\ : / : . : :: : . . .. . . .
IPS is a simple patching system that is used to change certain bytes that have been changed. Instead of redistributing large binaries around, one can distribute a much smaller IPS patch (depending on the number of changes). It originated on the Amiga platform, where it was mainly used for distributing cracks to pirated console games. However due to the generalization of the format it can be used patch anything. I would give the original author credit for creation of this format, but I don't know who he is! If you can email me the correct information, I'll promptly update this document.
In this version of this documentation the RLE compression scheme has been
left out. I have never seen an IPS implementation use this before.
An IPS file is made up of individual patches, which we will call clusters. Each cluster can only be 64K max in size, due to the patch size being defined as 2 bytes. The only way to determine how many clusters there are is to go though the file, reading the Patch Size and skipping those bytes until you read the address, and patch size again. Then skip those byte, and keep going until you hit EOF marker and it is at the end of the file.
IPS files have the extension of .IPS (i.e. smworld.ips).
The following example contains 3 patches, each patch is of the following byte sizes: 3, 10 and 5 bytes.
ORYou can download some IPS patches that Damaged Cybernetics has done.
If you notice any errors in this document or you develop anything with this information please send me some email.
![]()
Damaged Cybernetics is not connected or affiliated with any mentioned
company in any way. The opinions of Damaged Cybernetics do not reflect the
views of the various companies mentioned here. Companies and all products
pertaining to that company are trademarks of that company. Please contact
that company for trademark and copyright information.
|