Claude (Opus 4.6) figured out how to patch my childhood game to play it on modern Windows
TL;DR Highlight
Claude figured out how to patch WING32.dll to run a 1996 16-bit game (Tonka Construction) on modern Windows — no DOSBox needed. A real-world reverse engineering case.
Who Should Read
Developers dealing with legacy software compatibility, or anyone who needs to run old Windows apps on modern systems. Also interesting for devs curious about AI-assisted binary patching and DLL translation work.
Core Mechanics
- Tonka Construction (1996) is a 16-bit application that can't run on 64-bit Windows (XP onward) since there's no layer for executing 16-bit code natively.
- The traditional approach required installing DOSBox with driver configurations — a tedious setup process that didn't provide a great gaming experience.
- Claude Opus 4.5's solution was to patch WING32.dll directly, creating a shim that translates the DLL's API calls to modern Windows APIs. Same principle as DXVK translating DirectX calls to Vulkan.
- The result was open-sourced as 'TonkaReconstruction' on GitHub, enabling the game to run on modern Windows without any emulator.
- This case demonstrates Claude's ability to go beyond simple code writing — analyzing binary-level compatibility issues and independently designing a creative DLL shimming solution.
Evidence
- A real user successfully ran the 1996 game Tonka Construction on modern Windows and published the result on GitHub (github.com/Quackster/TonkaReconstruction) for anyone to use.
- Rather than suggesting a workaround like 'just use DOSBox,' Claude independently designed a DLL translation layer inspired by the DXVK approach — a fundamental solution that caught community attention.
- Compared to the DOSBox-based approach, this patch method provides a much better experience since the game runs directly without any separate emulator installation.
How to Apply
- If you have old 16-bit or 32-bit legacy apps that won't run on modern Windows, show Claude the DLL dependency list and error messages, then ask 'Can you create an API translation layer like DXVK?'
- When starting DLL shimming work on legacy software, have Claude analyze the original DLL's exported function list and generate wrapper code mapping each function to modern WinAPI equivalents.
- Check out the TonkaReconstruction GitHub repo (github.com/Quackster/TonkaReconstruction) to study the WING32.dll patch structure — it can serve as a starting point for similar legacy game/app patching work.
Terminology
16-bit applicationAn old executable format from the early-to-mid 1990s Windows 3.x era. Modern 64-bit Windows has removed the feature (WoW16) that runs this format, making them unrunnable by default.
DLL shimmingCreating a fake DLL that replaces the original, intercepting an application's API calls and translating or modifying them for modern environments. Widely used in Windows compatibility layers.
DXVKAn open-source layer that translates DirectX API calls to Vulkan API. Primarily used for running Windows games on Linux, and served as the design model for this patch.
WING32.dllThe 32-bit DLL for Windows Image for Games (WinG), a legacy graphics library used by 1990s Windows games for fast screen output. Doesn't work properly on modern Windows.