PAGE ;BIOS9 - Data Storage. ; Physical data buffer address ((DMAADR) or HSTBUF) ALIGN 2 BUFADR: DW HSTBUF ;Lower 16 bits (least, middle) BUFSEG: DW BioSeg ;Buffer's segment ; User data buffer address DMAADR: DW HSTBUF ;Lower 16 bits (least, middle) DMASEG: DW BioSeg ;User's segment SPACE 4,10 ; BIOS blocking / deblocking flags. HSTACT: DB 0 ;host active flag HSTWRT: DB 0 ;host written flag UNACNT: DB 0 ;unalloc rec CNT UNATRK: DW 0 ;Track UNASEC: DB 255 ;Sector LOGSEC DB 0 ;Logical sector SPACE 4,10 ; Area for storage of hard disk cylinders. HDCYL: ECHO NOHRD/2 DB -1 ENDM SPACE 4,10 ; End of inititialized areas. ; No more data after here. ; Check for exceeding boot track capacity (when LOADER.CMD). BIDLWA: IF @LDR ; ASSERT BIDLWA <= BIOS+900h ;COPYSYS restriction MSG 'Track 0 space needed= ', BIDLWA-BIOS, 'h' if bidlwa < bios+900h ds bios+900h-bidlwa-1 db 0 endif ENDIF ; CP/M disk work space. ALIGN 2 ALV: DS ALVS CSV: DS CSVS PAGE ; Disk access information. ; This area is organized into the following groups ; sector number ; track number ; disk drive ; drive type ; Each of these groups has three cells for the ; current disk request, ACTual disk transfer, ; and active host disk. SEKSEC: DS 1 ;Current request SEKTRK: DS 2 ;Current request SEKDSK: DS 1 ;Current request SEKTYP: DS 1 ;Current disk's type ACTSEC: DS 1 ;Actual transfer operation ACTTRK: DS 2 ;Actual transfer operation ACTDSK: DS 1 ;Actual transfer operation ACTTYP: DS 1 ;Actual disk's type HSTSEC: DS 1 ;Active host disk HSTTRK: DS 2 ;Active host disk HSTDSK: DS 1 ;Active host disk HSTTYP: DS 1 ;Active disk's type SPACE 4,10 ; Disk transfer flags and counters. RDFLAG: DS 1 ;Read flag ERFLAG: DS 1 ;Error reporting WRTYPE: DS 1 ;Write operation type SAVSEC: DS 1 ;Save sector CIOPL: EQU 9 CIOPB: DS CIOPL ;Disk command buffer TEMPBF: DS 8 ;Result status cells ALIGN 16 DIRBUF: DS 128 ;Directory buffer STACKP: HSTBUF: DS HSTSIZ ;Host buffer ALIGN 16 BIOLWA: SYSEND: EQU (BIOLWA shr 4)+BIOSEG MSG 'Bios Length = $',BIOLWA-BIOS,'h' MSG 'System Paragraph = $',BIOSEG,'h' MSG 'End of System = $',SYSEND,'0h' ; Endx BIOS9