Prev: 6039 Up: Map Next: 60A5
6068: Scan keyboard
Reads multiple half-rows via port $FE. Keys: P=right, O=left, 2=up, W=down, either bottom row=fire.
scan_keyboard 6068 LD A,$DF Scan "P" (RIGHT)
606A IN A,($FE)
606C BIT 0,A
606E CALL Z,handle_right
6071 LD A,$DF Scan "O" (LEFT)
6073 IN A,($FE)
6075 BIT 1,A
6077 CALL Z,handle_left
607A LD A,$F7 Scan "2" (UP)
607C IN A,($FE)
607E BIT 1,A
6080 CALL Z,handle_up
6083 LD A,$FB Scan "W" (DOWN)
6085 IN A,($FE)
6087 BIT 1,A
6089 CALL Z,handle_down
608C LD A,$7F Scan lower row right (FIRE)
608E IN A,($FE)
6090 AND $1F
6092 CP $1F
6094 CALL NZ,handle_fire
6097 LD A,$FE Scan lower row left (FIRE)
6099 IN A,($FE)
609B AND $1F
609D CP $1F
609F CALL NZ,handle_fire
60A2 JP main_loop
Prev: 6039 Up: Map Next: 60A5