Aus KRAUSE 057 - FDC.PRN ;************************************************ ; FLOPPY DRIVER MODULE FOR CPM 3.0 Die Parameter werden per MACRO erzeigt. # AUS FDC.ASM ;Sektoruebersetzung TRANS1 SKEW 10,2,1 ; 5" DD 512-BYTE / SEC TRANS2 SKEW 15,4,1 ; 8" DD 512-BYTE / SEC ;Angaben fuer Macro DPB0 DPB 128,26, 77,1024,64,2 ; 8" 77 TRK SS SD DPB1 DPB 512,15, 77,2048,128,2 ; 8" 77 TRK SS DD DPB2 DPB 512,15,154,2048,128,2 ; 8" 77 TRK DS DD --------------------------------^^^- Anzahl DIR Eintraege aus dem macroeintrag wird: AL0 = C0H = 2 Blöcke für das Dirctory Zur besseren Lesbarkeit leicht modifiziert DPB1 DPB 512,15,77,2048,128,2 ; 8" 77 TRK SS DD 3C00 DW 0021 ; 128 BYTE RECORDS PER TRACK 040F DB 0022,0023 ; BLOCK SHIFT AND MASK 00 DB 0024 ; EXTENT MASK 1801 DW 0025 ; MAXIMUM BLOCK NUMBER 7F00 DW 0026 ; MAXIMUM DIRECTORY ENTRY NUMBER #C000 DB 0027,0028 ; ALLOC VECTOR FOR DIRECTORY 2000 DW 0029 ; CHECKSUM SIZE 0200 DW 2 ; OFFSET FOR SYSTEM TRACKS 0203 DB 0030,0031 ; PHYSICAL SECTOR SIZE SHIFT DPB2 DPB 512,15,154,2048,128,2 ; 8" 77 TRK DS DD 3C00 DW 0033 ; 128 BYTE RECORDS PER TRACK 040F DB 0034,0035 ; BLOCK SHIFT AND MASK 00 DB 0036 ; EXTENT MASK 3902 DW 0037 ; MAXIMUM BLOCK NUMBER 7F00 DW 0038 ; MAXIMUM DIRECTORY ENTRY NUMBER #C000 DB 0039,0040 ; ALLOC VECTOR FOR DIRECTORY 2000 DW 0041 ; CHECKSUM SIZE 0200 DW 2 ; OFFSET FOR SYSTEM TRACKS 0203 DB 0042,0043 ; PHYSICAL SECTOR SIZE SHIFT ########### The disc statistics are stored in a parameter block (the DPB), which contains the following information: DEFW spt ;Number of 128-byte records per track DEFB bsh ;Block shift. 3 => 1k, 4 => 2k, 5 => 4k.... DEFB blm ;Block mask. 7 => 1k, 0Fh => 2k, 1Fh => 4k... DEFB exm ;Extent mask, see later DEFW dsm ;(no. of blocks on the disc)-1 DEFW drm ;(no. of directory entries)-1 DEFB al0 ;Directory allocation bitmap, first byte DEFB al1 ;Directory allocation bitmap, second byte DEFW cks ;Checksum vector size, 0 for a fixed disc ;No. directory entries/4, rounded up. DEFW off ;Offset, number of reserved tracks The directory allocation bitmap is interpreted as: al0 al1 b7b6b5b4b3b2b1b0 b7b6b5b4b3b2b1b0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = C0H #############