| Zeile 389: | Zeile 389: | ||
einzig mögliche, hier muss man sich selbst überlegen wie das für den konkreten | einzig mögliche, hier muss man sich selbst überlegen wie das für den konkreten | ||
Anwendungsfall am komfortabelsten ist. | Anwendungsfall am komfortabelsten ist. | ||
| + | |||
| + | == Power-on Reset und Initialisierung des KBC durch das BIOS == | ||
| + | Anders, als man vermuten sollte, ist der KBC nach einem Reset des Computers nicht | ||
| + | direkt betriebsbereit. Vielmehr befindet er sich in einem Initialisierungs- | ||
| + | Zustand, in dem er auf einen Selbsttest-Befehl (0x55) wartet. Erst, nachdem dieser | ||
| + | Selbsttest-Befehl vom BIOS des Computers gesendet wurde und der KBC den Selbsttest | ||
| + | erfolgreich abgeschlossen hat, startet dieser seine Mainloop und ist dazu bereit, | ||
| + | normale Befehle entgegenzunehmen. | ||
| + | |||
| + | Diese Informationen sind jedoch zum Programmieren eines Betriebssystems nicht | ||
| + | direkt relevant, da diese Prozedur vom BIOS bereits vor dem Start des Bootloaders | ||
| + | durchgeführt wird. Genaueres über die interne Funktionsweise des i8042 KBC kann | ||
| + | dessen [http://www.halicery.com/8042/8042_1503033.TXT Quellcode] entnommen werden. | ||
== Beispiele zur Benutzung der KBC Funktionen == | == Beispiele zur Benutzung der KBC Funktionen == | ||
| Zeile 419: | Zeile 432: | ||
* http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html | * http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html | ||
* [http://www.diakom.ru/el/elfirms/datashts/Smsc/42w11.pdf SMS "8042" Datenblatt] | * [http://www.diakom.ru/el/elfirms/datashts/Smsc/42w11.pdf SMS "8042" Datenblatt] | ||
| + | * [http://www.halicery.com/8042/8042_1503033.TXT Quellcode des originalen i8042 KBC von IBM] | ||
[[Kategorie:Tutorials]] | [[Kategorie:Tutorials]] | ||
[[en:PS2 Keyboard]] | [[en:PS2 Keyboard]] | ||