![]() |
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 |