Basilisk II
a free Mac emulator
review by Graeme Bennett
Last updated Mar. 18, 2001 at 3:30 AM PST
Mar. 18: There has now been a manual written for Basilisk II. It is offered as an Adobe PDF (Portable Document Format) document on a "shareware" basis (you like, you send US$20) at: http://www.kearney.net/~mhoffman/basiliskII/manual/BasiliskII_Windows_Manual.exe
Feb. 16: A version of Basilisk II based on a speedy "Just in Time (JIT) compiler is now available in Linux (glibc2, RPM) and experimental Windows (ZIP) versions. See http://gwenole.beauchesne.online.fr/basilisk2/ for details. Based on a set of benchmark tests of Mac emulators running on Windows and Linux, it is by far the fastest Mac emulator currently available for PCs. We found it less stable than build 142 (listed below), however.
Jan. 22: Build 142, the latest version of Basilisk II for Windows NT/2000, is now available at http://gamma.nic.fi/~lpesonen/BasiliskII/. Most functions also work under Windows 95, 98 and Me. This is the version of the program we currently use and recommend.
Versions released since Sept. 2000 have added some key new features.
New in Build 142: substantial (some would say massive!) performance improvements, particularly under Windows 98SE and Me. Performance gains of up to 5x are being touted by testers on Delphi.
New in build 141: the ability to use the Windows Internet connection via a routing option that performs network address translation. This network option is substantially faster than that of previous releases. A read me file details other changes. Previously, version 138 included a redesigned GUI that fit better on a 640x480 screen (the readme file incorrectly said that it was designed to fit on an 800x600 screen). Another neat new feature is its identifier that says which ROMs support AppleTalk. The Quadra 700/900 ROM, for example, is characterized as "The worst known 1MB ROM." It, like some other ROMs (e.g., the one from the Mac LC), doesn't support AppleTalk. We had better luck with a 1MB ROM image from a Quadra 605 or LC/Performa 475/575. In addition to AppleTalk and Internet support, this ROM even gives you the famous Quadra startup sound when the emulator is launched. :-)
Free? Yes, but....
Basilisk II is a Mac emulator for Amiga, BeOS,
Linux and Windows 9x/NT that has been released as "Open Source." In other words,
it's freely available, and people have ported it to platforms other than that for which
the author, Christian Bauer, originally wrote it.
There is, however a catch. Because this emulator requires the use of copyrighted Mac ROM code, you have to find a 68030 or 040-based Mac and run a program (supplied, at least in the Windows version we tested) that downloads its ROM image onto a disk. If you're doing this, we'd recommend going for a ROM image from a Quadra 900, or another model with a 1MB ROM. Yes, it's probably not something that Apple's lawyers are too happy about, but legally, you are supposed to own the Mac ROM you make use of.
We've found that the 32-bit clean 1MB ROM from a Quadra solves a problem that many Basilisk users have noticed: With some ROM versions, the emulator doesn't preserve EtherTalk settings after the emulator is rebooted. With this ROM, however, it works as expected.
Fortunately, extracting a ROM image from a Mac is by far the most complicated part of the setup procedure. The rest of the process involves either finding a pre-existing Mac hard-disk image (Apple distributes versions are recent as 7.5.3 on its web site; we found several other releases by searching the web with Altavista), or making a mock hard disk image on your hard drive and booting from a Mac OS CD (or a set of suitable floppy disks if you're a masochist) and installing the OS onto the drive. Then, away you go, with a color Mac that is pleasantly fast on any of today's speedier Pentium- or Pentium II/III class machines. In our tests of a Celeron clocked at 450, Basilisk II is subjectively as fast, if not faster, than any pre-G3 era Mac in most tasks.
OS Compatibility
In previous versions of Basilisk II, we found systems 7.5.5 through 7.6.1 to be the best OS versions to run. System 8
ran, but
the Finder crashed when file copies were attempted. (Replacing the Finder with the one from
System 7.6.1 provided a workaround.) Build 100, released in Nov. 1999, fixed
this problem, and, in the Windows compatible version, improved the integration
of the Mac and Windows operating systems by providing access to your Windows
drives directly from the Mac desktop. That build also improved the emulation by
providing basic 68040 emulation, which, when used with a supported Mac operating
system version, allows software such as Netscape 4.08, to be installed.
Subsequent updates (build 115
added Windows 2000 compatibility) -- further improved compatibility and performance. It
should be mentioned that the 68040 emulation option, selected from the
graphical setup page that allows the easy configuration of Basilisk II's many
options, continue to cause some screen display anomalies that disappeared when we reverted
to 68030 emulation. Fortunately, Netscape, once installed, continues to run in
this mode.
Application compatibility is very good, within the limitations of its 68020/030/040 emulation. Recent Basilisk II updates have added support for color, CD-ROM, Ethernet and FPU support. Sound is supported in a limited fashion -- enough to allow QuickTime soundtracks, Windowshade "swish" sound effects, speech synthesis (courtesy of MacinTalk II) and system beep sounds to play.
Corel WordPerfect Enhancement Pack 3.5, a freely downloadable and fully functional version of a very nice word processing package for the Mac, runs like a charm, with screen redraw speeds comparable to a typical Windows word processing program. Photoshop and its many plug-ins ran without difficulties, albeit at speeds reduced from those one might obtain from the Win32 native implementation of this computation-intensive app. (See the benchmarks below for details.) Although Basilisk II provides basic Floating Point Unit support, the author cautions that FPU support is still a little buggy and recommends trying a freely available program called SoftwareFPU as well. Similarly, if you need to install a program that insists on running on, say, a 68040, instead of the 020 or, with 32-bit clean ROMs, the 030 or 040 processor Basilisk's emulation feigns, a Shareware program called Pseud040 will do the trick without causing the screen display disturbances we encountered using Basilisk II's built-in '040 emulation option. We used it, for example, to get the Netscape Communicator 4.08 installer to run successfully. Pseud040 and FPU support are also required to get "Macintalk" speech synthesis running and the combo seems to make QuickTime 4 work as well as QuickTime 3 does without these programs.
Performance tests on Celeron 450, 128MB of RAM:
Boot Mac OS 7.6.1, including standard extensions and control panels. <10
seconds
Switching back and forth between Windows/Mac < 0.5 sec.
Launch Photoshop 3.05, with Kai's Power Tools and a number of other third-party plug-ins.
<11 seconds.
Launch Netscape Navigator 4.08. <11 seconds.
Netscape? Yes! With MacTCP installed and configured, Ethernet
or PPP dialup connections to the Internet are possible. Basilisk II for Windows supports
the Internet, AppleTalk and other networking functions and is, as far as we know,
currently the only Mac emulation solution for the PC that can do so. We also installed and
used Internet Explorer 4.0 for the Mac on our Windows machine. This is really handy for
web page authors, as it make it very easy for a Windows-based developer to see how the
page looks to the Mac community.
Although Basilisk II cannot run Mac OS9 (which runs on PowerPC-based Macs only), it can access Apple's Internet-based iDisk, designed for users of that OS. Apple iDisk support requires Open Transport 1.1.2 or later and AppleShare 3.8.3, plus setup as described here.
Networking Tip: on some machines connected to a network, you may have to change the manually assigned IP address to get TCP/IP to work via Open Transport (68030 or 040 emulation) or MacTCP (the 68020 default). We found that setting the last number of the IP address to "11" (as in xxx.xxx.xxx.11) worked when addresses could not be automatically assigned.
Another useful application of Basilisk is found its ability to access EtherTalk networks and print to AppleTalk networked printers. We were able to share files with Mac users, print to Apple LaserWriters and even a PC printer -- a Hewlett Packard DeskJet -- connected to our emulated Macintosh. We used the PowerPrint driver Burnaby, BC-based Infowave; however, there are numerous other free and commercially available PC printer drivers for the Mac, including "Chucks Universal Printer Drivers," which supports a number of popular inkjet, laser and dot-matrix printers.
The differences between Mac and PC hardware have resulted in some inevitable quirks. We found it most useful to set Basilisk's Mac serial port emulation as follows: Modem Port: LPT1. This allowed the use of a parallel printer to be accessed via the Mac's Modem port without disabling AppleTalk. Some users report that setting "Log Serial Port Commands ON" in the Debug panel can solve startup freezes and modem problems, too.
Of course, the Mac OS is not without its oddities, as well. Apple, around the time that system 7.6 came out, transitioned its networking architecture to a new system it called Open Transport. The company developed some of its MacOS releases of the time to automatically switch on OT and disable "classic networking" on certain machines -- a determination, it turns out, that was based on the CPU in the machine. Thus, if you enable 68030 emulation and FPU support in Basilisk II's graphical user interface control panel, it will turn off and hide the Mac's Network and MacTCP control panels. Thus, setting Basilisk II to '020 mode is the easiest way to ensure access to classic (MacTCP) networking. (An Apple program called Network Software Selector is also available that will let you switch between classic and OT networking. See http://help.ibm.net/dialers/mac/misc/network1.html for details.)
Note that the Quadra ROM we recommend takes quite a bit longer at the initial, pre-boot, blank screen than some of the other ROM images out there, but give it 15 seconds or so; it will start. On the Windows platform, we found Basilisk II in 68020 emulation mode to be the easiest version to configure for EtherTalk networking. The 030 and 040 emulations introduce a bit of complexity into the mix by allowing -- indeed, forcing -- Open Transport to run when in 68030 or 040 mode. However, if you prefer Open Transport to the older MacTCP networking, it can be made to work. We recommend using System 7.6 or newer for best results.
One interesting aspect of the emulation is the emulated Mac's ability to access a web server running simultaneously on the "Windows side" of the PC. After installing and configuring a Windows web server, just type the PC's IP address (you can find this by typing "IPCONFIG" into a DOS box) into the Mac's web browser and it shows up on the Mac side -- neat! We found it useful to have a backup of the Mac system drive handy -- you're likely to nuke the system a few times during initial configuration and testing.
Other complaints? Sure, there are a few. There's currently no support for alert sounds other than the basic system beep sound, and playing QuickTime MIDI or sound files occasionally locks up the emulator, requiring an Alt-F4 exit back to Windows. (Setting the screen to use the DirectX display driver and 8-bit colour seems to fix this problem.) We also found that attempting to enable File Sharing on a machine running Basilisk sometimes resulted in crashes. Audio CD support is, according to the author, provided only on machines running Windows NT, although we managed to get the AppleCD Audio Player from System 7.6 to play an audio CD successfully on a LaCie SCSI CD-recorder, while running Basilisk II under Windows 98. As well, non-Mac ISO9660 and Joliet CD-ROM discs can't currently be read with the supplied CD driver (although the CD-ROM driver supplied with Mac OS 7.6 makes them visible, at least.) We also had no luck at reading CDRW discs, even after adding Adaptec's UDF Reader software.
FPU performance, whether through the program's built-in emulation or via Software FPU, was the weakest area of performance, as these benchmarks show.
Basilisk II Performance tests (not yet updated for Build 142) Test platform: Pentium II/300, 64MB RAM
Benchmark | Basilisk - Using program's FPU support | Basilisk - Using PseudoFPU support | Native Win32 |
Photoshop 3.0.5 | 38192KB RAM allocated, 5x7 RGB file at 300 dpi. (9.01MB file) | 38192KB RAM allocated, 5x7 RGB file at 300 dpi. (9.01MB file) | 38192KB RAM allocated, 5x7 RGB file at 300 dpi. (9.01MB file) |
Clouds filter | 39 seconds (54 seconds with 8192K allocated) | 35 seconds | Clouds filter: 3 seconds |
Gaussian Blur (1.0 pixel) | 78 seconds (94 seconds with 8192K allocated) | 75 seconds | 2.5 seconds |
Convert to CMYK: | 122 seconds (167 seconds with 8192K allocated) | 122 seconds | 4 seconds |
Component | Build 141 (vs. Mac Plus) | Build 142 (vs. Mac Plus) |
Memory | 72.12x | 161.61x |
Processor | 30.69x | 52.30x |
Integer Math | 96.46x | 143.74x |
Complex Functions | 650.93x | 817.03x |
Floating Point (non-FPU) | 278.81x | 397.00x |
Video | 6.52x | 8.96x |
Conclusion
Overall, we are blown away by how fast, full-featured and
stable Basilisk II is, especially when compared to its commercially available
competitors. It's worth a little Mac ROM hunting.
Table of Comparative Features | Basilisk II | Microcode Solutions Fusion
3.0 (now free at www.emulators.com) |
Emulators Inc. SoftMac 2000 |
Boots Mac OS 8 | Yes (build 100 or later) | Yes | Yes (However, this feature was not provided in previous releases) |
Boots from within Windows | Yes | Yes (However, it opens in a "DOS box") | Yes |
Supports Sound | Yes* | Yes* | Yes* |
Supports Ethernet networking and Internet | Yes (build 141 and later include a built-in NAT function, allowing you to use the native Windows TCP/IP connection, for improved performance.) | Dial-up only (SCSI>Ethernet support is claimed, but didn't work in our tests) | No |
Multiple hard drive images mounted | Yes, including PC drives | Yes | Yes (previous releases required floppy to be disabled) |
Supports Classic (B&W) emulation | Yes (not supported on Win32, Amiga, BeOS) | No | Yes (very quickly, too!) |
Requires hardware ROMs | No. Uses ROM image. | No. Uses ROM image. | No (but the Gemulator ROM card used by previous versions is required* for Gemulator Pro 6.1 and optionally supported under SoftMac.) |
*limited support.
For more details on Basilisk II, see http://basilisk2.cjb.net/.
An easy installer that puts all the files in their correct places is at http://biisetup.cjb.net/
A good source of utilities for those attempting Mac emulation is: http://www.geocities.com/SiliconValley/Bit/4811/EmulateMac.htm#Utils
A list of Macintosh software titles found to be compatible is available in our Basilisk II software compatibility list.
Thanks to the contributors at the Delphi Basilisk II forum ( http://www.delphi.com/basilisk2/) for their suggestions and improvements to this article.
Send your comments to Graeme@BennettArts.com
Page design by Bennett Arts Ltd.