Format von CP/M 3.1 Datenträgern

CP/M 3.1 gebraucht ein CP/M 2.2 sehr ähnliches System, wobei allerdings mehr Formate unterstützt werden. Die Datenträgerkennwerte sind in einem Parameterblock (dem DPB, dessen Adresse mit der BDOS Funktion 31 ermittelt werden kann) abgelegt mit den folgenden Informationen:
        DEFW    spt     ;Anzahl von 128-Byte Rekords je Spur
        DEFB    bsh     ;Blockschiebefaktor. 3 => 1k, 4 => 2k, 5 => 4k....
        DEFB    blm     ;Blockmaske. 7 => 1k, 0Fh => 2k, 1Fh => 4k...
        DEFB    exm     ;Extentmaske
        DEFW    dsm     ;(Anzahl von Blöcken auf dem Datenträger)-1
        DEFW    drm     ;(Anzahl von Directory-Einträgen)-1
        DEFB    al0     ;Directory Belegungs-Bitmap, erstes Byte
        DEFB    al1     ;Directory Belegungs-Bitmap, zweites Byte
        DEFW    cks     ;Größe des Checksumvektors,
                        ;0 oder 8000h für eine Festplatte.
                        ;Anzahl von Directory-Einträgen/4, abgerundet.
        DEFW    off     ;Offset, Anzahl der reservierten Spuren
        DEFB    psh     ;Physikalischer Sektorschiebefaktor,
                        ;0 => 128-Byte Sektoren
                        ;1 => 256-Byte Sektoren  2 => 512-Byte Sektoren...
        DEFB    phm     ;Physikalische Sektormaske,
                        ;0 => 128-Byte Sektoren
                        ;1 => 256-Byte Sektoren, 3 => 512-Byte Sektoren...
Die Directory Belegungs-Bitmap wird wie folgt interpretiert:
       al0              al1
b7b6b5b4b3b2b1b0 b7b6b5b4b3b2b1b0
 1 1 1 1 0 0 0 0  0 0 0 0 0 0 0 0
- d.h., in diesem Beispiel, dass die ersten 4 Blöcke des Datenträgers das Directory enthalten.

Der DBP ist nicht notwendigerweise auf dem Datenträger abgelegt. Er ist entweder im BIOS fest verdrahtet oder wird bei Bedarf erzeugt.

Letzte Änderung: 4.Juni 2004