Der Keyboard Controller (KBC) sitzt auf dem Mainboard und dient, wie der Name vermuten lässt, unter anderem der Tastaturansteuerung. Er hat jedoch noch viele weitere Funktionen.
Funktionen des KBC:
*Ansteuerung der Tastatur
*Ansteuerung des PSAUX-Ports (z.B. PS/2-Maus)
*ein-/ausschalten der 21-Adressleitung (a20-Gate)
*CPU-Reset auslösen
*ein-/ausschalten des Systemlautsprechers
*Information ob das System eine Monochrom- oder Farbgrafikkarte benutzt
Zur Komunikation mit dem KBC werden die Ports 0x60, 0x61 und 0x64 verwendet.
http://img241.imageshack.us/img241/5692/kbcnr6.png
Statusregister
{| border="1" cellpadding="0"
!width="50"|BIT
|Beschreibung
|Wert
|Beschreibung
|-
| rowspan=2 | 0 || rowspan=2 | Status des Ausgabepuffers (KBC -> CPU) || 0 || Ausgabepuffer leer
|-
|1 || Ausgabepuffer voll (es kann von Port 0x60 gelesen werden)
|-
| rowspan=2 | 1 || rowspan=2 | Status des Eingabepuffers (KBC <- CPU) || 0 || Eingabepuffer leer (es kann auf Port 0x60 oder 0x64 geschrieben werden)
|-
|1 || Eingabepuffer voll
|-
| rowspan=2 | 2 || rowspan=2 | Systemstatus? || 0 || Reset/Selbsttest wird gerade ausgeführt
|-
|1 || Selbsttest erfolgreich
|-
| rowspan=2 | 3 || rowspan=2 | zuletzt benutztes Port || 0 || 0x60
|-
|1 || 0x64? 0x61?
|-
| rowspan=2 | 4 || rowspan=2 | Tastatursperre || 0 || Tastatur gesperrt
|-
|1 || Tastatur nicht gesperrt
|-
| rowspan=2 | 5 || rowspan=2 | PSAUX? || 0 || ?
|-
|1 || ?
|-
| rowspan=2 | 6 || rowspan=2 | Timeout || 0 || kein Timeout
|-
|1 || Tastatur oder PSAUX-Gerät ragiert nicht?
|-
| rowspan=2 | 7 || rowspan=2 | Paritätsfehler || 0 || kein Fehler
|-
|1 || Beim letzten Senden/Empfangen trat ein Paritätsfehler auf
|}
inputport
{| border="1" cellpadding="0"
!width="50"|BIT
|Beschreibung
|Wert
|Beschreibung
|-
| rowspan=2 | 0 || rowspan=2 | Keyboard data in pin? || 0 || ?
|-
|1 || ?
|-
| rowspan=2 | 1 || rowspan=2 | PS/2 mouse in pin? || 0 || ?
|-
|1 || ?
|-
| rowspan=2 | 2 || rowspan=2 | Reserviert || ||
|-
| ||
|-
| rowspan=2 | 3 || rowspan=2 | Reserviert || ||
|-
| ||
|-
| rowspan=2 | 4 || rowspan=2 | Reserviert || ||
|-
| ||
|-
| rowspan=2 | 5 || rowspan=2 | Reserviert || ||
|-
| ||
|-
| rowspan=2 | 6 || rowspan=2 | Wether you have a color or mono screen || 0 || ?
|-
|1 || ?
|-
| rowspan=2 | 7 || rowspan=2 | Tastatursperre || 0 || Tastatursperre gesperrt
|-
|1 || Tastatursperre nicht gesperrt
|}