; LAST UPDATED: 10 JUN 83 -- No version numbers given to libraries. ; REASON FOR UPDATE: Cleanup. aep ; ; PROGRAM NAME: ACTIVE.LIB -- Control variables common to most programs ; developed for CompuPro Systems Components, and their status is set ; according to the particular configuration desired. The only real ; constraints that exist arise from having too many devices active in ; a system in a single software construct. Error messages may appear ; during assemble of these to indicate that some hardware limit has ; been reached (no disk or RAM space available for the entire mess). ; ; ========================== Copyright 1983, CompuPro Corporation. ; || || ; || ACTIVE.LIB || ; || || ; ========================== ; ; This product is a copyright program product of CompuPro and is ; supplied for use with the CompuPro Computer Systems. ; ;-------------------------------------- Z80 EQU FALSE ;Z80 CPU present I8085 EQU TRUE ;8085 processor present CPUSPD EQU 6 ;CPU speed factor delay for "x" MHz processor ; I8088 EQU TRUE ;8088 present (dual processor board) I8087 EQU FALSE ;8087 coprocessor present ;-------------------------------------- ; ; SYSTEM CONSTANTS AND EQUATES: ; MSIZE EQU 64 ;CP/M-80 Memory size in Kbytes ; ; CP/M to host disk constants: HSTSIZ EQU 1024 ;Blocking/Deblocking buffer size (FIXED SIZE) BOOTSEC EQU 24 ;# of sectors loaded during CBIOS load, the ; value SPACE$LEFT uses this to calculate amount of CBIOS disk space remaining BIOSZ EQU 1800h ;Offset size from top of ram to start BIOS BIOS EQU (MSIZE*1024)-BIOSZ ;Start of CP/M jump table X$BDOS EQU (BIOS-0E00h)+6 ;BDOS entry point CCP EQU BIOS-1600h ;Base address of CCP of CP/M ;------------------------------------- BDISK EQU 'I' ;Cold (optional warm) boot from this drive BOOT5X EQU FALSE ;Set to true if 5 1/4 inch drive used to boot D2BOOT EQU FALSE ;Disk 2 drive used as boot disk D3BOOT EQU FALSE ;Disk 3 drive used as boot disk D4BOOT EQU FALSE ;Disk 4 drive used as boot disk BOOT8X EQU not (BOOT5X or D2BOOT or D3BOOT or D4BOOT) ;8 inch floppy cold boot ;-------------------------------------- ; ; MEMORY DRIVE and BOOT activity indicators: ; ; (I8088 must also be true if using dual processor memory drive). XMDRIVE EQU (FALSE and I8088) ;Memory drive using dual processor XMBOOT EQU (TRUE and I8088) ;Warm boot from extra memory above 64K ; HMDRIVE EQU TRUE ;M-DRIVE/H memory drive HM$NUM EQU 8 ;Total number of boards (may be reduced to save ; RAM if fewer boards than this maximum are ever to be utilized) HMSIZER EQU (TRUE and HMDRIVE) ;Must be turned off if HM$NUM not equal 8 ;-------------------------------------- ; ; Floppy Disk (DISK 1) controller and drive constants: ; ; 8 inch drive characteristics: FLOPPY8 EQU TRUE ;8 inch floppy disk system (Disk 1) present FPY8X4 EQU FALSE ;4 drives present (2 is default) STEPR8 EQU 3 ;8 inch drive step rate in milliseconds ULOAD8 EQU 240 ;Head unload time delay in milliseconds HDLT8 EQU 35 ;Head load settling time in milliseconds ; ; 5 1/4 inch drive inclusion and characteristics: FLOPPY5 EQU FALSE ;5 1/4 inch floppy controller (Disk1-5) present FPY5X4 EQU FALSE ;4 drives present (2 is default) TRK5 EQU 80 ;Tracks on 5 inch drive STEPR5 EQU 3 ;5 1/4 inch drive step rate in milliseconds ULOAD5 EQU 240 ;Head unload time delay in milliseconds HDLT5 EQU 15 ;Head load settling time in milliseconds ; if STEPR8 lt 16 ;15 count max allowed SRT8 EQU 16-STEPR8 ;Step rate for Controller value else SRT8 EQU 1 endif if ULOAD8 lt 255 ;15 count max allowed HUT8 EQU ULOAD8/16 ;Head unload delay time in milliseconds else HUT8 EQU 15 endif ; if STEPR5 lt 32 ;15 count max allowed SRT5 EQU (33-STEPR5)/2 ;Step rate for Controller value else SRT5 EQU 1 endif if ULOAD5 lt 255 ;15 count max allowed HUT5 EQU ULOAD5/16 ;Head unload delay time in milliseconds else HUT5 EQU 15 endif if TRK5 eq 77 BIAS5 EQU 20h ;Bias for DPB type determination endif if TRK5 eq 40 BIAS5 EQU 28h ;Bias for DPB type determination endif if TRK5 eq 80 BIAS5 EQU 30h ;Bias for DPB type determination endif ;-------------------------------------- ; ; CompuPro DISK 2 Equates: ; D2M10 EQU FALSE ;Memorex 10 megabyte D2M20 EQU FALSE ;Memorex 20 megabyte D2M26 EQU FALSE ;Shugart 26 megabyte D2F20B EQU FALSE ;Fujitsu 20 megabyte, type B D2F40B EQU FALSE ;Fujitsu 40 megabyte, type B DISK2 EQU (D2M10 or D2M20 or D2M26 or D2F20B or D2F40B) ;DISK 2 code active control DISK2X EQU FALSE ;Second drive on line DISK2Y EQU FALSE ;Third drive on line DISK2Z EQU FALSE ;Fourth drive on line ; if (D2M10 or D2M20) D2SCNT EQU 11 ;11 sectors per head per cylinder endif if D2M26 D2SCNT EQU 16 ;16 sectors per head per cylinder endif if (D2F20B or D2F40B) D2SCNT EQU 22 ;22 sectors per head per cylinder endif ;-------------------------------------- ; ; CompuPro DISK 3 Equates: ; D3Q540 EQU TRUE D3M20 EQU FALSE D3ST506 EQU FALSE DISK3 EQU D3Q540 or D3ST506 or D3M20 ;DISK 3 code active control NDISK3 EQU 1 ;Number of drives on all DISK3s DISK3X EQU NDISK3 > 1 ;Second drive on line DISK3Y EQU NDISK3 > 2 ;Third drive on line DISK3Z EQU NDISK3 > 3 ;Fourth drive on line ;-------------------------------------- ; ; Interfacer I,II composit status masks: ; IF1TMSK EQU IF1TBE+IF1CB+IF1CC ;Xmit ready mask IF1FMSK EQU IF1TBE ;Xmit buffer empty flip bit mask ;-------------------------------------- ; ; Interfacer 3,4 composit status masks and activity indicators: ; INTERFACER3 EQU TRUE ;Interfacer 3 board is present INTERFACER4 EQU TRUE ;Interfacer 4 board is present ; IF3TMSK EQU IF3TBE ;or IF3DSR ;Xmit ready mask (for either board) IF3FMSK EQU IF3TBE ;or IF3DSR ;Xmit buffer empty flip bit mask ;-------------------------------------- ; ; System Support I setup characteristics: SYSUP1 EQU TRUE ;System Support board is present ; ; System Support Uart Active Status Masks: SS1TMSK EQU SS1TBE ;or SS1DSR ;Transmit Ready Mask SS1FMSK EQU SS1TBE ;or SS1DSR ;Transmit Ready Bit Flip Mask ; ; Timer/Counter Commands and Values: TIMEBASE EQU 10000 ;Divide 2MHz clock for other clock/timers ; (as a more reasonable time base -- 5 millisec). TIME1 EQU 20 ;Real Time Clock interval (not active now) TIME2 EQU 200 ; 1 sec interrupt to read clock ;-------------------------------------- ; ; Space used by extended Input/Output and Interrupt driver routines: XLOADZ EQU 0000h ;Size of extended code area or 0 if none ; (Interrupt based code requires that this be on a 32 or 64 byte even boundary) INTRACT EQU FALSE ;Interrupts and their handler code active ; ;=========== end of specifications ============