Prev: 40258 Up: Map Next: 41308
41174: Handler: Bust
Used by the routine at 40258.
Handler_Bust 41174 CALL PrintString_Loop Call PrintString_Loop.
41177 DEFB 22,10,1 PRINT AT: 10, 1.
41180 DEFM "BUST[[" bust
41186 DEFB 255 Terminator.
41187 LD HL,39592 HL=BustCounter.
41190 INC (HL) Increment *HL by one.
41191 LD HL,(39731) HL=*39731.
41194 LD A,(39607) Jump to Bust_UpdateSingleUp_Total if *39607 is zero.
41197 AND A
41198 JR Z,Bust_UpdateSingleUp_Total
41200 LD A,(39608) Jump to Bust_Update1Up_Total if *ActivePlayer is zero.
41203 AND A
41204 JR Z,Bust_Update1Up_Total
Update 2UP total.
41206 LD (39600),HL Write HL to *2UP_Total.
41209 JR Handler_Bust_0 Jump to Handler_Bust_0.
Update 1UP total.
Bust_Update1Up_Total 41211 LD (39602),HL Write HL to *1UP_Total.
41214 JR Handler_Bust_0 Jump to Handler_Bust_0.
Update the total for single player games.
Bust_UpdateSingleUp_Total 41216 LD (39711),HL Write HL to *Total.
This entry point is used by the routine at 40258.
Handler_Bust_0 41219 LD HL,2064 Write 2064 to *FloatingHandCoordinates.
41222 LD (39619),HL
41225 LD A,(39607) Jump to Handler_Bust_2 if *39607 is zero.
41228 AND A
41229 JR Z,Handler_Bust_2
41231 LD A,(39608) Jump to Handler_Bust_1 if *ActivePlayer is zero.
41234 AND A
41235 JR Z,Handler_Bust_1
41237 LD HL,(39600) HL=*2UP_Total.
41240 JR Handler_Bust_3 Jump to Handler_Bust_3.
Handler_Bust_1 41242 LD HL,(39602) HL=*1UP_Total.
41245 JR Handler_Bust_3 Jump to Handler_Bust_3.
Handler_Bust_2 41247 LD HL,(39711) Write *Total to *44873.
Handler_Bust_3 41250 LD (44873),HL
41253 LD HL,3073 Write 3073 to *44893.
41256 LD (44893),HL
41259 CALL 44567 Call 44567.
41262 LD A,(39597) Jump to Handler_Bust_4 if *39597 is not equal to 180.
41265 CP 180
41267 JR NZ,Handler_Bust_4
41269 LD A,(39592) Jump to Handler_Bust_4 if *BustCounter is not zero.
41272 AND A
41273 JR NZ,Handler_Bust_4
41275 CALL Sound_180Speech Call Sound_180Speech.
Handler_Bust_4 41278 XOR A Write 0 to;
41279 LD (39597),A
41282 LD (39592),A
41285 LD A,(39686) Jump to Messaging_YouWin_0 if *39686 is not zero.
41288 AND A
41289 JR NZ,Messaging_YouWin_0
41291 CALL LongPause Call LongPause.
41294 LD A,(39607) Jump to Messaging_YouWin if *39607 is zero.
41297 AND A
41298 JR Z,Messaging_YouWin
41300 CALL Print_CurrentPlayerID Call Print_CurrentPlayerID.
41303 CALL 43000 Call 43000.
41306 JR Messaging_YouWin_0 Jump to Messaging_YouWin_0.
Prev: 40258 Up: Map Next: 41308