Prev: 63293 Up: Map Next: 63343
63314: Read Control Cursor
Cursor keyboard control: reads the Q (up), A (down), O (left) and P (right) keys from ports 64510 65022 and 57342 combining the four direction bits into the control byte.
Read_Control_Cursor 63314 LD BC,65022 Read from the keyboard;
Port Number Bit
0 1 2 3 4
253 A S D F G
63317 IN A,(C)
63319 OR %11111110 Isolate bit 0 from the first row.
63321 RLCA Shift the bit into position.
63322 LD E,A Save the partial result.
63323 LD B,251 Switch to keyboard port 64510.
63325 IN A,(C) Read keyboard port 64510.
63327 OR %11111110 Isolate bit 0 from the second row.
63329 AND E Merge with the first row result.
63330 RLCA Shift and save the combined result.
63331 LD E,A
63332 LD B,223 Switch to keyboard port 57342.
63334 IN A,(C) Read keyboard port 57342.
63336 OR %11111100 Isolate bits 0 and 1 from the third row.
63338 RLCA Shift the bits into position.
63339 RLCA
63340 RLCA
63341 AND E Merge with the accumulated result.
63342 RET Return to Read_Control_Input_Return.
Prev: 63293 Up: Map Next: 63343