;**************************************************************** ;* * ;* Z3BASE.LIB -- Base Addresses for ZCPR3 System * ;* for the Kaypro II/IV and 2X/484 * ;* * ;* These addresses are used by the following System * ;* Segments: * ;* * ;* Segment Function * ;* ------- -------- * ;* Z80DOS CP/M BDOS replacement * ;* BIOS Customized BIOS * ;* ZCPR3 ZCPR3 Command Processor * ;* *.ENV All Environment Descriptors * ;* *.FCP All Flow Command Packages * ;* *.NDR All Named Directory Definition Files * ;* *.RCP All Resident Command Packages * ;* * ;* Memory Map of System: * ;* * ;* Address Range Size Function * ;* ------------- ------- -------- * ;* 256 b Standard CP/M Buffers except * ;* from 55K to 58 K TPA (full or not) * ;* 2 K ZCPR3 Command Processor * ;* 3.5K Z80DOS * ;* ~1 K CBIOSZ with Buffers * ;* * 2 K Resident Command Package * ;* optional * 0.5K Flow Command Package * ;* * 256 b Memory-Based Named Directory * ;* 128 b ZCPR3 Shell Stack * ;* 80 b ZCPR3 Message Buffers * ;* Byte 0: Error Flag (Z/NZ) * ;* Byte 1: IF (8 Levels) * ;* Byte 2: IF Active (8 Levels) * ;* Byte 3: Z3 Cmd Status * ;* 00B - Normal * ;* 01B - Shell * ;* 10B - Error * ;* Bytes 4&5: Error Address if 10B * ;* Byte 6: Program Error Code * ;* Byte 7: ZEX Message Byte * ;* 00B - Normal * ;* 01B - Z3 Prompt * ;* 10B - Suspend Intercept * ;* Byte 8: ZEX Running Flag (0=No) * ;* Bytes 9-10: Address of Next * ;* Char for ZEX to Return * ;* Bytes 11-12: Address of First * ;* Char in ZEX Memory- * ;* Based File Buffer * ;* Byte 13: SH Control Byte * ;* Bit 0: Enable SHCMT * ;* Bit 1: Enable SHECHO * ;* Bit 7: Enable Shell * ;* Entry Wait * ;* Bytes 14-15: Shell Scratch * ;* Bytes 10H-2FH: Error Cmd * ;* Bytes 30H-39H: Registers * ;* Bytes 3AH-3FH: Reserved * ;* Bytes 40H-4FH: User-Defined * ;* 48 b ZCPR3 External FCB * ;* 11 b external path ;* 1 b wheel byte ;* 208 b Multiple Command Line Buffer * ;* 48 b ZCPR3 External Stack * ;* 256 b Environment Descriptors * ;* Bytes 00H-7FH: Z3 Parameters * ;* Bytes 80H-FFH: Z3 Terminal Cap * ;* 2 .2 K BIOS buffers * ;* * ;**************************************************************** ; the Kaypro II/IV series and the 2X/484 series can be equated as far ; ..as the ZCPR modification is concerned, as long as attention is paid ; ..to the addresses of the CCP, BDOS, and BIOS (and presuming that the ; ..BDOS is also replaced, in this case with C. Wilson's Z80DOS). ; ..While the II/IVs can probably squeeze another 256 bytes out of this, ; ..there is some use in equating the two series (system segments can be ; ..assembled to run in either). false equ 0 true equ not false full equ true ; ZCPR has FCP, NDR, and RCP segments ; ..false if only SYS.ENV and necessary buffers z3rev equ 33 ; ZCPR3 revision number vers equ 10 ; version of Z80DOS if full msize equ 60 ; size of cpm system ccp equ 0d300h ; 256 bytes short of a full 60K system else msize equ 63 ccp equ 0e000h endif base equ 0 z3env equ 0fa00h ; environment descriptor segment: this shall be the ; ..first segment installable under the Kaypro system ; ..scratch RAM z3envs equ 2 ; size of environment descriptor in 128-byte blocks extstk equ 0f9d0h ; ZCPR3 external stack z3cl equ 0f900H ; ZCPR3 command line buffer z3cls equ 200 ; size of command line buffer z3whl equ 0f8ffh ; wheel byte address expath equ 0f8f4h ; external path expaths eqU 5 ; number of 2-byte Path Elements ; (path size = expaths*2 + 1) extfcb equ 0f8d0h ; ZCPR3 external fcb z3msg equ 0f880h ; ZCPR3 message buffer shstk equ 0f800h ; ZCPR3 shell stack shstks equ 4 ; number of shsize-byte shell stack entries shsize equ 32 ; size of a shell stack entry ; (stack size = shstks * shsize) if full z3ndir equ 0f700h ; ZCPR3 named directory area z3ndirs equ 14 ; 14 18-byte Named Directory Elements permitted ; (ndir size = z3ndirs*18 + 1 for trailing 0) fcp equ 0f500h ; flow command package fcps equ 4 ; 4 128-byte Blocks (0.5K bytes) rcp equ 0ed00h ; resident command package rcps equ 16 ; 16 128-byte Blocks (2K bytes) else z3ndir equ 0 fcp equ 0 rcp equ 0 endif ; if full iop equ 0 ; redirectable I/O package iops equ 0 ; 12 128-byte Blocks (1.5K bytes) ;* ;* END of ZCPR3 BASE EQUATES ;*