Within the context of ROM hacking, patching refers to the process of utilizing a separate file related to the main ROM, known as a patch. A ROM hack's patch only contains data of the changes between the hack and the original game's "clean" ROM, so that the patch can be re-applied to the clean ROM to effectively re-create the hack.
The most common and well-known format of patching for ROM hacks is the IPS, originating with SNESTool in 1996 and further popularized by Lunar IPS. Since 2013, however, the IPS format has been falling out of favor in lieu of the more efficient "BPS" format, created by Alcaro with Floating IPS.
The purpose of patching is to potentially get around the legal ramifications of ROM hacking; as ROMs are considered copyrighted material, distributing them directly would be a violation of copyright law. Since patches generally contain little-to-no copyrighted content, and are useless until applied to a copyrighted ROM, it is believed that distributing patches will sufficiently decrease the risk of video game companies such as Nintendo seeking legal action against ROM hacking projects.
Additionally, because patches contain only the differences between two ROMs rather than the full game itself, the size of the file being distributed is significantly smaller as well. This helps save space for the purpose of hack archival, and can accommodate for users with slower internets, such as those who still use dial-up.
IPS vs. BPS
Although IPS patches have been popularly used since the early beginnings of ROM hacking, BPS files are seen more favorably in recent years. Indeed, some websites such as SMW Central outright disallow any hacks still using the IPS format. Here are some of the main advantages that BPS files have over IPS files:
- BPS patches are generally smaller in size than IPS patches, making BPS files even more efficient for storing and archiving.
- When created, BPS patches store information on the specific "clean" ROM used to create the patch in the first place. This information in patching, to alert the user if they're attempting to apply the BPS patch to a ROM not intended for use with the patch. If someone attempts to apply an IPS patch to the improper ROM, however, the user would receive no such error and they risk corrupting the ROM.