Mastering Two Elusive Windows Entertainment Pack Games: Spider Solitaire and Minesweeper

In the mid-90s, I was very much a console gamer. OG Nintendo, to be more precise. I was knee-deep into games like The Legend of Zelda and Super Mario Bros. 3. My folks bought a second-hand 286 DOS machine when I entered middle school so I would have access to a computer, but in 1995, it was already woefully outdated with the only real games available being the handful of titles that were already installed (shout out to Mixed-Up Mother Goose) or whatever might be found in the bargain bin at the local computer store (Street Rod 2 FTW!). With Windows 3.11 and 95 being adopted across the market, I was enamored with games like Chip’s Challenge and SkiFree on the occasions that I got to play around on a relative’s machine. When I got my first “modern” computer in high school (a Pentium 75 from Micro Center running Windows 95), I took little time attempting to “catch up” with my PC gaming peers: Quake, Duke Nukem, and Command & Conquer became my lingua franca for a couple of years. When America Online and The Internet came along in the late 1990s (my AOL journey is a story for another day), I would tie up the phone line for hours trying to download a 30-second RealMedia video clip over 56kbps. Unfortunately, attempting to kill time by playing some of the “better” PC games would necessitate severing the connection due to the RAM requirements, so I became intimately familiar with the built-in Windows games like Freecell, Minesweeper, and–my favorite–Spider Solitaire.

Thirty-five minutes of careful planning, testing, and undoing to get it right.
For great justice!

Spider was always a fun diversion for me, but I never really played higher than the easy level with one suit. This was a diversion, after all, so I only really needed to steer my attention away for 5-10 minutes at a time, and the easy level could allow me a quick game while still being able to catch The Daily Show with Craig Kilborn while downloading the latest video weirdness from Consumption Junction or loading that week’s SomethingAwful Photoshop Phriday post. Spider is one of those interesting solitaire games that evolves in complexity as you add more suits to the deck, culminating in an extremely difficult 4-suit deck that causes dead ends at nearly every turn of a card. It’s a challenging game, and I nearly forgot about it for years until I rediscovered it on Android. For a time, I would play during any spare minutes I had–usually before bed–until I finally worked my way up to a 4-suit game. It’s a great challenge, and after an unusual hot streak, I finally managed to win a game at this hardest difficulty!

Slow and steady wins the race. Think of the children that could've stepped on a mine you missed!

Like Spider, Minesweeper was another Windows game that I would dig into while I was waiting on documents to load during those bygone days of the early Internet. Minesweeper was a strategy game for those times when I felt like I needed a little more tension. It’s not as difficult a game as Spider considering that it (usually) gives you all the information you need to locate the mines in the form of those colorful numbers that populate the board. Again, I usually only played at the easy level because I was lazy and because I only needed to kill so much time (my long-term gaming sessions were populated by favorites such as C&C Red Alert and X-Wing). Also again, I rediscovered the game on Android after a years-long hiatus due to my concentrating on aspects of life outside of video games (2006-2016 found me in the throes of what I would refer to as “Survival Mode” wherein I would not have much in the way of gaming time) and I made it a point to dig in and complete a game on the hardest available setting. I actually forgot how much I enjoyed great puzzle games like Minesweeper, and I’ve been enjoying diving into others that I have in my collection like BoxyBoy and Donkey Kong ’94.

I know that both Spider and Minesweeper seem to be fairly easy games to program, and I’ve been on a kick to sharpen my coding tools. As such, I’m going to add developing my own versions of these games to my project list. I’ve always learned programming languages best by following models and learning the mechanics of the code as I go, so I’ll be using an iterative format to develop my own applications over time. My goal is to document the development of both applications as I go so that I’ll be able to reinforce the skills I learn as well as provide a reference to anyone else that may want to learn how to develop their own versions of these classic games. It’s a little exciting to finally learn the mechanics behind these pieces of my own history, and I hope to gain some practical knowledge that I can use on later projects that I have planned!

Cleaning a Focus Electronics FK-2001 Keyboard

New keyboard, who dis?

I’ve been using the Focus FK-2001 for about a week now, and I’m enjoying it. Coming from my Matias Tactile Pro, it’s a pretty easy transition (both using Alps switches and all). I do really enjoy the Tactile Pro, but I wanted something with Windows keys.

I also wanted something with a vintage style, but I didn’t like the prices for a Model M (most Model M keyboards with Windows keys are rubber dome switches anyway, and not the superbly clicky bluckling spring switches that the early Model M units employ). Anyway, I now have me a genuine vintage clicky keyboard that is a treat to type on.

Unfortunately, it’s rather…dirty. Time for a deep clean!

Opening up the case, we find the keyboard driver chip. Unfortunately, I haven’t been able to locate any information on this Intel microcontroller. It’s really just an object of curiosity right now, though.

Ran the keycaps through the ultrasonic cleaner for about 30 minutes and lubricated the switches before putting everything back together. These are all the keys with wire stabilizers reinstalled.

Gave the case a good wash with soap and water, too. Of course, I forgot to put the stabilized keys back together first, so I had to take it apart again ?

Now it’s completed, and I only messed up 1 key putting it back together!

All clicky, no sticky!

How To Install Windows 95 in PCem

If you’re at all familiar with the content of this site, you know that I’m a sucker for retro technology, especially media. I’ve spent years collecting vintage computers, software, and other multimedia, but with children on the way, I’m finding myself in need of paring down my extensive physical collection in favor of a smaller, better-curated one. Fortunately, emulation technology has improved drastically since the days of NESticle and purpose-built emulation boxes like the NES and SNES Classic can offer much of the visceral experience of these older platforms without the limitations of the original hardware. The nice thing about a PC is that the form factor hasn’t changed all that much, so emulating an older machine on top of a new one hasn’t eroded the experience too much. Sure, you’re probably missing the feeling of throwing a chunky power switch on a beige desktop box, but the application of the right keyboard and mouse can supplement the tactile experience enough to fool me at least for a while.

Enter PCem, hands-down the absolute best way to emulate older PC hardware on modern machines–right down to the BIOS beeps. It’s not without its quirks and remembering how to do things from the time when PCs still came with manuals can be a little bit of a challenge, but it’s the best way to experience Windows 95/98 applications in all their 16-bit (and 32-bit) glory!

Supplies needed:

  • PCem, of course. Version 17 is current as of this writing.
  • The right BIOS file for the motherboard you’re going to emulate. There’s several archvies of all the compatible BIOSes floating around, I usually go for one hosted by
  • A copy of Windows 95. OSR 2.5 is the most compatible with PCem and includes all the updates to that point, so you’ll have the best experience with it. You’ll also need a valid CD key.
  • Windows 95 boot disk.
  • Windows 9x Voodoo drivers (for that sweet, sweet graphics acceleration).
  • S3 Video drivers.
  • CD image management software. I will be using PowerISO.

Install and Configure PCem:

PCem is a portable application, so it doesn’t actually need to be “installed” anywhere. Just extract the archive to a convenient location on your hard drive. Extract the BIOS archive and place the contents inside PCem’s “Roms” folder. Now, run PCem.exe to open the Configuration Manager. Click the “New” button to set up a new emulator, give it a name, then you’ll have the main configuration window.

For the machine, select “[Socket 7] Shuttle HOT-557”. This will give you options for various Pentium processors. My Core i7 lappy can reliably handle a P120, so I’ll set that as the CPU. 128MB of RAM will be plenty for most Win95-era games. Make sure that “Synchronize time to host clock” is checked, then move on to the video tab.

I’m going to set my video adapter to “Phoenix S3 Trio32” with “Fast VLB/PCI” speed. I’ll also enable Voodoo Graphics. In the Voodoo settings, bump the framebuffer and texture memory up to 4MB. Enable bilinear filtering and Recompiler, and 2 render threads.

In the audio tab, set whichever Sound Blaster you want (why no the AWE32?), and now we need to set up the drives.

Set your HDD as a standard IDE, FDD1 as a 3.5″ floppy drive (1.44MB), FDD2 as none, and CD model as PCemCD (24X speed because why not?). Now we need to create the HDD image. For Drive 0, create a new hard drive image by clicking the “New” button. I prefer a dynamic-size VHD because it will grow as you add more to it. Set it for it 63 sectors, 16 heads, and 16383 cylinders which should give you roughly 8GB.

Mouse, joystick, and network options are at your prerogative. Now, let’s fire up the emulator!

Once the BIOS POST screen comes up, hit Del to enter the standard CMOS setup. Set the primary master to “Auto” and the other drives to “None”. In the emulator Disc menu, change Drive A: to your Windows 95 boot disk *.img file. Now you can save the BIOS settings and reboot the emulator.

Install Windows 95:

Once the emulator reboots, you’ll see the following screen. Type 1 and press Enter to start the computer with CD-ROM support.

After a few moments, you’ll get a warning that the primary hard drive has not been formatted and Windows will dump you at the A:\> prompt. Run fdisk to format the hard drive, and make sure to enable large disk support. In the FDISK application, type 1 and Enter to create a DOS partition or logical DOS drive. Make the maximum space available and then make the current partition the active partition. Once FDISK is finished, you’ll need to restart the emulator.

Once you’re back to the A:\> prompt, invoke the command format c: to format the new hard drive partition. Once formatting is finished, we’re ready to actually install Windows 95. From the PCem Disc menu, mount the Windows 95 installation disc (or point it to your physical CD-ROM drive if you’re using the actual disc) and switch to the E: drive.

If you’re using OSR 2.5, there’s a bug in the installer that prevents it from reading from the CD-ROM, so you’ll need to copy the contents of E:\WIN95 to the C: drive. Switch to the C: drive and invoke md WIN95 to make a WIN95 directory on the C: drive. Then, invoke copy e:\WIN95 c:\WIN95 to copy those contents from the CD to the C:\WIN95 folder for the installer. Once the copy operation is finished, switch back to the E: drive and run setup. Follow the prompts in the installer, and when you’re ready to reboot (the first time), make sure you eject the boot disk from A:.

At some point, you may be prompted to insert a different disk. This is where you will browse to the C:\WIN95 directory from earlier. The installer should see the *.cab file it needs, so click it and click “OK” to continue. At the end of the install process, you’ll need to reboot again.

Bloo doodledoo ding ding ding….

Installing Voodoo and S3 Drivers

If you don’t already have the drivers on a disk image, create a simple *.img file containing them in your disk image management software of choice. Mount this image in the emulator, and you’ll be able to install the drivers for the virtualized S3 video adapter and the Voodoo 3D acceleration.

Right-click the desktop, then click Properties. In the Desktop Properties dialog, go to the Settings tab and click “Advanced Settings”. On the Monitor tab, verify that “Plug and Play Monitor” is selected. Click the Adapter tab and the “Change…” button. Click the “Have Disk” button and browse to the CD image where the S3 drivers are located. Once that’s set, you’ll be prompted to reboot Windows again.

After rebooting, it’s finally time to install the Voodoo drivers. Open the CD image in Windows Explorer and run the Voodoo 2 executable to extract the files to your hard drive. Open the Device Manager and double-click on “PCI Multimedia Video Device”. Open the Driver tab and click the “Update Driver” button. Search for the driver, then browse to the folder where you extracted the Voodoo driver (probably c:\voodoo2). You’ll be prompted to insert a different disc, so browse to the Voodoo2 folder again and select the *.dll file that appears. Once the driver is finished installing, you’ll be prompted to reboot once again.

At this point, Windows 95 is ready to go. Fire up some Fury3 or Hover! and bask in the vintage goodness (or just be thankful that we don’t have to suffer this OS as a daily driver anymore)!


Setting up PCem for Windows 95 games

Using Voodoo 2 emulation with PCem / 86Box