Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate and Anbernic affiliate, we earn from qualifying purchases at no extra cost to you. Learn more.
Retro Game Decompilation and Recompilation, Explained
2026-05-11
Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate and Anbernic affiliate, we earn from qualifying purchases at no extra cost to you. Learn more.
If you have spent any time on retro gaming social media over the last year, you have seen the words "decomp" and "recomp" thrown around constantly. New PC ports of N64 and GameCube games keep dropping. Some run at 4K and 120 fps. Some support mods that were not possible under emulation. Some run on a phone.
This guide explains what these projects actually are, how they differ from emulation, why they matter for handhelds, and which ones are worth paying attention to in 2026.
Legal Context
Decompilation and recompilation projects sit in a gray area that varies by jurisdiction. The community projects discussed here distribute only source code or compilation tooling. They do not ship the original game's assets. To actually play one of these ports, you need to supply your own copy of the game, extracted from your own legally owned cartridge or disc.
We are not lawyers and this is not legal advice. Research the laws in your jurisdiction before proceeding. What is universally clear is that distributing copyrighted assets or pre-built binaries that include those assets is not legal. The projects below operate on the principle that the engine code can be reimplemented, but the game's content must come from a copy you already own.
Throughout this guide we will only link to official project repositories and release pages. We will not link to ROM sources or asset-bundled redistributions.
What Is Decompilation?
A decompilation is a project that takes an existing compiled game binary and reconstructs the original source code that produced it. For first-party Nintendo games, the original source code was never released, so the community has spent years reverse-engineering binaries function by function, matching the output byte-for-byte against the original ROM.
When a decomp is described as "complete" or "100% matching," it means the reconstructed source code, when compiled with the original toolchain, produces a binary that is identical to the retail game. That source code is the foundation everything else is built on.
A clean decomp is a piece of preservation work. It does not contain Nintendo's copyrighted art, music, or level data. It contains the logic that operates on those assets. Whether reverse-engineering this way is protected as fair use depends heavily on jurisdiction and methodology, which is why decomp teams are careful to document their process and avoid any reference to leaked source code.
The major Nintendo decompilation projects include:
- Super Mario 64 — the first big match, completed in 2019. The basis for the original Mario 64 PC port and dozens of forks.
- Ocarina of Time — completed in 2022. The basis for Ship of Harkinian.
- Majora's Mask — completed in 2023. The basis for 2 Ship 2 Harkinian.
- Twilight Princess (zeldaret/tp) — 100% decompiled. The basis for the new Dusk port.
- Paper Mario — substantial progress, ongoing.
- Pokémon Gen 1 through Gen 4 — mostly complete across the mainline titles.
Decomp work is slow, unglamorous, and almost entirely volunteer-driven. The fact that any of these projects exists at all is remarkable.
What Is Recompilation?
A recompilation, in this context, is different from a decomp in an important way. A recomp does not require the original source code to be reconstructed. Instead, it uses tooling that translates the original compiled binary directly into native code for a modern platform.
The breakthrough project here is N64Recomp by Wiseguy. It performs static recompilation on N64 binaries, converting MIPS instructions to C code that can then be compiled to run natively on x86_64 or ARM64. The result is something between emulation and a native port. There is no dynamic recompiler running at game time, no instruction-by-instruction interpretation. The game's machine code has already been translated ahead of time and is now running as native code on your CPU.
The upside is performance. A static recomp can run a 20-year-old N64 game at hundreds of frames per second on modern hardware because there is no emulation overhead.
The major recomp projects in 2026 include:
- Zelda 64: Recompiled — Ocarina of Time via N64Recomp. Native 60 fps and beyond, ray-tracing support on capable hardware, a mod loader.
- Other N64Recomp targets — community projects are bringing the same toolchain to Mario Kart 64, Majora's Mask, and other N64 titles in various states of completion.
Recomp output and decomp output can also be combined. A decomp gives you readable source you can extend; a recomp gives you a fast path to running the original binary natively. Some projects use both.
Decomp vs Recomp vs Emulation
It is worth being precise about how these three things differ, because they often get conflated.
| Approach | What it does | Performance | Modifiability |
|---|---|---|---|
| Emulation | Simulates the original hardware in real time. The game does not know it is not running on the original console. | Depends on emulator and host CPU. Usually has overhead. | Limited to whatever the emulator exposes (texture packs, save states). |
| Recompilation | Translates the original game binary to native code ahead of time. The translated code runs directly on your CPU. | Native performance. No per-instruction overhead at runtime. | Moderate. You can patch behavior at the source level but the structure mirrors the original binary. |
| Decompilation + native port | Reconstructs the source code, then ports it to run natively. The engine is rewritten for the target platform. | Native performance. | High. The source is human-readable, so anything can be modified, extended, or rewritten. |
For a player, the practical differences show up in three places: how well it runs, what platforms it supports, and how much modding the project allows.
Why This Matters for Retro Handhelds
If you mostly play on a Steam Deck, a Windows handheld, or a Linux-based device, native ports are a meaningful upgrade over emulation:
- Consistent frame pacing. Emulators on lower-power hardware often struggle to maintain locked frame times. A native build does not have the same overhead.
- Higher resolutions without scaling artifacts. A native port renders at any resolution natively. There is no fixed internal framebuffer to upscale.
- Mod loaders. Most decomp ports ship with a built-in mod system. Texture packs, randomizers, widescreen fixes, and gameplay tweaks install in one click instead of requiring emulator-specific shaders.
- Controller and gyro support out of the box. Decomp ports tend to expose full input rebinding and motion controls without the layered config that emulators require.
For Android-based handhelds (Retroid Pocket, Odin, AYN family), the situation is more mixed. Some decomp projects ship Android builds and run beautifully. Others target only x86_64. Check the platform list on each project's release page before assuming compatibility.
For Linux microconsoles running ROCKNIX, muOS, or similar firmware (Anbernic RG and Miyoo devices), most decomp ports are too heavy or not yet available for ARM Linux. Emulation is still the right path on those devices.
Active Projects Worth Knowing in 2026
This is a snapshot of where things stand in May 2026. New projects appear constantly and others go quiet.
Zelda 64: Recompiled
A static recompilation of Ocarina of Time built on N64Recomp. Runs natively on Windows, Linux, and macOS. Supports a mod loader, widescreen, high frame rates, and on capable hardware, hardware-accelerated ray tracing. Requires a user-supplied Ocarina of Time N64 ROM. The release page provides instructions for verifying your ROM hash so the recomp can decode it.
Ship of Harkinian and 2 Ship 2 Harkinian
The longest-running and most polished decomp ports. Ship of Harkinian (OoT) and its sequel 2 Ship 2 Harkinian (Majora's Mask) are both built on the respective decomps and run on Windows, Linux, macOS, and Steam Deck. Both projects have large mod communities and have been ported to Switch and Wii U via homebrew, though the official builds focus on PC.
Dusk (Twilight Princess)
Dusk is the newest entry in this space, released in May 2026 by the Twilit Realm team. It is the first major decomp-based PC port of a Nintendo GameCube title. v1.0.0 supports Windows, macOS (Intel and Apple Silicon), Linux (x86_64 and ARM64), Steam Deck, Android (ARM64), and iOS. Requires a user-supplied NTSC or PAL GameCube disc image of Twilight Princess.
We have a full Dusk setup guide for handhelds that walks through installation, ROM provenance, and performance on each platform.
Mario 64 PC Ports
Native PC builds of Super Mario 64 (including HD reskins like Render96) have existed for years and remain widely used. Nintendo issues DMCA takedowns against pre-built binaries that include game assets, but the source forks themselves remain available. As with every other project on this list, you must compile against your own ROM.
Starship and Other Star Fox Ports
The Star Fox 64 decomp has spawned at least one active native port project. The pattern is the same: open-source engine, user-supplied ROM, builds for desktop platforms first.
How to Actually Play One of These
The process is similar across every project:
- Get the source build or an official release. Check the project's official GitHub releases page. Avoid third-party "easy installer" repackagers that bundle game assets. Those are the binaries Nintendo targets and they are not legal to download.
- Supply your own ROM or disc image. Dump your own cartridge or disc. We cover cartridge dumping in detail in our game backup guide. Disc-based games require different tools, which we touch on in the Dusk guide.
- Point the port at your ROM. Most projects either extract assets from your ROM at first launch or expect a specific filename in a specific folder. The project's README is the source of truth.
- Configure inputs and graphics. Native ports expose more graphics and input options than the original game ever had. Match the settings to your display and controller.
If a project asks you to download a ROM from a website to "get started," it is not a legitimate decomp port. Walk away.
What Comes Next
The pace of new releases has accelerated. Two factors are driving this. First, the N64Recomp toolchain lowers the barrier to producing a recomp for any N64 game with a static binary, which means we will likely see more of these throughout 2026. Second, the Twilight Princess decomp being completed and Dusk launching demonstrates that the same approach is viable for GameCube titles, which opens an entire generation of games to community ports.
The catch is that Nintendo's enforcement posture has not changed. Source code decomps and recomps appear to be tolerated. Distributable binaries that bundle Nintendo's assets are not. If you want to support these projects, the most reliable thing you can do is back up the games you already own and build the ports yourself from source.
