| Routines

29178: Get the keypress offset of the last key pressed

Used by the routines at 29278, 29462, 62483 and 64316. Returns with the zero flag set if no game keys were pressed. Otherwise returns with A holding the value from the keypress offset table corresponding to the last key pressed. This offset (an even number from 80 to 120) points at an entry in the keypress address table at 58704. Each entry in that table is the address of the routine for handling a keypress.
29178 | CALL 29118 | Collect the ASCII code of the last key pressed in A
29181 | RET Z | Return if no key was pressed
29182 | SUB 48 | We're only interested in keys with codes 48 onwards
29184 | JR C,29176 | Jump if none of these was pressed
29186 | LD L,A | Point HL at the relevant entry in the keypress offset table at 58624
29187 | LD H,229
29189 | LD A,(HL) | Pick up the offset from that table
29190 | AND A | Set the zero flag if the offset is 0 (i.e. not a game key)
29191 | RET |