Live data from Hacker News

How Quake.exe got its TCP/IP stack

fabiensanglard.net

91–100 of 158 posts

Re: How Quake.exe got its TCP/IP stack

#91
post #69

Earlier quoted context omitted.

Same. I only have experience from M.U.G.E.N fighting engine with respect to DJGPP.

I remember back in the day using DJGPP (DJ Delorie) with the Allegro library (Shawn Hargreaves), building little games that compiled and ran on Windows and other OSes, and being part of the community. You can still play the little game I made in under 10K for the Allegro SizeHack competition in 2000: https://web.archive.org/web/20250118231553/https://www.oocit... Back then I was also writing a bunch of articles on ga…

Yes. DJGPP and Allegro was a great help, and a big step up from the old Borland Turbo Pascal I started out with. I remember trying to rotate an image pixel by pixel in Pascal. Allegro simply had a function to do it. And yes, the mailing list was great - Shawn Hargreaves and the couple of people in the inner circle (I seem to remember someone called George) were simply awesome, helpful people.

I eventually installed Red Hat, started at university and lost most of my free time to study projects.

Re: How Quake.exe got its TCP/IP stack

#92
What a blast from the past. I recall my own experimenting with DJGPP and DPMI in my own software. It felt futuristic at the time. I was blown away.

Another fond memory: I was playing Star Wars: Dark Forces (I think that was the one) and was frustrated with the speed of level loading. I think it used DOS/4GW and I recall renaming it, copying in a new dos extender (was it CWSDPMI? not sure), and renaming it to the one Star Wars used. I was shocked when it not only worked, but the level loading was MUCH faster (like 3-5x faster I recall). My guess is whatever one I had swapped in wasn't calling the interrupt in DOS (by swapping back to real mode), but perhaps was calling the IDE disk hw directly from protected mode. Not sure, but it was a ton faster, and I was a very happy kid. The rest of the game had the same performance (which makes sense I think) with the new extender.

Re: How Quake.exe got its TCP/IP stack

#93
post #59

Earlier quoted context omitted.

DPMI clients don’t run in a VM, though. They’re just a normal task like any other task / process in Windows.

So... Win32 runs in virtual mode. In 2025, we don't think of that as a Virtual Machine, but it totally is. Hardware access is trapped by the CPU and processed by the OS/DPMI server.

No, in 386 mode 3.x and 9x the System VM and other DPMI clients runs in protected mode.

Virtual 8086 mode, as its name somewhat suggests, only runs real mode code.

Re: How Quake.exe got its TCP/IP stack

#94
In the early years of Linux, before it had networking, we used KA9Q for the TCP/IP stack:

https://www.ka9q.net/code/ka9qnos/

This worked in DOS, but was easily ported to Linux.

As far as DPMI: I used the CWSDPMI client fairly recently because it allows a 32-bit program to work in both DOS and Windows (it auto-disables its own DPMI functions when Windows detected).

https://en.wikipedia.org/wiki/CWSDPMI

Re: How Quake.exe got its TCP/IP stack

#95

[flagged]

-------------------------- John-Tony12 27 minutes ago | parent | context | on: How Quake.exe got its TCP/IP stack

Fascinating deep dive — shows how Quake.exe integrated its own TCP/IP stack, highlighting clever engineering and early game networking innovations.

--------------------------

This is AI right? the em dash and the inane sycophantic reiteration

Re: How Quake.exe got its TCP/IP stack

#96
post #58

Earlier quoted context omitted.

Dial-up, has better latency, since their is no packet-switching. So it is slow, but not laggy.

Dialup has a ton of latency (100+ms), but little jitter.

If you're dialed up directly, you should be able to get a little bit better latency as you won't need IP, UDP, and PPP/SLIP headers; at modem bandwidth, header bytes add meaningful latency. But data transmission is still pretty slow, even with small packets.

Re: How Quake.exe got its TCP/IP stack

#97
post #95

[flagged]

-------------------------- John-Tony12 27 minutes ago | parent | context | on: How Quake.exe got its TCP/IP stack Fascinating deep dive — shows how Quake.exe integrated its own TCP/IP stack, highlighting clever engineering and early game networking innovations. -------------------------- This is AI right? the em dash and the inane sycophantic reiteration

> inane sycophantic reiteration

That's a pretty good way to put it.

Re: How Quake.exe got its TCP/IP stack

#98

Earlier quoted context omitted.

I wasn't allowed one either so I soldered with a screwdriver heated up on the gas stove when my parents weren't home...

Your parents: A soldering iron is dangerous! You: I'll show you!

I am not in danger.

I am the danger.

[Sticks glowing hot screw driver in molten lead]

Re: How Quake.exe got its TCP/IP stack

#99

Earlier quoted context omitted.

Dial-up, has better latency, since their is no packet-switching. So it is slow, but not laggy.

You're using confusing terminology so you look very wrong. What you mean to say is direct modem-to-modem connections were not laggy because there was no packet switching. This is a true statement. What the GP comment was talking about was dial-up Internet being most people's exposure to TCP/IP gaming in the 90s. That was most assuredly laggy. Even the best dial-up Internet connections had at least 100ms of latency ju…

And then there was also this: https://superuser.com/questions/419070/transatlantic-ping-fa...

Re: How Quake.exe got its TCP/IP stack

#100
post #8

Earlier quoted context omitted.

I wasn't allowed a soldering iron as a kid, so I ended up just chopping and splicing a regular serial cable and turned it into a null modem, all so that I could play OMF2097 with my friends without having to share the same keyboard (we would always fight over right side, which defaulted to using the arrow keys for movement - and so the person who got the right side generally had the advantage, as back then arrow keys…

I wasn't allowed one either so I soldered with a screwdriver heated up on the gas stove when my parents weren't home...

"We need laws to keep children away from soldering irons"

Later that day...

Post reply on HN