;=================================================================== ; RAM-Disk routines by W. W. COX 8/18/87 (symbol definitions) ; ; The following values are either.. ; (S) determined by software.. ; (H) determined by hardware.. ; (A) arbitrarily chosen by system integrator BNKPRDSK EQU 15 ; (H) Memory banks per Ram Disk RDBSH EQU 4 ; (A) Block Shift Factor (4=2k Blocks) BLKPRDIR EQU 2 ; (A) Allocation Blocks per Directory RDOFF EQU 2 ; (A) Offset past Boot Tracks KBPERBNK EQU 64 ; (H) 64K Bytes per memory bank BYTPRSEG EQU 1000H ; (H) Bytes per Memory Segment BYTPRDIR EQU 32 ; (S) Bytes per Directory Entry BYTPRSEC EQU 128 ; (S) CP/M Sector size ;RDBLM EQU (1.SHL.RDBSH)-1 ; Block Mask RDBLM EQU (1 SHL RDBSH)-1 ; Block Mask ;KBPERBLK EQU 1.SHL.(RDBSH-3) ; Alloc. Block size in K-bytes KBPERBLK EQU 1 SHL (RDBSH-3) ; Alloc. Block size in K-bytes BYTPRBLK EQU KBPERBLK*1024 ; 1K Bytes per CP/M Allocation Block BYTPRTRK EQU BYTPRSEG ; One memory segment per track SECPRTRK EQU BYTPRTRK/BYTPRSEC ; CP/M Sectors per Track KBPERTRK EQU BYTPRTRK/1024 ; K-Bytes per Track BLKPRTRK EQU BYTPRTRK/BYTPRBLK ; CP/M Allocation Blocks per Track BLKPRDSK EQU (KBPERBNK/KBPERBLK)*BNKPRDSK ; Allocation Blocks per Disk DIRPRTRK EQU BYTPRTRK/BYTPRDIR ; Directory Entries per Track DIRPRBLK EQU BYTPRBLK/BYTPRDIR ; Directory Entries per Alloc. Block TRKPRBNK EQU KBPERBNK/KBPERTRK ; Tracks per Bank TRKPRDSK EQU TRKPRBNK*BNKPRDSK ; Tracks per Disk RDDSM EQU (BLKPRDSK-(BLKPRTRK*RDOFF))-1 ; IFTRUE RDDSM.LT.256 IF RDDSM LT 256 BLKPRFCB EQU 16 ; Number of blocks addressable per Dir. entry ELSE BLKPRFCB EQU 8 ; Number of blocks addressable per Dir. entry ENDIF RDEXM EQU ((KBPERBLK*BLKPRFCB)/16)-1 ; Extent mask ;RDALLOC EQU 0FFFFH.SHL.(16-BLKPRDIR) RDALLOC EQU 0FFFFH SHL (16-BLKPRDIR) RDAL0 EQU RDALLOC/100H ;RDAL1 EQU RDALLOC.MOD.100H RDAL1 EQU RDALLOC MOD 100H RDKSIZE EQU (RDDSM+1)*KBPERBLK ;KBPERBNK*BNKPRDSK RDDRM EQU (DIRPRBLK*BLKPRDIR)-1 ; Directory Entries per Directory ; Place RAM-Disk buffer in Segment immediately below BIOS RDSEG EQU (CBIOS/BYTPRSEG)-1 ; Round down to next 1000H boundary RDBUFF EQU RDSEG*BYTPRSEG ACTULMAP EQU 600H ; Morrow Voodoo Gizmo.. IMAGEMAP EQU 200H ; ..memory map tables CPMBANK EQU 0 ; CP/M Bank is Bank 0 CPMTASK EQU 1 ; CP/M Task is Task 1 ;=================================================================== ; RDREAD EQU 0 ;READ DATA RDWRITE EQU 0FFH ;WRITE DATA ; ; END ; End of D1RDSYM.LIB