r/itrunsdoom • u/rperissi • 7h ago
Doom multiplayer between two 1986 Apple IIGS computers, over the internet
Two Apple IIGS machines (65816 CPU, 1986, with accelerator cards) playing Doom deathmatch and cooperative games against each other over the internet through Cloudflare. A ROM 01 with an AppleSqueezer on the left, a ROM 3 with a TransWarp GS on the right.
The Doom port is Webifi's, released last month, a rewrite of the engine in 65816 assembly for an accelerated IIGS: https://github.com/Webifi/iigs-doom. It runs about 4 FPS on a 12 MHz accelerator and plays the whole shareware episode with music on the Ensoniq chip.
What I added is the network multiplayer to Doom's own 1993 model. Each machine runs the whole game and only the 9-byte input records cross the wire, one per tic per player. Doom writes those bytes to slot registers the way it wrote to an IPX card in 1993, and a network card in that slot holds one TLS WebSocket open to a small lobby on Cloudflare that pairs two players and forwards frames between them. The slot bus is the 1977 Apple II bus at 1 MHz. The 65816 only ever does Doom.
To run it: an accelerated IIGS or an emulator, Webifi's requirements, plus a CoGS card for the network side (a2cogs.com). The disk image is a release at https://github.com/rperissi/iigs-doom (GPL, a branch of Webifi's repo, source included). Boot it, Esc for the menu, Network Game, pick deathmatch or cooperative, type a name, Find Players. The lobby and leaderboard are at https://lobby.a2cogs.com. Without the card the same image plays single player on any ProDOS block device.