Hacking, Coding and Gaming | @[email protected]

Some time back I bought a Pentium 200Mhz MMX computer in a nice 90's case with matching brand monitor and keyboard. I decided I wanted to set it to run Dos 6.22, to play my favourite Dos games, as well as Windows 98 for games like Diablo 1 and large storage + usb support. This post is mostly notes for myself about some of the pain points I encountered over many weekends of re-formatting, moving peripherals around, installing different drivers, etc... as well as an online backup of some files and drivers - but hopefully it will be of use to someone.

Downloads: (also linked where mentioned)


The Hardware:

CPU: Intel Pentium MMX, 200 MH
Motherboard: Shuttle HOT-555A
Chipset: Intel Triton 82430VX
Video: S3 Trio64V2-DX/GX (775/785) (2 MB)
Sound: Yamaha OPL3-SAx Sound System

Pretty decent hardware - especially the sound card - for the very low price I paid for. The sound card provides Sound Blaster emulation, making it good for Dos gaming.


Using Modern Storage

Through googling, searching ebay, and reading Vogons.org I found devices that enable you to use SD Cards or Compact Flash cards as IDE drives.

The SD Card adapter seemed ideal, given how common SD Cards and how much storage they offer... unfortunately things weren't quite so simple. The board runs as "Master" mode, potentially conflicting with the drive you want to boot from - unless you choose to boot from the SD Card (which I did):

SD Card to IDE

I found Compact Flash adapters with rear case panels on them, allowing easy external access when the machine's closed up. They also come with jumpers to set between "Master" or "Slave" mode, making it a good companion to the above SD Card adapter. Luckily I was able to find about 20x secondhand 2GB Compact Flash cards for a great price. Not as small or as much capacity as an SD Card, but a lot less likely to get dropped when reaching behind the machine to swap them out.

CompactFlash to IDE

Of course I didn't stop there. Just because I couldn't find an externally-facing SD Card adapter didn't mean I couldn't use SD Cards right? Enter the SD Card to Compact Flash adapter. Now I can put an SD Card, in Compact Flash adapter, into a Compact Flash to IDE adapter - win!

SD Card to Compact Flash

None of these are hot swappable or USB based, so the system has to be powered off when changing cards. The SD Card adapter is identified as "SINTECHI High Speed SD to CF Adapter V1.0" by the bios while the Compact Flash adapter's name changes based on the card init (or doesn't show up at all if empty).

You also get these SD Card extensions which let you do things like expose the SD card on the outside of the case, assuming you get creative running the ribbon, without needing to have all the electrical bits and IDE cable exposed: SD Card Extension


Modern Storage Problems

Installing Dos 6.22

TL;DR: you need to create a <2GB FAT16 partition on SD Cards prior installing DOS - disk image available for download.

I had problems getting Dos 6.22 to install on the SD Card adapter - even when things seemed to go right. Despite using a Dos 6.22 boot disk, making a 2GB FAT16 partition (which is all that Dos 6.22 supports), and completing the installation successfully, booting the machine from the SD card would get stuck at "Verifying DMI Pool Data..."

I went through numerous combinations and attempts and eventually got it working using an old 2GB SD Card I happened to have. For a time I thought Dos + the adapter didn't work for bigger drives, but I've since discovered the issue appears to be "fdisk"ing through the adapter results in a corrupt or incompatible partition. That's problematic given 2GB SD Cards generally aren't sold anymore.

Luckily writing a disk image with a 2GB FAT16 partition to a modern sd card allows it to have Dos 6.22 installed to it, and it boots fine. Assuming you can find or create such a disk image - so I've formatted and imaged my working 2GB SD Card for use, and tested with 16GB and 64 GB SD Cards.

Download: 2GB FAT16 SD Card Image (fat16-2gb-sd.zip) - I use Win32 Disk Imager, but Etcher is a more modern tool that should work, for raw writing to drives.

Windows 98 Second Edition

TL;DR: Win98SE installs and runs fine off the 2GB FAT16 partition created above, FAT32 partitions larger than 8GB might not be usable in "dos" mode. Disk image available for download.

Copying the Windows 98 Second Edition "win98" folder from the CD to the SD card and running "setup.exe" (in Dos) works fine, and the installer completed successfully and booted fine. Pressing F8 when Windows 98 starts booting provides a boot menu, including a "Previous version of MS-DOS" allowing us to get back to Dos 6.22 should we want to.

Windows 98 supports FAT32, which allows for larger drives/storage, so I formatted a 64GB SD Card and filled it with games. I put it in the Compact Flash adapters and booted Windows. Windows showed the new "D:" drive and all the games on it. Rebooting into "Command prompt only" or "Restart in MS-DOS mode" (both of which are effectively "DOS 7"), however, did not show the drive. Booting into "Previous version of MS-DOS" definitely wouldn't as Dos 6.22 doesn't support FAT32.

Through more trial and error I found that 8GB and smaller SD Cards (and presumably Compact Flash drives) would be shown - it seems this is a hardware limit (of the adapter): Bios "int 13" limitation and Vogons thread.

Given that I have a pile of 2GB Compact Flash cards, and want to use them in "real" Dos 6.22 ("Previous version of MS-DOS"), I'm going to stick to them, BUT here's another disk image that can be written to modern larger SD Cards to create a working 8gb FAT32 partition:

Download: 8GB FAT32 SD Card Image (fat32-8gb-sd.zip)

About those 2gb Compact Flash cards

TL;DR: My 2GB Compact Flash cards aren't usable in "dos" mode unless partitioned a certain way

Having mentioned in the previous section how I'll just stick to using these 2GB Compact Flash drives, using FAT16 it seemed no matter how I formatted them they just didn't show up outside of Windows :|

A whole lot of trial and error later it seems formatting them with "SD Card Formatter v5.01" they work. I was curious what this program did differently to my main Windows 10 Desktop, so formatted a card with different tools (including Windows 98 itself) then compared them:

FAT16 formats

I won't pretend to know what's going on there, but clearly not all FAT16 partitions are equal. I'm assuming these adapters are super fussy, and combined with the Bios and Dos support some stuff works and others just doesn't. Time for another disk image I can just write to my Compact Flash cards rather than formatting them:

Download: 2GB FAT16 CF Card Image (fat16-2gb-cf.zip)


Drivers

DOS

TL;DR: "Cute Mouse" for mouse drivers and "OPL3-SAx_DOS.zip" for sound (Sound Blaster compatibility)

The above deals with getting my "C:" and "D:" working - allowing for 4GB of storage between the two. DOS being DOS doesn't require much in the way of video drivers... but does need help getting a mouse cursor working, for which I use CuteMouse.

I put it, along with "MSCDEX" (CD drivers) and my sound drivers (below) in my "autoexec.bat" file... even though they'd be loaded every time Windows 98 started. I didn't experience any problems though.

Using the drivers from a Vogons post and adding "SET BLASTER=A220 I5 D1 T4" and "SETUPSA /S" to my "autoexec.bat" got sound working in DOS games. Doom and Duke Nukem 3D work with "Sound Blaster" settings, and Warcraft 2 detects the sound card as "Sound Blaster Pro" (or compatible).

Download: OPL3-SAx_DOS.zip sound drivers (and autoexec.bat example)

Windows

TL;DR: Official drivers make sound effects work in games, Win98SE USB drivers are a pain.

Pretty much everything worked without having to provide drivers, but sound effects in DOS games didn't (music did) even with the previously mentioned drivers installed - I suspect Windows 98 unloads/overwrites them.

Installing the "YAMAHA SAx Driver" for Windows added a Control Panel icon with some additional settings and fixed DOS sound effects - I'm pretty sure I got this from Vogons as well.

I have a VIA chip based PCI to USB card I installed, allowing me to use USB drives with Windows 98. I had some problems getting it to work, but by installing "nusb36e.exe" (thanks once again Vogons!) before actually putting the card in - and some trial and error in different PCI slots - it now works and can read USB drives. It does seem to slow down Windows quite a bit, but for now I'm okay with the trade off.

Apparently NEC cards are the way to go: Vogons post.

You may also need to add a "LASTDRIVE=Z" line to your "C:\config.sys" file and rebooting if inserting a flash drive causes it to be detected (icon in the system tray to remove it) but no drive letter is assigned to it.

Download: YAMAHA SAx Driver.zip - Windows 98 sound drivers (and autoexec.bat example)

Download: nusb36e.exe - Windows 98 USB Drivers


Memory management (for DOS games)

Most of the DOS games I wanted to play work great under Windows 98, though a few require real DOS mode or I might just want to play them from DOS.

Memory management, "extended memory", and various other things we no longer have to worry about can cause problems or warnings (eg: Day of the Tentacle requires 2mb of EMS... whatever that means). The easiest way I found to deal with this is making sure all DOS drivers are present in my "autoexec.bat" (without "REM" in front!), booting into "Previous version of MS-DOS" (pressing F8 when Windows starts to boot) and running "memmaker" to let DOS do its memory magic. When it asks if you need extended memory choose yes.

It will need to reboot once or twice - each time you need to press F8 and choose to boot into "Previous version of MS-DOS" until it says it says it's done. You should now be able to play most DOS games, and Windows should still work without issue.

my autoexec.bat file:

@ECHO OFF
PROMPT $P$G
PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\DOS
LH /L:0;1,3104 /S C:\DRIVERS\MOUSE\CTMOUSE.EXE
LH /L:1,28032 C:\WINDOWS\COMMAND\MSCDEX.EXE /D:NCI000 /V
SET BLASTER=A220 I5  D1 T4
C:\DRIVERS\SOUND\SETUPSA /S

my config.sys file:

DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE RAM
BUFFERS=12,0
FILES=30
DOS=UMB
LASTDRIVE=Z
FCBS=4,0
DEVICEHIGH /L:1,2416 =C:\DRIVERS\SOUND\SACDROM.SYS /P0 /IOFF /A0
DOS=HIGH
DEVICEHIGH /L:1,16976 =C:\WINDOWS\SETVER.EXE
DEVICEHIGH /L:1,18112 =C:\DRIVERS\CDROM\IDE-CD.SYS /D:NCI000