RUP patch files
A RUP file is a NINJA 2.0 patch, identified by the magic bytes `NINJA2`. Unlike single-file formats, one RUP can carry patches for several files at once along with metadata such as the author, the game and a description. It stores checksums so it can verify each file before patching.
- Extension
- .rup
- Identifier bytes
- NINJA2
- Verifies your ROM
- Yes
- Can change ROM size
- Yes
- Create on this site
- Yes
- Common on
- Multi-file patch sets, Translations with author credits
Limitations
- Rarely used outside the tools that created it.
What makes RUP different
Most patch formats describe a single file transformation. RUP wraps a list of them, each with its own source checksum, expected size and command stream. That suits multi-disc games and projects that ship several ROM variants together.
The header also carries free-text metadata, so a patch can identify its author and describe what it does without a separate readme.
How to apply a RUP patch
Load your ROM and the .rup file into the patcher. RUP identifies your file by its MD5, so it only applies a patch whose stored checksum matches. If nothing in the RUP matches, the patcher refuses rather than picking one at random. Matching the MD5 the patch expects to produce is also how RUP recognises an already-patched ROM and reverses the patch.
Frequently asked questions
What does NINJA2 mean in a RUP file?
It is the format’s magic identifier, the first six bytes of every RUP file. NINJA was the patching tool the format came from, and 2.0 is the version this format corresponds to.
Can one RUP patch several files?
Yes. That is its main advantage over IPS or BPS. A single RUP can describe patches for multiple files, each independently checksummed.