When installing games and programs on a new version of Windows you run into all kinds of problems because the OS is newer then the programs know. This made me think of how games worked years ago and I felt like writing it down and putting it up here. so here goes: A trip down memory lane.

Back in the old days, think mid-eighties, games were simple. They all fit on a few floppies and there was only one thing to keep in mind if you wanted to know if you could play a particular game: What videocard do I have?
Back in that day the requirements were simple. No one asked about your shader version capabilities, about hardware T&L or about the High Dynamic Dynamic Lightning possibilities of your videocard. No, you had MDA, CGA, EGA and VGA cards and that was it. MDA was a monochrome adapter (2 colors), CGA was 4 colors, EGA was 16 colors and VGA a whopping 256 colors. And even if you didn’t meet the specific requirements, sometimes you could cheat. We had an MDA and I often used the program “simcga” to run programs that were meant for CGA or even EGA monitors. Those days were simple.

Then games got bigger and better. Sure, by then we had a better computer with a VGA card, but as the games grew, they also needed more memory. The thing with DOS was that you just had 640k and that was it! Everything had to fit in there. So after the ‘videocard-age’, we enter the ‘memory manager-age’. You needed to make the perfect boot sequence so every driver and TSR was loaded in just the right order, so their memory consumption was as optimal as possible. It was the time QEMM reigned supreme. My worst encounter during that time was with “Master of Magic“. It required 632k of the available 640k to play.

Then games even got bigger! But so did our computers, now we had 4 MB of RAM to run Windows 3.x. But DOS didn’t give you easy access to the additional 4 MB RAM. It was hardwired to give you 640k and not 1k more. So we got other memory managers. The worst part was that getting access to RAM above 640k wasn’t possible with just one standard. So we had EMS memory and XMS memory and I believed even something called VCPI memory. During that time your computer presented you with a boot menu with boot options for almost every seperate game on your harddisk. Just to get them to run.

Then the memory problems went away. Protected mode made it’s entrance and everytime you started a game and it greeted you with the “DOS4/GW” text, you know it was going to be allright. Some games required 3 MB RAM, others 4 MB. But with 4 MB RAM, you could run everything. But again, progress hadn’t stopped. Because now we had Sound Blasters and even some Network cards for multiplay. And we entered a whole new age of problems: IRQ conflicts.
IRQ’s are used by hardware to get the attention of you CPU. The problem starts when two pieces of hardware start using the same IRQ. That just doesn’t work. So the more hardware stuffed in your PC, the more IRQs you need to use, the more chance for conflict there was. This was also the time when you has traded in your ISA videocard for a nice fast Vesa Local Bus videocard.

Windows 95 and DirectX was here! Before this game developers would need to support every piece of hardware specifically in their game, or target a range of products (NE2000-compatible network cards, or SoundBlaster-compatible soundcards), but with DirectX the game would just target DirectX and the hardware manufacturer would need to provide the driver for DirectX. Heavenly bliss! If it wasn’t for that damned stubborn IRQ conflict. So Windows 95 had this new thing called Plug&Play. It wasn’t called Plug&Pray for nothing! I turned off the PnP fearures of a lot of my hardware and managed the resources manually, because Windows would only fuck them up. You’d have everything working, then reboot and WHAM! all conflicted again. Windows decided the change the resource distribution for some reason. This was also the time Vesa Local Bus was out and PCI was in.

Then game the most frustrating period in gaming (at least for me). I switched to Windows 2000 and it had a feature called ACPI and it made IRQ sharing work. It truly made hardware resource conflicts a thing of the past. Everything seemed to work perfect. Seemed….because games games had grown even bigger and better. Hardware possibilities had increased tremendously. We had hardware accelerated 3D rendering and hardware accelerated sound. But the drivers these devices used were far from perfect. Driver conflicts and instabilities were a nightmare! Everytime you’d get a new game there was a good chance it would trigger and driver conflict and freeze your system. You could update the driver and make it work, but then some other game would break. And even updating a driver didn’t help that much most of the time. When bying a new computer you had to decide on a CPU brand (AMD or Intel) and then do reseach on what chipset would work best without conflicts, which USB chipset would cause the least trouble and ofcourse you also needed to be careful you had the right videocard for the games. Because the new games would try to use the new capabilities. Which would ofcourse be only on the brand-spanking new AGP videocards.

Then we got Windows XP and most of the problems went away. Some conflicts remain, but I personally don’t have them that often. The hardware has gotten much better, as has the drivers made for them. Microsoft does much better tests in the Windows Hardware Quality Labs, so driver upgrades do more good now. Now we only have to deal with the aforementioned shader version problems, memory throughput limts and other things commonly only related to not having the best and latest videocard. Although this might change a bit with the advent of hardware accelerated physics.

So what troubles lie ahead in the future? Well, maybe some conflicts with that new and shiny physics accelerator or maybe games that can’t cope with Least User Privileges in Longh…er…Vista.

[Last played: - ]