A gaming PC setup displays a visual flow from machine code to a racing game on a widescreen monitor.
Game preservation on Windows is entering its static recompilation era, and the original 2001–2005 Microsoft Xbox is the latest console on the operating table. While emulators like xemu and Cxbx-Reloaded have carried the torch for years by interpreting or dynamically translating instructions on the fly, a recently publicized open-source toolkit called xboxrecomp (maintained by sp00nznet on GitHub and recently highlighted by tech blogger Korben) aims to do something much more surgical. It takes an original Xbox retail executable (default.xbe), lifts its 32-bit x86 machine code into equivalent C source code ahead of time, and compiles the result through Microsoft Visual Studio 2022 into a native 64-bit Windows .exe.

Before you dust off your old DVD spindles expecting a magical one-click "Convert to Windows 11" button, however, it is time for a veteran IT reality check. Static recompilation is a tour de force of reverse engineering, not a consumer plug-and-play utility. Furthermore, the project's punchy slogan—"No emulation. No interpreter. Just raw, recompiled C"—only tells half the architectural story.

A gaming PC setup displays a visual flow from machine code to a racing game on a widescreen monitor. How xboxrecomp Turns Xbox XBEs into Windows Executables​

At its core, static recompilation separates a game's CPU logic from the console's runtime environment. Following patterns established by N64Recomp for MIPS and XenonRecomp for the Xbox 360's PowerPC architecture, xboxrecomp (currently at version 0.13.1, codenamed "Cut Short") serves as the first public static recompilation toolkit specifically targeting the first-generation Xbox.

Ironically, the fact that the original Xbox used an Intel Pentium III-based x86 processor makes the job simultaneously easier and much more irritating than translating RISC chips. As the xboxrecomp documentation explains, targeting the same instruction family as a modern Windows PC helps, but x86 brings variable-length instructions, sprawling addressing modes, and the notoriously finicky x87 floating-point stack.

The toolkit handles this through a multi-stage Python pipeline powered by the Capstone disassembly framework:

  1. XBE Extraction and Parsing: Unpacking the Xbox disc image (XISO) and parsing the default.xbe binary layout.
  2. Disassembly and Function Detection: Scanning the machine code to locate function boundaries and inline jump tables.
  3. Library Function Identification (func_id): Recognizing standard Xbox Development Kit (XDK) library code.
  4. ABI Analysis: Recovering calling conventions and parameters.
  5. Code Generation (recomp): Translating every mov, jmp, and call into human-readable C files alongside a simulated register model (recomp_types.h), which are then compiled using CMake and MSVC (Visual Studio 2022) or MinGW-w64.

Because copyright law hasn't mysteriously vanished, the repository contains zero game assets or retail code. Users must provide their own legally acquired Xbox game disc or ISO, extract the executable locally, and let their own CPU chew through the C generation and compilation.

Section Summary: xboxrecomp translates 32-bit Xbox x86 instructions ahead of time into C code that compiles into a native x86-64 Windows executable, eliminating runtime CPU interpretation while requiring users to supply their own game discs.

The "No Emulation" Catch: Why the NV2A GPU Still Hurts​

Why would a "100% native Windows program" struggle to hit playable frame rates on a modern multi-core rig? Because translating CPU instructions is only half of what a console game needs to survive on Windows.

When an Xbox game runs, it expects to talk directly to the Xbox kernel, DirectSound, Direct3D 8, the MCPX audio processor, and NVIDIA's custom NV2A graphics chip. Instead of running inside a standalone emulator window, a program built with xboxrecomp links against six static runtime libraries at compile time:

Runtime LibraryOriginArchitectural Role on Windows
xbox_kernelCustomRoutes 170 of the Xbox kernel's 371 ordinals to Win32 APIs (memory mapping, threading, file I/O, crypto, HAL)
xbox_d3d8CustomTranslates Direct3D 8 calls, NV2A register combiners, and vertex shader microcode into Direct3D 11 and HLSL
xbox_dsoundCustomBridges IDirectSound8 and audio buffers to a software mixer
xbox_apuExtracted from xemu (LGPL-2.1+)Emulates the 256-voice MCPX audio processor, ADPCM/PCM, and envelopes
xbox_nv2aExtracted from xemu + CustomEmulates NV2A GPU registers, MMIO interception, push buffers, and PGRAPH-to-D3D11 translation
xbox_input / xbox_videoCustomMaps Xbox gamepads to Windows XInput and handles FMV playback via Media Foundation

Notice the word "Emulates" next to the audio and graphics layers? As both Korben's report and the official sp00nznet repositories confirm, while the game's CPU code runs natively on your host processor, the NV2A GPU and MCPX audio hardware are still emulated in software using components adapted from the xemu emulator. That software-rendered NV2A pathway is the exact bottleneck dragging down frame rates in heavy 3D scenes.

Section Summary: While xboxrecomp eliminates CPU emulation, compiled games still link against runtime libraries that emulate the Xbox's NV2A GPU and MCPX audio processor in software, creating a steep graphics bottleneck.

Case Study: Burnout 3: Takedown and the Iterative Grind​

If you want to see what this looks like in the trenches, look at Criterion's 2004 arcade racer Burnout 3: Takedown, which serves as the origin title and primary proving ground for xboxrecomp (with Korben also noting that the project was built with assistance from Claude Code).

According to the dedicated sp00nznet/burnout3 repository and Korben's coverage, the title-specific build lifts 22,097 functions into roughly 29 generated C source files. In the burnout3 repository's current Alpha status table, every single-player and two-player split-screen mode (including Race, Road Rage, Time Attack, and Crash junctions) boots, renders, and plays through the game's genuine entry point using an XInput controller.

However, there are major caveats to keep in mind:

  • Performance: Because the NV2A GPU is emulated in software, menus chug along at roughly 14 FPS and actual races drop to a slideshow-like 2 to 4 FPS on a 12-core machine.
  • Missing Features: Profile saving is not functional yet (meaning the tutorial videos replay on every launch), visual glitches like sky-dome seams and vertical streaks on menu videos persist, and an Xbox/XInput gamepad is mandatory since there is no keyboard mapping.
  • Evolving Repo Status: While the standalone burnout3 repository documents all game modes running at those low frame rates—and the xboxrecomp v0.13.1 changelog notes that Burnout 3 reached "from its entry point to every game mode playable"—another section of the main xboxrecomp README cautions that an earlier 60 FPS main-menu build relied on hand-written scaffolding that is being retired in favor of a pure recompiled path, describing the toolkit's broader portfolio alongside early-stage bring-ups for the original Xbox Dashboard (build 3944), Wreckless: The Yakuza Missions (3,407 functions), and Blood Wake (4,608 functions).

Even getting a game to boot is a developer puzzle. The xboxrecomp documentation openly warns that the first launch of any newly recompiled game will crash. Bringing up a title requires iteratively fixing indirect function calls (ICALLs like C++ vtable dispatches), mapping missing kernel ordinals, and debugging stack alignment—a process that took roughly two weeks of dedicated work just to get Burnout 3 rendering textured 3D tracks. Even compiling the existing Burnout 3 setup from a legal ISO on Windows 10 or 11 (requiring about 12 GB of free space, Python 3.10+, Capstone 5.x, Git for Windows, CMake 3.20+, and Visual Studio 2022 C++ Build Tools) takes 20 to 40 minutes for the initial build.

Section Summary: Burnout 3: Takedown proves the xboxrecomp pipeline works across 22,097 lifted functions, but its 2–4 FPS in-race performance and iterative crash-fixing workflow show that the toolkit is currently for developers and tinkerers rather than casual players.

Universal Toolkit vs. Bespoke Port: The Splinter Cell Contrast​

What happens when developers abandon the universal toolkit goal and tailor a static recompilation to a single game's engine? You get SCDA-XBERecomp (maintained by TGP482 on GitHub), an unofficial native 64-bit Windows port of the original Xbox version of Splinter Cell: Double Agent—a notoriously distinct game from the seventh-generation PC/Xbox 360 version.

Unlike xboxrecomp, which tries to provide a title-agnostic pipeline and software NV2A fallback, SCDA-XBERecomp translates the game's x86 instructions ahead of time into C++ and hooks the game's Xbox kernel, Direct3D, and DirectSound calls directly into modern Direct3D 12 and XAudio2 on Windows.

Because it renders natively through D3D12 rather than software GPU emulation, the Splinter Cell: Double Agent recompilation unlocks modern PC creature comforts that console preservationists dream about:

  • Display & Frame Rate: Native desktop resolutions replacing the original 640x480 output, a render resolution scaler (20% to 200%), automatic Windows HDR10 support, and the ability to uncap the Xbox's 30 FPS limiter.
  • Camera & Visual Upgrades: Adjustable horizontal gameplay Field of View (from 45 to 140 degrees vs. the 75-degree default), up to 8x MSAA combined with SMAA, 16x Anisotropic Filtering, shadow resolutions boosted from 512x512 up to 8192x8192, and up to 8x shadow draw distance.

Like xboxrecomp, SCDA-XBERecomp includes zero copyrighted assets; users must supply their own original Xbox ISO or extracted game files to play. And if your only goal tonight is to actually play a classic Xbox game without wrestling with CMake or single-digit frame rates, established emulators like xemu remain the practical choice for everyday Windows gaming—assuming your PC hardware and GPU drivers play nicely with its low-level emulation.

Still, watching xboxrecomp systematically dismantle the original Xbox's binary format is thrilling for anyone who cares about software history. Once hardware-accelerated Direct3D translation replaces the software NV2A bottleneck, dozens of marooned early-2000s console exclusives could finally get a second life as first-class Windows executables.

Section Summary: While xboxrecomp builds a foundation for universal Xbox-to-C translation, single-title projects like SCDA-XBERecomp demonstrate the endgame potential of static recompilation by pairing ahead-of-time C++ translation with native Direct3D 12 rendering, uncapped frame rates, and modern graphics upgrades.

 

References

  1. xboxrecomp - Turning an Xbox game into a Windows .exe Korben 2026-10-14T06:00:00+00:00
  2. Burnout 3: Takedown — static recompilation github.com
  3. README.md github.com