![]() |
Routines |
| Prev: A7C4 | Up: Map | Next: A86E |
|
Across a river: "it sails across and" -- and if the boat is on the far bank, half the time it "lands in the boat.", tying the boat to it, and otherwise falls short or slides out again. With no boat there it lands on the other side, half the time, or falls short.
|
||||
| THROW_ROPE_ACROSS | A814 | LD A,(INSTRUMENT) | Across what? A river's way over | |
| A817 | CALL EXIT_VIA_A | |||
| A81A | CP $FF | |||
| A81C | JP Z,REFUSE | |||
| A81F | CALL FOR_REAL | The test ends here | ||
| A822 | LD HL,MSG_IT_SAIL_ACROSS_AND | "it sails across and" | ||
| A825 | CALL RUN_MESSAGE_HL | |||
| A828 | LD A,(WOODEN_BOAT_WHERE) | Is the boat on the far bank? | ||
| A82B | CP (IX+$02) | |||
| A82E | JR NZ,THROW_ROPE_ACROSS_1 | |||
| A830 | CALL HALF_THE_TIME | Then half the time into it; if not, short or out again | ||
| A833 | JR C,THROW_ROPE_ACROSS_0 | |||
| A835 | LD HL,MSG_FALL_JUST_SHORT_OF | |||
| A838 | CALL HALF_THE_TIME | |||
| A83B | JR C,THROW_ROPE_ACROSS_2 | |||
| A83D | LD HL,MSG_BUT_SLIDE_OUT_AGAIN | |||
| A840 | JR THROW_ROPE_ACROSS_2 | |||
| THROW_ROPE_ACROSS_0 | A842 | LD A,$12 | In the boat: the boat is tied to the rope | |
| A844 | LD (WOODEN_BOAT_HOLDER),A | |||
| A847 | LD HL,MSG_LAND_S_IN_THE | |||
| A84A | JR THROW_ROPE_ACROSS_2 | |||
| THROW_ROPE_ACROSS_1 | A84C | LD HL,MSG_FALL_JUST_SHORT_OF | No boat: half the time short | |
| A84F | CALL HALF_THE_TIME | |||
| A852 | JR C,THROW_ROPE_ACROSS_2 | |||
| A854 | LD A,(IX+$02) | ...otherwise over, onto the far bank | ||
| A857 | LD IX,(TARGET_RECORD) | |||
| A85B | LD (IX+$10),A | |||
| A85E | LD (IX+$01),$FF | |||
| A862 | LD A,(TARGET) | |||
| A865 | CALL MOVE_CONTENTS | |||
| A868 | LD HL,MSG_LAND_S_ON_THE | |||
| THROW_ROPE_ACROSS_2 | A86B | JP RUN_MESSAGE_HL | Say which | |
| Prev: A7C4 | Up: Map | Next: A86E |