Apple’s Macintosh 128K on a Pi Pico gets a compliment from Upton

The Raspberry Pi has long been popular with retro computing enthusiasts, and its microcontroller – the RP2040 – can also be used for a variety of emulation purposes, including now the original Apple Macintosh 128K.

The Pico MicroMac – Photo: Matt Evans

Compared to the $2.5k Apple wanted for the Mac in 1984 – about $7.5k in today’s money – a Pi Pico with the RP2040 costs about $4. As the RP2040 is pitched to the microcontroller market, hobbyists have had the device running everything from Doom to a range of emulators for long-outdated computers.

Inveterate tinkerer Matt Evans has gone one step further and managed to launch an emulation of the original Macintosh 128K on the small computer.

With its origins coming from a discussion about building a GUI for the RP2040 that turned into getting an old operating system up and running, the pico-mac (or pico-umac – Evans uses both names in his documentation) emulates a complete Macintosh 128K with disk storage.

The RP2040 has 264K of internal RAM and can support up to 16 MB of off-chip flash. Evans used the basic board with 2 MB flash. “Sufficient disk image with operating system and software,” he wrote in his blog post.

Evans’ travails are well documented in his blog, from building the emulator to booting up the monochrome Mac desktop. He had to build a custom board to transfer the Mac’s 512×342 resolution video to VGA with minimal effort, which required some soldering and a VGA connector.

Evans wrote that he “felt guilty about cutting a VGA cable. But when I was taking a walk at lunch, without bothering you, I came across some street cables.” He picked one up: “I had a VGA cable – the rust helps with the janky aesthetic.”

He told The register that the cable needed to be thoroughly scrubbed with antibacterial spray, but insisted it was a true story: “The world’s disgusting wasteful consumer way of telling me to solder the Pico.”

“The Pico-Umac… is pretty terrible as an emulator, and the existing emulators are MUCH better – [this was] actually just a tech demo to show what a 2040 can do!” Still, it remains an impressive achievement.

He said: “It was supposed to be ‘two or three weekends’ but to be honest it took ages. Started in early April, working off and on, maybe one Sunday and one evening a week.

“The most important thing for me is that it got interesting/fun just before it got hard, so I didn’t give up (the fate of many projects).”

And we’re glad he persevered.

Pi supremo Eben Upton called the effort, which is in the great tradition of getting 8- and 16-bit platforms on the RP2040, “very cool.”

Upton spoke The register during our recent Retro Tech Week and reflected on the benefits of a cheap computer with a ready-made software library. “I’ve always seen this as an interesting potential route to an ultra-ultra-cheap general-purpose PC for the most cost-sensitive users, giving you something in the neighborhood of $1 that still has access to a turnkey software catalog.”

“Probably a pipe dream,” he added.

As for the why of an RP2040, Evans told us: “The 2040 because I’ve used it on quite a few projects so far, and it’s just plain simple. The SDK is well planned and documented, and the hardware is unusual in that it’s dual- core, that it has standard Cortex-M0+ cores, yet clocks very fast, and that it has a lot of RAM compared to other cheap MCUs.

“There are other MCUs with more stuff, but not for 80p! So I wanted to stretch the 2040 a bit and do something that required a lot of thought about performance.”

Upton said: “RP2040 microcontrollers are generally well suited for these applications, because the PIO allows you to transfer the video (and sometimes one or two other things) without any CPU load, and often you can find additional CPU tasks that can be moved to the second core.”

He added that it was “in many ways exactly the kind of devious thing we designed it to be.” ®

Leave a Comment