I recently stumbled across a game I used to play when I was a kid: SimCopter by Maxis. Since the game is so old I was not able to just 'install it' on my Windows 7 x64 system even using Compatibility Mode settings.
This article explains how to install SimCopter on Windows 7 x64 using a Virtual Machine. This approach may work for other old games like SimCity 2000 and Civilization 1.0. As the title would imply I highly recommend acquiring a copy of Windows 98 and the VMWare Player Hypervisor before continuing.
- SimCopter [wikipedia.org]
- SimCopter 1.2 update [shacknews.com]
- Solution for SimCopter Crashing problem (Link to get CPUGrabber) [hotud.org]
- BoredWookie mirror of CPUGrab [boredwookie.net]
- BoredWookie implementation of CPUGrab in .NET [boredwookie.net]
- An unrecoverable error has occurred and SimCopter must quit [hotud.org]
- VMWare Player 5+ [vmware.com]
- VMWare discussion on Windows 98 Sound Drivers [communities.vmware.com]
- .CAT and .INF(Signed and Unsigned drivers) [forums.novell.com]
- Sound Blaster* Audio PCI 128 Drivers for Windows 98 [downloadcenter.intel.com]
- DirectX 9.0c [microsoft.com]
- CDBurnerXP (Disc ripper) [cdburnerxp.se]
There is a lot of work that needs to be done to get this to work. While I cover the high-level steps, this page expects that you are somewhat proficient (or at least familiar with) Hypervisors and Windows 9x. Here is an overview of the steps that will be mentioned in this article:
- Install a Hypervisor
- Create a VM
- Install Windows 98 + VMWare Tools + Sound Driver
- Copy over CPUGrabber to the VM
- Rip SimCopter to an ISO
- Play the game
Install a Hypervisor
Since I am running on Windows 7 x64 I can't run really old games without emulating an older version of windows (Even with the 'compatibility settings' set to xp or older). Since I use ESX a lot at work I recommend using the VMWare Player hypervisor. It provides a stable platform to emulate an old OS like Windows 98.
Create a VM
Once your Hypervisor is installed we can get down to creating a VM. If you open VMWare Player you have the option to create a New Virtual Machine. Here are the settings I used on my VM:
- OS: Windows 98
- RAM: 128MB
- HD: 4GB
- Enable 3d Acceleration: True (This one can be edited after the VM is created)
Install Windows 98
You could install Windows 95 / 98 / 98SE (and possibly ME / XP 32bit) in your VM. I had a copy of 98SE hanging around so I used that. Remember that the further back you go the more difficult it is to setup Windows. Since I ran through Windows 98, I had to do a little bit of extra configuring to get things to work:
- Intall VMWare Tools (This can be done from one of the menus in the VMWare Player application. It'll mount a Virtual CDROM and let you install the tools which include a decent SVGA adapter
- Install DirectX 9.0c (Might not be necessary, I installed it during troubleshooting)
- Set the Screen colors to 256
- Install the AudioPCI 128 Sound Drivers:
- Download from intel
- Run BICREW98.EXE. This will leave a dos window open that you can close
- Run SW.exe . This might also leave a dos window open
- If you are asked about overwriting DESC.TXT, just say YES
- Make a copy of sbpci.inf named sbpci.cat
- Run SBSetup.exe
- When prompted to insert a disk, just point to the location where sw.exe extracted all the files
- You may be prompted to locate sbpci.cat. If that happens, point the installer to the sbpci.cat file
- At this point you may be prompted for EACH and EVERY single file required by the sound driver. Just keep clicking 'ok' since they should all be in the same directory as sbpci.cat
- When prompted to restart, do so.
- You may be prompted to restart windows several times. Be sure to do this as requested.
A Sneak-peak at the fun you'll have if you take the win98 route:
Rip the CD-ROM and attach it to the VM
At this point you should have a stable platform for running Sim Copter. Now you just need to rip the disc to an iso and attach it to the VM:
- Install CDBurnerXP or use your preferred ISO ripper
- Open your VM and goto Player -> Removable Devices -> CD/DVD Drives -> Settings
- Point the drive to your ISO
- Check the Connected checkbox
- Click Save/Ok
Play the game
- Auto run for SimCopter should kick in. Follow the prompts to install
- Copy over CPUGrab.exe and start it up with a value around 20 - 33. You will most likely need to adjust this up (possibly to around 80 - 90) to avoid crashes
- CPUGrab.exe is a tool that came with the Microsoft DirectShow SDK. Unfortunately, I was unable to find any references to where to download it off of Microsoft's website as they have completely redesigned it to look more "metro-y" and a lot of links are broken. When I searched my available MSDN downloads I couldn't find it, either.
- This tool is important since modern CPUs run too fast for old games (even with virtualization overhead in a VM). Running this tool makes the cpu 'slower' (oversimplification, but whatever) so games like SimCopter can run correctly
- Since this tool is no longer available, a replacement would be great. To that end I have created CPUGrab.NET, an OpenSource project to replace CPUGrab.exe on systems that support .NET (Windows 98+).
- Start Sim Copter
- If you see a Black Screen, Press the Enter/Return key
This took me altogether too much time to figure out. Other options could have included XP Mode from microsoft, but I'm hesitant to go with that solution. If I de-couple the VM from an MS Hypervisor I can take it somewhere else if the need arises.