The brand-new MAME 0.253 has plenty of Apple related work in it! Starting with some bugfixes: monochrome double-hi-res wasn’t displaying correctly for the IIe RGB Monitor mode and all IIgs configurations. That’s been fixed. Crashes and hangs with the IIgs games GBA Basketball, Paperboy, and Zany Golf have been fixed, thanks to everyone’s favorite code golfer, qkumba. Ensoniq ES5503 sound on the IIgs (and the Ensoniq ESQ-1 and SQ-80, because we emulate those too!) is even more accurate.
In Mac land, it was The Final Cleanup. For those unfamiliar, when I originally got a bunch of Macs working circa 2011-2013, I jammed them all into the existing Mac driver (mac.cpp) regardless of if they had much in common other than being Macintoshes. This led to a giant unmaintainable blob and so a year or so ago I started splitting it up and emulating the shared major ASICs as separate devices (in MAME, a device is a C++ class with some minor extra powers granted by the core – they’re the key to our current modularity and ability to have freely configurable slots, among other things).
Anyhow, after the 0.252 release, mac.cpp had been cut down to contain the Mac II series (minus the IIvx and IIvi, which already moved to their own driver and the “VASP” ASIC device which powers them). Next on the chopping block was the IIfx, aka “Wicked Fast”. It had recently gotten some work done on hooking up its dual 65C02 coprocessors by contributor AJR so it showed the flashing question mark disk, but still has a ways to go. Now, in its own driver, it can more easily get some love. Last out of the blob were the IIci and IIsi, which are near-twins based on the “MDU” and “RBV” pair of ASICs. (That’s “Memory Decode Unit” and “RAM Based Video” if you don’t speak Apple). MDU doesn’t have CPU-accessible registers so there wasn’t a lot of point to making it a device, but RBV was the origin of a pretty long line of Macintosh system ASICs leading all the way into the PowerPC era and it definitely became a device.
For the PCI Macs, the Pippin driver was extensively cleaned up and renamed from macpci.cpp to pippin.cpp, because “macpci.cpp” was a hangover from when I was going to blob the PCI Macs. Fortunately I realized that was a bad idea before it actually happened. Pippin’s specialized PCI bridge chip “Aspen” is now supported as a subclass of the “Bandit” PCI bridge chip used in most pre-G3 PowerMacs, and the “Grand Central” PCI I/O chip is at the correct PCI address now so the system can find it.
Also, I transferred all of the now decade-old Mac technical information from the old MESS blog to MAMEdev.org’s blog. You can access all of that information right here. It’s all been corrected and expanded all the way out to the PowerMac G5s, with the correct chips assigned to some machines that were wrong in the old list. And the list of Apple chips by 3xx-xxxx number is significantly expanded and includes a bunch of Apple II-related chips.
What’s happening now for 0.254? I’m working on creating the “descriptor-based DMA” device that most of the PowerMacs rely on, which hopefully will lead to hearing the boot beep from the PowerMac G3 and the original Bondi blue iMac.