![]() |
Routines |
| Prev: 8F3B | Up: Map | Next: 8FAD |
|
Filling from a river's water fetches a fresh water of the same kind (objects $15 and $16, kept nowhere for this), which is what goes in; then it is PUT IN with the objects swapped. A container already full says so. As read, the liquid would then be refused by the last part of CAN_LIFT, which DO_PUT_IN begins with, so that FILL can never succeed; that has not been tried in play.
|
||||
| DO_FILL | 8F69 | LD IX,(TARGET_RECORD) | From a river's water? A fresh one | |
| 8F6D | LD A,(INSTRUMENT) | |||
| 8F70 | CP $17 | |||
| 8F72 | JR Z,DO_FILL_1 | |||
| 8F74 | CP $18 | |||
| 8F76 | JR Z,DO_FILL_2 | |||
| DO_FILL_0 | 8F78 | LD IY,(INSTRUMENT_RECORD) | Only with a liquid | |
| 8F7C | BIT 1,(IY+$07) | |||
| 8F80 | JP Z,REFUSE | |||
| 8F83 | BIT 2,(IX+$07) | Full already: "the ... is full." | ||
| 8F87 | LD A,$82 | |||
| 8F89 | JP NZ,SAY_STATE | |||
| 8F8C | LD HL,DO_PUT_IN | Put it in, the objects swapped | ||
| 8F8F | JP SWAPPED_OBJECTS | |||
| DO_FILL_1 | 8F92 | LD A,$15 | The fresh water, held by nothing | |
| 8F94 | LD IY,WATER | |||
| 8F98 | JR DO_FILL_3 | |||
| DO_FILL_2 | 8F9A | LD A,$16 | ||
| 8F9C | LD IY,BLACK_WATER | |||
| DO_FILL_3 | 8FA0 | LD (INSTRUMENT),A | ||
| 8FA3 | LD (INSTRUMENT_RECORD),IY | |||
| 8FA7 | LD (IY+$01),$FF | |||
| 8FAB | JR DO_FILL_0 | |||
| Prev: 8F3B | Up: Map | Next: 8FAD |