First post, by Joseph_Joestar
- Pentium MMX 166
- Soyo SY-5BT (Intel 430TX)
- 64 MB EDO RAM
- S3 VirgeDX 4 MB
- 3DFX Voodoo 1 (A-Trend VD102P)
- OPTi 82C930
- Sound Blaster AWE64 Value CT4520
- NEC 3.5" floppy drive
- CF to IDE adapter with an 4 GB CF card (DOS 6.22 + Win 3.11) and an 8 GB CF card (Win95 OSR 2.1)
- LG 48x CD-ROM
- LC Power 420W PSU
- Samsung SyncMaster 795MB 17" CRT monitor
I built this rig from scratch as a side project, using parts that I have acquired here and there. Amusingly, the finished system ended up resembling the first PC that I ever owned, although slightly upgraded. Anyhow, the intended purpose of this machine is to play DOS games released between 1990 and 1997 at the correct speeds with the help of slowdown utilities.
This Pentium MMX 166 CPU has enough power to comfortably run most DOS games. The only exceptions are late 3D SVGA titles like Quake and Tomb Raider, but that's ok since I have more powerful systems which can handle them better.
The best thing about the Pentium MMX is that it can be slowed down to 386 and 486 levels which is important for a number of speed sensitive games. By disabling the motherboard L2 cache in the BIOS and using SetMul it's possible to fine tune CPU speed. For example, with both L1 and L2 caches disabled, the CPU runs roughly at 386DX-25 speed which is nice for the original Wing Commander. On the other hand, with L1 cache disabled but L2 cache enabled, the system behaves like a 486DX-33, and that's great for games like One Must Fall 2097 which run too fast on a Pentium but too slow on a 386. There are other in-between speeds that can be reached using the Pentium test registers as showcased in this video by Phil. Finally, since this CPU tops out at 166 MHz, it is not affected by the dreaded "Runtime Error 200" which plagues many DOS games from this time period (e.g. Jazz Jackrabbit). I know that there are patches and workarounds for that, but it just feels nice not having to worry about it at all.
For DOS games which crash due to too much RAM, I use XMSDSK & EMSDSK which lowers the available memory to 32 MB and that usually solves the issue. If necessary, it's possible to lower the memory even further (e.g. to 8 MB) in case some game needs that. And for games that don't like fast CD-ROM devices I use the excellent CDBeQuiet! utility which sets the drive speed to 4x making it blissfully quiet in the process.
The Soyo SY-5BT motherboard is based on the Intel 430TX chipset. Documentation and drivers for Soyo products are sparse nowadays, but I managed to track down the latest official BIOS (5bt-1b7.bin) as well as this driver CD which turned out to be quite interesting. When inserted under Windows 95, the software on the disc automatically detects the motherboard model, displays the corresponding manual and offers to install all the relevant drivers. The manual has a pinout for the PS2 mouse header, which is helpful in case you need to rewire a generic bracket to fit there. The 5BT also has an ATX power connector which eliminates the need for dodgy AT PSUs.
Graphics card #1
The S3 VirgeDX is highly compatible with DOS games, which is the main reason I chose it for this build. My particular card has 4 MB of 35ns EDO RAM and runs at 50 MHz by default. It can be overclocked to 66 MHz using MCLCK resulting in a nice performance boost while remaining perfectly stable. Raising the clock higher than that is possible, but doing so produces artifacts in 3D games. I'm considering adding a heatsink to the core and memory chips at some point and testing if this card can be overclocked even further.
The other reason I chose a Virge was to play S3D games like Tomb Raider and Terminal Velocity. Performance isn't the greatest in that mode, but when overclocked, the card can deliver around 15 FPS at 640x480 in Tomb Raider while simultaneously providing a 16-bit color palette, perspective correction and bilinear filtering. Reducing the resolution to 512 x 384 improves performance to slightly above 20 FPS. Having the 16-bit palette is particularly nice since it eliminates color banding. Lastly, using the S3Refresh utility I can force SVGA DOS games to run at 85 Hz on my CRT monitor which is much easier on the eyes than the default 60 Hz. This works for S3D games as well and even in Windows 3.11.
Graphics card #2
The original 3DFX Voodoo Graphics is a legendary card, providing unmatched 3D performance in its heyday. My particular model seems to be made by A-Trend, according to the pictures at VGA Museum. It will mainly be used for DOS Glide games which aren't as compatible with later Voodoo cards. There is some minor image quality degradation in 2D due to the pass-through cable, but it's less perceptible at lower resolutions such as 640x480 and below.
Sound card #1 - OPTi 82C930
I posted a full review of this card some time ago, so I won't go into much detail here. It serves as the main sound device on this system, residing at A220 I5 D1 P330. I use it for its SBPro and WSS capabilities, as well as for any games that primarily use FM synth music. In addition, since it has a bug-free MPU-401 interface, this OPTi card is great for hooking up external MIDI devices, such as my Roland SC-155.
Sound card #2 - Sound Blaster AWE64 Value CT4520
This card is used for late-era DOS games which benefit from 16-bit sound but don't have native WSS support. Examples include Crusader: No Remorse/No Regret and Privateer 2. While the built-in wavetable is nothing special, it can sound surprisingly nice in certain games that were optimized for AWE cards. The CT4520 resides at A240 I7 D3 H7 P300 E640 which isn't a problem as most of the later DOS games allow you to select these parameters manually in setup.
On the downside, the card is somewhat noisy by default, but that can be resolved by tweaking the mixer settings. It also suffers from the Vibra distortion bug which can be quite annoying as you need to lower the in-game volume below 50% to negate it. However, that bug seems to be slightly less prominent on this system than on my faster rigs. I'm not sure if CPU speed affects it, or if it's something else. Lastly, the CT4520 exhibits stuttering in Build engine games when a high sampling rate (e.g. 44.1 kHz) is used for digitized audio while General MIDI music is playing. I avoid this bug by delegating all MPU-401 duties to the OPTi card.
- AWE64 FM synth music samples (CQM)
- AWE64 wavetable music samples (AWE32 mode)
On this machine, I swap between two CF cards: a 4 GB one for MS-DOS 6.22 + Windows 3.11 and an 8 GB card for Windows 95. With all the drivers loaded, I have 615 KB of conventional memory free in DOS, which is enough for 99% of the games that I play. The only downside of using DOS 6.22 is that I'm limited to 2 GB partitions. This is usually more than enough, but there are a few edge cases when I do need more storage space, and that's where my other CF card comes into play.
Windows 95 OSR 2.1 is installed on the 8 GB CF card. This version supports FAT32 and USB but it doesn't have IE4 and Active Desktop and thus feels snappier on slower systems. This setup is primarily meant for playing the GOG versions of DOS games. The reason being, certain multi-CD games from back then now have fairly large installations on GOG. For example, Privateer 2 takes up around 1.5 GB when using the GOG version. I might also run a few early Win9x games here, but I do have other rigs that are better suited for those tasks.
I really like the versatility of this system. Being able to easily switch between 386, 486 and Pentium speeds is amazing. And while I can accomplish something similar on my faster rigs, I wanted a dedicated DOS 6.22 + Win 3.11 machine for purely nostalgic reasons. As mentioned before, it resembles the very first PC that I ever owned, and playing my favorite games on it feels extremely satisfying.