Prev: 46925 Up: Map Next: 46945
46937: Read Keyboard Port
Reads some rows of the keyboard. The row selector is also written to port 253 (with the selector as the high byte of the address), which does nothing on a 48K Spectrum and is not part of any sound; the keyboard is read with the same selector straight afterwards.
Input
A Row selector (a bit which is reset selects the row)
Output
A Keys pressed, in bits 0 to 4 (a bit is set when a key is pressed)
F Zero flag set if no key is pressed
Write the selector, then read the keys.
ReadKeyboardPort 46937 OUT (253),A Write the row selector to port 253.
46939 IN A,(254) Read the rows of the keyboard.
46941 CPL Invert the bits, so that a bit is set for a key which is pressed.
46942 AND %00011111 Keep only bits 0 to 4.
46944 RET Return.
View the equivalent code in;
Prev: 46925 Up: Map Next: 46945