Method
How the ledger is kept
A short account of what is listed, where the numbers come from, and what the labels mean.
What is listed
Public projects that recover source code for a video game: matching decompilations, non-matching decompilations, matching disassemblies, static recompilations, source ports built on a decompilation, and reverse-engineered reimplementations. Each entry is a project for one game on one platform; a game can have several.
Verified and unverified
- Verified
- The project is publicly hosted, its progress is measured from a machine-readable source (decomp.dev, a frogress endpoint, a progress badge or the repository’s own progress data), and an editor has confirmed the entry.
- Unverified
- Listed from public claims or descriptions. Progress is not measured, or no editor has confirmed it yet. Treat figures and status as provisional.
Where progress comes from
A daily job reads every linked repository through the GitHub REST API (stars, last push, contributors, licence, archived flag, topics) and looks for progress in this order: the project’s report on decomp.dev, its entry on progress.deco.mp, a progress badge or badge endpoint in its README, and a progress file in the repository. The first source that answers is remembered and used from then on. Code progress is the share of code bytes that match the original build; data progress is the same for data sections, when the project reports it.
Numbers are never typed in by hand from a project’s description. When no machine-readable source exists, the entry says “Not measured” and stays unverified.
Status
| Planning | Announced or set up, with little or no decompiled code yet. |
|---|---|
| In progress | Code is being decompiled and the project is under active work. |
| Matching complete | The source builds a byte-identical copy of the original program. |
| Shiftable / modding-ready | Code and data can move without breaking the build, so modding is practical. |
| PC port available | A native build for modern systems exists, based on the decompiled source. |
| Stalled | No meaningful public activity for a long period. |
| Archived | Read-only, discontinued or no longer publicly available. |
Approach
| Matching decompilation | C or C++ that compiles to the exact original machine code with the original compiler. |
|---|---|
| Non-matching decompilation | Functionally equivalent source that does not reproduce the original binary byte for byte. |
| Matching disassembly | Annotated assembly that rebuilds the original program; common for 8 and 16 bit systems. |
| Static recompilation | The original machine code is translated into native code ahead of time. |
| Source port | A native port built on top of a decompilation of the original game. |
| Reverse-engineered source | Source recreated by reverse engineering, often a reimplementation of the original executable. |
Open data
The full catalog is available as JSON and CSV under CC BY 4.0, and recent changes are published as an Atom feed.
Corrections
Something wrong or missing? Send a correction. See also the disclaimer.