Also, the PS2 keyboard protocol expects data in the order shown below and the data is valid when the clock is low.
First Bit Sent -> Last Bit Sent
Start(0), Data0, Data2, Data3, Data4, Data5, Data6, Data7, Parity, Stop(1)
To press A you need to send $1C and then to release you need to send $F0, $1C
Which means the code for A is "0 00011100 0 1", but if you store that into a word variable it will be stored as 0000000001110001 which wont help us much becuase the first bit we want to send is bit10. So if you store the code for A in reverse like this:
char = %10001110000 '/a
you can then send the LSB first and you will get the correct bits in the correct order. It then follows that:
breakcode = %11000011110 '/F0
Bookmarks