Jet Set Willy: Routine at 96C9

| Routines

96C9: Check whether ENTER, 0 or the fire button is being pressed

Used by the routine at 96A2. Returns with the zero flag reset if ENTER, 0 or the fire button on the joystick is being pressed.
96C9 | LD A,($85CE) | Collect the Kempston joystick indicator from 85CE
96CC | OR A | Is the joystick connected?
96CD | JR Z,$96D4 | Jump if not
96CF | IN A,($1F) | Collect input from the joystick
96D1 | BIT 4,A | Is the fire button being pressed?
96D3 | RET NZ | Return (with the zero flag reset) if so
96D4 | LD BC,$AFFE | Read keys H-J-K-L-ENTER and 6-7-8-9-0
96D7 | IN A,(C)
96D9 | AND $01 | Keep only bit 0 of the result (ENTER, 0)
96DB | CP $01 | Reset the zero flag if ENTER or 0 is being pressed
96DD | RET |