The design has only two major components, an Amtel AVR ATtiny45 micro-controller (MCU) and a XC9572 Xilinx complex programmable logic device (CPLD). The Atmel micro-controller initializes and talks to the keyboard. The keyboard is put into the mode "scan code set 3", which is a simplified key mode where no extended codes are used which makes life easier. Also the key auto-repeat is disabled. Auto-repeat is handled by the spectrum so no need to use it on the keyboard end. The controller program translates the 127 possible AT key codes into spectrum keyboard column bits using a look-up table to map one to the other. See the AVR source code for details. |
Why's this design different from others ? Well.. on the original Spectrum you could read more than one row of keys at a time by having more than one address line being low during a keyboard read. The big advantage of this CPLD approach is that it can simulate this behavior. So if both address line A8 and A10 are low, the CPLD will output the up/down key status of BOTH those rows onto the databus, just like you'd see happening with a real Spectrum. |
|
top of page
bottom of page