Prev: B979 Up: Map Next: B9A7
B99B: Test Object Solid
Tests whether collision tests should take any notice of an object. The object must be in use and must not be the one that is being moved. The zero flag is set if the slot is unused or bit 1 of the flags is set.
Input
IY The address of the object
Output
F Zero flag set if the slot is not used or the object is ignored
Return if the slot is empty.
TestObjectSolid B99B LD A,(IY+$00) Fetch the sprite number of the object.
B99E AND A Return if the slot is not used.
B99F RET Z
After invert, bit 1 is set when the object is not ignored.
B9A0 LD A,(IY+$07) Fetch the flags of the object.
B9A3 CPL Invert them.
B9A4 AND %00000010 Test the flag for being moved, which is set in the object being moved.
B9A6 RET Return.
View the equivalent code in;
Prev: B979 Up: Map Next: B9A7