mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
328 lines
8.6 KiB
Plaintext
328 lines
8.6 KiB
Plaintext
;======= 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 -------------
|
||
|