Code
F9
FA
FB
FC
FD
FE
FF
Name
Meaning
Last key code bad, next code is the same code
retransmitted (used when keyboard and main unit
get out of sync) •
Keyboard output buffer overflow
Unused
Keyboard self test failed
Initiate power-up key stream
Terminate key stream
Unused
KEYBOARD HARDWARE
This is a description of the hardware insides of the Amiga keyboard.
This description is valid only for the second revision of the keyboard,
the version with the watchdog ti¢er.
PROCESSOR
The processor is a Rockwell/NCR/MOS Technologies 6500/1.
It contains 2K
bytes of ROM, 64 bytes of RAM, and 4 I/O ports of 8 bits each.
It also
has a 16-bit timer and edge detect capability on two of the I/O lines
(port A bits 0 and 1).
It has a built-in crystal oscillator, running
at 3.00 megahertz, which is divided internally to a 1 5
MHz
internal clock.
RESET CIRCUITRY
There is a circuit for resetting the processor on power-on.
The reset
pulse lasts about 1 second after power is applied.
The circuit also
performs a "watchdog" function:
once the processor starts scanning the
key matrix, the watchdog timer is armed and will reset the processor if
the scanning stops for more
than
about 50 milliseconds.
The column 15 line
is the trigger for the watchdog timer.
KEY MATRIX
1here are 91 keys on the keyboard.
84 of them are arranged in a matrix
of 6 rows and 15 columns (leaving six holes in the matrix).
Each row is
an input and has a pullup resistor to
vee
on it (R=3 . 3K to 11K).
Each
column is an open-collector output with no pullup, Le., it can drive
a column line low, but not high.
The program will drive columns one
at a time and read rows.
The other seven keys are special shift keys as follows:
CTRL, left SHIFT,
right SHIFT, left ALT, right ALT, left AMIGA., right AMIGA..
Each of these
keys has a dedicated input on the microprocessor.
The actual port and bit
numbers of all the keys are described below.
PORTS
As
mentioned, there are four I/O ports of 8 bits each.
1he following
table describes each port and the meaning of each bit:
PORT A -- 6500/1 address 080 hex
PA.O
In/Out
KDAT
output/positive edge detect input (*)
PA.l
Out
KCLK output (*)
PA.2
In
Row 0 input (low
=
switch closed).
PA.3
In
Row 1 input
PA.4
In
Row 2 input
PA.5
In
Row 3 input
PA.6
In
Row 4 input
PA.7
In
Row 5 input
(*) These two bits are swapped from
the previous code, to take
advantage of the positive edge-detect capability of the
·PA.O pin (it is easier to detect a handshake this way) •
PORT B -- 6500/1 address 081 hex
PB.O
In
Right SHIFT key input (low
=
switch closed) •
PB.l
In
Right ALT key input
PB . 2
In
Right AMIGA. key input
PB.3
In
CTRL key input
PB.4
In
Left SHIFT key input
PB.5
In
Left ALT key input
PB.6
In
Left AMIGA. key input
PB.7
Out
CAPS LOCK LED control (high
=
LED on) •
PORT C -- 6500/1 address 082 hex
PC.O
Out
Column 0 output (active low)
PC.l
Out
Column 1 output
PC.2
Out
Column 2 output
PC.3
Out
Column 3 output
PC.4
Out
Column 4 output
PC.5
Out
Column 5 output
PC.6
Out
Column 6 output
PC.7
Out
Column 7 output
PORT D -- 6500/1 address 083 hex
PD.O
Out
Column 8 output
PD.l
Out
Column 9 output
PD.2
Out
Column 10 output
PD.3
Out
Column 11 output
PD.4
Out
Column 12 output
PD.5
Out
Column 13 output
PD.6
Out
Column 14 output
PD.7
Out
Column 15 output (*)
(*) This keyboard has only 15 columns, nwnbered 0 to 14.
However,
the microprocessor software supports 16 columns, so we can use
it in a future keyboard.
Need help?
Do you have a question about the Amiga and is the answer not in the manual?