Prev: 26820 Up: Map Next: 27697
27616: Game Over
Set up altering the "GAME OVER PLAYER X" message for 1UP.
GameOver_1UP 27616 LD A,"1"+128 A="1" + 128 (escape character).
Print the messaging and pause to show it for a period of time.
GameOver_Write 27618 LD (27696),A Write ASCII player number to 27696.
27621 CALL CreateWindow Call CreateWindow.
27624 LD DE,27678 DE=GameOver_Text.
27627 LD HL,28728 HL=28728.
27630 CALL PrintString Call PrintString.
Introduce a pause by counting down from 65536 four times.
27633 LD B,4 B=4 (counter).
This entry point is used by the routine at 25832.
GameOver_1UP_0 27635 LD HL,0 HL=0 (large counter).
GameOver_Pause 27638 DEC HL Decrease HL by one.
27639 LD A,H Loop back to GameOver_Pause until HL is zero.
27640 OR L
27641 JR NZ,GameOver_Pause
27643 DJNZ GameOver_Pause Decrease counter by one and loop back to GameOver_Pause until counter is zero.
27645 RET Return.
Set up altering the "GAME OVER PLAYER X" message for 2UP.
GameOver_2UP 27646 LD A,"2"+128 A="2" + 128 (escape character).
27648 JR GameOver_Write Jump to GameOver_Write.
This controller simply returns on end. This is for when the game continues after the messaging.
GameOver_Controller 27650 LD A,(24353) If ActivePlayer is zero, jump to GameOver_1UP.
27653 AND A
27654 JR Z,GameOver_1UP
27656 JR GameOver_2UP Else, jump to GameOver_2UP.
This is a controller with a jump to Game_Restart to return to the game selection screen.
GameOver_ControllerRestart 27658 CALL CheckHighScore Call CheckHighScore.
27661 LD A,(24353) If ActivePlayer is not zero, jump to GameOver_Restart2UP.
27664 AND A
27665 JR NZ,GameOver_Restart2UP
27667 CALL GameOver_1UP Call GameOver_1UP.
GameOver_Restart 27670 JP Game_Restart Jump to Game_Restart.
GameOver_Restart2UP 27673 CALL GameOver_2UP Call GameOver_2UP.
27676 JR GameOver_Restart Jump to GameOver_Restart.
Game Over Messaging
GameOver_Text 27678 DEFM 71 "GAME OVER PLAYER X" (71 is the attribute).
27679 DEFM "GAME OVER PLAYER ","1"+128
Prev: 26820 Up: Map Next: 27697