Files
RomWBW/Source/BPBIOS/dpbhd-ww.lib
2016-11-23 19:31:57 -08:00

328 lines
8.6 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
;======= 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. HBIOS Disk 0, Slice 0
IF DRV_E
DEFB 'HBDSK0: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. HBIOS Disk 0, Slice 1
IF DRV_F
DEFB 'HBDSK0: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. HBIOS Disk 0, Slice 2
IF DRV_G
DEFB 'HBDSK0: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. HBIOS Disk 0, Slice 3
IF DRV_H
DEFB 'HBDSK0: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. HBIOS Disk 1, Slice 0
IF DRV_I
DEFB 'HBDSK1:0 ','E'+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. HBIOS Disk 1, Slice 1
IF DRV_J
DEFB 'HBDSK1:1 ','F'+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. HBIOS Disk 1, Slice 2
IF DRV_K
DEFB 'HBDSK1:2 ','G'+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. HBIOS Disk 1, Slice 3
IF DRV_L
DEFB 'HBDSK1:3 ','H'+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 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 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 -------------