Prev: 27648 Up: Map Next: 27934
27818: Game Initialisation
Used by the routines at 27937, InitialiseDemoMode and CheckPassword.
GameInitialisation 27818 CALL PrintGameDisplay Call PrintGameDisplay.
This entry point is used by the routine at Handler_GhostRider.
SetNewGameStates 27821 LD HL,13312 Write 13312 to *Fuel.
27824 LD (30780),HL
27827 LD HL,30741 Write 0 to 30741.
27830 LD (HL),0
27832 DEC L Write 0 to 30740.
27833 LD (HL),0
27835 LD L,26 Write 1 to 30746.
27837 LD (HL),1
27839 INC L Write 0 to ActiveSpriteBlocks.
27840 LD (HL),0
27842 INC L Write ShadowBuffer to SpriteBackgroundBuffer_Pointer.
27843 LD (HL),0
27845 INC L
27846 LD (HL),178
27848 LD L,33 HL=30753.
Write 128 to 30753, Speed and 30755.
27850 LD B,3 B=3.
GameInitialisation_0 27852 LD (HL),128 Write 128 to *HL.
27854 INC L Increment L by one.
27855 DJNZ GameInitialisation_0 Decrease counter by one and loop back to GameInitialisation_0 until counter is zero.
Write 0 to 30756, 30757, 30758, 30759, 30760, 30761, 30762 and 30763.
27857 LD B,8 B=8.
GameInitialisation_1 27859 LD (HL),0 Write 0 to *HL.
27861 INC L Increment L by one.
27862 DJNZ GameInitialisation_1 Decrease counter by one and loop back to GameInitialisation_1 until counter is zero.
27864 INC L Write 41235 to *LevelProgressPointer.
27865 INC L
27866 LD (HL),19
27868 INC L
27869 LD (HL),161
27871 INC L Write 3 to *30768.
27872 LD (HL),3
27874 INC L Write 47872 to *30769.
27875 LD (HL),0
27877 INC L
27878 LD (HL),187
27880 INC L Write 11 to *PlayerPosition_Y.
27881 LD (HL),11
27883 INC L Write 0 to *PlayerSpriteID.
27884 LD (HL),0
27886 CALL InitialiseLevel Call InitialiseLevel.
27889 LD L,16 L=16.
27891 LD A,(30765) Jump to GameInitialisation_4 if the game is not in "demo mode" (the high-order byte of ControlMethod_Pointer does not contain 115).
27894 CP 115
27896 JR NZ,GameInitialisation_4
27898 LD HL,41440 HL=41440.
GameInitialisation_2 27901 LD A,(HL) A=*HL.
27902 DEC L Decrease L by one.
27903 DEC A Decrease A by one.
27904 JR Z,GameInitialisation_3 Jump to GameInitialisation_3 if A is zero.
27906 CP 49 Jump to GameInitialisation_2 if A is higher than 49.
27908 JR NC,GameInitialisation_2
27910 CP 45 Jump to GameInitialisation_2 if A is lower than 45.
27912 JR C,GameInitialisation_2
GameInitialisation_3 27914 LD A,L A=L.
27915 INC A Increment A by one.
27916 LD (30766),A Write A to *LevelProgressPointer.
27919 DEC L Decrease L by two.
27920 DEC L
GameInitialisation_4 27921 LD H,158 H=158.
27923 XOR A A=0.
27924 CALL 26624 Call 26624.
This entry point is used by the routine at Handler_GameOver.
GameInitialisation_5 27927 LD A,(23672) A=*FRAMES.
27930 INC A Increment A by one.
27931 JP WaitForFrameChange Jump to WaitForFrameChange.
Prev: 27648 Up: Map Next: 27934