Prev: 27680 Up: Map Next: 27752
27718: Check the attribute byte at a sprite tile location
Used by the routine at 27680.
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)
27718 LD A,(HL) Pick up the attribute byte.
27719 CP 59 Is it magenta?
27721 JR Z,27733 Jump if so (there is a guard here).
27723 CP 58 Is it red?
27725 JR Z,27736 Jump if so (there is a cherry or strawberry here).
27727 CP 60 Is it green?
27729 JR Z,27745 Jump if so (there is a flower here).
27731 JR 27751
27733 LD E,A E=59 (guard).
27734 JR 27751
27736 LD D,A D=58 (cherry or strawberry).
27737 LD A,E Have we already detected a guard at the sprite's location?
27738 CP 59
27740 JR Z,27751 Jump if so (it doesn't matter that there's also a cherry or strawberry here).
27742 LD E,D E=58 (cherry or strawberry).
27743 JR 27751
27745 LD D,A D=60 (flower).
27746 LD A,E Have we already detected a guard, cherry, strawberry or flower at the sprite's location?
27747 AND A
27748 JR NZ,27751 Jump if so.
27750 LD E,D E=60 (flower).
27751 RET
Prev: 27680 Up: Map Next: 27752