First post, by Joseph_Joestar
- Rank
- l33t++
System specs
- Intel Pentium MMX 166 MHz
- Soyo SY-5BT (Intel 430TX)
- 64 MB SDRAM
- S3 Trio64V+ (Hercules Terminator 64/Video 2 MB)
- 3DFX Voodoo Graphics (A-Trend VD102P)
- Yamaha YMF719E-S
- Sound Blaster AWE64 Gold (CT4390)
- 3Com Fast Etherlink XL Network Card (3C905B-TX)
- NEC 3.5" floppy drive
- StarTech CF to IDE adapter + 2 GB CF card (DOS 6.22 / Win 3.11) + 16 GB CF card (Win95 OSR 2.1)
- LG 48x CD-ROM
- LC Power 420W PSU
- Samsung SyncMaster 795MB 17" CRT monitor
- CH Flightstick
- Roland SC-155
- Cambridge SoundWorks Digital 2.1 Speakers
Introduction
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. Additionally, it allows me to run early Glide games without any compatibility issues, as they tend work best on a Voodoo1. Lastly, I may occasionally play a few less demanding Win9x titles like Fallout 1 and Diablo 1 on this rig as well.
CPU
This Pentium MMX 166 CPU has enough power to comfortably run most DOS games. It does struggle with late 3D SVGA titles like Quake and Tomb Raider when using software rendering, but that's ok since I can play 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 such games.
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.
Motherboard
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 - Yamaha YMF719E-S
This Yamaha sound card resides at A220 I5 D1 P330 and is primarily used for older DOS titles (1993 and before). Its SBPro and WSS capabilities are excellent, and older games which use FM synth music can nicely utilize its OPL3 chip. The proper SBPro filter has been restored through a hardware mod, as per these instructions by James-F. Since this card has a bugfree MPU-401 interface, it works great for hooking up external MIDI devices, such as my Roland SC-155. Additionally, it has a decent sounding softsynth wavetable when used under Windows 95.
- Yamaha YMF719 music samples (OPL3)
- Yamaha YMF719 music samples (General MIDI)
- Roland SC-155 music samples (MPU-401 via YMF719)
Sound card #2 - Sound Blaster AWE64 Gold CT4390
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 CT4390 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. Its MT-32 emulation is also pretty decent for games that don't use custom instruments (e.g. Monkey Island 1).
Most DOS games made in the later half of the 90s support the AWE32 mode directly and the earlier ones can be made to use it through General MIDI emulation, but only if they don't run in protected mode. Under Win95, the emulation is much better, and any game can access the wavetable through General MIDI. The AWE64 Gold has 4MB RAM on-board for loading soundfonts which can make General MIDI music sound even better in DOS games.
It should be noted that even an AWE64 Gold exhibits stuttering in Build engine games when a high sampling rate (like 44.1 kHz) is used for digitized audio while an external MIDI device connected to it is playing. I avoid this bug by delegating all MPU-401 duties to the Yamaha card.
- AWE64 FM synth music samples (CQM)
- AWE64 wavetable music samples (AWE32 mode)
- AWE64 General MIDI music samples (default soundfont)
- AWE64 SPDIF out music samples (AWE32 mode)
- AWE64 MT-32 emulation
Operating Systems
On this machine, I swap between two CF cards: a 2 GB one for MS-DOS 6.22 + Windows 3.11 and an 16 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 16 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 have fairly large installations on GOG nowadays. 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!).
Conclusion
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.
My other active retro builds:
- Pentium MMX 200 / QDI Titanium IB+ / Matrox Millennium II / ESS 1868F / SB16 CT1750
- AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
- Athlon64 3400+ / Asus K8V-MX / 5900XT / Audigy2
- Core 2 Duo E8600 / Foxconn P35AX-S / X800 / Audigy2 ZS
- i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi
My old (decommissioned) retro builds: