Prev: 31874 Up: Map Next: 32327
32217: Start Game
Used by the routine at TitleScreen.
First collect the control method.
StartGame 32217 CALL Print_ControlMenu Call Print_ControlMenu.
This is a game the player started, so disable the demo mode and unset the game-over flag.
32220 XOR A Write 0 to;
32221 LD (26357),A
32224 LD (26355),A
32227 INC A Write 1 to *Flag_ExtraLife.
32228 LD (26351),A
32231 LD A,4 Write 4 to *26353.
32233 LD (26353),A
Set the players starting life count.
32236 INC A Write 5 to *Player_Lives.
32237 LD (26352),A
32240 CALL 29708 Call 29708.
StartGame_0 32243 CALL 27886 Call 27886.
32246 CALL 30230 Call 30230.
32249 CALL Handler_Aliens Call Handler_Aliens.
32252 CALL 31154 Call 31154.
32255 CALL 29268 Call 29268.
32258 CALL 26768 Call 26768.
32261 LD A,(26357) Jump to StartGame_0 if *Flag_GameOver is zero.
32264 OR A
32265 JR Z,StartGame_0
32267 LD D,8 D=8.
StartGame_1 32269 LD BC,0 BC=0000.
StartGame_2 32272 DJNZ StartGame_2 Decrease counter by one and loop back to StartGame_2 until counter is zero.
32274 DEC C Decrease C by one.
32275 JR NZ,StartGame_2 Jump to StartGame_2 until C is zero.
32277 DEC D Decrease D by one.
32278 JR NZ,StartGame_1 Jump to StartGame_1 if D is not equal to A.
32280 LD HL,25876 HL=Messaging_Score.
32283 LD DE,25887 DE=Messaging_HighScore.
32286 LD B,6 B=6.
32288 PUSH HL Stash HL and DE on the stack.
32289 PUSH DE
StartGame_3 32290 LD A,(DE) Jump to StartGame_4 if *DE is equal to *HL.
32291 CP (HL)
32292 JR Z,StartGame_4
32294 JR C,StartGame_6 Jump to StartGame_6 if *DE is less than *HL.
32296 JR StartGame_5 Jump to StartGame_5.
StartGame_4 32298 INC DE Increment DE by one.
32299 INC HL Increment HL by one.
32300 DJNZ StartGame_3 Decrease counter by one and loop back to StartGame_3 until counter is zero.
StartGame_5 32302 POP DE Restore DE from the stack.
32303 JR StartGame_7 Jump to StartGame_7.
StartGame_6 32305 POP DE Restore DE and HL from the stack.
32306 POP HL
32307 PUSH HL Stash HL on the stack.
32308 LD BC,6 BC=0006.
32311 LDIR LDIR.
StartGame_7 32313 POP HL Restore HL from the stack.
32314 LD DE,25877 DE=25877.
32317 LD (HL),48 Write ASCII 48 ("0") to *HL.
32319 LD BC,5 BC=0005.
32322 LDIR LDIR.
32324 JP TitleScreen Jump to TitleScreen.
Prev: 31874 Up: Map Next: 32327