AT Attachment — Änderungen 4940 → 4941

Zeile 45: Zeile 45:
 
=== Fehlerregister ===
 
=== Fehlerregister ===
 
Nach der Ausführung eines Kommandos kann man hier den Fehlercode auslesen. Der Fehlercode gilt aber nur, wenn im Statusregister das ERR-Bit gesetzt ist.
 
Nach der Ausführung eines Kommandos kann man hier den Fehlercode auslesen. Der Fehlercode gilt aber nur, wenn im Statusregister das ERR-Bit gesetzt ist.
−
 
+
{| {{Prettytable}}
 +
! width="60pt" | 7 !! width="60pt" | 6 !! width="60pt" | 5 !! width="60pt" | 4 !! width="60pt" | 3 !! width="60pt" | 2!! width="60pt" | 1 !! width="60pt" | 0
 +
|-
 +
| ICRC ||UNC||MC||IDNF||MCR ||ABRT || NM || r
 +
|}
 +
* ICRC: CRC-Vergleichsfehler bei Ultra-DMA-Übertragungen
 +
* UNC: Fehler im Datenfeld des Sektors
 +
* MC: Das Speichermedium(CD) wurde gewechselt
 +
* IDNF: Die Sektor-ID wurde nicht gefunden
 +
* MCR: Bei einem CD-Laufwerk wurde der Auswurf-Knopf gedrückt
 +
* ABRT: Command aborted (falsches Kommando oder Gerätefehler)
 +
* NM: No Media
 +
* r: reserviert
 
=== Sektoranzahl ===
 
=== Sektoranzahl ===
 +
Anzahl der zu lesenden/schreibenden Sektoren.
 
=== LBA niedrig ===
 
=== LBA niedrig ===
 +
LBA Bit 0-7.
 
=== LBA mittel ===
 
=== LBA mittel ===
 +
LBA Bit 8-15.
 
=== LBA hoch ===
 
=== LBA hoch ===
 +
LBA Bit 16-23.
 
=== Geräteauswahl ===
 
=== Geräteauswahl ===
 +
{| {{Prettytable}}
 +
! width="60pt" | 7 !! width="60pt" | 6 !! width="60pt" | 5 !! width="60pt" | 4 !! width="60pt" | 3 !! width="60pt" | 2!! width="60pt" | 1 !! width="60pt" | 0
 +
|-
 +
| 1||1||1||DR|| colspan="4" align="center" | LBA Bit 27-24
 +
|}
 +
* DR: Drive Master(0) / Slave(1)
 +
=== Status/Kommandoregister ===
 +
Beim Lesen:
 +
{| {{Prettytable}}
 +
! width="60pt" | 7 !! width="60pt" | 6 !! width="60pt" | 5 !! width="60pt" | 4 !! width="60pt" | 3 !! width="60pt" | 2!! width="60pt" | 1 !! width="60pt" | 0
 +
|-
 +
| BSY ||DRDY||DF||#||DRQ || r || r || ERR
 +
|}
 +
* BSY: Busy
 +
* DRDY: Drive Ready. Gesetzt, wenn die Drive Kommandos annehmen kann.
 +
* DF: Device Fault. Betrifft Fehler, die nicht im Fehlerregister angezeigt werden.
 +
* #: Kommando-abhängig
 +
* DRQ: Ein Zugriff auf das Datenregister wird erwartet
 +
* ERR: Error-Bit. Nach Fehler gesetzt, Beschreibung im Fehlerregister.
 +
Beim Schreiben:
 +
Hier wird der Befehl reingeschrieben.
 +
=== Status2/Steuerregister ===
 +
Beim Lesen:
 +
Wie Statusregister.
 +
Beim Schreiben:
 
{| {{Prettytable}}
 
{| {{Prettytable}}
 
! width="60pt" | 7 !! width="60pt" | 6 !! width="60pt" | 5 !! width="60pt" | 4 !! width="60pt" | 3 !! width="60pt" | 2!! width="60pt" | 1 !! width="60pt" | 0
 
! width="60pt" | 7 !! width="60pt" | 6 !! width="60pt" | 5 !! width="60pt" | 4 !! width="60pt" | 3 !! width="60pt" | 2!! width="60pt" | 1 !! width="60pt" | 0
Zeile 56: Zeile 97:
 
| HOB ||r||r||r||r || SRST || nIEN || 0
 
| HOB ||r||r||r||r || SRST || nIEN || 0
 
|}
 
|}
−
 
−
* r: reserviert
 
 
* HOB: siehe [[AT Attachment#HOB-Bit löschen|HOB-Bit]]
 
* HOB: siehe [[AT Attachment#HOB-Bit löschen|HOB-Bit]]
 
* SRST: Software Reset
 
* SRST: Software Reset
 
* nIEN: Wenn gesetzt, sendet der Controller keine PIC-Ints mehr
 
* nIEN: Wenn gesetzt, sendet der Controller keine PIC-Ints mehr
 
* 0: Immer 0
 
* 0: Immer 0
−
 
−
=== Status/Kommandoregister ===
 
−
=== Status2/Steuerregister ===
 
  
 
== Fehlerquellen ==
 
== Fehlerquellen ==