ROM Bin Patcher (rombp)
github.com
What it is
ROM Bin Patcher (rombp) is a free utility for applying IPS and BPS patch files to ROMs, a process commonly used for retro gaming modifications. The maker built it primarily for the RG350M handheld running OpenDingux, and it also runs on desktop Linux. The maker reports testing on the RG350M and Ubuntu 20.04; other OpenDingux MIPS64 handhelds may work, but testing is reported only for the RG350M. To install on OpenDingux, the instructions point users to the latest OPK on the GitHub releases page. When patching, rombp first makes a copy of the source ROM, leaving the original file intact. It saves the patched ROM in the patch file’s directory, using the patch file’s name. Command-line options specify the input ROM, patch type, and output file; starting without options opens the SDL interface. The RG350 build links against uclibc and SDL2. The repository includes an MIT license that permits use and modification subject to its terms and disclaims warranties and liability.
Spec sheet
- Purpose
- rombp applies binary ROM patches commonly used for retro-gaming ROM hacks.Read 15 Oct 2026 · github.com
- License
- The repository is released under the MIT License.Read 15 Oct 2026 · github.com
- Maker
- The repository is published under the GitHub account blakesmith, whose profile identifies the account as Blake Smith and lists Chicago, IL.Read 4 Oct 2026 · github.com
- API and SDK
- The published interface is a local SDL application and CLI; no web API, SDK, or integration catalog is documented.Read 15 Oct 2026 · github.com
- BPS documentation
- The repository includes an 8.5 KB, 238-line BPS format specification with encoding and decoding examples.Read 15 Oct 2026 · github.com
- BPS file-size model
- The documented BPS variable-length encoding is designed to support file sizes beyond 16 MB or 4 GB limits.Read 15 Oct 2026 · github.com
- BPS support
- The patcher applies BPS-format patch files.Read 15 Oct 2026 · github.com
- Build requirements
- Building requires the RG350 Buildroot toolchain and an exported RG350_TOOLCHAIN path.Read 15 Oct 2026 · github.com
- Checksum behavior
- BPS patches carry CRC32 checksums for the source, target, and patch, while the specification says cryptographic hashes are outside the format's intended security model.Read 15 Oct 2026 · github.com
- Command line
- Command-line options select the input ROM, IPS or BPS patch, and output file; launching without options opens the SDL UI.Read 4 Oct 2026 · github.com
- Command-line interface
- The CLI accepts input ROM, patch, and output paths through -i, -p, and -o options.Read 15 Oct 2026 · github.com
- Desktop support
- It also runs on desktop Linux, with Ubuntu 20.04 listed as the only desktop test environment.Read 15 Oct 2026 · github.com
- Documentation and support
- The project documentation consists of a README, build instructions, command-line usage, release notes, and the BPS specification; no hosted help center or support policy is published.Read 15 Oct 2026 · github.com
- Download
- The installation instructions direct users to download the latest OpenDingux OPK from the GitHub releases page.Read 4 Oct 2026 · github.com
- Graphical interface
- Launching without command-line options opens an SDL-based file-selection interface.Read 15 Oct 2026 · github.com
- Independent context: BPS
- A Hacker News discussion linked rombp's BPS specification while describing BPS as an alternative to simple bytewise patching.Read 15 Oct 2026 · news.ycombinator.com
- Independent context: BPS adoption
- A commenter reported that SMW Central requires submitted hacks to use BPS files.Read 15 Oct 2026 · news.ycombinator.com
- Independent context: IPS limitation
- The same discussion characterizes IPS as a literal bytewise diff that can become large when data moves.Read 15 Oct 2026 · news.ycombinator.com
- Independent context: patch semantics
- The discussion explains that BPS can encode operations that copy data from the source and previously generated target rather than only overwrite fixed byte ranges.Read 15 Oct 2026 · news.ycombinator.com
- Initial release
- Release 0.0.1 was dated 1 August and described IPS support tested on Ubuntu 20.04 and RG350M.Read 15 Oct 2026 · github.com
- Installation
- The documented handheld installation method is downloading an OpenDingux OPK from GitHub Releases.Read 15 Oct 2026 · github.com
- Interface dependency
- The project links against uclibc and SDL2 for its RG350 build.Read 4 Oct 2026 · github.com
- IPS support
- The patcher applies IPS-format patch files.Read 15 Oct 2026 · github.com
- License permissions
- The MIT text permits use, copying, modification, distribution, sublicensing, and selling copies subject to its notice requirement.Read 15 Oct 2026 · github.com
- Limit: format coverage
- The documented patch formats are limited to IPS and BPS.Read 15 Oct 2026 · github.com
- Limit: platform coverage
- The maker documents Linux and OpenDingux targets and reports testing only on RG350M and Ubuntu 20.04.Read 15 Oct 2026 · github.com
- Linux support
- The program also runs on desktop Linux; the maker says they tested it with Ubuntu 20.04.Read 4 Oct 2026 · github.com
- Maker employment
- Blake Smith's profile lists Sprout Social as his employer.Read 15 Oct 2026 · github.com
- Maker identity
- GitHub identifies the repository owner as Blake Smith and lists Chicago, Illinois.Read 15 Oct 2026 · github.com
- Non-destructive patching
- Patching copies the source ROM before writing the patched result, preserving the original file.Read 15 Oct 2026 · github.com
- Other handhelds
- The author says other OpenDingux MIPS64 handhelds may work, but they were not confirmed by testing.Read 15 Oct 2026 · github.com
- Output location
- The patched ROM is saved in the patch file's directory with the patch file's name.Read 4 Oct 2026 · github.com
- Output naming
- The patched file is written beside the patch file and uses the patch file's name.Read 15 Oct 2026 · github.com
- Packaging context
- OpenDingux uses OPK application files and does not provide traditional RPM or APT package management.Read 15 Oct 2026 · blakesmith.me
- Patch formats
- It supports IPS and BPS patch files.Read 4 Oct 2026 · github.com
- Platform context
- OpenDingux documentation says newer builds support both RG350 and RG350M handhelds.Read 15 Oct 2026 · pcercuei.gitlab.io
- Platform risk
- OpenDingux documentation labels nightly builds alpha quality and warns that they may damage the handheld or data.Read 15 Oct 2026 · pcercuei.gitlab.io
- Primary device
- The project was written primarily for the RG350M handheld running OpenDingux Linux.Read 15 Oct 2026 · github.com
- Release update
- Release v0.0.4 added command-line patching support and moved patching to a separate I/O thread for improved performance.Read 4 Oct 2026 · github.com
- Release v0.0.2
- Release 0.0.2 added BPS support, patching progress feedback, and a new application icon.Read 15 Oct 2026 · github.com
- Release v0.0.4
- Release 0.0.4 moved patching to a separate I/O thread, added command-line patching, and included minor bug fixes.Read 15 Oct 2026 · github.com
- Repository activity
- The GitHub repository page showed 23 stars, 4 forks, one issue, and 116 commits when opened.Read 15 Oct 2026 · github.com
- Runtime libraries
- The RG350 build links against uclibc and SDL2.Read 15 Oct 2026 · github.com
- Target device
- The maker primarily built it for the RG350M gaming handheld, which runs OpenDingux.Read 4 Oct 2026 · github.com
- Warranty
- The license provides the software as-is and disclaims warranties and author liability.Read 15 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Applies IPS and BPS patches
- Preserves the original ROM by patching a copy
- Provides command-line options and an SDL interface
- Available as an OpenDingux OPK and for desktop Linux
Limits
- Testing is reported only on RG350M and Ubuntu 20.04
- Other OpenDingux MIPS64 handheld support is not confirmed
- MIT license disclaims warranties and liability
Who it suits
It suits people patching ROMs on an RG350M, or on desktop Linux, who want either a graphical interface or command-line options. Users of other OpenDingux MIPS64 handhelds should note that testing is reported only for the RG350M.
Verdict
rombp covers the two listed patch formats and protects the source ROM by working on a copy. Its reported testing is limited, so users of other handhelds should not assume compatibility.
Where Specifiction places it
- ROM Patching Software#4 of 208.1