The project began from a childhood desire to play Wing Commander cooperatively, with one person controlling the ship and another managing weapons. This evolved into a goal of having a second player control the wingman in the game, rather than sharing a single craft.
In 2015, the developer realized the game's memory footprint was small enough (within 640KB) to be manageable for reverse engineering. The core idea was to locate the memory addresses storing the X, Y, Z coordinates for the player and wingman, then use network packets to control the wingman's movements. The first step involved simplifying the problem by isolating memory changes related to player movement.
To find the coordinate data, the developer took memory snapshots in DOSBox. This involved comparing memory states when the player's ship was stationary versus when it moved, specifically looking for changes along a single axis. A key strategy was to fly into empty space without a wingman to minimize extraneous memory changes. The DOSBox MEMDUMPBIN debug command was used to capture memory snapshots.
After comparing snapshots, 35 distinct clusters of changing bytes were identified. Visual inspection, looking for float or small integer changes corresponding to movement, narrowed this down to a dozen potential locations. Using the chase camera view further refined the search, ultimately pinpointing the address 13D3:A9C2 as the location for the player's coordinates. Manipulating this address with the DOSBox debugger's SM command confirmed its function.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
A developer successfully implemented cooperative multiplayer functionality in the classic DOS game Wing Commander by reverse-engineering its memory. This involved identifying and manipulating in-game coordinate data to allow a second player to control the wingman, fulfilling a childhood dream.