Prev: 64034 Up: Map Next: 64091
64042: Capture keyboard input
Used by the routine at 64034.
Output
A Stored key-press (bits: 0=LEFT, 1=RIGHT, 2=UP, 3=DOWN, 4=FIRE)
64042 LD C,254 Load C with 254 (as all keyboard half-row "input addresses" have C = 254)
The operand of the instruction at 64044 represents the MSB of the "input address" to use in reading the keyboard for the currently defined LEFT key. It is modified by the routine at 63740.
64044 LD B,127 Load B with MSB of "input address"
64046 IN A,(C) Read keyboard
The operand of the instruction at 64048 represents the index of the bit to use in reading the keyboard. It is modified by the routine at 63740.
64048 BIT 3,A "N" key pressed so...
64050 CALL Z,64192 ...store a LEFT input from control device
64053 LD B,127 Load B with MSB of "input address"
64055 IN A,(C) Read keyboard
64057 BIT 2,A "M" key pressed so...
64059 CALL Z,64195 ...store a RIGHT input from control device
64062 LD B,253 IN 65022 reads the half row A to G...
64064 IN A,(C) Read keyboard
64066 BIT 0,A "A" key pressed so...
64068 CALL Z,64198 ...store an UP input from control device
64071 LD B,254 IN 65278 reads the half row CAPS SHIFT to V
64073 IN A,(C) Read keyboard
64075 BIT 1,A "Z" key pressed so...
64077 CALL Z,64201 ...store a DOWN input from control device
64080 LD B,127 IN 32766 reads the half row SPACE to B
64082 IN A,(C) Read keyboard
64084 BIT 0,A SPACE bar pressed so...
64086 CALL Z,64204 ...store a FIRE input from control device
64089 LD A,(HL) Load stored input into A
64090 RET Return
Prev: 64034 Up: Map Next: 64091