When the 8041 keyboard controller receives a command from the system that it cannot execute,
it writes that command to its Keyboard Request Service Port ( 5VC). This port resides in the
system I/O port address space at 069H. Whenever a byte is written to this port, the 8041 also
generates a hardware interrupt to notify the V_8041 interface driver of the request.
,.,..
The V_8041 driver reads the 8041 Keyboard Request Service Port, then performs a write to Port
06AH. Any value written to this port sends the 8041 an acknowledgement that the byte has
been read, and clears the service request interrupt.
The V_8041 driver then determines if it can execute the command. If it cannot, it calls its child
driver, the V_HPHIL driver. The V_HPHIL driver will transmit the command to the keyboard.
Examples commands executed by the keyboard are set typematic rate and delay values, set the
state of keyboard LEDs, etc.
The keyboard 8041 controller will accept and execute two sets of industry standard commands.
One set is controller commands, the other set is keyboard commands, both sets are listed in
table 5.17. Controller commands are executed by the 8041 controller or the V_8041 interface
driver. Keyboard commands are executed by the keyboard directly. (In actuality, due to the
keyboard implementation some of the keyboard commands are implemented by the V_8041
interface driver.)
Each of the command sets has its own protocol. The 8041 has two I/O ports, a command port
(I/O address 64H) and a data port (I/O address 60H). Controller commands are written to the
command port. If the command has parameters associated with it, the parameters are written to
the data port. Keyboard commands are written to the data port. All data written to the data port
is interpreted as a keyboard command, unless the previous command written to the command
port required parameters.
5.4.2
8041 Controller and Keyboard Commands
There are two sets of commands that are written to the 8041 chip. The first set controls the
actions and state of the 8041 Keyboard controller chip. The second set is either passed on to the
physical keyboard or emulated by the 8041 controller chip as if it were passed on to the physical
keyboard to be executed. 8041 Controller Commands are written to output port 64H. If there is
a data byte required by the command then it is written to (or read from) input port 60H.
Keyboard Commands, however, are written to output port 60H. Again, if there is a data byte
required it is written to output port 60H.
The following code writes a one byte command to the 8041 controller to disable the keyboard
interface.
Keyboa rd
181
Need help?
Do you have a question about the Vectra and is the answer not in the manual?
Questions and answers