Prev: 37850 Up: Map Next: 38029
37997: 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. 38024 is set up to SET bit 0.
Action_Lock 37997 CALL Action_ReadTheObjectLockFlag Call Action_ReadTheObjectLockFlag to read the object's lock flag.
38000 JP NZ,Message_NameFromThisRecord Jump to Message_NameFromThisRecord if the object is already locked or is open.
38003 LD A,198 Use 198, 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 38005 LD (38027),A Plant the operation at byte 38027 of 38024.
38008 LD IY,(46858) Read *46858.
38012 BIT 3,(IY+7) Take 131, and jump to Message_NameFromTheOtherRecord if the key is broken.
38016 LD A,131
38018 JP NZ,Message_NameFromTheOtherRecord
If the message is held back, the object is not locked or unlocked.
38021 CALL ConditionSuppressTheMessage Call ConditionSuppressTheMessage. If the message is held back, the object is not locked or unlocked.
38024 SET 0,(IX+7) Lock the object (SET 0), or unlock it when Action_Unlock has planted RES 0.
38028 RET Return.
Prev: 37850 Up: Map Next: 38029