Der BIOS Interrupt 13h dient dem Einfachen Zugriff auf Festplatten und Diskettenlaufwerke.
== Die Wichtigsten Funktionen ==
{| {{Prettytable}}
! Funktion || Parameter || Rückgabe
|-
| 02h Sektorweises Lesen || AH=02h
AL=Zahl der Auszulenden Sektoren
CH=Spur
CL=Nummer des Ersten Sektors
DH=Kopf
DL=Laufwerksnummer(0/1 erstes Zweites Floppy;
80h/81h/... Erste/Zweite/... Festplatte)
ES:BX=Addresse des Puffers || CF=Fehler
AL=Zahl der Sektoren
AH=Fehlercode
|-
| 03h Sektorweises Schreiben || AH=03h
AL=Zahl der zu schreibenden Sektoren
CH=Spur
CL=Erster Sektor
DH=kopf
DL=Laufwerksnummer
ES:BX=Adresse des Pufers || CF=Fehler
AL=Zahl der Sektoren
AH=Fehlercode
|-
| 04h Prüfen von Sektoren || AH=04h
AL=Zahl der zu prüfenden Sektoren
CH=Spur
CL=Erster Sektor
DH=Kopf
DL=Laufwerksnummer || CF=Fehler
AL=Zahl der Sektoren
AH=Fehlercode
|-
| 05h Spur Formatieren || AH=05h
AL=Anzahl Sektoren
CH=Spur
CL=erster Sektor
DH=Kopf(0/1)
DL=Laufwerksnummer
ES:BX=Adresse des Formatpuffers || CF=Fehler
AF=Fehlercode
|-
| 08h Format auslesen (Festplatte) || AH=08h
DL=Laufwerksnummer || CF=Fehler
AH=Fehlercode
DL=Zahl der Festplatten
DH=Zahl der Köpfe
CL=Zahl der Sektoren
CH=Zahl der Zylinder
|-
| 08h Format auslesen (Floppy) || AH=08h
DL=Laufwerksnummer || CF=Fehler
AH=Fehlercode
BL=Art des Laufwerks:
01h-5,25"[360KB]
02h-5,25"[1,2MB]
03h-3,5"[720KB]
04h-3,5"[1,44MB]
DH=1
CH=Zahl der Spuren-1
CL=Zahl der Sektoren-1
ES:DI=Zeiger auf die DDPT
|-
| 15h Auslesen des Laufwerktypes || AH=15h
DL=Laufwerksnummer || CF=Fehler
AH=Laufwerkstyp:
00h-Kein Laufwerk
01h-Diskettenlaufwerk
02h-Diskettenlaufwerk, Diskettenwechsel
03h-Festplatte:
DX/CX=Sektorenzahl(Bits 0-15/16-31)
|}
== Fehlercodes ==
{| {{Prettytable}}
! Fehlercode || Festplatte || Floppy
|-
| 01h || Falsche Funktionsnummer oder Laufwerk || Falsche Funktionsnummer
|-
| 02h || Addressmarkierung nicht gefunden || Adressmarkierung nicht gefunden
|-
| 03h || - || Schreibgeschützt
|-
| 04h || Sektor nicht gefunden || Sektor nicht gefunden
|-
| 05h || Reset-Fehler || -
|-
| 06h || - || Diskette wurde gewechselt
|-
| 07h || Falsche Initialisierung || -
|-
| 08h || - || DMA-Überlauf
|-
| 09h || Segmentgrenze überschritten [DMA] || Segmentgrenze überschritten [DMA]
|-
| 0Ah || Sektor Fehlerhaft || -
|-
| 10h || Lesefehler || Lesefehler
|-
| 11h || Lesefehler mit EEC Korigiert || -
|-
| 20h || Controller-Fehler || Controller-Fehler
|-
| 40h || Spur nicht gefunden || Spur nicht gefunden
|-
| 80h || Time-Out-Fehler || Tim-Out-Fehler
|-
| AAh || Laufwerk nicht bereit || -
|-
| BBh || Fehler im BIOS || Fehler im BIOS
|-
| CCh || Schreibfehler || -
|-
| FFh || Unbekannter Fehler || Unbekannter Fehler
|}
== Disk Drive Parameter Table [DDPT] ==
{| {{Prettytable}}
! || Inhalt
|-
| 00h || Step-Rate/Head-Unload-Time
|-
| 01h || Head-Load-Time
|-
| 02h || Nachlaufzeit des Motors
|-
| 03h || Sektorgröße
|-
| 04h || Sektoren pro Spur
|-
| 05h || Länge von GAP3
|-
| 06h || Data Length
|-
| 07h || Länge von GAP3 beim Formatieren
|-
| 08h || Füll-Byte für das Formatieren
|-
| 09h || Head-Settle-Time
|-
| 0Ah || Hochlaufzeit des Motors
|}
== Formatpuffer [05h] ==
{| {{Prettytable}}
! || Festplatte || Floppy
|-
| 0 || Spur || Spur
|-
| 1 || Kopf || Diskettenseite
0 Oben/1 Unten
|-
| 2 || Sektornummer || Sektornummer
|-
| 3 || Bytes pro Sektor:
0=128
1=256
2=512
3=1024 || Bytes pro Sektor:
0=128
1=256
2=512
3=1024
|}
[[Category:Stub]]