Keen to build his own repro version, Michael began to source components. While obtaining a keyboard was straightforward, from Dave at osiweb.org, he wasn’t sure how to reproduce the MCM/70’s unique APL keycaps. After considering making his own, he discovered a helpful UK supplier of custom keycaps.
Michael used Inkscape to create SVG versions of the legends that could be scaled to fit the keycaps. Detail is crucial in his reproductions, as he reflects: “With the ‘inside’ of the machine being emulated, it is very important to me for the outside to look as much as possible like the original. I want my reproductions to be clearly recognised, and operate the same as the originals they replicate.”
Michael spent some time looking for a suitable replacement for the original MCM/70’s plasma display that’s no longer manufactured, and eventually found the high-performance Broadcom HCMS-2972 dot matrix display which offered a close match. “Packaged as eight 5×7 dot matrix arrays, these modules operate at a nice safe 3.3 V and can be cascaded together side by side to create the 32×1 character display desired here.”
The aesthetically pleasing casing took Michael many hours to 3D-print, and he added two placebo cassette decks for an authentic look: “Virtually all of the online images of the MCM/70 feature the two tape deck model.”
Retro Raspberry Pi
Following a research visit to the York University Computer Museum (YUCoM), Toronto, Michael decided to use the YUCoM working MCM/70 software emulator in his project, which has “high historical accuracy” – important if his version was to work just like the original. “Thanks to the hard working folks at York University, I have a great head start with this project.”
To complement that, he needed a solution with a fairly powerful CPU to run the emulator. After first trying it on a Raspberry Pi 2 he had to hand, he found it only executed at about 33% the speed of an original MCM/70. “When I moved the project to a Raspberry Pi 4B, the emulator ran at twice the speed of the original,” he reveals.
Raspberry Pi’s large number of GPIO pins also allowed Michael to wire the emulator to interact with the display, keyboard, and cassette deck. Plus, he needed “a target system with a Linux-based OS to build and run the emulator (which was written in C). In fact, the emulator built easily on Raspberry Pi OS after a couple of required libraries were loaded.”
The result of his hard work is impressive and Michael has already put it to good use. “I’ve been using the MCM/70 Reproduction to learn APL by working my way through the MCM/70 User’s Guide. Mind you, I won’t be writing any APL programs any time soon, but I would like to get a good feel for the language.”
He has also generously shared a detailed description of his project on Instructables. It’s well worth a read, illustrating his enthusiasm for his retro subject, and taking you through how you can create your own version.