Prev: BBE5 Up: Map Next: BC46
BC21: Check Object Attribute
Used by the routine at ReadActionFlags.
Returns zero unless SearchObjectTable passes and the top two bits of the action flags are 80. A match is stored at BA1B+03 and passed to CheckBitAndProcess.
CheckObjectAttribute BC21 CALL SearchObjectTable Go to CheckObjectAttribute_Next if the object table ends before the moved marker.
BC24 JR NZ,CheckObjectAttribute_Next
BC26 LD A,(IX+$03) Jump to CheckObjectAttribute_StoreRecord if the top two bits of the action flags are 80.
BC29 AND $C0
BC2B CP $80
BC2D JR Z,CheckObjectAttribute_StoreRecord
CheckObjectAttribute_Next BC2F XOR A Clear A.
BC30 RET Return.
Stores this record and tests it.
CheckObjectAttribute_StoreRecord BC31 LD ($BA1E),IX Store this record at BA13+0B and call CheckBitAndProcess.
BC35 CALL CheckBitAndProcess
BC38 JR Z,CheckObjectAttribute_TestActionSucceeded Go to CheckObjectAttribute_TestActionSucceeded if the attribute needs no extra bit handling.
BC3A LD A,$01 Write 01 to the flag at BA13+0A.
BC3C LD ($BA1D),A
BC3F SET 0,(IX+$03) Set the action-pending flag.
CheckObjectAttribute_TestActionSucceeded BC43 OR %00000001 Reset the zero flag.
BC45 RET Return.
Prev: BBE5 Up: Map Next: BC46