Routines |
Prev: AE8F | Up: Map | Next: AECF |
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 |