Live data from Hacker News

Let's compile Quake like it's 1997

fabiensanglard.net

31–40 of 91 posts

Re: Let's compile Quake like it's 1997

#31
post #29
post #26

Earlier quoted context omitted.

They could have shipped both HALs. Or made it easy to switch which one was in use without reinstalling. CDs were around and hard drives weren’t that small at the time. (Or maybe the really early SMP versions predated widespread availability of CD-ROMs, but I remember dealing with this nonsense and reinstalling from an MSDN CD set.)

With NT4, I'm pretty sure both HALs were on the CD-ROM (unless you had an exotic system with a custom HAL, which came with its own install media). Keep in mind your use case is approximately nobody, you either had a SMP system or you didn't.

It was really not that rare to want to move a disk from one system to another. Except that there was an obnoxiously high chance that Windows would refuse to boot.

Re: Let's compile Quake like it's 1997

#32
post #6

Earlier quoted context omitted.

> The detail about needing to reinstall Windows NT just to add a second CPU shows how tightly coupled OS and hardware were — there was no abstraction layer pretending otherwise. In this case there was: the reason you need to reinstall to go from uniprocessor to SMP was because NT shipped with two HALs (Hardware Abstarction Layer): one supporting just a single processor, and one supporting more than one. The SMP one h…

Linux also used to have separate SMP kernels back when multi processor systems were rare.

I’m pretty sure that the SMP kernel would boot on UP and vice versa, though.

Re: Let's compile Quake like it's 1997

#33
post #27
post #13

On one particular project from 1995 where the hardware was very cost optimised, the C program compiled to 1800 bytes which meant we could save nearly a dollar by buying micro-controllers with 2KB flash rather than 4KB flash. We manufactured 20,000 units with this cheaper chip. 2 years down the line we needed a simple code change to increase the UART baud rate to the host, a change that should have resulted in the sam…

Could also just edit the old binary directly in a pinch?

Whilst I disapprove of your use of the word "just", which I am strongly of the opinion should be banned in engineering circles...

I have done something similar, albeit in a different context, to fix the behaviour of a poorly performing SQL query embedded in a binary for which the source code was not easily available (as in: it turned out that the version in source control wasn't the version running in production and it would have been quite a lot of work to reverse engineer the production version and retrofit its changes back to the source - and, yes, this is as bad as you think it is).

When I initially suggesting monkey patching the binary there was all manner of screaming and objections from my colleagues but they were eventually forced to concede that it was the pragmatic and sensible thing to do.

Re: Let's compile Quake like it's 1997

#34

Earlier quoted context omitted.

I thought the same thing. There wouldn't be a huge advantage to cross-compiling in this instance since the target platform can happily run the compiler?

Running your builds on a much larger, higher performance server — using a real, decent, stable multi-user OS with proper networking — is a huge advantage.

Yes, but the gains may be lost in the logistics of shipping the build binary back to the PC for actual execution.

An incremental build of C (not C++) code is pretty fast, and was pretty fast back then too.

In q1source.zip this article links to is only 198k lines spread across 384 files. The largest file is 3391 lines. Though the linked q1source.zip is QW and WinQuake, so not exactly the DJGPP build. (quote the README: "The original dos version of Quake should also be buildable from these sources, but we didn't bother trying").

It's just not that big a codebase, even by 1990s standards. It was written by just a small team of amazing coders.

I mean correct me if you have actual data to prove me wrong, but my memory at the time is that build times were really not a problem. C is just really fast to build. Even back in, was it 1997, when the source code was found laying around on an ftp server or something: https://www.wired.com/1997/01/hackers-hack-crack-steal-quake...

Re: Let's compile Quake like it's 1997

#35
post #7

I'd like to see someone build the Linux source code leak that came out not to far after Quake was released.

What do you mean, "leak"? Linux would have been developed in the open?

I think they are referring to the 1997 hack/leak: https://www.wired.com/1997/01/hackers-hack-crack-steal-quake...

Re: Let's compile Quake like it's 1997

#36
post #20

Funny, I've just been (re-)playing Quake 2 recently.

Action Quake II is still the best I’ve ever been at FPS.

I'd kind of forgotten about AQ2. I wonder if I can get that going.

I bet there are still servers out there, at that.

Re: Let's compile Quake like it's 1997

#38
It's really ironic that this appeared on the front page when it did, because I've spent the last couple days replacing the ZQuake sound system with FMOD and Atmoky TrueSpatial for HRTF and such. This was my first time ever working on a code base from 1996-2000. And in pure C no less. C feels so foreign to me since I'm so used to writing in C++ and Zig and such. But it was still really fun!

And I mean it doesn't seem super impressive, but it's something. Lol

Re: Let's compile Quake like it's 1997

#39
post #20

Funny, I've just been (re-)playing Quake 2 recently.

Action Quake II is still the best I’ve ever been at FPS.

Yes, such a good game! :)

Gonna warm that up when the kids get a bit older and we start doing LAN parties.

That and Quake World Team Fortress.

Re: Let's compile Quake like it's 1997

#40
post #20

Earlier quoted context omitted.

Action Quake II is still the best I’ve ever been at FPS.

Nod. AQ2 was so damn fun!!

I've only played Quake I (and a modified version of it at that which had accessibility features). I did purchase quake II and III from Steam a few years ago, but it's much harder to play them because they have no accessibility to speak of (and I'm not entirely certain where to begin to try to replicate what was done with my version of Quake I). Quake in general has always been an insanely fun game for me, and I started playing it in like 2010. I still love playing it even now because it's got something to it that most other games I have just lack. Don't ask me to explain what it is because I can't really put it into words but...
Post reply on HN