Routines |
Prev: 7C00 | Up: Map | Next: 8069 |
Used by the routine at F7D6.
|
||||
8000 | DI | Disable interrupts. | ||
8001 | CALL $8092 | Display options. | ||
8004 | LD IX,$8127 | 8127 - default option. | ||
8008 | LD A,$01 | Set default option to 1. | ||
800A | CALL $FF00 | |||
800D | EI | Re-enable interrupts. | ||
800E | LD BC,$EFFE | Check top right of keyboard. | ||
8011 | IN A,(C) | |||
8013 | BIT 0,A | Was '0' pressed? | ||
8015 | RET Z | Return if so to start the game. | ||
8016 | CALL $8069 | Toggle the display flashing. | ||
8019 | LD BC,$F7FE | Check top left of keyboard. | ||
801C | IN A,(C) | If any keys were pressed, they will end up with positive bits after this. | ||
801E | AND $1F | |||
8020 | XOR $1F | |||
8022 | JR Z,$800E | Jump back if no keys pressed. | ||
8024 | BIT 0,A | Was "1" pressed? | ||
8026 | JR Z,$803B | Jump if not. | ||
8028 | LD A,(IX+$03) | Unflash the current selection. | ||
802B | LD C,$47 | |||
802D | CALL $80FF | |||
8030 | LD A,$01 | Set option 1. | ||
8032 | LD ($82A3),A | |||
8035 | LD IX,$8127 | Point to first option and loop back? | ||
8039 | JR $800E | |||
803B | BIT 1,A | Was "2" pressed? | ||
803D | JR Z,$8052 | Jump if not. | ||
803F | LD A,(IX+$03) | Unflash the current selection. | ||
8042 | LD C,$47 | |||
8044 | CALL $80FF | |||
8047 | LD A,$02 | Set option 2. | ||
8049 | LD ($82A3),A | |||
804C | LD IX,$812C | Point to second option and loop back. | ||
8050 | JR $800E | |||
8052 | BIT 2,A | Was "3" pressed? | ||
8054 | JR Z,$800E | Jump back if not. | ||
8056 | LD A,(IX+$03) | Unflash the current selection. | ||
8059 | LD C,$47 | |||
805B | CALL $80FF | |||
805E | LD A,$03 | Set option 3. | ||
8060 | LD ($82A3),A | |||
8063 | LD IX,$8131 | Point to third option and loop back. | ||
8067 | JR $800E |
Prev: 7C00 | Up: Map | Next: 8069 |