Skip to content

Patching Guide

Claus Valca edited this page Sep 15, 2026 · 1 revision

🩹 Patching Guide

OpenROM includes a full ROM patcher supporting 9 patch formats — no extra tools needed.


Supported Patch Formats

Format Systems Notes
IPS NES, SNES, GBA, most retro Classic format
IPS32 Large ROMs IPS with 32-bit offsets
UPS Universal  
BPS Universal Beat patch format
PPF PS1 / PS2 Disc patch format
APS (GBA) Game Boy Advance  
APS (N64) Nintendo 64  
EBP EarthBound / SNES  
DPS DOS / PC  
xdelta3 Large ROMs, disc images VCDIFF format

OpenROM auto-detects the patch format from the file extension — no manual selection needed.


How to Patch (GUI)

  1. Go to the Patcher tab
  2. Drop your ROM file into the ROM zone
  3. Drop your patch file (.ips, .bps, .xdelta, etc.) into the patch zone
  4. Click Apply Patch
  5. Output file is saved next to your ROM

How to Patch (CLI)

# Auto-detects patch format
openrom-core --patch "game.sfc" --patch-file "translation.ips"

xdelta patch (large files like PS2 ISOs)

openrom-core --patch "game.iso" --patch-file "mod.xdelta"

Force-apply even if checksum doesn't match

openrom-core --patch "game.sfc" --patch-file "hack.bps" --ignore-checksum


CRC32 Verification

OpenROM verifies the ROM checksum before and after patching:

  • Before — confirms you have the correct ROM version for the patch
  • After — confirms the patch applied correctly

If the checksum doesn't match, OpenROM warns you before applying. You can force-apply with --ignore-checksum if you know what you're doing (e.g. patching an already-patched ROM).


Common Issues

"Checksum mismatch" warning

Your ROM version doesn't match what the patch expects. Common causes:

  • Wrong region (e.g. using a EUR ROM with a USA patch)
  • ROM is already patched
  • ROM has a copier header — use Header Removal first, then patch

xdelta patch fails

Make sure the source ROM exactly matches what the patch was made for. xdelta patches are very sensitive to source file changes.


Where to Find Patches

  • ROMhacking.net — translations, bug fixes, hacks
  • GBAtemp — especially for DS/3DS translations

Conversion MatrixHeader RemovalTroubleshooting

Clone this wiki locally