
The State of Macintosh Emulation
Published 2020-06-28
Updated 2025-06-26
The State of Macintosh Emulation
Last updated 2025-06-26.
The classic Macintosh platform, released in 1984 and discontinued in 2001, was nothing short of iconic. It pioneered many conventions of the graphical user interface, it introduced the mouse to the mainstream, and the operating system was a marvel of its time.
Unfortunately, classic Macintosh emulation is pretty pitiful. Let's go through all the Macintosh emulators I'm aware of. It should also be noted that I haven't talked with any of the developers of these emulators. Writing an emulator is a laborious, thankless job, and I don't wish to diminish their work. I'm writing this because, in my opinion, the state of Macintosh emulation could be improved.
SheepShaver and Basilisk II
SheepShaver and Basilisk II are two very related Macintosh emulators. They share the same developers, the same configuration program, and even the same source code repository. The difference is that SheepShaver targets newer PowerPC-based systems, while Basilisk II targets Motorola 68000 System 7-era systems.
They're fine. They work, I guess. I haven't used SheepShaver much, but Basilisk II has some very nice features like TCP/IP support, and the ability to browse your local computer. Those are very nice. I used Basilisk II a lot when writing my AOL article series, as for some reason only the Mac version of AOL gave me things to explore.
Basilisk II on Windows at least comes with HFVExplorer, a nice-ish disk editor. It lets you browse Macintosh disk images, manage files and resources, and copy things in and out using a variety of conversion formats. (Macintosh files are strange, because they have a data fork and a resource fork, which is unlike almost every operating system today.) It's clunky, weird, and was last updated in 1999, but I appreciate it. It also comes with some Windows 95 drivers for the CD drive, a Windows NT 4 and 2000 compatible network driver (that you don't even need), along with some readmes from the year 2000.
It's far from perfect, though. The Windows version refuses to start with no error message unless you've installed both SDL 1.2 and GTK 2, both very painfully obsolete libraries. Software compatibility is far from perfect, although it's often "good enough" for most use. System crashes tend to take down the entire emulator. But fine, this is a work in progress. Unfortunately, new updates appear to be sporadic.
The official place to download Basilisk II/SheepShaver is a random forum thread on the Emaculation message board. Builds are added to the OP whenever some forum user just decides to recompile the software. Literally years can pass between releases, and there's no synchronization between builds for Windows, Linux, or macOS. The most popular build of Basilisk II dates back to 2010, and this is still the only version listed for Linux platforms. The newest build of SheepShaver (as of 2020) is from 2015, explicitly for testing. There are numerous known issues listed in the post. None have been fixed. The latest stable version is from 2013.
I do not like this. I'd feel much more comfortable downloading from an official source like, say, a GitHub releases page. If you wanted to, you can even set up GitHub to automatically compile and publish a release at the push of a single button, or even just when you upload your code to the website. That's called Continuous Integration. The amusing thing about this all is that Basilisk II and SheepShaver are developed using GitHub. Right here! It's actively somewhat actively worked on, too. They're already using Continuous Integration to check the correctness of the code, at least on Linux. I am surprised that they're not using this to compile and publish up-to-date builds.
Honestly, if they just made those simple tweaks to how they build and distribute the emulator, I'd have a lot less complaints about Basilisk II and SheepShaver. The code is perfectly readable, everything is nice and separated, it's fine. It could definitely use some more developers, some unit tests, better ways of managing disk images, but it's fine.
PearPC
PearPC is another Power Macintosh-era emulator. However, instead of emulating Mac OS 8 and 9 like SheepShaver, this targets OS X 10.1 through 10.4, and various versions of Linux and BSD. For some reason, Mac OS X 10.5, the last PowerPC version, doesn't work. ...well, actually, there might be a reason for that. The most recent releases were in 2011 and in 2005. Thankfully, these are downloadable from the project website, with source code. It does not support sound. CPU emulation is pretty slow, between 15x to 500x slower than the host computer. Most implemented hardware are just stubs at this point, just enough to get the system bootable.
This emulator is very incomplete. It hasn't been in active development since 2005, and development only started around 2004. The absolute latest commit on its GitHub page is from 2015. It's really nothing more than a historical curiosity right now. And yet, somehow, it's consistently placed in lists of Macintosh emulators as if it's still relevant.
PCE
This one is interesting. It's a multi-system emulator, but it emulates some early Macintoshes, up to the Macintosh SE and the Macintosh Classic. Most of the hardware is supported.
PCE also has a JavaScript port, which is used by the Internet Archive for their Macintosh emulator. It works very well in that role, and from the few titles I've tried, they all work fine. That said, no official build has came out since 2017, and the newest version you can download and use out of the box is from 2013.
At least for the Windows build, the user experience isn't great. On the one hand, it bundles in a ROM and a disk image of a pre-installed System 7.0.1, so that saves you some trouble. On the other hand, launching the emulator opened up a terminal window, then the emulator, which just swallowed my mouse and keyboard inputs. It took me some difficulty to figure out how to turn the thing off, and I'm still not really sure how to give it a disk image.
It's aggravating that all the the emulators I consider "fine" are infrequently or never updated. But at the same time, at least on the classic Mac side, the only changes that really need to be made to PCE seem to be either really obscure edge-cases, additional hardware support, or user experience improvements.
QEMU
QEMU is a very popular multi-system emulator that emulates pretty much everything. I think it's often used for cross-platform ARM development, for instance. It has experimental support for Mac OS X and Mac OS 9. It is rather user-hostile unless you're really into reading man
pages and fiddling with command-line parameters. Sound support is a work-in-progress. But it is a good, functional emulator. Definitely use this over PearPC. SheepShaver might still be better for now though. Here's a blog post on someone emulating Mac OS 9 in QEMU. It's also where I took the image from, since unlike the others there were no images on QEMU's website I could steal.
Mini vMac
This is the one I have the most beef with. It's a small, simple emulator for every Macintosh system from the pre-release Twiggy model all the way up to the Macintosh II, with active work being done on newer models. I'll start by listing what I like about it.
- It's very user friendly.
- It comes as a single binary file, with no DLLs required on Windows.
- It's been ported to many, many, many systems, some strange and esoteric like the DS and even the classic Mac itself. (I guess, technically, this emulator could compile itself.)
- It has a nice error window telling you if you're missing a ROM or if a disk image is invalid.
- It's got a nice built-in control panel when you press the control key, that lets you set window size, emulation speed, inserted disks, etc.
- It's under active development.
- It has a nice website with lots and lots and lots of documentation
So why am I complaining? It's a good emulator. It does its job perfectly fine. It emulates a Mac Plus. And maybe a Mac II. Isn't that all you need?
This is where I start peeling back the layers. Let's start with something simple: changing the settings. Let's say I'm emulating a Mac II, which has an external monitor, and I want to set the color depth to 256 or 16 colors. Or I want to set my display resolution to 640x480, or 800x600. This should be possible, but it's not. Here's some other things you can't change:
- Which model Macintosh to emulate
- The language of the user interface
- Whether the "magnify" option in the Control Mode magnifies by 2x, 3x, or 4x
- Whether or not to have sound
- The number of disk drives the system emulates (it's 6 by default)
- What disk image to load on startup (you have to insert the disk image every time)
- Whether emulation occurs when mini vMac is not the active window (you can set this in the Control Mode, but it doesn't persist.)
- How much memory the system has
- Whether to allow or reject patched ROMs (it always rejects those that don't match an explicit whitelist)
- The default emulation speed (starts at 4x the speed of the original, which is just inauthentic)
These are all pretty reasonable things to what to change, I'd think. The defaults are fine enough, but the fact that I'm forced to stick with them is aggravating.
Except you actually can change most of these things! You just need to use the Variations Service, which allows you to recompile Mini vMac with any of those options set. Because you can only set them if you recompile the software. This already is very strange. But wait, there's more!
By default, these variations come with this completely obnoxious "Demo" pop-up appearing on random locations on the screen once a second. To get a not-demo variant of Mini vMac so you can do something as simple as emulate a Mac II at 800x600, you need to donate ten dollars or more for a Sponsor Code.
Paywalling basic configuarion options is an odd decision, in my opinion. However, I should be fair, the developer does publish a list of what every donation is spent on, all the way back to 2009. I really appreciate that. So what's on it?
...
What.
Look, I'm not angry at you Paul. You've done a very nice job on your emulator and you absolutely deserve all the donations you've received. I'm angry at the fact that your healthcare is so expensive that $1300 only lasts you 111 days.
Just. uuuuggggghhhh. A society that forces people to pay this much for the privilege of not dying is completely inhumane. 12 dollars and 54 cents a day. To not die. For reference, the federal minimum wage in the United States is currently $7.25 an hour.
Conclusion
Of the two (as of 2020), mini vMac and Basilisk II are the best. Mini vMac is very good on the exterior. It's the most user-friendly Macintosh emulator. It's genuinely my preferred emulator nowadays. Nothing wrong with Basilisk II, but it's not the most stable or usable emulator IMO, and unlike Mini vMac it's not updated very frequently.
Notes from 2025
There was a whole rant here about mini vMac's code quality, but it was (rightfully) getting dunked on for being way too hostile. In my defense I was in a pretty bad headspace when I was writing it, but still. I've edited the really bad parts out and moved it to a seperate page as it still contains useful information if you need to compile or work with mini vMac.
Also, to Paul C. Pratt: I sincerely apologize for how needlessly hostile I was to your passion project. I really was just hoping that someone would come and help you out! Make it easier for others to contribute, keep your work alive and relevant! I was aiming for the tone of Tantacrul's videos on software UX. Light-hearted ribbing / frustration venting mixed with genuine compassion over the project's creator and his effort. Clearly I wildly missed the mark there. I do sincerely hope that your decision to quit working on mini vMac wasn't because of me, and if it was, I again sincerely apologize.
Anywho, I did at one point start start my own fork, µvMac, but that stalled out. As of right now it's mostly just a new build system and a code reorganization. It turns out it's somewhat hard to retrofit a debugger onto code that was never designed for it. Thankfully, it seems things have improved. Snow in particular seems to be exactly the sort of emulator I was looking for when I wrote this. CLK, also looks pretty nice. I'm happy to see work done here.