Amstrad CP/M Diskettenformate

Amstrad CP/M verwendet einen erweiterten Disk Parameterblock (eXtended Disc Parameter Block - XDPB) :
        DEFW    spt     ;Anzahl von 128-Byte Rekords pro Spur
        DEFB    bsh     ;Blockverschiebung. 3 => 1k, 4 => 2k, 5 => 4k....
        DEFB    blm     ;Blockmaske. 7 => 1k, 0Fh => 2k, 1Fh => 4k...
        DEFB    exm     ;Erweiterte Maske, siehe unten
        DEFW    dsm     ;(Anzahl von Blöcken auf der Diskette)-1
        DEFW    drm     ;(Anzahl von Directory-Einträgen)-1
        DEFB    al0     ;Bitmap der Directory-Belegung, erstes Byte
        DEFB    al1     ;Bitmap der Directory-Belegung, zweites Byte
        DEFW    cks     ;Prüfsummen-Vektorgröße, 0 oder 8000h für eine Festplatte.
                        ;Anzahl der Directory-Einträge/4, aufgerundet.
        DEFW    off     ;Offset, Anzahl reservierter Spuren
        DEFB    psh     ;Physikalische Sektorverschiebung, 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 Amstrad-Erweiterungen beginnen hier)
;
        DEFB    Seitenagabe
                        ;Bits 0-1:  0 => Einseitig
                        ;           1 => Zweiseitig, Rückseiten
                        ;            d.h. Spur   0 ist Zylinder   0 Kopf 0
                        ;                 Spur   1 ist Zylinder   0 Kopf 1
                        ;                 Spur   2 ist Zylinder   1 Kopf 0 
                        ;               ...
                        ;                 Spur n-1 ist Zylinder n/2 Kopf 0
                        ;                 Spur   n ist Zylinder n/2 Kopf 1
                        ;           2 => Zweiseitig, gegenüber
                        ;            d.h. Spur   0 ist Zylinder 0 Kopf 0
                        ;                 Spur   1 ist Zylinder 1 Kopf 0
                        ;                 Spur   2 ist Zylinder 2 Kopf 0 
                        ;               ...
                        ;                 Spur n-2 ist Zylinder 2 Kopf 1
                        ;                 Spur n-1 ist Zylinder 1 Kopf 1
                        ;                 Spur   n ist Zylinder 0 Kopf 1
                        ;Bit 6 gesetzt bei Diskettenformat mit hoher Dichte
                        ;      (Dies ist eine Erweiterung im PCW16 CP/M, BIOS 0.09+.)
                        ;Bit 7 gesetzt bei Doppelspur-Format.
        DEFB    Spuren/Seite
        DEFB    Sektoren/Spur
        DEFB    erste physikalische Sektornummer
        DEFW    Sektorgröße in Bytes
        DEFB    uPD765A Lese/Schreib-Gap
        DEFB    uPD765A Format-Gap
        DEFB    MFM/Multitrack-Kennzeichnungsbyte
                                ;Bit 7 gesetzt => Multitrack sonst Single-Track
                                ;Bit 6 gesetzt => MFM-Mode sonst FM-Mode
                                ;Bit 5 gesetzt => Ignorieren der Kennung für
                                ;gelöschte Datenadressen
        DEFB    Fixierung       ;Gesetzt auf ungleich Null zur Nutzung der Fixierung
                                ;- sonst wird versucht, das Format zu bestimmenn,
                                ;wenn eine Diskette angewählt wird.

Letzte Änderung: 14.September 2004