Chapter 5 Input/Output Interfaces
5-20 Compaq Deskpro Personal Computers
Third Edition – April 2001
Table 5-15.
      CPU Commands To The 8042
Value Command Description 
20h  Put current command byte in port 60h. 
60h  Load new command byte.  
A4h  Test password installed. Tests whether or not a password is installed in the 8042: 
   If FAh is returned, password is installed. 
   If F1h is returned, no password is installed.  
A5h  Load password. This multi-byte operation places a password in the 8042 using the following manner: 
1.   Write A5h to port 64h. 
2.   Write each character of the password in 9-bit scan code (translated) format to port 60h. 
3.   Write 00h to port 60h. 
A6h  Enable security. This command places the 8042 in password lock mode following the A5h command. 
The correct password must then be entered before further communication with the 8042 is allowed. 
A7h  Disable pointing device. This command sets bit <5> of the 8042 command byte, pulling the clock line 
of the pointing device interface low.  
A8h  Enable pointing device. This command clears bit <5> of the 8042 command byte, activating the clock 
line of the pointing device interface. 
A9h  Test the clock and data lines of the pointing device interface and place test results in the output 
buffer. 
   00h = No error detected 
   01h = Clock line stuck low 
   02h = Clock line stuck high 
   03h = Data line stuck low 
   04h = Data line stuck high 
AAh  Initialization. This command causes the 8042 to inhibit the keyboard and pointing device and places 
55h into the output buffer.  
ABh  Test the clock and data lines of the keyboard interface and place test results in the output buffer. 
   00h = No error detected 
   01h = Clock line stuck low 
   02h = Clock line stuck high 
   03h = Data line stuck low 
   04h = Data line stuck high 
ADh  Disable keyboard command (sets bit <4> of the 8042 command byte). 
AEh  Enable keyboard command (clears bit <4> of the 8042 command byte). 
C0h  Read input port of the 8042. This command directs the 8042 to transfer the contents of the input port 
to the output buffer so that  they can be read at port 60h.  
C2h  Poll Input Port High. This command directs the 8042 to place bits <7..4> of the input port into the 
upper half of the status byte on a continous basis until another command is received. 
C3h  Poll Input Port Low. This command directs the 8042 to place bits <3..0> of the input port into the 
lower half of the status byte on a continous basis until another command is received. 
D0h  Read output port. This command directs the 8042 to transfer the contents of the output port to the 
output buffer so that they can be read at port 60h.  
D1h  Write output port. This command directs  the 8042 to place the next byte written to port 60h into the 
output port (only bit <1> can be changed). 
D2h  Echo keyboard data. Directs the 8042 to send back to the CPU  the next byte written to port 60h as if 
it originated from the keyboard. No 11-to-9 bit translation takes place but an interrupt (IRQ1) is 
generated if enabled. 
D3h  Echo pointing device data. Directs the 8042 to send back to the CPU  the next byte written to port 
60h as if it originated from the pointing device.  An interrupt (IRQ12) is generated if enabled. 
D4h  Write to pointing device. Directs the 8042 to send the next byte written to 60h to the pointing device. 
E0h  Read test inputs. Directs the 8042 to transfer the test bits 1 and 0 into bits <1,0> of the output buffer.  
F0h-
FFh 
Pulse output port. Controls the pulsing of bits <3..0> of the output port (0 = pulse,  1 = don’t pulse). 
Note that pulsing bit <0> will reset the system. 
5.6.4 KEYBOARD/POINTING DEVICE INTERFACE CONNECTOR