Apple's Macintosh 128K on a Pi Pico gets thumbs-up from Upton

Just because you could definitely means you should

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

Raspberry Pi Pico with VGA board emulating a Macintosh 128K

The Pico MicroMac – Pic: Matt Evans

Compared to the $2.5k Apple wanted for the Mac in 1984 – around $7.5k in today's money – a Pi Pico with the RP2040 costs around $4. While the RP2040 is pitched at the microcontroller market, hobbyists have made the device run anything from Doom to a raft of emulators for long obsolete computers.

Inveterate tinkerer Matt Evans has taken things further and managed to fire up an emulation of the original Macintosh 128K on the diminutive computer.

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

The RP2040 has 264K of internal RAM and can support up to 16MB of off-chip flash. Evans used the basic board with 2MB of flash. "Plenty for disc image with OS and software," he wrote in his blog post.

Evans' travails are well documented in his blog, from building the emulator to getting the monochrome Mac desktop to boot. He had to build a custom board to shunt out the Mac's 512 x 342 resolution video to VGA with minimal faff, which required some soldering action and a VGA connector.

Evans wrote that he "felt bad about cutting up a VGA cable. But when I took a walk at lunchtime, no shitting you, I passed 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 a thorough scrubbing with antibacterial spray but insisted it was a true story: "The world's disgusting wasteful consumption way of telling me to solder up the Pico."

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

He said, "this was meant to be 'two or three weekends' but honestly it's taken ages. Started early April, working on and off, maybe a Sunday and a night a week.

"Key part for me is it got interesting / fun just before it got difficult, so I didn’t give up (fate of many projects)."

And we're delighted he persevered.

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

Upton spoke to The Register during our recent Retro Tech Week and pondered the benefits of a low-cost computer with a ready-made software library. "I've always considered this an interesting potential route to an ultra-ultra-low-cost general purpose PC for the most cost-sensitive users, giving you something in the $1 range that still has access to a ready-made software catalogue."

"Probably a pipe dream," he added.

As for why an RP2040, Evans told us: "The 2040 because I’d used it for a fair few projects so far, and it's just easy. The SDK is well planned and documented, and the hardware is unusual in that it’s dual-core, that it has basic Cortex-M0+ cores yet they clock very fast, and that it’s got 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 little, and do something that needed careful thought to performance."

Upton said: "RP2040 microcontrollers tend to be well suited to these applications because the PIO lets you offload the video (and sometimes one or two other things) without CPU load, plus often you can find auxiliary CPU tasks that can be hived off onto the second core."

He added that it was "in many ways exactly the kind of devious thing we designed it for." ®

More about

TIP US OFF

Send us news


Other stories you might like