Routines |
Prev: 80A9 | Up: Map | Next: 813A |
The routine returns when the user starts a game.
|
||||
80E5 | CALL $B8ED | Clear the screen. | ||
80E8 | CALL $B471 | Initialize the theme tune data. | ||
80EB | LD HL,$7DC6 | Print the title page text. (7DC6) | ||
80EE | LD DE,$0003 | |||
80F1 | CALL $B8C4 | |||
80F4 | LD HL,$7E37 | Point HL at the "key" text. (7E37) | ||
80F7 | LD A,($B2DB) | Put the current control mechanism (B2DB) in B. | ||
80FA | LD B,A | |||
80FB | LD A,$02 | Convert this to a location on screen and put it in DE. | ||
80FD | SUB B | |||
80FE | LD B,A | |||
80FF | ADD A,A | |||
8100 | ADD A,A | |||
8101 | ADD A,A | |||
8102 | SUB B | |||
8103 | LD D,A | |||
8104 | LD E,$03 | |||
8106 | CALL $B8C4 | Print a marker against the selected option. | ||
8109 | LD A,$FF | Set to no key pressed. | ||
810B | LD ($B4E9),A | |||
810E | CALL $B482 | Play the next note of the theme tune. | ||
8111 | LD A,($B55F) | Is the tune still playing? | ||
8114 | OR A | |||
8115 | JR NZ,$8155 | If not, start demo mode. | ||
8117 | LD A,($B4E9) | Get the last key pressed. | ||
811A | BIT 0,A | Was '1' pressed? | ||
811C | JR NZ,$8123 | Jump forward if not. | ||
811E | CALL $B2DC | Select Sinclair control and continue playing the tune. | ||
8121 | JR $80EB | |||
8123 | BIT 1,A | Was '2' pressed? | ||
8125 | JR NZ,$812C | Jump forward if not. | ||
8127 | CALL $B2E2 | Select Kempston control and continue playing the tune. | ||
812A | JR $80EB | |||
812C | BIT 2,A | Was '3' pressed? | ||
812E | JR NZ,$8135 | Jump forward if not. | ||
8130 | CALL $B2E8 | Select Keyboard control and continue playing the tune. | ||
8133 | JR $80EB | |||
8135 | BIT 3,A | Was '4' pressed? | ||
8137 | JR NZ,$8109 | Jump back if not to continue playing the tune. | ||
8139 | RET | Otherwise return to start the game. |
Prev: 80A9 | Up: Map | Next: 813A |