How Quake.exe got its TCP/IP stack

Naming and 90s Vibes (“Chunnel”)

  • Several comments riff on the “Chunnel” name: people recall it being common 90s shorthand for the Channel Tunnel and even appearing as a spoof disaster movie in TV.
  • The article’s tone makes 1996 feel “ancient”; commenters push back, noting that TCP/IP, browsers, and commercial stacks were already established, though consumer home networking was still early.

Windows, DOS, and TCP/IP Stacks

  • Thread revisits pre-Win95 days when you needed third‑party stacks like Trumpet Winsock, and how Win95’s built‑in TCP/IP (codenamed Wolverine) changed that.
  • Some confusion over whether Win95/NT “got TCP from BSD”; others link detailed histories showing a more complex lineage: IBM networking, a STREAMS-based stack, and multiple Microsoft rewrites rather than a simple BSD lift.
  • STREAMS is clarified as an internal data plumbing layer (often paired with XTI) rather than a competing network protocol; most vendors eventually preferred BSD sockets.

VM86, DPMI, and “Virtual Machines”

  • The article’s remark about Quake running in a Win95 “VM” triggers a long side‑discussion.
  • Commenters emphasize:
    • Virtual 8086 (VM86) mode emulates a real‑mode 8086;
    • DPMI clients like Quake actually run in protected mode, not VM86;
    • The DOS box may enter VM86 when calling BIOS/DOS on their behalf.
  • There’s debate over whether “VM” in this context should mean “virtual memory” or “virtual machine”; consensus is that terminology is messy and historically overloaded.

DJGPP, CWSDPMI, and DOS Extenders

  • Many reminisce about DJGPP as their first serious C environment and praise the effort of porting GCC and a 32‑bit runtime to DOS.
  • CWSDPMI is highlighted for allowing the same 32‑bit binaries to run on bare DOS and under Windows by detecting an existing DPMI host.
  • Anecdotes include swapping in different DOS extenders for commercial games (e.g., Dark Forces) to dramatically speed up loading.

Networking Quake and Dial‑Up Reality

  • People recall DOS Quake over Beame & Whiteside’s TCP/IP stack: technically impressive but painfully high‑latency over the public internet.
  • Distinction is drawn between:
    • direct modem‑to‑modem links (low jitter, tolerable latency), and
    • dial‑up internet with buffering/compression (100ms+ and “laggy”).
  • QuakeWorld’s latency compensation is praised for making 150–200ms pings playable, unlike vanilla NetQuake.

Homebrew Cables, Early LANs, and Tools

  • Numerous nostalgic stories: hand‑soldered null‑modem cables, Covox‑style parallel‑port DACs, DIY terminators on 10Base2 coax, serial/parallel LapLink cables, and early Linux networking with KA9Q.
  • Multiplayer DOOM/Quake over serial, coax IPX, or chained serial links is recalled as both technically finicky and formative.

From Modems to NAT, Hamachi, and Relays

  • Commenters note that 90s modem play was in some ways simpler: you just dialed a number.
  • Today, NAT and firewalls make peer‑to‑peer harder; users mention Hamachi, STUN, Steam Datagram Relay, and VPNs (e.g., Tailscale) as modern workarounds, but still more complex than “call your friend’s modem.”
  • IPv6 plus standardized firewall hole‑punching is cited as a theoretical way to regain that simplicity, but is not widely realized in practice.

Quake’s Ambition and Prospective Histories

  • There’s discussion of how Quake simultaneously pushed a new 3D engine, cross‑platform networking, and even an in‑game VM (QuakeC bytecode) for game logic, which later proved crucial for modding.
  • Commenters speculate the article’s author may be ramping toward a Quake “Black Book”–style deep dive, noting recent contributions to Quake source ports and tying it to earlier classic graphics/game‑programming literature.