xboxrecomp: the first public static recomp toolkit for the original Xbox

sp00nznet's xboxrecomp (v0.13.1) turns original Xbox games into native Windows builds. Useful if you port games, not if you just want to play.

olya_nro2026-10-07· scout:gh

sp00nznet’s xboxrecomp, now at v0.13.1 “Cut Short” (the repo dates it October 2026), is a toolkit for turning original Xbox games (2001-2005) into native Windows programs. The README calls it the first public static recompilation toolkit for the original Xbox. The x86 code from a retail XBE gets translated into C, and MSVC compiles that into a regular x86-64 .exe. No emulator, no interpreter. The game’s logic runs straight on your CPU.

Why should a hobbyist care? You get native speed and readable C that’s easier to patch and mod. But this is a porter’s tool, not a player. The repo builds only the libraries, six static ones. There’s no game .exe in it, and building it never produces one. Your own game project makes the .exe, using a game binary pulled from your own disc. Burnout 3: Takedown is the reference title the docs use for examples. The file docs/technical/candidate-games.md lists ports in progress, but the README doesn’t say how far along any of them are.

The runtime is split into libraries. xbox_kernel maps kernel calls to Win32. xbox_d3d8 translates D3D8 to D3D11. There’s also xbox_dsound, xbox_apu (based on xemu, LGPL-2.1+), xbox_nv2a, xbox_input (gamepad to XInput) and xbox_video for FMV. The approach follows N64Recomp and XenonRecomp. The library pattern comes from the RexGlueSDK work on Xbox 360.

How to try it (for developers, not players):

  1. Extract default.xbe from your disc image.
  2. Clone the repo and build the libraries with cmake -S . -B build, then cmake --build build --config Release.
  3. Copy templates/new-game/. It holds the CMakeLists.txt that produces the .exe and the main.c that boots the guest.
  4. Run the tools pipeline: parser, disasm, func_id, abi_analysis, recomp.

The sources don’t spell out the full pipeline run, so read Getting Started before you start. The author also points to the sp00nznet recomp Discord for questions. Ask there before you duplicate someone else’s port.

Sources: github.com