Actions

Difference between revisions of "IPS"

From Sonic Retro

m
m (Redirected page to sega:IPS)
 
Line 1: Line 1:
'''International Patching System''', or simply '''IPS''' files are patches which modify the contents of another file. They are not self-applying, so a patching program such as [[StealthPatch]] is required. IPSes are used in the distribution of [[Hacks|ROM hacks]].
+
#redirect [[sega:IPS]]
 
 
== History ==
 
The creation of IPS is unknown; but the file format it had was considered to be malformed. It had no version number designated in the structure, allowing no future emendation without disorder amongst the software supporting the file. More problems that arose were: 1. the original files ended with the three bytes: EOF, which soon became excluded by future software that generated IPS files; 2. the future RLE addition; 3. the limit to only being able to patch 16 MB files. These three problems actually made most of the software that applied patches not function correctly. Despite all this, the file was still used as the standard for small patches.
 
 
 
=== RLE Addition ===
 
This addition isn't believed to be created by the original creators; but it allowed run-length encoding  and it was supported.
 
 
 
==File Format==
 
===Header===
 
* 5 byte ASCII string: "PATCH"
 
 
 
===Record Data===
 
* 3 byte offset where the data is to be placed in the target file
 
* 2 byte length of the data
 
* the data itself
 
N.B. Numbers of record data may vary.
 
 
 
===End of File===
 
* 3 byte ASCII string: "EOF"
 
 
 
==Restrictions==
 
* IPSes can't patch files larger than 16Mb
 
* Some patching programs can't add extra data to the end of the target file (although StealthPatch can)
 
* IPSes can't apply data to offset 0x454F46, because it reads in ASCII as "EOF"!
 
 
 
[[Category:Data Formats]]
 

Latest revision as of 13:02, 1 April 2010

Redirect to: