![]() |
Routines |
| Prev: 79CA | Up: Map |
|
||||||||
| 79D4 | CALL $79FD | Get ERIC's coordinates in DE | ||||||
| 79D7 | LD A,D | A=ERIC's y-coordinate | ||||||
| 79D8 | PUSH HL | |||||||
| 79D9 | LD HL,$7790 | Point HL at the skool region table for the top floor (see 77AC) | ||||||
| 79DC | CP $9B | Is ERIC on the top floor? | ||||||
| 79DE | JR Z,$79EE | Jump if so | ||||||
| 79E0 | CP $A2 | Set the zero flag if ERIC's on the middle floor | ||||||
| 79E2 | LD L,$9C | HL=779C (skool region data table for the middle floor; see 77AC) | ||||||
| 79E4 | JR Z,$79EE | Jump if ERIC's on the middle floor | ||||||
| 79E6 | LD L,$A6 | HL=77A6 (skool region data table for the bottom floor; see 77AC) | ||||||
| 79E8 | CP $A9 | Is ERIC on the bottom floor? | ||||||
| 79EA | JR Z,$79EE | Jump if so | ||||||
| 79EC | POP HL | |||||||
| 79ED | RET | Return with the zero flag reset | ||||||
|
ERIC is on the top, middle or bottom floor (i.e. not on a staircase).
|
||||||||
| 79EE | LD A,E | A=ERIC's x-coordinate | ||||||
| 79EF | CP (HL) | Find the region identifier (0-7) for ERIC's current location | ||||||
| 79F0 | INC HL | |||||||
| 79F1 | INC HL | |||||||
| 79F2 | JR NC,$79EF | |||||||
| 79F4 | DEC HL | HL now points at the region identifier | ||||||
| 79F5 | LD A,($7FF4) | Pick up the current lesson descriptor from 7FF4 | ||||||
| 79F8 | AND $07 | Keep only the room bits (bits 0-2) | ||||||
| 79FA | CP (HL) | Is ERIC where he should be? | ||||||
| 79FB | POP HL | |||||||
| 79FC | RET | Return with the zero flag set if so | ||||||
| Prev: 79CA | Up: Map |