Close

Keyboard interface

A project log for GTXL Gigatron clone computer with keyboard

Microcomputer that runs without a CPU

justin-davisJustin Davis 09/24/2018 at 14:200 Comments

With the control register, I can change the functionality of the input select line.  Previously /IE would select the serial input chip for the gamepad controller.  That's still the default behavior, but it can be changed to select a different input peripheral.  My main goal was to add a built-in keyboard, so I started with a simple keyboard matrix.  The AC line selects the column, and then a ST IN -> [X,Y] stores the row information to RAM.  AC should only set one bit low at a time while the others will be high.  This will take 8 reads from the keyboard to see which keys are pressed.  This is relatively software intensive, but only costs one CMOS chip (a bus buffer).  This style allows many more possibilities for functionality.  It should also be immune to ghosting from multiple key presses due to each key having its own diode.

This limits us to 64 keys, but that's ok.  I came up with a layout of 63-keys that includes arrow keys.

I prefer a good mechanical keyboard to simulate a good old 70s/80s computer.  It's more expensive than other options, but it has a great feel to it.  I used the GH60 open-source keyboard layout design as a reference and is compatible with the Cherry MX keys.  The arrow keys are not on the GH60, so it's not exactly the same.  And I didn't put in the options for alternate key mounting.

http://blog.komar.be/projects/gh60-programmable-keyboard/

Discussions