With the keyboard and encoder assembled it was time to test. First I had to make changes to the York University MCM/70 emulator. I took the opportunity to switch away from the Wiring Pi library to access the Raspberry Pi's GPIO pins. Wiring Pi has been deprecated so I am now using the pigpio library for both the display and keyboard GPIO access. Pigpio is installed by default on Raspberry Pi OS.
The library is referenced in the code through the pigpio header file.
Also when building the code the pigpio library now needs to be referenced.
gcc mcm.c -lGL -lglut -lpigpio -o mcm
It was an easy change since the API calls are very similar.
Here is a short video of the display and keyboard in action. A couple of notes.
- The emulator is now running on a Raspberry Pi 4. Much faster than the model 2 I was using. In fact the timing test from the MCM/70 Emulator manual ( 0.7 ÷ ι255 ) runs in about 18 seconds. On the original hardware this test runs in 50 seconds. There is a setting so the emulator can be slowed down to match historical speeds. Check out the video.
- The keycaps I am using are not the final ones. This was a cheap set I got from Amazon because the color was a pretty good match. I am in touch with a couple of companies that make custom keycaps to hopefully get more accurate reproduction keycaps.
- When the MCM/70 is "calculating" you will see random dots on the display. This is because the machine was severely memory constrained so display memory was used when the display itself was not required.
I have printed the case cover for the keyboard area. Again these are not the final keycaps so the spacebar in particular shown here is 6U while the original's was 9U.
Needs a bit of "fit and finish" but getting close.