forked from MirrorRepos/RomWBW
261 lines
8.0 KiB
Plaintext
261 lines
8.0 KiB
Plaintext
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||
; Additional Disk Parameter Headers (DPH) for Hard Drives Generic File
|
||
; (MUST be in Common Memory)
|
||
; This data must match information contained in the DPB table for Hard Drives.
|
||
;
|
||
; 1.3 - 04 Sep 16 - Mods for HBIOS V 2.8 WW+LN
|
||
; 1.2 - 24 Mar 14 - Initial N8VEM test release WW+LN
|
||
; 1.1 - 28 Aug 01 - Made generic module for GPL release. HFB
|
||
; 1.0 - 31 Aug 92 - General Release. HFB
|
||
; 0.1 - 3 Jan 92 - Initial release. HFB
|
||
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||
; The Physical Drive Number byte (XDPH+3) is simply an index to the Physical
|
||
; Drive as specified in the ICFG-xx.Z80 file. Up to three physical drives
|
||
; may be defined in that section, the first byte of which defines the
|
||
; Physical/Logical Unit Address (Device & LUN for SCSI, Master/Slave for IDE),
|
||
; and a flag bit to specify whether or not the drive is physically present.
|
||
; See ICFG-xx.Z80 for a definition of the data.
|
||
|
||
CSEG
|
||
;<<< --- Drive A is for RAM Drive --- >>>
|
||
|
||
XDPH90: DEFB TRUE ; Format lock flag (Lock RAM Drive)
|
||
DEFB FIXDSK ; Disk Drive Type
|
||
DEFB 2 ; Driver ID = Treat as Hard Drive
|
||
DEFB HB_MDRAM ; Physical Drive Number
|
||
DPH$90: DEFW 0 ; Skew Table pointer
|
||
DEFW 0,0,0 ; Scratch area
|
||
DEFW DIRBUF ; Directory buffer pointer
|
||
DEFW DPBRAM ; Pointer to DPB for RAM Drive
|
||
DEFW 0 ; No Wacd for RAM drive
|
||
DEFW ALV$90 ; Alloc vector for RAM Drive
|
||
;
|
||
;<<< --- Drive B is for ROM Drive --- >>>
|
||
|
||
XDPH91: DEFB TRUE ; Format lock flag (Lock ROM Drive)
|
||
DEFB FIXDSK ; Disk Drive Type
|
||
DEFB 2 ; Driver ID = Treat as Hard Drive
|
||
DEFB HB_MDROM ; Physical Drive Number
|
||
DPH$91: DEFW 0 ; Skew Table pointer
|
||
DEFW 0,0,0 ; Scratch area
|
||
DEFW DIRBUF ; Directory buffer pointer
|
||
DEFW DPBROM ; Pointer to DPB for ROM Drive
|
||
DEFW 0 ; No Wacd for ROM drive
|
||
DEFW ALV$91 ; Alloc vector for ROM Drive
|
||
|
||
;
|
||
IF DRV_C
|
||
XDPH50: DEFB TRUE ; Format lock flag (Lock First Hard Drive)
|
||
DEFB FIXDSK ; Disk drive type
|
||
DEFB 2 ; Driver ID - 2=hard drive
|
||
DEFB HB_HDDEV0 ; Physical drive [0..6] for this Partition
|
||
DPH$50: DEFW 0 ; Skew table pointer
|
||
DEFW 0,0,0 ; Scratch area
|
||
DEFW DIRBUF ; Directory buffer pointer
|
||
DEFW DPB50 ; Pointer to DPB for first partition/drive
|
||
DEFW 0 ; No Wacd for hard drive
|
||
DEFW ALV$50 ; Alloc vector for first Partition
|
||
ENDIF
|
||
;
|
||
IF DRV_D
|
||
XDPH51: DEFB TRUE ; --- Second Hard Drive/Partition
|
||
DEFB FIXDSK ; Disk drive type
|
||
DEFB 2 ; Driver ID - 2=hard drive
|
||
DEFB HB_HDDEV0 ; Physical drive [0..6] for this Partition
|
||
DPH$51: DEFW 0
|
||
DEFW 0,0,0
|
||
DEFW DIRBUF
|
||
DEFW DPB51 ; Pointer to DPB for second Partition/Drive
|
||
DEFW 0
|
||
DEFW ALV$51 ; Alloc vector for second Partition/Drive
|
||
ENDIF
|
||
;
|
||
IF DRV_E
|
||
XDPH52: DEFB TRUE ; --- Third Hard Drive/Partition
|
||
DEFB FIXDSK ; Disk drive type
|
||
DEFB 2 ; Driver ID - 2=hard drive
|
||
DEFB HB_HDDEV0 ; Physical drive [0..2] for this Partition
|
||
DPH$52: DEFW 0
|
||
DEFW 0,0,0
|
||
DEFW DIRBUF
|
||
DEFW DPB52 ; Pointer to DPB for third Partition/Drive
|
||
DEFW 0
|
||
DEFW ALV$52 ; Alloc vector for third Partition/Drive
|
||
ENDIF
|
||
;
|
||
IF DRV_F
|
||
XDPH53: DEFB TRUE ; --- Fourth Hard Drive/Partition
|
||
DEFB FIXDSK ; Disk drive type
|
||
DEFB 2 ; Driver ID - 2=hard drive
|
||
DEFB HB_HDDEV0 ; Physical drive [0..6] for this Partition
|
||
DPH$53: DEFW 0
|
||
DEFW 0,0,0
|
||
DEFW DIRBUF
|
||
DEFW DPB53 ; Pointer to DPB for fourth Partition/Drive
|
||
DEFW 0
|
||
DEFW ALV$53 ; Alloc vector for fourth Partition/Drive
|
||
ENDIF
|
||
;
|
||
IF DRV_G
|
||
XDPH54: DEFB TRUE ; --- Fifth Hard Drive/Partition
|
||
DEFB FIXDSK ; Disk drive type
|
||
DEFB 2 ; Driver ID - 2=hard drive
|
||
DEFB HB_HDDEV0 ; Physical drive [0..6] for this Partition
|
||
DPH$54: DEFW 0
|
||
DEFW 0,0,0
|
||
DEFW DIRBUF
|
||
DEFW DPB54 ; Pointer to DPB for fifth Partition/Drive
|
||
DEFW 0
|
||
DEFW ALV$54 ; Alloc vector for fifth Partition/Drive
|
||
ENDIF
|
||
;
|
||
IF DRV_H
|
||
XDPH55: DEFB TRUE ; --- Sixth Hard Drive/Partition
|
||
DEFB FIXDSK ; Disk drive type
|
||
DEFB 2 ; Driver ID - 2=hard drive
|
||
DEFB HB_HDDEV0 ; Physical drive [0..6] for this Partition
|
||
DPH$55: DEFW 0
|
||
DEFW 0,0,0
|
||
DEFW DIRBUF
|
||
DEFW DPB55 ; Pointer to DPB for sixth Partition/Drive
|
||
DEFW 0
|
||
DEFW ALV$55 ; Alloc vector for sixth Partition/Drive
|
||
ENDIF
|
||
;
|
||
IF DRV_I
|
||
XDPH56: DEFB TRUE ; --- Seventh Hard Drive/Partition
|
||
DEFB FIXDSK ; Disk drive type
|
||
DEFB 2 ; Driver ID - 2=hard drive
|
||
DEFB HB_HDDEV0 ; Physical drive [0..6] for this Partition
|
||
DPH$56: DEFW 0
|
||
DEFW 0,0,0
|
||
DEFW DIRBUF
|
||
DEFW DPB56 ; Pointer to DPB for seventh Partition/Drive
|
||
DEFW 0
|
||
DEFW ALV$56 ; Alloc vector for seventh Partition/Drive
|
||
ENDIF
|
||
;
|
||
IF DRV_J
|
||
XDPH57: DEFB TRUE ; --- Eighth Hard Drive/Partition
|
||
DEFB FIXDSK ; Disk drive type
|
||
DEFB 2 ; Driver ID - 2=hard drive
|
||
DEFB HB_HDDEV0 ; Physical drive [0..6] for this Partition
|
||
DPH$57: DEFW 0
|
||
DEFW 0,0,0
|
||
DEFW DIRBUF
|
||
DEFW DPB57 ; Pointer to DPB for eighth Partition/Drive
|
||
DEFW 0
|
||
DEFW ALV$57 ; Alloc vector for eighth Partition/Drive
|
||
ENDIF
|
||
;
|
||
IF DRV_K
|
||
XDPH58: DEFB TRUE ; --- Ninth Hard Drive/Partition
|
||
DEFB FIXDSK ; Disk drive type
|
||
DEFB 2 ; Driver ID - 2=hard drive
|
||
DEFB HB_HDDEV1 ; Physical drive [0..6] for this Partition
|
||
DPH$58: DEFW 0
|
||
DEFW 0,0,0
|
||
DEFW DIRBUF
|
||
DEFW DPB58 ; Pointer to DPB for ninth Partition/Drive
|
||
DEFW 0
|
||
DEFW ALV$58 ; Alloc vector for ninth Partition/Drive
|
||
ENDIF
|
||
;
|
||
IF DRV_L
|
||
XDPH59: DEFB TRUE ; --- Tenth Hard Drive/Partition
|
||
DEFB FIXDSK ; Disk drive type
|
||
DEFB 2 ; Driver ID - 2=hard drive
|
||
DEFB HB_HDDEV1 ; Physical drive [0..6] for this Partition
|
||
DPH$59: DEFW 0
|
||
DEFW 0,0,0
|
||
DEFW DIRBUF
|
||
DEFW DPB59 ; Pointer to DPB for tenth Partition/Drive
|
||
DEFW 0
|
||
DEFW ALV$59 ; Alloc vector for tenth Partition/Drive
|
||
ENDIF
|
||
;
|
||
IF DRV_M
|
||
XDPH60: DEFB TRUE ; --- Eleventh Hard Drive/Partition
|
||
DEFB FIXDSK ; Disk drive type
|
||
DEFB 2 ; Driver ID - 2=hard drive
|
||
DEFB HB_HDDEV1 ; Physical drive [0..6] for this Partition
|
||
DPH$60: DEFW 0
|
||
DEFW 0,0,0
|
||
DEFW DIRBUF
|
||
DEFW DPB60 ; Pointer to DPB for eleventh Partition/Drive
|
||
DEFW 0
|
||
DEFW ALV$60 ; Alloc vector for eleventh Partition/Drive
|
||
ENDIF
|
||
;
|
||
IF DRV_N
|
||
XDPH61: DEFB TRUE ; --- Twelveth Hard Drive/Partition
|
||
DEFB FIXDSK ; Disk drive type
|
||
DEFB 2 ; Driver ID - 2=hard drive
|
||
DEFB HB_HDDEV1 ; Physical drive [0..6] for this Partition
|
||
DPH$61: DEFW 0
|
||
DEFW 0,0,0
|
||
DEFW DIRBUF
|
||
DEFW DPB61 ; Pointer to DPB for eleventh Partition/Drive
|
||
DEFW 0
|
||
DEFW ALV$61 ; Alloc vector for eleventh Partition/Drive
|
||
ENDIF
|
||
|
||
; Allocation BitMap Buffers. Each MUST be # Alloc Blks/8 Bytes at Minimum.
|
||
; Each Logical Drive MUST have an Allocation BitMap Buffer.
|
||
|
||
COMMON /RESVD/ ; Reserve space for BPBUILD
|
||
|
||
ALV$90: DEFS MSIZR/8+1 ; Space for RAM Drive Alloc Blocks
|
||
;
|
||
ALV$91: DEFS MSIZO/8+1 ; Space for ROM Drive Alloc Blocks
|
||
;
|
||
IF DRV_C
|
||
ALV$50: DEFS HSIZ0/8+1 ; Space for First Logical Drive Alloc Blocks
|
||
ENDIF
|
||
;
|
||
IF DRV_D
|
||
ALV$51: DEFS HSIZ1/8+1 ; Space for Second Logical Drive Alloc Blocks
|
||
ENDIF
|
||
;
|
||
IF DRV_E
|
||
ALV$52: DEFS HSIZ2/8+1 ; Space for Third Logical Drive Alloc Blocks
|
||
ENDIF
|
||
;
|
||
IF DRV_F
|
||
ALV$53: DEFS HSIZ3/8+1 ; Space for Fourth Logical Drive Alloc Blocks
|
||
ENDIF
|
||
;
|
||
IF DRV_G
|
||
ALV$54: DEFS HSIZ4/8+1 ; Space for Fifth Logical Drive Alloc Blocks
|
||
ENDIF
|
||
;
|
||
IF DRV_H
|
||
ALV$55: DEFS HSIZ5/8+1 ; Space for Sixth Logical Drive Alloc Blocks
|
||
ENDIF
|
||
;
|
||
IF DRV_I
|
||
ALV$56: DEFS HSIZ6/8+1 ; Space for Seventh Logical Drive Alloc Blocks
|
||
ENDIF
|
||
;
|
||
IF DRV_J
|
||
ALV$57: DEFS HSIZ7/8+1 ; Space for Eighth Logical Drive Alloc Blocks
|
||
ENDIF
|
||
;
|
||
IF DRV_K
|
||
ALV$58: DEFS HSIZ8/8+1 ; Space for Nineth Logical Drive Alloc Blocks
|
||
ENDIF
|
||
;
|
||
IF DRV_L
|
||
ALV$59: DEFS HSIZ9/8+1 ; Space for Tenth Logical Drive Alloc Blocks
|
||
ENDIF
|
||
;
|
||
IF DRV_M
|
||
ALV$60: DEFS HSIZ10/8+1 ; Space for Eleventh Logical Drive Alloc Blocks
|
||
ENDIF
|
||
;
|
||
IF DRV_N
|
||
ALV$61: DEFS HSIZ11/8+1 ; Space for Twelveth Logical Drive Alloc Blocks
|
||
ENDIF
|
||
|
||
;======================= End of DPHHD.LIB =========================
|
||
|