This article originally appeared in TidBITS on 2009-10-23 at 11:33 a.m.
The permanent URL for this article is: http://tidbits.com/article/10679
Include images: Off

SheepShaver Brings Classic Mac OS to Snow Leopard

by Matt Neuburg

In the run-up to the original release of Mac OS X, users were justifiably worried about compatibility. Mac OS X was a completely different operating system from its predecessors (Mac OS 9, Mac OS 8, System 7). Recent Mac OS 9 applications that had been "Carbonized" might run natively under Mac OS X, but older applications certainly would not. Were users doomed to lose access to all their older applications and documents?

To solve this problem, Apple tided its users over with Classic [1], an environment that emulated Mac OS 9 within Mac OS X. But this solution was fated not to last forever. Classic reached the end of its life in Mac OS X 10.4 Tiger; later versions of Mac OS X don't include Classic, and Classic doesn't run on Intel machines at all.

If, like me, you still have an older application or document that you'd occasionally like to open, what can you do? I actually have three different approaches. For certain applications that won't run properly even under Classic, I have several ancient (by computer standards) machines that can actually boot into Mac OS 9. I also have two PowerPC-based Macs that run Tiger and therefore have Classic. But all of that is a lot of trouble, because I'm not usually using those machines; I'm usually using my Intel-based Mac mini, and running Snow Leopard. But even there - even on an Intel machine, even under Snow Leopard - I can run an older Mac OS, enjoy my older applications, and read and edit my older documents, by using SheepShaver.

SheepShaver is a PowerPC emulator that runs under Mac OS X. It started life over 10 years ago as a commercial application for BeOS, but it is now open source and free, and is a clear testament to what the dedication of a few knowledgeable volunteers can accomplish. The Mac version of SheepShaver is a universal binary, so it runs natively on an Intel-based Mac. (Versions that run on Windows and Linux also exist.)

SheepShaver lets you run any older system between Mac OS 8.5 and Mac OS 9.0.4. (There is another program, BasiliskII, with a parallel history, that emulates a 68000 processor and lets you run System 7.5 through Mac OS 8.1, but I haven't tried it.) Unlike Apple's Classic environment, which integrated its windows with Mac OS X's windows, SheepShaver displays all the older system's windows inside its own single application window, as if SheepShaver were acting as the monitor of an old Mac; you should't find this at all inconvenient or disconcerting, especially if you've ever used screen sharing under Mac OS X.

I must warn you that setting up SheepShaver is not for the faint of heart, and giving detailed instructions is beyond the scope of this article. The best way to get started is through the resources at the E-Maculation Web site [2], which provides a particularly good step-by-step tutorial [3] (as well as forums where I have received very courteous and accurate technical advice). You'll need a generic (not hardware-specific) installation CD for the system you'd like to run (I used a Mac OS 9.0.4 installer that I had lying around). You'll also probably need a machine that can run Classic, in order to obtain a ROM file; I used the technique described in a different tutorial [4], where you download the Mac OS ROM Update disk image and use Apple's Tome Viewer utility to extract the ROM file from it.

With the ROM file in hand, properly named and located with respect to the SheepShaver application file, you launch SheepShaver and set up its preferences. There will need to be a disk image file onto which SheepShaver will install your older Mac OS, and from which it will subsequently boot; so, you create that file. And, in order to get your own software and documents into that disk image file, there must be a "shared" folder in the Mac OS X world that SheepShaver can see and project into the older Mac OS world; so, you create that folder and tell SheepShaver where it is. There are some other preferences to set up, but the tutorial tells you what settings to use.

Now you insert the Mac OS 9 (or whatever it is) installer CD into your computer and start up SheepShaver, telling it to boot from the installer CD. When this works, it's positively thrilling, since you are actually running from the installer CD in emulation mode inside SheepShaver, thus proving to yourself that SheepShaver can work on your machine. The disk image file that you made in the previous step has also mounted as an empty drive in the SheepShaver world. So, you now install the system onto that empty drive - that is, into the disk image file. Then you quit SheepShaver and start it up again. This time, though, you boot from the disk image file, which, if all has gone well, now contains a clean installation of the system.

All of that sounds rather daunting, and to be honest, it is. But once it's done, you'll be living in a plug-and-play world; you have to suffer all this suspense only once. It took me an entire morning to accomplish the steps described in the previous two paragraphs, as things kept going wrong and I repeatedly had to scrap the disk image file and try again. Eventually, however, I did get it right, and was rewarded at last by seeing Mac OS 9 boot under Snow Leopard, directly from my hard disk, without the Mac OS 9 installer CD being involved. I had done it! I was shaving sheep!

The rest is simple. Any time you start up SheepShaver, it boots your older Mac OS, and there you are. When you tell your older Mac OS to shut down, it does, and SheepShaver quits. That's all there is to it, really.

But what if you want to do any useful work? Mac OS 9 comes with a few applications, such as SimpleText, but to open your own applications and documents, you need to copy them into the disk image file. You do this in two steps. First, you move or copy them into the "shared" folder I mentioned earlier. Now you start up SheepShaver. The Mac desktop as presented by SheepShaver displays two "disks": the boot disk, which is really the disk image file, and the "Unix" disk, which is really the "shared" Mac OS X folder. So now you copy the applications and files from the "Unix" disk onto the boot disk, where they should operate properly.

I've made a screencast [5] showing that I can run such nostalgia-laced applications as MORE and HyperCard on my Snow Leopard machine. As you can see, SheepShaver starts up and boots Mac OS 9 in emulation in just a few seconds, and presto, I'm opening a MORE document or a HyperCard stack instantly. Look also at the "disks" at the upper right of the desktop: "baa" is really the disk image file, and "Unix" is really the "shared" folder.

I have not pressed SheepShaver to its limits, nor do I expect to. I haven't used it to access the Web or to input MIDI or to do any weird hardware-based stuff like that (even though SheepShaver is said to implement Ethernet networking, serial drivers, and even SCSI emulation). As long as I can occasionally access an old MORE document or HyperCard stack, I'm an extremely happy camper.

[1]: http://en.wikipedia.org/wiki/Classic_Environment
[2]: http://www.emaculation.com/doku.php/mac_emulation
[3]: http://www.emaculation.com/doku.php/sheepshaver_mac_os_x_setup
[4]: http://www.open.ou.nl/hsp/Engels/SheepShaver_Help/rom_file_how_to.html
[5]: http://db.tidbits.com/resources/2009-10/sheepshaver.mov