Show HN: After a decade of reversing, I got co-op working in DOS Wing Commander
daniel_rh
148 points
17 comments
November 04, 2026
Related Discussions
Found 5 related stories in 138.8ms across 11,645 title embeddings via pgvector HNSW
- Show HN: I built a multiplayer game where you're an aerial fighter cat pawelwentpawel · 80 pts · October 30, 2026 · 58% similar
- Show HN: Our space game has a built-in RISC-V emulator that runs Linux nor-and-or-not · 18 pts · October 02, 2026 · 56% similar
- Show HN: Type.com: Multiplayer Codex/Claude in the cloud for non-tech use cases krashidov · 14 pts · September 09, 2026 · 55% similar
- Show HN: NES Contra (1987) port (ASM –> C and then C –> WebAssembly) tevlon · 78 pts · October 31, 2026 · 55% similar
- Show HN: QBasic Gorillas (Repeeled) TonyAlicea10 · 25 pts · July 16, 2026 · 55% similar
Discussion Highlights (7 comments)
daniel_rh
Author here: in 2015, I was playing the classic Wing Commander in DOSBox and suddenly realized the game state fit in the 64k data segment. Over ten years my brother and I went through a set of experiments (stop and go, turn, communicate) while probing the memory. We uncovered where the variables were, how to inject calls into the game functions, and how to sync the gamestate across the network, so we can fly the story missions together. My favorite finding is that the camera lives in entity slot 0x3D, which is possibly a "3D" reference by the original developers. You can play it at https://fireflyk64.github.io/dosbox in browser. If you own Wing Commander, drag in the installer since no game files are hosted. If you don't, the page will load the original DOS/3Dfx version of Vega Strike, before I open sourced it. I upscaled and redid DOS Vega Strike art using AI, but it now has multiplayer and a similar feel. I'll be in the lobby for the next few hours if anyone wants to fly together. Disclosure: I also used AI for the final step to help compile for the browser and port our TCP networking stack to WebRTC with voice and solve a few lingering bugs.
AmazingEveryDay
It's just hard to trust Go again after the multipath tcp debacle.
abrookewood
Really cool write up - thanks for sharing.
ShakataGaNai
Oh man. Blast from the past. I loved wing commander back in the day.
Tepix
Neat! You're using the data channel for voice? why not the rtc stream?
JeppyG
Incredible. Honestly tweaking old games is one of my favorite things to do with AI. I've been having a huge go at Captain Claw, one of my favorite games from childhood. Thanks for sharing this. :)
EmX_3000
This reminds me of how I used to cheat at certain games back in the 8-bit olden days. You could change one thing at a time, save, then look through and see what changed on the disk. Eventually you could identify all the locations that held the values for inventory, stats, location, quest stages, NPC state, and so on. All you had to do after that was change those locations and - hopefully - you're all powered up. With the WozMon you could even find the locations in memory, sometimes, and have "free" healing spells, for instance, any time you like by popping open the monitor and just changing the values in RAM. Among people my age this is the usual way you'd get started with something resembling hacking. It seems like the author is doing the same type of thing. This is also the basis of cheats and trainers for games, action games tended to be easier and there might only be a handful of flags and variables making cheat menus practical. For RPGs the cheats came in the form of lists of locations on the disk, eventually though there were disk-based full blown character editors available for some handful of games. Also about the same time, some developers started to go to extreme lengths to keep people from cheating by tampering with their save game files. This became quite common in the industry by the 32-bit era. EDIT: I will point out that people would often submit letters to computer magazines with the memory locations of popular games as time went on. But this could take months or a year or more, and a game might never have its secrets laid bare so I suspect a LOT of people just did it manually at home.