
"The fact that programs seem to run mostly okay in spite of running under a foreign extender is either completely astonishing or totally obvious, depending on your point of view."
Quake had native TCP/IP support coded in, yes, but since it was cross-platform, it needed a way to interact with Windows 95's Winsock TCP/IP layer. Additionally, in-game match/server browsers were a new concept at the time, so id killed two grunts with one rocket by enlisting the help of Mpath Interactive and integrating its Mplayer match-making software into Quake .
Mplayer's software comprised two pieces: a "Gizmo" game browser that would autodetect any Mplayer-compatible games you had installed and list game rooms for them, and a solution called the "Chunnel", the component that would actually talk to Windows' TCP/IP stack.
To round out cross-compatibility, Quake also shipped with Mpath's genvxd.dll. This is a virtual device driver that translated DOS networking functionality (that itself uses the now-standard BSD socket function calls) to Windows 95's Winsock. Once that was fitted in, the journey was finally complete, and Quake would run seamlessly in both DOS or Windows, without needing separate installers or executables.
For the nitty-gritty technical details, be sure to visit Fabien Sanglard's deep dive . If this conversation got you raring to play the original game again, go ahead and get the remastered version .
Follow Tom's Hardware on Google News , or add us as a preferred source , to get our latest news, analysis, & reviews in your feeds.
Bruno Ferreira Contributor Bruno Ferreira is a contributing writer for Tom's Hardware. He has decades of experience with PC hardware and assorted sundries, alongside a career as a developer. He's obsessed with detail and has a tendency to ramble on the topics he loves. When not doing that, he's usually playing games, or at live music shows and festivals.
kyzarvs and the advent of the Internet all . This rapidly shifting landscape posed Might want a proofread and/or paste in the missing end to that sentence. Reply
blppt IIRC, DOS/4G and the like simply checked to see if a DPMI server was already present (example: Windows) and if so, let that already loaded server handle the protected mode interface. Otherwise, it loaded its own server. That part, at least, wasn't really out of the ordinary. Reply
duble08 Maybe it's just me that remembers playing games older than Quake over a network (TCP/IP). I remember doing Dialup connections and local serial connections to play as well. I remember playing Doom (original version) and Doom 2 through a local LAN via Network. Doom was ran through the same exe in Windows and DOS. Other clones such as "Hexin" and "Heretic" also worked. The ability to play "online" was brought to fruition through third party programs like "Kali". There was also the original Warcraft (1&2) that was playable natively with DOS and Windows using the same exe, and local network multiplayer was an easy option to select inside the game. Battle.net for true online play became a thing after Warcraft 2 was already released for a couple years, and they released a new version called "battle.net edition". There were other games like Spectrum Holybyte's Falcon 3.0, Mig 29 and other versions (plane specific) that let you play together over a network. The cool thing about these games was that you could own a version with a different plane and play with someone else. For example, someone who owned Mig 29 could connect with someone that owned Falcon 3.0 and play together in their respective game/plane. Some other games I remember playing over LAN from that era were the original Nascar and Indycar. Those also worked in both DOS and Windows. In my youth in the late 80's and early 90's, we used to get together and have LAN parties before there were routers. We used to have to manually program all IP's (static IP's) to get everything to communicate, because there wasn't a DHCP server to use back then (at least not that we were aware of back then). Most people back then didn't understand networking because it was still new to the public (usually only used in businesses at that time) and therefore didn't really know how to configure games to play, because it wasn't as easy as just "picking a room" like it is now. Back then, you had to program and know the host IP to connect. Reply
Eximo This rapidly shifting landscape posed Draw me like one of your French landscapes. Reply
iscaela Heck, Quake even had a DEC Alpha port, if anyone remembers those. id Software never made an official port for the Alpha, that was done by open source community members years later. Fabian's article article only says they switched to the djgpp compiler to cross-compile Quake on Alpha servers . For those unfamiliar, cross-compiling means building source code to target a different hardware/software platform from the one used to run the compiler . In this case they were running djgpp on DEC Alpha servers to produce quake.exe for DOS/Windows 95. This was not an unusual practice because the DEC hardware was substantially more powerful than desktop PCs of the time. Today we often cross-compile apps for mobile devices on a PC/Mac. Reply
Key considerations
- Investor positioning can change fast
- Volatility remains possible near catalysts
- Macro rates and liquidity can dominate flows
Reference reading
- https://www.tomshardware.com/video-games/SPONSORED_LINK_URL
- https://www.tomshardware.com/video-games/quake-was-the-only-game-to-support-dos-and-win95-with-tcp-ip-multiplayer-in-one-executable-deep-dive-explains-how-id-software-did-it#main
- https://www.tomshardware.com
- Dell's 34-inch Alienware AW3425DW QD-OLED gaming monitor hits an all-time $649 low — glorious color accuracy out of the box, along with blistering 240 Hz refres
- The Largest Digital Zoo: Biology Model Trained on NVIDIA GPUs Identifies Over a Million Species
- NVIDIA Accelerated Computing Enables Scientific Breakthroughs for Materials Discovery
- How to Unlock Accelerated AI Storage Performance With RDMA for S3-Compatible Storage
- 1,500% price increase on some rare earth elements squeezes chipmaking business — Yttrium surge caused by trade war between U.S. and China
Informational only. No financial advice. Do your own research.