A developer's personal Navier-Stokes or How Claude rebuilt the game we
Christoph Janz used Claude Opus 5.5 and Sonnet 5.5 to reverse-engineer a 1997 MS-DOS binary into 24,000 lines of web code across 34 hours of execution time.
By Dillip Chowdary • Nov 07, 2026 • Source: writing.pointnine.com
Anthropic's Claude artificial intelligence model reverse-engineered a 1997 MS-DOS video game from its raw compiled binary and rebuilt it into a fully playable browser simulation without access to the original source code, according to writing.pointnine.com's report. Investor and developer Christoph Janz, who originally created the business simulation Beer Manager with Christopher Münchhoff over two years in the mid-1990s, used Claude Opus 5.5 and Sonnet 5.5 sub-agents to analyze the compiled software and reproduce its mechanics byte for byte.
This piece covers the reverse-engineering methodology, emulation harnesses, and numerical verification techniques used to port legacy binary software into modern web standards. It is intended for software engineers, systems programmers, and technical leads evaluating autonomous artificial intelligence agents for complex decompilation, porting, and legacy codebase migration.
A developer's personal Navier-Stokes or How: what actually changed
The recovery project converted a 1.17 MB DOS/4GW executable into a modern web application running entirely in desktop web browsers with mouse controls. Working without original source files or floppy disks, Claude processed the compiled machine code by resolving 40,517 relocation fixups, wrapping the Linear Executable image as an Executable and Linkable Format file, and decompiling it inside the Ghidra decompiler. This disassembly pass yielded 1,058 functions spanning approximately 214,000 lines of generated C code. Within four hours of the initial prompt, Claude drafted a 14-chapter, 166,000-word technical specification that mapped behavioral rules directly to memory addresses.
Claude then generated the browser implementation using TypeScript, Canvas 2D, and WebAudio, deliberately omitting modern user interface frameworks and external runtime dependencies from npm. The target build comprises 24,000 lines of browser runtime code, supported by 14,000 lines of automated verification tests and 10,000 lines of custom helper tooling. Across 13 interactive sessions, 35 sub-agents, and 70 source commits over six days, the models consumed roughly 12.5 million output tokens to complete the migration. Opus 5.5 managed the core economic simulation and parent orchestrations, while Sonnet 5.5 sub-agents built specialized subsystems including audio and user interface dialogs.
A developer's personal Navier-Stokes or How: how it works

To reconstruct undocumented game mechanics, the autonomous agent combined static disassembly with dynamic run-time execution. Claude ran the original 1997 executable inside a headless instance of DOSBox Staging, attaching a custom control harness that injected keyboard and mouse inputs while querying game memory through the emulator's web application programming interface. Extraction decoders isolated all graphics, fonts, maps, sound assets, and 2,235 text strings. Because compiler optimization stripped all original variable and routine names, Claude matched address routines with in-game actions, deducing operational logic such as identifying truck delivery triggers and month-counter loops by inspecting run-time memory mutations.
Numerical accuracy required exact structural replication of the legacy memory space. The web client stores state inside a unified 402,672-byte buffer matching the original virtual addresses, allowing deterministic side-by-side memory audits. Floating-point computations preserve original x87 coprocessor evaluation order, standard JavaScript power functions were discarded for a custom port of Watcom's power routines, and pseudo-random generation uses Watcom's specific formula with unique call-site identifiers. The graphics layer emulates the original MetaWINDOW library, converting internal modal loops into JavaScript generator functions. A compiled WebAssembly build of ymfm provides Yamaha OPL3 sound synthesis to reproduce Sound Blaster music.
Advertisement
Tech Pulse Daily
Get tomorrow's pulse first
Join engineers who read Tech Pulse before stand-up. Free, weekday mornings.
A developer's personal Navier-Stokes or How: why it matters
The exercise establishes that autonomous frontier artificial intelligence models can extract full system specifications directly from legacy binaries without human documentation. In historical software engineering, decompiling stripped machine code into functional modern code demanded tedious manual assembly audits, function-level decompilation tracing, and human reverse-engineering of obscured mathematical routines. Claude completed the entire specification, reimplementation, and numerical validation cycle in 34 hours of cumulative execution time spread across six days.
The verification harness demonstrates how autonomous agents can prove functional equivalence across software generations. Claude validated the port by feeding identical input scripts and random seed values to both the headless 1997 DOS build and the modern web implementation. The two engines executed matching game states across 455 consecutive simulation months, verified by a suite of roughly 2,800 automated test assertions. Pixel-level automated comparison captures confirmed that every displayed visual frame matched the original rendering without divergence.
A developer's personal Navier-Stokes or How: who is affected
Software engineers managing legacy infrastructure gain concrete validation of binary extraction workflows. Teams responsible for preserving legacy industrial software, embedded binaries, or obsolete simulations without surviving source repositories can deploy automated Ghidra pipelines driven by language models to extract operational specifications. The technique allows developers to identify legacy defects that escaped original authors, as Claude discovered original 1997 logic bugs during decompilation that were unknown to the software's initial creators.
Engineering organizations adopting multi-agent development pipelines also see a template for hierarchical model orchestration. The division of tasks assigned high-level simulation architecture and primary reasoning to Opus 5.5 while distributing peripheral tasks such as dialog parsing and audio extraction to parallel Sonnet 5.5 instances. Strict linting rules prevented runtime divergence by barring system clocks, Document Object Model access, asynchronous execution, and built-in JavaScript Map or Set structures from entering the simulation core.
A developer's personal Navier-Stokes or How: what to watch
The Beer Manager web port currently operates as a direct 1:1 replica of the original 1990s release, requiring a desktop browser and mouse to play. Future maintenance planned for subsequent iterations includes directing Claude to patch the original logic bugs flagged during decompilation, alongside resolving any behavioral defects introduced during the translation process. Additional roadmapped updates include native network multiplayer options and visual graphical enhancements.
Beyond retro computing, the success of multi-session binary extraction points toward broader automation of enterprise migration pipelines. Claude required human intervention primarily on high-level product clarifications, where Christoph Janz answered roughly 40 design decisions, including selecting Claude's recommended approach across all 24 second-round technical inquiries. Similar decompilation and dynamic testing pipelines may increasingly automate the porting of critical legacy utilities from obsolete architectures to modern cloud platforms.
Developer Action Items
- ☐ Verify the claim on the official Anthropic / Claude / Sonnet page (or HN Claude/Codex/Fable), not from this recap alone.
- ☐ Name the surface that moved — API, policy, model, hardware, or commercial terms — before you Slack the thread.
- ☐ Assign one owner a day to read the primary material and decide: this-sprint, this-quarter, or noise.
- ☐ Do not change production on day-one coverage. Watch the vendor changelog and one independent write-up first.
A developer's personal Navier-Stokes or How FAQ
What was the original game reverse-engineered by Claude?
The game was Beer Manager, an MS-DOS brewery economic simulation developed in 1995 by Christoph Janz and Christopher Münchhoff over roughly two years.
How did Claude extract the game logic without source code?
Claude relocated the 1.17 MB DOS/4GW executable, decompiled its 1,058 functions using Ghidra into 214,000 lines of C, and monitored running memory in headless DOSBox Staging to assemble a 166,000-word specification.
How long did the porting process take and how much code was produced?
The project took about 34 working hours spread over six days across 13 sessions and 35 sub-agents, generating 24,000 lines of TypeScript web code, 14,000 lines of tests, and 10,000 lines of helper tools.
Sources
Author
Dillip Chowdary
Writes Tech Bytes coverage of AI, engineering, and the tools that actually ship. Editor of Tech Pulse Daily.
Related on Tech Bytes
Advertisement