Prev: 6C20 Up: Map Next: 6C68
6C46: Check the attribute byte at a sprite tile location
Used by the routine at 6C20.
Input
E 0, or attribute value from previous call
HL Attribute file address
Output
E 58 (cherry/strawberry), 59 (guard), 60 (flower), or 0 (none of these)
6C46 LD A,(HL) Pick up the attribute byte.
6C47 CP $3B Is it magenta?
6C49 JR Z,$6C55 Jump if so (there is a guard here).
6C4B CP $3A Is it red?
6C4D JR Z,$6C58 Jump if so (there is a cherry or strawberry here).
6C4F CP $3C Is it green?
6C51 JR Z,$6C61 Jump if so (there is a flower here).
6C53 JR $6C67
6C55 LD E,A E=59 (guard).
6C56 JR $6C67
6C58 LD D,A D=58 (cherry or strawberry).
6C59 LD A,E Have we already detected a guard at the sprite's location?
6C5A CP $3B
6C5C JR Z,$6C67 Jump if so (it doesn't matter that there's also a cherry or strawberry here).
6C5E LD E,D E=58 (cherry or strawberry).
6C5F JR $6C67
6C61 LD D,A D=60 (flower).
6C62 LD A,E Have we already detected a guard, cherry, strawberry or flower at the sprite's location?
6C63 AND A
6C64 JR NZ,$6C67 Jump if so.
6C66 LD E,D E=60 (flower).
6C67 RET
Prev: 6C20 Up: Map Next: 6C68