Standalone SheepShaver for OS X (add ROM and OS 8.5-9.0.4)
Posted: Sat Nov 19, 2011 4:34 pm
For the past few months I've been using an elaborate AppleScript application that I put together which contains SheepShaver, a virtual disk, ROM, and all other required files - all in a single application bundle. The whole system is in a single package and uses no files or programs outside the package. I thought it might be worthwhile to create a reduced version (that doesn't do a lot of things I need for my own purposes) which would be convenient for other people to use. So here it is: an AppleScript application bundle called "SheepShaver Wrapper" (rename it anything you like). It should make it easy to get started with SheepShaver.
This system uses the self-contained .sheepvm feature introduced by Mryd some time ago, and described in other threads. But it builds on that feature by enclosing the .sheepvm in a single application bundle that also contains the SheepShaver application and an AppleScript that controls the whole application.
EDIT: This now describes a revised version of the application, posted 3 August 2013.
A separate page about this system can be found here:
http://www.columbia.edu/~em36/sheepshaverwrapper.html
Here's how to use it:
1. Download the application bundle from the separate page about the system linked above.
Do not launch the application yet; if you do, it will display a warning that you need to add a ROM file, and SheepShaver will not start.
2. Get a copy of a New World Mac PPC ROM (see the setup guide in the Wiki here for suggestions on how to find it); be certain that the file name is Mac OS ROM and drop it onto the SheepShaver Wrapper. A message will tell you that the file was copied to the correct location.
3. This step assumes that you have a copy of an OS 9 installation CD either on CD or on a disk image. The installation CD must be a retail CD, not one that came with a specific machine. (This procedure should also work with OS 8.5 or later.) Note that when installing, you should NOT format or initialize the virtual hard disk; it is already formatted, and contains a few Apple-supplied updaters for OS 8.6 and 9.0.4 in a disk image .IMG file in a folder named "OS Updaters"; some of these are US-English-language versions; other versions may be available from Apple's web site. (Note: When installing OS 9, I suggest that when you reach the menu that lets you specify which parts of the OS you want to install, click Options and turn OFF the option to Update Apple Hard Disk Drivers. For reasons that I don't understand, the installation may stall when this option is ON.) (If installing OS 8.5, the 8.5 CD may "stall" when booting. Try it again, but hold down the Shift key when SheepShaver starts, in order to turn extensions off. This is not necessary with an OS 8.6 CD.)
a. If you have an actual Mac OS installation CD, mount it on the OS X desktop, and then - after the CD has mounted on the OS X desktop - start the SheepShaver Wrapper application. When the CD boots, you may install OS 9 on the virtual hard disk included in the SheepShaver Wrapper. When you are done, shut down SheepShaver, and eject the CD.
b. If you have a CD image of a Mac OS installation CD, drop the disk image file on the SheepShaver Wrapper. If the image file is in the correct format, and is bootable, and boots to OS 8.5 through 9.0.4, then SheepShaver will boot from the CD image, and you can install the Mac OS to the emulated hard disk. When the installation is complete, either shut down SheepShaver from its own menu, or shut down the emulated Mac OS system in OS 8 or 9 (click "Special" then "Shut down"). When you start the system again, the CD image will NOT be mounted. If you want to boot from the CD image later, drag it to the SheepShaver Wrapper icon. (Note: If the image file that you drop on the SheepShaver Wrapper is not "locked" in the Finder, or is not marked as read-only, the script will offer to lock the file for you; the image file must be "locked" in order to boot correctly.)
4. This procedure will give you a working SheepShaver system, with the "Unix" folder in SheepShaver set to be your Documents folder in OS X. If you want to use a different folder to be the "Unix" folder, then shut down SheepShaver, and turn on Caps Lock by touching the CapsLock key on your keyboard. Follow the prompts to select a folder as your "Unix" folder.
Note that you should not try to change the Unix folder from the SheepShaver -> Preferences dialog, because the application will ignore any change you make there. For complicated reasons, my own system (the one on which this one is based) writes the location of the Unix folder every time the program launches, and I didn't change that method for this reduced version.
5. Some tips and tricks. If you hold down the Command key while launching the SheepShaver Wrapper, it will open in a quasi-full-screen mode. (It will prompt you to ask if you want this to happen.) The dock will be hidden; the OS X top-line menu will not appear until you move the cursor to the top of the screen; the SheepShaver "window" will fill the entire screen. This is different from true full-screen mode in that you can Alt-Tab to other OS X applications. If you want to go back to windowed mode, hold down the Option key when launching the SheepShaver Wrapper. (It will prompt you to ask if you want to go back to ordinary windowed mode.) This quasi-full-screen feature requires that "Access for Assistive Devices" be turned on in your OS X system; if "Access for Assistive Devices" is not already turned on, you will be prompted to let the script turn it on for you. (You will be prompted by OS X for a password. As you can see by reading the AppleScript, the script itself does NOT get any access to your password.)
By default, the application opens with a window size of 896 x 672. If you know how to edit AppleScript, you can open the application in the AppleScript Editor (ignore the warning message about the application not being scriptable), and change a clearly-explained option near the top of the script, so that the application will instead calculate its initial window size as a proportion of your actual monitor size. Also, you can change the window size at any time by using the SheepShaver Preferences dialog, and then shutting down and restarting the application. Or (if you know what you are doing) you can edit the AppleScript in the SheepShaver Wrapper to change the default window size, then hold down Option when starting the SheepShaver Wrapper in order for the new default setting to take hold. (The PowerBook G3 series used 800 x600 or 1024 x 768.)
The virtual hard disk in the system is a 2GB "sparse bundle" disk image. If that is not large enough for your purposes, create a second disk, using the procedures described in the wiki on this site; or use the SheepShaver preferences to add the (unformatted) Backup disk already included in the package but not mounted on the desktop.
If you want a standalone SheepShaver setup (in other words, one application that contains the program, virtual disk, and other files), but you already have a virtual hard disk file that you use now with a separate copy of SheepShaver, you can use your existing hard disk image file with this standalone system. To do this, ctrl-click the application; choose Show Package Contents; go to Contents, Resources, Files, and ctrl-click MacOS.sheepvm, and again choose Show Package Contents. Copy your hard disk image file into the same folder with the ROM file; delete the existing SheepShaver2GB.sparsebundle file. Start up the SheepShaver Wrapper; it will begin with the disk icon on a blank desktop; open the SheepShaver Preferences, using the technique described in step 3-a below, and remove the SheepShaver2GB.sparsebundle from the list of disks, and add your formatted disk. If you do this, you won't need to install a fresh copy of OS 9.
This system contains Ronald's 26-July-2013 SheepShaver build. The current version is code-signed for use with Mountain Lion's Gatekeeper security feature.
I spent quite a bit of time putting this together for my own system. I hope someone else might find it useful. The AppleScript in the application bundle got put together over a long period, and the coding is very messy and inefficient, but it seems to work. Any improvements to the AppleScript code will of course be welcome.
This system uses the self-contained .sheepvm feature introduced by Mryd some time ago, and described in other threads. But it builds on that feature by enclosing the .sheepvm in a single application bundle that also contains the SheepShaver application and an AppleScript that controls the whole application.
EDIT: This now describes a revised version of the application, posted 3 August 2013.
A separate page about this system can be found here:
http://www.columbia.edu/~em36/sheepshaverwrapper.html
Here's how to use it:
1. Download the application bundle from the separate page about the system linked above.
Do not launch the application yet; if you do, it will display a warning that you need to add a ROM file, and SheepShaver will not start.
2. Get a copy of a New World Mac PPC ROM (see the setup guide in the Wiki here for suggestions on how to find it); be certain that the file name is Mac OS ROM and drop it onto the SheepShaver Wrapper. A message will tell you that the file was copied to the correct location.
3. This step assumes that you have a copy of an OS 9 installation CD either on CD or on a disk image. The installation CD must be a retail CD, not one that came with a specific machine. (This procedure should also work with OS 8.5 or later.) Note that when installing, you should NOT format or initialize the virtual hard disk; it is already formatted, and contains a few Apple-supplied updaters for OS 8.6 and 9.0.4 in a disk image .IMG file in a folder named "OS Updaters"; some of these are US-English-language versions; other versions may be available from Apple's web site. (Note: When installing OS 9, I suggest that when you reach the menu that lets you specify which parts of the OS you want to install, click Options and turn OFF the option to Update Apple Hard Disk Drivers. For reasons that I don't understand, the installation may stall when this option is ON.) (If installing OS 8.5, the 8.5 CD may "stall" when booting. Try it again, but hold down the Shift key when SheepShaver starts, in order to turn extensions off. This is not necessary with an OS 8.6 CD.)
a. If you have an actual Mac OS installation CD, mount it on the OS X desktop, and then - after the CD has mounted on the OS X desktop - start the SheepShaver Wrapper application. When the CD boots, you may install OS 9 on the virtual hard disk included in the SheepShaver Wrapper. When you are done, shut down SheepShaver, and eject the CD.
b. If you have a CD image of a Mac OS installation CD, drop the disk image file on the SheepShaver Wrapper. If the image file is in the correct format, and is bootable, and boots to OS 8.5 through 9.0.4, then SheepShaver will boot from the CD image, and you can install the Mac OS to the emulated hard disk. When the installation is complete, either shut down SheepShaver from its own menu, or shut down the emulated Mac OS system in OS 8 or 9 (click "Special" then "Shut down"). When you start the system again, the CD image will NOT be mounted. If you want to boot from the CD image later, drag it to the SheepShaver Wrapper icon. (Note: If the image file that you drop on the SheepShaver Wrapper is not "locked" in the Finder, or is not marked as read-only, the script will offer to lock the file for you; the image file must be "locked" in order to boot correctly.)
4. This procedure will give you a working SheepShaver system, with the "Unix" folder in SheepShaver set to be your Documents folder in OS X. If you want to use a different folder to be the "Unix" folder, then shut down SheepShaver, and turn on Caps Lock by touching the CapsLock key on your keyboard. Follow the prompts to select a folder as your "Unix" folder.
Note that you should not try to change the Unix folder from the SheepShaver -> Preferences dialog, because the application will ignore any change you make there. For complicated reasons, my own system (the one on which this one is based) writes the location of the Unix folder every time the program launches, and I didn't change that method for this reduced version.
5. Some tips and tricks. If you hold down the Command key while launching the SheepShaver Wrapper, it will open in a quasi-full-screen mode. (It will prompt you to ask if you want this to happen.) The dock will be hidden; the OS X top-line menu will not appear until you move the cursor to the top of the screen; the SheepShaver "window" will fill the entire screen. This is different from true full-screen mode in that you can Alt-Tab to other OS X applications. If you want to go back to windowed mode, hold down the Option key when launching the SheepShaver Wrapper. (It will prompt you to ask if you want to go back to ordinary windowed mode.) This quasi-full-screen feature requires that "Access for Assistive Devices" be turned on in your OS X system; if "Access for Assistive Devices" is not already turned on, you will be prompted to let the script turn it on for you. (You will be prompted by OS X for a password. As you can see by reading the AppleScript, the script itself does NOT get any access to your password.)
By default, the application opens with a window size of 896 x 672. If you know how to edit AppleScript, you can open the application in the AppleScript Editor (ignore the warning message about the application not being scriptable), and change a clearly-explained option near the top of the script, so that the application will instead calculate its initial window size as a proportion of your actual monitor size. Also, you can change the window size at any time by using the SheepShaver Preferences dialog, and then shutting down and restarting the application. Or (if you know what you are doing) you can edit the AppleScript in the SheepShaver Wrapper to change the default window size, then hold down Option when starting the SheepShaver Wrapper in order for the new default setting to take hold. (The PowerBook G3 series used 800 x600 or 1024 x 768.)
The virtual hard disk in the system is a 2GB "sparse bundle" disk image. If that is not large enough for your purposes, create a second disk, using the procedures described in the wiki on this site; or use the SheepShaver preferences to add the (unformatted) Backup disk already included in the package but not mounted on the desktop.
If you want a standalone SheepShaver setup (in other words, one application that contains the program, virtual disk, and other files), but you already have a virtual hard disk file that you use now with a separate copy of SheepShaver, you can use your existing hard disk image file with this standalone system. To do this, ctrl-click the application; choose Show Package Contents; go to Contents, Resources, Files, and ctrl-click MacOS.sheepvm, and again choose Show Package Contents. Copy your hard disk image file into the same folder with the ROM file; delete the existing SheepShaver2GB.sparsebundle file. Start up the SheepShaver Wrapper; it will begin with the disk icon on a blank desktop; open the SheepShaver Preferences, using the technique described in step 3-a below, and remove the SheepShaver2GB.sparsebundle from the list of disks, and add your formatted disk. If you do this, you won't need to install a fresh copy of OS 9.
This system contains Ronald's 26-July-2013 SheepShaver build. The current version is code-signed for use with Mountain Lion's Gatekeeper security feature.
I spent quite a bit of time putting this together for my own system. I hope someone else might find it useful. The AppleScript in the application bundle got put together over a long period, and the coding is very messy and inefficient, but it seems to work. Any improvements to the AppleScript code will of course be welcome.