| System variables

23552: KSTATE - Used in reading the keyboard

Initialised by the routine at NEW, and used by the routine at KEYBOARD. KSTATE0 (23552) and KSTATE4 (23556) are accessed by the routine at NEW via the IY register at IY-58 and IY-54. There are two sets of four bytes here, each set corresponding to a separate keypress. The bytes in each set are used as follows:
Byte | Contents
--- | ---
0 | 255 if the set is unused, or a main code from the main key table otherwise
1 | Call counter; initially 5, and decremented on each call to KEYBOARD
2 | Repeat delay counter; initially REPDEL, decremented on each call to KEYBOARD, reset to REPPER whenever it reaches zero
3 | Final code from the key tables (as computed by K_DECODE)
KSTATE | 23552 | DEFB 255,0,0,0 |
| 23556 | DEFB 255,0,0,0 |