AI Agents Decompile Nintendo 64's Snowboard Kids in 84 Days
A developer chronicles how a harness of AI coding agents reconstructed C source for the entire Nintendo 64 game Snowboard Kids in about 84 days—a fraction of the 596 days its sequel required. The workflow leaned on agents for the easy wins first: matching standard-library code from Nintendo’s libultra and the libmus audio library, with tools like N64Sym flagging probable library functions in the ROM. The hardest part was procedural rather than technical—stopping agents from re-decompiling functions whose source already existed, which took firmer prompting to force them to exhaust SDK versions and compiler flags before writing anything new. A separate script running m2c across all unmatched functions matched only 17 of 1,830 (0.93%), but those were far cheaper than spending agent tokens.
The more interesting engineering was in coordination and knowledge transfer. Agents recorded recurring quirks of the IDO compiler into a shared DECOMPILATION_LEARNINGS.md file, creating a feedback loop where each discovery made later agents better at matching similar code. The N64 Decomp Workbench proved the most valuable tool, classifying mismatches and replaying compiler passes to explain why two functions differed rather than merely that they did. Work ran across four Git worktrees for parallelism, sharded by hashing, but divergence between them created a synchronization headache—a successful match in one worktree stayed invisible to others until a merge that could take over an hour. The fix was to make the similarity search inspect every worktree directly, so a freshly matched function became a reference for other agents immediately.
The author’s unscientific model bake-off is notable: OpenAI’s Codex (with ‘Sol xhigh’) consistently outperformed Claude 4.5 and Fable, while GLM 5.2 disappointed on both tightening usage limits and painfully high latency, prompting a cancelled subscription. Roughly 4.8% of matches still needed human IDO expertise, without which the project likely would have stalled around 89–90%. A 100% match means every function has C code, not that anyone understands it—so the next phase is naming, structure identification, and documentation, alongside recompilation work and possible ports. The project is open and inviting contributions.
Read the full article
Continue reading at Hacker News →This is an AI-generated summary. Read the original for the full story.