| Prev: 5F91 | Up: Map | Next: 600A |
5FDA: Scan cursor keys
|
Reads keyboard half-rows via port $FE. Cursor keys use active-low bits (Z = pressed). Each detected press calls the corresponding handler.
|
||||
| scan_cursor | 5FDA | LD A,$EF | Scan "8" (RIGHT) | |
| 5FDC | IN A,($FE) | |||
| 5FDE | LD ($5EF1),A | |||
| 5FE1 | BIT 2,A | |||
| 5FE3 | CALL Z,handle_right | |||
| 5FE6 | LD A,$F7 | Scan "5" (LEFT) | ||
| 5FE8 | IN A,($FE) | |||
| 5FEA | BIT 4,A | |||
| 5FEC | CALL Z,handle_left | |||
| 5FEF | LD A,($5EF1) | Scan "0" (FIRE) | ||
| 5FF2 | BIT 0,A | |||
| 5FF4 | CALL Z,handle_fire | |||
| 5FF7 | LD A,($5EF1) | Scan "7" (UP) | ||
| 5FFA | BIT 3,A | |||
| 5FFC | CALL Z,handle_up | |||
| 5FFF | LD A,($5EF1) | Scan "6" (DOWN) | ||
| 6002 | BIT 4,A | |||
| 6004 | CALL Z,handle_down | |||
| 6007 | JP main_loop | |||
| Prev: 5F91 | Up: Map | Next: 600A |