Prev: A826 Up: Map Next: A880
A84C: Initialise New Game
Used by the routine at StartGame.
NewGame A84C LD B,$02 B=02 (counter for our two players).
NewGame_Loop A84E PUSH BC Stash the counter in BC on the stack.
Handle setting up 1UP player.
A84F LD A,$FF Write 1UP starting level to ActivePlayer_Level.
A851 LD ($5EA0),A
A854 LD A,$04 Write 1UP starting lives to ActivePlayer_Lives.
A856 LD ($5EA1),A
A859 XOR A Write 00 to;
A85A LD ($5EA2),A
A85D LD ($5EA3),A
A860 CALL Terrain_Initialise Call Terrain_Initialise.
A863 CALL $9F5E Call 9F5E.
A866 CALL ChangePlayer Call ChangePlayer.
A869 POP BC Restore BC from the stack.
A86A DJNZ NewGame_Loop Decrease counter by one and loop back to NewGame_Loop until counter is zero.
Handle setting up 2UP player.
A86C LD A,$05 Write 2UP starting lives to InactivePlayer_Lives.
A86E LD ($5EA5),A
A871 LD A,$FF Write 2UP starting level to InactivePlayer_Level.
A873 LD ($5EA4),A
A876 LD A,($5E00) A=GameOptions.
A879 AND %00000001 Keep only bit 0.
A87B RET NZ Return if GameOptions indicates this is a 1 player only game.
A87C LD ($5EA5),A Write A to InactivePlayer_Lives.
A87F RET Return.
Prev: A826 Up: Map Next: A880