![]() |
Routines |
| Prev: 57885 | Up: Map | Next: 57921 |
|
Used by the routines at PlayMusicOnce, GameMenu, ReadInterface2Joystick, ReadCursorJoystick, ReadKeyboard, ReadViewKey and PauseGame.
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.
|
||||||||||||||
|
Write the selector, then read the keys.
|
||||||||||||||
| ReadKeyboardPort | 57913 | OUT (253),A | Write the half-row selector to port 253. The ULA only responds to even port numbers, so this has no effect on the 48K Spectrum, but it leaves the selector in A for the next instruction. | |||||||||||
| 57915 | IN A,(254) | Read the rows of the keyboard. | ||||||||||||
|
Make the pressed keys into set bits, and return.
|
||||||||||||||
| 57917 | CPL | Invert the bits, so that a bit is set for a key which is pressed. | ||||||||||||
| 57918 | AND %00011111 | Keep only bits 0 to 4. | ||||||||||||
| 57920 | RET | Return. | ||||||||||||
|
View the equivalent code in;
|
||||||||||||||
| Prev: 57885 | Up: Map | Next: 57921 |