Page 1 of 1
What is a .ips file?
Posted: Tue Feb 10, 2015 5:50 pm
by Boolean
I find an ips file at this site
http://www.romhacking.net/hacks/2294/. How does it work?
Re: What is a .ips file?
Posted: Tue Feb 10, 2015 5:57 pm
by tepples
IPS is a
patch format that stores differences between two binary files. Say someone has A.bin and B.bin, puts them into a differencing program to produce A_to_B.ips, and sends you a copy of A_to_B.ips. You obtain A.bin elsewhere. Then you can put A.bin and A_to_B.ips into a patching program to produce a copy of B.bin.
Why patch? People distribute A_to_B.ips instead of B.bin to minimize the amount of data they have to send, whether for bandwidth reasons or in an attempt to qualify for the "amount and substantiality" test under copyright exceptions.
Re: What is a .ips file?
Posted: Tue Feb 10, 2015 6:01 pm
by rainwarrior
I've always used
Lunar IPS to apply patches.
Re: What is a .ips file?
Posted: Tue Feb 10, 2015 7:04 pm
by Boolean
Thank you two. I understand.
Re: What is a .ips file?
Posted: Tue Feb 10, 2015 8:02 pm
by Drew Sebastino
This is something that has always really irritated me... I know what an .ips file is, but what's the point? I often find hacks for games and expect them to be a premade rom file, but they are often .ips files that require you to do a bit of stuff with special programs and you have to link it with the correct version of the game and a whole bunch of other nonsense. Why not just release the hacked game as a rom? I guess .ips files use less space, but the roms for a majority of these games are so small that I really don't see the point. I've only dealt with this on the SNES, so for all I know, it could be better on the NES.
Re: What is a .ips file?
Posted: Tue Feb 10, 2015 8:10 pm
by tepples
I stated the two reasons in my previous post. Let me expand:
The first is size. The IPS file might be smaller than an already-patched ROM. This was arguably more important in the dial-up era when a 56K modem would take 15 minutes to move a 32 Mbit (4 MB) ROM. And a lot of people are still stuck on pay-per-bit Internet, such as satellite or cellular, that charges $5 or more per GB.
The other is liability reasons. It is believed that the legal counsel of the games' publishers pursues people who distribute already-patched ROMs more than people who distribute patches.
Re: What is a .ips file?
Posted: Tue Feb 10, 2015 9:08 pm
by Myask
To add to the above, an ips file is a patch format that is incredibly easy-to-understand and create with just a hex-editor that a romhacker would likely have been familiar with at the time; or to create a tool to make or apply it.
In cases of most romhacks, one will just overwrite parts, and have none of the original ROM being in the patch itself. Thus, it
seems to a non-lawyer (not that I'm one) to be less criminal. This would apply to other patch formats more so; as they have, say, the capability to include "move this block there". Unfortunately, a patch remains a Derivative Work, so...
It can require very little in the way of changes to alter features or add minor bits, or perhaps enable hidden debug menus. The Game Genie was, after all, a three-byte patcher.
And yes, even now, you'll find people on dial-up...or, on cell-phone plans with tiny data allowances or straight-up per-bit charges. There's always someone. (Regardless, just because you CAN use more space doesn't mean you SHOULD..."40k should be enough for anyone", right?

)
Re: What is a .ips file?
Posted: Tue Feb 10, 2015 10:14 pm
by rainwarrior
Three things that I kinda wish IPS had, though for the most part I think it's a pretty serviceable format:
1. A CRC of the original ROM would make it easier to know if you're applying the IPS to the right ROM. This is especially an issue with SNES ROM files and their confusing header situation. This is why romhacking.net always furnishes a CRC alongside the patch.
2. A "move" operation block would help patches that need to relocate data by reducing patch size and obviating the copyright issue of containing relocated data in the patch. Manually specifying moves is easy, but building a tool that can detect moves is doable, but far from trivial, which is why it's not part of this simple format.
3. An "xor" operation might have been a better choice than "overwrite". This wouldn't save any additional space, but would at least protect data relocation against copyright infringement by making it unrecoverable without the original ROM. Wouldn't quite work if relocating over a block of zeroes, but at least the problem would be reduced.
Funnily enough, I made an IPS patch recently that worked on several versions of a game (e.g. both PAL and NTSC versions) because the stuff I needed to change were in identical positions in all variants of the ROM I could find. In this case, it was pretty convenient to have no CRC and just the overwrite operation. This is probably an edge case though, not what normally happens with IPS patches.
Re: What is a .ips file?
Posted: Wed Feb 11, 2015 2:20 am
by ccovell
It's exceedingly old, but the NES Tech FAQ I made answers this question, too:
http://www.chrismcovell.com/NESTechFAQ.html#ipspatches
Re: What is a .ips file?
Posted: Tue Feb 17, 2015 11:18 pm
by arromdee
I'm sorry, the idea that an IPS file avoids violating copyright is ludicrous. First of all
Micro Star v. Formgen ruled that a user-created mod to a video game is a copyright violation if the modified game uses any of the story or setting of the original game, even if the mod doesn't contain anything from the original game.
Furthermore, in US and international copyright law,
translations are an exclusive right of the copyright owner. A patch which contains any translated text, if the text is long enough to be copyrighted, is automatically a copyright violation, even if the patch doesn't contain the untranslated text from the original game.
Re: What is a .ips file?
Posted: Wed Feb 18, 2015 6:30 am
by tepples
When you reported the huge pile of infringements on RomHacking.net to the respective owners of copyright in the modded games, what replies did you get?
Re: What is a .ips file?
Posted: Wed Feb 18, 2015 8:22 am
by arromdee
Why does recognizing a copyright infringement require that I report one?
Re: What is a .ips file?
Posted: Wed Feb 18, 2015 8:49 am
by tepples
Because in my opinion, uncertainty about the law is worse than violation of the law. So someone has to break the bad news to RomHacking.net users. If not you, then who?
Re: What is a .ips file?
Posted: Wed Feb 18, 2015 9:01 am
by arromdee
Because in my opinion, uncertainty about the law is worse than violation of the law.
They're both uncertain about the law *and* violating it.
At any rate, I'm not a believer in utilitarian ethics, so I'm not obliged to inform people about something just because doing so helps them. In fact, the requirement that you must help people as much as you can is often considered to be
one of the flaws of utilitarian ethics.
Re: What is a .ips file?
Posted: Wed Feb 18, 2015 9:55 am
by mikejmoffitt
It's completely okay to not report them to the creators or the website who both (don't care | already know). What's going to happen to either of those entities in the case that a large company cares is that they'll be asked to remove it or have it forcibly removed. It does not matter.