Prev: AE8F Up: Map Next: AECF
AEA1: Flash Score Label
Used by the routine at GamePlayEntry.
Controller for handling whether to action 1UP or 2UP score label.
ScoreLabelFlash AEA1 LD A,(HL)
AEA2 AND %00001111 Keep only bits 0-3.
AEA4 CALL Z,$BF2A
AEA7 LD A,($969E) If Flag_ActivePlayer is not zero, jump to FlashScoreLabel2UP.
AEAA AND A
AEAB JR NZ,FlashScoreLabel2UP
Flash 1UP score label.
AEAD LD HL,$0010 HL=00,10 (position of the 1UP score label).
Set flash state for the 3-attributes of the score label.
FlashText AEB0 CALL AttributeAddress Call AttributeAddress.
AEB3 LD B,$03 B=03 (counter for the three letters in a score label).
FlashText_Loop AEB5 LD A,(HL) Fetch the attribute byte.
AEB6 OR %10000000 Ensure bit 7 is set (the flash bit).
AEB8 LD (HL),A Write the attribute byte back.
AEB9 INC HL Increase the attribute pointer by one.
AEBA DJNZ FlashText_Loop Decrease counter by one and loop back to FlashText_Loop until counter is zero.
AEBC RET Return.
Unset flash state for the 3-attributes of the score label.
UnsetFlashText AEBD CALL AttributeAddress Call AttributeAddress.
AEC0 LD B,$03 B=03 (counter for the three letters in a score label).
UnsetFlashText_Loop AEC2 LD A,(HL) Fetch the attribute byte.
AEC3 AND %01111111 Keep only bits 0-6 (i.e. everything except the flash bit).
AEC5 LD (HL),A Write the attribute byte back.
AEC6 INC HL Increase the attribute pointer by one.
AEC7 DJNZ UnsetFlashText_Loop Decrease counter by one and loop back to UnsetFlashText_Loop until counter is zero.
AEC9 RET Return.
Flash 2UP score label.
FlashScoreLabel2UP AECA LD HL,$00D8 HL=00,D8 (position of the 2UP score label).
AECD JR FlashText Jump to FlashText.
View the equivalent code in;
Prev: AE8F Up: Map Next: AECF