Mission: Impossible Recomp
The 1998 N64 Mission: Impossible, statically recompiled into a native Linux program: 60 FPS, widescreen at any resolution, keyboard and mouse.
Releases → the AppImage → chmod +x, run, pick your ROM on first start




- status
- live all 20 levels play; Linux only; bring your own ROM
- version
- 0.1.0
- stack
- N64Recomp / N64ModernRuntime / RT64 / RecompFrontend / C++
- source
- github.com/nickallevato/mi_n64_exe ↗
- links
- release 0.1.0 ↗ · build from source ↗
- since
What it is
This isn’t an emulator. All 1,697 of the game’s MIPS functions are translated to C ahead of time by N64Recomp, compiled into an ordinary executable, and run on N64ModernRuntime, with RT64 doing the drawing. Before this the game had no decomp, no recomp and no PC port.
It went from first commit to all twenty levels loading and running at 59 to 61 FPS in under five hours. The next morning added smooth frame pacing, crash fixes and the first level mod.
What it adds
- 60 FPS without speeding the game up. Game logic runs on the video clock, and a hook interpolates root motion so walking stays smooth between the 30 Hz keyframes.
- Keyboard and mouse. WASD, mouse-turn, right-click to aim. The mouse also drives the sniper scope and the gunboat turret.
- Analog camera on the right stick.
- Level tooling. The “Burp” archive format and level table are decoded, any level exports to OBJ with textures, and edited level data loads at runtime.
What you need
Linux with Vulkan, and your own copy of the cartridge as a .z64. The AppImage is one file; there’s a .tar.gz beside it if you’d rather. The release is built on Ubuntu 22.04, so most current distros run it. Building from source takes clang and a handful of tools the README lists.
Claude did the reverse engineering and I played it. The README says so and doesn’t apologise.
writing about it
1the cartridge was a score
Mission: Impossible went 28 years without a PC port. One night of recompiling turned it into sheet music.