Routines |
Prev: AB60 | Up: Map | Next: ABD7 |
Used by the routine at A92C.
|
||||
AB9B | LD A,(IY+$0A) | Get the Y co-ordinate. | ||
AB9E | CP $98 | Is it 98 (ie: floor level). | ||
ABA0 | JR NZ,$ABC3 | Jump forward if it isn't. | ||
ABA2 | LD A,(IY+$05) | Get the X co-ordinate. | ||
ABA5 | CP $8A | If it less than 8A move left, otherwise move right. | ||
ABA7 | JR NC,$ABAF | |||
ABA9 | LD (IY+$3C),$01 | |||
ABAD | JR $ABB3 | |||
ABAF | LD (IY+$3C),$FF | |||
ABB3 | CALL $B288 | Move the charcter. | ||
ABB6 | LD A,(IY+$05) | Get the X co-ordinate. | ||
ABB9 | CP $8A | Is it now 8A? | ||
ABBB | RET NZ | Return if it isn't. | ||
ABBC | LD (IY+$3C),$01 | Otherwise set to move right. | ||
ABC0 | JP $B1A6 | Make the character jump. | ||
The character is not at ground level.
|
||||
ABC3 | CP $58 | Is the Y co-ordinate now 58? | ||
ABC5 | JR NZ,$ABBC | Move back if it isn't, to jump. | ||
ABC7 | LD (IY+$3C),$01 | Otherwise set to move right. | ||
ABCB | CALL $B288 | Move the character. | ||
ABCE | LD A,(IY+$05) | Get the X co-ordinate. | ||
ABD1 | CP $F0 | Is it F0? | ||
ABD3 | JP Z,$AE5D | If it is, move to a new room. | ||
ABD6 | RET | Otherwise return. |
Prev: AB60 | Up: Map | Next: ABD7 |