![]() |
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 |