N64 games.Native on Xbox.
N64Recomp-X recompiles your own ROM into a real Xbox program, built for its Pentium III, drawn on its NV2A, played through its AC97. Not an emulator. Drop in a ROM, and in about a minute it's ready for your Xbox.
Bring your own ROM · Windows, macOS & Linux · MIT licensed
- games build from the ROM alone
- 245/246
- present frames in the library sweep
- 163
- widescreen output, every game
- 720p
- from ROM to Xbox-ready folder
- 1–3min
Not an emulator.
A recompiler.
An emulator pretends to be an N64 one instruction at a time, and a 733 MHz Xbox struggles to keep up. N64Recomp-X translates the whole game ahead of time into native code, then swaps the N64's operating system, graphics and audio for code written for the Xbox itself.
- ROMYour ROMYour own cartridge dump, read where it sits. Never uploaded.
- RECOMPRecompileN64Recomp turns the game’s MIPS code into C, function by function.
- COMPILECompileLLVM builds that C for the Xbox’s Pentium III.
- XBELinkJoined to the runtime: the N64’s OS, graphics, audio and saves, rewritten for Xbox.
- XBOXPlayOne folder. Copy it over, start default.xbe.
addiu sp, sp, -0x18sw ra, 0x14(sp)jal osCreateThreadlui a0, 0x8033
ctx->r29 = ADD32(ctx->r29, -0x18);MEM_W(0x14, ctx->r29) = ctx->r31;ctx->r4 = S32(0x8033 << 16);osCreateThread_recomp(rdram, ctx);
add dword [esi+0xE8], -0x18mov eax, [esi+0xF8]mov ecx, [esi+0xE8]mov [ebx+ecx+0x14], eaxmov dword [esi+0x20], 0x80330000call osCreateThread_recomp
Illustrative. The real output is the whole game: thousands of functions, compiled once on your computer.
Native speed
No interpreter loop in the way. The game's code runs as Pentium III code, at the game's own frame rate.
From the ROM alone
No decompilation and no per-game files. It finds the game's code, segments and libultra calls by itself.
Drawn on Xbox hardware
Display lists rendered on the NV2A, audio mixed through the AC97, up to 720p and widescreen.
Drop. Build.
Play on your Xbox.
One small app for Windows, macOS and Linux. No toolchain to set up, no config files, no per-game patches to hunt down.
…\N64Recomp-X\Super Mario 64Prefer a terminal?
The app drives n64rx, a command-line tool that does the same job. doctor checks your setup and can install the toolchain for you.
$ n64rx doctor
$ n64rx info "Super Mario 64 (USA).z64"
$ n64rx build "Super Mario 64 (USA).z64"
$ n64rx deploy "out/Super Mario 64" --ftp 192.168.1.42Real hardware,
or it doesn't count.
Every game has a tier, and only a run on a real Xbox moves a game up. Emulator results don't count. The list grows with every console session.
Fully working
Played start to finish on a real Xbox. Picture, sound, saves, controls and frame rate right.
Playable
Played on a real Xbox. Known bugs, none that stop the game.
Everything else
May boot, run partly, or not at all. Only a console run moves a game up.
- NSME
Super Mario 64
29.9 fps, works perfectly
GOLD - NALE
Super Smash Bros.
Perfect at 59.9 fps
GOLD - NPWE
Pilotwings 64
Sound, EEPROM saves, 53–59 fps
GOLD - NDYE
Diddy Kong Racing
Works perfectly
GOLD - NKTE
Mario Kart 64
Races at 29.9 fps, Controller Pak
SILVER - NGEE
GoldenEye 007
Works very well, 59.5 fps menus
SILVER - NBKE
Banjo-Kazooie
Plays at ~30 fps
SILVER - CZLE
Ocarina of Time
Plays at its own 20 fps
SILVER - ND4E
Castlevania: Legacy of Darkness
Playable, texture issues
SILVER - CLBE
Mario Party
Board fix staged
EXPERIMENTAL - NPFE
Pokémon Snap
Runs the Beach course
EXPERIMENTAL - NZSE
Majora's Mask
Boot fix staged
EXPERIMENTAL - NK4E
Kirby 64
Title screen right
EXPERIMENTAL - NM8E
Mario Tennis
Matches play
EXPERIMENTAL - NJFE
Jet Force Gemini
Menus draw
EXPERIMENTAL - NFXE
Star Fox 64
Through its intro
EXPERIMENTAL - NPDE
Perfect Dark
Past its boot
EXPERIMENTAL - NMQE
Paper Mario
Past copy protection
EXPERIMENTAL
245 of 246 games build from the ROM alone.
Each square is one game from the latest library sweep. 163 already put frames on screen in an emulator; the console decides the rest.
- Gold 4
- Silver 5
- Shows frames (emulator) 154
- Builds 82
- Not yet 1
Feels like it
shipped on Xbox.
Every game gets the same port: a loading screen, HD output, a settings menu over the paused game, and a way home from anywhere.
Up to 720p and widescreen
Every game, not just the famous ones. 480i, 480p or 720p, 4:3 or a true 16:9 that shows more of the world.
A way home from anywhere
- L+R+BACK+BLACKBack to the dashboard, anywhere
- L+R+BACK+WHITERestart the game, anywhere
- L+RHeld while it loads: safe 480i video
Saves and Paks
Game saves and Controller Paks live on the Xbox hard disk. Rumble Pak support, set per controller port.
Stock 64 MB console
Built for an unmodified 733 MHz, 64 MB Xbox that can run homebrew. Timing follows the video signal, so faster CPUs only add headroom.
One file per game
Your ROM lives inside default.xbe and is checked by SHA-1 every time it starts. Copy it, FTP it, or burn the ISO.
Nothing leaves your machine
except what you send to your Xbox.
Your ROM stays yours
Read where it sits, built on your machine. The tool uploads nothing to anyone.
No game ships here
No game code, data or built XBE is ever published by this project.
Only to your Xbox
Send to Xbox copies the game folder to your console over your own network.
Questions, answered.
Is this an emulator?
No. It is static recompilation: the game’s MIPS code is translated to C and compiled for the Xbox’s Pentium III once, on your computer. The N64’s operating system, graphics and audio are replaced by code written for the Xbox. What runs on the console is a native program.
What Xbox do I need?
An original Xbox (2001) that can run homebrew, softmodded or modchipped. A stock 64 MB console is the target; no RAM or CPU upgrade is needed.
Where do the games come from?
From you. N64Recomp-X includes no game code or data. You supply a ROM dumped from a cartridge you own, the build happens on your computer, and your ROM ends up inside the game’s default.xbe, checked by SHA-1 at every start.
Which games work?
Four games are Gold and five are Silver on real hardware today, and 245 of a 246-game library already build from the ROM alone. Every game has a tier, and only a console run moves a game up. The full list is in docs/compat.md.
When can I download it?
It is in active development and not released yet. You can run it from a checkout today (see the README). Packaged apps for Windows, macOS and Linux arrive with the first release. Star the repo to hear about it first.
Is it free?
Yes. MIT licensed and open source. It builds on N64Recomp, nxdk and LLVM, and shares its platform layer with Melee-X, OpenCrossing-Xbox and Wings64-X.
How can I help?
Reports from real consoles matter most, because they are what move games up a tier. Code, testing and game packs are welcome on GitHub.
More in the README on GitHub