![]() |
Routines |
| Prev: 63293 | Up: Map | Next: 63343 |
|
Cursor keyboard control: reads the Q (up), A (down), O (left) and P (right) keys from ports 64510 65022 and 57342 combining the four direction bits into the control byte.
|
||||||||||||||||||||
| Read_Control_Cursor | 63314 | LD BC,65022 | Read from the keyboard;
|
|||||||||||||||||
| 63317 | IN A,(C) | |||||||||||||||||||
| 63319 | OR %11111110 | Isolate bit 0 from the first row. | ||||||||||||||||||
| 63321 | RLCA | Shift the bit into position. | ||||||||||||||||||
| 63322 | LD E,A | Save the partial result. | ||||||||||||||||||
| 63323 | LD B,251 | Switch to keyboard port 64510. | ||||||||||||||||||
| 63325 | IN A,(C) | Read keyboard port 64510. | ||||||||||||||||||
| 63327 | OR %11111110 | Isolate bit 0 from the second row. | ||||||||||||||||||
| 63329 | AND E | Merge with the first row result. | ||||||||||||||||||
| 63330 | RLCA | Shift and save the combined result. | ||||||||||||||||||
| 63331 | LD E,A | |||||||||||||||||||
| 63332 | LD B,223 | Switch to keyboard port 57342. | ||||||||||||||||||
| 63334 | IN A,(C) | Read keyboard port 57342. | ||||||||||||||||||
| 63336 | OR %11111100 | Isolate bits 0 and 1 from the third row. | ||||||||||||||||||
| 63338 | RLCA | Shift the bits into position. | ||||||||||||||||||
| 63339 | RLCA | |||||||||||||||||||
| 63340 | RLCA | |||||||||||||||||||
| 63341 | AND E | Merge with the accumulated result. | ||||||||||||||||||
| 63342 | RET | Return to Read_Control_Input_Return. | ||||||||||||||||||
| Prev: 63293 | Up: Map | Next: 63343 |