Setting up SheepShaver for Windows
(Last updated January 24, 2025)
(you can also set up SheepShaver for OSX/macOS or SheepShaver for Linux)
Introduction
SheepShaver emulates a G4 PPC Macintosh computer capable of running Mac OS 7.5.3 up to Mac OS 9.0.4.
Getting Started
You need:
- SheepShaver itself.
- A valid ROM file. Rom files come in two flavours: the Old World ROM and the New World ROM. With an Old World ROM, you can run Mac OS 7.5.3 up to Mac OS 9.0.4. With a New World ROM you can run Mac OS 8.5 up to Mac OS 9.0.4
- An installation CD or a disk image of an installation CD. Universal installation CDs work best. Installation CDs for specific Mac models often do work. Appropriate image files can be downloaded from various places on the internet, e.g., check the Macintosh Garden site for “MacOS904CD_Intl.ZIP” on its “Mac OS 9.0.4” page.
Note: If you are using a CD image, you may need to right-click the image (in Windows), and set it to “read only” in the “properties” menu. This will solve the “The system software on the startup disk only functions if on the original media, not if copied to another drive” error message when attempting to boot from the image.
Tip: We do not offer or link to ROM files. However, you can find compatible files when you search the web for “redundant robot sheepshaver” (without the quotes). You can likely find a collection on the Internet Archive as well.
Dealing with your Mac OS Installation Media
This guide will walk you through the settings on each of the tabs of the SheepShaver GUI. But your initial settings depend on how you are installing Mac OS. Once you have dealt with these settings, you can move on and set up each tab in the GUI, following the guide's instructions.
Using a physical Mac OS installation CD
Insert your CD-ROM. Run “SheepShaverGUI.exe.” On the “volumes” tab, at “Boot from” select CD-ROM and make sure that the drive letter for the CD-ROM is correct. Next step: see Volumes below.
Using an disk image of a Mac OS installation CD (iso or toast)
Run “SheepShaverGUI.exe. On the “Volumes” tab click “add” and navigate to your CD image. Select it and click “OK.” Next step: see Volumes below.
For those who don't have a real CD or a CD disk image
If you don't have a Mac OS CD or an image of a CD, you can only install Mac OS 7.5.3. Follow the Basilisk II instructions to install System 7.5.3 in SheepShaver. You must, however, use Disk Tools 8.5 as your boot disk. You must also use an Old World ROM image (see above).
Setting up SheepShaver through the GUI
Note that the SheepShaver GUI saves all your preferences to a file called “SheepShaver_prefs”. It is saved in your SheepShaver folder and is read when SheepShaver starts. Some very new settings cannot be saved using the GUI and require manual editing of the “SheepShaver_prefs” file. After making such changes, use of the GUI will overwrite them. For more information, see “Running SheepShaver without the GUI,” below.
Volumes Tab
On the “Volumes” tab click “Create…” to create a hard disk image file onto which you will install Mac OS (See Figure 3).
Set a size for the hard file (Mac OS requires at least 220 MB for a typical install) and give it a name. Click “OK” to create the file (see figure 2). Be patient… it can take a few minutes to create the file.
Note: The maximum size of hard disk images that boot reliably is 2 GB. If you need more space, you can create additional larger hard disk images.
After the hard disk image file has been created, the GUI returns to the “Volumes” tab, and the hard disk image file will be listed as added to your emulated Mac.
Note: If you are are adding an installation CD image here, it should be the first entry. SheepShaver will always attempt to boot from the first entry (unless you boot from a real installation CD). You can drag the entries to a different position, if needed.
Other settings on the volumes tab:
Disable CD-ROM Driver: disables CD access.
Try to automatically detect new removable media (enable polling): when checked, SheepShaver periodically checks for a newly inserted real CD.
Enable “My Computer” icon on your Mac desktop (external file system): when checked, SheepShaver gives access to host drives.
Mount drives: shows the host drives that will be available through the This PC icon on the desktop.
(See below at “Sharing a single folder instead of a whole drive” for more fine grained access to a specific folder)
Note: With your mouse you can drag hard disk images and CD images into the volumes list.
Figure 1: the Volumes tab, set to boot from a real CD
Figure 2: the Volumes tab, set to boot from a CD image
Figure 3: Creating a blank hard disk image
Figure 4: The Volumes tab with hard disk image created
Switch to the “Graphics/Sound” tab.
Graphics/Sound Tab
Set your video type to “windowed” or “full screen.” For best performance, set the refresh rate to Dynamic. Select the desired screen resolution. Note that you can set other sizes by editing the preset values. The “Maximum” setting fixes the screen to your current host resolution. Quickdraw acceleration does exactly what it says, but you can disable it. If you do not want sound support, you can select that option.
Figure 5: The “Graphics/Sound” tab.
Switch to the Keyboard/Mouse tab.
Keyboard/Mouse Tab
The keyboard/mouse tab allows you to select a keycodes file. You must use a keycodes file (included in our download) for SheepShaver to support other keyboard layouts and languages besides English. You can also control the mouse wheel behavior: set it to either move the cursor up/down or pages up/down. The “Lines to scroll” option controls how many lines the cursor moves up/down with one mouse wheel roll. You can use the “Reserve Windows Key” option to prevent opening the Windows menu when using the Windows key in certain key combinations in Mac OS.
Note: Not all key combinations for which the Windows key is needed can be reserved. Among others, Windows key+L, Windows key+G cannot be prevented.
Switch to the Serial tab.
Serial Tab
SheepShaver can direct the Mac OS Modem or Printer port output to various Windows ports or a file. Select the desired port, or write the output to a file.
Switch to the Network tab.
Network Tab
- Select which Ethernet interface to use.
When you select “Basilisk II Slirp” you gain default internet access.
Tip: For more advanced networking support (including running Appletalk) see below at Internet access/Networking.
Switch to the “Memory/Misc” tab.
Memory/Misc Tab
Set the ram size available for Mac OS and select the rom file to use. Click “Browse” to locate the file.
Select “Don't Use CPU When Idle” to allow SheepShaver to “sleep” when not active.
Note: Always select “Ignore Illegal Memory Accesses” to prevent some programs from crashing SheepShaver.
Switch to the JIT Compiler tab.
Jit Compiler Tab
Enabling the JIT Compiler greatly improves performance. It might, however, cause some sporadic crashes, so you can disable it. As PowerPC Mac Rom files contain a 68k Mac emulator, the experimental option is provided to enable it. If you enable it, your mileage may vary…
Figure 10: The JIT Compiler tab
You are now ready to run SheepShaver. Click “Start” to do that.
Booting and Installing
When the Mac boots, it will ask you to initialize the hard disk file you created. Give the disk a name and click “Initialize”, then click “Continue”.
Figure 11: Give your hard disk a name and initialize it.
Now you can install Mac OS. Figure 12 shows the desktop of an emulated Macintosh that has booted from a Mac OS 9 CD (or CD image).
Figure 12: The Mac desktop before installation of Mac OS 9.
The actual installation of Mac OS is fairly straightforward, though the specifics differ based on which version you are installing. Just follow the directions on the screen, and make sure to install to the hard disk you initialized and named earlier. You can pick and choose which components to install, but the default selection should be okay. You can add and remove stuff later on, if need be. Installation should just take a few minutes.
Note: It can sometimes happen a screen in which you have to confirm updating the hard disk drivers hides behind the installation screen. If you see no progress, redo the installation, but click Options after you accepted the license agreement and deselect “Update Apple Hard Disk Drivers”, click OK and continue the installation.
Figure 13: Mac OS 9 installing.
Figure 14: Installation has finished.
When Mac OS has finished installing, select “Shut Down” from the “Special” menu.
If you installed from a real CD, eject it.
Start the SheepShaverGUI (if you started from a CD image, remove the CD image from the list of mounted volumes). If need be, at “Boot From” select “any”.
Click “Start” to boot Mac OS from the hard disk.
Figure 15: A fresh installation of Mac OS 9.
This concludes the initial setup.
Running SheepShaver without the GUI
SheepShaver needs a set of preferences to run. Both SheepShaver itself and the SheepShaverGUI create an initial SheepShaver_prefs file at first run.
Note: The SheepShaverGUI.exe is only loosely coupled with SheepShaver.exe: The GUI cannot start SheepShaver when the program is not called SheepShaver.exe
Starting SheepShaver directly after the initial configuration
The SheepShaver program reads the SheepShaver_prefs file when it starts. So once SheepShaver is configured to your satisfaction through the GUI, you no longer have to run the SheepShaverGUI to start it. Just double click SheepShaver.exe
This is particularly convenient (or even required) when you manually added preferences that cannot yet be set by the GUI, as using the GUI might delete or overwrite those preferences.
Starting SheepShaver from the command line
SheepShaver can be started from the command line in two ways:
- By pointing SheepShaver to a preferences file already existing. You start SheepShaver with the argument ”–config prefs_file_name”.
- By adding all prefs on the command line. You start SheepShaver with all arguments normally found in the prefs file, each prepended with “–” (a double dash)
Please note that “–” shows up as a single dash in this wiki while it consist of two separate dashes.
The prefs file name
Prefs file naming: On Windows hosts, the prefs file is called “SheepShaver_prefs”. On macOS/Linux hosts the prefs file is named “.sheepshaver_prefs” (note the . (dot))
A full list of prefs (work in progress) can be found here: https://www.emaculation.com/doku.php/basilisk_sheepshaver_prefs_list
Additional use and configuration
Key combinations
Ctrl-F5 (restricts or releases the mouse to/from the application window) Ctrl-Enter (switches between fullscreen and window mode)
Settings currently not available through the SheepShaverGUI
You can set some preferences by manually editing the SheepShaver_prefs file.
Note: some preferences might be overwritten when using the GUI after you manually set them.
• Swap the option and command keys
When running SheepShaver, the option and command keys are swapped by default, changing the position of these keys to better fit a non apple keyboard:
swap_opt_cmd true
If you so which you can disable this when you set the pref to “false”
• Hardware cursor in window mode
By default the software cursor is used. If you prefer the hardware cursor in window mode, you can add this line to the preferences file:
hardcursor true
However, with the hardware cursor only in window mode, there are cursor issues when switching between window mode and full-screen mode.
Note: init_grab (see below) will not work in combination with the hardcursor.
• Hardware cursor in both window mode and full-screen mode
The hardware cursor can also be used in full-screen mode if integer scaling is used. You can enable the hardware cursor in both window mode and full-screen mode by adding these lines to the preferences file
hardcursor true scale_integer true scale_nearest true
See also “Changing scaling algorithm” below.
• Changing the hotkey
By default, the hotkey used with window/full-screen toggle and mouse grabbing toggle is the Control key (Control-Return and Control-F5). You can change the hotkey by adding a “hotkey” item to the preferences file:
1: control(default)
2: option
3: control+option
4: command
5: control+command
6: option+command
7: control+option+command
For instance, you can set the hotkey to Control-Command by adding this line to the preferences file:
hotkey 5
• Changing reported CPU speed
SheepShaver identifies itself as a 100MHz machine to software running on it. Although the reported 100MHz is unrelated to the actual speed, some software may show a message that it will not run because it needs a faster machine. The reported CPU speed can be changed by adding a cpuclock item to the preferences file:
cpuclock 200
This line wil make SheepShaver identify itself as a 200MHz machine in the system profiler.
Note: This setting does not change the actual speed!
• Offset date in years and/or days
The date inside SheepShaver can be set in the past or in the future, in years and/or days. This may be needed for using some specific software.
Adding these lines to the preferences file will set the date to 25 February 1989 when the actual date on the host is 20 February 2019:
yearofs -30 dayofs +5
Note: This feature can mix up relations between older files and newer files and between files' creation dates and modification dates.
• Changing scaling algorithm
Using nearest-neighbour or integer scaling will improve display quality when a low resolution emulator screen is displayed on a high resolution monitor. Nearest-neighbour or integer scaling can be applied by adding one or both of these lines to the preferences file:
scale_integer true scale_nearest true
• Enlarging window size
Enlarge SheepShaver window while preserving the guest screen resolution. With mag_rate set to e.g 1.5 at next launch, the window will appear 1.5 times the size of the set resolution.
mag_rate 1.5
• Guest gamma ramp pass on to the host
With this feature enabled, the guest gamma settings will be passed on to the host. This could improve color and brightness accuracy, but only when guest gamma settings and host screen properties match. The guest gamma settings will usually not match with modern screens. There are three possible settings:
gammaramp off gammaramp on gammaramp fullscreen
The default is “off”. When set to “fullscreen”, the feature works only in full-screen mode.
• Port forwarding in slirp networking
For instance:
redir tcp:8000:10.0.2.15:80
See this forum topic: https://www.emaculation.com/forum/viewtopic.php?f=6&t=7782
• Set custom window title
By adding a prefs item title one can choose a different title for the SheepShaver window. For instance:
title SheepShaver Mac OS 9.0.4
• Shorten the sound buffer
Shortening the the length of the sound buffer can prevent delayed and choppy sound in some applications but will increase CPU use. The default setting is:
sound_buffer 0
Setting the value to 1 will halve the length of the sound buffer, setting the value to 2 will again halve the length, and so forth.
• File name encoding in the shared folder
Classic MacOS files in the shared folder with non-MacRoman file names will show incorrect or garbled file names in the “Unix” volume in SheepShaver, even if the MacOS installed in SheepShaver uses the corresponding language and encoding. This may be corrected with an additional prefs item “name_encoding”:
1: Japanese
2: Chinese Traditional
3: Korean
4: Arabic
5: Hebrew
6: Greek
7: Cyrillic
25: Chinese Simplified
For instance, adding this line to the preferences file will correct Japanese characters:
name_encoding 1
When “name_encoding” is not specified, the default MacRoman will be used.
A full list of encodings can be found here: https://opensource.apple.com/source/CF/CF-550/CFStringEncodingExt.h.auto.html
• Startup with mouse cursor grabbed
The mouse cursor grabbing feature (toggled with Control-F5, see Key Combinations above) is off by default. It will be on if this line is added to the prefs file:
init_grab true
(The mouse grabbing feature will not work if the hardware cursor is enabled, see above.)
The Configuration Assistant
At first run, Mac OS starts the Configuration Assistant. Unless you configured the network to use Tap networking (See below), this Assistant will lock-up while configuring network settings. Quit the Assistant when it arrives at the network settings and do the remaining configuration manually in the various control panels.
Getting access to CD-Rom images, hard disk images and floppy disk images
Once SheepShaver has started you can drag up to one CD-Rom, hard disk, or floppy disk image file into the SheepShaver window. The image then gets mounted in Mac OS as a read only CD. To change the mounted image, drag the Icon into the bin and drag a new image onto to SheepShaver window.
Note: This will not work when you already have a real CD mounted in Mac OS.
Internet access / Networking
After following the guide above, SheepShaver will have internet access through the “Basilisk II Slirp” connection. While working well for e.g., simple internet access, it limits networking capacities.
Slirp
Slirp provides network address translation (NAT), name resolution (DNS) and a small DHCP server to Mac OS. The TCP/IP settings you get are:
- IP address: 10.0.2.15
- Subnet mask: 255.255.255.0
- Router address: 10.0.2.2
- Name server address: 10.0.2.3
Tap
Fuller networking capacities can be had when connecting through a tap device. This requires installation of the openvpn tap device(s). You can then:
- Bridge the tap device with your default network connection. This also allows Appletalk to work.
When set up with bridging, you can select the tap device in the Network tab of the SheepShaverGUI and start SheepShaver. SheepShaver then gets its network settings from the DHCP server in your network. In this case, however, you can also set the network settings yourself in the TCP/IP control panel.
You can network two or more instances of SheepShaver and Basilisk (or Qemu) by installing multiple tap devices and adding them to the bridge you created before. That way you can use Appletalk to communicate between them and even real Macs running Appletalk. Make sure to select a different tap device in the SheepShaver GUI from the device selected in the BasiliskII GUI.
Note: Use Classilla or Netscape 7 in Mac OS 8.5 and above. The versions of IE and Netscape that ship with MacOS can crash the emulator.
Router
The BasiliskII-router option lets SheepShaver piggyback on your default ethernet connection. You should configure the tcp/ip settings in Mac OS as follows:
- Connect via: Ethernet
- Configure: Manually
- IP address: a free IP-address in your network range
- Subnet mask: 255.255.255.0
- Router address: the IP-address of your host
- Name server address: the IP-address of the dns server used by your host.
Redirecting a TCP/IP port from the guest to the host or the network (only when using Slirp networking)
You can redirect a port in Mac OS to a Windows port so you can run services on Mac OS that are accessible on your Windows host or on the network.
Add a preference to the SheepShaver_prefs file in your SheepShaver folder.
Note: All manual editing of the prefs file might be lost when running the SheepShaverGUI.exe!
To forward a running webserver add:
- redir tcp:8080:10.0.2.15:80
On your Windows host navigate to localhost:8080 to see the web site.
To forward an FTP server (such as netpresenz) add:
- redir tcp:2121:10.0.2.15:21
Use an ftp client capable of connecting to old ftp servers (such as FileZilla) to connect to the IP address of your host and port number 2121.
To share files over the Apple Filing Protocol (AFP, file sharing over tcp/ip) add:
- redir tcp:548:10.0.2.15:548
In Mac OS enable file sharing, including the option to share over TCP/IP. Then run SheepShaver or Basilisk (or Qemu) on another computer and use the chooser option “AppleShare”and then “Server IP address”. Enter the IP address of the machine running AFP and enter your credentials. Any other system capable of communicating over the version of AFP running in your installation can also connect.
Note: You can add multiple redir lines to the prefs file to gain access to more services running on Mac OS.
Note: After redirecting to your Windows host, you can make services running in Mac OS available to the wider internet by setting up rules in your router to forward the redirected TCP/IP ports to your host .
Example: set a forwarding rule in your router from port 80 to port 8080 of your host IP address. Set SheepShaver to use redir tcp:8080:10.0.2.15:80. This allows someone from the outside world to connect to a web server running in SheepShaver when they go to your external IP address (find it in your router) with their web browser.
Redirecting to ports below 1024 might require running SheepShaver as administrator, which is not advised.
Sharing a single folder instead of a whole drive
By default the GUI option “Enable My Computer icon…” gives access to the whole drive(s) that were selected under “Mount drives”. This has the side effect that several small files needed by Mac OS to manage its Finder windows are placed in all folders you access through the My Computer option. To give access to only one folder on your host, before starting SheepShaverGUI, start a command prompt and enter:
- subst <unused drive letter> <path to folder you want to share>
Then enter the drive letter in the GUI under “Mount drives” and start SheepShaver.
To disable the drive letter, start a command prompt and enter:
- subst <drive letter> /d
Note: After a restart of your host this setting is lost.
Start-up Sound
When you place a wav file called “startup.wav” in the SheepShaver folder, it will be played at start-up.
Sound
If sound output doesn't work out of the box:
- With Mac OS 9: Select “built-in” for the output device in the “Sound” control panel.
- With Mac OS 8.5/6: The Sound control panel is installed in the “Apple Extras” folder. Use it to select the built-in output device.
QuickTime
The latest version of QuickTime that is compatible with SheepShaver is version 4.1.2. Note that it is not possible to downgrade QuickTime by simply installing an earlier version. If you happened to have installed a later version, you will need to remove all QuickTime related files first.
Printing
Consult the Printing guide
Getting a rom file from a real machine or an installation disk
You can get one from an actual Macintosh computer or you can skulk around the Internet and download one. If you own a physical Macintosh, you can legally acquire a ROM image following the directions in this guide. Note that a ROM obtained using that method is a New World ROM. An Old World ROM is extracted from an actual hardware Power Macintosh. With the old world rom file SheepShaver can run System 7.5.3 through Mac OS 9.0.4, with the new world rom file SheepShaver can run Mac OS 8.5 through 9.0.4. If you want to install 9.0.4, best use the new world ROM.
Upgrading from a SheepShaver build from before 22-09-2020
If you are upgrading from an old version of SheepShaver, you should download all files into a new folder and start fresh (but you can still use your old disk image and ROM). Most of the dll (application extensions) files included in new versions are needed to run the GUI. The number of dll files may be a bit overwhelming, but the up-side is that it is no longer necessary to install the GTK development kit to run the GUI.
If you kept your ROM file and hard disk image(s) in the old SheepShaver folder, copy them into the new folder. If they are outside your old SheepShaver folder, leave them where they are. You can also copy over your SheepShaver_prefs file so you don´t need to start configuring anew.
Next, run the GUI, point to the ROM and disks images and adjust the other GUI settings to match your old settings. Run SheepShaver.
If everything is okay, you can remove the old folder and its content. If you had the GTK development kit installed (and no other programs are using it) you can remove it.
Conclusion
For more community-driven assistance, check out our SheepShaver Forum.