![]() |
Routines |
Prev: 66A4 | Up: Map |
|
||||||||||||
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 |