JonHoyle.com Mirror of MacCompanion
http://www.maccompanion.com/macc/archives/January2008/Columns/AccordingtoHoyle.htm

Resources

 

Consultants

Developers

Devotees

Downloads

"Foreign" Macs

Forums

Hearsay

Link Lists

Mac 3D

Macazines

Mac Jobs

MUG Shots

News

Radio

Reviews

Think Different

Training


Google

macCompanion

Internet





Evo Networks



Latest Joy of Tech!
Latest Joy of Tech!


3-Rivers Synergy Centre


Visit StepHouse Networks. Broadband DSL for Apple Users




 

According to Hoyle...

Running Classic on Leopard, Part II


[ 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