You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

139 lines
4.9 KiB

;================ 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 ===========================