Well last night I wanted to test my quake build on a real quake server… So looking around I found this great site, QuakeOne. So I used the full pak files I got from buying Quake (yet again) on steam, and went through and downloaded some mega map download (remember maps go in c:\quake\id1\maps), and combed through the server list and found a few servers to connect to.
The great thing is it worked.
It worked well enough that not only did the DOSBox test worked, but also running it through Qemu and Virtual PC. I configured Qemu & Virtual PC to use their own NAT solution, and they both worked fine. Since the PCAP thing can be a little crazy for DOSBox I’m thinking about trying to merge in the SLiRP code from Qemu into it, to provide ‘user mode networking’… It’s worked well enough for SIMH, so I don’t see why not.
Oh and speaking of quake, Qaddicted has some great information as well.
As far as I know this was never done, as the world at large moved away from MS-DOS, and of course when Quake 1 on MS-DOS was popular they weren’t exactly giving out the source… Such a shame the DLM thing was lost in the shuffle as DLL’s on DJGPP/MS-DOS could have made quake more modular..
So what I’ve done, is I’ve used an ancient version of cygwin that I was playing around with line, and built a cross compiler for DJGPP. Then using that I’ve built the latest version of Watt-32 tcp/ip with it, then I took my build of Quake 1 on DJGPP, and built quake to use the net_bsd, net_udp, net_dgrm services, and added in the needed hooks for Watt-32 TCP/IP. And to their credit, I just added a single function call to both protocols init functions, and a single function to the general network poll function. All and all I think it’s 3 lines I changed.