I have now been using Macs for almost 18 years. My first hands-onexperience with the Mac was in high school, during my junior year, whichbegan in 1986. The school had purchased 25 Mac SEs and five ImageWriterprinters and had them networked with LocalTalk. I spent hours in thecomputer lab, tinkering with them and learning how they ticked.
Play online thousands of old games Enjoy our 11676 games! Now I have kids, aged four and six. In addition to my own MacBook Pro and my wife’s PowerBook G4, we bought a clamshell iBook for the kids to play games on and run some of the educational software we have. My son, the six-year-old, loves to play video games, finding some that he enjoys on the Web as well as a few CD-ROM games.
I’ve used every operating system Apple has released for the Mac sincethat time, and, in the process, collected hundreds of programs,including many games, for these older systems. Most of these areshareware games, but they include a few classic commercial releases suchas Prince of Persia and the Carmen Sandiego series.
Now I have kids, aged four and six. In addition to my own MacBook Proand my wife’s PowerBook G4, we bought a clamshell iBook for the kids toplay games on and run some of the educational software we have. My son,the six-year-old, loves to play video games, finding some that he enjoyson the Web as well as a few CD-ROM games.
I’ve been meaning to get some of these up and running on the iBook forquite a while, but hadn’t gotten to it until recently. As I was doingso, I remembered how much joy I had experienced playing these games, andlamented the fact that I couldn’t play them on my MacBook Pro. Classicisn’t available for the Intel-based Macs. This actually became a realminor problem recently, as a client had some FileMaker 4 files that Ineeded to look at before converting them, and FileMaker 4 only runs inClassic.
But I’ve always been interested in hardware emulation, if for no otherreason than I needed first Virtual PC and now Parallels in order to testsoftware I’ve written with FileMaker and REALbasic on the Windowsplatform. I remembered a few programs out there that emulate old Macprocessors, and decided to check them out.
What Is Emulation?
Every computer has a central processor. This is the brain of thecomputer, where all of the computation takes place. In order for aprogram to work, it sends instructions to this processor. The art ofprogramming is the art of writing out instructions for the processor toperform. Actually, very few people actually write real instructions forthe processor. Instead, what they do is write the instructions in alanguage that can be translated to something the processor understands.This is what it means to compile a program. When a programmer writessoftware, usually a computer language such as C is used. A compiler thentranslates the instructions written in C into instructions that theprocessor can actually understand.
In order for a compiler to do this correctly, it has to know whatinstructions the processor understands. Every processor understands adifferent set of instructions. This is why when you compile a programfor the older PowerPC Macintosh computers; it won’t run, for instance,on Intel-based Windows machines. The instructions are meant for thePowerPC processors, and the Intel processors don’t understand thoseinstructions.
The easiest way to think of an emulator is as a real-time translator ofprocessor instructions. Take, for example, Virtual PC. This programallows Intel-based Windows software to run on PowerPC Macintoshcomputers. It does this by emulating the Intel processor, so thatwhenever an instruction for the Intel processor is received by theprogram, it translates that instruction into one or more equivalentPowerPC instructions.
Why Use Emulation?
Over the life of the Macintosh line of computers, three differentfamilies of processors have been used. First there was the 68K familyfrom Motorola, which was used during the first 10 years of the Mac.Then, in 1994, Apple switched to the PowerPC family, designed jointly byApple, Motorola, and IBM. Finally, most recently, Apple has again changedprocessors, this time to the Intel x86 line. If this trend continues, weshould see another processor switch some time around 2015 or so.
Modern Intel-based Macs come with an emulation technology calledRosetta, which enables the new computers to run Mac OS X–based PowerPCsoftware. However, Rosetta doesn’t enable the use of Classic software,just as Mac OS X on PowerPC didn’t allow the use of Intel-basedsoftware. In order to use an Intel Mac to run programs written forSystem 7 or a Mac Plus, you have to provide the computer with your ownemulation.
Fortunately, the open source community has filled the void left byApple. There are at least three open source projects out there that willallow you to run Classic software on an Intel Mac (as well as othersolutions for running Apple ][ or even Atari software). Getting itworking isn’t always easy, but I’ve spent the last few days working onit for myself, so I’ll share my experiences here.
Emulation Options
There are three primary programs I found for running old Mac software:SheepShaver, Basilisk II, and Mini vMac. I’m actually using all three fordifferent reasons, so I’ll take you through the process of setting eachof these up.
Although each of these programs allows the execution of older Macprograms, they each do so in different ways, but fortunately, all threehave versions that work on Intel Macs.
There is, however, a caveat regarding each of these programs. The Mac OSdoesn’t rely only on the processor to run. It also needs to have accessto a piece of hardware called the ROM, which contains machine-specificinstructions for each model of Macintosh. Fortunately, the informationon these ROM chips can be stored as a file that the emulators canaccess. Unfortunately, finding these ROM files online is oftendifficult, as they are protected by copyright law. Fortunately, if youhave an old Mac, there are programs which allow you to copy the ROM to afile that can be used by the emulators. Also, fortunately, I was able tofind the ROM files I needed online or on CDs that I never threw away.But it was an interesting process, especially in the case of SheepShaver.
SheepShaverwas the first program I checked out. This program emulates the PowerPCprocessor and versions of it are available for Windows, and Linux, aswell as PowerPC and Intel Macs. Running SheepShaver to emulate a PowerPCon a PowerPC may make sense if you want to run an OS other than Mac OS 9(it works with anything between 7.5.2 and 9.0.1).
I also installed Basilisk II,which emulates a 68K processor. This means it will run System 0.xthrough 8.1.
Finally, Mini vMacemulates a few of the early Macs, including the Mac 128K, 512K, 512Keand SE, each of which should run System 0.x through 7.5.3.
Games For Mac Computers
Why have two emulators of the 68K Macs? Because Basilisk II will emulateeither a classic Mac (the first compact Macs with 9-inch black-and-whitebuilt-in monitors) or what it calls the Mac II series (which includesMacs with the 68030 and 68040 processors, even though no Mac II ever hada 68040). The latter emulation will run System 7.6, which I wanted todo. But I also wanted to run System 6.0.8 (the last Mac OS before System7), and it’s easier for me to have a separate program for each OSversion.
Play Mac Games Online
To give you an idea of where our final destination will be, take a lookat this screenshot, which shows all three of these programs running onmy MacBook Pro, giving a single view of System 6.0.8, System 7.6, Mac OS8.6, and Mac OS X 10.4.7 (with Windows XP running in Parallels thrown infor good measure).
Please note that this is more of a journal than a tutorial. This is whatworked for me, and you may have to perform quite different steps to getthings working for yourself. However, there are some good places to gethelp if you need it, and I’ll point these out as we go along.
SheepShaver
Although it took me a few days to get it up and running, in hindsight,SheepShaver was the easiest of the three to install and configure. Thisis due to the fact that, while it requires a ROM file like the others,this ROM file can be obtained from Apple installation CDs or update diskimages available from their Web site.
Installing SheepShaver itself is a snap, simply downloadit from the Web site, unpack the archive, and drag it to where you wantit. Two applications are included with the download: SheepShaver itselfand an application for editing the settings file.
First, let me tell about the road to avoid. According to the SheepShaverWeb site, the software can work with a number of ROM files availablefrom Apple through installation CDs and updates. One listed as workingis the ROM image on the installation CD for 8.5. Since I have the 8.5installation CD, I tried this. After some helpful troubleshooting from acouple of people on the SheepShaverforums, itturns out that this particular ROM file won’t work on a MacBook Pro, andperhaps not on Intel Macs at all (although it may still work whenrunning SheepShaver on other platforms).
The path I did take was to get the Mac OS ROM Update 1.0from Apple’s Web site. Unfortunately, the ROM file is embedded withinthe installation package, which can’t be read on an Intel Mac. However,there is a classic program called TomeViewer (before Mac OS Xinstallation packages, software was often placed in archives calledtomes).
The downside here is a catch-22: You need to be able to run classicsoftware in order to use TomeViewer, which you want to use so you canrun classic software. In other words, you’re going to need anothermethod in order to extract the ROM file. I have an old PowerBook 1400.This I connected to my Ethernet network by sharing the connection on myMacBook Pro. I copied the ROM Update and the TomeViewer software to the1400, extracted the ROM file using TomeViewer, and copied the ROM fileback to the MacBook Pro. Files were shared between the two by using Mac OS X’s built-in FTP server on the MacBook Pro and Fetch 4 on the1400, which I also found an old copy of. For some reason, I couldn’t getAppleTalk file sharing to work between the two portables.
However you do it, you’re going to need to run TomeViewer under theclassic OS and get the update package to the machine it’s running under.The update package is delivered in a self-mounting image, which whendouble-clicked will mount a disk image on the desktop. Once it’smounted, launch TomeViewer and use it to open the Mac OS ROM Update Tomefile on the disk image. The only file in the tome archive is Mac OS ROM,so click it and choose Archive ‣ Expand from the menu bar. Get theexpanded file to your Intel Mac for use by SheepShaver.
There’s one more file that you need to download before actually usingSheepShaver: a keycodes file. Apparently this is used so that modernkeyboards can be used with the older operating systems. The easiest wayto get the keycodes file is with the Basilisk II download.In the archive is a file called BasiliskII_keycodes. You can store thisfile anywhere you like, although the most useful place would probably bein the same folder you have SheepShaver in.
Now that you have all the files necessary from the Internet, you need tocreate one for yourself. This is the disk image that will be used as thestartup drive for SheepShaver. For this you can use Disk Utility. Makesure the disk image you create has enough room for the OS and anyapplications you want to include. I made mine 500 MB in size, whichseems more than sufficient. After installing Mac OS 8.6 on the image, Istill had over 300 MB available, which leaves enough room for the fewapplications I wanted to have. Make sure the disk image is not encryptedand that the format allows reads and writes. You can’t use a sparseimage for this. Again, a handy place to keep this file is in the samefolder as SheepShaver. If the disk image gets mounted after beingcreated, be sure to unmount it before launching SheepShaver. You don’twant to have two operating systems attempting to access the drive imageat the same time.
Everything is now ready to begin configuring SheepShaver. Launch theSheepShaverGUI application. Most of the settings you see in it can beleft as their defaults, but you will want to point the software to theROM file, the keycodes file, and the disk image file. The GUI applicationwas written in Java, so the interface is far from the OS X Aqua look andfeel, but at least you can edit SheepShaver’s settings without using atext editor.
In the Volumes tab, click the Add button and navigate to the folder yourdisk image is in, select it, and click OK. You’ll also want to change theUnix Root. This is the path to a folder on your computer thatSheepShaver will grant access to within the emulated OS. It is notrecommended that this path be to the root level of your hard drive norto your home folder. I anticipate using a single folder for transferringfiles to all of the emulated OSes, so I created folder calledEmulatorTransfer in my home directory and set this as the Unix Root.
I should note, however, that I was never successful in transferringfiles with the shared folder. Instead, I ended up mounting Puzzle8 whilethe emulator was shut down, copying files to the disk image, unmountingit, and then launching SheepShaver. This was a simple enough workaroundfor me to not even troubleshoot why the shared folder didn’t work.
Click the Keyboard/Mouse tab and select Use Raw Keycodes, and then clickthe Browse button to select the BasiliskII_keycodes file.
Go to the Memory/Misc tab and click Browse to select your ROM file. Youcan also use this tab to set the memory available to the emulated OS. Iset mine to 64 MB.
If you want the emulated OS to have network access, select “slirp” forEthernet Interface in the Serial/Network tab. Finally, you can set therefresh rate and resolution of the window in the Graphics/Sound tab. Ifound that 15 Hz for the refresh rate and 1024×768 worked well on myMacBook Pro. Oddly, the resolution width and height are set separately,but another common resolution is 800×600.
You now need to install a classic Mac OS onto the disk image. I used aMac OS 8 install CD. Although on some platforms SheepShaver can run anyOS from 7.5.2 through 9.0.4, under Mac OS X, the earliest supported OSis 8.5. Note that if you have a 9.1 installation CD included with somecomputers that run OS X will not work. Hopefully someday the more modernOSes will be supported, perhaps even OS X versions, which may provehandy for software testing.
Games On Mac Free
To launch SheepShaver, you can either click Start within SheepShaverGUIor quit the GUI application and double-click SheepShaver itself. Sincethe disk image assigned is blank, SheepShaver automatically starts upoff of the CD. Double-clicking the Mac OS Install program on the CDbegins the installation process.
During installation you are given the opportunity to customize theprocess. Before clicking the Start button to begin the installation,click Customize. I deselected everything except for Mac OS 8.5, InternetAccess, and Mac OS Runtime for Java. For each of these, I kept therecommended installation.
(For those of you wondering why the drive image is named Puzzle, it’s aNarnia reference: my main hard drive is Aslan, and Puzzle the donkey inThe Last Battle, pretending to be Aslan. It’s Puzzle8 because thisparticular image will have Mac OS 8 on it.)
Once the installation has finished, restart the emulation andSheepShaver will boot with the installed OS. There are two things I didright away. Included in the 8.5 installation is Internet Explorer 4,which doesn’t seem to work at all with most modern Web sites. I used the9.1 CD I had to get Internet Explorer 5 onto the virtual machine so thatI could browse Web sites with it. It isn’t something I would commonlydo, but it would often be easier to get some of the public domainsoftware available onto the system.
Once IE 5 was installed, I used it to visit Apple’s Web site and get the 8.6 updateand installed it. From there I was able to install some of my favoriteoldgames.
Basilisk II
Whereas SheepShaver emulates the PowerPC processor, Basilisk II emulatesthe 68K processor. Because Basilisk II is open source (as isSheepShaver), there are a number of binary builds for Mac OS X. I usedthe version hosted in the same place I got SheepShaver from, which isofficially known as Basilisk II JIT. The “JIT” is short for “just intime,” and it attempts to increase the performance of Basilisk II byusing dynamic recompilation techniques to translate the 68K machine codeinto that understood by Intel processors. If that doesn’t make muchsense to you, don’t worry, as you don’t need to understand it to use thesoftware.
Just like SheepShaver, Basilisk II needs, in addition to the binaryexecutable,a ROM image, a disk image to boot from, and a source from which toinstall the operating system.
In Basilisk II, the ROM image must be an image from an actual computer.Again, these are difficult to find online because of copyright issues.If you have an old 68K Mac, you can use CopyROMto extract the ROM information to a file that you can then transfer tothe emulating computer. I don’t know if it will be available long, but Idid find a Quadra 650 ROM image available fordownload from one site. A careful Google search may turn up other locations.
Once you have the application and the ROM image, you can create a diskimage just like with SheepShaver by using Disk Utility. Again, for me a500 MB image seemed sufficient. After you have all of these files, youlaunch the GUI application, which is very similar to SheepShaver’s. Setthe disk image, Unix root, ROM image, and keycodes file, as well as anyother settings, such as the RAM and the Ethernet interface. I used a 7.6installation CD in this case, so I inserted it into the drive slot andlaunched Basilisk II by clicking Start in the GUI application. If youdon’t have an installation CD for System 7 through 8.1, you can accessSystem 7.5.3 from Apple for free.
Since the disk image was new and therefore blank, Basilisk II bootedfrom the CD-ROM. Unlike SheepShaver, although Basilisk II did see thedisk image, it needed to format it, probably because it was formatted asHFS+ rather than System 7’s older HFS format. After this was done, itwas simply a matter of running the installer. As with SheepShaver, Idisabled most of the options for the installation, keeping only Mac OS7.6, MacLinkPlus 8.1, and Open Transport PPP 1.0. That last one may nothave been necessary, but I wanted to make sure that Open Transport wasinstalled, and not remembering if it was by default, I do know that thePPP control panel (which I later disabled with Extensions Manager)requires the TCP/IP control panel rather than the older MacTCP controlpanel.
The installation took only a few minutes, and once it was finished, arestart booted off of the OS on the disk image.
Mini vMac
Since we’re moving backwards in Mac OS history, beginning with Mac OS8.6, then installing 7.6, our final emulator will let us work withSystem 6.0.8. The first version of System 6 was released in 1988, sowe’ll be going back in time 18 years in running it on the latest Machardware. We could actually go back to System 1 from 1984, but System 6is probably the best combination of running software built for the MacPlus/SE lines while retaining stability and features as much as possible.
Just like the other emulators covered, we need the executable, a ROMimage, a disk image, and the installation software. Mini vMachas been compiled to emulate either the Mac 128K, Mac Plus or the MacSE, and I used theSE version.
You can use CopyROM to extract the ROM image from your own SE if youhave one (although unless it has an Ethernet card, I don’t even want tothink about how to get such a file to your Intel Mac). I did find onefor download, although I can’t seem to find it again. I’m afraid on thisone, you’ll just need to check around with Google. Once you find one,you need to name it “vMac.ROM” and place it in the same directory as theMini vMac application.
The disk image format used by Mini vMac isn’t one that can be createdwith Disk Utility. However, the developer has made available an archiveof blank disk images that you can usein sizes ranging from 400 KB to 24 MB. Just like the ROM image, the diskimage should be placed in the same folder as the application.
Like System 7.5.3, Apple offers 6.0.8 as a free download.Once you have the system software disk images (thetwo 1.4 MB images should work fine, but you can also use the 800 KB sizedimages), a duplicated blank disk image, and have placed all three in theMini vMac folder, you can launch Mini vMac. It will automatically mountany images it finds in the same folder it is in. The duplicated blankimage should be named “disk1.dsk.” The installation disks can be mountedby dragging them to the Mini vMac window after you’ve launched the program.
Conclusion
Know that there are many options and roads that you could take to getclassic software on your Intel Mac. What I’ve covered here is simply thepath that I took. I find emulation very interesting and perhaps down theroad I’ll look into emulating an Apple ][ and an Atari 800 (the twoother early computers I used). There are hundreds of educationalprograms and games available for these older platforms, and many of themare available for free, having been releasedby the owners. If nothing else, using such emulation brings back a nicefeeling of nostalgia.
Copyright © 2006 Charles Ross, cross@atpm.com. CharlesRoss is a Certified FileMaker 7 Developer and the Chief TechnologyOfficer of Chivalry Software, LLC, a company specializing incustom database, web and automation software and publisher ofFunction Helper, aFileMaker calculation debugging tool. He was a contributing writerand the technical editor for The Book of FileMaker 6 and hascontributed to ISO FileMaker Magazine and Macworld in addition to his series onAppleScript for ATPM.
Also in This Series
- Give Alert Sounds a Little Personality · March 2012
- Create Your Own iPhone Ringtones · February 2012
- Create Your Own Homemade Audio Book · December 2011
- Upgrade to Lion Painlessly · August 2011
- Make the Most of TextEdit · July 2011
- Using the Free Disk Utility on Your Mac · May 2011
- Making Use of QuickTime X · March 2011
- Making the Most of What’s Already on Your Mac · February 2011
- Making the Most of What’s Already on Your Mac · January 2011