![]() |
Routines |
| Prev: 9428 | Up: Map | Next: 948D |
|
Used by the routine at ROCK_DOOR_KEY.
Not if it is locked or open, and not with a broken key ("the ... is broken."). The same code unlocks, from DO_UNLOCK, by writing the last byte of the SET 0 or RES 0 at LOCK_BIT_OP.
|
||||
| DO_LOCK | 946D | CALL LOCK_STATE | Locked or open already: say which | |
| 9470 | JP NZ,SAY_STATE | |||
| 9473 | LD A,$C6 | SET 0: lock it | ||
|
This entry point is used by the routine at DO_UNLOCK.
|
||||
| TURN_KEY | 9475 | LD ($948B),A | } | |
| 9478 | LD IY,(INSTRUMENT_RECORD) | A broken key will not turn | ||
| 947C | BIT 3,(IY+$07) | |||
| 9480 | LD A,$83 | |||
| 9482 | JP NZ,SAY_STATE_OF | |||
| 9485 | CALL FOR_REAL | The test ends here | ||
| LOCK_BIT_OP | 9488 | SET 0,(IX+$07) | Bit 0: locked, or not | |
| 948C | RET | |||
| Prev: 9428 | Up: Map | Next: 948D |