mirror of https://github.com/wwarthen/RomWBW.git
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.
262 lines
7.9 KiB
262 lines
7.9 KiB
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
; 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 Logical Drive Number byte (XDPH+3) is simply an index into the
|
|
; BPBIOS physical drive table as specified in the ICFG-xx.Z80 file.
|
|
; BPBIOS supports exactly three logical drives which
|
|
; are defined in that section, the first byte of which defines the
|
|
; Physical Unit (HBIOS Disk Unit)
|
|
; 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 3 ; 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 3 ; 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 0 ; Logical drive [0..2] 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 0 ; Logical drive [0..2] 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 0 ; 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 0 ; Logical drive [0..2] 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 0 ; Logical drive [0..2] 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 0 ; Logical drive [0..2] 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 0 ; Logical drive [0..2] 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 0 ; Logical drive [0..2] 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 1 ; Logical drive [0..2] 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 1 ; Logical drive [0..2] 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 1 ; Logical drive [0..2] 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 1 ; Logical drive [0..2] 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 =========================
|
|
|