Prev: 41472 Up: Map Next: 42525
42384: Game Entry Point
GameEntryPoint 42384 LD A,0 Write 0 to *52285.
42386 LD (52285),A
42389 LD A,159 I=159.
42391 LD I,A
42393 IM 2 Set interrupt mode 2.
42395 EI Enable interrupts.
42396 LD A,R A=R.
42398 OR %10000000 Set bit 7.
42400 LD (49637),A Write A to 49637.
This entry point is used by the routines at Handler_Fired and Handler_DebounceSpace.
Game_Loop 42403 CALL BlankMiddleAttributeBuffer Call BlankMiddleAttributeBuffer.
42406 CALL BlankMiddleScreenBuffer Call BlankMiddleScreenBuffer.
42409 CALL GameMenu Call GameMenu.
42412 CALL BlankMiddleAttributeBuffer Call BlankMiddleAttributeBuffer.
42415 CALL BlankMiddleScreenBuffer Call BlankMiddleScreenBuffer.
42418 CALL InitialiseNewGame Call InitialiseNewGame.
42421 CALL Player_Name Call Player_Name.
42424 CALL BlankMiddleScreenBuffer Call BlankMiddleScreenBuffer.
This entry point is used by the routine at Handler_Fired.
NewLevel 42427 CALL InitialiseStreet Call InitialiseStreet.
42430 CALL Handler_StreetIntroduction Call Handler_StreetIntroduction.
42433 CALL PressAnyKey Call PressAnyKey.
42436 CALL StartGame Call StartGame.
The game has ended ... check why.
42439 LD A,(45064) A=*45064.
42442 BIT 2,A Jump to Handler_TimeOut if the bonus/ time counter reached zero.
42444 JR NZ,Handler_TimeOut
42446 LD HL,49778 HL=Time_Remaining.
42449 CALL AddPointsToScore Call AddPointsToScore.
Check other reasons why the game ended (see Immunity).
42452 LD A,(45064) A=*45064.
42455 BIT 0,A Jump to Handler_Fired_0 if bit 0 is set.
42457 JP NZ,Handler_Fired_0
42460 LD HL,(43902) HL=*ActivePlayer.
Point to the current players level.
42463 INC HL Increment HL by one.
Has the player completed the game?
42464 LD A,12 Jump to Game_Complete if *HL equals 12.
42466 CP (HL)
42467 JR Z,Game_Complete
42469 INC (HL) Increment *HL by two.
42470 INC (HL)
42471 CALL FinishedStreet Call FinishedStreet.
42474 CALL PressAnyKey Call PressAnyKey.
This entry point is used by the routine at Handler_TimeOut.
SwitchPlayers 42477 CALL Handler_SwitchPlayers Call Handler_SwitchPlayers.
42480 JR C,NewLevel Jump to NewLevel if 2UP is active.
42482 CALL Handler_SwitchPlayers Call Handler_SwitchPlayers.
42485 JR NewLevel Jump to NewLevel.
Who is in play, is it 1UP or 2UP?
Game_Complete 42487 LD HL,43914 HL=Game_Flags.
42490 BIT 4,(HL) Jump to NewLevel_2UP_CopyScore if this is player two.
42492 JR NZ,NewLevel_2UP_CopyScore
42494 RES 6,(HL) Reset bit 6 of *HL.
42496 JR NewLevel_CopyScore Jump to NewLevel_CopyScore.
NewLevel_2UP_CopyScore 42498 RES 7,(HL) Reset bit 7 of *HL.
NewLevel_CopyScore 42500 CALL CopyScore_ActiveScore Call CopyScore_ActiveScore.
42503 CALL NewHighScore Call NewHighScore.
42506 CALL Messaging_GameOver Call Messaging_GameOver.
42509 CALL PressAnyKey Call PressAnyKey.
42512 CALL Print_HighScoreTable Call Print_HighScoreTable.
42515 CALL PressAnyKey Call PressAnyKey.
42518 CALL Handler_SwitchPlayers Call Handler_SwitchPlayers.
42521 JR C,NewLevel Jump to NewLevel if 2UP is active.
42523 JR Game_Loop Jump to Game_Loop.
Prev: 41472 Up: Map Next: 42525