| Routines

64042: Check whether ANGELFACE is touching ERIC

The address of this continual subcommand routine is placed into bytes 124 and 125 of ANGELFACE's buffer by command list 220. 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 32715 is set, indicating that ERIC has mumps (whereupon MR ROCKITT will come looking for ERIC to send him home).
Input
H | 168 (ANGELFACE)
64042 | LD A,(32715) | 32715 holds the special playtime signal flags
64045 | BIT 4,A | Has ERIC been told (and understood) that ANGELFACE has mumps?
64047 | RET Z | Return if not
64048 | CALL 32234 | Make ANGELFACE walk fast
64051 | LD A,(44130) | A=ERIC's x-coordinate
64054 | LD L,98 | Byte 98 of ANGELFACE's buffer holds his x-coordinate
64056 | CP (HL) | Compare ERIC's and ANGELFACE's x-coordinates
64057 | RET NZ | Return if they do not match
64058 | LD A,(44129) | A=ERIC's y-coordinate
64061 | DEC L | L=97 (which byte holds ANGELFACE's y-coordinate)
64062 | CP (HL) | Compare ERIC's and ANGELFACE's y-coordinates
64063 | 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.
64064 | LD A,(32715) | Set bit 5 at 32715, indicating that ERIC has mumps
64067 | SET 5,A
64069 | LD (32715),A
64072 | RET |