![]() |
Routines |
Prev: 60032 | Up: Map |
Used by the routine at 31126. 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 or joystick movement made. This offset (an odd number from 1 to 39) points at an entry in the table of keypress handling routines at 60672.
|
||||||||
60082 | CALL 60121 | Collect the ASCII code of the last key pressed in A | ||||||
60085 | JR NZ,60146 | Jump if a key was pressed | ||||||
60087 | LD A,(32762) | Collect the input device indicator from 32762 | ||||||
60090 | AND A | Are we using the Kempston joystick? | ||||||
60091 | RET Z | Return with the zero flag set if not | ||||||
We are using the Kempston joystick.
|
||||||||
60092 | IN A,(31) | Take a reading from the joystick port | ||||||
60094 | AND 31 | Any input from the joystick? | ||||||
60096 | RET Z | Return if not | ||||||
60097 | LD L,80 | 80='P' (RIGHT) | ||||||
60099 | RRCA | Was the joystick moved right? | ||||||
60100 | JR C,60147 | Jump if so | ||||||
60102 | DEC L | L=79='O' (LEFT) | ||||||
60103 | RRCA | Was the joystick moved left? | ||||||
60104 | JR C,60147 | Jump if so | ||||||
60106 | LD L,65 | 65='A' (DOWN) | ||||||
60108 | RRCA | Was the joystick moved down? | ||||||
60109 | JR C,60147 | Jump if so | ||||||
60111 | LD L,81 | 81='Q' (UP) | ||||||
60113 | RRCA | Was the joystick moved up? | ||||||
60114 | JR C,60147 | Jump if so | ||||||
60116 | LD L,107 | 107='k' (knock on or open a door) | ||||||
60118 | JR 60147 | Collect and return the keypress offset that corresponds to the joystick movement |
Prev: 60032 | Up: Map |