![]() |
Routines |
| Prev: 9246 | Up: Map | Next: 929C |
|
What goes in must be something in one place, and not a liquid -- the last part of CAN_LIFT -- and not the container itself. The container must be open -- except to PUT something ON it -- and have room: its size, byte 2, less what is in it, more than the thing's size ("the ... is too full."). Then it is in the container, and where the container is.
|
||||
| DO_PUT_IN | 924F | CALL CAN_LIFT_HERE | Something that can be put anywhere | |
| 9252 | LD A,(INSTRUMENT) | Not into itself | ||
| 9255 | CP (IX+$01) | |||
| 9258 | JP Z,CANNOT_DO | |||
| 925B | LD IY,(INSTRUMENT_RECORD) | Shut, unless it is PUT ON: "the ... is closed." | ||
| 925F | LD A,(ACTION) | |||
| 9262 | CP $12 | |||
| 9264 | JR Z,DO_PUT_IN_0 | |||
| 9266 | BIT 5,(IY+$07) | |||
| 926A | JR Z,DO_PUT_IN_2 | |||
| DO_PUT_IN_0 | 926C | LD A,(IY+$02) | Room for it? "the ... is too full." | |
| 926F | SUB (IX+$02) | |||
| 9272 | JR C,DO_PUT_IN_1 | |||
| 9274 | PUSH AF | |||
| 9275 | LD A,(INSTRUMENT) | |||
| 9278 | CALL SIZE_HELD | |||
| 927B | LD B,A | |||
| 927C | POP AF | |||
| 927D | SUB B | |||
| DO_PUT_IN_1 | 927E | LD HL,MSG_IS_TOO_FULL | ||
| 9281 | JP C,RUN_MESSAGE_HL | |||
| 9284 | JP Z,RUN_MESSAGE_HL | |||
| 9287 | CALL FOR_REAL | The test ends here | ||
| 928A | LD A,(IY+$10) | In it, and where it is | ||
| 928D | LD (IX+$10),A | |||
| 9290 | LD A,(INSTRUMENT) | |||
| 9293 | LD (IX+$01),A | |||
| 9296 | RET | |||
| DO_PUT_IN_2 | 9297 | LD A,$05 | "the ... is closed." | |
| 9299 | JP SAY_STATE_OF | |||
| Prev: 9246 | Up: Map | Next: 929C |