Keyboard Controller
Aus Lowlevel
Version vom 20. Januar 2007, 14:05 Uhr von Osbios (Diskussion | Beiträge)
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.
Statusregister
| BIT | Beschreibung | Wert | Beschreibung |
|---|---|---|---|
| 0 | Status des Ausgabepuffers (KBC -> CPU) | 0 | Ausgabepuffer leer |
| 1 | Ausgabepuffer voll (es kann von Port 0x60 gelesen werden) | ||
| 1 | Status des Eingabepuffers (KBC <- CPU) | 0 | Eingabepuffer leer (es kann auf Port 0x60 oder 0x64 geschrieben werden) |
| 1 | Eingabepuffer voll | ||
| 2 | Systemstatus? | 0 | Reset/Selbsttest wird gerade ausgeführt |
| 1 | Selbsttest erfolgreich | ||
| 3 | zuletzt benutztes Port | 0 | 0x60 |
| 1 | 0x64? 0x61? | ||
| 4 | Tastatursperre | 0 | Tastatur gesperrt |
| 1 | Tastatur nicht gesperrt | ||
| 5 | PSAUX? | 0 | ? |
| 1 | ? | ||
| 6 | Timeout | 0 | kein Timeout |
| 1 | Tastatur oder PSAUX-Gerät ragiert nicht? | ||
| 7 | Paritätsfehler | 0 | kein Fehler |
| 1 | Beim letzten Senden/Empfangen trat ein Paritätsfehler auf |
inputport
| BIT | Beschreibung | Wert | Beschreibung |
|---|---|---|---|
| 0 | Keyboard data in pin? | 0 | ? |
| 1 | ? | ||
| 1 | PS/2 mouse in pin? | 0 | ? |
| 1 | ? | ||
| 2 | Reserviert | ||
| 3 | Reserviert | ||
| 4 | Reserviert | ||
| 5 | Reserviert | ||
| 6 | Wether you have a color or mono screen | 0 | ? |
| 1 | ? | ||
| 7 | Tastatursperre | 0 | Tastatursperre gesperrt |
| 1 | Tastatursperre nicht gesperrt |