Member-only story
Building Anybox
Turning Xbox Discs into Native Mac Apps
An emulator runs a console’s code on a computer that pretends to be the console, one instruction at a time, forever. A static recompiler does the translation once, ahead of time, and leaves you with a program that runs on its own. The second approach is harder to get right and much rarer, because it has to understand the whole program before running any of it. It is also the only one that ends with a binary you can double-click.
Anybox is a static recompiler for the original Xbox. You give it a disc image, an icon and a name, and it gives you back a native arm64 macOS app inside a DMG. The game’s 32-bit x86 code is lifted to C and compiled with clang, and a runtime written in Rust stands in for everything the code expects to find around it: the Xbox kernel, the statically linked XDK libraries for Direct3D, DirectSound and XInput, the NV2A GPU and the audio hardware. It was built in a week, between the 17th and the 23rd of October 2026, across two repositories, and tested on three games: Dragon’s Lair 3D, BLiNX: The Time Sweeper and Marvel vs. Capcom 2.
This post walks through the problems that came up, roughly in the order they did. Most of them are not where you would expect. The lifter, the part that sounds hardest, turned out to be the most predictable. The bugs that ate the days were in the…







