First post, by cde
Previously I had made an overkill XP build: Gigabyte GA-Z77M-D3H 1.1, Intel Core i7 3770K, MSI GeForce 960 as well as a "jack of all trades" Athlon XP build: Abit KT7A (KT133A/VIA686B), Athlon XP Mobile 2500+
EDIT: please be sure to consult this excellent post by mockingbird that expands on this build with useful advice: Re: MSI MS-7253 / K9VGM-V (KM890, VIA8237A) , Athlon 64 X2 5050e, Radeon X800 XL
After reading PCI sound cards and Chipsets from various manufacturers... I thought I'd try and make a build that would retain good compatibility with DOS sound while still offering over the top Windows 98 performance, and so chose the K8T890/K8M890. I paired it with a 2.6 GHz Athlon 64 X2 5050e (ADH5050IAA5DO) which is very low power (45W TDP); it is one of the latest K8 that were produced (65 nm, G2 stepping). A good alternative is the energy-efficient ADO5200IAA6CZ which has the F3 stepping. F3 has lower memory latency and a maximum of 2 x 1024 KB L2 cache; this particular CPU is up to 10% faster than then 5050e, but it has a slightly higher 65 W TDP.
https://en.wikipedia.org/wiki/List_of_AMD_Ath … microprocessors
https://en.wikipedia.org/wiki/List_of_AMD_Ath … microprocessors
The K8M890-based MSI MS-7253 (K9VGM-V, micro ATX version) has a VT8237A southbridge. I added an ES1938 card (Terratec ESS Solo-1) plus a Lite-On IDE DVD; all work extremely well in DOS with full sound support (CD audio, FM, SFX, and SC-55-like music with the Dreamblaster X2GS) . I just had a small issue with the ES1938 driver posted on Phil's computer lab website, and provided a fix attached to this post: Re: ESS 1938 under DOS
(The equivalent 775 board is the MSI MS-7293, with a VIA PT890 + VT8237A southbridge. It can handle 1066 MT/s Core 2 at best).
Note that the K8T890/K8M890 chipsets are limited to 2 GB of memory, which is already more than enough - I tried 4 GB but this caused DMA errors and video corruption, probably due to address space overlap.
It is worth nothing that the CPU speed can be lowered in a very fine-grained fashion using CpuSpd - A Hardware Based CPU Speed Control Utility for DOS/Win9X Retro Gaming : there are 16 ACPI performance levels, the CPU multiplier can be scaled down from 2600 to 500 MHz in 100 MHz steps and L1 cache can be deactivated. With all three slowdowns enabled, performance can be lowered down to 386 SX levels.
The integrated network adapter has NDIS and packet drivers for DOS/Win9x and is natively supported under XP/Linux. An alternative is the RTL8111C/RTL8111D gigabit ethernet PCIe card, the last one with official Windows 98 drivers (but no DOS drivers afaik). The RTL8111 requires the /M option of PATCHMEM.
If the ESSOLO.SYS driver hangs after displaying "SOLO" on a single line, it means it couldn't grab a low IRQ. A workaround is to disable LPT1 in the BIOS, so that it can grab IRQ 7, or to disable COM2 and force "PCI Slot 2 IRQ" to 3, allowing the ES1938 to use IRQ 5.
Installation of Windows 98 however is a bit more difficult, so here are a few tricks that were useful to me:
ES1938 sound card driver
The driver provided on Phil's site (solo1_drv_w9x_4.12.01.1165.zip) did not work at all for me regardless of any IRQ setting. The "ESS SOLO-1 PCI AudioDrive" driver showed a yellow exclamation mark with the error message "This device is either not present, not working properly, or does not have all the drivers installed. (Code 10.)". Instead I found driver 5.12.01.3047 which worked fine, also provided as an attachment to Re: ESS 1938 under DOS
Radeon X800 XL PCIe graphics card
The X800 XL is one of the most powerful of this generation, and this particular chip (ATi R430, Thor) was released later on the 110nm node and does not require external power; I measured the whole power consumption of this card as 50W. All pixel and vertex shared are unlocked (16/6), be aware that many other X800 models have a reduced number of pixel and vertex shaders. The default cooling solution was replaced with the Zalman ZF700-CU. (I had to solder a fan header onto the motherboard, as the footprint was not populated.)
After installing 98, there are three graphics cards listed instead of two: 1. "Standard Display Adapter (VGA)", 2. "Standard PCI Graphics Adapter" and 3. "Standard PCI Graphics Adapter (VGA)" with a yellow exclamation mark. The first one is erroneous and was created by mistake by Windows 98 SE setup. The fix is easy and consists of removing 1. "Standard Display Adapter (VGA)" and rebooting. Then the yellow exclamation mark is gone and installation of the 6.2 catalyst driver succeeds.
SATA SSD drive
Like the VT82C686B, the VIA8237A doesn't like SATA to IDE converters connected to a SATA SSD: both the Marvell 88SA8052 and JMicron JM20330 adapters caused DMA errors. However (again like the VT82C686B), an mSATA to IDE 88SA8052-based adapter worked fine in DMA mode. This adapter can usually be found under the brands Delock/Ableconn/Renkforce and has a red PCB with metal railings on the side, but it has become expensive and difficult to find. It looks like: https://m.media-amazon.com/images/I/812r43k8o … _AC_SL1500_.jpg
So a better solution would be to use a SATA SSD using one of the two SATA ports on the motherboard in IDE mode. What I found out after much experimentation is that Windows 98 SE doesn't like having more than two IDE bus masters (by default, this MB has four: two classic IDE ports and two SATA ports). Furthermore, it is necessary to apply R. Loew's PTCHSATA, and finally DMA must be activated manually for both HDD and DVD drives. Here's a short guide for using a SATA SSD with this motherboard:
- After the first reboot, the message "Insufficient memory to initialize Windows. Quit one or more memory resident programs..." is shown. (here I'm using 2 GB of memory). Reboot and instead of safe mode select command prompt. Install PATCHMEM and PTCHSATA (it is not necessary to copy SATA.INF).
- After rebooting, installation will freeze one or two times at the "Windows 98 is now setting up your hardware and any Plug and Play devices you may have...". The mouse might still move but the magnifying glass stops moving, so reboot the PC and setup will continue and eventually succeed.
- In the device manager, there is now under Hard disk controllers "Standard Dual PCI IDE Controller" (with a yellow exclamation mark) and "VIA Bus Master PCI IDE Controller" (working). Under the properties of each controller go to Settings and change the Dual IDE Channel Settings so that there is only one IDE Channel enabled for each (for example Primary if IDE0 or SATA2 is used, Secondary for IDE1 or SATA3), then reboot.
- Again in the device manager, update the drivers for "Standard Dual PCI IDE Controller" by choosing "VIA Bus Master PCI IDE Controller" (with Show all hardware), then reboot.
- Now there are two "VIA Bus Master PCI IDE Controller" devices in Device Manager with no yellow exclamation mark. In the properties of the optical drive and "GENERIC IDE DISK TYPE00", tick the DMA checkbox - otherwise performance of the HDD/ODD will be limited to around 3 MB/s. With DMA, performance is up to around 130 MB/s.
The BIOS also provides a RAID option for the SATA port. The VIA RAID drivers work fine in Win98, unfortunately the BIOS code reserves 12 KB of conventional memory for its buffers, so I wouldn't recommend going that route.
It is best to set the optical drive as the IDE master, if set to slave Windows XP takes a lot longer to boot (presumably because it timeouts waiting for the master's response). Make sure to use a recent IDE CD/DVD drive (like the Lite-on LH-20A1H or Nec ND-4570A / ND-4571A, all three are CDBQ compatible); when using an older ~2002 Sony CD-R/RW drive (CRX175A1) I would get DMA errors and disk corruption (when used as a slave device).
A note about the VIA Hyperion drivers: the last version with Win9x IDE drivers is 5.21a. However I've tested these drivers and performance is actually slightly worse than the default Windows 98 SE IDE driver. The Hyperion package also contains the AGP driver, but again after installing it I got the same 3DMark2001 scores. So I believe this driver package is completely unneeded.
Also when using a USB mouse, movement of the mouse is very jerky, as if it was sampled at 2 fps. Installing the VIA USB 2.0 driver did not fix it. However installing nusb36.exe fixes the problem completely, so I recommend it if you need USB devices (an alternative would be U98SeUSB.exe, see Re: Windows 98SE - USB mouse extremely slow, am I missing something obvious?). By the way, real-mode support for USB keyboards/mice/storage can be disabled in the BIOS, freeing 64 KB of UMB. The BIOS PS/2 emulation is actually decent and would be useful eg. if the PS/2 port was defective.
Finally, some pictures: the cooler is a be quiet! Pure Rock Slim which has AM2 compatibility (dropped in version 2 of this cooler) - PWM support must be enabled in the BIOS, and the case the Advance 6016CR Little Box (with the USB card reader replaced by a Gotek):