Routines |
Prev: 995A | Up: Map | Next: 99F0 |
|
||||
GameInitialisation | 9960 | CALL ClearBuffers | Call ClearBuffers. | |
9963 | XOR A | Set the border to black. | ||
9964 | OUT ($FE),A | |||
9966 | CALL ResetAttributes | Call ResetAttributes. | ||
9969 | CALL ResetScreen | Call ResetScreen. | ||
996C | CALL $B902 | Call B902. | ||
Set the attributes for the top banner (the whole line is INK:47).
|
||||
996F | LD HL,$5800 | HL=5800 (attribute buffer). | ||
9972 | LD BC,$2047 | BC=counter:20 INK:47. | ||
CreateWindow_Loop_Banner | 9975 | LD (HL),C | Write 47 to the attribute buffer. | |
9976 | INC L | Move onto the next column. | ||
9977 | DJNZ CreateWindow_Loop_Banner | Decrease counter by one and loop back to CreateWindow_Loop_Banner until counter is zero. | ||
9979 | CALL PrintBanner | Call PrintBanner. | ||
Set the attributes for the score line (the whole line is INK:46).
|
||||
997C | LD HL,$5820 | HL=5820 (attribute buffer). | ||
997F | LD BC,$2046 | BC=counter:20 INK:46. | ||
CreateWindow_Loop_Score | 9982 | LD (HL),C | Write 46 to the attribute buffer. | |
9983 | INC L | Move onto the next column. | ||
9984 | DJNZ CreateWindow_Loop_Score | Decrease counter by one and loop back to CreateWindow_Loop_Score until counter is zero. | ||
9986 | CALL Score_1UP | Call Score_1UP. | ||
9989 | CALL Score_2UP | Call Score_2UP. | ||
998C | CALL Score_HI | Call Score_HI. | ||
This entry point is used by the routine at GameOver_1UP.
|
||||
Game_Restart | 998F | CALL HandlerGameMenu | Call HandlerGameMenu. | |
Writes 00 to every address from 1UP_Score_1 to SecurityCheck.
|
||||
9992 | LD HL,$9698 | HL=9698. | ||
9995 | LD BC,$02C2 | BC=02C2. | ||
9998 | CALL ClearBuffers_Loop | Call ClearBuffers_Loop. | ||
999B | CALL Score_1UP | Call Score_1UP. | ||
999E | CALL Score_2UP | Call Score_2UP. | ||
99A1 | LD DE,$BD45 | DE=MusicData_GameInitialisation. | ||
99A4 | CALL PlayAudio | Call PlayAudio. | ||
99A7 | CALL $B1D4 | Call B1D4. | ||
This entry point is used by the routine at 9A1D.
|
||||
GameInitialisation_0 | 99AA | LD SP,$6000 | SP=GameEntry. | |
99AD | EI | Enable interrupts. | ||
99AE | LD IX,$970E | IX=970E. | ||
This entry point is used by the routine at 99F0.
|
||||
GameInitialisation_1 | 99B2 | LD A,($5C78) | C=FRAMES. | |
99B5 | LD C,A | |||
99B6 | LD A,($9696) | A=LastFrame. | ||
99B9 | CP C | |||
99BA | JR Z,GameInitialisation_2 | |||
FrameUpdate | 99BC | DI | Disable interrupts. | |
99BD | LD A,($5C78) | Store FRAMES at LastFrame. | ||
99C0 | LD ($9696),A | |||
99C3 | LD A,$01 | Set FrameUpdated to 01 (frame has updated). | ||
99C5 | LD ($9697),A | |||
99C8 | LD ($96A9),IX | |||
99CC | LD IX,$9702 | IX=ImmortalData. | ||
GameInitialisation_2 | 99D0 | LD A,R | ||
99D2 | LD C,A | |||
99D3 | LD A,($9695) | |||
99D6 | ADC A,C | |||
99D7 | LD ($9695),A | |||
99DA | LD HL,$99F0 | Push 99F0 onto the stack. | ||
99DD | PUSH HL | |||
99DE | LD BC,$9B3E | BC=JumpTable. | ||
99E1 | LD A,(IX+$00) | |||
99E4 | LD L,A | |||
99E5 | LD H,$00 | |||
99E7 | ADD HL,HL | |||
99E8 | ADD HL,BC | |||
99E9 | LD A,(HL) | |||
99EA | INC HL | |||
99EB | LD H,(HL) | |||
99EC | LD L,A | |||
99ED | JP IndirectJump | |||
View the equivalent code in;
|
Prev: 995A | Up: Map | Next: 99F0 |