decompdecomp

Free and open source · runs on your computer

Your agent decompiles your game.

Point the AI agent you already use at a game you own. It writes C or C++, one function at a time. The game's original compiler builds each attempt, and only identical bytes count.

Will it work on my game?

Pick the console. See what happens to your file.

Nintendo 64 Recommended

  1. Your fileROM.z64, .n64 or .v64
  2. Split bysplatwith spimdisasm; finds code loaded later, and compressed code
  3. Built byKMC GCC 2.7.2or IDO 5.3 / 7.1, the game's own compiler
  4. Judged byLinkingat the function's real address, compared byte for byte
  5. You getA rebuildable projectthat builds your ROM again, byte for byte

GameCube Recommended

  1. Your fileDisc or DOLISO, GCM, RVZ, WIA, CISO, GCZ
  2. Split bydecomp-toolkitin a dtk-template project
  3. Built byCodeWarriorGC 1.0 to 3.0, C and C++
  4. Judged byobjdiffin the project's own build; finished files are linked into the game
  5. You getA dtk-template projectthe shape community decomps use

Wii Recommended

  1. Your fileDisc or DOLISO, RVZ, WIA, WBFS, CISO
  2. Split bydecomp-toolkitin a dtk-template project
  3. Built byCodeWarriorup to Wii 1.7, C and C++
  4. Judged byobjdiffin the project's own build; finished files are linked into the game
  5. You getA dtk-template projectthe shape community decomps use

PlayStation Beta

  1. Your fileDisc or EXE.bin/.cue, .iso or .chd
  2. Split bysplatwith spimdisasm; overlays in the disc's other files too
  3. Built byGCC 2.7.2 / 2.8.1the PSY-Q era compilers
  4. Judged byLinkingat the function's real address, compared byte for byte
  5. You getA rebuildable projectthat builds your EXE again, byte for byte

PlayStation 2 Beta

  1. Your fileDisc or ELFthe game's main program
  2. Split bysplatwith spimdisasm
  3. Built byEE-GCC or CodeWarriorEE-GCC 2.9 to 3.2, CodeWarrior 2.3.3 / 3.0.1; C and C++; one compiler per address range when a game mixes them
  4. Judged byLinkingat the function's real address, compared byte for byte
  5. You getA rebuildable projectthat builds the program again, byte for byte

Game Boy Advance Beta

  1. Your fileROM.gba
  2. Split byluvdisplus a pass for code nothing calls
  3. Built byagbccthe compiler GBA games were built with
  4. Judged byLinkingat the function's real address, compared byte for byte
  5. You getA rebuildable projectthat builds your ROM again, byte for byte

DS Beta

  1. Your fileROM.nds
  2. Split byds-decompARM9, ITCM, DTCM and overlays
  3. Built byCodeWarrior for DS1.2 to DSi 1.6
  4. Judged byobjdiffin the project's own build
  5. You getA ds-decomp projectthat builds the ROM again on each build

Windows PC Beta

  1. Your filePrograma 32-bit x86 .exe
  2. Split byGhidrathen decompdecomp cuts each function out of the .exe
  3. Built byVisual C++6.0, 7.0 or 7.1; C and C++
  4. Judged byobjdiffper function
  5. You getA project of your game's functionsas C and C++ sources

Proprietary compilers (IDO, CodeWarrior, Visual C++) install only after you accept them in Setup. Also: 3DS, PSP, Switch and Xbox, through a fork of a community decomp repository.

How it's checked

The game's compiler is the judge. Not the AI.

Each attempt is compiled with the same compiler and flags the game was built with, linked at the function's real address, and compared with your copy. A near miss comes back with an instruction diff. Only score 0 is a match.

From your ROM 0x800007D0

slt     $v0, $a0, $a1
bnez    $v0, .L800007EC
 addu   $v0, $a1, $zero
addu    $v0, $a2, $zero
slt     $v1, $v0, $a0
beql    $v1, $zero, .L800007EC
 addu   $v0, $a0, $zero
.L800007EC:
jr      $ra
 nop

From the agent clamp_s32.c

s32 clamp_s32(s32 v, s32 lo, s32 hi) {
    if (v < lo) {
        return lo;
    }
    if (v > hi) {
        return hi;
    }
    return v;
}

score 0 36 of 36 bytes identical, built with KMC GCC 2.7.2 -O2

Yours.

  1. Your game stays on your computer. No account, no telemetry, nothing uploaded. decompdecomp supplies no games.
  2. Your agent does the work: Claude Code, Codex, Antigravity CLI, opencode, or any model with an API key. You pay your own provider.
  3. Your code comes out as a project that builds your game again, byte for byte: the start of a port or a mod.

The code from a game belongs to its rights holder. Keep it to yourself.

Start.

1 · Install

curl -fsSL https://decomp.ndelic.com/install.sh | bash

irm https://decomp.ndelic.com/install.ps1 | iex

It installs the app and the compilers, then opens the app. Windows is experimental: decompdecomp runs in WSL 2 there, which the installer turns on. macOS is coming.

2 · Tell your agent

decompile my game at ~/games/game.z64

Connect your agent one time with decomp connect. Or open Demo Quest 64 in the app and watch first.