Prev: C889 Up: Map Next: C8B2
C898: Colour Player Attributes
Used by the routine at StartGame.
Sets a block of two attributes across, down a number of rows of the attribute buffer. The first attribute is made bright. Nothing is coloured when the player is dead.
Input
A' Attribute
B Number of rows
HL Address in the attribute buffer
Return if the player is dead.
ColourPlayerAttributes C898 EX AF,AF' Keep the attribute.
C899 LD A,($BC8E) Return if the player is dead.
C89C AND A
C89D RET Z
C89E EX AF,AF' Get the attribute back.
Colour two attributes down each row.
C89F LD E,A Add the flash colour used in the last frame (PreviousFlashColour) to the attribute.
C8A0 LD A,($BBFC)
C8A3 OR E
C8A4 LD DE,$0017 Set the distance to the first attribute in the next row (18 minus one).
ColourPlayerAttributes_Loop C8A7 OR $40 Set the first attribute (bright) and the second attribute (not bright), move down a row, and loop back until all of the rows have been coloured.
C8A9 LD (HL),A
C8AA INC HL
C8AB AND $3F
C8AD LD (HL),A
C8AE ADD HL,DE
C8AF DJNZ ColourPlayerAttributes_Loop
C8B1 RET Return.
Prev: C889 Up: Map Next: C8B2