Again PS/2 Keyboard problem
Posted: Fri Jul 29, 2005 3:12 pm
Hello everyone!
i am trying to develop my own OS, as you might guess...
And its crucial part is a proper initialisation and detection of Human Interface Devices. particularily PS/2 keyboards and mice.
here http://www.mega-tokyo.com/forum/index.php?board=1;action=display;threadid=7794;start=msg65842#msg65842 i found an interesting description of an initialisation sequences.
so the problem is the following.
When i try my OS on a real PC (PII, quite an old one with PS/2 keyboard), i get the following:
and that is it. the device A status buffer says that there is no incoming data. no BAT result...
The ideal outcome should be the following (under BOCHS 2.2.1):
Great, everything is OK and we have a working device A and its ID code.
Can You tell me what might the problem here be?
Don't hesitate to ask me to provide any further comments.
P.S.: of course all inputs and outputs are done with proper checks if the input/output buffers are ready.
i am trying to develop my own OS, as you might guess...
And its crucial part is a proper initialisation and detection of Human Interface Devices. particularily PS/2 keyboards and mice.
here http://www.mega-tokyo.com/forum/index.php?board=1;action=display;threadid=7794;start=msg65842#msg65842 i found an interesting description of an initialisation sequences.
so the problem is the following.
When i try my OS on a real PC (PII, quite an old one with PS/2 keyboard), i get the following:
Code: Select all
# port cmd/data
;;apply default parameters to, disable scanning of device A
00) p60 <- F5
01) p60 -> FA ;;ACK
;;initiate device A interface test
02) p64 <- AB
03) p60 -> 00 ;;no errors
;;reset device A
04) p60 <- FF
05) p60 -> FA ;;ACK
The ideal outcome should be the following (under BOCHS 2.2.1):
Code: Select all
# port cmd/data
;;apply default parameters to, disable scanning of device A
00) p60 <- F5
01) p60 -> FA ;;ACK
;;initiate device A interface test
02) p64 <- AB
03) p60 -> 00 ;;no errors
;;reset device A
04) p60 <- FF
05) p60 -> FA ;;ACK
06) p60 -> AA ;;BAT successful
;;set default parameters, disable scanning
07) p60 <- F5
08) p60 -> FA ;;ACK
;;perform an id request
09) p60 <- F2
10) p60 -> FA ;;ACK
11) p60 -> AB ;;ID byte #1
12) p60 -> 41 ;;ID byte #2
Can You tell me what might the problem here be?
Don't hesitate to ask me to provide any further comments.
P.S.: of course all inputs and outputs are done with proper checks if the input/output buffers are ready.