| Prev: 6039 | Up: Map | Next: 60A5 |
6068: Scan keyboard
|
Reads multiple half-rows via port $FE. Keys: P=right, O=left, 2=up, W=down, either bottom row=fire.
|
||||
| scan_keyboard | 6068 | LD A,$DF | Scan "P" (RIGHT) | |
| 606A | IN A,($FE) | |||
| 606C | BIT 0,A | |||
| 606E | CALL Z,handle_right | |||
| 6071 | LD A,$DF | Scan "O" (LEFT) | ||
| 6073 | IN A,($FE) | |||
| 6075 | BIT 1,A | |||
| 6077 | CALL Z,handle_left | |||
| 607A | LD A,$F7 | Scan "2" (UP) | ||
| 607C | IN A,($FE) | |||
| 607E | BIT 1,A | |||
| 6080 | CALL Z,handle_up | |||
| 6083 | LD A,$FB | Scan "W" (DOWN) | ||
| 6085 | IN A,($FE) | |||
| 6087 | BIT 1,A | |||
| 6089 | CALL Z,handle_down | |||
| 608C | LD A,$7F | Scan lower row right (FIRE) | ||
| 608E | IN A,($FE) | |||
| 6090 | AND $1F | |||
| 6092 | CP $1F | |||
| 6094 | CALL NZ,handle_fire | |||
| 6097 | LD A,$FE | Scan lower row left (FIRE) | ||
| 6099 | IN A,($FE) | |||
| 609B | AND $1F | |||
| 609D | CP $1F | |||
| 609F | CALL NZ,handle_fire | |||
| 60A2 | JP main_loop | |||
| Prev: 6039 | Up: Map | Next: 60A5 |