IUBPatchLib vs Lunar IPS
IUBPatchLib
github.comLunar IPS
fusoya.eludevisibility.orgSide by side
| Figure | IUBPatchLib | Lunar IPS |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | — |
| Linux | Yes | — |
| Plans published | 1 | 0 |
| Spec score · ROM Patching Software | 8.3 (#1) | 7.0 (#15) |
| Purpose | IUBPatchLib is a cross-platform C++ library for applying binary patches, designed with ROM hacks in mind. | Lunar IPS is a lightweight Windows utility intended to replace the SNESTool DOS program. |
Plans
In their own words
IUBPatchLib
IUBPatchLib is a free modern C++ library for applying binary patches, with ROM hacks as a stated use case. It supports IPS, UPS, and BPS formats and works on Windows, Linux, macOS, and other POSIX systems. The API uses RAII and move semantics, while the core library has no external dependencies. Developers can build shared or static libraries with CMake and integrate the project using find_package, pkg-config, or FetchContent. Optional memory-mapped I/O is available for file processing. The included iubpatch-cli can apply patches, display patch information, and validate patches. Patch options include checksum verification and backup creation. Tests and command-line tools are enabled by default in the build options; examples and benchmarks are disabled by default. The project is released under the MIT License, which provides the software as-is without warranty. The maker invites contributions through issues or pull requests and says changes are reviewed when tests pass.
Lunar IPS
Lunar IPS is a free Windows utility for creating and applying IPS patches, intended as a lightweight replacement for the SNESTool DOS program. It supports full run-length encoding and decoding, and can expand or truncate files. Its encoder produces IPS files no larger than those created with SNESTool and avoids the rare 0x454F46 EOF offset issue attributed to SNESTool’s encoder. Applying a patch can generate a ROMFileName.log file. Lunar IPS can register the .IPS file type in Windows, allowing a patch to be opened by double-clicking and then associated with a file to modify. IPS patching supports files up to 16 MB because the format uses 24-bit addressing, although an IPS file itself can be any size. Logging and file-registration settings are stored in the Windows registry. Version 1.03 is listed, updated February 2, 2022. The archive is 172K zipped or 437K unzipped, with command-line support and several listed language versions.