First post, by Joseph_Joestar
- Intel Pentium MMX 166 MHz
- Soyo SY-5BT (Intel 430TX)
- 64 MB SDRAM
- S3 Trio64V+ (Hercules Terminator 64/Video)
- 3DFX Voodoo Graphics (A-Trend VD102P)
- OPTi 82C930
- Sound Blaster AWE64 Value (CT4520)
- NEC 3.5" floppy drive
- CF to IDE adapter + 4 GB CF card (DOS 6.22 / Win 3.11) + 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. 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. It can also run some of the early Win9x Glide games which work best on a Voodoo1.
This Pentium MMX 166 CPU has enough power to comfortably run most DOS games. It does struggle with running late 3D SVGA titles like Quake and Tomb Raider using software rendering, but that's ok since I can run them in 3D accelerated mode thanks to the Voodoo card. I have a different, much more powerful system which can properly handle software rendering in those titles.
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" issue 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 Trio64V+ is highly compatible with DOS games, which is the main reason I chose it for this build. My particular card is a Hercules Terminator 64/Video. It has 2 MB of EDO RAM and provides a razor sharp image. The BIOS supports VBE 1.2 out of the box, but this can be upgraded to VBE 2.0 using the S3VBE utility which slightly improves performance in SVGA resolutions. Lastly, using this Hercules driver CD I can force SVGA DOS games to run at 120 Hz on my CRT monitor which is much easier on the eyes than the default 60 Hz. Under DOS and Win3.11 this is accomplished using the Hercules SETCRT utility. Under Win95, the refresh rate and resolution are managed through the Hercules Touch 95 application from the same CD.
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 bugfree 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.
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 614 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 also run a few Win9x games here, mostly early Glide titles that work best on a Voodoo1 (e.g. POD and Pandemonium!). For any games that are too demanding, I use a slightly more powerful system.
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.