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.
 
 
 
 
 
 

330 lines
8.7 KiB

;======= Hard Disk Parameter Blocks =======
; The B/P BIOS DPB's contain prefix information that provide data on the
; logical format. This table contains only DPB Data on Hard Disk Partitions.
; See DPB.LIB for definitions of bit equates used in all DPB files.
; NOTE: For simplicity, the code always assumes a logical 16 512-byte sectors
; per track for SCSI interface. Translate the actual 17 or 18 sectors
; to an increased track count of 16 sector tracks.
;.....
; Format Type Byte 0 (Fixed Disk Subset)
; ------------------
; D D D D D D D D
; 7 6 5 4 3 2 1 0
; | | | | | +-+-+----- Disk Size 000 = Fixed Disk, remainder unused
; +-+-+-+-+----------- (unused)
; All DPBs use the equate: FIXDSK EQU 00000000B from DPB.LIB
; Format Type Byte 1 (Fixed Disk Subset)
; ------------------
; D D D D D D D D
; 7 6 5 4 3 2 1 0
; | | | | | +-+-+----- Sector Size: 010 = 512 bytes assumed in driver
; | | +-+-+----------- Allocation Size: 000=1K, 001=2K, 010=4K, 011=8K, 100=16K
; | +----------------- (reserved)
; +------------------- 1 = High Speed. (0 Not Used)
; Information in this byte is not used in the SCSI driver, but is simply
; maintained for future use and compatibility with other DPB access routines.
; NOTE: No Skew Table is needed since Hard Disk Format is locked
;.....
; Partition A. SIMH HDSK0, Slice 0
IF DRV_E
DEFB 'HDSK0:0 ','A'+80H ; Id - 10 bytes
DEFB FIXDSK ; Format type byte 0
DEFB SPEED8+SEC512+ALC4K ; Format type byte 1
DEFB -2 ; Skew factor (== Only the +/- sign used)
DEFB 1 ; Starting sector number
DEFB 16 ; Logical Sectors per track
DEFB 0 ; Physical tracks/side (No Meaning in HD)
HSIZ0 EQU 2048 ; # of blocks in first Partition (1024 trks)
;
;
DPB50: DEFW 64 ; Sctrs/Trk
DEFB 5 ; Blk Shf Fctr
DEFB 31 ; Block Mask
DEFB 1 ; Extent Mask
DEFW HSIZ0-1 ; Disk Size-1
DEFW 511 ; Dir Max
DEFB 0F0H,0 ; Alloc 0,1
DEFW 0 ; Check Size
DEFW 16 ; Trk Offset
ENDIF
;.....
; Partition B. SIMH HDSK0, Slice 1
IF DRV_F
DEFB 'HDSK0:1 ','B'+80H ; Id - 10 bytes
DEFB FIXDSK ; Format type byte 0
DEFB SPEED8+SEC512+ALC4K ; Format type byte 1
DEFB -2 ; Skew factor
DEFB 1 ; Starting sector number
DEFB 16 ; Logical Sectors per track
DEFB 0 ; Physical tracks/side (No Meaning in HD)
HSIZ1 EQU 2048 ; # of blocks in Second Partition (1024 trks)
;
;
DPB51: DEFW 64 ; Scts/Trk
DEFB 5 ; Blk Shf Fctr
DEFB 31 ; Block Mask
DEFB 1 ; Extent Mask
DEFW HSIZ1-1 ; Disk Size-1
DEFW 511 ; Dir Max
DEFB 0F0H,0 ; Alloc 0,1
DEFW 0 ; Check size
DEFW 1056 ; Track offset
ENDIF
;.....
; Partition C. SIMH HDSK0, Slice 2
IF DRV_G
DEFB 'HDSK0:2 ','C'+80H ; Id - 10 bytes
DEFB FIXDSK ; Format type byte 0
DEFB SPEED8+SEC512+ALC4K ; Format type byte 1
DEFB -2 ; Skew factor
DEFB 1 ; Starting sector number
DEFB 16 ; Logical Sectors per track
DEFB 0 ; Physical tracks/side (No Meaning in HD)
HSIZ2 EQU 2048 ; # of blocks in third Partition (1024 tracks)
;
;
DPB52: DEFW 64 ; Scts/Trk
DEFB 5 ; Blk Shf Fctr
DEFB 31 ; Block Mask
DEFB 1 ; Extent Mask
DEFW HSIZ2-1 ; Disk Size-1
DEFW 511 ; Dir Max
DEFB 0F0H,0 ; Alloc0,1
DEFW 0 ; Check size
DEFW 2096 ; Track offset
ENDIF
;.....
; Partition D. SIMH HDSK0, Slice 3
IF DRV_H
DEFB 'HDSK0:3 ','D'+80H ; Id - 10 bytes
DEFB FIXDSK ; Format type byte 0
DEFB SPEED8+SEC512+ALC4K ; Format type byte 1
DEFB -2 ; Skew factor
DEFB 1 ; Starting sector number
DEFB 16 ; Logical Sectors per track
DEFB 0 ; Physical tracks/side (No Meaning in HD)
HSIZ3 EQU 2048 ; # of blocks in Fourth Partition (1024 tracks)
;
;
DPB53: DEFW 64 ; Scts/Trk
DEFB 5 ; Blk Shf Fctr
DEFB 31 ; Block Mask
DEFB 1 ; Extent Mask
DEFW HSIZ3-1 ; Disk Size-1
DEFW 511 ; Dir Max
DEFB 0F0H,0 ; Alloc 0,1
DEFW 0 ; Check size
DEFW 3136 ; Track offset
ENDIF
;.....
; Partition A. SIMH HDSK1, Slice 0
IF DRV_F
DEFB 'HDSK1:0 ','A'+80H ; Id - 10 bytes
DEFB FIXDSK ; Format type byte 0
DEFB SPEED8+SEC512+ALC4K ; Format type byte 1
DEFB -2 ; Skew factor (== Only the +/- sign used)
DEFB 1 ; Starting sector number
DEFB 16 ; Logical Sectors per track
DEFB 0 ; Physical tracks/side (No Meaning in HD)
HSIZ4 EQU 2048 ; # of blocks in first Partition (1024 trks)
;
;
DPB54: DEFW 64 ; Sctrs/Trk
DEFB 5 ; Blk Shf Fctr
DEFB 31 ; Block Mask
DEFB 1 ; Extent Mask
DEFW HSIZ4-1 ; Disk Size-1
DEFW 511 ; Dir Max
DEFB 0F0H,0 ; Alloc 0,1
DEFW 0 ; Check Size
DEFW 16 ; Trk Offset
ENDIF
;.....
; Partition B. SIMH HDSK1, Slice 1
IF DRV_G
DEFB 'HDSK1:1 ','B'+80H ; Id - 10 bytes
DEFB FIXDSK ; Format type byte 0
DEFB SPEED8+SEC512+ALC4K ; Format type byte 1
DEFB -2 ; Skew factor
DEFB 1 ; Starting sector number
DEFB 16 ; Logical Sectors per track
DEFB 0 ; Physical tracks/side (No Meaning in HD)
HSIZ5 EQU 2048 ; # of blocks in Second Partition (1024 trks)
;
;
DPB55: DEFW 64 ; Scts/Trk
DEFB 5 ; Blk Shf Fctr
DEFB 31 ; Block Mask
DEFB 1 ; Extent Mask
DEFW HSIZ5-1 ; Disk Size-1
DEFW 511 ; Dir Max
DEFB 0F0H,0 ; Alloc 0,1
DEFW 0 ; Check size
DEFW 1056 ; Track offset
ENDIF
;.....
; Partition C. SIMH HDSK1, Slice 2
IF DRV_H
DEFB 'HDSK1:2 ','C'+80H ; Id - 10 bytes
DEFB FIXDSK ; Format type byte 0
DEFB SPEED8+SEC512+ALC4K ; Format type byte 1
DEFB -2 ; Skew factor
DEFB 1 ; Starting sector number
DEFB 16 ; Logical Sectors per track
DEFB 0 ; Physical tracks/side (No Meaning in HD)
HSIZ6 EQU 2048 ; # of blocks in third Partition (1024 tracks)
;
;
DPB56: DEFW 64 ; Scts/Trk
DEFB 5 ; Blk Shf Fctr
DEFB 31 ; Block Mask
DEFB 1 ; Extent Mask
DEFW HSIZ6-1 ; Disk Size-1
DEFW 511 ; Dir Max
DEFB 0F0H,0 ; Alloc0,1
DEFW 0 ; Check size
DEFW 2096 ; Track offset
ENDIF
;.....
; Partition D. SIMH HDSK1, Slice 3
IF DRV_I
DEFB 'HDSK1:3 ','D'+80H ; Id - 10 bytes
DEFB FIXDSK ; Format type byte 0
DEFB SPEED8+SEC512+ALC4K ; Format type byte 1
DEFB -2 ; Skew factor
DEFB 1 ; Starting sector number
DEFB 16 ; Logical Sectors per track
DEFB 0 ; Physical tracks/side (No Meaning in HD)
HSIZ7 EQU 2048 ; # of blocks in Fourth Partition (1024 tracks)
;
;
DPB57: DEFW 64 ; Scts/Trk
DEFB 5 ; Blk Shf Fctr
DEFB 31 ; Block Mask
DEFB 1 ; Extent Mask
DEFW HSIZ7-1 ; Disk Size-1
DEFW 511 ; Dir Max
DEFB 0F0H,0 ; Alloc 0,1
DEFW 0 ; Check size
DEFW 3136 ; Track offset
ENDIF
;<<< --- Drive M is used for RAM Drive --- >>>
IF DRV_N
DEFB 'ROM ',' '+80H ; Id - 10 bytes
DEFB FIXDSK ; Format type byte 0
DEFB SPEED8+SEC512+ALC2K ; Format type byte 1
DEFB -2 ; Skew factor
DEFB 1 ; Starting sector number
DEFB 16 ; Logical Sectors per track
DEFB 0 ; Physical tracks/side (No Meaning in HD)
;HSIZ8 EQU 464 ; Number of blocks in Fourth Logical Drive
HSIZ8 EQU HB_ROMBLKS
DPB58: DEFW 64 ; Scts/Trk
DEFB 4 ; Blk Shf Fctr
DEFB 15 ; Block Mask
IF ((HSIZ8 - 1) < 256)
DEFB 1 ; Extent Mask
ELSE
DEFB 0 ; Extent Mask
ENDIF
DEFW HSIZ8-1 ; Disk Size-1
DEFW 255 ; Dir Max
DEFB 0F0H,0 ; Alloc 0,1
DEFW 0 ; Check size
DEFW 0 ; Track offset
ENDIF
IF DRV_O
DEFB 'RAM ',' '+80H ; Id - 10 bytes
DEFB FIXDSK ; Format type byte 0
DEFB SPEED8+SEC512+ALC2K ; Format type byte 1
DEFB -2 ; Skew factor
DEFB 1 ; Starting sector number
DEFB 16 ; Logical Sectors per track
DEFB 0 ; Physical tracks/side (No Meaning in HD)
;HSIZ9 EQU 192 ; Number of blocks in Fourth Logical Drive
HSIZ9 EQU HB_RAMBLKS
DPB59: DEFW 64 ; Scts/Trk
DEFB 4 ; Blk Shf Fctr
DEFB 15 ; Block Mask
IF ((HSIZ9 - 1) < 256)
DEFB 1 ; Extent Mask
ELSE
DEFB 0 ; Extent Mask
ENDIF
DEFW HSIZ9-1 ; Disk Size-1
DEFW 255 ; Dir Max
DEFB 0F0H,0 ; Alloc 0,1
DEFW 0 ; Check size
DEFW 0 ; Track offset
ENDIF
IF DRV_P
DEFB ' ',' '+80H ; Id - 10 bytes
DEFB FIXDSK ; Format type byte 0
DEFB SPEED8+SEC512+ALC4K ; Format type byte 1
DEFB -2 ; Skew factor
DEFB 1 ; Starting sector number
DEFB 16 ; Logical Sectors per track
DEFB 0 ; Physical tracks/side (No Meaning in HD)
HSIZ10 EQU 2762 ; Number of blocks in Fourth Logical Drive
DPB60: DEFW 64 ; Scts/Trk
DEFB 5 ; Blk Shf Fctr
DEFB 31 ; Block Mask
DEFB 1 ; Extent Mask
DEFW HSIZ10-1 ; Disk Size-1
DEFW 1023 ; Dir Max
DEFB 0FFH,0 ; Alloc 0,1
DEFW 0 ; Check size
DEFW 2 ; Track offset
ENDIF
;----------- End of Hard Disk DPBs -------------