Routines |
Prev: 7603 | Up: Map | Next: 76DD |
Used by the routine at EBBB. On entry, the bit set in A indicates the direction in which the character is going to move next:
Also on entry, the zero flag is set if the character is indoors. If the character is Sam, we also check whether he's entering a house other than no. 19 without a key.
|
||||||||||||||||||||||||||||
76BC | JR NZ,$76C2 | Jump unless the character is indoors | ||||||||||||||||||||||||||
76BE | AND B | Is the character going to leave the building? | ||||||||||||||||||||||||||
76BF | RET NZ | Return if not | ||||||||||||||||||||||||||
76C0 | INC (HL) | Set the character's z-coordinate to 2 | ||||||||||||||||||||||||||
76C1 | RET | |||||||||||||||||||||||||||
76C2 | AND B | Is the character going to enter the building? | ||||||||||||||||||||||||||
76C3 | JR Z,$76C0 | Jump if not | ||||||||||||||||||||||||||
76C5 | LD A,H | A=character number | ||||||||||||||||||||||||||
76C6 | CP $E6 | Is this Sam? | ||||||||||||||||||||||||||
76C8 | RET NZ | Return if not | ||||||||||||||||||||||||||
76C9 | BIT 0,B | Does the entrance have a door? | ||||||||||||||||||||||||||
76CB | RET Z | Return if not | ||||||||||||||||||||||||||
76CC | CALL $F293 | Point HL at the status flags for the door that Sam is standing next to (see 7FF0) | ||||||||||||||||||||||||||
76CF | LD A,L | A=LSB of the address of the door status flags (0xF0-0xF9) | ||||||||||||||||||||||||||
76D0 | CP $F5 | Is Sam standing in the doorway of no. 19? | ||||||||||||||||||||||||||
76D2 | JR Z,$76D7 | Jump if so | ||||||||||||||||||||||||||
76D4 | LD A,(HL) | Pick up the door status flags for the doorway Sam is standing in | ||||||||||||||||||||||||||
76D5 | AND $F8 | Set the zero flag if the door requires no key to unlock it | ||||||||||||||||||||||||||
76D7 | LD H,$E6 | 0xE6=Sam | ||||||||||||||||||||||||||
76D9 | RET Z | Return if the door requires no key to unlock it | ||||||||||||||||||||||||||
76DA | JP $7A39 | Check whether Sam has entered a house through the front door without a key |
Prev: 7603 | Up: Map | Next: 76DD |