;*************************************
;
;  THESE ARE THE DSECTS USED BY
;  THE HARD DISK CHANGES
;
;*************************************
;
; BIT MAP FOR SECTOR ALLOCATION
; "BAM"
;
 * = 0 ;ZERO RELATIVE DSECT
HDSECT * = *+2 ;THESE TWO BYTES MUST = FFFF
 ;THEY INDICATE A NON DATA SECTOR
HDSCTT * = *+1 ;THIS BYTE INDICATES THE
 ; * TYPE OF SPECIAL SECTOR THIS IS
 ;FOR BAMS THIS IS BAM # (02-NN)
HDNXTB * = *+2 ;ADDR OF NEXT BAM (S&T)
HDZONE * = *+1 ;ZONE NUMBER AND FLAG
HDZMSK = $3F ;MASK TO USE ZONE #
HDBMOD = $80 ;WRITTEN INTO FLAG
HDCYL * = *+1 ;BEGINNING CYLINDER #
HDLCYL * = *+1 ;LAST CYLINDER
HDNSEC * = *+1 ;NUMBER OF SECTORS PER SURFACE
HDNBI * = *+1 ;# UNUSED BITS
HDNBY * = *+1 ;# UNUSED BYTES
HDBLRC * = *+2 ;LRC ON BAM
HDBIT1 ;ADDR OF FIRST MAP BYTE
;
;
; VOLUME LABEL DSECT
;
 * = 0 ;ZERO RELATIVE DSECT
 * = *+2 ;MUST = FFFF
HDVID * = *+1 ;TYPE OF SPECIAL SECTOR (MUST=1)
HDUNAM * = *+16 ;USER ASSGN VOL NAME
HDUVID * = *+2 ;USER SPECIFIED VOL ID
HDDVID * = *+1 ;DOS SPECIFIED VOL ID (ASCII)
HDDB1 * = *+2 ;ADDR OF FIRST DIR SECTOR (S&T)
HDBAM1 * = *+2 ;ADDR OF FIRST BAM (S&T)
HDBSL1 * = *+2 ;ADDR OF BAD SECTOR LIST (S&T)
HDFLAG *=*+1 ;FLAG BYTE
HDVIP = 01 ;VALIDATE IN PROGRESS FLAG
HDOPTN * = *+1 ;OPTIONS BYTE
HDEVL ;END OF VOL DATA THIS VERSION
HDRAW = $80 ;2^7=READ AFTER WRITE IF SET
HDBOOT = $40 ;2^6=BOOT DISK
HDSURF = $07 ;MASK FOR # OF SURFACES
HDBCOD *=*+1 ;BOOT CODE (REST OF SECTOR)
;
 .PAG 'HARD DISK DSECTS'
;
;
; BAD SECTOR LIST DSECT
;
;
 * = 0 ;ZERO RELATIVE DSECT
 * = *+2 ;ID BYTES MUST = FFFF
 * = *+1 ;ID = 40-NN (BSL #)
HDNBSL * = *+2 ;ADDR OF NEXT BSL (S&T)
 * = *+1 ;FILLER TO MAKE BAD ADDRS ON
 ;BOUNDARY
HDBDS1 * = *+2 ;ADDR OF BAD SECTOR (S&T)
 ;SECTOR ADDRS REPEAT UNTIL END OF
 ;BSL SECTOR OR FFXX
;
;
;  DIRECTORY ENTRY DEFINITION
;
;
; BYTE DESCRIPTION
;
; 0 - SECTOR ADDR OF NEXT SECTOR OF
;     DIRECTORY (ONLY IN 1ST OF SECTOR)
; 1 - TRACK ADDR ETC.
;********BEGIN DIR PART**********
; 0 - FILE TYPE
; - - 2^7 PROPERLY CLOSED FILE
; - - 2^6 FILED LOCKED
; - - 2^5 REPLACE FILE
; - - 2^4-2^0 0,1,2,3,4
; - - DELETED,SEQ,PGM,USER,REL
; 1 - TRACK ADDR OF FILE
; 2 - SECTOR ADDR OF FILE
; 3-18 FILENAME PADDED WITH $A0'S
; 19 - SIDE SECTOR TRACK ADDR
; 20 - SIDE SECTOR SECTOR ADDR
; 21 - RECORD SIZE
; 22-25 NOT USED
; 26 - REPLACE FILE TRACK ADDR
; 27 - REPLACE FILE SECTOR ADDR
; 28 - LOW BYTE OF SECTOR COUNT
; 29 - HIGH BYTE OF SECTOR COUNT
;
; NOTE: EACH SECTOR IN THE DIRECTORY
; CONTAINS 8 DIRECTORY ENTRIES OF
; THIRTY TWO BYTES EACH.
;
 .PAG 'HARD DISK DSECTS'
;
;  SIDE SECTOR FORMAT DEFINITION
;
;
;BYTE DESCRIPTION
; 0  - NEXT SS SECTOR ADDR (OR FF)
; 1  - NEXT SS TRACK ADDR
; 2  - SS #
; 3  - RECORD SIZE
;
; 4-5 TRACK & SECTOR ADDR OF SS #0
; 6-7 TRACK & SECTOR ADDR OF SS #1
; 8-9 TRACK & SECTOR ADDR OF SS #2
; 10-11 TRACK & SECTOR ADDR OF SS #3
; 12-13 TRACK & SECTOR ADDR OF SS #4
; 14-15 TRACK & SECTOR ADDR OF SS #5
;
; 16-17 TRACK & SECTOR ADDR OF DATA SECTOR #0
; 18-19   ETC (DATA SECTOR #1)
;
;
;
;
 .PAG
;
;
;  SUPER SIDE SECTOR DSECT
;
 * = 0 ;ORIGIN = 0
 * = *+1 ;SECTOR ADDR OF FIRST SS
 * = *+1 ;TRACK ADDR OF FIRST SS
 * = *+1 ;IDENTIFICATION (HEX FE)
GRP0
 * = *+1 ;SECTOR ADDR OF FIRST GROUP
 * = *+1 ;TRACK ADDR OF FIRST GROUP
; ETC
HIGRP = 90 ;HIGHEST POSSIBLE GROUP #
; THERE ARE 91 GROUPS TO THE LARGEST FILE
;
 .END
