> By transparently shifting the processor between its real and protected modes on the fly, Rational Systems’s “DOS/4GW” could make it seem to the programmer as if all of the machine’s memory was as effortlessly available as the first 640 K.
This describes EMM386 expanded memory manager. This is not how DOS/4GW extender works :/ DOS/4GW
is a manager between your program and DOS Protected Mode Interface (DPMI) (or bare metal MMU in case DPMI host is not loaded). You run your code in flat linear address space protected mode all the time.
I think the "transparently shifting the processor between its real and protected modes on the fly" part was referring to how a DOS extender had to switch modes, and copy stuff between low and high memory, when calling out to DOS (e.g. INT 21h). It was basically like the switch between user mode and kernel mode in an OS today, except that ironically in this case, it was the "kernel" that was limited in its access to memory.
True, but a book from MIT Press benefits from considerably more editing ahead of time than a blog post. It's like the mention of network "broadcast packages" in talking about how Doom's netcode destroyed LANs - yeah, I get that it's not technically accurate, but I also know what he's talking about, and that his commenters will catch it and he'll fix it in post.
Such lovely nostalgia. I recall excitedly going to my friend's house - he ran a pirate BBS - and playing one of the early beta releases of Doom (likely Doom v0.3). It was nothing short of astonishing that this could run on his crappy 1992-vintage PC, which was a low-end 486 model with something like 4MB of RAM.
on a 386 DX 40 with 4mb I was able to play max sized but with low render resolution, F5 was the button to switch between high and low.
once I got a 486 SX 25 I could play max size and high res
Optimal 386DX40 setup with great VGA card does up to ~9 fps in DOOM in high detail, up to ~12fps in low (half horizontal resolution). Was enough for me in early nineties :)
Low end in 1992 would have been a 386, which might still have been capable of playing DooM, albeit with the window size reduced and if you were lucky enough to get 4MB of RAM on that box. Low end boxes might still only come with 640k.
It would have been pretty unusual to get a 386 with only 640k in 1992 - from memory. And it wouldn't make sense given the cost of a still reasonably expensive CPU despite the albeit expensive cost of memory then. Typical RAM (home/business PC) would have been ~2-4MB, with 8MB+ considered quite high.
A low end box then would still have been a 286, or a 386SX at a low clock speed, if going with Intel, but at that point AMD were releasing 386DX-40 which from a price/performance perspective made it a big winner in the mid-level processor market vs the still quite new (and more handicapped versions, like SX at 20/25MHz) 486, plus motherboards were a thing, far less commodity-like than today. In those days even having a CD drive was a big deal, and higher clocked 486DXs were pretty pricey.
Low end of the sales offers (even though I guess you could still buy a bit lower too), but not low of end of the installed base, which was probably predominantly 286.
My first computer was a 286. My dad brought it home as used salvage in 1987 because the office was going to throw it away. I don’t remember how much memory it had but it had two massive 20mb hard drives. I remember the first game I bought for it was Kings Quest 4. I also remember Windows 3.1 filling one of those drives to capacity.
> My first computer was a 286. My dad brought it home as used salvage in 1987 because the office was going to throw it away.
Okay, but that's not representative. 80286 maximum sales period just started in 87 and lasted until 90.
In 87 at my place, in homes (I am not talking about the office world), everybody I knew (the ones who owned a computer, that is) was still using non-PC 8-bit computers (in the 1 to 4 MHz range). Then a bit later there would be the start of the non-PC 16-bits (Atari/Amiga) era (skipped by many) during which PCs were still more expensive and er... uncool, and only after that the PC started overtaking the non-PC into homes.
Funny that it was already salvage in 1987! You sure you don't have it backwards - the computer was '87 vintage but you got it later? That's when my father bought our first (new!) computer & it was a "turbo xt" (8 or 10mhz 8088).
The very first PC/AT was at most 3 years old at that point & still worth a couple grand. Any 286 would be at least mid-range, as a 386 would probably still cost high 4-figures $.
The hardware was great for the time so I can only guess that small office didn’t need it any more. This was a small regional satellite office of a much larger company.
Funny how that works! My first job in 2001 still had a Compaq Deskpro 386 bought in the 80s to control some very expensive equipment (via some proprietary dongle that wouldn't work on then-modern computers).
My boss at the time told me they paid $10k for that computer when it was new & the equipment it controlled would cost $1-2m to replace (I want to say it was a microspectrophotometer but my memory is blurry), so they had to keep that 386 around & in working order. Luckily these were apparently very reliable computers.
Eventually, the hardware will break, so it's a good idea to plan for that. There are ways to interface with old hardware using new hardware, including special modern motherboards that have ISA slots, or USB2ISA converters
This was the point I stopped playing games, around 1997-8. I was a student, with a franken-PC cobbled together from hand-me-down parts from my brother and dad. There was just no way I could keep up with the new games that were coming out, especially not ones that I could play over LAN with my friends, who had things like Voodoo2 cards.
The speed with which CPUs were improving was amazing. In the 4 years I was at university PCs got about 5 times faster. The SGI Indy workstations in the labs went from being something quite amazing to being run-of-the-mill. And the comparison between the edit systems at the campus TV station that were bought at the beginning of my time there and at the end was night and day. I remember the first would take about a minute to render one second of slow-mo. The one we bought in my final year could do that sort of thing (and lots of effects) in realtime.
I started school in 1995 with a Pentium 75 with 16MB of RAM and "S3 Trio64" graphics. The machine came with a bunch of games, but was too fast to play some of them. There was a really buggy Robocop game and a space shooter that ran so fast they were basically impossible to play. Doom and later Doom2 ran buttery smooth on it.
By the time I graduated I had it overclocked to 100Mhz and had to add a Matrox G200 to try keep up. Even then it was too slow for most games.
Compare that to today where my machine is running with a 7 year old i5-3570k and it can still run pretty much everything.
The nature of PC gaming really changed in the 90's. Through the later years of the Amiga's commercial life, most games were focused on the lowest common denominator because markets were small and everyone wanted to pick up the largest userbase, and the computers likewise had some balance of capabilities, with gaming features existing as one of several considerations. What I think changed was that as the scale of everything picked up, it became increasingly possible for a gaming enthusiast market to emerge, distinct from general computing and console gaming. In the late 90's not only did the specs accelerate very quickly, but the media started pushing to cover this enthusiast segment(e.g. Maximum PC, PC Accelerator). Where previous graphics advances were mostly focused on larger RAM usage and had clear benefit everywhere(higher resolution, color depth, etc.) the ordinary computer user in the 1990's had no reason for a GPU except to play games or engage in 3D content creation and visualization.
A high-end PC from 1996 or so is basically competent at doing everything that was envisioned in the 1970's, if not in practice, then certainly in theory - the things that come after, are there because we started looking for ways to keep applying more computing power.
With games it's been simple: more detail on models and textures, more expensive lighting computations, more accurate physics and more complex animations. The progressive enhancement of the web to the degree that it taxes a modern machine, on the other hand, is like a fitness function that has become overly relaxed. And I think that's a divergence that really occurred in the late 90's when standard RAM sizes grew to the 10's of megabytes - enough to comfortably multitask provided all applications are optimized for memory size. Once you have multitasking, feature bloat can set in.
Well, in 1999-2000 once you get into emulation surely you could play a lot of games again. Once you got ZSNES/Callus who cared about lots of games. Except Max Payne, but well, that was an excuse to get a new Geforce 2 :D.
Also, some Linux games bundled in the distros were damn addictive and run under anything. Abuse, Nethack, Crack-Attack...
It was wild. The MHz increases were big and made a difference. The current trends toward more cores are just a consolation prize for not being able to improve scalar performance.
there is still quite an advancement. look at the GPU market. every new Nvidia model is quite a leap forward. check the specs of the new game consoles. quite impressive compared to 10 years ago.
I am not sure they impress many people any more, in the sense that only a few specific use cases benefit from them and awaits them, while the needs of a vast majority of people on the consumer market have been satisfied with low end devices for quite many years. It was very different across the '90s, when improvements in speed and capacity were tremendous and had an actual and dramatic impact on almost everyone's usage. There were also massive price drops in those days; now for many years prices are pretty stable (I guess they couldn't really go much lower), the only notable exception of which I can think is the SSD price/GB which finally dropped significantly during the last 2(?) years).
That's nothing. From 1992 to 1996 you stepped from 320x200 based games and VGA ones to MPEG videos in your computer and games from Doom/Quake to Broken Sword.
From a simple buzzer to Audio CD quality.
It was the era for multimedia PC's. The changes were huge, really huge.
In that period of time I went from having a 286 with a monochrome display and a dot matrix printer to a "multimedia" computer with Pentium CPU, a 36.6 Kbps modem, color monitor, scanner, inkjet printer, microphone, speakers...
And setup my own interactive voicemail with options using Cheyenne Bitware, which I also used for fax.
Who would have suspected that in only 13 years from then you would have a better version of all that, plus GPS, bluetooth, etc. in your pocket.
We played it (plus bz, what a hoot) in a chemistry computer lab filled with SGI workstations at around that same time. Really annoyed the students attempting to get their homework done, but man those workstations could fly.
(Edit: it was bz at the time. bzflag is the modern inheritor)
Doom was good about not requiring conventional (under-640k) memory or any other tricky system configurations; overall it was pretty easy to get running on anything with 4 MB RAM. Which most 386 systems had as the minimum to usefully run Windows 3.1.
Rational Systems’s “DOS/4GW” could make it seem
to the programmer as if all of the machine’s memory
was as effortlessly available as the first 640 K.
DOS/4GW was included in the latest versions of what
had heretofore been something of an also-ran in the
compiler sweepstakes: the C compiler made by a small
Canadian company known as Watcom. Carmack chose the
Watcom compiler because of DOS/4GW;
In theory and for Doom this was true. In practice, many games didn't use their DOS extender well, and still required much conventional memory. I remember System Shock being one in particular like this.
And in fact in version 1.0 some levels could actually crash on 4MB of ram. If I recall, nothing in episode 1, but some of the more complex levels in 2 and 3 could trip it up.
I think one of the nice things about the id story, is that they never actually fell; they didn't fail or collapse. They just kept on with making games. Romero didn't do well with Daikatana & ION Storm after departing, however id went on to make Quake 2 next which was also successful. They never again quite hit the high level of importance they had reached in the industry with Doom & Quake, however they sold for $150 million to ZeniMax in the end and were still fully operational as a game making company (despite spending six years on Rage).
The core creatives eventually went their separate ways. Some started new bands, some changed industries, and some stayed together under the original name.
But like a rock band id will be forever defined by the creatives involved in each era. The Keen, Doom, and Quake eras all had slightly different members, and it shows strongly in their product.
Then most of the remaining band left, and John Carmack kept touring with studio musicians.
Man, I remember playing Wolfenstein on a computer at work (kids, don't do this today). I could last about 15 minutes before I had to stop from motion sickness.
I remember quite a few concerned discussions by the adults about how playing Wolfenstein could mess up your balance permanently. Well, and about how the violence would destroy society.
i recently started playing doom online with doomseeker. i was pretty disappointed that it was mostly modded to hell and back and all the good deathmatch servers were in russia with 200+ ping. still fun, you just can't really aim right. . .
There's a Doom cartridge/game for Nintendo 64, I remember playing it say 20 years ago.
Think it's still around here somewhere, I can take a photo if you want...
This describes EMM386 expanded memory manager. This is not how DOS/4GW extender works :/ DOS/4GW is a manager between your program and DOS Protected Mode Interface (DPMI) (or bare metal MMU in case DPMI host is not loaded). You run your code in flat linear address space protected mode all the time.