Skip to the page
It's Decomplicated
Tools and Skills

What to install

Tools do the work. Skills tell Claude how to use them. This page lists both, says what each one needs, and shows what to check before you install.

What a skill is

A skill is a folder with a file named SKILL.md in it. The file holds steps for Claude to follow. Some skills also ship scripts and extra notes.

By default, Claude sees a short description of each skill. It loads the full file only when the job fits, or when you type /skill-name. So the long part costs nothing until Claude needs it.

Five other things sit close to skills. People mix them up. Here is each one in a line.

ThingWhat it isWhen it acts
SkillWritten steps in a SKILL.md file.When the job fits, or when you call it.
ToolA program on your computer, such as splat or Ghidra. It does the real work.When Claude or you run it.
SubagentA helper Claude with its own chat. It does a side job and sends back a short report.When Claude hands it a task.
HookA command that Claude Code runs by itself at set moments. It can block a tool call.Every time. Claude cannot skip it.
MCP serverAn add-on program that gives Claude new tools. One kind lets Claude ask Ghidra about a function.When Claude calls one of its tools.
PluginA pack of skills, subagents, hooks or MCP servers. It installs as one unit.Each part acts in its own way.

A skill is advice. A hook is a lock.

Claude can miss a line in a skill. The Claude Code docs say a rule that must hold every time belongs in a hook. For more on guard rails, see Stay on Task.

Install, check and remove a skill

The site skills.sh is a list of skills run by Vercel. Most of the skills live in public GitHub repos. A command line tool named skills copies one to your computer.

Read this first

Anthropic's own docs do not mention this installer. The folder paths below come from the installer's own repo, vercel-labs/skills. We ran version 1.8.1 once, in an empty test folder on Windows 11. It asked no questions. It put the skill in that folder only. It did not touch the home .claude folder. The remove command left an empty .claude\skills folder and an empty skills-lock.json behind.

The tool needs Node.js 22.20 or newer. Look first. Then install one skill into the project you are in.

npx skills add owner/repo --list
npx skills add owner/repo --skill skill-name -a claude-code

The first line only shows what the repo offers. The second line installs one skill for Claude Code. You can add these parts.

What you wantWhat to type
Install for all your projectsAdd -g
Skip the questionsAdd -y
Copy the files, not link themAdd --copy
Give the skill a new nameAdd --rename new-name. You need this when two skills share a name.
Lock it to one versionnpx skills add owner/repo@v1.2.3 --skill skill-name
Try it with no installnpx skills use owner/repo@skill-name
See what is installednpx skills list. Add -g for the global ones.
Get updatesnpx skills check, then npx skills update skill-name
Remove itnpx skills remove skill-name. Add -g for a global one.

Where the files land

The default

Project install

The skill goes in .claude/skills/<name>/ inside your project. By default that folder is a link to one shared copy in .agents/skills/<name>/. A file named skills-lock.json records where each skill came from.

With the -g flag

Global install

The skill goes in ~/.claude/skills/<name>/. On Windows that is C:\Users\<you>\.claude\skills\<name>\. It then loads in all your projects on this computer.

The Claude Code docs agree with part of this. They say Claude Code loads a SKILL.md from both folders. They also say a skill folder may be a link.

Check it

  • Run npx skills list to see what the tool installed.
  • In Claude Code, type /skills to list the skills Claude can see.
  • Type /skill-doctor to see what each skill costs in context. Context is the text Claude can hold in mind at once.
  • If a new skill does not show up, type /reload-skills or start a new session.

Remove it by hand

Delete the skill's folder in .claude/skills/ and in .agents/skills/. Then delete its entry in the lock file. The remove command does all three for you.

Three things to know

  • Links on Windows. Making a link can fail on Windows when Developer Mode is off. The survey thinks --copy gets around that. It did not test it.
  • One folder only. --skill copies just that skill's folder. A skill that points at files in other parts of its repo will break.
  • Usage data. For public repos, the tool sends the skill name, the skill files and the time. Set DISABLE_TELEMETRY=1 to stop that. This also turns off the audit lookup.

Read before you install

A skill is a set of orders that Claude will follow. Some skills ship scripts that Claude will run. So a bad skill can do real harm on your computer.

The site skills.sh says it cannot promise that a listed skill is good or safe. Each skill page shows three audits: Gen Agent Trust Hub, Socket and Snyk. An audit is a machine check for risky code. Treat it as a second opinion, not a promise.

  • Read the SKILL.md. Look for lines that tell Claude to download, to install, or to stop asking you.
  • Look at every script. Check what it runs, what it deletes, and if it uses the internet.
  • Check the audit on the skill's page. No audit yet means no machine has checked it.
  • Install in the project, not with -g. Then it loads only where you need it, and it is easy to remove.
  • Remove what you do not use. The name and description of each skill sit in Claude's context on every turn.

The three labels on this page

Safe-looking

The skill is text only, or its scripts stay on your computer. The survey found nothing that worried it. This is not a promise.

Use with care

If Claude follows it, something may be downloaded, installed or changed. Or it adds hooks. Read the safety note on its card first.

Avoid

It failed an audit and runs outside code on your game files. Skills with this label are not in the list below.

Skills the survey said to avoid or skip

silkyland/recomp/recomp

AvoidSwitch recomp

One audit failed it with a high risk mark. Its scripts copy an outside repo and install packages. Then they run that repo's tools on your game and on your prod.keys file. The repo is days old and has no licence. The survey says its text is still worth a read as a method.

tanepiper/game-frame/re-start

Skip

It tells Claude: "You are not the judge of the user's intentions". That line tries to switch off Claude's own judgement.

hammerill/universal-decompiler

Skip

The repo is archived. It tells Claude not to stop and ask. One part can open public pull requests from your GitHub account, after it asks you.

freeqaz/dc3-decomp/vtable

Skip

One audit failed it. It also calls scripts that exist only inside that one project.

vercel-labs/skills/find-skills

Skip

It lets Claude search skills.sh and install what it finds for all projects, with no question asked. Search by hand.

ahmedtahaatiya/universal-modder-unrestricted

Skip

Its name says that limits were removed. The survey did not read it and would avoid it.

Skill text can try to steer Claude

The survey found four skill files with lines aimed at the agent. None looked like a try to steal data. No skill asked for your logins. Still, treat a skill file like any text from a stranger.

What skills.sh has, and what it lacks

The survey for this site ran 330 searches on skills.sh on 2026-11-13. They turned up 8,662 different skills. It kept 39 and read the SKILL.md of each one. Three long ones were read only in part.

  • The site has no topic for reverse engineering or game decomp. Reverse engineering means working out how a program works from the program itself.
  • A search still finds more than a dozen small repos made for this exact work.
  • Almost all of them have fewer than 20 installs. All came out in 2026, most since June.
  • Nobody has vetted the authors. So the install count tells you nothing about quality here.
  • The popular reverse engineering skills are about malware, hacking contests and phone apps. They add little for consoles.
  • Nothing was run on a real game. A high rating means the steps are exact and fit how real projects work.

How much help each system gets

How much helpSystems
Well servedNintendo 64, PlayStation 2, Xbox 360
Some helpPlayStation, PSP, GameCube, Wii and Xbox. The help comes from the general matching skills.
Nothing usable foundWii U, PlayStation 4, PlayStation 5, Nintendo 3DS and Switch 2. Also decomp on 8 and 16-bit systems: NES, Super Nintendo, Game Boy and Genesis.
No recomp skillPlayStation, PlayStation 3, GameCube, Wii and Xbox. The one Switch recomp skill failed an audit.
Not in the surveyGame Boy Color, Game Gear, Dreamcast, Saturn, 32X, Virtual Boy, Amiga, Arcade and CD-i. The survey names no skill for these. It searched for Dreamcast and MAME by name, but not for the rest.

No skill changes Claude's own rules

Claude may say no. Since 2026-10-27 Claude Code has a rule against building a recreation of a specific existing game. It was written about remaking games from scratch. No source says how it applies to decomp work. Do not look for a way around it.

Claude may also switch models. Safety checks can move a session from Fable 5.2 or Opus 5.5 to an older model when content looks like security work. Type /model to switch back. To test if a skill or an MCP server is the cause, start with claude --safe-mode. That turns them off.

The list

These are the 39 skills the survey kept. Game decomp skills come first, then reverse engineering skills, then workflow skills. Each card shows how useful the skill is, its safety label, what it needs, and the install command. A card with no install count means skills.sh had no record of that skill yet.

ps2-recomp-Agent-SKILL

HIGH useUse with care8 installs

A rule set for PS2Recomp ports, with a large PS2 hardware guide. It forbids cleaning the build, because a full rebuild takes more than 30 hours.

Needs: PS2Recomp and ps2xRuntime. Windows with Visual Studio. Ghidra with GhydraMCP. Your own ISO or ELF. The skill name has capital letters, which some tools may not accept.

Safety note: One script downloads GhydraMCP with no hash check and edits an MCP settings file. Do not let Claude run it. Install GhydraMCP yourself. One audit rates the skill medium risk.

npx skills add hkmodd/ps2-recomp-agent-skill --skill ps2-recomp-Agent-SKILL -a claude-code

MIPS

matching-decomp

HIGH useSafe-looking6 installs

Gives Claude a method and a small tool, dk.py, for matching one function at a time. State lives in files, so a crashed session can pick up again.

Needs: Python 3.9 or newer with pyelftools. A splat style project with the original compiler, objdump and git. m2c and decomp-permuter are optional. The tool works on MIPS code only.

Safety note: dk.py runs your compiler, objdump and git. It makes commits and undoes work that does not match, so save your own work first. The survey found no network code. All three audits on skills.sh rated it safe or low risk.

npx skills add ketbome/decomp-skills --skill matching-decomp -a claude-code

MIPS

matcher

HIGH useSafe-looking5 installs

A deep method for matching one C or C++ function. Claude gathers proof first, tests one idea at a time, and reports fake matches as not done.

Needs: A matching project that can compare one function, check the whole game file, and run the original compiler. You describe it in AGENTS.md. Install the five other lemiur matching skills with it. They call each other by name.

Safety note: It is text only, with no scripts. The repo has no licence file. All three audits on skills.sh rated it safe or low risk.

npx skills add lemiur/game-decompilation-skill-for-claude --skill matcher -a claude-code

All systems

orchestrator

HIGH useSafe-looking5 installs

Runs a matching push with many workers. Each worker gets its own git worktree and its own slice of the game. Every merge must pass the byte check.

Needs: Git worktrees, subagents or extra sessions, a byte check, a rule checker, and an AGENTS.md file.

Safety note: It is text only. If the compiler is missing, it sends you to Internet Archive. Whether that is legal for you is your call, not Claude's. All three audits on skills.sh rated it safe or low risk.

npx skills add lemiur/game-decompilation-skill-for-claude --skill orchestrator -a claude-code

All systems

debug-game-in-emulator

HIGH useSafe-looking2 installs

Makes each emulator run the same way: a throwaway data folder, a log file and a time limit. Claude must name the layer that failed before it changes anything.

Needs: The emulator for your system: PCSX2, DuckStation, Dolphin, RPCS3, PPSSPP or xemu. Your own BIOS and game dumps. A debugger is optional.

Safety note: It is text only. It starts emulators you already have. It refuses to fetch a BIOS, games or keys. Both audits on skills.sh rated it safe.

npx skills add xsyetopz/skills --skill debug-game-in-emulator -a claude-code

MIPS PowerPC x86

xbox360-decomp

HIGH useSafe-looking2 installs

The only Xbox 360 skill found. It covers ReXGlue, XenonRecomp and matching decomp. It has a set routine for when the same crash happens twice.

Needs: Your own default.xex. The ReXGlue SDK or XenonRecomp. CMake with Visual Studio 2022 or clang. Ghidra with XEXLoaderWV.

Safety note: It is text plus five optional patch files for the ReXGlue SDK. It was written for Cursor first, so its install notes name Cursor folders. It has no licence file. All three audits on skills.sh rated it safe or low risk.

npx skills add dohmboy64bit/xbox360-decomp-skill --skill xbox360-decomp -a claude-code

PowerPC

decompile-to-matching-c-cpp

HIGH useSafe-looking1 install

Rules for writing C or C++ that builds to the same bytes as the game. It bans fake matches and has notes for five compiler families.

Needs: splat or decomp-toolkit, m2c, objdiff-cli, decomp-permuter and the game's original compiler. It ships no scripts.

Safety note: It is text only. Nothing in it asks Claude to download, install or send anything. The author is new and unvetted, so read it first. Both audits on skills.sh rated it safe.

npx skills add xsyetopz/skills --skill decompile-to-matching-c-cpp -a claude-code

MIPS PowerPC x86

recompile-console-binary

HIGH useSafe-looking1 install

Guides static recompilation with N64Recomp, XenonRecomp, PS2Recomp or rexglue. Its main rule: never edit the machine-made code. Fix the settings and run the tool again.

Needs: The recompiler for your system, a C or C++ compiler for your PC, and your own game file. It ships no scripts.

Safety note: It is text only. It tells Claude not to bundle game data. The author is new and unvetted, so read it first. Both audits on skills.sh rated it safe.

npx skills add xsyetopz/skills --skill recompile-console-binary -a claude-code

MIPS PowerPC

n64-decomp

HIGH useSafe-looking1 install

A full Nintendo 64 guide for matching decomp and N64Recomp PC ports. It loads one topic file at a time and keeps a project state file.

Needs: uv with splat64, MIPS binutils and your own ROM. N64Recomp for a port. Ghidra and emulator MCP servers are optional.

Safety note: One script runs splat and your compiler. It deletes the build folder on a clean. No network code was found. Make any MCP settings change by hand. All three audits on skills.sh rated it safe or low risk.

npx skills add dohmboy64bit/n64-decomp-skill --skill n64-decomp -a claude-code

MIPS

n64-decomp-setup

HIGH useSafe-looking1 install

Step by step start of a new Nintendo 64 decomp. Split the ROM with splat, build with ninja, add a hash check, then find the compiler.

Needs: uv, Python, ninja, MIPS binutils and your own ROM. It copies ultralib and installs m2c from GitHub.

Safety note: If followed, Claude copies ultralib and adds Python packages. Its build script deletes three folders on a clean. skills.sh has no audit yet and still shows the old name, n64-decomp.

npx skills add marijnvdwerf/agent-skills --skill n64-decomp-setup -a claude-code

MIPS

decomp-matching-workflow

HIGH useSafe-looking

Explains how matching decomp projects are run, alone or with many agents. It sets a try limit for each function and gives workers a claim queue.

Needs: Python 3 for claimq.py. Then dtk, splat, objdiff or reccmp, and the original compiler. Which ones depends on your system.

Safety note: Its one script, claimq.py, only makes and deletes claim files on your disk. The repo is new and unvetted. skills.sh has no audit or install count for it yet.

npx skills add madpai/game-decomp-compendium --skill decomp-matching-workflow -a claude-code

All systems

gamedecomp-library

HIGH useUse with care

Lets Claude search a list of about 790 decomp and reverse engineering projects. Use it once at the start to find work that already exists for your game.

Needs: Python 3. The internet on first use, if the data folder is missing. gh and git for two of its scripts.

Safety note: Its scripts download data from the author's GitHub and can copy other repos to your disk. Treat what it finds as hints. Do not run the repo's own install.sh. skills.sh has no audit or install count for it yet.

npx skills add madpai/game-decomp-compendium --skill gamedecomp-library -a claude-code

All systems

native-platform-porting

MEDIUM useSafe-looking6 installs

Guides a true PC port of decompiled console code. It warns Claude not to hide a small emulator inside the port.

Needs: C or C++ source to port, and a modern compiler with sanitizers. Sanitizers are bug finders built into the compiler.

Safety note: It is text only. All three audits on skills.sh rated it safe or low risk.

npx skills add lemiur/game-decompilation-skill-for-claude --skill native-platform-porting -a claude-code

All systems

wall-identifier

MEDIUM useSafe-looking5 installs

Finds out why a function will not match before Claude spends more tries on it. Each cause has its own next step.

Needs: A project diff tool that shows call, branch and return counts, and where each call really points.

Safety note: It is text only. All three audits on skills.sh rated it safe or low risk.

npx skills add lemiur/game-decompilation-skill-for-claude --skill wall-identifier -a claude-code

All systems

decomp-code-rules

MEDIUM useSafe-looking5 installs

A written standard with 37 rules for decompiled code. It says what counts as a real match and what is a fake one.

Needs: A project AGENTS.md that names the code style and the rule check command.

Safety note: It is text only, with one large rules file. All three audits on skills.sh rated it safe or low risk.

npx skills add lemiur/game-decompilation-skill-for-claude --skill decomp-code-rules -a claude-code

All systems

helper-recovery

MEDIUM useSafe-looking5 installs

Finds small helper functions and macros that the compiler folded into bigger functions. Many near matches hide one of these.

Needs: A matching project that builds and reports a score.

Safety note: It is text only. All three audits on skills.sh rated it safe or low risk.

npx skills add lemiur/game-decompilation-skill-for-claude --skill helper-recovery -a claude-code

All systems

permute

MEDIUM useSafe-looking5 installs

Keeps permuter use honest. A permuter tries many small code changes to find a match. Claude must explain the result, not just copy it.

Needs: A permuter for your compiler, such as decomp-permuter, and a tool that compares one function.

Safety note: It is text only. All three audits on skills.sh rated it safe or low risk.

npx skills add lemiur/game-decompilation-skill-for-claude --skill permute -a claude-code

All systems

dl-binary-recompilation-engineer

MEDIUM useUse with care2 installs

A design guide for building your own recompiler when no mature one exists for your system. It covers the chip, the runtime and the tests.

Needs: Nothing you must have. It prefers Ghidra and, if you have it, the REA MCP server.

Safety note: It is text only. It suggests npx rea-agents setup, which downloads and runs a package and changes MCP settings. One audit flags this. Decide for yourself before Claude runs it.

npx skills add alexishida/dalhe-cli --skill dl-binary-recompilation-engineer -a claude-code

MIPS PowerPC

n64-decomp-splat

MEDIUM useSafe-looking1 install

A reference for editing a splat settings file. It stops Claude from guessing how segments are written.

Needs: A splat project. It was written for Nintendo 64, but most of it fits PS1, PS2 and PSP too.

Safety note: It is text with three reference files. The two audits on skills.sh rated it safe or low risk.

npx skills add marijnvdwerf/agent-skills --skill n64-decomp-splat -a claude-code

MIPS

n64-decomp-ido

MEDIUM useSafe-looking1 install

Explains how asm-processor lets assembly and C sit in one file. It is only for Nintendo 64 games built with the IDO compiler.

Needs: The IDO compiler, version 5.3 or 7.1. Also asm-processor and a MIPS assembler.

Safety note: It is 45 lines of text. If followed, Claude downloads a ready-built asm-processor from that project's GitHub page. skills.sh has no audit for it yet.

npx skills add marijnvdwerf/agent-skills --skill n64-decomp-ido -a claude-code

MIPS

pcrecomp

MEDIUM useUse with care1 install

A guide to the pcrecomp tools for recompiling old Windows and DOS games. It tells Claude to check every command flag against the tool's own code.

Needs: A copy of sp00nznet/pcrecomp. Python 3.10 or newer with capstone. CMake 3.20 or newer. Visual Studio 2022. Ghidra 11 or newer. Your own game files.

Safety note: It is text only. It describes tools that get around SafeDisc copy protection. That may be against the law where you live, so check first. All three audits on skills.sh rated it safe or low risk.

npx skills add dohmboy64bit/pcrecomp-skill --skill pcrecomp -a claude-code

x86

write-emulator-patches

MEDIUM useSafe-looking1 install

Helps Claude write and test emulator patches and cheats in each emulator's own format. Good for testing an idea on the real game.

Needs: The emulator, and Python 3 for the two checker scripts.

Safety note: The two scripts only read local files. The survey found no network code. Both audits on skills.sh rated it safe.

npx skills add xsyetopz/skills --skill write-emulator-patches -a claude-code

MIPS PowerPC

matching-decomp

MEDIUM useUse with care1 install

The only matching skill found with Game Boy Advance and DS notes. It sorts each request into a mode, so Claude does not edit when asked only to explain.

Needs: Ghidra with PyGhidra, objdiff-cli, Python and your project's build. Its helper scripts sit outside the skill folder, so you must copy the whole repo.

Safety note: The installer copies only the skill folder, so the links to its scripts break. It was built around one DS project and names OpenCode and Codex, not Claude Code. It shares its name with the ketbome skill, so use --rename if you install both.

npx skills add xavirodriguez/skills --skill matching-decomp -a claude-code

ARM MIPS PowerPC

engine-reimplementation

MEDIUM useSafe-looking

A table of ways to get a shipped game running on new systems, with the effort and the check for each. Read it before you pick a path.

Needs: Nothing extra. It points to hub.py from the gamedecomp-library skill.

Safety note: It is text with one reference file. The repo is new and unvetted. skills.sh has no audit or install count for it yet.

npx skills add madpai/game-decomp-compendium --skill engine-reimplementation -a claude-code

All systems

static-recomp-av-compare

MEDIUM useSafe-looking

Scripts that score your port's video and sound against recordings of the real game. Each scene gets a pass or a fail.

Needs: ffmpeg, Python 3, and recordings you made yourself.

Safety note: The scripts run ffmpeg and write reports. No network code was found. It was written for Codex, so the script paths need a fix for Claude Code. skills.sh has no audit or install count for it yet.

npx skills add bgyss/switchrecomp --skill static-recomp-av-compare -a claude-code

All systems

static-recomp-scope-plan

MEDIUM useSafe-looking

Makes you write down what a correct port means before work starts: the exact game build, the scenes to test, and the numbers to hit.

Needs: Nothing extra.

Safety note: It is text only. skills.sh has no audit or install count for it yet.

npx skills add bgyss/switchrecomp --skill static-recomp-scope-plan -a claude-code

All systems

reverse-engineer-binary

HIGH useUse with care1 install

Rules for studying a game file in Ghidra, IDA, radare2, rizin or angr. Claude must read the assembly first and give an address with every claim.

Needs: Ghidra and a JDK. Optional: pyghidra-mcp, ghidra-ai-bridge, IDA Pro, radare2, rizin or angr. Console files still need the community Ghidra loaders.

Safety note: It ships no scripts. If followed, Claude installs outside packages and adds an MCP server to your project. One audit flags this. Choose and install the Ghidra bridge yourself.

npx skills add xsyetopz/skills --skill reverse-engineer-binary -a claude-code

All systems

reverse-engineer-anything

MEDIUM useUse with care18K installs

The manual for REA, an MCP server with many reverse engineering tools. Most of it is about web, phone and desktop apps, not consoles.

Needs: The REA MCP server (npm package rea-agents) and Node.js. Ghidra, IDA or Hopper for game code. Console files need the usual Ghidra loaders.

Safety note: Its fallback runs npx -y rea-agents@latest, which downloads and runs the newest package. It can drive live browsers and debuggers. Two audits rate it medium risk.

npx skills add morluto/rea --skill reverse-engineer-anything -a claude-code

All systems

ghidra-headless

MEDIUM useSafe-looking586 installs

Runs Ghidra with no window and saves the code, functions, text and symbols to files. Useful when you do not want an MCP server.

Needs: Ghidra, JDK 17 or newer, and bash (Git Bash on Windows). On Windows, set GHIDRA_HOME yourself. A raw ROM file needs a loader first.

Safety note: Its scripts find and run your own Ghidra and write export files. No network code was found. All three audits on skills.sh rated it safe or low risk.

npx skills add trailofbits/skills-curated --skill ghidra-headless -a claude-code

All systems

idapython

MEDIUM useSafe-looking372 installs

A cheat sheet for modern IDAPython, so Claude's IDA scripts work the first time. Skip it if you use Ghidra.

Needs: IDA Pro with Hex-Rays, which is a paid licence. IDA Free has no IDAPython. It is normally used with the ida-pro-mcp server.

Safety note: It is text plus about 100 reference files. All three audits on skills.sh rated it safe or low risk.

npx skills add mrexodia/ida-pro-mcp --skill idapython -a claude-code

All systems

x86-cpp-reversing

MEDIUM useSafe-looking9 installs

A six step method to rebuild the C++ classes of a 32-bit x86 game file. Every finding must point to a real instruction.

Needs: radare2, binutils and Python with LIEF. Optional: Triton, GDB or WinDbg, and OOAnalyzer. It refuses 64-bit files.

Safety note: One audit marks it suspicious because it covers anti-debugging topics. The survey found no network code in its scripts. The other two audits rated it safe or low risk.

npx skills add gavmor/x86-cpp-reversing-skill --skill x86-cpp-reversing -a claude-code

x86

re-binary-recon

MEDIUM useSafe-looking

Small Python scripts that study a Windows game file. They find the compiler, list the C++ classes, and link debug text to the code that uses it.

Needs: Python 3 only. It reads Windows .exe and .dll files. It does not read console game files.

Safety note: The scripts only read files. The survey found no network code and no outside commands. skills.sh has no audit or install count for it yet.

npx skills add madpai/game-decomp-compendium --skill re-binary-recon -a claude-code

x86

handoff

HIGH useSafe-looking1.1M installs

Writes a short handoff note so a fresh session can carry on. Only you can start it. Claude cannot start it by itself.

Needs: Nothing extra.

Safety note: It is 17 lines of text. It saves the note in your temp folder, which gets cleared sooner or later. Tell it to save inside your project. All three audits on skills.sh rated it safe or low risk.

npx skills add mattpocock/skills --skill handoff -a claude-code

All systems

verification-before-completion

HIGH useSafe-looking275.4K installs

One rule: Claude may not say a job is done without fresh proof. It must run the check, read the result, and show it.

Needs: Nothing extra.

Safety note: It is text only. All three audits on skills.sh rated it safe or low risk. It comes with the superpowers plugin, so check /skills before you install it again.

npx skills add obra/superpowers --skill verification-before-completion -a claude-code

All systems

dispatching-parallel-agents

HIGH useSafe-looking234.7K installs

Shows Claude when to split work across subagents and how to brief each one. It also says when not to split.

Needs: A subagent tool. Claude Code has one.

Safety note: It is text only. All three audits on skills.sh rated it safe or low risk. It comes with the superpowers plugin, so check /skills before you install it again.

npx skills add obra/superpowers --skill dispatching-parallel-agents -a claude-code

All systems

systematic-debugging

MEDIUM useSafe-looking332.1K installs

Four phases with one hard rule: no fix until the cause is found. After three failed fixes, Claude must stop and rethink.

Needs: Nothing extra.

Safety note: It is text plus one small shell script. One audit rates it medium risk. The survey found only sample commands that could explain that. It comes with the superpowers plugin, so check /skills before you install it again.

npx skills add obra/superpowers --skill systematic-debugging -a claude-code

All systems

subagent-driven-development

MEDIUM useSafe-looking255.6K installs

Runs a written plan with one fresh subagent for each task and a review after each. Progress is kept in a file, so a long run can resume.

Needs: A plan file, git, bash and a subagent tool.

Safety note: Its helper scripts only handle local files and git. It does not check in with you between tasks. It comes with the superpowers plugin, so check /skills before you install it again.

npx skills add obra/superpowers --skill subagent-driven-development -a claude-code

All systems

using-git-worktrees

MEDIUM useSafe-looking233.8K installs

Makes sure work happens in its own git worktree, a separate copy of the project folder. That keeps parallel workers apart.

Needs: git.

Safety note: It is text only. Its setup step can run npm install or pip install by itself, and it may edit .gitignore. It comes with the superpowers plugin, so check /skills before you install it again.

npx skills add obra/superpowers --skill using-git-worktrees -a claude-code

All systems

planning-with-files

MEDIUM useUse with care48.8K installs

Keeps a plan, findings and progress in three files on disk. Hooks feed the plan back to Claude on every prompt and before tool calls.

Needs: bash or PowerShell, and Python for its scripts.

Safety note: It adds hooks that run its scripts on every prompt and tool call. The survey read only one of those scripts. Its loop mode can keep Claude going after it would have stopped.

npx skills add othmanadi/planning-with-files --skill planning-with-files -a claude-code

All systems

Skills by chip family

A chip family is a group of systems whose main chips speak the same machine language. Skills tend to follow the chip, so start there.

On every system, begin with the general set. That is reverse-engineer-binary or a Ghidra MCP server, decomp-matching-workflow, gamedecomp-library, and one workflow skill. The table adds the picks for each system.

FamilySystemsSkills to start withWhat is missing
MIPSNintendo 64n64-decomp as the main skill. n64-decomp-setup, n64-decomp-splat and n64-decomp-ido for exact steps. recompile-console-binary for a recomp. matching-decomp from ketbome for the function loop.Nothing big. The survey calls it well served.
MIPSPlayStationmatching-decomp from ketbome. decompile-to-matching-c-cpp. debug-game-in-emulator with DuckStation. native-platform-porting for a port.No PS1 recompiler skill. dl-binary-recompilation-engineer is a design guide if you build one.
MIPSPlayStation 2ps2-recomp-Agent-SKILL for a recomp. recompile-console-binary and decompile-to-matching-c-cpp. matching-decomp from ketbome. debug-game-in-emulator and write-emulator-patches with PCSX2.Nothing big. The survey calls it well served.
MIPSPSPmatching-decomp from ketbome. debug-game-in-emulator with PPSSPP.Nothing made just for PSP.
PowerPCGameCube, Wiidecompile-to-matching-c-cpp. decomp-matching-workflow. The six lemiur matching skills. debug-game-in-emulator with Dolphin.No skill made just for these two. No recomp skill.
PowerPCXbox 360xbox360-decomp as the main skill. recompile-console-binary and decompile-to-matching-c-cpp.Nothing big. The survey calls it well served.
PowerPCPlayStation 3debug-game-in-emulator with RPCS3. A short note in decompile-to-matching-c-cpp.No recomp skill.
PowerPCWii UNothing found.All of it.
x86XboxThe six lemiur matching skills. x86-cpp-reversing. decompile-to-matching-c-cpp. debug-game-in-emulator with xemu.Nothing made just for Xbox.
x86PCpcrecomp for a recomp. re-binary-recon for a first look. The lemiur skills and decomp-matching-workflow for matching.The survey names no gap.
x86PlayStation 4, PlayStation 5Nothing for decomp.All of it.
ARMGame Boy Advance, Nintendo DSmatching-decomp from xavirodriguez. It needs its whole repo copied. Or use the general matching skills.Skills for mGBA scripts exist. The survey did not read them.
ARMNintendo Switchstatic-recomp-scope-plan and static-recomp-av-compare for checking a port.The only recomp skill is marked Avoid.
ARMNintendo 3DS, Switch 2Nothing found.All of it.
8 and 16-bitNES, Super Nintendo, Game Boy, GenesisNo skill worth using was found.The search found only leads that the survey did not read.
OtherGame Boy Color, Game Gear, Dreamcast, Saturn, 32X, Virtual Boy, Amiga, Arcade, CD-iThe survey names no skill.Not known. Use the general set.

The six lemiur matching skills are matcher, orchestrator, decomp-code-rules, helper-recovery, wall-identifier and permute. Install them as a set. They call each other by name.

Skills and add-ons you may already have

Claude Code ships with some skills. A plugin you already use may hold more. Check with /skills before you install a skill twice.

Skills that come with Claude Code

CommandWhat the docs say it doesWhere it fits here
/batchSplits a big change into 5 to 30 units and shows a plan. Then one background subagent does each unit in its own worktree.Many small units of the same kind.
/loopRuns a prompt again and again on a timer. Each run is one more turn in the same session.Watching a long build. Do not leave it on in a long chat.
/code-reviewA review by a reviewer that did not write the code.The second pair of eyes after a batch of work.
/doctorOffers trims to your instruction files. /doctor prompt-audit flags old or clashing lines.Keeping CLAUDE.md short.
/fewer-permission-promptsScans your past sessions for common read-only commands. Then it adds an allow list to the project settings.Fewer stops to ask you about safe commands.

The docs list more bundled skills: /debug, /run, /verify, /simplify, /claude-api, /run-skill-generator and /update-config. Our notes do not say what each of those does, so this page does not guess.

Workflow skills the survey rated high

verification-before-completion

Claude may not say "done" without fresh proof. Point it at your byte check. It has 275,387 installs.

dispatching-parallel-agents

It shows Claude when to split work across subagents and how to brief each one. It has 234,746 installs.

handoff

It writes what the next session needs. It has 1,134,085 installs. Tell it to save the note inside your project.

The first two come with the superpowers plugin. If you have that plugin, you have them. Anthropic's skill-creator skill is also worth having. The survey says to use it to turn your own project rules into a skill.

Pick one planning style, not three

Popular workflow skills overlap. handoff and planning-with-files both save state between sessions. So do the state files built into matching-decomp, n64-decomp and ps2-recomp-Agent-SKILL. Pick one of them.

The same goes for parallel work. The superpowers skills, orchestrator and the claim queue in decomp-matching-workflow all hand out work. You do not need two of them at once. This site's method already keeps state in ledger files, so a small skill is enough.

Max 20x (now called Ultra)

You have room for the parallel skills. Each subagent still spends from the same limit as your main chat. Your platform guide says how many workers to run.

Max 5x (now called Max)

Run fewer workers at once. Start with verification-before-completion and handoff. Add a parallel skill only when your check is strict.

MCP servers that help

An MCP server gives Claude new tools. Here, the useful ones let Claude ask a disassembler questions or drive an emulator. A disassembler turns a game's machine code into text you can read.

ServerWhat it gives ClaudeNotes from real projects
GhidraMCPGhidra's tools to decompile, rename and list functions.A Ghidra add-on plus a Python bridge. It can run with no window through PyGhidra.
GhidrAssistMCPA second Ghidra add-on that speaks MCP.One author found the MCP setup fragile. That author liked Ghidra with no window better.
ida-mcpThe official IDA server from Hex-Rays.Needs IDA 9.4 or newer and Python 3.11 or newer. One author wrote: "It's super stable, it's headless". Headless means it runs with no window.
binary_ninja_mcpBinary Ninja's tools to decompile, rename and patch.Needs Binary Ninja and Python 3.12 or newer.
dolphin-debugger-mcpBreakpoints, watchpoints and memory in Dolphin, the GameCube and Wii emulator.It knows the names from a decomp's symbol map. Its author used it to fix names that an earlier AI pass had made up.
dolphin-dapA Dolphin fork that can step through source code, with an MCP client.It starts on Linux or Windows.
A custom PCSX-Redux serverA way for Claude to drive a PS1 emulator.A PS1 recompiler project used it with GhidraMCP. Our notes have no link to the server itself.

Some skills on this page name their own servers. These are pyghidra-mcp, GhydraMCP, Mupen64MCP, a PCSX2 debug server and REA. Read the skill's card before you add one.

You may not need a server at all. One N64 project used no MCP servers, only plain scripts. Another test gave Claude a single tool that compiles code and shows the assembly.

The PS1 project shows the other side. Without Ghidra, Claude "burned a huge number of tokens and required constant redirection". The author then made Claude check each choice against Ghidra.

What a server costs in context

  • At the start, Claude Code loads only the tool names and the server's notes. The full tool details load when Claude needs them. The docs call this tool search.
  • There is still a cost. The docs say a connected server adds its tool names and notes even when you do not use it. So turn off the ones you do not need.
  • The docs also say a plain command line tool uses less context than an MCP server, when one exists.
  • Type /context to see what fills the space. Type /mcp to turn a server on or off.
  • A big answer from a server does not all reach Claude. Past 25,000 tokens, Claude Code saves it to a file and gives Claude the path.

How to add one

claude mcp add --scope project <name> -- <command> [args...]
claude mcp add --transport http <name> <url>
claude mcp list
claude mcp remove <name>

The first form starts a server program on your computer. The two dashes split Claude's own options from the server's command. The second form connects to a server at a web address.

--scope sets who gets the server. local is the default: only you, in this project. project saves it in a .mcp.json file that you can share. user gives it to all your projects.

Each server's own page gives the exact command. The first form runs a program on your computer, so read that page before you add it.

Write your own project skill

The best skill for your game may be one you write. The survey says a skill built from your own project's rules will serve one game better than any general skill.

Make a skill when you keep giving Claude the same steps. The docs say a procedure with many steps belongs in a skill, not in CLAUDE.md. A skill's body loads only when it is used.

Real projects did this. One GameCube pull request says: "I wrote some decompilation Skills, then told Claude to match functions one at a time". The project's bot counted 51 new matches in it.

Where the file goes

Put it in .claude/skills/<skill-name>/SKILL.md inside your project. It then loads in every session in that repo. Commit it to share it.

The top block that matters

A SKILL.md has two parts. The top block sits between two --- lines and holds settings. The docs call it frontmatter. Below it come the steps, in plain Markdown.

FieldWhat it does
descriptionThe text Claude matches a job against. Put the main use first. Every field is optional, and this is the only one the docs recommend.
nameThe name of the skill. You call it with /name.
disable-model-invocation: trueOnly you can start the skill. Claude cannot start it by itself.
allowed-toolsLets the skill use the named tools without asking you. This lasts for that one turn only.
pathsFile patterns. Claude loads the skill by itself only when it works on files that match.
context: forkRuns the skill in a new subagent. That subagent does not see your chat.
  • Field names are lowercase with hyphens. Claude Code skips a field it does not know and gives no error. So check your spelling.
  • Keep the file under 500 lines. Move long notes to other files in the same folder and link to them.
  • Put the key rules near the top. When a long chat is squeezed down, only the first part of each skill is kept.

A small example: run the check

---
name: run-check
description: Run the project check and report the result. Use before you call any work done.
---

# Run the check

1. Run `<your check command>` from the project root. Let it finish.
2. Read the whole output and the exit code.
3. Start your report with one word: DONE, PARTIAL or BLOCKED.
4. Paste the last 20 lines of the output as proof.

Rules:
- Never edit the check script or the expected hashes.
- If the check fails, do not change the check. Fix the code or stop.
- "Should work" is not a result. No output means not done.

Save it as .claude/skills/run-check/SKILL.md. Then type /run-check, or let Claude pick it by its description.

Two tips from the docs

Claude runs a project skill named verify right before each commit. This needs version 2.1.286 or newer, and it skips changes to docs or tests.

A skill is still advice. If a rule must hold every time, the docs say to move it into a hook.

To see project skills in a real decomp, read the ones in freeqaz/dc3-decomp. The survey calls them a good model for an Xbox 360 matching project. They only work inside that project.

The tools

Skills are the small part. Programs do the real work. Which ones you need depends on the kind of work.

There are three kinds. Static recomp uses a tool to turn the game's machine code into C. It is the fast way to a running game. Matching decomp rewrites the game as C that builds to the same bytes. A port takes a finished decomp and swaps the console parts for PC parts.

Each recompiler is made for one or two systems, so those are in the platform guides. The tools below are shared by many systems. Most are for matching decomp.

ToolWhat it doesSystemsWindows or WSL
splatSplits a game file into pieces for a decomp project.N64, PS1, PS2, PSPNot stated The N64 projects built on it are Linux first. One of them tells Windows users to use WSL.
decomp-toolkitSplits GameCube and Wii games and takes over parts of the build. People call it dtk.GameCube, WiiWindows One project built on it says WSL is not needed.
objdiffCompares your built code with the original, one function at a time.ARM, MIPS, PowerPC, SuperH and x86 systemsWindows Also Linux and macOS.
asm-differShows where two pieces of assembly differ.MIPS, PowerPC, ARM, SuperH, 68000, some x86Not stated A Python script.
m2cTurns assembly into a first draft of C.MIPS, PowerPC, ARM, SuperHNot stated A Python script.
decomp-permuterTries many small random changes to your C to get closer to a match.MIPS, PowerPC, 32-bit ARMWSL for one mode Its permuter@home mode does not work on plain Windows. WSL works.
decomp.meA website where you match one function. The old compiler runs in the browser.Many compilersWeb Nothing to install.
wiboRuns old Windows compilers on Linux and macOS.Any project with a Windows-only compilerLinux, macOS Not needed on Windows. The old compilers run there as they are.
coddogFinds copies and near copies of functions across game files.Projects with a decomp.yaml fileNot stated

"Not stated" means the tool's own page is silent. It does not mean the tool fails on Windows.

The next table is built from the platform guides. It lists each tool a guide tells you to install, and which guides use it.

ToolWhat it doesHow to get itUsed in these guides
Ghidra
both
A free disassembler and decompiler. You use it to read the game's code and export function lists.First install JDK 21 (64-bit). Then download `ghidra_12.1.2_PUBLIC_20260605.zip` from the releases page and unzip it. Use 12.1.2, because the Switch loader release is built for it. Run `ghidraRun.bat`.NSW NS2 NES GBA DS VB PS1 PS2 PS3 PS4 PS5 PSP 360 DC SAT GEN 32X GG PC ARC
objdiff
both
Shows how close your compiled object is to the original, per function and data. Its CLI writes progress reports.Download `objdiff-windows-x86_64.exe` (v3.8.3) from the releases page; dtk-template downloads `objdiff-cli` itselfWii NSW NS2 GBA DS 3DS PS1 PS2 PS3 PSP 360 DC SAT PC ARC
CMake and Ninja
both
CMake sets up the build. Ninja runs it fast.Windows: the Visual Studio part "C++ CMake tools for Windows" adds CMake, or use the installer from cmake.org; get `ninja.exe` from the Ninja releases page (https://github.com/ninja-build/ninja/releases). WSL: sudo apt install cmake ninja-buildN64 GC Wii Wii U SNES GB GBC DS 3DS PS2 360 DC
m2c
both
Turns MIPS assembly into a first draft of C. The draft rarely matches, but it saves typing.git clone https://github.com/matt-kempster/m2c tools/m2c, then python3 tools/m2c/m2c.py --helpN64 GC Wii Wii U GBA DS PS1 PS2 PSP SAT 32X
LLVM-MinGW
Windows
A Clang compiler for Windows. WiiCompiled builds with it; its docs say MSVC is not the tested path.Download `llvm-mingw-20261104-ucrt-x86_64.zip` from the releases page, unzip it and add `bin` to PATHWii Wii U NSW NES PS2 XBOX DC ARC
Capstone
both
A disassembler library. Lifters use it to decode each ARM instruction.`pip install capstone` inside the project venv (5.0.9 is the current release)NSW NS2 DS DC GEN 32X PC
GhidraMCP
both
An MCP server that lets Claude ask Ghidra for code, names and cross references. MCP is the way Claude Code talks to outside tools.Install `uv` (https://docs.astral.sh/uv/). Install the release zip with Ghidra **File > Install Extensions** and enable `GhidraMCPPlugin` under **File > Configure > Developer**. Then add the MCP server: `claude mcp add ghidra -- uvx --from git+https://github.com/LaurieWired/GhidraMCP ghidra-mcp --ghidra-server http://127.0.0.1:8080/`NES GB GBC PS1 PS3 PC
Git
both
Clones the tools and keeps your project history. Path B uses one git worktree per worker.winget install --id Git.Git -e --source wingetWii NES VB XBOX 360 PC
decomp-permuter
WSL/Linux
Tries many small random changes to your C to find a closer match.git clone https://github.com/simonlindholm/decomp-permuter tools/permuter, then python3 -m pip install toml LevenshteinN64 GC Wii PS1 PS2
Musashi
both
A 68000 emulator written in C. Projects link it as an interpreter fallback and as a lockstep reference.`git submodule add https://github.com/kstenerud/Musashi third_party/musashi`. Then build and run its `m68kmake` program first. It writes `m68kops.c` and `m68kops.h` from `m68k_in.c`. Add `m68kcpu.c`, `m68kops.c` and, for disassembly, `m68kdasm.c` to your CMake build, and set options in `m68kconf.h`.GEN 32X AMI ARC CD-i
Python 3
both
Runs dtk-template's configure.py, m2c and the helper scripts most Wii ports use.Download the installer from python.org and add Python to PATHWii NES DS PS5 360
Vulkan SDK
both
Headers and tools for the Vulkan graphics API, which the runtime draws with on Windows and Linux.Download the Windows installer for Vulkan SDK 1.4.363.1 from vulkan.lunarg.com and set VULKAN_SDKWii U NSW NS2 PS5 PSP
CMake
both
Makes the build files for the recompiler, the game and your port. NESRecomp needs version 3.20 or newer.Comes with the Visual Studio CMake tools; in WSL: `sudo apt install cmake`NES PS3 PS5 PC
Git for Windows
both
Clones the donor port and the decomp harness, and pins each to one commit. Parallel workers in worktrees need it too.Download the installer from https://git-scm.com/downloads/win and run it. In WSL: sudo apt install gitWii U DS 3DS GEN
Ninja
both
A fast build runner that CMake can drive. Projects using llvm-mingw build with it.Download `ninja-win.zip` from https://github.com/ninja-build/ninja/releases and put `ninja.exe` on `PATH`NES PS3 PS5 ARC
RenderDoc
both
Captures one frame so you can step through every draw. Use it for graphics bugs.Download the Windows installer for v1.47 from renderdoc.orgWii U PS3 PS4 360
SDL3
both
A library for the window, input and sound. Ports of a decomp use it as the PC side of the console layer.Download SDL3-devel-3.4.20-mingw.zip from the SDL releases pageGBA DS 32X PC
uv
both
Makes Python environments fast and pins their versions. The TotK family uses two of them.`powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"`NSW NS2 GEN PC
wibo
WSL/Linux
Runs 32-bit Windows compilers like mwccarm on Linux, faster than Wine. You only need it in WSL.In WSL, download `wibo-i686` (1.2.0) from https://github.com/decompals/wibo/releases and run `chmod +x wibo-i686`.DS PS2 PSP DC
BizHawk
both
A multi-system emulator with Lua scripting and a Virtual Boy core. A second recompiler project uses it as its picture and memory reference.Download the Windows release zip (2.11.1) from GitHub releases and run `EmuHawk.exe`VB GEN 32X
decomp-toolkit (dtk)
both
Reads discs, DOLs and RELs. It finds function edges, names SDK code, and splits the game into objects for a matching build.Download `dtk-windows-x86_64.exe` from the releases page (v1.8.4) and rename it `dtk.exe`. `dtk-template` downloads its own pinned copy (v1.8.3).GC Wii ARC
Mesen (Community Edition)
both
A NES emulator with a Lua script window. NESRecomp's docs use it as an outside picture check. It is your trusted copy of the game for every compare.Download `Mesen_2.2.1_Windows.zip` from https://github.com/nesdev-org/MesenCE/releases and unzip itNES SNES GG
PowerShell 7
Windows
The newer PowerShell, run as pwsh. The game repos run their regen, test and release scripts with it.winget install --id Microsoft.PowerShell --source wingetGBA XBOX 360
recomp-ui
both
A launcher and in-game settings menu shared by many recomp projects. You add it as a git submodule.`git submodule add https://github.com/RetroPortingToolKit/recomp-ui recomp-ui`NES GBA VB
splat
WSL/Linux
Splits a PS-X EXE or overlay into assembly and data files. It writes the build pieces for a matching decomp.In WSL: `python3 -m pip install -U splat64[mips]`PS1 PS2 PSP
Unicorn
both
A CPU emulator. Projects run each ARM instruction in Unicorn and in the lifted C, then compare registers and memory. It is GPL, so keep it in tests only.`pip install unicorn` inside the project venv (2.1.4 is the current release)NSW NS2 PC
asm-differ
WSL/Linux
Shows your build's assembly next to the original, line by line. It supports SH2.In a Python venv: pip install 'asm-differ @ git+https://github.com/simonlindholm/asm-differ.git'. Then write a `diff_settings.py` for SH2, as sotn-decomp does.SAT CD-i
asm-differ (`diff.py`)
both
An assembly diff viewer for matching work. It supports m68k. Use it to see why a C function does not match. For m68k it reads object files with m68k-elf-objdump, so it expects ELF objects.`pip install 'asm-differ @ git+https://github.com/simonlindholm/asm-differ.git'`, then run it as `asm-differ`. It needs a `diff_settings.py` file in your project.GEN 32X
Aurora
both
Stands in for the GameCube's graphics, controller, disc and memory card code. It draws through Direct3D 12, Vulkan or Metal.Add as a git submodule in `extern/aurora`, then `add_subdirectory(extern/aurora EXCLUDE_FROM_ALL)` in CMake 3.25 or newer.GC Wii
BGB
Windows
A Windows emulator with a strong debugger. It loads .sym files, so you see your labels while you step.Download the zip from bgb.bircd.org and unzip itGB GBC
Capstone 5.0.9
both
A disassembler library with 68000 support. Use it to check your own instruction decoder.`pip install capstone`AMI CD-i
Docker Desktop
Windows
Runs a small old Linux in a container. The matching route needs one to build Sony's old PPU GCC.winget install --id Docker.DockerDesktopPS3 DC
Dolphin
both
The GameCube emulator. Use it as the reference run, to convert discs with dolphin-tool, and as a debugger through its GDB stub.Download the Windows build from the Dolphin site, dolphin-emu.org.GC Wii
DolRecomp
both
Turns GameCube main.dol and .rel code into C. It flags code that may rewrite itself, for you to patch by hand.`git clone https://github.com/ExpansionPak/DolRecomp`, then `cmake -S . -B build` and `cmake --build build --config Release`. Needs CMake 3.16 or newer and a C11 compiler.GC Wii
dtk-template
both
A ready project layout for a GameCube matching decomp. One configure.py sets up the build, the compilers and the progress report.Create a repo from the template on GitHub, then `pip install ninja`. Python and Ninja are the only needs on Windows.GC Wii
extract-xiso
both
Lists and extracts the files on an Xbox disc image. Use -x to extract and -d to pick the folder.Download `extract-xiso-Win64_Release.zip` from the latest release and unzip itXBOX 360
gb-recompiled (`gbrecomp`)
both
Turns a Game Boy ROM into a C project with an SDL2 runtime. It also has a fallback interpreter, a differential test and input replay.Download `gb-recompiled-windows-x64.zip` or `gb-recompiled-linux-x64.tar.gz` from release v0.1.0, or build: `git clone https://github.com/arcanite24/gb-recompiled.git && cd gb-recompiled && cmake -G Ninja -B build . && ninja -C build` (needs CMake 3.20+, Ninja, SDL2 files and a C11/C++20 compiler)GB GBC
Ghidra 11.3.2
Windows
A free disassembler and decompiler. With GhidraBoy it reads banked Game Boy ROMs. Use 11.3.2, not the newest Ghidra, because the Game Boy add-on stops at 11.4.2 and GhidraMCP 1.4 is built for 11.3.2.Install a 64-bit JDK 21. Download `ghidra_11.3.2_PUBLIC_20250415.zip` from the Ghidra 11.3.2 release page and unzip itGB GBC
Ghidra 12.2
both
A free disassembler and decompiler. Its built-in 68000 family module has 68020, 68030 and 68040 modes. The Amiga loader uses it for 68000 games.Install a 64-bit JDK 25. Download `ghidra_12.2_PUBLIC_20261016.zip` from the Ghidra releases page and unzip itAMI CD-i
Ghidra-Switch-Loader
both
A Ghidra add-on that opens Switch NSO, NRO and similar files.Download `SwitchLoader-1.6.1-0f38957-Ghidra_12.1.2.zip` from Releases. In Ghidra use File, Install Extensions, press `+`, pick the zip, and restart.NSW NS2
GhidraBoy
Windows
A Ghidra add-on for the SM83 CPU. It loads banked ROMs and names the hardware registers.Download `ghidra_11.3.2_PUBLIC_20250830_GhidraBoy.zip` from the GhidraBoy releases page. In Ghidra: File, Install Extensions, plus button, pick the zip, restartGB GBC
mgbdis
both
A Python disassembler for Game Boy ROMs. It writes RGBDS files and a makefile that rebuild the ROM.`git clone https://github.com/mattcurrie/mgbdis` (needs Python 3.6+ and RGBDS 0.8+)GB GBC
MSYS2 (UCRT64 GCC)
Windows
A Windows build shell with GCC. Use it to build the Windows version of your recomp.Run the installer from msys2.org, then `pacman -S mingw-w64-ucrt-x86_64-gcc` in the UCRT64 shellGB GBC
MSYS2 MinGW64 (gcc, CMake, Ninja, SDL2)
Windows
A Windows build toolchain. It compiles gba_recompile and the generated game code.Install msys2-x86_64-<date>.exe from msys2.org, then in MINGW64: pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja mingw-w64-x86_64-SDL2GBA VB
PowerShell 7 (`pwsh`)
Windows
Runs the tools/check.ps1 script in this guide. It installs next to the older Windows PowerShell 5.1 and does not replace it.winget install --id Microsoft.PowerShell --source wingetWii GEN
PyBoy
both
A Game Boy emulator you can drive from Python. Use it for traces, and as a reference for RAM values.`pip install pyboy` (in a virtual environment)GB GBC
Python 3 and Git
Windows
Python runs every helper script here: ROM checks, decompilers, scenario checks and configure.py. Git holds your code and pulls in toolkits as submodules.Install Python 3.10 or newer from python.org and add it to `PATH`. Install Git for Windows from git-scm.com.ARC CD-i
RGBDS 1.0.4
both
The Game Boy assembler, linker, header fixer and graphics converter (rgbasm, rgblink, rgbfix, rgbgfx). It rebuilds the ROM from your assembly.WSL: download `rgbds-linux-x86_64.tar.xz`, then `mkdir rgbds && tar xf rgbds-linux-x86_64.tar.xz -C rgbds && cd rgbds && sudo ./install.sh`, then check `rgbasm -V`. Windows: unzip `rgbds-win64.zip` into a folder and add that folder to `PATH`GB GBC
SameBoy
Windows
A very accurate emulator with a text debugger. It has breakpoints, watchpoints and a disassembler.Download `sameboy_winsdl_v1.0.5.zip` from the releases page and unzip itGB GBC
SDL2 development files
both
The window, sound and controller library the runtime uses.WSL: `sudo apt install libsdl2-dev`. Windows: `pacman -S mingw-w64-ucrt-x86_64-SDL2` in MSYS2GB GBC
TotK Recomp
Windows
A second base family. It uses uv, Ninja and the Ryujinx shader translator. Its AGENTS.md is a strong model for your own.`git clone https://github.com/valentderah/totk-pc-recomp`, then `uv venv --python 3.12 .venv` and the steps in `docs/building.md`. Allow about 60 GB of disk.NSW NS2
vasm
both
A portable assembler with a M680x0 module and raw binary output. Several projects rebuild the ROM with it.Download the Windows x64 or Linux x64 vbcc/vasm/vlink binaries from the vasm pageGEN 32X
vasm (`vasmm68k_mot`)
WSL/Linux
A 68000 assembler with Motorola syntax. It writes Amiga hunk programs. Path B uses it to rebuild the game.WSL: `git clone https://github.com/StarWolf3000/vasm-mirror`, then run `make CPU=m68k SYNTAX=mot` in it. The README also lists `Makefile.Win32` for Visual Studio; that was not triedAMI CD-i
vcpkg
Windows
Installs C++ libraries such as zlib and SDL2 for the port.git clone https://github.com/microsoft/vcpkg.git, then cd vcpkg; .\bootstrap-vcpkg.bat, then vcpkg install zlib:x64-windows sdl2:x64-windowsPS3 PC
Visual Studio 2022 Build Tools
Windows
Microsoft's C++ compiler (MSVC) for Windows. PS2Recomp is tested mainly with it, and CMake finds it by itself.Download Build Tools for Visual Studio 2022 from https://visualstudio.microsoft.com/downloads/ and pick the **Desktop development with C++** workloadPS2 PS3
ymfm
both
Free Yamaha FM sound cores. They play the YM2612 music in nearly every reviewed runtime.`git submodule add https://github.com/aaronsgiles/ymfm third_party/ymfm` (already inside the segagenesisrecomp runner)GEN ARC
.NET 10 SDK
both
Builds the Ryujinx-based shader translator that turns Maxwell shader code into SPIR-V.`winget install Microsoft.DotNet.SDK.10`NS2
.NET 10 SDK and Visual Studio Build Tools
Windows
The TotK family builds the Ryujinx shader translator into one exe with .NET. The .NET build calls Microsoft's linker from Build Tools.`winget install --id Microsoft.DotNet.SDK.10 -e`. Then Visual Studio Build Tools 2026 with the C++ workload: TotK's docs name the winget package `Microsoft.VisualStudio.BuildTools` with `--add Microsoft.VisualStudio.Workload.VCTools --includeRecommended`. Add `C:\Program Files (x86)\Microsoft Visual Studio\Installer` to PATH.NSW
.NET 8 SDK
both
Builds and runs the WiiCompiled translator, which is written in C#.winget install Microsoft.DotNet.SDK.8Wii
3DS-Decomp-Pipeline
both
Splits code.bin and .cro files into objects, compares your compiled code, links it back and checks the final hash.git clone https://github.com/AlgebraManiacABC/3DS-Decomp-Pipeline, pip install pyyaml, and put arm-none-eabi-ld and arm-none-eabi-objcopy (devkitARM) in its tools/ folder. Then python main.py <working_dir>3DS
3dsrecomp
both
Finds the functions in a 3DS game and turns ARM, Thumb and VFP code into C. It can also check its output against Zakuro's interpreter, and make a game into its own program.cargo install --git https://github.com/fearkov/3dsrecomp --rev <COMMIT> --locked --features verify recomp3ds (drop --features verify if you do not need the verify command)3DS
7-Zip
both
Opens a disc image so you can copy out the boot ELF and other files.In WSL: `sudo apt install 7zip`, then `7z x mygame.iso SLUS_XXX.YY -ogame/`PS2
ADFlib (`unadf`)
both
A C library that reads Amiga floppy and hard disk images. Its unadf tool unpacks an .adf.`git clone https://github.com/adflib/ADFlib`, then build it as its `INSTALL` file says, or link it as a submodule like RodLegacyAMI
agbcc
WSL/Linux
The rebuilt GBA SDK C compiler, based on GCC 2.95. Matching decomps need it to produce the original bytes.git clone https://github.com/pret/agbcc && cd agbcc && ./build.sh && ./install.sh ../<project>GBA
Allegrex assembler (allegrex-as)
WSL/Linux
A GNU assembler build that knows the PSP's Allegrex and VFPU instructions. PSP matching builds use it in place of the stock MIPS assembler.In WSL: download allegrex-as.tar.gz from the cc1-psx-26 release of Xeeynamo/sotn-decomp, check its SHA-256, and unpack itPSP
amiga68ktools
both
Python scripts for IRA listings. They name OS calls and chip registers, flag self-modifying code and convert bitplanes to PNG.`git clone https://github.com/jotd666/amiga68ktools` and add its `lib` folder to `PYTHONPATH`AMI
amitools 0.9.0 (`xdftool`, `hunktool`)
both
Python tools for Amiga disk images and programs. xdftool lists and unpacks .adf files. hunktool prints the hunks of a program.`pip install amitools` (Python 3.11 or newer, in a venv)AMI
AnyPS5
both
The relinker that turns a PS5 game file into a Windows or Linux program, plus new copies of the PS5 system libraries. Every PC port here is built on it.git clone --recursive https://github.com/boykopovar/AnyPS5.git C:\a5 (or download relinker-v0.1.5.exe and prx-windows-v0.1.5.zip from the v0.1.5 release to try it without building)PS5
arcade-decomp
both
Shared tools that decompile arcade programs into C with no CPU left in it. It has V60, V70, 68000 and Z80 frontends, references that run MAME's cores, and frame-by-frame checks.Add it to your game repo as a submodule: `git submodule add https://github.com/cheviman/arcade-decomp tools/core`. A clone made without it needs `git submodule update --init`. The games built on it ask for Python 3.10+, CMake 3.20+ and a C11 and C++17 compiler.ARC
ares
Windows
An accurate N64 emulator. Use it as the reference when you compare frames, memory or audio.Download ares-windows-x64.zip from the v148 releaseN64
arm-none-eabi binutils (xPack arm-none-eabi-gcc)
both
The GNU assembler for ARM, arm-none-eabi-as. Path B uses it to build library code that was assembly in the original.Download `xpack-arm-none-eabi-gcc-15.2.1-1.1-win32-x64.zip` from https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack/releases and unzip it into `tools/gcc-arm/`, as the aletheia README says.DS
armcc (ARM Compiler 4.1 or RVCT 4.0)
Windows
The compiler the games were built with. Path B needs the exact build, because only it gives the same bytes.No official free download. matching-decomp-tools and Solstice use decomp.me's builds: armcc.zip from the compilers release of decompme/compilers, unpacked into toolchain/armcc/. ALBW asks for your own licensed copy. armcc belongs to Arm; whether you may use these builds is your call3DS
Asar
both
An SNES assembler for 65c816, SPC700 and Super FX code. Many fan disassemblies build with it. You need it when yours does.Download asar191.zip from the Asar Releases page. Usage: asar.exe [options] {asm_file} [rom_file]SNES
asm-differ and objdiff
both
Show your compiled function next to the original, instruction by instruction, with a score.pip install 'asm-differ @ git+https://github.com/simonlindholm/asm-differ.git' ; or download objdiff-cli from the objdiff releases pageN64
asm-processor
both
Lets C files hold assembly for functions not matched yet, so IDO builds still work.Vendor it into tools/asm-processor, or download the 1.0.1 release binary for your systemN64
Azahar
both
An open 3DS emulator. Use it to see how a scene should look and sound when your build looks wrong.Download azahar-windows-msvc-2126.2.zip, or its installer, from the releases page3DS
Basilisk II (kanjitalk755/macemu)
WSL/Linux
A 68k Mac emulator. Path B runs Apple MPW C 3.0 inside it, for games built on a Mac.In WSL: `git clone https://github.com/kanjitalk755/macemu`, then in `macemu/BasiliskII/src/Unix` run `./autogen.sh --with-gtk=no` and `make`. Needs SDL2 2.0.14 or newer. You need a Mac ROM and MPW that you ownCD-i
bbport (deadinside28/bloodborne_pc)
both
The first native PS4 port and the root of the family. Fork it, or a port built on it, as your base. Its renderer is now its own code, which started from shadPS4's.git clone --recursive https://github.com/deadinside28/bloodborne_pc.git bbport && cd bbport && bash build.shPS4
Beetle Saturn (Mednafen)
both
An accurate Saturn emulator. It is the reference for pictures and sound. It needs your own BIOS dump.Mednafen from https://mednafen.github.io/, or the Beetle Saturn core in RetroArch. Put your own BIOS dumps in its system folder: `sega_101.bin` for Japan, `mpr-17933.bin` for the US and Europe. For `saturnrecomp.reference`, build the core without `-D_LOW_ACCURACY_`.SAT
Beetle VB referee (`vb-beetle`)
Windows
The Beetle VB emulator core, run as a separate program with the same debug commands. It is the referee your build is compared with.From `vbrecomp/`: `.\tools\prepare-oracle.ps1 -Destination ..\beetle-vb` (a new folder; add `-Git <path>` if Git is not in `C:\Program Files\Git`). Then build the game host with `.\tools\build.ps1 -Rom <ROM> -Oracle <absolute beetle-vb folder>`, which makes `build\vbrecomp\runtime\vb-beetle.exe`VB
binutils-sh-elf and binutils-m68k-linux-gnu
WSL/Linux
GNU tools for the SH-2 and the 68000. Use sh-elf-objdump to check your own decoder, instruction by instruction. sh-elf-as assembles SH-2 source, as sega-vr-disasm does.In WSL: `sudo apt install binutils-sh-elf binutils-m68k-linux-gnu`32X
box64
WSL/Linux
Runs x86-64 Linux code on ARM64 devices by translating it on the fly. The Android ports run the game's code through it.Build from source on Linux by following docs/COMPILE.md in the repo (Mewgenics-android builds it with -DANDROID=ON in WSL)PS5
bsnes
both
An accurate SNES emulator. Its libretro core also works with snesref as a second reference.Supply your own `bsnes_libretro.dll` core (GPLv3). The `bsnes-windows.zip` nightly is the stand-alone emulator.SNES
cafe-recomp (in the Tekken Tag 2 port)
WSL/Linux
A second Wii U recompiler. It writes one C++ function per guest function, so any function can be swapped out. It refuses an unknown .rpx.In a Linux newer than Ubuntu 24.04, such as Arch Linux in WSL: git clone https://github.com/Petexy/Tekken-Tag-2-Ultimate-Edition.git && cd Tekken-Tag-2-Ultimate-Edition && python3 tools/setup_deps.py && cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ && cmake --build build --target wua_extract cafe-recompWii U
Capstone and Unicorn (Python)
both
Capstone disassembles ARM code. Unicorn runs it. Together they let you test recompiled functions against a real ARM CPU model.pip install capstone unicorn3DS
cc65 (ca65 and ld65)
both
The 6502 assembler and linker the NES community uses to rebuild games from source. Your Path B byte check runs on them.Windows: download `cc65-snapshot-win64.zip` (linked from the cc65 README). WSL: `sudo apt install cc65`NES
cc65 (ca65 assembler)
both
The assembler and linker used by ebsrc and other ca65-based disassemblies.Windows: cc65-snapshot-win64.zip, linked from the cc65 README. ebsrc pins ca65 v2.19SNES
CeDImu
both
An open CD-i emulator. It can trace system calls, log memory access, and export files and audio from a disc.`git clone --recurse-submodules https://github.com/Stovent/CeDImu`, then build with CMake. Needs C++23 and wxWidgets 3.2; on Windows the README gets wxWidgets with `vcpkg.exe install wxwidgets:x64-windows-static`. Needs your own BIOSCD-i
Cemu
both
A Wii U emulator. Run the same scene in it to tell a port bug from the game's own behavior. Minecraft also tests its rebuilt .rpx in it.Download the Windows portable zip of v2.6 from the releases page and unzip itWii U
Clang (old upstream version)
both
The public compiler closest to the one that built your game. Matching depends on picking the right version.Let your `tools/setup.py` download it, as BotW's does for Clang 4.0.1. On Windows, ssbu-decomp installs LLVM 8.0.0 (`LLVM-8.0.0-win64.exe` from releases.llvm.org) to `C:\llvm-8.0.0\`.NSW
Clang and lld in WSL
WSL/Linux
Builds your decompiled C for the console's ARM CPU, so the harness can run it next to the original.In WSL (Ubuntu 24.04): `sudo apt install clang lld ninja-build python3-venv`. Then compile with `clang -target aarch64-unknown-linux-gnu -c <file>.c`.NS2
clang, LLVM and lld (in WSL)
WSL/Linux
A Linux C compiler with an ARM target and the LLVM disassembler. The recompiler tests compile small C functions to ARM and check your decoder against LLVM.In WSL: `sudo apt install clang llvm lld`DS
CMake, Ninja and SDL2
both
The build tools and the window, sound and input library the ports use. Some use SDL3 instead.WSL: `sudo apt install build-essential cmake ninja-build libsdl2-dev`. Windows: Visual Studio 2022 with `vcpkg`, then `cmake --preset windows-vcpkg`AMI
ctrtool (Project_CTR)
both
Reads 3DS files and unpacks the ExHeader, the ExeFS (with code.bin) and the RomFS from a decrypted dump.Download ctrtool-v1.3.0-win_x64.zip from the Project_CTR releases page. Example: ctrtool --exefsdir=out/exefs --romfsdir=out/romfs --exheader=out/exheader.bin game.3ds3DS
dc-decomp-kickoff
WSL/Linux
A Claude Code skill that starts and runs a Dreamcast decomp in nine steps, from disc to a game built from proven C.In WSL: `git clone https://github.com/consolesplayingconsoles/dc-decomp-kickoff ~/.claude/skills/dc-decomp-kickoff`, then run `/dc-decomp-kickoff` in Claude Code. You supply the `.gdi` and a Katana SDKDC
decomp.me
both
A website where you match one function in the browser with the real compiler, and share it for help.No install. Use https://decomp.me in a browser.GBA
devkitPro (for a DS port)
both
The toolchain one project used to build Mario's Tennis's recompiled C for the Nintendo DS.Follow the Getting Started page on devkitpro.org and pick NDS Development, as the MarioTennisDS README saysVB
Differential harness from the Wind Waker HD decomp
WSL/Linux
Runs a rewritten function next to its recompiled twin on generated and recorded inputs. It compares results, memory writes and calls, and tests itself with mutants.In WSL: git clone https://github.com/ZeldaWWHDDecomp/wwhd decomp, then copy decomp/tools/verify into your port checkout as its README showsWii U
DiztinGUIsh
Windows
An SNES disassembler that learns which bytes are code or data from a live trace. It exports .asm that builds back into the ROM.Download the latest zip (v2.5.1.0) from the DiztinGUIsh Releases pageSNES
DKB Recomp
Windows
A Switch 2 static recomp of Donkey Kong Bananza. It has the NVN 2 front end, Ampere shader lowering and movie support. Three reviewed projects forked it.`git clone https://github.com/Lucas-blip-png/dkb-pc-recomp`, then follow its README section 'Building from source'.NS2
Docker (period compiler containers)
WSL/Linux
Runs the old compilers in a box: Hitachi SHC under Wine, or Cygnus GCC under dosemu.Install Docker in WSL. Then let the project script build the container, such as atolm's `make setup`.SAT
dream-recomp
both
Turns the SH-4 code of a Dreamcast boot file into C++ ahead of time. It also emulates the graphics, sound and memory, and answers BIOS and disc calls itself. Path B uses only its disc tool, dcdisc.`git clone --recurse-submodules https://github.com/phobos665/dream-recomp`, then `cmake -S . -B build -DDREAM_DEV_INTERPRETER=ON`, `cmake --build build --parallel`, `ctest --test-dir build --output-on-failure` and `pip install -e tools/dcdisc`. For a window, also install Vulkan, SDL3 and `glslc`DC
Dreamcomp
both
A kit built on dream-recomp for making one PC port per game. It adds hooks, settings, a no-game-data audit and Claude Code skills.Clone https://github.com/danielgomesvieira2000/dreamcomp. Install VS 2022 Build Tools, LLVM `clang-cl`, `CMake`, `Ninja`, Python 3.10+ and the Vulkan SDK. Then `python tools/dc.py doctor` and `python tools/dc.py deps`DC
dsd (ds-decomp)
both
Extracts a DS game, finds every function, splits it into objects and rebuilds it. It also checks built modules against the original.Download `dsd-windows-x86_64.exe` (or `dsd-linux-x86_64`) v0.12.1 from https://github.com/AetiasHax/ds-decomp/releases and put it in `tools/`.DS
dsd-ghidra
both
A Ghidra add-on that loads a DS game and copies dsd function names into Ghidra.Download `ghidra_11.2.1_PUBLIC_20260814_dsd-ghidra.zip` (v0.7.0). In Ghidra: File, Install Extensions, plus icon, pick the zip, restart. Run `SyncDsd.java`.DS
Dumpling
Wii U console
Runs on your Wii U and copies your game, update and DLC as plain folders. No disc keys are needed after that.On the Wii U, open dumplingapp.com, or extract dumpling.zip from release 2.7.2 to the root of your SD card and start it from the Homebrew LauncherWii U
Emulicious
Windows
A Game Gear and Master System emulator with a strong debugger. Its disassembler splits code from data as the game runs. It also has a tracer and a memory tracer.Download the build with 64-bit Java for Windows from emulicious.net/downloads. Unzip it fully, then run `Emulicious.exe`.GG
Flycast
both
The main open Dreamcast emulator. It is the reference for how the real game acts. A build with GDB lets tools read live RAM.Download a build from https://flyinghead.github.io/flycast-builds/ or GitHub Releases. For GDB, build from source with the CMake option `-DENABLE_GDB_SERVER=ON`DC
gba-ghidra-loader
both
A Ghidra add-on that loads a .gba file with the right memory map and entry point.In Ghidra: File > Install Extensions > + and pick the release zip that matches your Ghidra version, or build from source with gradleGBA
gba-recomp (JRickey)
both
A second GBA recompiler, written in Rust. It checks recompiled frames against its own interpreter. FFTARecomp is built on it.Download gba-recomp-cli-0.4-x86_64-pc-windows-msvc.zip from the releases page, or: git clone https://github.com/JRickey/gba-recomp then cargo build --release (needs Rust and a C compiler named cc on PATH)GBA
gbarecomp
both
The GBA static recompiler and shared runtime. It turns ARM and Thumb code into C++ and models the console around it.git submodule add https://github.com/mstan/gbarecomp.git gbarecomp (or download gbarecomp-cli-windows-x86_64.zip from the releases page)GBA
gcn-recomp
both
A recompiler and runtime in one. It draws through its own OpenGL GX code, not Aurora. Each game adds a symbol file and three small tables.Add it as a git submodule and call `gcn_add_game()` in your `CMakeLists.txt`. Needs CMake 3.20, Ninja, Python 3, a C++20 compiler and SDL2. On Windows the first configure builds SDL2 for you.GC
Genesis Plus GX
both
An accurate open-source Genesis emulator core. Projects hook it to log executed code and to compare frames.Use it inside BizHawk or RetroArch, or `git clone https://github.com/ekeeke/Genesis-Plus-GX` and build the libretro core from its `Makefile.libretro` in WSL to add your own hooksGEN
Ghidra 12.1.4
both
A free disassembler and decompiler. You use it to study functions and name library code.Download `ghidra_12.1.4_PUBLIC_20260921.zip` from the releases page and unzip it. Install the JDK version that Ghidra's install guide names. `GhidrAssistMCP` needs Java 25 or newerXBOX
Ghidra with a CTR loader
both
A free disassembler. A CTR loader lets it open CXI, CIA, CRO and CRS files so you can read code, strings and modules.Unzip ghidra_12.2_PUBLIC_20261016.zip (needs JDK 25: winget install EclipseAdoptium.Temurin.25.JDK). For GhidraMCP, use ghidra_12.1.4_PUBLIC_20260921.zip with JDK 21 instead. The loader Martmists-GH/ghidra-ctr-loader has no release; you would build it with Gradle against your Ghidra (its build.gradle.kts needs GHIDRA_INSTALL_DIR). Untested3DS
Ghidra with GameCube Loader
both
Ghidra reads machine code and shows a rough C view. The loader teaches it DOL, REL and symbol map files.Install Ghidra 12.1. Copy `GameCubeLoader-1.3.0-921504c-Ghidra_12.1.zip` (release 1.3.1) into `<Ghidra folder>/Extensions/Ghidra`. Start Ghidra and finish with File, Install Extensions.GC
Ghidra with GhidraRPXLoader
both
A free disassembler and decompiler. The loader opens .rpx files with the Espresso chip, paired singles included.Unzip Ghidra 12.0 and install JDK 21. Copy GhidraRPXLoader-0.9.2-d496d43-Ghidra_12.0.zip into <GHIDRA>/Extensions/Ghidra, then add it with File, Install ExtensionsWii U
Ghidra with the GameCube Loader
both
A free disassembler and decompiler. The loader opens DOL and REL files with symbol maps.Install Ghidra 12.1.4, the version GhidraMCP needs. Copy the loader zip from its releases page to `<GHIDRA>/Extensions/Ghidra`, then use File, Install Extensions. If Ghidra refuses the zip, build the loader with `./gradlew` and `GHIDRA_INSTALL_DIR` set, as its README showsWii
ghidra-allegrex
both
A Ghidra add-on for the PSP's CPU. It reads PSP relocations, VFPU code and PPSSPP symbol files.Download ghidra_12.1.4_PUBLIC_20261025_ghidra-allegrex.zip from release v21.4, then File -> Install Extensions in Ghidra. For Ghidra 12.2, use v21.6 instead.PSP
ghidra-emotionengine-reloaded
both
A Ghidra add-on for the PS2 CPU. It reads the extra PS2 instructions and can load PCSX2 save states.Download the zip that matches your Ghidra version from the releases page. In Ghidra use `File > Install Extensions`PS2
ghidra-os9
both
A Ghidra add-on that loads Microware OS-9 for 68k modules, as used by the CD-i. It also has a system call analyzer.Clone the repo and build it with Gradle against your Ghidra install. It has no prebuilt releaseCD-i
Ghidra-SegaMasterSystem-Loader
both
A Ghidra loader that spots Master System and Game Gear ROMs by their header and sets the CPU to Z80. It does not map banks.Set `GHIDRA_INSTALL_DIR` and run `gradle` in the repo. Copy the zip from `dist/` to `<GHIDRA_DIR>/Extensions/Ghidra`. Then use File, Install Extensions in Ghidra.GG
Ghidra-SegaSaturn-Loader
both
A Ghidra add-on that loads a Saturn disc's first program or an emulator save state at the right addresses.Download the 12.0.0 release zip, then in Ghidra 12.0 use File, Install Extensions. For another Ghidra version, build it with `gradle -PGHIDRA_INSTALL_DIR=<GHIDRA_DIR>`. Add `ApplySig.py` to `ghidra_scripts` for library signatures.SAT
ghidra-v810 (V810 processor add-on)
both
Teaches Ghidra the V810 instruction set. Without it Ghidra cannot read Virtual Boy code. Import the raw ROM at its base address.Download `ghidra_12.2_PUBLIC_20261027_V810.zip` (or the 12.1.3 or 12.1.4 zip) from the `ghidra-rare-v1.0.0` release, then File > Install Extensions in GhidraVB
ghidra-xbe
both
A Ghidra loader for .xbe files. It names XDK library functions by matching them against XbSymbolDatabase.Download `ghidra_12.1.4_PUBLIC_20261016_ghidra-xbe.zip` and copy it into Ghidra's `Extensions/Ghidra` folder. Start Ghidra, pick File, Install Extensions, and select `XboxExecutableLoader`XBOX
ghidra_amiga_ldr (nicodex fork)
both
A Ghidra add-on that loads Amiga hunk programs, with their hunks and relocations.Download `ghidra_12.2_PUBLIC_20261029_ghidra_amiga_ldr.zip` from release v2.4. In Ghidra: File, Install Extensions, plus button, pick the zip, restartAMI
ghidra_ps5_elf_plugin
Windows
Adds PS5 file support to Ghidra. It names imports by NID and uses the file's unwind data to find where functions start and end.Clone the repo, set GHIDRA_INSTALL_DIR in its gradle.properties to your Ghidra 12.1.3 folder, run <GHIDRA_DIR>\support\gradle\gradlew.bat buildExtension in the repo folder, then File > Install Extensions in GhidraPS5
ghidra_psx_ldr
both
A Ghidra add-on that loads PS-X EXE files. It applies Psy-Q signatures and decodes GTE instructions.Download `ghidra_12.1.4_PUBLIC_20261004_ghidra_psx_ldr.zip` from release 2026.10.03, then in Ghidra use File, Install ExtensionsPS1
GhidraNes
both
A Ghidra add-on that loads .nes files and maps each bank to its own memory block. You fix bank-switch jumps by hand.Download the zip for your Ghidra version from https://github.com/kylewlacy/GhidraNes/releases, then Ghidra **File > Install Extensions**NES
GhidraOrbis
Windows
A Ghidra extension that loads PS4 programs and .prx modules. It is built from older PS4 loaders for IDA and Ghidra.Download `ghidra_12.1.4_PUBLIC_20261013_GhidraOrbis.zip` from release 1.0156, then in Ghidra: File, Install Extensions, `+`, pick the zip, restart GhidraPS4
Git for Windows (Git Bash)
Windows
Clones the repos. Its Bash runs the regen.sh scripts on Windows.Download and run the installer from https://git-scm.com/downloads/winSNES
Git for Windows (with Git Bash)
Windows
Clones the repos. The full AnyPS5 build also runs one Bash script, so a Git install without Bash is not enough. Put its cmd and usr\bin folders on PATH.winget install Git.GitPS5
GNU Arm binutils (binutils-arm-none-eabi)
WSL/Linux
The ARM assembler and linker. They turn the split assembly and compiled C back into a ROM.sudo apt install build-essential binutils-arm-none-eabi git libpng-devGBA
GodMode9
3DS console
A file browser that runs on a modded 3DS. It dumps your own game card and decrypts it.Runs on the console, not the PC. Follow the setup in the README; Clockwork's README gives the dump steps3DS
GoldHEN
PS4 console
Homebrew for your own PS4. The reviewed ports dump the game and update with it.Follow the project's own instructions on your console. This guide does not cover console setup.PS4
Greaseweazle 1.23
both
A USB board and tools that read your own floppies. It writes .adf images, or raw flux for protected disks.Windows: unzip `greaseweazle-1.23-win64.zip` and run `gw.exe`. Linux: `pipx install git+https://github.com/keirf/greaseweazle@latest`AMI
hactool
Windows
Unpacks NSP, XCI and NCA files into exefs and romfs folders. It needs your own prod.keys. Skip it if your dump is already extracted.Download `hactool-1.4.0-win.zip` from Releases. Example: `hactool -k <your prod.keys> --exefsdir=exefs --romfsdir=romfs <file.nca>`. To read `main.npdm`: `hactool -t npdm --json=npdm.json main.npdm`.NSW
Hitachi SHC (decomp.me compiler archive)
WSL/Linux
The original Dreamcast C compiler, in several releases. You need it for the byte-matching tier and for testing another release.Your Katana SDK holds one copy. The decomp.me archive lists `shc-v5.0r10` to `shc-v5.1r13` under `platforms/dreamcast`; each Dockerfile names its release downloadDC
iced-x86
both
A Python x86 disassembler. Ports use it to find and rewrite MOVBE, BMI1 and LZCNT instructions for older CPUs.py -m pip install -U iced-x86 (use a python.org Python; MSYS2's Python could not install the wheel in one project)PS4
ido-static-recomp
WSL/Linux
Runs SGI's old IDO 5.3 and 7.1 compilers on modern machines, so IDO games can match.Download ido-5.3-recomp-linux.tar.gz or ido-7.1-recomp-linux.tar.gz from the v1.2 release into tools/N64
Inno Setup 6
Windows
Builds a Windows installer. Every tools81 port ships one next to a portable zip.`winget install JRSoftware.InnoSetup`CD-i
IRA 2.11
WSL/Linux
An Amiga reassembler. It turns a hunk program into source that vasm can rebuild to the same bytes. A config file marks code and data.In WSL: `sudo apt install lhasa`, download `dev/asm/ira.lha` from Aminet, run `lhasa -x ira.lha`, then `make` in the `ira/` folder. A `Makefile.win32` exists but was only tested with Visual C++ 6AMI
jeff and jeff-template
both
jeff splits an .xex into pieces for a matching decomp. jeff-template is the project layout around it. Use them only on the matching track.git clone https://github.com/rjkiv/jeff-template.git, then python configure.py and ninja; configure.py pins jeff v0.5.1 (dtk_tag) and fetches it, objdiff and a compiler pack by tag360
KytyPS5
both
A PS5 translation layer with its own graphics stack. Use it to test a game, or as a faster graphics part when AnyPS5's renderer is too slow.Download KytyPS5-<date>-Windows-x64.zip from the latest release page (to build it you need Visual Studio 2022 Build Tools with clang-cl and Qt 6)PS5
LakeSnes
both
A small SNES emulator in C. smw, zelda3 and Belthasar run it inside their test tools as the oracle.git clone https://github.com/angelo-wf/LakeSnes (MIT; archived, so pin the commit)SNES
LAS Recomp
both
A working Switch recomp with its own Python lifter, runtime and NVN layer. Several projects forked it as a base.`git clone https://github.com/peiikai/LASRecomp`, then `powershell -ExecutionPolicy Bypass -File tools\setup_windows.ps1` once from the repo root. It installs MSYS2 and Python 3.12. Needs a CPU with AVX2 and a GPU with Vulkan 1.3. Development happens on the newest `beta_<n>` branch.NSW
LibOrbisPkg (PkgTool, PkgEditor)
Windows
Opens PS4 .pkg files that are fake-signed, so you can unpack your own dump made as a package.Download PkgTool or PkgEditor from the v0.2 release on GitHubPS4
libultraship and Torch
both
libultraship replaces libultra on PC and draws display lists. Torch pulls assets out of the player's ROM into an .o2r file.Add both as pinned git submodules; build with CMake (Visual Studio 2022 with the v143 tools on Windows)N64
Lichii
both
An open-source Switch and Switch 2 emulator that calls itself experimental. Use it as a reference to compare draws and behavior.Download `lichii-windows-x86_64.zip` from the GitHub releases page only, extract all of it and run `lichii.exe`. Lichii has no official website, and one fake download site carried malware.NS2
Linux build tools for matching (WSL)
WSL/Linux
The BotW-style decomp builds with CMake and Ninja, caches with ccache, and builds some tools with Rust. Install them inside WSL.`sudo apt install python3 ninja-build cmake ccache xdelta3 clang libssl-dev pkg-config`, then `pip install cmake` for CMake 3.30 or newer, then `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`.NSW
LLVM (Clang)
both
A standalone Clang if you want a newer one than Visual Studio ships, or for a Linux build in WSL.Run LLVM-23.1.5-win64.msi from the LLVM 23.1.5 release (2026-11-03); in WSL with Ubuntu 24.04: sudo apt install clang-20 lld-20360
LLVM (clang-cl)
Windows
The compiler for the lifted code on Windows. Plain MSVC cl cannot build it.winget install --id LLVM.LLVMPS3
LLVM clang and llvm-profdata
both
Compiles the generated C fast. Profile-guided builds with llvm-profdata gave 10 to 14% more speed in Ring Out.Install LLVM for Windows from llvm.org, or `sudo apt install clang lld llvm` in WSL.GC
LLVM Clang with Visual Studio headers
Windows
The compiler for the generated code. It must be Clang, because the code needs its musttail feature. Visual Studio supplies the Windows headers.Run LLVM-23.1.5-win64.msi from the LLVM 23.1.5 release, and install Visual Studio Community with the Desktop development with C++ workloadWii U
llvm-mingw (clang for Windows)
Windows
A clang compiler that makes Windows programs. It builds the huge generated C much faster than some other compilers.Download `llvm-mingw-20261104-ucrt-x86_64.zip` from https://github.com/mstorsjo/llvm-mingw/releases, unzip it and add `bin` to PATH.DS
llvm-v810
both
A Clang compiler for the V810 with ready-made builds. Another way to build test ROMs.Download `llvm-v810-windows-main.7z` from the v810-llvm releases and unzip itVB
Luvdis
both
A GBA disassembler written in Python. It finds Thumb functions, tells code from data and checks if a ROM dump is known.python3 -m pip install luvdis --userGBA
MAME
Windows
The emulator for almost every arcade board. Its debugger traces code, and Lua scripts can save RAM and registers each frame. Its source shows how each chip works.Download `mame0289b_x64.exe` from the MAME release page and run it. It unpacks to a folder. Start a game with `mame <SET> -debug`.ARC
MAME 0.289 (with chdman)
both
An emulator with a CD-i driver and a debugger. Use it to watch the real game and compare. Use the cdimono1 (PAL) or cdimono1n (NTSC) machine; MAME marks cdi910, cdimono2 and cdi490a as not working. Its chdman tool turns a .chd into .bin and .cue.`winget install MAMEdev.MAME`. It needs a CD-i BIOS that you dumped yourselfCD-i
marsdev
WSL/Linux
Builds GCC for the 68000 and the SH-2, so you can compile C for the 32X itself. Use it to test a compiler guess.In WSL: `sudo apt install build-essential texinfo wget`, `git clone https://github.com/andwn/marsdev --recurse-submodules`, then `make m68k-toolchain-newlib` and `make sh-toolchain-newlib`32X
maspsx
WSL/Linux
Stands in for Sony's ASPSX assembler. It reshapes GCC output so GNU as builds the same object.`git submodule add https://github.com/mkst/maspsx tools/maspsx`; needs `binutils-mipsel-linux-gnu`, since it calls `mipsel-linux-gnu-as` unless you pass `--gnu-as-path`PS1
matching-decomp-tools
Windows
A judge and helpers for armcc matching: function table, class headers from RTTI, twins, tiny-function writer and a check for tricks.git submodule add https://github.com/Tsukimi-Labs/matching-decomp-tools tools3DS
mednafen-saturn-debug
WSL/Linux
A Mednafen fork that scripts can drive through two text files. It sets breakpoints, watches writes, traces calls and saves screenshots, with no window.In WSL: git clone https://github.com/AJBats/mednafen-saturn-debug && cd mednafen-saturn-debug && ./configure && make -j$(nproc)SAT
melonDS
both
An accurate DS emulator. Use it to play the original and see what right looks like. Use direct boot, which needs no BIOS files.Download `melonDS-1.1-windows-x86_64.zip` from https://github.com/melonDS-emu/melonDS/releases and unzip it.DS
Metrowerks CodeWarrior compilers
both
The original compilers. A match only counts when this compiler makes the same bytes.dtk-template downloads a pinned set on first build (`compilers_20251118`); you do not install them by handWii
mGBA
both
An accurate GBA emulator. gbarecomp treats it as the oracle for correct behavior. It has Lua scripting and a GDB remote debugger.Download mGBA-0.10.5-win64-installer.exe from the GitHub releases pageGBA
MinGW-w64 gcc (WinLibs or MSYS2)
Windows
The C compiler for the generated code on Windows. Plain MSVC could not build Woohoo's generated C.winget install BrechtSanders.WinLibs.POSIX.UCRT, or install MSYS2 (msys2-x86_64-20260927.exe) and run pacman -S mingw-w64-ucrt-x86_64-gcc3DS
MinGW-w64 GCC in WSL
WSL/Linux
GCC that builds Windows programs from Linux. Some arcade projects build only with GCC, or need a 32-bit Windows program.In WSL Ubuntu: `sudo apt install gcc-mingw-w64-i686 make python3` for 32-bit. Namco 22 Decompile uses `x86_64-w64-mingw32-gcc` for 64-bit builds.ARC
minicoro
both
A one-file C library for coroutines. Recomp runtimes use it to replace the NitroSDK thread switch, one coroutine per game thread.Copy `minicoro.h` from https://github.com/edubart/minicoro into `runtime/`. In exactly one C file, write `#define MINICORO_IMPL` before `#include "minicoro.h"`.DS
MIPS binutils
WSL/Linux
The assembler, linker and objcopy for MIPS. The decompals build adds fixes for PS2 compilers.In WSL: `sudo apt install binutils-mips-linux-gnu`. For the PS2 fork, download `binutils-mips-ps2-decompals-linux-x86-64.tar.gz` from its releasesPS2
MIPS binutils, Python 3 and Git (in WSL)
WSL/Linux
The MIPS assembler and linker that the matching build calls, plus Python for splat and Git.sudo apt install make git python3 python3-venv python3-pip binutils-mips-linux-gnuN64
mips-gcc-2.7.2
WSL/Linux
A GCC 2.7.2 build that matches KMC GCC output, for games not built with IDO.Download gcc-2.7.2-linux.tar.gz from the v0.1 release into tools/N64
mkpsxiso / dumpsxiso
both
dumpsxiso pulls every file off a PlayStation disc image and writes an XML layout. mkpsxiso builds a disc back.Download the release zip for your system from the releases pagePS1
ModernGekko-Template
WSL/Linux
A starter repo that wires DolRecomp to the ModernGekko runtime, which is based on Dolphin. One make run goes from disc to a window.Use the template on GitHub, then `git clone --recurse-submodules <your-repo>` and `make check` in WSL.GC
Moira
both
A C++20 68000, 68010 and 68020 core made for Amiga emulation. It counts cycles exactly.`git submodule add https://github.com/dirkwhoffmann/Moira ext/moira`AMI
mps (MPW emulator)
both
Runs old Apple MPW tools on a modern PC with no window. X-Men 2 ran Apple MPW C 3.3 in it to match C byte for byte. Only needed if your game was built with MPW C.Install Go, clone the repo, and run `go build`. Then `mps -install` with `MPW` set to a folder fetches MPW 3.5 GM, as xmen2disasm's `COMPILER.md` describes. The C compiler itself is separate.GEN
mstan/cdirecomp
both
A CD-i recompiler and runtime. It recompiles the real CD-RTOS system ROM to C, then the game. It is a second route for Path A.`git clone --recurse-submodules https://github.com/mstan/HotelMarioRecomp.git` as an example game project, then `python tools/build.py --bios <BIOS_ROM> --disc <CUE>`. Needs CMake 3.20+, Ninja, Python 3.11+, SDL2, OpenGL and your own BIOS. The README names Windows MinGW and Linux buildsCD-i
MSYS2 (CLANG64 shell)
Windows
A Windows shell with pacman packages. Its CLANG64 toolset builds 13 of the 15 reviewed ports.winget install MSYS2.MSYS2 (or the installer from https://www.msys2.org), then open the MSYS2 CLANG64 shellPS4
MSYS2 (GCC, CMake, Ninja, SDL2)
Windows
A Windows shell and package manager. It gives you GCC, CMake, Ninja and SDL2 for building the recompiled game.Run `msys2-x86_64-20260927.exe` from msys2.org. In the MINGW64 shell: `pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja mingw-w64-x86_64-SDL2`GG
MSYS2 (MINGW64 clang, CMake, Ninja, SDL3)
Windows
A Windows shell with Linux-style tools. It builds the C++ the toolkits write.Install from https://www.msys2.org/, then in MINGW64: pacman -S make mingw-w64-x86_64-clang mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja mingw-w64-x86_64-sdl3 mingw-w64-x86_64-pythonSAT
MSYS2 (MinGW64 GCC, CMake, Ninja)
Windows
A Windows build setup with GCC and package manager pacman. Chaotix Recompiled builds its Windows version this way.Run the installer `msys2-x86_64-20260927.exe` from msys2.org. In the MinGW64 shell: `pacman -S mingw-w64-x86_64-{gcc,cmake,ninja,sdl3,sdl3-ttf} git python`32X
MSYS2 (UCRT64 with Clang and lld)
Windows
A Windows shell with Clang, lld, make and many libraries. Generated C uses GNU extensions, so Microsoft's cl.exe cannot build it.Run `msys2-x86_64-20260927.exe` from msys2.org and install to `C:\msys64`. Then in the UCRT64 shell, for the LAS family (MHGU Recomp's list): `pacman -S --needed make git diffutils mingw-w64-ucrt-x86_64-clang mingw-w64-ucrt-x86_64-lld mingw-w64-ucrt-x86_64-pkgconf mingw-w64-ucrt-x86_64-sdl3 mingw-w64-ucrt-x86_64-shaderc mingw-w64-ucrt-x86_64-nasm mingw-w64-ucrt-x86_64-vulkan-headers mingw-w64-ucrt-x86_64-vulkan-loader mingw-w64-ucrt-x86_64-vulkan-memory-allocator`. The TotK family uses the longer list in its `docs/building.md`.NSW
MSYS2 (UCRT64 with Clang, lld and Ninja)
Windows
A Unix-like shell and package manager for Windows. The DKB line builds the lifted C with its Clang.Run `msys2-x86_64-20260927.exe` from msys2.org and install to `C:\msys64`. In the UCRT64 shell run `pacman -Syuu` twice, then `pacman -S --needed --noconfirm mingw-w64-ucrt-x86_64-{clang,lld,ninja,gcc,make,pkgconf,sdl3,opus,libvpx,zstd,vulkan-devel,vulkan-memory-allocator,vulkan-validation-layers,shaderc,spirv-tools} base-devel git unzip`.NS2
mwccarm and mwldarm (Metrowerks CodeWarrior for DS)
Windows
The original C compiler and linker DS games were built with. Path B needs the exact version your game used.Not downloadable here and must not be committed. Supply your own copy under `tools/mwccarm/<VERSION>/`.DS
mwccgap
WSL/Linux
Lets a C file hold unmatched functions as assembly when you use the CodeWarrior compiler. It swaps the assembly in after compiling.git submodule add https://github.com/mkst/mwccgap.git tools/mwccgapPSP
N64ModernRuntime
both
Stands in for libultra on PC: threads, audio, timers, controllers, overlays and saves.Add as a git submodule and use add_subdirectory in your CMakeLists.txtN64
N64Recomp (with RSPRecomp)
both
Turns N64 MIPS code into C, one function per file. RSPRecomp does the same for audio and graphics microcode.git clone --recurse-submodules https://github.com/N64Recomp/N64Recomp deps/N64Recomp, then cmake -S deps/N64Recomp -B deps/N64Recomp/build -G Ninja -DCMAKE_BUILD_TYPE=Release and cmake --build deps/N64Recomp/build (on Windows, inside the Visual Studio x64 build setup)N64
n64sym
Windows
Finds known library functions, like libultra, inside a ROM and names them.Download n64sym-v0.9a.zip from the releases pageN64
ndspy
both
A Python library for DS file formats: ROM, NitroFS, archives and compression.`pip install ndspy`DS
ndsrecomp
both
A ready DS static recompiler and runtime framework. Its README calls it very early pre-alpha, with no turnkey game build. Its own code is under a noncommercial license. By default it wants your own BIOS and firmware dumps.`git clone https://github.com/RetroPortingToolKit/ndsrecomp`, then `cmake -G Ninja -B recompiler/build recompiler` and `cmake --build recompiler/build`. A Windows zip of v0.6.11 is on the releases page.DS
neogeorecomp
both
A static recompilation toolkit for Neo Geo games. Its m68krecomp turns the 68000 program into C, and its runtime models the Neo Geo board. It has a --verify mode against Musashi.`git clone --recurse-submodules https://github.com/sp00nznet/neogeorecomp`, then `cmake -S . -B build`, `cmake --build build --config Release`, `ctest --test-dir build -C Release --output-on-failure`.ARC
NESRecomp
Windows
Turns NES 6502 code into C and gives you a runner for the picture chip, sound, mappers, input and saves. It is in beta.Download `nesrecomp-cli-windows-x86_64.zip` from https://github.com/mstan/nesrecomp/releases, or `git clone --recurse-submodules https://github.com/mstan/nesrecomp.git` and build with CMakeNES
nodtool
both
Reads, checks, extracts and converts Wii disc images, including RVZ and WBFS.Download `nodtool-windows-x86_64.exe` from the nod releases page (v2.0.0-alpha.12), or `cargo install --locked nodtool`Wii
nodtool (nod)
both
Reads GameCube disc images: ISO, RVZ, WIA, CISO, GCZ, WBFS and TGC. It can verify a dump against Redump, extract files, and convert .rvz to .iso.Download `nodtool-windows-x86_64.exe` from the releases page (v2.0.0-alpha.12, a test release), or `cargo install --locked nodtool`. `dtk disc` commands wrap the same library.GC
Nuked-OPN2
both
A model of the YM3438, the later version of the Genesis YM2612 FM sound chip. It was built from die shot study. It plays the Genesis FM music.`git submodule add https://github.com/nukeykt/Nuked-OPN2 third_party/nuked-opn2`32X
nx-decomp-tools (viking and asm-differ)
WSL/Linux
The checker behind tools/check in Switch decomps. It compares your compiled function with the original and shows a diff.Add it as a git submodule, then `git submodule update --init --recursive`. BotW's `tools/setup.py` builds the checker.NSW
nxrecomp
Windows
A shared recompiler, runtime and tools, with one folder per game. Its README lists Nintendo Switch games. Recompia's Switch 2 Pokopia port uses its lifter.`git clone https://github.com/drakolordx7/nxrecomp`. Needs VS Build Tools, LLVM clang-cl, CMake, Ninja, sccache, the Vulkan SDK, Python 3.13 with `uv`, and .NET 10.NS2
objdiff and objdiff-cli
both
Compares your compiled object with the original, function by function. The CLI gives a score Claude can read.`dtk-template` downloads `objdiff-cli` into `build/tools/` (pinned v3.6.1). For the window, download `objdiff-windows-x86_64.exe` from the releases page (v3.8.3).GC
old-gcc
WSL/Linux
Prebuilt old GCC versions, including PlayStation builds like gcc-2.8.1-psx and gcc-2.7.2-cdk.In WSL, download the `-psx` tarball you need from the releases page and extract it into `tools/`PS1
os9exec 4.1.1
both
Runs OS-9/68000 programs on Windows, Linux or macOS. It might run a Microware compiler you own. Nobody here has tried that.Download `os9exec-windows-x64.exe` from the v4.1.1 releaseCD-i
paraLLEl-GS
both
Draws PS2 graphics on the GPU with Vulkan. Ports use it as a renderer or as a reference.`git clone https://github.com/Arntzen-Software/parallel-gs.git` and pin a commit, as DW5XL doesPS2
pcrecomp
both
A toolbox for old PC programs. It reads PE files, finds functions, lifts x86 to C, tests the lift, and gives runtimes for Windows and Linux.`git clone https://github.com/sp00nznet/pcrecomp` then `pip install capstone pefile lief unicorn cryptography`. Needs Python 3.10+, CMake 3.20+ and Visual Studio 2022.PC
PCSX-Redux
both
A PlayStation emulator built for debugging. It has Lua scripts, a GDB server and breakpoints. OpenBIOS comes from this project.Download the Windows x64 build from the README's download table. Linux AppImages are listed there too.PS1
PCSX2
both
The main PS2 emulator. It is your reference for how the real game looks, sounds and behaves.Download the installer from https://pcsx2.net/downloads/. Dump the BIOS from your own consolePS2
PicoDrive
both
An open-source emulator for the Genesis, Sega CD and 32X. It is the outside reference for real 32X behaviour. VRDE built its whole project on it.Download `PicoDrive-win32-2.05-7cbcd41.zip` from release v2.05. Or in WSL: `git clone --recurse-submodules https://github.com/irixxxx/picodrive`, then `./configure --platform=generic` and `make`. The generic build needs SDL 1.232X
pl_mpeg
both
A one-file C library that decodes MPEG-1 video and audio. Mutant Rampage uses it to stand in for the Digital Video cartridge.Copy `pl_mpeg.h` into `runtime/third_party/` and keep its licence textCD-i
PortableKit
both
A PSP recompiler and full runtime. Its team (TeamGDB) took it out of Yakumo. It has an interpreter, a Vulkan renderer, audio, saves and an installer.git clone --recursive https://github.com/TeamGDB/PortableKit.git, then cmake -S . -B out -G Ninja -DCMAKE_BUILD_TYPE=Release and cmake --build out -j2 (on Windows, in a Visual Studio developer prompt)PSP
PPSSPP
Windows
The main PSP emulator. You use it as the reference for how the real system acts, and to save function names as a .sym file.Download PPSSPPSetup.exe or ppsspp_win.zip (version 1.20.4) from https://www.ppsspp.org/download/PSP
PS2 original compilers (decomp.me set)
WSL/Linux
Copies of Sony's ee-gcc builds and Metrowerks mwcps2, as used on decomp.me. A match needs the exact one.Download the archive for your compiler from the `decompme/compilers` release named `compilers`, for example `ee-gcc2.96.tar.xz`, into `tools/`PS2
ps2-port-engine
Windows
A second PS2 pipeline. It turns each function into C++ and tests it against the original code in an interpreter.In your game repo: `git submodule add https://github.com/danielgomesvieira2000/ps2-port-engine engine`. Needs Python 3.10+ and Visual Studio 2022 C++PS2
PS2Recomp
both
Turns a PS2 ELF into C++ and gives a runtime that stands in for the console. The runtime is partial, so you add to it.`git clone --recurse-submodules https://github.com/ran-j/PS2Recomp.git`, `cd PS2Recomp`, `cmake -S . -B out/build`, then `cmake --build out/build --config Debug`PS2
PS3 Disc Dumper
both
Makes a decrypted copy of your own PS3 disc. It needs a supported Blu-ray drive and a known disc key.Download the release from https://github.com/13xforever/ps3-disc-dumper/releases and run itPS3
ps3recomp
both
The PS3 recomp toolkit. It finds functions, lifts PPU and SPU code to C++, and gives the runtime that fakes the PS3 system.git submodule add https://github.com/sp00nznet/ps3recomp third_party/ps3recomp, then git -C third_party/ps3recomp checkout v0.19.0, then pip install -r third_party/ps3recomp/requirements.txtPS3
ps5-native-mac
macOS (Apple silicon)
A static recompiler that turns the game's x86-64 code into C, then into Apple silicon code. It has its own system runtime and Metal graphics.Needs a Mac with Apple silicon, macOS 26 and Xcode with the Metal toolchain. Clone the repo and follow the Building section of its README. It does not run on Windows or WSLPS5
ps5rs
both
A Rust tool that reads PS5 game files. It finds the engine and middleware, and turns function names into NIDs.Install Rust 1.85 or newer, clone the repo, then run cargo build --releasePS5
PSP compiler kits (decomp.me)
WSL/Linux
The list of PSP compilers the decomp community uses: mwccpsp builds 121 to 219, psp-gcc 1.3.1 and 1.7.1, and pspsnc 1.2.7503.0.In WSL: wget https://github.com/decompme/compilers/releases/download/compilers/<KIT>.tar.gz, then tar xzf it into bin/<KIT> on the Linux file system, outside GitPSP
pspdecrypt
both
Decrypts a PSP program file, like EBOOT.BIN, into an ELF or PRX you can read.Download pspdecrypt-1.0-windows.zip or pspdecrypt-1.0-linux.zip from the releases pagePSP
pspdev
WSL/Linux
The open PSP toolchain: psp-gcc, psp-cmake and packaging tools. Use it if your port target is the PSP.In WSL, first: `sudo apt-get update` and `sudo apt-get install build-essential cmake pkgconf libreadline8 libusb-0.1 libgpgme11 libarchive-tools fakeroot wget`. Then, in your home folder: `wget https://github.com/pspdev/pspdev/releases/latest/download/pspdev-ubuntu-latest-x86_64.tar.gz`, `tar -xvf pspdev-ubuntu-*.tar.gz`, then add `export PSPDEV="$HOME/pspdev"` and `export PATH="$PATH:$PSPDEV/bin"` to `~/.bashrc`.GG
PSPRecomp
both
The other PSP recomp framework. It gives psp_analyze, psp_recomp and a runtime. You add a game profile. It has no interpreter and no decryption.git clone https://github.com/jessicanataliagta/PSPRecomp.git, then cmake -S . -B out/framework -DPSPRECOMP_PROFILE="" and cmake --build out/framework --config ReleasePSP
PSXRecomp
both
A PlayStation recomp framework. It turns MIPS code into C and links it to a shared runtime. It ships the free OpenBIOS and a debug server.`winget install Git.Git Python.Python.3.12`, extract `cmake-clang-v1-windows-x64.zip`, then `git clone --recurse-submodules https://github.com/RetroPortingToolKit/psxrecomp.git`PS1
PsyCross
both
Rebuilds the Psy-Q libraries on SDL2, OpenGL and OpenAL. Decompiled games link to it to run on PC.`git submodule add https://github.com/OpenDriver2/PsyCross`; needs SDL2 2.0.16+ and OpenAL-soft 1.21+PS1
pulseman
both
A small Mega Drive hardware runtime in C for games rewritten in C. It has no 68000 or Z80 emulation.`git submodule add https://github.com/1nputs/pulseman ext/pulseman`, then in WSL run `make`, `make check` and `make sdl` (needs `build-essential pkg-config libsdl2-dev`). Its README also names MSYS2 or a MinGW-w64 cross build for Windows.GEN
Python
both
Runs pcrecomp, reccmp and your check scripts. reccmp needs Python 3.11 or newer.Get the Python install manager from python.org/downloads. Then run `py install 3.13`.PC
Python 3 and Git (on Windows)
Windows
Python runs splat and your helper scripts. Git holds your code and pins the tools.Install Python 3 from python.org and Git for Windows, then make a venv in the repo: python -m venv .venvN64
Python 3 with capstone
both
Runs the xboxrecomp pipeline and the check scripts. capstone is the x86 disassembler the pipeline uses.Install Python 3.10 or newer, then `py -3 -m pip install capstone pytest`. Pin the version your project uses, such as `capstone==5.0.9`XBOX
Python 3 with pycryptodome (capstone optional)
both
Runs the recompiler, extract and audit scripts. pycryptodome decrypts disc images. The optional capstone powers the disassembler helper tools/ppcdis.py.Install Python 3 from python.org, then run pip install pycryptodome. Optional: pip install capstoneWii U
Python 3.10 or newer
both
Runs the Path B tools, the pipeline, Capstone and your boot probe.winget install Python.Python.3.123DS
Python 3.11+
both
Runs the probe, setup and import scripts. Most projects keep their tools in Python.Install from https://www.python.org/downloads/windows/ and tick 'Add to PATH'. In WSL: sudo apt install python3SNES
Python 3.11+ (Windows build)
Windows
Runs the recompiler, the compare tools and your ledger scripts.Install from python.org. Use the Windows build, not an MSYS2 or Cygwin one. Pass `-Python <path>` to `build.ps1` if the wrong one is on PATH.VB
Python 3.12
both
Runs the toolkit's lift scripts and your own check scripts.winget install --id Python.Python.3.12PS3
Python 3.12 or newer
both
Runs the map, compare, coverage and release scripts. Capstone and asm-differ are Python packages.Download Python from the URL, or run `uv python install 3.12`. In WSL: `sudo apt install python3 python3-venv python3-pip`.GEN
QEMU user mode and a PowerPC GCC in WSL
WSL/Linux
qemu-ppc runs a 32-bit PowerPC Linux program on your PC. The big-endian check builds the headless game for PowerPC and runs every scenario under it, to catch byte-order bugs before a port.In WSL Ubuntu: `sudo apt install qemu-user gcc-powerpc-linux-gnu`.ARC
reccmp
both
Compares each rebuilt function, global and vtable with the original .exe and gives a match score.Make a Python 3.11 or newer virtual environment, then run `pip install reccmp`.PC
RecompOne
both
A second recomp framework. It turns MIPS code into C# and runs it on .NET. Its authors reject AI-written pull requests.Install the .NET 10 SDK, add RecompOne as a submodule, then `dotnet build RecompOne.Recompiler -c Release`PS1
RedHills and wut
both
RedHills is a Clang fork that lays out C++ classes like the Green Hills compiler. wut is the homebrew Wii U SDK. Together they rebuild a standalone .rpx.Install devkitPro, then run dkp-pacman -Syu --needed wiiu-dev; build RedHills from https://github.com/Jacobwasbeast/RedHills in Docker as the Minecraft repo's tools/build.py doesWii U
Remill
WSL/Linux
Lifts x86 machine code to LLVM bitcode, so clang can compile it for another chip.In WSL: `git clone https://github.com/lifting-bits/remill` and `cd remill`. Then run `cmake -G Ninja -S dependencies -B dependencies/build` and `cmake --build dependencies/build`. Then run `cmake -G Ninja -B build -DCMAKE_PREFIX_PATH:PATH=$(pwd)/dependencies/install -DCMAKE_BUILD_TYPE=Release` and `cmake --build build`.PC
RetroArch with the Flycast core
both
A front end that runs emulator cores. The kickoff decomps run its Flycast core so tools/4-boosts/live.py can read the game's RAM while it plays.Download RetroArch from https://www.retroarch.com/ and add its Flycast core. Then run `python3 tools/4-boosts/live.py` with no arguments in your decomp repo for the setup stepsDC
retrodisasm
both
A tracing disassembler that writes NES assembly which rebuilds the exact same ROM. It can check the rebuild for you.Download `retrodisasm_v0.4.1_windows_64bit.zip` from https://github.com/retroenv/retrodisasm/releases and put `retrodisasm.exe` on `PATH`. (With Go 1.25 or newer you can instead run `go install github.com/retroenv/retrodisasm@latest`.)NES
ReXGlue SDK
both
Turns Xbox 360 PowerPC code into C++ and gives you a ready runtime taken from Xenia. It runs the init, codegen and migrate steps.In the x64 Developer PowerShell for VS 2022: git clone --recursive https://github.com/rexglue/rexglue-sdk.git && cd rexglue-sdk && git checkout v0.10.1 && git submodule update --init --recursive && cmake --preset win-amd64 && cmake --build out/build/win-amd64 --target install360
ripgrep
both
A fast text search. The Path B checks use rg to find goto labels and __imp__ calls in rewritten files.winget install BurntSushi.ripgrep.MSVC360
ROM decompressor (game specific)
both
Unpacks a game whose code is compressed, so the recompiler or splitter sees real code. Each game family has its own tool.Use the tool the game's decomp uses. Zelda games: build or download `z64decompress` and run z64decompress rom-in.z64 rom-out.z64N64
RPCS3
both
A PS3 emulator. It decrypts your game file and serves as the answer key for logs and frames.Download the newest win64 .7z from https://github.com/RPCS3/rpcs3-binaries-win/releases (or https://rpcs3.net/download) and unpack it, then run rpcs3 --decrypt <path to EBOOT.BIN>PS3
RT64
both
Draws N64 graphics with D3D12, Vulkan or Metal. Adds widescreen, high frame rate and texture packs.Add as a git submodule (git submodule update --init --recursive) and build it with your projectN64
Rust (rustup and cargo)
both
A language and build tool for the port. Six Golden Coins rewrote its game in Rust.WSL: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`. Windows: run `rustup-init.exe` from rustup.rsGB
Rust (rustup)
both
Builds the fast native analyzer inside snesrecomp. You do not write any Rust.Windows: run rustup-init.exe from rust-lang.org. WSL: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shSNES
Rust (rustup) with the GNU toolchain
both
Builds 3dsrecomp, Zakuro and any ported program. Use the GNU target on Windows so it matches MinGW gcc.Run the installer from https://rustup.rs, then rustup default stable-x86_64-pc-windows-gnu3DS
Ryujinx (Ryubing)
both
An open-source Switch emulator under the MIT licence. Recomps borrow its shader translator. You can also run the game in it to compare behavior.Download a build from ryujinx.app/download. Base projects fetch the translator source with their own scripts, such as TotK's `tools/build_xlate.py`.NSW
satrecomp
both
A toolkit that records which code runs, translates it to C++, and falls back to an interpreter for the rest. It counts every fallback.git clone https://github.com/tmcleroy/satrecomp && cd satrecomp && make checkSAT
saturn-recomp
both
A fork of saturnkit with a game.toml setup, a learn loop for missed code, and a reference runner for Beetle Saturn.git submodule add https://github.com/callumjenkins/saturn-recomp.git saturn-recomp && pip install -e saturn-recomp (or `uv add --editable ./saturn-recomp` if you use `uv`)SAT
saturn-splitter
WSL/Linux
A work-in-progress splitter for Saturn programs, like splat. It now targets one Symphony of the Night file, T_BAT.PRG. Its scripts run the Cygnus DOS compiler in Docker.Install Rust from https://rustup.rs first. Then: git clone https://github.com/sozud/saturn-splitter && cd saturn-splitter/rust-dis && cargo build --releaseSAT
saturnkit
Windows
A Saturn toolkit in Python and C++. It reads discs, disassembles SH-2 code, finds functions, writes C++ and runs it on its own runtime. Its sh2emu interpreter can also run one original function alone.git submodule add https://github.com/vs-sr-dev/saturnkit.git saturnkitSAT
SDCC (`sdasz80`, `sdldz80`)
both
A small C compiler suite with a Z80 assembler and linker. Zenki rebuilt its ROMs with them. Its C compiler can build the Game Gear side of a Path B port.Download the Windows amd64 installer from the SDCC SourceForge page. Pin the version you need; Zenki pinned 4.1.0.GG
SDL
both
A library for the window, input, audio and controllers. The runtimes use SDL2 or SDL3.Use the copy your framework bundles, or `sudo apt install libsdl2-dev` in WSLGEN
SDL2
both
A library for the window, sound and game pads. Your Path B port uses it on every system. NESRecomp ships its own copy for Path A.Windows: download `SDL2-devel-2.32.10-VC.zip` from https://github.com/libsdl-org/SDL/releases and point CMake at it. WSL: `sudo apt install libsdl2-dev`NES
SDL2 2.32.10
both
A library for windows, input and sound on many systems. HotelMario-Decomp's port uses it on Windows, and devkitPro for 3DS.Download `SDL2-devel-2.32.10-VC.zip` (or the MinGW package) from the release page and unpack it into `tools/ext/`CD-i
SDL2 and SDL3
both
A library for the window, sound and game pads. SDL2 is most common here. SDL3 adds the SDL_GPU API that OpenGP and SpikeOut use for Vulkan and Metal.On Windows, unpack `SDL2-devel-2.32.10-VC.zip` from the SDL releases page. tmnt-port looks for it in `build/downloads/sdl2/`. In WSL: `sudo apt install libsdl2-dev`.ARC
SDL2 development package (for snesref)
Windows
The window and input library that the snesref reference tool builds against.Download SDL2-devel-2.30.9-VC.zip from the SDL release-2.30.9 page and extract it to tools\snesref\SDL2-2.30.9SNES
segagenesisrecomp (`GenesisRecomp`)
both
A beta framework that turns 68000 cartridge code into C. It also gives a shared runtime for the VDP, bus, sound, Z80 and an interpreter fallback.Download `GenesisRecomp-windows-x64-v0.1.2.zip` from release v0.1.2, or `git clone --recurse-submodules https://github.com/mstan/segagenesisrecomp.git` and build with `cmake -S recompiler -B build/recompiler -G "Visual Studio 17 2022" -A x64` then `cmake --build build/recompiler --config Release --parallel`GEN
sh-elf binutils
WSL/Linux
The GNU assembler, linker and objdump for SH-2. Path B uses them to rebuild and compare programs.sudo apt install binutils-sh-elfSAT
shadPS4
both
A PS4 emulator. You use it as a reference: run the same scene there to see if a bug is yours. Most ports copy its video core.Download the win64 QtLauncher zip from https://github.com/shadps4-emu/shadps4-qtlauncher/releases (its builds are marked pre-release), or build the core per documents/building-windows.mdPS4
shadPS4 game compatibility list
both
Reports on how each game runs in shadPS4 and where it stops. Read your game's page before you start.No install. Search the issues at the URL for your game's title ID.PS4
Shuriken Explorer
both
A web page that shows a Dreamcast game's models, textures, sounds and code from your own files. Nothing is uploaded.Open https://consolesplayingconsoles.github.io/dc-shuriken-explorer/ and pick your disc files or your kickoff repoDC
SingleStepTests 65816
both
JSON tests for every 65816 instruction, 20,000 per opcode. Use them if you change or write a CPU core.git clone https://github.com/SingleStepTests/65816SNES
smsggrecomp (`SmsRecomp.exe`)
both
A shared framework that turns Master System and Game Gear Z80 code into C. It comes with a runtime for video, sound, ports and mapper, plus an interpreter fallback.Add it to your game repo with `git submodule add https://github.com/mstan/smsggrecomp` and `git submodule update --init --recursive`. A standalone `SmsRecomp.exe` is on release v0.0.4.GG
Snes9x (libretro core)
both
A trusted SNES emulator. Load its libretro core into snesref to compare your port frame by frame.Download snes9x-1.63-libretro-x64.zip from the Snes9x Releases page (non-commercial license)SNES
snesrecomp
both
Turns 65816 machine code into C and builds it with a shared SNES runtime. Code it cannot prove runs in its interpreter. It also ships the snesref and co-sim debug tools.git clone --recurse-submodules https://github.com/RetroPortingToolKit/snesrecomp.gitSNES
SpartanPort (gow3_pc)
both
The God of War III port. Four reviewed ports forked it directly, and two more reuse its code. It adds signature-based patches and agent plan files.git clone --recursive https://github.com/FelipePrado0/SpartanPort && cd SpartanPort && bash build.shPS4
spimdisasm
WSL/Linux
A MIPS disassembler that makes assembly which builds back exactly. It knows the PSP's Allegrex instructions.python3 -m pip install -U spimdisasmPSP
SPIRV-Tools (spirv-val)
both
Checks that shader code given to the graphics driver is valid. Bad shaders crashed the AMD driver at start.pacman -S mingw-w64-clang-x86_64-spirv-tools (then `spirv-val --target-env vulkan1.3 <file>.spv`)PS4
splat (splat64)
both
Splits an N64 ROM into code, data and assets, and writes assembly files.python3 -m pip install -U "splat64[mips]"N64
Supermodel
Windows
An emulator for Sega Model 3. SpikeOut Recomp uses it as its first hardware reference, and draws the same 3D frame dump in both to compare.Download a Windows build from the Supermodel releases page on GitHub. Only needed for Model 3 games.ARC
superzazu z80
both
A small Z80 interpreter in C99 that passes the zexdoc and zexall instruction tests. It is a good core for your reference interpreter.In WSL: `sudo apt install build-essential`, `git clone https://github.com/superzazu/z80`, `cd z80`, then `make && ./z80_tests`. On Windows, `smsggrecomp` already compiles the same `z80.c` with MSYS2 GCC.GG
symdump
Windows
Reads the .SYM debug files that a few discs shipped with. It prints names and types, like Sony's own DUMPSYM.EXE.Download `symdump.exe` from release 1.0 on the releases page. It is a C# program from 2017.PS1
The game's original Visual C++
Windows
The exact old compiler that built the game. Matching is not possible without it.Use a copy you have the right to use. Put it in a path with no spaces and run its `BIN\VCVARS32.BAT x86` before building.PC
The Macroassembler AS (`asl`)
both
A cross assembler with 68000 support. Sonic Retro's disassemblies and xmen2disasm build with it.Download the Win32 binaries or the C sources from the download page. Latest build 1.42 Bld 316.GEN
The Macroassembler AS (`asl`, `p2bin`)
both
A cross assembler that knows the 68000, the SH7600 family (SH-2) and the Z80. One tool can rebuild a whole 32X cartridge.Download the Win32 binaries or the C sources from the download page. Latest build 1.42 Bld 316.32X
Tracy profiler 0.14.1
Windows
Shows where each frame's time goes. AnyPS5 builds the matching client when you add -DAPS5_ENABLE_TRACY=ON.Download windows-0.14.1.zip from the v0.14.1 release page and unzip itPS5
ultralib
WSL/Linux
A rebuilt copy of libultra source. Library functions in your game often match it as-is, so agents start from it, not from scratch.git clone https://github.com/decompals/ultralib tools/ultralib (read its README for the versions it can build)N64
v810-gcc
both
A GCC 4.9 cross compiler and binutils for the V810. Use it to build small test ROMs and V810 objects.In MSYS2: `pacman -S --needed git base-devel autoconf gperf` and `pacman -S mingw-w64-x86_64-gcc`. Then `git clone https://github.com/jbrandwood/v810-gcc.git`, `cd v810-gcc` and `./build_compiler.sh`VB
vbrecomp (mstan)
Windows
A Python V810-to-C recompiler plus a C runtime that acts like the console. It has a TCP debug server, a referee harness and test scripts.Comes as the `vbrecomp/` submodule of a game host. Alone: `git clone --recurse-submodules https://github.com/mstan/vbrecomp.git`VB
vbrecomp (sp00nznet)
Windows
A separate V810-to-C recompiler written in C. Its status table covers 76 ROMs, so it shows how far a game gets elsewhere.`git clone https://github.com/sp00nznet/vbrecomp.git`, then run `Setup.cmd`, or follow `docs/GETTING_STARTED.md` (Visual Studio 2022 Build Tools, CMake, vcpkg SDL2)VB
Visual Studio 2022
Windows
The modern Microsoft compiler and IDE. You use it for the runtime, the port and the tests.Install the `Desktop development with C++` workload with `C++ CMake tools for Windows` and the `Windows SDK`.PC
Visual Studio 2022 (C++ desktop workload)
Windows
The C and C++ compiler that NESRecomp is tested with on Windows. Its CMake tools come with it.Install Visual Studio 2022 or its Build Tools with **Desktop development with C++** and the CMake tools, then open Developer PowerShell for VS 2022NES
Visual Studio 2022 (C++ workload with CMake tools)
Windows
The Windows compiler and build tools that the snesrecomp guide uses.Install Visual Studio 2022 with 'Desktop development with C++', the Windows SDK and 'C++ CMake tools for Windows'SNES
Visual Studio 2022 Build Tools and clang-cl
Windows
Microsoft's C++ compiler for Windows, plus LLVM's clang-cl. dream-recomp builds with MSVC 2022; Dreamcomp needs clang-cl.Download Build Tools for Visual Studio 2022 from the older downloads page, https://visualstudio.microsoft.com/vs/older-downloads/. Pick **Desktop development with C++** and add its optional part **C++ Clang tools for Windows**DC
Visual Studio 2022 Build Tools and CMake
Windows
The C compiler and build system every reviewed Windows port uses. They build the runtime and the generated C.`winget install Microsoft.VisualStudio.2022.BuildTools --override "--add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --passive"`, then `winget install Kitware.CMake`CD-i
Visual Studio 2022 Build Tools with LLVM Clang
Windows
The Windows compilers for the recomp build. Recomp projects build with clang-cl.In the Visual Studio 2022 installer, pick "Desktop development with C++", then the optional parts "C++ Clang compiler for Windows" and "C++ CMake tools for Windows"N64
Visual Studio 2022 with Clang
Windows
The Windows compiler setup ReXGlue expects. You need the C++ Clang Compiler for Windows, because the generated code builds only with Clang.Install Visual Studio 2022 Community with Desktop development with C++, plus C++ Clang Compiler for Windows (20 or newer) and MSBuild support for LLVM (clang-cl)360
Visual Studio 2022 with Clang, CMake and Ninja
Windows
The Windows compilers and build tools. XboxXBERecomp needs its Clang tools. xboxrecomp builds with MSVC.Run the Visual Studio 2022 installer. Pick Desktop development with C++, C++ Clang tools for Windows, and C++ CMake tools for WindowsXBOX
Visual Studio 2022, CMake and Ninja
Windows
The C++ compiler and build tools for Path A on Windows. clang-cl from Visual Studio or LLVM builds the generated code faster.Install Visual Studio 2022 with the C++ workload; install CMake 3.20 or newer and Ninja. Run Ninja builds from a Visual Studio developer prompt.PSP
Visual Studio Build Tools (C++ workload)
Windows
Microsoft's C++ compiler and linker without the full editor. The .NET shader translator build calls its linker. nxrecomp also builds with it.winget id `Microsoft.VisualStudio.BuildTools` with `--add Microsoft.VisualStudio.Workload.VCTools --includeRecommended`. Then add `C:\Program Files (x86)\Microsoft Visual Studio\Installer` to PATH for `vswhere.exe`.NS2
Visual Studio Build Tools and CMake
Windows
The C and C++ compiler for Windows, and the build system every reviewed project uses. Most projects build with cmake -S . -B build and cmake --build build --config Release.Install Build Tools for Visual Studio from the Visual Studio downloads page, with the C++ workload. Install CMake 3.20 or newer with the Windows `.msi` from cmake.org.ARC
Visual Studio with C++ and CMake
Windows
The Windows compiler and build tools the recomp projects use. CMake writes the build files, and Ninja runs them on some projects.Install Visual Studio 2022 (Community or Build Tools) with the Desktop development with C++ workload and its CMake tools. The download page now leads with Visual Studio 2026; 2022 is under Older Downloads. The steps use the generator name `Visual Studio 17 2022`.GEN
VUCC Dev Kit
Windows
A community kit with Nintendo's 1995 C compiler, VUCC, and its helper tools. You need it only for the matching probe.Download from the virtual-boy.com tools page. Run its 16-bit programs in DOSBox.VB
WiiCompiled translator
both
Turns a Wii main.dol and its RELs into C++. It comes with a runtime for the Wii's system code. It needs the .NET 8 SDK, CMake 3.25 or newer, Ninja and Clang.git clone --recursive https://github.com/patchzyy/Wiicompiled ; cd Wiicompiled ; dotnet build translator/Translator.sln -c ReleaseWii
wiiurpxtool
Windows
Unpacks a compressed .rpx into a plain ELF file that other tools can read.Download wiiurpxtool.zip from release v1.3 and run wiiurpxtool -d <NAME>.rpx <NAME>.elfWii U
WinLibs GCC 15.2.0 (UCRT, POSIX threads)
Windows
The C++ compiler that AnyPS5's Windows builds use. MSYS2 UCRT64 GCC also works. Scoop's GCC 15.2.0 cannot build the libraries.Download winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64ucrt-14.0.0-r7.zip from the release page, check it against its .sha256 file, unzip to C:\tools\winlibs, and put C:\tools\winlibs\mingw64\bin first on PATH. Its own cmake needs SSL_CERT_FILE set (Path A step 2)PS5
WinUAE 6.0.3
Windows
A full Amiga emulator for Windows with a strong debugger. Use it to check real behavior and dump RAM.Download the 64-bit installer (`.msi`) or the 64-bit zip from winuae.netAMI
WLA DX (`wla-z80`, `wlalink`)
both
A cross assembler and linker for Z80 and many other chips. It has directives for Master System and Game Gear headers and checksums.Download `wla_dx_v10.7_Win64.zip` from the GitHub releases and unzip it. The same release also carries `vc_redist.x64.exe`, the Microsoft Visual C++ runtime. Or build from source: `mkdir build && cd build`, `cmake ..`, then `cmake --build . --config Release`.GG
WLA-DX
both
Another assembler. oracles-disasm builds with it, not RGBDS. You need it only if your game's disassembly uses it.Download `wla_dx_v10.6_Win64.zip` from the releases page, or build it in WSL from the source. `oracles-disasm` asks for v10.6, Python 3 and `python3-yaml`. Its README says v10.6 does not rebuild Seasons byte for byte; a branch of WLA-DX is needed for thatGBC
WSL
Windows
Runs Linux inside Windows 11. You need it only for a Linux build, bash-only scripts and llvm-mingw.`wsl --install`, then pick an Ubuntu name from `wsl --list --online` and run `wsl --install -d <DistroName>`XBOX
WSL (Ubuntu)
Windows
A Linux system inside Windows. You need it for wibo, Wine and the recompiler tests that use Linux clang.In PowerShell as administrator, run `wsl --install`, then restart.DS
WSL 2 with Ubuntu
Windows
A Linux system inside Windows. Path B matching builds run here.Follow Microsoft's WSL install guide (https://learn.microsoft.com/en-us/windows/wsl/install), then clone your repo inside the Linux file system, not under /mnt/cN64
WSL with GCC, make and SDL2
WSL/Linux
Linux inside Windows. Path B's C-rewrite style, pulseman and the hashing commands in the steps run there.In PowerShell run as administrator: `wsl --install`, then restart. In the Ubuntu shell: `sudo apt install build-essential pkg-config libsdl2-dev`.GEN
WSL with Ubuntu
Windows
Linux inside Windows. Path B needs it: the matching projects run Basilisk II, vasm and their build scripts there.In PowerShell as administrator: `wsl --install`, then restart. It installs Ubuntu by defaultCD-i
WSL with Ubuntu 24.04
Windows
Linux inside Windows. Path B runs its build here, with ninja, MIPS binutils, Python and the old compilers.wsl --install -d Ubuntu-24.04, then in WSL: sudo apt-get install binutils-mipsel-linux-gnu ninja-build python3-venv libc6-i386PSP
WSL with Ubuntu 26.04 LTS
Windows
A Linux system inside Windows. You need it for Remill and for the Linux build of a port.In PowerShell as admin, run `wsl --install -d Ubuntu-26.04`, then restart.PC
WSL with Ubuntu, clang and Python
WSL/Linux
Linux inside Windows. The Path B harness needs it, because it uses Linux signals. Use it for a Linux build too.In PowerShell as administrator, run wsl --install, then restart. In Ubuntu: sudo apt install clang python3Wii U
XboxLLR
Windows
A third Xbox recompiler, in early beta. It stops with a clear error at any target it cannot handle, instead of guessing.Download `xboxllr-build-tool-windows-x64-2026.11.13.1.zip` from its releases. MSVC and CMake are still neededXBOX
xboxrecomp
both
A Python pipeline that parses, maps and lifts an XBE to C, plus runtime libraries for the kernel, graphics, sound and pad. It also splits the XBE into one file per function and runs a check against the real CPU.`git clone https://github.com/sp00nznet/xboxrecomp.git`, then `git checkout v0.17.0` (or the commit your project pins)XBOX
XboxXBERecomp
Windows
A recompiler that turns an XBE into C++ for 64-bit Windows, with Direct3D 12 and XAudio2. Its xbe_symbols tool finds XDK functions and writes game.toml. It also handles games built with link-time code generation.Copy or add as a submodule at `sdk/`: `git submodule add https://github.com/TGP482/XboxXBERecomp sdk`, then check out one commitXBOX
XbSymbolDatabase
both
A library of byte patterns that find XDK functions in a game. It works inside ghidra-xbe and other tools.Nothing to install by hand. It comes inside `ghidra-xbe`XBOX
XDK compiler (only for matching)
Windows
The Microsoft compiler that built the game, such as cl 13.10.3077 in XDK 5849. Byte matching is impossible without the exact one.Not available for download. Use it only if you lawfully have it. No project, and not this guide, will help you get itXBOX
xemu
both
An original Xbox emulator. Projects use it as the reference for how the real game should look, sound and behave.Download `xemu-0.8.139-windows-x86_64.zip` and unzip it. It needs an MCPX boot ROM, a BIOS and a hard disk image. Read xemu's Required Files page first: it says to dump the ROM and BIOS from your own Xbox, offers a blank disk image, and warns that a plain retail BIOS cannot boot gamesXBOX
Xenia Canary
both
An Xbox 360 emulator. You run the same scene in it to tell a port bug from a bug in the original game.Download xenia_canary_windows.7z from the latest release (2026-11-12) and unpack it360
XenonRecomp and XenonAnalyse
both
The first Xbox 360 recompiler. It gives no runtime, so you write one. XenonAnalyse finds jump tables and writes them to a TOML file.git clone --recursive https://github.com/hedge-dev/XenonRecomp.git, then open the folder in Visual Studio with the clang-cl toolset (CMake 3.20+, Clang 18+)360
XenosRecomp
both
Turns Xbox 360 shader programs into HLSL for Direct3D 12 and Vulkan. You need it only if you write your own renderer.git clone --recursive https://github.com/hedge-dev/XenosRecomp.git, then build with CMake 3.20+ (C++17)360
XEXLoaderWV
both
A Ghidra add-on that opens Xbox 360 .xex files. It also applies .xexp title update patches.Download ghidra_12.1.3_PUBLIC_20260920_XEXLoaderWV.zip from release 12.1.3 and add it in Ghidra 12.1.3 with File, Install Extensions. For another Ghidra version, set GHIDRA_INSTALL_DIR and run gradle buildExtension360
Ymir
both
A newer Saturn emulator with a debugger, save states and frame stepping. It needs your own BIOS dump. The satrecomp author compares against it, but that patch is not public.Download the latest release from https://github.com/ymir-emu/Ymir/releases (AVX2 or SSE2 build). On Windows, install the Visual C++ Redistributable. Put the BIOS in `roms\ipl` next to the program.SAT
z80dasm
WSL/Linux
A small Z80 disassembler for the command line. Use it as a second opinion on your tracer.In WSL: `sudo apt install z80dasm`GG
Zakuro
both
The runtime and launcher that plays a recompiled game. It covers the kernel, services, GPU and sound, and interprets any code that was not recompiled.Download zakuro-windows-x86_64.zip from the releases page (v0.2.32 on 2026-11-06), or cargo install --git https://github.com/fearkov/zakuro --rev <COMMIT> --locked zakuro3DS
zbic
both
A Python package for ZBIC, the newer packing used in some NSO files. You need it if main will not load.`pip install zbic` inside the project venv. It gives `zbic.decompress(data)` and `zbic.compress(data)`.NS2
ZeldaWWHDRecomp (recompiler and runtime)
both
A working Wind Waker HD port. Its tools/recomp/recomp.py turns an .rpx into C, and its runtime stands in for Cafe OS, GX2, sound and input. Three other ports borrowed it.git clone https://github.com/ZeldaWWHDRecomp/ZeldaWWHDRecomp donor && git -C donor checkout <COMMIT>Wii U
Zig
both
A small download that brings its own C compiler (zig cc). Zakuro offers it when no gcc or clang is found.Download the Windows zip from https://ziglang.org/download/ (0.17.1 is the newest listed), unzip, and add it to PATH3DS
Zig (`ziglang` from pip)
both
A C compiler you install with pip. It builds Windows and Linux programs from one machine.`pip install ziglang`, then build with `python -m ziglang cc`AMI
Zig and PyInstaller
both
Tools to package a release. PyInstaller freezes the Python lifter into one exe. zig cc is a small C compiler that builds the game code on the player's PC.`pip install pyinstaller` and `pip install ziglang` in the project venv. LAS Recomp instead runs `make gen-helper` and `tools/fetch_zig.sh`.NSW
Zig's Clang (`ziglang`)
both
A second C compiler for the cross-compiler golden check. It comes as a Python package.`pip install ziglang`, then build with `CC="python -m ziglang cc" CXX="python -m ziglang c++" LDLIBS=-lc++`GEN
Zydis
both
A fast x86 disassembler library. Ports link it to patch game code at start, such as clock reads.pacman -S mingw-w64-clang-x86_64-zydis (in the MSYS2 CLANG64 shell)PS4

Sources

The skill facts come from this site's survey of skills.sh, done on 2026-11-13. Each skill card links to that skill's own page.