Virtual PC Review


Virtual PC, Connectix's new PC emulator for Macintoshes, is just hitting the streets. I've been lucky enough to receive a review copy, so here's a report on the release version of Connectix's "killer app."

Let's start with the basics. Virtual PC emulates the hardware of an MMX-equipped Pentium PC, a Sound Blaster Pro, and a high-end S3 video card. Unlike competing emulators, Virtual PC is designed to emulate the entire hardware of the PC, so you can install operating systems other than Windows without problems. Virtual PC can run Windows NT, OS/2, and NeXT OpenStep; no other PC emulator for Macs can claim this.

Installing Virtual PC was a breeze. The box contains two CDs--one with a full Virtual PC installer application, and another with the Windows 95 installer CDs. (A separate version with Windows 3.11 is also available.) Running the Virtual PC installer copies a fully preinstalled version of Windows 95 onto your hard disk, so you will probably never need to use your Windows 95 CD.

The hardware requirements for Virtual PC with Windows 95 are pretty steep--a PowerPC 603e/180 (equivalent to a Performa 6400) or any PowerPC 604 chip are recommended, along with 24MB of physical RAM and 300MB of hard disk space. The Windows 3.11 version claims to work well with less processor power, requiring any PowerPC-based Macintosh that runs at 100MHz or greater, with 24MB of RAM and 200MB of free hard disk space. As far as I could tell, this distinction is somewhat superficial--both Virtual PC bundles include the exact same emulator. If you are extremely patient, you could run Virtual PC on any PowerPC-based Macintosh.

Virtual PC's level of compatibility has been surprisingly high, given the speed with which it executes. Although a few "version 1.0" kinks still need to be worked out, almost everything I threw at Virtual PC ran, and quickly. Without further ado, let's examine The Tests. Our test system is a Power Computing 604e/200 using a 512K L2 cache, with 40MB of RAM, and 30MB allocated to Virtual PC.

Test One: Tomb Raider

This emulator was made for Tomb Raider. It runs flawlessly, and truly shows off Connectix's fine work. The frame rate was consistent and always seemed to stay at or above 20 frames per second. Not surprisingly, this is one of the tests that Connectix asked reviewers to run when determining Virtual PC's compatibility level.

Setup and installation for Tomb Raider was simple. I downloaded the demo version using the Macintosh Netscape client, then copied it directly into the PC hard disk using the Mac Finder. This is one of Virtual PC's most convenient features--you can work with the contents of the PC's virtual hard disks simply by double-clicking on them in the Finder. They will mount on the desktop alongside your hard disks, and you use them exactly like any other disk. Likewise, you can drag files from Windows 95 to the Macintosh with ease, and the Mac clipboard works in PC applications. The level of integration between Macintosh and Windows 95 is unprecedented.

[Correction: Apple's PC Compatibility cards offered a similar "double-click the HD container to browse contents" functionality; I wasn't aware of this previously. Also, a clarification: dragging files to the Macintosh environment requires that you use the Connectix File Sharing driver installed into Windows 95, and open up the corresponding Macintosh folder within Windows. You don't actually drag the file into the Macintosh environment and drop it into a Finder window. Another clarification is that copying from Windows in Virtual PC 1.0 will not paste into Mac apps, although the pasting from Macintosh into Windows works. This is set to be fixed shortly.]

Note that the detail level in Tomb Raider was set to "low" to improve frame rates. I honestly couldn't tell a difference in quality when set to "medium," but frame rates dropped slightly. When moved to "high" detail, the game became sluggish, although the light sourcing on the walls improved dramatically.

Test Two: X-Men, Children of the Atom

This was a much more difficult test for Virtual PC. I almost gave up on installing it at all, but with some detective-work I was able to make X-Men work beautifully. Once I got past the horrible PC-nightmare configuration stage, X-Men ran quite well. Probably my lack of PC experience is beginning to show.

The root of my problem lies in a PC utility called UNIVBE. This is a standard PC video driver, and gets installed along with X-Men. Whenever I ran the program, I would receive an error message from UNIVBE telling me that the game could not switch into 360x240 video mode. After trying to work around the problem, I eventually reinstalled the entire program with a different option that deactivated UNIVBE and instead used a generic (but blocky) video mode. Probably this sort of thing is a problem for real PC users too. Thankfully, once I got past this hurdle, the rest of the installation and setup was a breeze.

[Update: Connectix is looking into the problem. It's possible that the S3 video card doesn't support this mode.]

After reinstalling the program, X-Men ran beautifully. The frame rate wasn't quite as good as Tomb Raider, but that could most likely be attributed to the blocky video mode that X-Men reverts to if it can't use UNIVBE. The game itself ran great, at full speed, exactly like the arcade. The full-screen graphics quality and sound effects were stunning, for an emulator. It was, again, an impressive achievement on Connectix's part.

Test Three: NESticle

NESticle is an extremely popular Nintendo emulator for PCs. This test revealed a few limitations of Virtual PC, but still worked well. The most striking difficulty that I encountered was that Virtual PC currently has rather pressing problems with DirectX. Although I couldn't find a mention of the problem in Virtual PC's manuals or Read Me files, the Technical Notes included with the press copies mentions:

Virtual PC performance is reduced while running Windows 95 games that require Microsoft DirectX drivers. While Virtual PC is compatible with the latest DirectX drivers, the processor overhead of DirectX reduces VPC speed significantly. We are investigating solutions for a future update of VPC. Running non-DirectX Windows 95 software demonstrates the overhead of DirectX drivers.

From my experience, the DirectX slowdown was strikingly large. NESticle's Windows 95 version, which incorporates DirectX, was practically unplayable. The DOS version, which doesn't use DirectX, was totally playable and ran quite well. Although the graphics occasionally skipped a frame or two, it was excellent work for an emulator running inside an emulator.

[Update: Connectix acknowledges the problem and says that a DirectX fix is a top priority. However, a few readers wrote in to report that DirectX is sluggish even on many PCs as well, and some users have had better luck running NESticle in DOS mode on real PCs.]

At this time, I can't recommend Virtual PC for use with applications that require DirectX. I was lucky in that NESticle had a non-DirectX version. However, a handful of recent PC games don't have this option, and if you're hoping to play one of them, you're probably going to be disappointed. I expect that a patch will be coming soon.

Another small problem is that Virtual PC, out of the box, is not configured to use the mouse in DOS-based applications, and no clue of how to do so is mentioned in the manual or other documentation. NESticle can't do anything without mouse drivers, so I was unable to test it in DOS mode. I searched the hard drive for a mouse driver (MOUSE.COM or MOUSE.EXE) without luck. Therefore I was forced to run the DOS version of NESticle through Windows 95, which fixed the mouse problem but caused a noticable slowdown in performance (something which is also true on a real PC). I wouldn't be surprised if running it through DOS helped performance significantly.

[Update: Connectix has provided the necessary mouse driver software, and hopefully will make the necessary files available on their web page. The responsiveness and video speed of NESticle running through DOS was noticably superior. DOS performance was excellent after the mouse drivers were installed.]

Test Four: Netscape Navigator 4.0

As required by law, I've taken vanity screenshots of emulation.net's main page within Virtual PC to show the Internet functionality. Enjoy.

I used Netscape as a test of Virtual PC's functionality within the Windows 95 environment. It was surprisingly simple to configure PPP within the Windows environment, contrary to the rumors I've heard; a few configuration dialogs allowed me to set up my modem and get working on the Internet within minutes. (Unfortunately, a driver for my 56k US Robotics modem wasn't available in Windows 95, so I had to settle for 28.8 performance until I was able to download the updated drivers from the US Robotics home page.)

I got mostly positive results from Netscape 4.0. It was incredibly solid; not once was a PPP session dropped, and Netscape never experienced any crashes or weird behaviour. Netscape redraws were a little sluggish compared to the Macintosh version, but performance met my expectations the entire time. Downloading files in the background, though, sometimes caused Windows 95 to unexpectedly slow down and become unresponsive for short bursts. This could easily be a Windows or modem configuration problem, though. I have to admit that I'm still only intermediate at Windows configuration. All in all, maintaining an Internet connection isn't an easy task, and Virtual PC handled it with flying colors.

Test Five: OpenStep (Rhapsody Preview Release)

[Please note: this test was not performed by me. This report comes from a third party, Jeff Johnson.]

I successfully installed OpenStep 4.2 on Virtual PC 1.0 running on my PowerBook 3400c/240. To do this, I first created an empty 500 MB PC disk file (named "OpenStep" in the Mac Finder) from Windows 95 as if I were going to use it as the "D" drive. I then selected "Shut Down" from the Start menu and told it to restart in MS-DOS mode. When the DOS prompt came up, I inserted the OpenStep boot floppy, and changed two preferences in the Preferences dialog.

First I changed the Boot drive setting in the VPC preferences dialog to use the newly create OpenStep drive file. Then I set the CD-ROM mode to "Alternate Mode" so that the external CD-ROM drive I was using would be recognized by the dual EIDE/ATAPI driver on the "internal" IDE bus. (Hot-swapping the standard floppy and CD-ROM doesn't work. Use an external SCSI CD-ROM drive. VPC "pretends" that it's an ATAPI drive and uses it happily.) Then I clicked the Restart button. Since booting from floppy was enabled, the OpenStep floppy booted VPC. I proceeded with the installation as recommended in the OpenStep installation guide, making SURE to specify DUAL EIDE/ATAPI drivers when prompted to install NeXTStep drivers for the hard drive and CD-ROM drive. From that point on it was reasonably simple, if slow. (Hint: don't use a 2x CD-ROM drive like I did. That was the only unused CD-ROM drive in the house at the time.)

Make sure to specify the correct display size and bit depth for your monitor when configuring the system. When prompted to finish installing the basic OpenStep packages, make sure you do NOT interrupt the installation! The OpenStep package installer chokes if you try to put the basic system software on top of an existing incomplete installation. I made the mistake of canceling the installation process when I saw that all sorts of foreign languages were getting installed by default. I had to start all over again from the beginning. And prepare for a long wait. I'm sure that my CD-ROM's dismal speed contributed to the length of the installation, but it still took many hours to install everything, and several more for the OpenStep developer tools.

Several caveats: Display PostScript, the imaging system used in OpenStep, is very CPU intensive, so don't expect stellar GUI performance. I found that reducing the bit-depth of the selected display driver didn't really help performance, but reducing its size did. The 640 x 480 full-screen mode is noticeably slower than the standard 800 x 600 mode. Also, I have yet to get the network functions to work (probably because I was installing it on a network that lacked a NeXT configuration manager system). I simply bypass activating the network interface by hitting Control-C at the appropriate time during boot.

Overall performance is pretty sluggish. Win95 is much snappier (unsurprisingly--it's much simpler under the hood). On the other hand, I got OpenStep installed the same day I got Virtual PC, which is a nice contrast to MacWEEK editor Henry Bortmann's experience with a hardware PC. (Took him many days.) I would presume that lots more Level 2 cache and an even zippier CPU like Arthur will boost OpenStep's performance to reasonable levels.


So what results can we draw from all this testing?

Virtual PC is, first and foremost, a great emulator, and Connectix deserves my gratitude. They have pulled together an awesome team; the programmers of Speed Doubler, Gus, and the Apple DR 680x0 emulator collaborated to write a Dynamic Recompiling Pentium emulator that is blazingly fast. Coupled with fantastic video, sound and hardware drivers, they've made an emulator without equal. This is definitely the premiere PC emulator.

That being said, Virtual PC is not without its share of version 1.0 quirkiness. Their competition, Insignia's SoftWindows, has beat them to the punch with DirectX by offering native Macintosh DirectX drivers which claim to run at impressive speeds (although I've never seen them firsthand). However, SoftWindows is limited in too many other ways--no Sound Blaster support in DOS, weak support for foreign OSes, and terrible performance for games. For all of Insignia's efforts, SoftWindows just can't compare.

[Correction: SoftWindows 4 does support Sound Blaster, but only inside Windows.]

Virtual PC does require a lot of hardware power, though, and many users with 603s and slower 604s may feel a little left out. Connectix recommends lots of L2 cache; apparently getting a full megabyte of L2 cache improves performance dramatically in some applications. Unforunately, accelerated video cards are no help for Virtual PC; currently Connectix recommends using internal video, as a PCI-based video solution has to slow itself down to the speed of the PCI bus. On my 604e/200, with 512K of L2 cache and internal video, a rough performance estimate of Virtual PC would probably be around Pentium 100-class performance. Unfortunately, benchmark utilities aren't very useful for an emulator--numbers can vary widely, as benchmark utilities make several assumptions about the hardware of a computer that makes the benchmark return wildly varying and inaccurate results.

As Virtual PC matures, I'm convinced that the wrinkles that are left can be ironed out with a few software patches. Connectix has built a great reputation with RAM Doubler and Speed Doubler for fixing every bug until their products are rock-solid. I am sure that Virtual PC will not be an exception.

Virtual PC scores a 95%.


Send feedback to emulation.net.
Back to the PC page.
Visit my home page.