Video card

Again, if you bought an complete pc, it probably included a video card. If it didn't, or if you think about getting another, read on.

Most DOS games will run just fine with just about any VGA card you throw at it that has at least 1 MB RAM. If you really wan't to go all in, you can ofcourse add a 3D accelerator like a Voodoo card - I have no personal experience with those.

As for brand, I would recommend Trident, S3, ATi, Matrox, Cirrus Logic... Basically, if it fits in a socket, it'll work!

Windows

It's a bit different if you want to run Windows 3.1 or 9x. Now, you really need to consider the amount of RAM you need on the card!

Let's say you got a monitor capable of a resolution of 1024*768, and that you want Win3.1 to run in this resolution with 65K colors. This is only possible if the card has at least 1,5 MB of video RAM (VRAM). Why is that, you ask? Math lesson coming up!

You see, the card needs to be able to fit the entire screen in memory. In this case, that means 1024 columns of pixels with 768 in each column - thats 786.432 pixels total. If you wanted to show that in just 256 colors, each of these pixels need one byte to represent the color, so 786.432/1024=768 KB of VRAM needed. But we want 65K colors. That's 2 bytes per pixel for color information, so 786.432*2=1.572.864 bytes - or 1.536 KB/1,5 MB of VRAM needed on the card.

So, the amount of video RAM is dependant on your desired resolution in Windows. I don't think I have ever seen a DOS game capable of more than 800*600 in 256 colors (which requires less than 512 KB), so that is unlikely to be an issue.

With this knowledge, we can build a table to see how much VRAM the card needs to have for different resolutions. Not all resolutions here are supported by Windows 3.1 and 9x, but are included for completeness (it's a bit fun to see what we actually demand from our cards today):

Resolution Colors
256 65K 16,7M
640*480 VGA 512 K 768 K 1 M
800*600 SVGA 512 K 1 M 1,5 M
1024*768 XGA 768 K 1,5 M 2,25 M
1152*864 XGA+ 1 M 2 M 3 M
1280*1024 SXGA 1,25 M 2,5 M 3,75 M
1920*1080 HD1080 2 M 4 M 6 M
2560*1440 WQHD 4 M 7,25 M 10,75 M
4096*2160 4K 8,5 M 17 M 25,5 M

Note that the results are rounded up to the nearest 256 K.

"Wait a minute," I can hear you say - "If the card only need 25,5 MB VRAM to drive my 4K monitor, why does it have 4 GB? That's over 150 times more than it needs?" Good question.

The answer is: 3D! Yes, cards from back then were only 2D, and if you wanted 3D, you bought an add-on card like a Voodoo 3 or something like that. Today, those two cards are built into one.

3D graphics uses textures for surfaces. Think of it like a picture of a wall, which the graphics card has to manipulate before showing it. It probably needs to skew and rotate it, so it looks correct from the angle you are seeing it from. Then it has to apply the correct lighting and maybe even reflections, before showing the finished result. Then, it does it all all over again for the next frame.

As you might have guessed, this takes a lot of processing power - but raw processing power is worth nothing, if you have to wait for the data to work on. So, those data are stored in the cards own memory, which is called VRAM. It is much faster for the GPU to get the data from there, than having to get it from the system RAM. Also, as the speed of the GPUs increased, the VRAM became faster to keep up with the GPUs. Most VRAM today is almost twice as fast as system RAM.

And that is why your modern card has so much VRAM. It not only has to fit the screen there, it also have to store a bunch of off-screen textures and have memory left over to manipulate them. Sometimes it even prerenders frames before showing them, so it could have several completed frames queued in memory, just waiting to show them...

While the textures are smaller and less detailed, some DOS games also uses this same technique. So yes, more VRAM is better.

So, which card should I get?

That depends on a lot of things. Most importantly: Can you find drivers for Windows 3.1 that supports the card?

Of course, the more VRAM, the better. PCI is newer than ISA, and well supported for the most part. AGP? That is an option, but beware: The AGP port was introduced in 1997 - at this time, Windows 95 had mostly taken over, so many producers no longer cared Windows 3.1 support. As far as I have been able to find out, only two AGP graphics cards exist that has drivers for Windows 3.1: One is the Matrox Millenium G400, the other is the nVidia RIVA TNT - not the TNT2!

Both are available with 32 MB VRAM, and both have drivers for WIndows 3.1x and Win9x (and OS/2, if that's your thing), both are combined 2D/3D cards, meaning you don't need 3D accellerator like a Voodoo card - it's on-board. Unfortunately, the drivers for the Riva TNT seems to have some problems, most notably crashing the entire computer during video playback under Windows 3.1x.

So the best bet here would be the Matrox Millenium G400, which I can personally recommend. Stable drivers, and it has DualHead - you can connect two monitors to it, and have the same image on two monitors or one image stretched over two monitors. Not many DOS programs supports this - the only one I know of for certain is Borland Turbo Pscal 7.0, where you can have your source code on one screen and the code output on the other. A singlehead version is available, but oddly it seems they are not as widespread as the DualHead.

If you go for a G400, pay attention to the product number. My card is a G4+MDH4A32G.

  • G4+ means it's a G400.
  • MDH = Millenium DualHead. A singlehead version was also available (with the DH omitted), but oddly seems to be less widespread that the DualHead.
  • 4 = AGP 2.0 compliant. Confusing, yes, but AGP 2.0 is the one that specified AGP speeds up to 4x.
  • A = AGP (a PCI card will have a P here).
  • 32 = 32 MB VRAM.
  • G = SGRAM.

The 4 between the "MDH" and "A32" is the important part! The card was originally released as G4+MDHA32G (without the 4) before the AGP 2.0 specifications were completed. Unfortunately, the protocol for negotiating signaling voltage ended up being different from what Matrox expected it to be, resulting in the cards without the 4 possibly not working in your motherboard, as they cannot negotiate the correct signaling voltage. It will not damage anything, it just won't boot. The cards with the 4 complies fully to AGP 2.0 and will always work.

Published on  February 26th, 2021