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.
168 lines
6.0 KiB
168 lines
6.0 KiB
;======= Disk Parameter Blocks ======= ****************************
|
|
; - Generic 3/5" formats - ** Hardware Dependant for **
|
|
; The formats contained in this file will be ** Desired Disk Formats **
|
|
; scanned when logging Floppy Disks. Other ****************************
|
|
; formats may be added in other files.
|
|
;
|
|
; 1.0 - 9 Jun 96 - Initial Release for P112. HFB
|
|
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
; The B/P BIOS DPB's contain prefix information that provide data on the
|
|
; format. There is no "Native" format, so each disk MUST have these headers.
|
|
|
|
; Format Type Byte 0
|
|
; ------------------
|
|
; D D D D D D D D
|
|
; 7 6 5 4 3 2 1 0
|
|
; | | | | | +-+-+--- Disk Size: 000=Fixed Disk, 001=8", 010=5.25", 011=3.5"
|
|
; | | +-+-+--------- Track Type: 000 = Single Sided 001 = (reserved)
|
|
; | | 010 = Sel by Sctr, Cont. 011 = Sel by Sctr, Sctr # Same
|
|
; | | 100 = S0 All, S1 All 101 = S0 All, S1 All - Reverse
|
|
; | | 110 = Sel by Trk LSB 111 = (reserved)
|
|
; | +----------------- Track 0 Side 0: 0 = Double Dens, 1 = Single Dens
|
|
; +------------------- 0 = Double Density, 1 = Single Density
|
|
|
|
FIXDSK EQU 00000000B
|
|
DSK8 EQU 00000001B
|
|
DSK5 EQU 00000010B
|
|
DSK3 EQU 00000011B
|
|
SS EQU 00000000B
|
|
TSBSC EQU 00010000B ; Side Select by Sector Number, Cont Sect #
|
|
TSBSS EQU 00011000B ; Side Select by Sector Number, Same Sect #
|
|
TSBTM EQU 00100000B ; Side Select by Track - S0 All, S1 All
|
|
TSBTMR EQU 00101000B ; Side Select by Track - S0 All, S1 All Reverse
|
|
TSBTL EQU 00110000B ; Side Select by Track LSB
|
|
T0S0SD EQU 01000000B
|
|
DD EQU 00000000B
|
|
SD EQU 10000000B
|
|
|
|
; Format Type Byte 1
|
|
; ------------------
|
|
; D D D D D D D D
|
|
; 7 6 5 4 3 2 1 0
|
|
; | | | | | +-+-+----- Sector Size: 000=128, 001=256, 010=512, 011=1024 bytes
|
|
; | | +-+-+----------- Allocation Size: 000=1k, 001=2k, 010=4k, 011=8k, 100=16k
|
|
; | +----------------- (Reserved)
|
|
; +------------------- 0 = Normal 5.25" Speed, 1 = 8" or Hi-Density Floppy
|
|
|
|
SEC128 EQU 00000000B
|
|
SEC256 EQU 00000001B
|
|
SEC512 EQU 00000010B
|
|
SEC1K EQU 00000011B
|
|
ALC1K EQU 00000000B
|
|
ALC2K EQU 00001000B
|
|
ALC4K EQU 00010000B
|
|
ALC8K EQU 00011000B
|
|
ALC16K EQU 00100000B
|
|
SPEED5 EQU 00000000B
|
|
SPEED8 EQU 10000000B
|
|
|
|
; NOTES on Skew Factors: Sector skew may be calculated or may be looked
|
|
; up using a lookup table. This is an assembly time option. The format
|
|
; Routines, however, need to have a skew factor entry for the purpose of
|
|
; formatting. If this skew factor is negative, this indicates that the
|
|
; sector numbers on the disk are to be skewed by ABS(Skew) at format time.
|
|
; When calculating skew for Read/Write, a negative number indicates the
|
|
; sectors are to be read without skew translation.
|
|
|
|
;.....
|
|
; DS/QD AMPRO/SB180/ON
|
|
|
|
DEFB 'Ampro DSQ','D'+80H ; Id - 10 bytes
|
|
DEFB DSK5+DD+TSBTL ; Format type byte 0
|
|
DEFB SPEED5+SEC1K+ALC2K ; Format type byte 1
|
|
DEFB -2 ; Skew factor
|
|
DEFB 17 ; Starting sector number
|
|
DEFB 5 ; Physical sectors per track
|
|
DEFB 80 ; Physical tracks/side
|
|
|
|
DPB00: DEFW 40 ; Sectors per track
|
|
DEFB 4 ; Block shift factor
|
|
DEFB 15 ; Block mask
|
|
DEFB 0 ; Extent mask
|
|
DEFW 394 ; Disk size-1
|
|
DEFW 255 ; Directory max
|
|
DEFB 0F0H, 0 ; Alloc 0, 1
|
|
DEFW 64 ; Check size
|
|
DEFW 2 ; Track offset
|
|
IF NOT CALCSK
|
|
; NOTE: Sectors are Physical size, Not 128 Byte Record Size
|
|
; 00 01 02 03 04 05 06 07 ; Logical Sector
|
|
DEFB 17,18,19,20,21,00,00,00 ; Physical sector
|
|
; 08 09 10 11 12 13 14 15 ; Logical Sector
|
|
DEFB 00,00,00,00,00,00,00,00 ; Physical sector
|
|
; 16 17 18 19 20 21 22 23 ; Logical Sector
|
|
DEFB 00,00,00,00,00,00,00,00 ; Physical sector
|
|
; 24 25 ; Logical Sector
|
|
DEFB 00,00 ; Physical sector
|
|
ENDIF
|
|
|
|
DPBSIZ EQU $-DPB ; Total size of one DPB
|
|
DPHDSZ EQU DPB00-DPB ; DPB header size
|
|
|
|
;--- The following are NOT included in Boot Disk Images to save space. ---
|
|
IF NOT MOVCPM
|
|
;.....
|
|
; DS/DD AMPRO/SB180/ON
|
|
DEFB 'Ampro DSD','D'+80H ; Id - 10 bytes
|
|
DEFB DSK5+DD+TSBTL ; Format type byte 0
|
|
DEFB SPEED5+SEC512+ALC2K ; Format type byte 1
|
|
DEFB -2 ; Skew factor
|
|
DEFB 17 ; Starting sector number
|
|
DEFB 10 ; Physical sectors per track
|
|
DEFB 40 ; Physical tracks/side
|
|
|
|
DPB01: DEFW 40 ; Sectors per track
|
|
DEFB 4 ; Block shift factor
|
|
DEFB 15 ; Block mask
|
|
DEFB 1 ; Extent mask
|
|
DEFW 194 ; Disk size-1
|
|
DEFW 127 ; Directory max
|
|
DEFB 0C0H, 0 ; Alloc 0, 1
|
|
DEFW 32 ; Check size
|
|
DEFW 2 ; Track offset
|
|
IF NOT CALCSK
|
|
; NOTE: Sectors are Physical Size, Not 128 Byte record size
|
|
; 00 01 02 03 04 05 06 07 ; Logical Sector
|
|
DEFB 17,18,19,20,21,22,23,24 ; Physical sector
|
|
; 08 09 10 11 12 13 14 15 ; Logical Sector
|
|
DEFB 25,26,00,00,00,00,00,00 ; Physical sector
|
|
; 16 17 18 19 20 21 22 23 ; Logical Sector
|
|
DEFB 00,00,00,00,00,00,00,00 ; Physical sector
|
|
; 24 25 ; Logical Sector
|
|
DEFB 00,00 ; Physical sector
|
|
ENDIF
|
|
|
|
;.....
|
|
; D-X Designs Ptr Ltd, P112 Board, 5.25" DS/DD (IBM PC-compatible "360k")
|
|
|
|
DEFB 'D-X Desgn','0'+80H ; Id - 10 bytes
|
|
DEFB DSK5+DD+TSBTL ; Format type byte 0
|
|
DEFB SPEED5+SEC512+ALC2K ; Format type byte 1
|
|
DEFB -2 ; Skew factor
|
|
DEFB 1 ; Starting sector number
|
|
DEFB 9 ; Physical sectors per track
|
|
DEFB 40 ; Physical tracks/side
|
|
|
|
DEFW 36 ; Sectors per track
|
|
DEFB 4 ; Block shift factor
|
|
DEFB 15 ; Block mask
|
|
DEFB 1 ; Extent mask
|
|
DEFW 174 ; Disk size-1
|
|
DEFW 63 ; Directory max
|
|
DEFB 080H, 0 ; Alloc 0, 1
|
|
DEFW 16 ; Check size
|
|
DEFW 2 ; Track offset
|
|
IF NOT CALCSK
|
|
; NOTE: Sectors are Physical Size, Not 128 Byte record size
|
|
; 00 01 02 03 04 05 06 07 ; Logical Sector
|
|
DEFB 01,02,03,04,05,06,07,08 ; Physical sector
|
|
; 08 09 10 11 12 13 14 15 ; Logical Sector
|
|
DEFB 09,00,00,00,00,00,00,00 ; Physical sector
|
|
; 16 17 18 19 20 21 22 23 ; Logical Sector
|
|
DEFB 00,00,00,00,00,00,00,00 ; Physical sector
|
|
; 24 25 ; Logical Sector
|
|
DEFB 00,00 ; Physical sector
|
|
ENDIF
|
|
ENDIF ;~Movcpm
|
|
;======================= End of DPB.LIB ===========================
|
|
|