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