Anyone tried Mac emulation via MAME?

I just read an interesting article about a Mac emulator bug due to a Mac Classic II ROM’s bug calling an illegal/undocumented instruction, which just happens to do the right thing on a real 68030 processor, but doesn’t on an emulated '030:

Downtown Doug Brown: The invalid 68030 instruction that accidentally allowed the Mac Classic II to successfully boot up

(h/t Michael Tsai Blog)

The article is a fascinating read, but one thing I noticed is the original author’s choice of Mac emulator. He was using an installation of MAME, an emulation package originally developed for emulating classic arcade video game hardware, but has since expanded into the ability to emulate just about everything that has ever existed, including, it appears classic Macs.

Has anyone here tried emulating Macs with MAME? If so, how well does it work compared to other Mac emulators like Mini vMac, Basilisk II, SheepShaver and others?

If you want to play with MAME, the official download site for the Mac version (Intel and Apple Silicon) is: https://sdlmame.lngn.net/. And it is also available via MacPorts, if you’d prefer to build your own copy.

If you want to see what it can emulate, search the Arcade Dabase. If you search for “Macintosh”, for example, you’ll find the various emulated Mac models and links to their respective status pages.

Of course, emulating anything requires software (arcade ROMs, computer ROM firmware, operating systems). That is beyond the scope of the MAME project and must be acquired from other sources - which is how the MAME project remains legal.

If you own an old Mac and want to emulate it, there are tools where you can copy your own ROM to a file, which is about as close to legal as you can get. If not, some web searching can probably find them, but that wouldn’t be legal if you don’t already own the computer (or at least a motherboard).

1 Like

I haven’t tried it, but it remains intriguing. MAME is impressive.

As I mentioned elsewhere on TidBITS, I had worked extensively with Silicon Graphics IRIX machines early in my career. Mac and SGI users often had very similar feelings of fondness for their systems back then. Since SGI systems used MIPS processors and a lot of custom hardware, the assumption for many years had been that there never would be a SGI IRIX GUI emulator.

Through a lot of hard work, implementations of IRIX on MAME now work surprisingly well. They’re not speedy, but they are impressive enough to give me optimism that MAME eventually will emulate Intel Macs on Apple Silicon hardware quite well.

Emulating an Intel architecture processor isn’t hard - there are plenty of well established emulators that will do that. But they typically emulate very old models. Partly because that’s what the retrocomputing community wants, but also because they’re slow enough that a modern computer can emulate them at full speed.

Emulating an Intel Mac at a speed fast enough to run macOS and modern apps is a very different thing, however. A 2018 Mac mini (last generation Intel, I believe) has an 8th generation Core i3/i5/i7 processor. This is a very fast processor. I highly doubt that any current Apple Silicon processor is fast enough to emulate this at a usable speed. But it may be interesting as a proof of concept, and different people have different opinions about what is “usable”.

It will probably be easier to emulate an older Intel Mac. For instance, a 2011 mini has a 2nd generation Core processor. It is more likely that one of these can be emulated at a usable speed. The downside here is that you will almost certainly be limited to versions of macOS compatible with that generation computer (Lion 10.7 through High Sierra 10.13), and would therefore only be useful for running old software.

But on the other other hand, it is more likely that you can strip-down an installation of these old macOS releases to make it run more comfortably in an emulator. Modern releases and the SSV make it more difficult to customize an OS installation for emulation.

All fair points. As with any emulator, “Is it possible?” is a very different question from “Is it usable?”

Especially in the case of trying to run relatively current operating systems under emulation, usability is usually the biggest challenge.

Who remembers running SoftWindows and Virtual PC back in the 90s?

1 Like