| Zeile 217: | Zeile 217: | ||
|- | |- | ||
! || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0 | ! || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0 | ||
| − | |- | + | |- valign='top' |
| − | + | ! valign='middle' width="1%" | 0 | |
| − | | | + | | width="12.5%" style="background:lightgrey" | |
| − | | | + | | width="12.5%" style="background:lightgrey" | |
| − | | | + | | width="12.5%" | Es liegen keine Daten für uns bereit |
| − | | | + | | width="12.5%" | Keyboard verfügbar |
| − | | | + | | width="12.5%" | Das letzte geschriebene Byte waren Daten und gingnen an den Port 60h |
| − | | | + | | width="12.5%" | power up or reset |
| − | | | + | | width="12.5%" | Der Input-Buffer ist leer und alle Befehle sind verarbeitet, nun können wir einen Befehl senden |
| − | | | + | | width="12.5%" | Es liegen keine Daten bereit und es sollte somit auch noch nichts aus dem Port 60h ausgelesen werden |
| − | |- | + | |- valign='top' |
| − | + | ! valign='middle' | 1 | |
| − | + | | Parity-Error bei der letzten Übertragung vom Keyboard | |
| − | + | | Ein Time-Out-Error ist aufgetreten, das heißt, dass die Maus oder die Tastatur nicht reagiert hat. Sollte dieser Fehler auftreten sollte mann den Resend-Befehl nutzen. | |
| − | + | | Die Maus hat Daten für uns im Maus-Output-Buffer bereit leigen und sollten nun abgeholt werden | |
| − | + | | Keyboard gesperrt | |
| − | + | | Das letzte geschrieben Byte war ein Befehl und ging somit an den Port 64h | |
| − | + | | Selftest OK | |
| − | + | | Der Input-Buffer hat noch Daten, also es liegt noch der zuletzt gesendete Befehl in 60h/64h und wartet auf seine Verarbeitung | |
| − | + | | Im OutputBuffer befinden sich Daten für den User. Im Sourcecode wird dies genutzt um auf das Ergebnis einer Operation zu warten | |
|} | |} | ||
| Zeile 342: | Zeile 342: | ||
! || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0 | ! || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0 | ||
|- | |- | ||
| − | + | ! Byte 1 | |
| + | | Y overflow || X overflow || Y sign bit || X sign bit || bgcolor='#bbb' | Reserved (1) || Middle Button pressed || Right Button pressed || Left Button pressed | ||
|- | |- | ||
| − | + | ! Byte 2 | |
| + | | colspan=8 | X Movement seit dem letztem Daten-Paket | ||
|- | |- | ||
| − | + | ! Byte 3 | |
| + | | colspan=8 | Y Movement seit dem letztem Daten-Paket | ||
|} | |} | ||
| Zeile 393: | Zeile 396: | ||
! || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0 | ! || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0 | ||
|- | |- | ||
| − | + | ! Byte 1 | |
| + | | Y overflow || X overflow || Y sign bit || X sign bit || bgcolor='#bbb' | Reserved (1) || Middle Button pressed || Right Button pressed || Left Button pressed | ||
|- | |- | ||
| − | + | ! Byte 2 | |
| + | | colspan=8 | X Movement seit dem letztem Daten-Paket | ||
|- | |- | ||
| − | + | ! Byte 3 | |
| + | | colspan=8 | Y Movement seit dem letztem Daten-Paket | ||
|- | |- | ||
| − | + | ! Byte 4 | |
| + | | colspan=8 | Z Movement seit dem letztem Daten-Paket | ||
|} | |} | ||
| Zeile 455: | Zeile 462: | ||
! || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0 | ! || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0 | ||
|- | |- | ||
| − | + | ! Byte 1 | |
| + | | Y overflow || X overflow || Y sign bit || X sign bit || bgcolor='#bbb' | Reserved (1) || Middle Button pressed || Right Button pressed || Left Button pressed | ||
|- | |- | ||
| − | + | ! Byte 2 | |
| + | | colspan=8 | X Movement seit dem letztem Daten-Paket | ||
|- | |- | ||
| − | + | ! Byte 3 | |
| + | | colspan=8 | Y Movement seit dem letztem Daten-Paket | ||
|- | |- | ||
| − | | '' | + | ! Byte 4 |
| + | | bgcolor='#bbb' colspan='2' | reserved (0) || 5th Maustaste || 4th Maustaste || colspan=4 | Z Movement seit dem letztem Daten-Paket | ||
|} | |} | ||