Sections
ZX-Key Connectivity
USB - Arduino Pro Micro
The ZX-Key Keyboard makes use of the Pro Micro's HID capabilities to present a fully functional PC keyboard to a host computer. At present USB connectivity can not be used at the same time as the ZX-Key Expansion Interface.
Keyboard IDC Headers
IDC Headers provide direct interfacing options for 8bit Micro Computers such as the hobbyist RC2014 and the ZX line of Sinclair computers. All lines are rated at 5v, so level shifting would be required if connecting to modern SOCs like the Raspberry Pi.ZX81 Keyboard Header
- Pin 1: 5v. (Input Only: applies when using the keyboard with the ZX-Key Interface Expansion).
- Pin 2: Ground
- Pin 3: Reset line. Connected to the Z80 reset lines and the Arduino Pro Micros on the keyboard PCB. If brought high the ZX81 and Keyboard are reset.
- Pin 4 - 8: Column lines on the ZX81 keyboard matrix.
- Pin 9 - 16: Row lines on the ZX81 keyboard matrix.
Serial Header
- Pin 1: 5v. Power the keyboard via the 5v line if using as a serial device.
- Pin 2: Ground
- Pin 3: Reset line. Can be safely connected to the Z80 reset line on an RC2014. This lines is also connected to the Arduino Pro Micros on the keyboard. If brought high the and keyboard is reset.
- Pin 4: TX, 5v TTL level Serial Transmit.
- Pin 5: Ground
- Pin 6: RX, 5v TTL level Serial Receive.
Using the ZX-Key Keyboard and Selecting Modes
The ZX81 Modes
When the keyboard is connected to the ZX-key interface (and a ZX81) via an IDC ribbon cable, it will behave exactly as a standard ZX81 keyboard.If in ZX81 mode all three of keyboards main indicator LEDs will light up. These LEDs are located on the right hand side of the keyboard. Additionally the TX & RX LEDs on the Arduino Pro Micro Board will be turned off.
The keyboard will detect if it is connected to the ZX81 interface card or to a PC via USB. Once determined the LED indicators on the keyboard will light up. If connected to the ZX81 all 3 indicators will be illuminated.
Do note that the keyboard will not detect a host if connected to to a ZX81 and PC at the same time.
PC, MAC & Serial Modes
When connected to a PC the ZX-Key will function pretty much as a standard U.S. ( US=61 ) keyboard.Keyboard modes and selected layers are indicated by a cluster of three LEDs on the right hand side of the keyboard. There are three keyboard Modes, Standard and Emulator. Consult the tables below on indicator lights and their meanings.
There are two main Modes, STANDARD and EMULATOR. You can switch between STANDARD and EMULATOR modes by holding down SHIFT, FUNCTION (ENTER), and GRAPHICS (9) key combinations.
EMULATOR mode is designed specifically to be used with ZX81 emulation applications such as EightyOne or SZ81. Use the keyboard as you would on a real ZX81. Normal PC and Mac functions can be accessed by switching back into STANDARD mode if required.
The STANDARD Mode contains three main layers NORMAL, FUNCTION and GRAPHICS and each of these layers has a sub-layer accessed by the SHIFT key. FUNCTION mode is accessed by holding down SHIFT, FUNCTION (ENTER) keys and GRAPHICS mode is obtained by holding down SHIFT and GRAPHICS (9) key combinations. To go back to NORMAL mode repeat the mode change key combinations.
When using all the combinations of Layers and Modes, the vast majority of standard PC keyboard keys are available on the ZX-Key.
LED States
|
Layer & Mode Selected
| ||
---|---|---|---|
ON
|
OFF
|
OFF
| STANDARD |
OFF
|
ON
|
OFF
| STANDARD - FUNCTION |
OFF
|
OFF
|
ON
| STANDARD - GRAPHICS |
ON
|
OFF
|
ON
| EMULATOR - ZX81 |
OFF
|
ON
|
ON
| EMULATOR - SPECTRUM (firmware 1b and above DEC 2020) |
ON
|
ON
|
ON
| ZX81 - INTERFACE CONNECTED |
Standard Layers: Keyboard Mode and Function Selection
| |
---|---|
Normal | Normal mode. All keys are in Standard US Keyboard configuration. |
SHIFT | When in Normal Mode: Symbols in Red are selected. Where these red keys are commands, for example 'EDIT or SLOW' they have been replaced by another symbol. All common symbols are present on the keyboard. Note that SHIFT keys effects vary in each of the other modes |
SHIFT,FUNCTION | Changes to Function mode. This selects upper case characters. Pressing the SHIFT key in this mode will select symbols as normal. |
SHIFT,GRAPHICS | All the number keys are now there equivalent 'Fx' key, ie. '1' becomes 'F1'. All Letter keys become 'CTRL Letter'. Holding down the SHIFT key in Graphics mode changes the letter keys to 'ALT Letter', number keys '1' and '2' become 'F11' & 'F12'. |
Emulation Layer: For use with ZX81 or ZX Spectrum Emulators
| |
---|---|
SHIFT, FUNCTION, GRAPHICS | Keyboard will enter the emulation modes. All Standard Layer mode functions are disabled. This allows Emulation packages to detect key presses as using a standard USB / PS2 keyboard. From firmware version 1b and above, 2 emulation modes are cycled through; ZX81 Emulation Mode and ZX Spectrum Emulation Mode. (Keyboards released before December 2020 do not have the ZX Spectrum Emulation mode installed by default). |
ZX81 Layer: For use with a real ZX81 plugged into the ZX-Key Interface
| |
---|---|
Auto Detection | The ZX81 layer is selected automatically if the keyboard is connected to a ZX81 using the ZX-Key Interface. You can't deselect this mode. |
Keyboard Assembly
ZX-Key Keyboard PCB Layout |
Assembly List
Label
|
Part Type
|
Properties
|
---|---|---|
+5v Pro Micro1 | Arduino Pro Micro | i/o voltage 5.0 V; processor ATmega32u4 |
D1 to D13 | Diodes | diode-1n4148 |
J1 | 6 Pin IDC Header | Shrouded Male Right Angle; Double Row |
J2 | 46 Pin IDC Header | Shrouded Male Right Angle; Double Row |
LED1 | Green LED | package 5 mm |
LED2 | Green LED | package 5 mm |
LED2 | Green LED | package 5 mm |
R1 | 150Ω Resistor | resistance 150Ω; tolerance ±5% |
R2 | 150Ω Resistor | resistance 150Ω; tolerance ±5% |
R3 | 150Ω Resistor | resistance 150Ω; tolerance ±5% |
R4 | 100kΩ Resistor | resistance 2.2kΩ; tolerance ±5% |
R5 | 100kΩ Resistor | resistance 100kΩ; tolerance ±5% |
S11 | Momentary Switch | package ksa_sealed_tac_switch |
S* (rest) | Cherry MX Key Switch | Cherry MX Compatible PCB Mount Switch |
This comment has been removed by a blog administrator.
ReplyDelete