Omicron Software Systems
Home · About · Contact · Products

 

Regarding SheepShaver


 
This page is now of historical interest only, because all of the changes described below (and more) have since been delivered into the official source tree. The page is being left up for the time being because I know that some people have linked to it, but there is no longer any reason for anyone to come here for SheepShaver builds.

Introduction

I use an open-source emulator called SheepShaver to run Mac OS 8.6 on an Intel-based MacBook Pro with macOS, which has let me continue to use the venerable application MacMoney long after the demise of classic Mac OS. SheepShaver is not without its problems, but since the source code is available, those willing to expend some effort have the opportunity to track down and fix any bugs they might run into. Many thanks to the developers and maintainers of SheepShaver, Basilisk II (upon which SheepShaver builds) and the SDL library, for all of their hard work, and for making their source code publicly available.

Bug Fixes

The three bugs that have irked me the most in using SheepShaver, in descending order of annoyance, have been these:

  1. MacMoney is unable to read data files stored in the host computer’s filesystem, appearing to think that they are corrupted.
  2. If you move your mouse cursor in and out of the SheepShaver window a number of times (somewhere around 30 or 40 times will do it), SheepShaver appears to lock up. Although it is still running, it ignores mouse-clicks and keystrokes, and you have to force-quit.
  3. The position of the text cursor (I-beam cursor) seems to be off by several pixels.
I've tracked these bugs down and built a version of SheepShaver with fixes or workarounds. My bug reports and source-code changes are being submitted to the developers for their consideration. Until such time as the bugs are fixed in official source trees, I am making available a snapshot of my current SheepShaver builds, which you will find linked at the bottom of this page. These builds currently include the following changes:

SheepShaver Snapshot

Linked below is a snapshot of my current SheepShaver builds. Before you even think about downloading them, consider the following:

The zip file linked below contains two versions of SheepShaver. One (H) is linked with SDL version 1.2.10 and uses a “hardware cursor” approach that requires the cursor fixes described above. This is the version that I personally prefer, but your mileage may vary. The other (S) is linked with SDL version 1.2.13 and uses a “software cursor” approach, in which the emulated Mac OS is responsible for drawing the cursor and determining its hot-spot. There are no other differences between the two versions.

The reason for linking with two different versions of the SDL library is that the hardware cursor approach works only with older versions of SDL, and the software cursor approach works only with newer versions. If I ever manage to resolve this, I'll make the cursor choice into a runtime option.

These are Intel-only builds, created with gcc 4.0.1 on macOS 10.4.11 using SDL source release 1.2.10/1.2.13, the latest Basilisk II and SheepShaver source code from CVS, and the code changes described above. I have not tested them on anything other than macOS 10.4.11, and I have not used them to run anything other than Mac OS 8.6, with the ROM from Mac OS ROM Update 1.0.

Update: All of the changes described above (and more) have now been delivered into the official source tree. There are no longer any builds available here, but you should be able to find recent builds for macOS at the Emaculation SheepShaver forum, via the link below.
 

Emaculation Forums

Code Changes (old)

How To Build