• Please review our updated Terms and Rules here

Revisited Sheepshaver after a few years away. I'm impressed.

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
44,954
Location
Pacific Northwest, USA
Have to handle some data written in the 90's and backed up on SyQuest 200MB carts. Necessitates running some programs of the time that are no longer existent. The attached screenshot is MacOS 8.5 displayed on a 21" (4:3) monitor on a host system running Linux Bookworm. Boots and runs faster than the same stuff run on my old Beige G3. Good job with the emulation!Screenshot_2024-03-30_15-35-46.png
 
In a similar vein, a couple years ago I was fooling around with seeing if I could make an ooold (2006) Intel Mac Pro with Linux on it mount a Power Macintosh OS X disk image and share it over firewire as if it were a firewire disk drive (IE, userland "target disk mode" emulation, essentially), and just for laughs I decided to see how far along QEMU's PowerPC emulation had gotten and try actually *booting* the disk images I was intending to share.

Long story short, worked fine. I mean, the performance wasn't worth writing home about, but it was probably roughly on par with an early G4 tower, despite the CPUs in the Mac Pro being *very lowly* 2.0ghz Xeon 5130s. It's starting to feel like PowerPC emulation is pretty much a solved problem.

(FWIW, the firewire sharing thing worked too. Used it to resurrect an old Titanium G4 Powerbook without having to burn CDs and track down everything from scratch; just used a Tiger disk image I'd saved from waaaaay back when it was niche part of my job to make the OS images we cloned onto new employee Powerbooks.)
 
I thought classic Mac emulation was no problem for decades. Here's Mac OS 8.1 running on my 1987 Amiga 500, back in the early 2000's:

2550.png

(B&W 7.5.5 ran much faster, of course - just as fast as my Mac SE, which I transferred files to and from the Amiga)
 
Shapeshifter on an Amiga isn't "emulation", strictly speaking, it's more like a virtual machine. (Kinda. Sorta.) The 68000 code is being directly executed by the CPU. FWIW, if you were running 8.1 on an Amiga 500 I can only guess you had at least a 68030 accelerator in there, but even a plain old Amiga 1000 (or Atari ST) could run early toaster-Mac OSes. Apple did a scary good job making the Classic MacOS machine-independent and possible to run on almost any Motorola 68k-based computer just by patching the system ROM images.

BasiliskII (68k CPU emulation) and SheepShaver (PowerPC) *do* emulate the CPU, although they do still rely on patching the system ROM images to "fake" most of the real hardware with much less overhead than an emulator that tries to do "cycle-accurate" emulation of the actual moving parts. I remember playing with BasiliskII on Linux way back around, 1998 or so; before they added JIT to the CPU emulation a 166mhz Pentium could only run around as fast as a Macintosh LC, but when JIT came along it could easily beat a Quadra.
 
(FWIW, the firewire sharing thing worked too. Used it to resurrect an old Titanium G4 Powerbook without having to burn CDs and track down everything from scratch; just used a Tiger disk image I'd saved from waaaaay back when it was niche part of my job to make the OS images we cloned onto new employee Powerbooks.)
The shared /UNIX volume is very useful in my case. No need to ftp my stuff over the net.

Of course, I'm running this on a cheap Chinese E5-2690 V4 board with 64GB of memory, and NVMe SSD so the noticeable difference in speed may be due to the fact that my earlier experiments were with a 600 MHz P3 with 768MB memory and an 80GB IDE drive. :)
 
Last edited:
SheepShaver on a PIII could probably manage to give one of those first-gen 601-based PowerPCs a run for its money, but a decade or two of CPU advancement certainly helps. Last time I ran SheepShaver, it’s been years, I think Speedometer 4.0 claimed its integer CPU performance was 20+ times faster than whatever the fastest thing in its database was. (A 604 based system, I think?) The host was an early 2010s Intel MacBook.

And yeah, for OS X-vintage PPC QEMU has gotten scary good. Haven’t looked at MAME for a *long* time; it used to be a total dumpster fire, but I have heard rumors that, yeah, it’s been fixed.
 
I tend to think of QEMU as a "any old CPU" emulator; my impression is that SheepShaver has some special integration hooks. For example, I've used QEMU on an ARM CPU to emulate x86. In my particular case, the need is for PPC classic MacOS support. I think of Basilisk as a 68K Mac emulation package.

Of course, I'm willing to be disabused of my impressions. :)
 
I think of Basilisk as a 68K Mac emulation package.

Sadly last I checked SheepShaver actually ran 68k Mac programs faster than BasiliskII does. Unless you specifically need to run something older than 7.5.x (but not older than 7, that’s vMac or MAME territory) it’s hardly worth bothering with it anymore.

I believe the PowerMac hardware model in QEMU has gotten accurate enough that it’s *possible* to run NewWorld versions of MacOS like 9.x, but it’s kind of a headache to get it working and it doesn’t have niceities like the Unix file system integration built in. On the flip side, unless they fixed it recently SheepShaver wouldn’t run 9.1 or 9.2, because its CPU emulation barfs on some MMU fiddling those last versions do.
 
BasiliskII (68k CPU emulation) and SheepShaver (PowerPC) *do* emulate the CPU.
That's not true for the original SheepShaver for BeOS on BeBox and PPC Macs, it runs code directly on the cpu.
It needs a PPC Mac Rom on the BeBox but it accesses it directly on any supported Apple computers.
 
That's not true for the original SheepShaver for BeOS on BeBox and PPC Macs, it runs code directly on the cpu.

Sure. And BasiliskII can also run in a “use the real CPU” mode on several flavors of 68k hardware. (Mainly Amiga, but supposedly it could also work under NetBSD on several platforms; from what little I’ve read about it it sounds like the Unix support has been terminally broken most of the time it’s been around. Maybe someone here got it to work once.) But generally speaking when people talk about it or SheepShaver they mean emulation.

Another “uses the real CPU” wrapper for running MacOS was MOL, Mac-On-Linux. It mostly was used on Apple hardware, obviously, but it could run on other Linux-capable PPCs. (I’ve seen it on an IBM RS6000 of some sort… a 43p?) I actually used this briefly for real work for a few months in 2001; I inherited the “webmaster” job at a failing startup, including the G4 PowerMac with all the assets on it, and MacOS 9 had me wanting to throw it out the window within a week. So I installed a second hard drive with Linux and MOL, and used it when I needed to access Photoshop and a couple other tools while transitioning everything to a less annoying workflow.

FWIW, photoshop crashed less often under MOL than it did with OS 9 fully in charge. Gawd, that OS sucked.
 
FWIW, photoshop crashed less often under MOL than it did with OS 9 fully in charge. Gawd, that OS sucked.

Classic MacOS was less of an operating system and more a disjointed collection of APIs loosely held together by the Macintosh Toolbox, duct tape, super glue and hopes and dreams.

By the time OS 9 rolled around, more of the system was written by third parties than Apple itself. In the late 90s, Apple was in a desperate 3rd party technology buying spree to try and remain relevant. OS 9 was a cumulation of bolted together 3rd party technologies. All of their product divisions were so busy with internal infighting that they weren't getting anything done, hence the buying spree.

MacOS 8.6.1 was the last good version of classic MacOS. Apple tried hard to clean up the mess of the 8.x codebase and optimize it so it ran well. All of that went out the window when 9 came out. Thankfully since MacOS is more a string of random APIs bolted together, most OS 9 software would run on 8.6.1 if you had the correct system extensions installed.
 
Back
Top