![]() |
Routines |
Prev: 26276 | Up: Map | Next: 26336 |
The address of this routine is found in the table of keypress handling routines at 26624. It is called from the main loop at 26471 when 'P' or '8' is pressed, and is also used by the routines at 25983 and 26084.
|
||||||
26282 | CALL 25956 | Is ERIC sitting or lying down? | ||||
26285 | RET NZ | Return if so | ||||
26286 | CALL 26184 | Check whether ERIC is on a staircase | ||||
26289 | LD A,E | A=ERIC's x-coordinate | ||||
26290 | JR Z,26300 | Jump if ERIC's not on a staircase | ||||
26292 | CP 48 | Is ERIC on a staircase at the right of the skool? | ||||
26294 | JP NC,26084 | Jump if so | ||||
26297 | JP 25983 | |||||
26300 | BIT 7,B | Is ERIC facing left? | ||||
26302 | JP Z,25962 | Turn ERIC round if so | ||||
ERIC is facing right, and is not on a staircase.
|
||||||
26305 | CP 93 | Is ERIC at the far right of the skool? | ||||
26307 | RET Z | Return if so | ||||
26308 | LD A,D | A=ERIC's y-coordinate | ||||
26309 | CP 169 | Is ERIC on the bottom floor? | ||||
26311 | JR Z,26329 | Jump if so | ||||
26313 | CP 162 | Is ERIC on the middle floor? | ||||
26315 | JR NZ,26325 | Jump if not | ||||
26317 | LD A,E | A=ERIC's x-coordinate | ||||
26318 | CP 78 | 78=x-coordinate of the far right wall on the middle floor | ||||
26320 | RET Z | Return if ERIC is facing this wall | ||||
26321 | LD A,37 | 37=x-coordinate of the wall between the White and Exam Rooms | ||||
26323 | JR 26327 | |||||
26325 | LD A,56 | 56=x-coordinate of the wall between the Reading and Map Rooms | ||||
26327 | CP E | Is ERIC facing this wall (from the left side)? | ||||
26328 | RET Z | Return if so (ERIC cannot walk through walls) | ||||
There is no wall obstructing ERIC, so it's time to put him midstride.
|
||||||
26329 | LD A,129 | 129=ERIC midstride, facing right | ||||
26331 | LD L,E | L=ERIC's current x-coordinate | ||||
26332 | INC E | E=ERIC's post-midstride x-coordinate | ||||
26333 | JP 26238 | Put ERIC midstride |
Prev: 26276 | Up: Map | Next: 26336 |