;****************************************************************************
;
;	M5b FORMAT DISK DESCRIPTOR SECTOR DEFINITIONS
;
;****************************************************************************
;
;	REVISIONS:
;
; 1.0 -	31 OCT 85   GRH
;	RELEASE
;
; 1.1 -	24 SEP 86   GRH
;	Totally change data format to allow greater versatility.
;
; 1.2 -	31 DEC 86   GRH
;	Added precomp track bytes to disk format data block.
;
;****************************************************************************


IDSECT	EQU	2	;SECTOR NUMBER FOR ID SECTOR

;===========================================================================
;
;	DISK DESCRIPTOR SECTOR
; THIS SECTOR IS ON TRACK 0 OF FLOPPY AND HARD DISKS
;
;===========================================================================
;
;   RESERVE 16 BYTES SPACE TO ALLOW A BOOTSTRAP VECTOR, WHICH SOME MACHINES
; REQUIRE
;
;
;===========================================================================
;
;   DISK DESCRIPTOR SECTOR TEXT KEY
;
;===========================================================================
	STRUCT	16
IDLABO	DS	20H - 16	;'Disk Descriptor '(Sector)
	ENDM
;
;
;===========================================================================
;
;  CP/M DISK PARAMETER BLOCK (DPB) DATA (MOVED TO CP/M BIOS AT LOG-ON)
;	(LOGICAL DISK DATA)
;
;===========================================================================
IDDPBO	EQU	20H	;DD ID SECTOR DPB DATA OFFSET
	STRUCT	IDDPBO
IDSPTO	DS	2	;SECTORS PER TRACK
IDBSHO	DS	1	;BLOCK SHIFT FACTOR
IDBLMO	DS	1	;BLOCK MASK
IDEXMO	DS	1	;EXTENT MASK
IDDSMO	DS	2	;DISK STORAGE SIZE -1
IDDRMO	DS	2	;DIRECTORY MAXIMUM
IDAL0O	DS	1	;DIRECTORY CLUSTER ALLOCATION 0
IDAL1O	DS	1	;DIRECTORY CLUSTER ALLOCATION 1 (0 CONTINUED)
IDCKSO	DS	2	;DIRECTORY CHECKSUMS SIZE
IDOFFO	DS	2	;DIRECTORY TRACK OFFSET (RESERVED TRACKS CNT)
IDEND	DS	0
	ENDM
IDDPBSZ	EQU	IDEND - IDDPBO	;SIZE OF THIS STRUCTURE
;
;
;===========================================================================
;
;   PHYSICAL DISK FORMAT FLAGS
;
;===========================================================================
IDDFFO	EQU	40H
	STRUCT	IDDFFO		;OFFSET TO DISK FORMAT PARAMETERS
IDFLGO	DS	1	;DRIVE FLAGS BYTE
IDSPT0O	DS	1	;TRACK 0 SECTORS PER TRACK
IDSSZ0O	DS	1	;TRACK 0 SECTOR SIZE {0:128, 1:256, 2:512, 3:1024}
IDSPT1O	DS	1	;TRACK 1 SECTORS PER TRACK
IDSSZ1O	DS	1	;TRACK 1 SECTOR SIZE
IDSPTDO	DS	1	;DATA TRACKS SECTORS PER TRACK
IDSSZDO	DS	1	;DATA TRACKS SECTOR SIZE
IDPCMO	DS	1	;MEDIUM PRECOMP START TRACK #
IDPCHO	DS	1	;HIGH PRECOMP START TRACK #
IDFEND	DS	0
	ENDM
IDFSIZE	EQU	IDFEND - IDDFFO	;SIZE OF FORMAT DATA
;
;   DISK FORMAT FLAGS DEFINITION
;
;	7		0
;	| | | |0| | | | |
;	\___/^   ^ ^ ^ ^__ TRACK 0 DENSITY= 0:SINGLE, 1:DOUBLE
;	  |  |   | | |____ TRACK 1 DENSITY= 0:SINGLE, 1:DOUBLE
;	  |  |   | |______ DATA TRACKS DENSITY= 0:SINGLE, 1:DOUBLE
;	  |  |   |________ SIDES= 0:SINGLE SIDED, 1:DOUBLE SIDED
;	  |  |____________ DISK TYPE= 0:FLOPPY DISK, 1:HARD DISK
;	  |_______________ SECTOR SIZE BITS= 00:128, 01:256, 10:512, 11:1024
;
;   DRIVE FLAGS BIT #S
DFT0DB	EQU	0
DFT1DB	EQU	1
DFDTDB	EQU	2
DFTSDB	EQU	3
DFHARDB	EQU	5
DFDBLB	EQU	6
DFDBL1B	EQU	7
