Keyboard
From SpecNext Wiki
| Number | PortNumber::$**FE |
|---|---|
| Decimal | NumberDec:: |
| Short desc. | ShortDesc::Series of specific ports that read keyboard key presses. |
| Bit Mask | PortMask::%xxxx xxxx ---- ---0 where only one bit in x is 0 |
| Readable | Readable::Yes |
| Writable | Writable::No |
| Subsystem | Subsystem::Input |
Reads keys on the keyboard depending on the upper byte of the port number. The five keys are represented by bits 0-4 of the read byte, listed below with bit 4 first down to bit 0. A zero means that the key is pressed.
The top eight bits of the port address are active low signals that select one or more key rows for reading.
| Port upper byte | Keys affected (row of keys) |
|---|---|
| $7F (bit 7) | B, N, M, Symbol Shift, Space |
| $BF (bit 6) | H, J, K, L, Enter |
| $DF (bit 5) | Y, U, I, O P |
| $EF (bit 4) | 6, 7, 8, 9, 0 |
| $F7 (bit 3) | 5, 4, 3, 2, 1 |
| $FB (bit 2) | T, R, E, W, Q |
| $FD (bit 1) | G, F, D, S, A |
| $FE (bit 0) | V, C, X, Z, Caps Shift |