| Routines

F1E3: Check for keypresses when Sam is on the phone

Used by the routines at 776F and 77D3. Returns with the zero flag set if no key with an ASCII code in the range 0x30-0x7F has been pressed. Otherwise returns with the ASCII code of the last keypress (converted to lower case) in A, or hangs up if 'h' was pressed.
F1E3 | LD HL,$E608 | Reset Sam's main action timer (in byte 0x08 of his buffer) to 4
F1E6 | LD (HL),$04
F1E8 | CALL $EAD9 | Collect the ASCII code of the last key pressed in A
F1EB | RET Z | Return if no key with an ASCII code in the range 0x30-0x7F was pressed
F1EC | SET 5,A | Convert the ASCII code to lower case
F1EE | CP $68 | Was 'h' (hang up) pressed?
F1F0 | RET NZ | Return if not
F1F1 | POP BC | Drop the return address from the stack
F1F2 | XOR A | A=0
F1F3 | LD ($7FFC),A | Clear all of Sam's status flags at 7FFC
F1F6 | LD ($7F9A),A | Clear the ID of the phone that Sam is calling at 7F9A
F1F9 | JP $772A | Make a sound effect