Prev: 7C00 Up: Map Next: 8069
8000: Display input options and wait to start
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