Prev: D5FB Up: Map Next: D671
D60B: Routine at D60B
Used by the routine at D102.
D60B PUSH BC Stash BC, DE, IY and IX on the stack.
D60C PUSH DE
D60D PUSH IY
D60F PUSH IX
D611 CALL $D5EF Call D5EF.
D614 PUSH IX IY=IX (using the stack).
D616 POP IY
D618 JR $D660 Jump to D660.
D61A LD A,(IY+$01) Jump to D660 if *IY+01 is zero.
D61D AND A
D61E JR Z,$D660
D620 LD A,(IY+$00) Jump to D660 if *IY+00 is greater than or equal to 0B.
D623 CP $0B
D625 JR NC,$D660
D627 LD A,(IY+$01) A=*IY+01.
D62A CALL $D237 Call D237.
D62D BIT 7,(IX+$05) Jump to D660 if bit 7 of *IX+05 is not set.
D631 JR Z,$D660
D633 LD A,(IY+$00) A=*IY+00.
D636 CALL GetDirectionToken Call GetDirectionToken.
D639 CP $09 Jump to D647 if A is less than 09.
D63B JR C,$D647
D63D LD DE,$000A DE=000A.
D640 JR Z,$D64D Jump to D64D if A is equal to 09.
D642 LD DE,$00E7 DE=00E7.
D645 JR $D64D Jump to D64D.
D647 LD HL,$68BC HL=68BC.
D64A CALL $A59F Call A59F.
D64D CALL $A887 Call A887.
D650 LD HL,$68E9 HL=68E9.
D653 CALL $A59F Call A59F.
D656 PUSH IY Stash IY on the stack.
D658 CALL $D3D5 Call D3D5.
D65B CALL $A414 Call A414.
D65E POP IY Restore IY from the stack.
D660 ADD IY,BC IY+=BC.
D662 LD A,$FF Jump to D61A if *IY+00 is not equal to FF.
D664 CP (IY+$00)
D667 JP NZ,$D61A
D66A POP IX Restore IX, IY, DE and BC from the stack.
D66C POP IY
D66E POP DE
D66F POP BC
D670 RET Return.
Prev: D5FB Up: Map Next: D671