![]() |
Routines |
| Prev: 66A4 | Up: Map | Next: 66E0 |
|
||||||||||
| 66AA | CALL $6564 | Is ERIC sitting or lying down? | ||||||||
| 66AD | RET NZ | Return if so | ||||||||
| 66AE | CALL $6648 | Check whether ERIC is on a staircase | ||||||||
| 66B1 | LD A,E | A=ERIC's x-coordinate | ||||||||
| 66B2 | JR Z,$66BC | Jump if ERIC's not on a staircase | ||||||||
| 66B4 | CP $30 | Is ERIC on a staircase at the right of the skool? | ||||||||
| 66B6 | JP NC,$65E4 | Jump if so | ||||||||
| 66B9 | JP $657F | |||||||||
| 66BC | BIT 7,B | Is ERIC facing left? | ||||||||
| 66BE | JP Z,$656A | Turn ERIC round if so | ||||||||
|
ERIC is facing right, and is not on a staircase.
|
||||||||||
| 66C1 | CP $5D | Is ERIC at the far right of the skool? | ||||||||
| 66C3 | RET Z | Return if so | ||||||||
| 66C4 | LD A,D | A=ERIC's y-coordinate | ||||||||
| 66C5 | CP $A9 | Is ERIC on the bottom floor? | ||||||||
| 66C7 | JR Z,$66D9 | Jump if so | ||||||||
| 66C9 | CP $A2 | Is ERIC on the middle floor? | ||||||||
| 66CB | JR NZ,$66D5 | Jump if not | ||||||||
| 66CD | LD A,E | A=ERIC's x-coordinate | ||||||||
| 66CE | CP $4E | This is the x-coordinate of the far right wall on the middle floor | ||||||||
| 66D0 | RET Z | Return if ERIC is facing this wall | ||||||||
| 66D1 | LD A,$25 | This is the x-coordinate of the wall between the White and Exam Rooms | ||||||||
| 66D3 | JR $66D7 | |||||||||
| 66D5 | LD A,$38 | This is the x-coordinate of the wall between the Reading and Map Rooms | ||||||||
| 66D7 | CP E | Is ERIC facing this wall (from the left side)? | ||||||||
| 66D8 | RET Z | Return if so (ERIC cannot walk through walls) | ||||||||
|
There is no wall obstructing ERIC, so it's time to put him midstride.
|
||||||||||
| 66D9 | LD A,$81 | 0x81=ERIC midstride, facing right | ||||||||
| 66DB | LD L,E | L=ERIC's current x-coordinate | ||||||||
| 66DC | INC E | E=ERIC's post-midstride x-coordinate | ||||||||
| 66DD | JP $667E | Put ERIC midstride | ||||||||
| Prev: 66A4 | Up: Map | Next: 66E0 |