| Routines

75FD: Check whether a pellet has hit a cup

Used by routine at 7615. Returns with the zero flag set if the pellet is about to hit a cup.
Input
H | Pellet's character number (0xD5 or 0xD6)
75FD | LD L,$01 | Point HL at byte 0x01 of the pellet's buffer
75FF | LD E,(HL) | E=pellet's x-coordinate
7600 | INC L | L=0x02
7601 | LD D,(HL) | D=pellet's y-coordinate
7602 | INC E | Adjust the coordinates for comparison with those of the cup
7603 | INC D
7604 | LD A,D | A=pellet's (adjusted) y-coordinate
7605 | CP $0E | All the cups have a y-coordinate of 14
7607 | RET NZ | Return with the zero flag reset if the pellet's not at the right height to hit a cup
This entry point is used by the routine at 7316 with E holding the x-coordinate of ERIC's hand as he jumps off the saddle of the bike.
7608 | LD A,E | A=x-coordinate of the pellet or ERIC's hand
This entry point is used by the routine at FA4D with A holding the x-coordinate of the stream of water or sherry fired from the waterpistol.
7609 | CP $19 | Has the leftmost cup on the shelf in the boys' skool been hit?
760B | RET Z | Return with the zero flag set if so
760C | CP $1B | Has the middle cup on the shelf in the boys' skool been hit?
760E | RET Z | Return with the zero flag set if so
760F | CP $1E | Has the rightmost cup on the shelf in the boys' skool been hit?
7611 | RET Z | Return with the zero flag set if so
7612 | CP $BA | Has the cup on the shelf in the girls' skool been hit?
7614 | RET | Return with the zero flag set if so