;================ Disk Parameter Blocks, Fixed Formats ==================== ; Generic File. ; ; 1.0 - 31 Aug 92 - General Release. HFB ; 0.1 - 3 Jan 92 - Initial Release. HFB ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ; This file is used to define a fixed format for physical drives when No ; Autoselection is desired. Select the format(s) to remain resident in the ; executable code, delete the remaining to save space, and modify the DPH.LIB ; file to associate the drive DPHs to the DPB format data contained here. ; The B/P BIOS DPB's contain prefix information that furnish ; information on the format. Since there is no "Native" format, ; each format MUST have these headers. ; FORMAT TYPE BYTE 0 ; ------------------ ; D D D D D D D D ; 7 6 5 4 3 2 1 0 ; | | | | | +-+-+--- Disk Size: 000=Fixed Disk, 001=8", 010=5.25", 011=3.5" ; | | +-+-+--------- Track Type: 000 = Single-Sided 001 = (reserved) ; | | 010 = Sel by Sctr, Cont 011 = Sel by Sctr, Sec # Same ; | | 100 = S0 All, S1 All 101 = S0 All,S1 All Rev ; | | 110 = Sel by Trk LSB 111 = (reserved) ; | +--------------- Track 0 Side 0: 0 = Double-Density, 1 = Single-Density ; +----------------- 0 = Double-Density, 1 = Single-Density FIXDSK EQU 00000000B DSK8 EQU 00000001B DSK5 EQU 00000010B DSK3 EQU 00000011B SS EQU 00000000B TSBSC EQU 00010000B ; Side Select by Sector Number, Cont Sect # TSBSS EQU 00011000B ; Side Select by Sector Number, Same Sect # TSBTM EQU 00100000B ; Side Select by Track - S0 All, S1 All TSBTMR EQU 00101000B ; Side Select by Track - S0 All, S1 All Rev TSBTL EQU 00110000B ; Side Select by Track LSB T0S0SD EQU 01000000B DD EQU 00000000B SD EQU 10000000B ; Format Type Byte 1 ; ------------------ ; D D D D D D D D ; 7 6 5 4 3 2 1 0 ; | | | | | +-+-+--- Sector Size: 000=128, 001=256, 010=512, 011=1024 bytes ; | | +-+-+--------- Alloc Size: 000=1K, 001=2K, 010=4K, 011=8K, 100=16K ; | +--------------- (reserved) ; +----------------- 0 = Normal 5.25" Speed, 1 = 8" or Hi-Density Floppy SEC128 EQU 00000000B SEC256 EQU 00000001B SEC512 EQU 00000010B SEC1K EQU 00000011B ALC1K EQU 00000000B ALC2K EQU 00001000B ALC4K EQU 00010000B ALC8K EQU 00011000B ALC16K EQU 00100000B SPEED5 EQU 00000000B SPEED8 EQU 10000000B ; Notes on Skew Factors: Sector Skew may be calculated or may be looked ; up using a Lookup Table. This is an Assembly-time Option. The Format ; routines, however, need to have a Skew Factor entry for the purpose of ; formatting. If this Skew Factor is Negative, This indicates that the ; Sector Numbers on the Disk are to be Skewed by ABS(Skew) at format time. ; When calculating Skew for Read/Write, a Negative Number indicates the ; Sectors are to be Read without Skew Translation. CSEG ;..... ; DS/QD AMPRO/SB180/ON DEFB 'Ampro DSQ','D'+80H ; Id - 10 bytes DEFB DSK5+DD+TSBTL ; Format type byte 0 DEFB SPEED5+SEC1K+ALC2K ; Format type byte 1 DEFB -2 ; Skew factor DEFB 17 ; Starting sector number DEFB 5 ; Physical sectors per track DEFB 80 ; Physical tracks/side DPBRA: DEFW 40 ; Sectors per track DEFB 4 ; Block shift factor DEFB 15 ; Block mask DEFB 0 ; Extent mask DEFW 394 ; Disk size-1 DEFW 255 ; Directory max DEFB 0F0H, 0 ; Alloc 0,1 DEFW 64 ; Check size DEFW 2 ; Track offset IF NOT CALCSK ; NOTE: Sectors are Physical Size, Not 128 Byte record size ; 00 01 02 03 04 05 06 07 ; Logical Sector DEFB 17,18,19,20,21,00,00,00 ; Physical sector ; 08 09 10 11 12 13 14 15 ; Logical Sector DEFB 00,00,00,00,00,00,00,00 ; Physical sector ; 16 17 18 19 20 21 22 23 ; Logical Sector DEFB 00,00,00,00,00,00,00,00 ; Physical sector ; 24 25 ; Logical Sector DEFB 00,00 ; Physical sector ENDIF DPBSIZ EQU $-DPB ; Total size of one DPB DPHDSZ EQU DPBRA-DPB ; DPB header size ;..... ; DS/DD AMPRO/SB180/ON DEFB 'Ampro DSD','D'+80H ; Id - 10 bytes DEFB DSK5+DD+TSBTL ; Format type byte 0 DEFB SPEED5+SEC512+ALC2K ; Format type byte 1 DEFB -2 ; Skew factor DEFB 17 ; Starting sector number DEFB 5 ; Physical sectors per track DEFB 80 ; Physical tracks/side DPBRB: DEFW 40 ; Sectors per track DEFB 4 ; Block shift factor DEFB 15 ; Block mask DEFB 0 ; Extent mask DEFW 194 ; Disk size-1 DEFW 127 ; Directory max DEFB 0C0H, 0 ; Alloc 0,1 DEFW 32 ; Check size DEFW 2 ; Track offset IF NOT CALCSK ; NOTE: Sectors are Physical size, Not 128 Byte Record Size ; 00 01 02 03 04 05 06 07 ; Logical Sector DEFB 17,18,19,20,21,22,23,24 ; Physical sector ; 08 09 10 11 12 13 14 15 ; Logical Sector DEFB 25,26,00,00,00,00,00,00 ; Physical sector ; 16 17 18 19 20 21 22 23 ; Logical Sector DEFB 00,00,00,00,00,00,00,00 ; Physical sector ; 24 25 ; Logical Sector DEFB 00,00 ; Physical sector ENDIF ;======================= End of DPBRAM.LIB ===========================