So after a year+ of inactivity I’ve spent some time with Quake (netquake) and QuakeWorld for MS-DOS. I had modified it to support the WatTCP stack for MS-DOS, allowing you to play over the internet with any MS-DOS PC with a packet driver.
After a good bit of prodding and playing with DJGPP I’ve updated everything to include some new tweaks for a malloc ‘bug’ (Quake assumes the memory is clean, which under DJGPP it isn’t) some limit increases (zone to 1MB, and increases in max edicts, models & sounds), and forcing the sound to 22050Hz. The source code is now here. As much as it pained me, I built it with this DJGPP under MS-DOS (On Qemu) and I’m keeping it here, as gcc 3 & 4 are incapable of building a working WatTCP or Quake.
Another big fix for QuakeWorld is that it now can run in 640×480, 800×600, and even 1024×768 if your video card is VESA 2.0 compatible!!!
Basically you can just replace the default exe’s in a Quake1 install and go from there. If you do not have quake at all, you can always look for the shareware version. QuakeWorld will require the commercial version for what it is worth. I’ve found it runs best with 32MB of ram. I don’t know if that is even an issue in this day & age. Quake1 will run in 16, but I have a feeling QuakeWorld runs in VM (thanks to CWSDPMI) and it does say it is using 32MB … Because I clear the ‘zone’ before Quake runs there may be a 30 second to 1 minute pause. This is to be expected, just hold tight.
Thanks to [hci]maraakate, for the hints on what to update where, and of course the testing on a ‘real pc’!`