Prev: 938B Up: Map Next: 93BE
9398: Read the cursor keys
Used by the routine at READ_CONTROLS.
The branch READ_CONTROLS takes when the cursor option was chosen. The cursor keys are not adjacent in the matrix the way Q, W, E, R and T are, so this reads a different half-row and assembles the same five bits by hand rather than swapping two of them.
READ_CURSOR_KEYS 9398 LD A,$EF
939A OUT ($FD),A
939C IN A,($FE)
939E LD C,A
939F AND $08
93A1 LD E,A
93A2 LD A,C
93A3 RRCA
93A4 RRCA
93A5 AND $45
93A7 OR E
93A8 LD E,A
93A9 RRCA
93AA RRCA
93AB AND $10
93AD OR E
93AE AND $1F
93B0 LD E,A
93B1 LD A,$F7
93B3 OUT ($FD),A
93B5 IN A,($FE)
93B7 RRA
93B8 RRA
93B9 RRA
93BA AND $02
93BC OR E
93BD RET
Prev: 938B Up: Map Next: 93BE