Guides

Decomp, recomp, and source ports, explained

These projects turn old games into code that runs on a PC or in a browser. This page is the map. The directory lists the projects, and Tools & Engines is where the recompilers and the decomp scratchpad live. Install steps stay on each project's own site.

Where to start

  1. Step 1

    Open a published browser build

    Use Playable in Browser. That filter lists games whose projects publish a launch page, including LEGO Island, Diablo, and Doom. The button leaves this site for that page.

    Playable in Browser
  2. Step 2

    Pick a native port and follow its README

    Open a game hub and read that project's own install notes. Most ports expect a copy of the game you already own. This directory never accepts that file.

    Native PC ports
  3. Step 3

    Learn the toolchain before you start a port

    decomp.me is the practice ground for matching decomp. N64Recomp, PSXRecomp, and ReXGlue are where static recomp starts, using a finished port in this directory as the example.

    Tools and engines

Decomp, recomp, and emulation

The same game can show up as a matching decomp, a static recomp, and a browser experiment. They are not interchangeable. Emulators are listed here only as the thing these ports are not.

Decompilation

People rebuild the original source and prove it matches the shipped binary. A finished matching decomp is a real codebase.

Performance

A PC port built from that source is a native program. Higher frame rates, ultrawide, and gameplay tweaks are ordinary code changes.

Timeline

This is the slow path. Naming functions and matching the binary can take years. The port usually arrives after a large part of that work is done.

What you bring

A finished port still expects the game you own unless that project says otherwise. The practice site, decomp.me, only compares one function at a time.

In this directory: Super Mario 64, Ocarina of Time, Perfect Dark.

Static recompilation

A tool translates the game binary into C or C++ ahead of time. You compile that output for a PC. It is not an emulator interpreting the old CPU each frame.

Performance

The result is native code, so the frame is not spent simulating the original processor. A renderer and game-specific fixes still decide how it feels.

Timeline

Faster to stand up than a matching decomp, because the translator does the first pass. Each game still needs configuration and a lot of fixes before it is pleasant to play.

What you bring

The recompiler does not include the commercial game. You bring a copy you own, and the port's README names the file it expects.

In this directory: Majora's Mask, Donkey Kong 64.

Emulation

An emulator is a software model of the console. This directory does not list emulators. The comparison is here so a port is not confused with one.

Performance

Accuracy is the point, so the cost of modeling the console stays, and many of the original limits stay with it.

Timeline

The emulator already exists. A supported game can run without anyone writing a dedicated port.

What you bring

Nothing from this site. If a project says static recompilation, it was translated before compile time. An emulator's dynamic recompiler translates code while the game is running, and those emulators are not listed here.

How to read a listing

Open a game and you get one hub for every port of that game. Each card names the project, its type, and whether it is self-contained or bring-your-own-ROM. Source, download, and Launch in Browser all leave this site. The README on the other side is the install guide. If the goal is to learn the work rather than play, start with the tool for that console and a finished example linked from the card.

Labels in the directory

Every game hub groups the projects under one cover. These filters are how the directory sorts the work.

What you need to own

Most ports expect a file from a game you already own. A few, such as the public LEGO Island browser build, publish a self-contained edition. recompiled.games does not host those files, does not accept uploads, and does not explain how to dump a cartridge or disc. When a project needs a file, its own docs name that file and how they want you to supply it.

PortMaster and handhelds

PortMaster packages native Linux builds for handhelds. When a porter has published a port, Steam Deck, Anbernic, and Retroid devices that run PortMaster can install it from that catalog. Start at portmaster.games and the port's own repository.

Steam Deck
SteamOS can run Linux builds directly. PortMaster also packages many native ports for the Deck. Install notes belong to PortMaster and the port.
Anbernic
Anbernic handhelds that boot a PortMaster-ready Linux image can install the same style of native port. Check the device's current firmware notes first.
Retroid
Retroid devices that run PortMaster follow the same pattern: a published port package, then that port's own files. This site does not redistribute those packages.

Common questions

What is a game decompilation?

A decompilation rebuilds a game's source from the compiled program and checks that the new source matches the original binary. It is slow work. Native ports such as Ship of Harkinian are built from that source.

What is static recompilation?

A static recompiler translates a game binary into C or C++ before you compile it for a PC. The result is native code, not an emulator running the old processor. N64Recomp and Zelda 64 Recompiled are this approach.

How is a port different from an emulator?

An emulator recreates the console and can run many games. A decomp or recomp port is a program built for your computer, so frame rate, widescreen, and mods are changes to that program. This directory lists ports, not emulators.

What is a source port?

A source port takes code that already exists, such as released source, an engine, or a finished decompilation, and retargets it to another system. Doom ports and DevilutionX are this pattern. The directory label is Source/Engine Port.

What does bring your own ROM mean?

The port is a program, and the game data stays with you. The project's own page names the file it expects from a copy you own. This site does not accept uploads and does not explain how to create that file.

What is the difference between static and dynamic recompilation?

Static recompilation translates the binary before you compile a PC program. Dynamic recompilation translates code while a game is running, which is an emulator technique. This directory lists static recomps and other ports, not emulators.

Which tool starts an N64, PlayStation, or Xbox 360 recomp?

N64 games use N64Recomp. PlayStation 1 games use PSXRecomp. Xbox 360 games use ReXGlue and XenonRecomp. Matching decomp practice starts on decomp.me. Each repository's README is the setup guide.

Can I play games on recompiled.games?

Some do. Those players run on this site, ask for a file you own, and read it in the tab. This site does not store that file and does not explain how to create it. Other Launch in Browser buttons leave for a page the project itself publishes.