AUS KRAUSE.001 BFDC.ASM - BFDC.PRN aktuell assembliert mit YAZE ; FLOPPY DRIVER MODULE FOR CPM 3.0 ; BANKED VERSION 08/23/83 MACRO: Krauseformat: Hier werden 192 Directory Eintraege vorgegeben DPB1 DPB 512,15, 77,2048,192,2 ; 8" 77 TRK SS DD DPB2 DPB 512,15,154,2048,192,2 ; 8" 77 TRK DS DD ---AL0 = E0 = 3 Bloecke---------^^^ Aus der Macrovorgabe erstellte DPB: DPB1 DPB 512,15,77,2048,192,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 BF00 DW 0026 ; MAXIMUM DIRECTORY ENTRY NUMBER 191+1 --> E000 <-- DB 0027,0028 ; ALLOC VECTOR FOR DIRECTORY 3000 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,192,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 BF00 DW 0038 ; MAXIMUM DIRECTORY ENTRY NUMBER 191+1 --> E000 <-- DB 0039,0040 ; ALLOC VECTOR FOR DIRECTORY 3000 DW 0041 ; CHECKSUM SIZE 0200 DW 2 ; OFFSET FOR SYSTEM TRACKS 0203 DB 0042,0043 ; PHYSICAL SECTOR SIZE SHIFT Aus dem CP/M System Guide The form of the DPB macro call is where: label: DPB ?psi ze,?pspt,?trks,?bls,?ndirs,?off[,?ncks] psize is the physical sector size in bytes; pspt is the number of physical sectors per track; trks is the number of tracks on the drive; bls is the allocation unit size in bytes; ndirs is the number of directory entries; off is the number of tracks to reserve; ncks is the number of checked directory entries. The following example shows the parameters for a standard single-density disk drive: DPB$SD: DPB 128,26,77,1024,64,2 | | | | | |off - Anzahl der reserv. Spuren - Systemtacks | | | | |ndirs - Anzahl der Directoryeintraege | | | |bls - Für das Directory vorgesehene Platz | | |trks - Anzahl der Spuren auf der Diskette | |pspt - Anzahl phys. Sektor pro Spur |psize - Sektotgröße