The world isn’t short of classic Macintosh emulators, but one more certainly cannot hurt.
Snow emulates classic (Motorola 680×0-based) Macintosh computers. It features a graphical user interface to operate the emulated machine and provides extensive debugging capabilities. The aim of this project is to emulate the Macintosh on a hardware-level as much as possible, as opposed to emulators that patch the ROM or intercept system calls.
It currently emulates the Macintosh 128K, Macintosh 512K, Macintosh Plus, Macintosh SE, Macintosh Classic and Macintosh II.
↫ Snow’s homepage
Snow is written in Rust and open source under the MIT license.
As a mac retro-hobbyist, I can say that the world very much IS short of classic mac emulators… though this is competing with the best one.
For Mac OS X or Mac OS 9.2, your only really viable option is QEMU’s PPC emulation, which needs a special third-party patch if you want audio.
For Mac OS 8 or 9.0.4, you want SheepShaver (also PPC), which is borderline unmaintained, prone to crashes if you don’t massage it properly, only works with a very specific version of QuickTime in the emulated OS, is only really suitable for Mac OS 8 if you want to optimize for stability, and requires you to alter your sysctl settings to loosen system security because it does some zero-page tricks.
For System 7 at a size other than “Compact Mac” or “This one specific hard-coded Macintosh II resolution”, you want BasiliskII (680×0), which is also borderline unmaintained and flaky at times.
For System 6.x, or 7.x with maximum stability, you want Mini vMac (or, I suppose possibly Snow now), which is the most solid of the bunch but doesn’t emulate networking and admits to not having implemented hardware floating point yet with the “but” that you’d be surprised how vanishingly few applications need for it.
Macintosh emulation is in the 90s/2000s console emulation days where you need to pick the right emulator for each application you want to run because, otherwise, an OS that’s supposed to be a compatible version might crash out to desktop.
Thankfully, MacOS9Lives has been a big help for getting OS 9.2 running on Power Mac G4 machines that never officially supported it to broaden the range of available hardware, with the caveat that you may need a USB sound card and an external volume control to work around shortcomings in the resultant install image.
Another option if you’re emulating a 68k mac is actually UAE, and then using one of the Amiga Mac emulators.
Nice. Written in rust. 🙂
My favorite classic MacOS emulator was ARDI Executor 2
https://en.wikipedia.org/wiki/Executor_(software)
https://github.com/ctm/executor
https://www.macintoshrepository.org/25615-ardi-executor
https://winworldpc.com/product/executor/20
*nod* I need to try doing a build of Executor 2000 to see how it’s doing these days. “Wine, but for classic Mac OS” is something we need more of.
(Executor 2000 is a fork by the guy behind the Retro68 GCC toolchain for classic macs and it apparently supports a rootless mode.)
https://github.com/autc04/executor
https://github.com/autc04/Retro68
Thanks. Executor 2000 is really nice.
You are right. It is really like WINE. Classic Mac programs and programs of the current system (for me Linux) running side by side. 😀
It was like Wine even without rootless mode.
For me, the defining characteristic is that, instead of running Apple’s Toolbox ROMs and Mac OS inside the emulated Motorola 680×0, it runs from-scratch reimplementations of the relevant APIs outside, making its rootful mode similar to how DOSBox works and, on the legality side of things, making it a potential avenue for vintage games without engine rewrites to be re-released on GOG without needing to negotiate some kind of Amiga Forever-esque license, similar to how various Sierra compilations like the King’s Quest Collection bundled their Apple ][ games and AppleWin as bonus content.
Wow. Thank you. I used to be a huge fan of ARDI Executor and I either did not know or somehow forgot that the source was available. I certainly did not know if was on GitHub. Cool to see that people have picked-up and evolved the code.
I am a fan of the old Apple computers, and as someone who is just starting out in Rust, this is a very cool project to see.
I just wish someone would write an open source Motorolla 68040 FPGA Core. Then we could run the Classic Mac OS 8 systems under MiSTer and do away with emulation.