Close
0%
0%

MCM/70 Reproduction

I am making a full sized MCM/70 reproduction, a Canadian personal computer from 1974.

Similar projects worth following
The MCM/70 computer was conceived, developed, and built in Canada in 1974. It was arguably one of the very first "personal" computers because it was portable, had a built-in keyboard, display, and support for the APL programming language, plus cassette storage. On the other hand, at a cost of $10,000, it was only really accessible to large corporations, the military, governments, and educational institutions.

As soon as I became aware of the MCM/70 I knew that I had to have one, and given the rarity of these machines that means making one. This project will chronicle my MCM/70 Reproduction journey.

Inspiration

I've been a vintage/retro computer enthusiast for a long time now and thought that I had a pretty good handle on all of the machines available in the 60s and 70s. So imagine my surprise when I saw the Kristina Panos February 23, 2022 blog post: INPUTS OF INTEREST: CANADIAN MCM/70 WAS KINDA LIKE THE FIRST CYBERDECK.

Wow. Mind blown. Here was a  beautiful Canadian built personal computer from the mid 70s that I had no idea existed. As I read Kristina's post I became more and more intrigued. The MCM/70 was conceived by professor Mers Kutt of Queen’s University in Kingston, Ontario and was manufactured in Kingston. The company he formed to build the devices, Micro Computer Machines (MCM), was located in Toronto, Ontario. I live in Waterloo, Ontario, so all of this took place in my own back yard so to speak.  Adding to that there was a ‘devastating power struggle’ between Kutt and some of MCM’s investors that in part ultimately lead to the demise of the company. Well I was hooked. Had to know more, had to have one.

Hardware

Based on the Intel 8008 microprocessor the MCM/70 had 32KB of ROM and up to 8KB of RAM. For output it used a Burroughs Self-Scan module, a 222 column by 7 row dot matrix display, capable of showing 32 5x7 dot characters at a time.  Because the MCM/70 supported APL out of the box, the keyboard was based on the IBM 2741 layout. Finally up to two cassette decks were used for offline storage and to implement virtual memory.

Software

The MCM/70's operating system consisted of two modules EASY (External Allocation SYstem), and AVS (A Virtual System) which were built into the ROM. These allowed the user to directly interact with the machine. In addition the ROM contained an MCM/APL interpreter. From cassette, APL application libraries could be loaded for finance, mathematics, statistics, education, and games. There was also printer and plotter support software. 

Research

Kristina's blog post was a good place to start learning about the MCM/70.  It's a great summary of the origin of the machine, what it was, and its ultimate fate. I would encourage anyone with an interest in the MCM/70 to start there as I did.

For a more in depth look, the blog post references the book Inventing the PC: the MCM/70 Story by Zbigniew Stachniak. I purchased the book and really enjoyed it. A lot of the book is about the history of the company Micro Computer Machines which I found fascinating. More importantly, towards my goal of making an MCM/70, the book talks a lot about the design of the machine and provides insights into what ultimately led to that design some of which were technical, some practical, and some political.

After doing a little more digging I discovered that The York University Computer Museum (YUCoM) has an MCM/70 on display. York University is only about 110 kilometers from where I live, about a hour and a half's drive away. Cool. I also learned that the YUCoM has developed a historically accurate software emulator for the MCM/70 and is offering it free to anyone who requests it. So naturally I requested it through an online contact form and who should answer that request, Zbigniew Stachniak the author of Inventing the PC: the MCM/70 Story who also happens to be the curator of YUCoM.  Small world.  I hope to visit the museum in the near future now that COVID protocols are being relaxed. 

I did some more in depth research into the MCM/70's display and keyboard as these would definitely be the "hard parts" to reproduce. I'll detail my findings in future posts, but I'll say for now that after that research I was convinced that the MCM/70 Reproduction project was feasible, and that I would be happy with the result. So let the fun begin.

  • Top Panel

    Michael Gardi06/02/2022 at 14:30 0 comments

    With the frame built it's time to add the top panel.  First I modeled the panel in Fusion 360. Notice that I don't have a cutout for the keyboard yet because I don't have the keyboard yet. 

    I have added integrated support "beams" to the underside. Since this model is way to big for my print bed I used 3D Builder (which I believe ships with all current Windows versions) to cut the model into six pieces. The Split tool in 3D builder is easy to use and works great.

    I did all of the splits down the centerline of the vertical and two center horizontal beams so that I would have a lot of surface area when gluing the pieces back together. 

    So far I have printed and assembled the top four panel parts. I used a gel CA glue to attach the pieces together. I printed the top panel in white because I could not find a suitable pale yellow filament. I have seen images where the panel appears to be white but that could just be due to the lighting when the photo was taken. I'm not opposed to painting the top panel at some point closer to the end of the project.

    And this is what it looks like so far with the display and cassette drives installed.

  • Placebo Cassette Decks

    Michael Gardi05/31/2022 at 06:35 0 comments

    So I'm adding fake cassette decks to my MCM/70 reproduction and you might be wondering why. Couple of reasons. 

    First of all the YUCoM software that I am using emulates a machine that has two cassette decks. When I visited the the York University Computer Museum Zbigniew Stachniak (Ziggy) mentioned that MCM did ship a model with no cassette decks (and one with a cassette deck and a modem), but that without cassettes the machine was basically just an APL calculator. So I could have saved some time and still been historically accurate I guess. 

    More importantly though, virtually all of the online images of the MCM/70 feature the two tape deck model. It's important to me that my reproduction is clearly recognizable as an MCM/70 so placebo cassette decks it is.

    Here is the result of my efforts.

     Based primarily on this photo and the measurements that I took at the museum.

    I even got the tape eject lever working ;-) I still have to laser cut the acrylic windows for the lids. 

  • The Frame

    Michael Gardi05/27/2022 at 01:30 0 comments

    I created a template to cut out the "in"side panel pieces for the MCM/70

    frame. The outside line represents the side panels as printed, while the inside outline is 3 mm smaller and is used to make an inner frame to support the top panels.  Holes indicate positions where screws (#6 x 3/4 inch) will be used to attach the printed side panels to the inner frame (black dots), and attach flanges for 1/2 inch doweling to the inside frame (#6 x 1/2inch screws). I laser cut the template from a scrap of acrylic I had lying around to use as a positioning guide for the screw holes.

    Then I laser cut four of the smaller pieces from 6 mm plywood. 

    I designed and printed six flanges to anchor 1/2 inch dowels. 

    Then I glued two panels together for each inside frame and mounted the flanges based on the template.

    The dowels were cut so that the width of the machine from the outside edges of the inner frames is exactly 13.25 inches just as it is in the original. I attached the printed side panels to the inner frame pieces and inserted the dowels.

    So I now have a solid frame to which I will mount the rest of the MCM/70 components.

  • Display Assembly

    Michael Gardi05/25/2022 at 21:41 0 comments

    Finished the display assembly. It's ready to pop into the case when that's done.

  • Side Panels

    Michael Gardi05/25/2022 at 20:43 0 comments

    I mentioned that to my surprise the side panels for the MCM/70 were injected molded plastic, so I decided to 3D print them. It took a bit to get the models to my liking based on the photos I had, but in the end I was happy with the results. Here are my models.

    And this is what they look like printed. 

    Time to start putting together a frame.

  • York University Computer Museum Visit

    Michael Gardi05/11/2022 at 16:49 0 comments

    Last week I had the pleasure of visiting the York University Computer Museum (YUCoM). I was greeted by Zbigniew Stachniak (Ziggy), curator of the Museum and author of the book "Inventing the PC - The MCM/70 Story". The museum is about an hours drive from my home in Waterloo Ontario.

    As the above poster indicates the museum specializes in Canada's contribution to the computing field.

    The museum has a small selection of their large archive of Canadian computers on display. Since I was interested in the MCM/70 I first focused in on some of  the other MCM models that they had on display.

    From left to right: MCM/900,  MCM/800, and an MCM Power.

    There were a few other exabits that caught my eye.

    On the left is a computer based on the MIL 8008 microprocessor, a Canadian version of the Intel 8008. In the middle is a very early Volker-Craig terminal. VC terminals were manufactured in Waterloo and designed by a couple of University of Waterloo grads Michael C. Volker and Ronald G. Craig starting in 1973. They were very popular at the University of Waterloo when I was there (1977-1982). On the right is a Hyperion, an early portable computer thought to be the first portable IBM PC compatible. It was marketed by Infotech Cie of Ottawa.

    After a brief tour I got down to business taking a good look at the MCM/70 on display. 

    I took many photos as I would be modelling the MCM/70 case based on them. One surprise was that the side panels, which I thought to be made of wood, are actually injection molded. I would never have realized this had I not had access to the real thing.

    While I was taking my pictures Ziggy and I had a great talk about the machine; he is probably the world's leading expert on the MCM/70. I especially enjoyed our conversation about the emulator that he wrote for the MCM/70. Since the intent is to use the emulator for research purposes he spent a lot of time making sure that it worked precisely as the hardware did. Since he had a couple of MCM/70s available to him he was able to validate the emulator's faithfulness to the original.  We were also able to compare emulation techniques since I wrote an emulator for a Sol-20.  Nothing like spending an afternoon geeking out ;-)

    So now I have what I need to get going on the MCM/70 case. Ziggy has graciously offered to provide more information should I require it.  I foresee spending a lot of time working with Fusion 360 over the next couple of weeks. 

  • Update 2022-05-01

    Michael Gardi05/01/2022 at 23:50 2 comments

    The project is at a bit of a pause right now while I wait for stuff. Dave from osiweb.org  is currently out of  OSI replacement keyboard PCBs. He is having some manufactured but it could be a couple of weeks. I'm reluctant to do any work on the keycaps until the keyboard is done. I have not as yet been able to obtain measurements for the MCM/70 so I can't begin modelling the case. If anyone knows of an MCM/70 out there please let me know. 

    While I'm waiting I have been making a Sinclair ZX80 clone based on [Cees Meijer]’s excellent writeup (also see: A ZX80 WITH A PROPER CASE).

  • 32 Character Display Electronics Completed

    Michael Gardi04/18/2022 at 20:55 0 comments

    Based on the Broadcom HCMS-2972 parts and the display carrier board PCBs that I made, I have a working MCM/70 display.

    The carrier boards worked out great.  Just had to wire them together.

    With the display in hand, I was able to integrate it with the York University MCM/70 emulator. I used the Wiring Pi library to access the Raspberry Pi's GPIO pins. In order to make the library available for use I executed the following commands on the Pi with the emulator software installed.

    git clone https://github.com/WiringPi/WiringPi.git
    cd WiringPi
    ./build

     The library is referenced in the code through the WiringpPi header file.

    #include <wiringPi.h>

     Also when building the code the wiringPi  library needs to be referenced.

    gcc mcm.c -lGL -lglut -lwiringPi -o mcm

    When I'm a little further along I'll post the changes I made to the York University code.  The HCMS-2972s are pretty easy to work with. 

    Here is a short video of the display assembly in action.

    I had hoped to tackle the keyboard next but I will be a few weeks until I get the OSI keyboard PCBs. Hopefully I can get a start on the MCM/70 case.

  • Display Carrier Board

    Michael Gardi04/05/2022 at 18:33 0 comments

    I have received all four HCMS-2972s, so it was time to start thinking about how to organize them into a 32 x 1 character display. My original thought was to design a PCB to hold all four parts. Then I realized that JCLPCB is going to ship a minimum of five boards anyway, so I came up with a carrier board for a single HCMS-2972 that can be easily daisy chained together with others.

    Pretty simple. I'll use a couple of IC sockets a 14 pin and a 12 pin to hold the HCMS-2972s in place (these parts are like $60 a piece so I'm not taking any chances with them).

    Board files have been sent for manufacturing.

  • The Keyboard

    Michael Gardi04/03/2022 at 19:22 0 comments

    I knew that producing an authentic looking keyboard for this project would be a challenge in two parts. First getting the physical keyboard layout right with the MCM/70 keys. The second challenge will be to obtain a keycap set with the special APL symbols (legends). Here is an MCM/70 keyboard.

    Well I think I have the keyboard layout issue sorted.  After looking at many many keyboards online I found the following.

    This is a keyboard for Ohio Scientific (OSI) computers that were popular in the mid to late 70s.  It's a very close match layout wise to the MCM/70. One small difference is that the OSI spacebar is only 8U compared to the MCM/70's 9U size. Also the MCM/70 has an ISO style Return (rotated L shaped) key, but if you remove and ignore the OSI's Repeat and Break keys and replace the Return key with the ISO model it's a practically perfect replacement.

    So how does this help? Aren't OSI vintage keyboards just as hard to find as MCM/70 keyboards? Well yes and no. Yes originals are hard to find, but thanks to Dave from osiweb.org replacement keyboards are not. I used Dave's Sol-20 reproduction keyboard for my Sol-20 Reproduction and it worked out great.  If you check out Dave's Unified Retrocomputer Keyboard Project on GitHub you will see that he also offers keyboards for Apple I, Apple II/II+, Generic ADM/3A teletypes, and most importantly to me OSI computers. So I have ordered an OSI keyboard PCB and stabilizer, OSI keycaps, and an encoder. 

    As for the MCM/70 APL keycaps, well I'm still looking into that. Lots of options. More later.

View all 13 project logs

Enjoy this project?

Share

Discussions

Peabody1929 wrote 05/11/2022 at 17:27 point

The Computer History Museum in Mountain View, CA has two MCM/70s in it collection.  There are numerous documents and manuals for it.  If you search the collection for the MCM/70, one of the objects has photos of the boards inside the machine.  

  Are you sure? yes | no

Ken Yap wrote 04/03/2022 at 00:10 point

👍 This is cool. I like projects that involve unearthing some fascinating technical history. Should be interesting.

  Are you sure? yes | no

Michael Gardi wrote 04/03/2022 at 03:27 point

Thanks Ken. I’ve already learned so much about this historic machine.

  Are you sure? yes | no

Cees Meijer wrote 04/02/2022 at 19:45 point

OMG! You're doing it Again!  Do you have unlimited time on your hands for all these projects ?

  Are you sure? yes | no

Michael Gardi wrote 04/02/2022 at 20:56 point

Actually I’m retired Cees, so I kind of do have the time.

  Are you sure? yes | no

Tom Nardi wrote 03/31/2022 at 02:32 point

If there's anyone who can do this project justice, it's you. Very excited to see your take on this unique machine.

  Are you sure? yes | no

Michael Gardi wrote 03/31/2022 at 15:17 point

Thanks Tom.  As a proud Canadian I'm excited too!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates