Prev: 35841 Up: Map Next: 35953
35902: Flash Score Label
Used by the routine at 35953.
HandlerScoreLabel 35902 LD A,(24172) If 24172 is zero, jump to ScoreLabelFlash.
35905 AND A
35906 JR Z,ScoreLabelFlash
35908 LD (IX+0),0 Write 0 to IX+0.
35912 RET Return.
Controller for handling whether to action 1UP or 2UP score label.
ScoreLabelFlash 35913 LD A,(24165) If Flag_ActivePlayer is not zero, jump to FlashScoreLabel2UP.
35916 AND A
35917 JR NZ,FlashScoreLabel2UP
Flash 1UP score label.
35919 LD HL,24 HL=0024 (position of the 1UP score label).
Set flash state for the 3-attributes of the score label.
FlashText 35922 CALL AttributeAddress Call AttributeAddress.
35925 LD B,3 B=3 (counter for the three letters in a score label).
FlashText_Loop 35927 LD A,(HL) Fetch the attribute byte.
35928 OR %10000000 Ensure bit 7 is set (the flash bit).
35930 LD (HL),A Write the attribute byte back to HL.
35931 INC HL Increment the attribute address pointer by one.
35932 DJNZ FlashText_Loop Decrease counter by one and loop back to FlashText_Loop until counter is zero.
35934 RET Return.
Unset flash state for the 3-attributes of the score label.
UnsetFlashText 35935 CALL AttributeAddress Call AttributeAddress.
35938 LD B,3 B=3 (counter for the three letters in a score label).
UnsetFlashText_Loop 35940 LD A,(HL) Fetch the attribute byte.
35941 AND %01111111 Keep only bits 0-6 (i.e. everything except the flash bit).
35943 LD (HL),A Write the attribute byte back to HL.
35944 INC HL Increment the attribute address pointer by one.
35945 DJNZ UnsetFlashText_Loop Decrease counter by one and loop back to UnsetFlashText_Loop until counter is zero.
35947 RET Return.
Flash 2UP score label.
FlashScoreLabel2UP 35948 LD HL,216 HL=0216 (position of the 2UP score label).
35951 JR FlashText Jump to FlashText.
View the equivalent code in;
Prev: 35841 Up: Map Next: 35953