According to Hoyle...
Running Classic on Leopard
[ Part I | Part II | Part III ]
by Jonathan Hoyle
jonhoyle@mac.com
macCompanion
January 2008
http://www.jonhoyle.com
Last month we investigated three solutions
to running Classic applications on
Mac OS X 10.5 Leopard:
SheepShaver,
Basilisk &
Mini vMac. All three are free and
cross-platform, running on
Mac OS X,
Windows and even
Linux. Of these three, only SheepShaver emulates a
PowerPC-based Macintosh, whilst the other two emulate a
68K Mac. Since it is the unusual
Classic application which still supports 68K,
SheepShaver remains the most important of the three we discussed. Our review detailed usability,
robustness and installation details. We also started examining performance of these emulators, concluding that
Power Mac users are best served by SheepShaver, while Intel users will find Basilisk's performance
far superior.
This month, we continue by exploring ways to improve performance in SheepShaver &
Basilisk, and then consider some other less commonly known
Classic Macintosh emulators, including:
Mac-on-Mac,
PearPC,
Executor and
SoftMac.
Improving SheepShaver & Basilisk Performance
When we ended last month's examination of SheepShaver,
we discovered that we obtained quite acceptable performance levels on PowerPC-based Macs (under
some circumstances, surpassing even Apple's Classic Environment), but found it to be tremendously poor on
Intel Macs. The reasons are
understandable considering that SheepShaver's
G4 emulator is a simple "pass-through" on
Power Macintoshes, but involve true emulation on Intels. This month, we continue by examining preference
settings which can be used to substantially improve SheepShaver performance on Intel-based Macs.
For our tests, we have been using the Classic application
Speedometer 4.0.2,
which we can measure these four areas: CPU, Graphics, Disk and Math, each value normalized to 1.0 =
Quadra 605. Speedometer
also allows you to run these same tests under 68K emulation to see the 68K performance. Since Graphics
and Disk performance are essentially the same across 68K and PowerPC, we will not distinguish between
them for those tests. Also, since the CPU and Math scores tend to be of highest importance for emulation tests,
we will continue to use the convention of a slash-separated pair of colored numbers
(blue for CPU, red for Graphics) to represent these,
eg: 38.973/1516.224 for
the screenshot below.
Running these tests several times yields varying numbers, as it is highly dependent
upon other background activity on your Mac. To average these differences out, we will use Speedometer's
facility to average over 10 tests, and use only two significant digits.
On a
Dual 2.0 GHz Power Macintosh G5,
SheepShaver
scored 35/1700 for PPC
and 3.2/115 for
68K. This same test ran on the much faster
Dual 2.6 GHz Duo Core Xeon Mac Pro,
yielding
only 6.0/1100 for
PPC and a
lowly 0.6/15 on
68K. Graphics tests also demonstrated a similar speed penalty, dropping from the G5's score of
around 35 down to an
embarrassing 3.2 on Intel. Is there any way to
improve the dismal performance on Mac-Intels?
Fortunately, yes. In SheepShaverGUI, there is a JIT Compiler tab which
is a definite answer to prayer. On Intel systems, there is a checkbox titled Enable JIT Compiler (this is
not available on PowerPC-hosted version). Turn this checkbox ON and restart SheepShaver.
CPU performance is improved nearly eightfold: going
from 6.0/1100 to 45/2850,
surpassing the G5's numbers. 68K improvements were even greater, jumping an order of magnitude:
from 0.6/15 to 6.0/154.
Finally, the faster Mac Pro is outperforming the G5.
Basilisk also has a JIT Compiler option, which will enhance its
performance. On the G5, Basilisk
scored 3.0/60,
slower than SheepShaver in 68K mode. Even with JIT left OFF, Basilisk ran significantly faster on Intel, weighing in at
about 13/190. Turning
JIT ON though, Basilisk really shines, with a score
of 45/875. Below
is a list of the relative comparisons in Speedometer tests, with the highest test results displayed in
red:
From these results, it is very clear that
the JIT setting should always be on for Intel users. Why it is off by default
on the Macintosh is a bit of a mystery, especially when considering that it is
on by default on the Windows versions of both SheepShaver and Basilisk.
One final point: you may be curious as to
the meaning of SheepShaverGUI's Enable
built-in 68k DR Emulator (EXPERIMENTAL) checkbox. It is apparently a 68K Dynamic Recompiler,
but how it is used is unclear to me.
Mac OS 9 has its own
68K emulator which runs as part of the
operating system, so the need for another one by SheepShaver remains mysterious. In any case,
it had no impact on any of the performance tests I made.
Other Classic Emulators
Although we spent a great deal of time
last month on SheepShaver and Basilisk (and to a lesser extent Mini vMac), there
are other emulators available which can run Classic Macintosh applications, each of which is free. What
are they, and how well do these operate in Leopard (if at all)? That is the topic for this section of
this column. While the aforementioned "Big Three" run on both PowerPC and Intel Macs,
that is not true with the ones we will examine next. We will first turn our attention to PowerPC emulation.
Mac-on-Linux is an
initiative to run Macintosh applications on PowerPC-based Linux operating systems (such as
Yellow Dog,
SUSE, etc.). Since it requires a PowerPC-based
machine, Mac-on-Linux is more of a virtual machine than it is a true emulator. Not only
can Mac-on-Linux can host the Classic Mac operating system
(8.6 through
9.2.2), but it also runs
Mac OS X 10,
Jaguar,
Panther &
Tiger flavors!
"But Leopard is not
Linux, so how does this help me?" you are no doubt asking. You are correct that Mac-on-Linux
cannot run on Mac OS X, but Mac OS X does come with an optional
BSD installation called
X11
that allows you to run Linux-like applications. A separate branch of the Mac-on-Linux project
is a port to Mac OS X's X11 environment, and this is called the
Mac-on-Mac project.
Mac-on-Mac allows a Mac OS X user on a Power Mac to run another
operating system within a window, including Classic, Mac OS X and PPC-based Linuxes.
Below is a screenshot of a Mac-on-Mac window with Mac OS 9 running inside:
Unfortunately, active development of Mac-on-Mac (as well
as Mac-on-Linux) was ceased in 2005 when Apple announced its
transition to Intel processors. The
last version of Mac-on-Mac (version 0.2.1 from 7/05) is not compatible with the Power Mac G5, nor will it
run under Mac OS X 10.4 Tiger or later. So Mac-on-Mac is not a viable option for the Leopard user. Since
Power Mac users running Panther and earlier already have Classic, Mac-on-Mac's greatest potential appears
to be lost.
It is worth mentioning that since Mac-on-Mac is an
open source project, any Mac programmer with
sufficient time and interest may wish to jump in and pick up this project where it was left off. Non-Mac
programmers with extra money and desire, may even choose to bribe developers to work on this project as well. You
can download the project
here.
Classic Emulators for Intel
Although Apple's Intel transition may have
killed off the Mac-on-Mac emulator, it opened the door to a large number of Intel-based emulators
already available for Windows users.
With virtualization software such as
Parallels and
VMWare, these Windows applications may now be able to run
on your Intel Mac desktop. Unfortunately, emulators have the habit of exploiting even the smallest
incompatibilities in virtualization software. Knowing this, I began investigating Classic
emulators currently available on
Windows XP, and tested to see how they
ran on a Mac Pro running
Parallels Desktop 3.
Knowing that SheepShaver and Basilisk were available for
Windows as well as the Mac, I began with there. I expected only a small differential in performance
between the Mac and Windows versions to account for differences between compilers. Imagine my surprise
when the Windows version of SheepShaver outperformed the Mac version in CPU scoring by nearly
quadruple!
Turning on the Enable JIT Compiler checkbox setting (ON
by default in Windows, OFF by default on Mac OS X), the Windows version of
SheepShaver reached an outstanding CPU-PPC score
of 164,
eclipsing the Mac version's score
of 45. With
JIT turned OFF, Windows did even better relatively, beating the Mac score
by ~27 to ~6.
The same was true of most other tests, including Math, Graphics and 68K tests. The
only test which the Mac version scored better (albeit narrowly) than the Windows
version was the Math-PPC / JIT On test. Disk tests, unsurprisingly, scored the same across
both versions. Basilisk had similar results.
On almost all tests, the Windows version
outperformed the Mac version quite handily, on both SheepShaver and Basilisk. Interestingly,
when the JIT is turned ON, Basilisk is just as fast in 68K emulation as SheepShaver is with
G4 emulation. Below are the figures comparing
the Mac & PC, with 1.0 = Quadra 605, best score in
red.
In exchange for the better performance
though, these Windows versions have some compatibility issues. Occasionally,
the Graphics test would freeze on the Windows version of SheepShaver when the JIT is
turned ON. Basilisk for Windows had even more problems, crashing quite
frequently when booting under
Mac OS 8.1, although having fewer problems in
System 7.5.5. Basilisk's
Disk tests on Windows frequently returned negative numbers as well.
PearPC
As is the case on the Macintosh, we find
that Mac emulators available for Windows are predominantly 68K-based. One of
the few exceptions is
PearPC, which emulates a
"sort of G4, including Altivec". Like with many other emulators, it is open source
(GPL) and thus free to download.
However, unlike many other emulators, no
ROM file is needed! Moreover, it is written to run
non-Mac operating systems as well, including
Mandrake Linux PPC,
AIX and
NetBSD for PPC. You can
visit PearPC's web site for more detailed information.
Unfortunately, Apple's announced
transition to Intel appears to have taken the wind out of this emulator's sail, as the last update to
PearPC was in December 2005. This is unfortunate, as PearPC's current state makes it
incompatible for our purposes. First of all, it does not run any version of Mac OS prior to
10.1, and the web site says only 10.3
Panther. Those wishing to install Tiger or Leopard need to search the newsgroups for hints from those
who have tinkered with it, as there have been no updates on the web site for two years. PearPC's
inability to run Mac OS 9 or earlier appears to be related to its missing ROMs. Classic Mac OS relied
heavily upon these ROMs, and only operating systems that can be programmed around them are supported.
Even the Classic Environment in Mac OS X freezes when attempting to use it.
The lack of updates for PearPC has created problems for even the
operating systems it is designed to work with. While trying to install Panther on PearPC in
Parallels on a Mac Pro, installation fails:
Although I was unsuccessful in running this emulator on my Mac, I have
read the problem reports of those who have succeeded in installing PearPC on their Windows
boxes. The chief complaint is that it is horribly slow, running at (according to some estimates) 1/500th
the speed of the host system. Ouch.
With PearPC being open sourced, there is always the possibility
of someone taking a branch to update it to run Classic. Even better would be for that someone to port
it to the Mac so that it Parallels is not needed. However, there has been no sign of such activity
as of this writing.
Executor
Executor by
Ardi is one of the
oldest Mac emulators still available, going back over 15 years. Until very recently, Executor was a
commercial software product, but as of this past summer, Ardi Founder Clifford Matthews has now made it
freely available. After downloading the program, you merely need to enter the serial number 99991004
and the authentication key n9rk57f369byp, as provided by Matthews. For more details about Executor,
visit its web site.
Given its age, it should come as no surprise to you that Executor is a
68K emulator. One of the features that sets it apart from the others is its emulation philosophy. Rather
than create an abstraction of the Mac hardware, Executor reverse engineers the Mac operating system
so that applications run within the OS emulation. For this reason, neither ROMs nor System Software are
required to use Executor (the only Mac emulator I am aware of for which this is true). I was able to
download Executor and launch it immediately.
It is also very fast. Executor comes with prepackaged with Speedometer 3.23
(it has an incompatibility with version 4), so I ran this version of Speedometer on both Executor and
Basilisk to see how they compare. Executor proved to be 7 times faster in both CPU and Graphics,
and a whopping 14 times faster in Math computations:
Even with all of Basilisk's performance checkboxes turned on, Executor still
outperforms it on the Mac (although it is slower than the Windows version of Basilisk).
Unfortunately, Executor is extremely old, and showing its signs of age. It emulates only
System 7.0 and that incompletely. By default, it is configured to emulate
System 6.0.7. This is far, far earlier a version of the System Software
than would be reasonably expected for a Classic replacement. Even Mini vMac's emulation of a
Mac Plus can fully support System 7.5.5. Executor was
last updated in 2002, and Ardi has announced that no further development will be forthcoming. Despite its speed and not
requiring ROMs nor System Software, it's hard to imagine Executor fulfilling modern needs.
SoftMac
SoftMac, and its cousin
Fusion PC, are a pair of emulators available
from Emulators, Inc., a company which has been selling emulators for
some years now, including those for Macintosh,
8-bit Atari and the
Atari ST. SoftMac is a 68K emulator designed
to operate with
Mac II,
Mac Classic or
Quadra ROMs.
Version 8.2 was released at the
end of 2002, with rumors of a PowerPC version in development. Unfortunately, no such version was
ever released, and Emulators, Inc. announced that
the project was being discontinued.
Fast forward to June 2007, and Emulators, Inc. had suddenly
revived the initiative and
released a beta version of SoftMac version 9. For more information on this, visit
Emulation's Beta page.
The preference dialogs are fairly straight forward on SoftMac, allowing for flexible configuration. ROMs
may be accessed either by file (similar to Basilisk and Mini vMac) or through a special card that
is designed to accept physical Macintosh ROMs. It's hard to imagine why anyone would prefer this latter route,
but SoftMac provides it anyway.
Unfortunately, SoftMac never gets past the startup screen on the Mac Pro,
suggesting that there is a compatibility problem against the current Mac Pros running Parallels. Although this
problem dramatically shortens my ability to review this product, it is worth remembering that it is still in
beta, and SoftMac may yet be made to run on Intel-based Macs. Furthermore, the renewed interest in
SoftMac may inspire Emulators, Inc. to complete their PowerPC version, finally giving
SheepShaver a little competition.
Conclusion
Each of the emulators we have investigated this month are inferior to both SheepShaver
and Basilisk. Since most Classic applications still in existence today are PowerPC-based, SheepShaver
remains the most feasible option for Classic emulation. Power Mac users on Leopard will find SheepShaver's
performance quite acceptable. Intel-based Mac users will want to turn ON the JIT compiler to
significantly improve performance. Those who are running Parallels Desktop may find even better performance
from the Windows version of SheepShaver. Likewise, Basilisk remains the clear choice if your critical
Classic application is a
Fat Binary. However, many of the projects we discussed this
month are open source, so that interested parties may choose to complete them to run under Leopard. Those that
are commercial, such as SoftMac, may improve as development continues. In any case, story is not over yet.
Coming Up: The final chapter on Classic solutions for Mac OS X
10.5 Leopard. See you in 30!
[ Part I | Part II | Part III ]
To see a list of all the
According to Hoyle columns, visit: http://www.jonhoyle.com/maccompanion
http://www.maccompanion.com/macc/archives/January2008/Columns/AccordingtoHoyle.htm