How to Patch Your Game Dumps with XDelta on Linux

2025-02-19

I’ve been on a PlayStation Portable kick lately if you haven’t guessed from this post and another landing on the same day. Being a fan of the Phantasy Star Online series, I recently picked up Phantasy Star Portable 2 Infinity for my PSP. This is a game that never released outside of Japan, but back in 2022 some wonderful ROM hackers released an English translation for it.

Today I’m going to walk through my process of patching the ISO of my physical game, so I can enjoy more Phantasy Star in English.

Get on with it

Honestly there’s not a whole lot to this, but I can never remember the exact flags and arguments for xdelta3 to patch a binary file, so I’m writing this for future me as much as I am for you.

Install xdelta or xdelta3 (ref) with your favorite package manager.

Download the necessary patch file, so in my case I downloaded the PSP2I English patch.

Feel free to run checksums against your game image and the patch if you are so inclined.

Alright, time for the xdelta3 command. The usage format is as follows:

xdelta3 -d -s <sourcefile> <patchfile> <outputfile>

So in my case, I run the following:

xdelta3 -d -s phantasy-star-portable-2-infinity.iso \
    psp2i.xdelta \
    phantasy-star-portable-2-infinity-eng.iso

There we go! All done. Wasn’t that easy? Test it out by giving it a quick boot in PPSSPP. Copy it to your PSP and go save the universe!

Thanks for reading and happy gaming <3