Sitemap
Level Up Coding

Coding tutorials and news. The developer homepage gitconnected.com && skilled.dev && levelup.dev

Member-only story

Building Anybox

20 min readOct 25, 2026

--

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.

Press enter or click to view image in full size

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…

--

--

Former Software Engineer at Google, still haven't found what I'm looking for. Retro computing, 6502 assembly, Rust. Full record: whois.enzolombardi.net