Retrocomputing - Repairing my old PC

#windows#notes

Last Updated:

The first computer I ever had was a Gateway 2000. It would’ve been a bit easier to use if the Windows 98 ScanDisk Utility didn’t destroy the hard drive - but that’s another story. But this was what 13 year-old me had. I managed to get MSDOS6.22 installed from a system disk, and had a win98 upgrade cd but installation would always fail for some reason or another. on this CD also lived QBASIC.EXE - my first real exposure to any programming language. I managed to also get DSL running off a live CD but installation would also fail.

I unearthed the machine recently and wanted to see if I could get it to work again. Opening it up I discovered a second hard-disk drive, I’m not sure where I got it from at the time but it was also unbootable. I’m not sure whether or not it occurred to me to attempt reformatting it back then.

Note: Some of this was written as a summary after the fact. Not all commands have been tested and may destroy any machine you try them on. Use extreme caution, especially when using dd. They don’t call it the “Drive Destroyer” for no reason.

Initial Boot

All that was displayed: Operating System Not Found. I vaguely remember trying to install linux but not quite succeeding, perhaps that’s why I abandoned it?

Fixing the Keyboard

I still had the original keyboard - it wasn’t quite working but I decided to dismantle it to see if I could fix it. I removed all the keys and individually cleaned each one. Then, I removed the layers from the membrane switches and found the culprit for the intermittent key failures - 3-hole punch paper circles had gotten in-between the plastic layers! Upon re-assembly, the keyboard worked just like the day it was made. twitter thread

Challenge 1. Initial Boot with CD support.

As mentioned above, I had an MSDOS6.22 Floppy disk. It contained CD drivers and an MSDOS installation, but for some reason the floppy drive in the computer wouldn’t quite read it right. I took an archival image of the floppy disk that I had made earlier last year for other purposes (If my memory serves, I used dd). I edited the floppy disk’s AUTOEXEC.BAT file after duplicating the image, to stop it from loading the installer on boot.

Next, I use mkisofs to make a bootable ISO of it:

# Make bootable iso
mkisofs -pad -b msdos_6_22.img -R -V MSDOS6_22 -o msdos6_22.iso

# Explained:
mkisofs -pad \ # Pad the image to avoid errors on some systems
        -b msdos_6_22.img \ # Bootable image filename
        -R \ # Generate rock ridge extensions
        -V MSDOS6_22 \ # Set Volume Name
        -o msdos6_22.iso # Output ISO

(if you don’t have mkisofs installed, run brew install cdrtools)

We have liftoff! the boot was successful, and far more reliable than the failing floppy drive. I’d hoped it would let me install MSDOS from the CD, but apparently it requires the disk to be writable. Now, the only issue is that we used up the CD drive (and you can’t swap them, it won’t let you). This had an easy solution, though, since I had a spare IDE Cd drive laying around inside of another computer that’s not in use. After applying the jumper settings on the back to set it up as the IDE Primary Slave, we could continue!

MS-DOS CD Boot

Oregon Trail was playable now since we had a working DOS environment!

Oregon Trail

Challenge 2. Formatting the drive.

On the machines I’m used to, this is a pretty painless operation. However, this step gave the most trouble of all the steps. After trying the typical Partition and Format workflow on the first drive, it was clear It wasn’t going to work. FDISK (windows’ partitioning utility), would hang for long amounts of time when trying to create partitions. Drive 2 had similar issues, but eventually I got lucky and the partioning succeeded. Throughout this process, I was using the Windows 3.1 FDISK utility, as that was the first OS I’d be loading.

fdisk /mbr # undocumented flag, rewrites the masted boot record
fdisk
# delete non-dos partition
# reboot
fdisk
# create primary dos partition
# wait for a minute or two...
# confirm
# exit + reboot
format c:

Windows 3.1

Using a windows 3.1 install CD, installation worked perfectly!

Windows 3.1 Boot Windows 3.1

Windows 95

Windows 95 Installation was also quick, no major errors.

WINDOWS 95

Drivers.

The previous owners either never had (or discarded) most of the original driver disks for the machine. Aside from the usual components, it also has:

  • Telepath x2 Modem from US Robotics
  • DFE-530TX Network Card
  • PCI Sound Card
  • SDB 128 PLUS Graphics Card.

I found a few separate sources for drivers on the internet, and imaged the one floppy disk with drivers that I had.:

  • MODEM DRIVERS:

    • TELEPATH/ was sourced from an original floppy disk shipped with the machine.
    • TELEPATH-2/ was sourced from the internet, and may be newer. Most of the files had the same sha-256 hash. Virus scans turned nothing up, but use with care!
  • AUDIO DRIVERS:

  • NETWORK DRIVERS:

  • VIDEO DRIVERS:

    • SDB128PLUS/ (official)
    • VESA-UNIVERSAL/ contains a generic VESA-Compatible driver. Use as last resort. This driver also works for virtualbox.

I used mkisofs to create a driver disk with all these drivers so I would have them all in one place.

# Create an ISO of the folder, volume "DRIVERS"
mkisofs -pad -r -J -V DRIVERS -o drivers.iso drivers/

# Explained:
mkisofs -pad \ # Psd the image to avoid r/w errors on some systems.
        -rational-rock \ # Generate rock ridge extensions
        -joliet \ # Generate joilet extensions
        -V DRIVERS \ # Set volume name
        -o drivers.iso # Set output name
        drivers/ # input folder

The Telepath drivers failed to install (saying the OS already had done it). Lies. The sound card drivers aren’t compatible with 95, just win98+. I was able to get the network/video drivers installed.

We now have 256 colors!

Floppy Imaging

(on macos) - find the disk’s unix name in disk utility.

dd if=/dev/fd0 of=images/floppy.img bs=2x80x18b conv=notrunc

Next: Upgrading to Windows 98!

Update 2019-07-04: Installing windows 98 was too much for it 😕- it promptly bluescreened and refused to boot after that. I’ve reverted back to windows 95 for the forseeable future (at least until I get a new hard drive - the current one doesn’t like large amounts of data). In it’s place, here’s a video of a full install captured in virtualbox:

Clean Install of Windows98 On VirtualBox.

Change Log

  • 1/19/2019 - Initial Revision
  • 1/26/2019 - set status to Published
  • 7/8/2019 - update notes on mkisofs, images, and windows 98
  • 7/12/2019 - add windows 98 stuff
  • 12/26/2019 - add keyboard cleaning info

Found a typo or technical problem? file an issue!