| Routines

FA2A: Check whether ANGELFACE is touching ERIC

The address of this continual subcommand routine is placed into bytes 0x7C and 0x7D of ANGELFACE's buffer by command list 0xDC. It checks whether ERIC and ANGELFACE are in the same location; if they are, and ERIC has already been informed of ANGELFACE's medical condition, bit 5 at 7FCB is set, indicating that ERIC has mumps (whereupon MR ROCKITT will come looking for ERIC to send him home).
Input
H | 0xA8 (ANGELFACE)
FA2A | LD A,($7FCB) | 7FCB holds the special playtime signal flags
FA2D | BIT 4,A | Has ERIC been told (and understood) that ANGELFACE has mumps?
FA2F | RET Z | Return if not
FA30 | CALL $7DEA | Make ANGELFACE walk fast
FA33 | LD A,($AC62) | A=ERIC's x-coordinate
FA36 | LD L,$62 | Byte 0x62 of ANGELFACE's buffer holds his x-coordinate
FA38 | CP (HL) | Compare ERIC's and ANGELFACE's x-coordinates
FA39 | RET NZ | Return if they do not match
FA3A | LD A,($AC61) | A=ERIC's y-coordinate
FA3D | DEC L | L=0x61 (which byte holds ANGELFACE's y-coordinate)
FA3E | CP (HL) | Compare ERIC's and ANGELFACE's y-coordinates
FA3F | RET NZ | Return if they do not match
ERIC and ANGELFACE are in the same location, thus facilitating transmission of the latter's pestilence to the former.
FA40 | LD A,($7FCB) | Set bit 5 at 7FCB, indicating that ERIC has mumps
FA43 | SET 5,A
FA45 | LD ($7FCB),A
FA48 | RET |