Tooling

Tools to decompile and recompile games

These are the frameworks behind the ports in the directory. They are not games, and this site does not run them. If you are new to the terms, read the guide first, then come back and open the tool that matches the console you care about.

You want to play

Start in the directory, not in a compiler. Playable in Browser is the shortest path. A native port is next, and its README is the install guide.

Browse games

You want to learn decomp

Open decomp.me and match one function. Then read a finished matching project, such as the Super Mario 64 decompilation, to see what the long version looks like.

Read the decomp guide

You want to recompile

Pick the tool for the console, then study a port that already ships. Majora's Mask for N64, Pepsiman for PlayStation, SmackDown vs. Raw 2007 for Xbox 360.

Read the recomp guide

Match the console

Pick the tool for the machine the game shipped on. A tool is not a game: these repositories do not include the commercial title. Read a finished port in the directory before you start a blank project, and follow that repository's README for the file it expects from a copy you own.

Which decomp or recomp tool matches which console
ConsoleStart hereFinished example
Nintendo 64N64RecompMajora's Mask
PlayStationPSXRecompPepsiman
Xbox 360ReXGlue / XenonRecompSmackDown vs. Raw 2007
Any matching decompdecomp.meSuper Mario 64

The toolkits

N64Recomp

Statically recompile a Nintendo 64 game you own into C, then build a native PC port.

N64Recomp translates an N64 binary into C before you compile it. You still configure the game, hook up a renderer, and fix what the translator cannot infer. Zelda 64 Recompiled and DK64 Rekongpiled are finished examples of that pipeline. Start with the repository README and the Zelda 64 config, not with a blank project.

See it in the directory: Majora's Mask, Donkey Kong 64.

PSXRecomp

Statically recompile a PlayStation 1 game you own, using the RetroPortingToolKit lineage.

PSXRecomp turns MIPS R3000A code into C and links a hardware runtime. It is the tool family behind the Pepsiman recomp ports. The repository docs are the setup guide. Expect to bring a disc you own and to read that project's file requirements before you build.

See it in the directory: Pepsiman.

ReXGlue / XenonRecomp

Statically recompile an Xbox 360 game you own. XenonRecomp emits C++; ReXGlue is the later runtime and toolkit.

XenonRecomp, from hedge-dev, translates Xbox 360 executables into C++. ReXGlue continues that idea as a runtime and toolkit with roots in XenonRecomp and Xenia. SVR07-Recomp is built on a ReXGlue fork. Each repository documents its own build. Read the one you are actually using.

See it in the directory: WWE SmackDown vs. Raw 2007.

decomp.me

Learn matching decompilation in the browser by comparing a function you write with the original assembly.

decomp.me is a collaborative scratchpad. You pick a function, write C that should match the original assembly, and the site shows the diff. It does not host games and it does not produce a playable port by itself. It is the usual first stop if you want to practice decomp before touching a multi-year matching project.

See it in the directory: Super Mario 64, Ocarina of Time.