Routines |
Prev: 41472 | Up: Map | Next: 42525 |
|
||||
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 |