Prev: 6090 Up: Map Next: 613B
60FD: Game Over
Set up altering the "GAME OVER PLAYER X" message for 1UP.
GameOver1UP 60FD LD A,"1"+$80 A="1" + 80 (escape character).
Print the messaging and pause to show it for a period of time.
GameOver_Write 60FF LD ($6175),A Write ASCII player number to 6175.
6102 CALL CreateWindow Call CreateWindow.
6105 LD DE,$6163 DE=Message_GameOver.
6108 LD HL,$7038 HL=7038.
Print message and pause, also used by 5FB0 and Message_SprayBugs.
GameOverPrint_Pause 610B CALL PrintString Call PrintString.
Introduce a pause by counting down from 10000 four times.
610E LD B,$04 B=04 (counter).
This entry point is used by the routine at 66D7.
GameOverPause 6110 LD HL,$0000 HL=00 (large counter).
GameOverPause_Loop 6113 DEC HL Decrease HL by one.
6114 LD A,H Loop back to GameOverPause_Loop until HL is zero.
6115 OR L
6116 JR NZ,GameOverPause_Loop
6118 DJNZ GameOverPause_Loop Decrease counter by one and loop back to GameOverPause_Loop until counter is zero.
611A RET Return.
Set up altering the "GAME OVER PLAYER X" message for 2UP.
GameOver2UP 611B LD A,"2"+$80 A="2" + 80 (escape character).
611D 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 611F LD A,($5E1E) If Current_Player is zero, jump to GameOverPause.
6122 AND A
6123 JR Z,GameOver1UP
6125 JR GameOver2UP Else, jump to GameOver2UP.
This is a controller with a jump to Game_Restart to return to the game selection screen.
GameOver_ControllerRestart 6127 CALL $708F Call 708F.
612A LD A,($5E1E) If Current_Player is not zero, jump to GameOver_Restart2UP.
612D AND A
612E JR NZ,GameOver_Restart2UP
6130 CALL GameOver1UP Call GameOver1UP.
GameOver_Restart 6133 JP Game_Restart Jump to Game_Restart.
GameOver_Restart2UP 6136 CALL GameOver2UP Call GameOver2UP.
6139 JR GameOver_Restart Jump to GameOver_Restart.
Prev: 6090 Up: Map Next: 613B