![]() |
Routines |
Prev: D5FB | Up: Map | Next: D671 |
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 |