Difference between revisions of "IPS"
From Sega Retro
old>Hivebrain m |
Ccawley2011 (talk | contribs) |
||
(3 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{RetroCDN}} | ||
'''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]]. | '''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]]. | ||
Line 25: | Line 26: | ||
* IPSes can't apply data to offset 0x454F46, because it reads in ASCII as "EOF"! | * IPSes can't apply data to offset 0x454F46, because it reads in ASCII as "EOF"! | ||
− | [[Category: | + | [[Category:Contemporary data formats]] |
Latest revision as of 07:15, 7 July 2022
This file or page has been flagged for relocation to Retro CDN, the Wikimedia Commons-esque service for all Retro wikis. This message is for the benefit of Sega Retro wiki staff. |
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 ROM hacks.
Contents
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"!