// ps2_valid port20 // ps2_ack port21 // ps2_pressed port22 // ps2_ascii port23 ps2_wait in 21 ps2_ack // read ps2_ack ps2_press in 22 ps2_pressed // read ps2_pressed out 20 ps2_zero // set valid to 0 out 23 ps2_zero // set ascii to 0 fix? bne ps2_wait ps2_ack ps2_one // loop if ack != 1 bne ps2_press ps2_pressed ps2_one // loop if pressed != 1 out 20 ps2_one // set valid to 1 ps2_ack .data 0 ps2_pressed .data 0 ps2_zero .data 0 ps2_one .data 1