Prev: 93DA Up: Map Next: 948D
946D: Action: Lock
Used by the routine at ActionBurn.
Locks the current object with the second object as the key. An object that is already locked or is open is refused. 9488 is set up to SET bit 0.
Action_Lock 946D CALL Action_ReadTheObjectLockFlag Call Action_ReadTheObjectLockFlag to read the object's lock flag.
9470 JP NZ,Message_NameFromThisRecord Jump to Message_NameFromThisRecord if the object is already locked or is open.
9473 LD A,$C6 Use C6, the SET 0 operation.
This entry point is used by the routine at Action_Unlock.
Action_Unlock joins here with RES 0 to unlock the object.
Action_Lock_TestTheKey 9475 LD ($948B),A Plant the operation at byte 948B of 9488.
9478 LD IY,($B70A) Read *B70A.
947C BIT 3,(IY+$07) Take 83, and jump to Message_NameFromTheOtherRecord if the key is broken.
9480 LD A,$83
9482 JP NZ,Message_NameFromTheOtherRecord
If the message is held back, the object is not locked or unlocked.
9485 CALL ConditionSuppressTheMessage Call ConditionSuppressTheMessage. If the message is held back, the object is not locked or unlocked.
9488 SET 0,(IX+$07) Lock the object (SET 0), or unlock it when Action_Unlock has planted RES 0.
948C RET Return.
Prev: 93DA Up: Map Next: 948D