; Z3BASE - Maximum Configuration ; Offset: 5100H ;**************************************************************** ;* * ;* Z3BASE.LIB -- Base Addresses for ZCPR3 System * ;* by Richard Conn * ;* * ;* These addresses are used by the following System * ;* Segments: * ;* * ;* Segment Function * ;* ------- -------- * ;* ABOOTFD Boot System from Floppy Disk * ;* ABOOTHD Boot System from Hard Disk * ;* BDOSZ Customized BDOS * ;* CBIOSZ Customized BIOS * ;* ZCPR3 ZCPR3 Command Processor * ;* *.ENV All Environment Descriptors * ;* *.FCP All Flow Command Packages * ;* *.IOP All Input/Output Packages * ;* *.NDR All Named Directory Definition Files * ;* *.RCP All Resident Command Packages * ;* * ;* * ;* Memory Map of System: * ;* * ;* Address Range Size Function * ;* ------------- ------- -------- * ;* 0 - FF 256 b Standard CP/M Buffers except * ;* 40 - 4A 11 b for ZCPR3 External Path * ;* 4B 1 b Wheel Byte * ;* 100 - BFFF ~48 K TPA * ;* C000 - C7FF 2 K ZCPR3 Command Processor * ;* C800 - D5FF 3.5K BDOSZ * ;* D600 - E3FF 3.5K CBIOSZ with Buffers * ;* E400 - EBFF 2 K Resident Command Package * ;* EC00 - F1FF 1.5K Redirectable I/O Driver Package * ;* F200 - F3FF 0.5K Flow Command Package * ;* F400 - F4FF 256 b Environment Descriptors * ;* Bytes 00H-7FH: Z3 Parameters * ;* Bytes 80H-FFH: Z3 Terminal Cap * ;* F500 - F57F 128 b ZCPR3 Shell Stack * ;* F580 - F5CF 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 * ;* F5D0 - F5FF 48 b ZCPR3 External FCB * ;* F600 - F6FF 256 b Memory-Based Named Directory * ;* F700 - F7CF 208 b Multiple Command Line Buffer * ;* F7D0 - F7FF 48 b ZCPR3 External Stack * ;* F800 - FBFF 1 K Disk Controller EPROM * ;* FC00 - FFFF 1 K Disk Controller RAM * ;* * ;**************************************************************** ; ; True and False ; FALSE equ 0 TRUE equ NOT FALSE ;* ;* ZCPR3 BASE EQUATES ;* ; ; 1. VERSION NUMBERS, MEMORY SIZE, and CP/M BASE ADDRESS ; ; The following equates define the version numbers of the ZCPR3 ; Command Processor and the CBIOSZ. They also explicitly state the size ; of the TPA for inclusion in the CBIOSZ header printed at Cold Boot. ; Z3REV EQU 30 ; ZCPR3 REV NUMBER CBREV EQU 41 ; CBIOSZ REV NUMBER MSIZE EQU 48 ; SIZE OF TPA ; ; BASE - Base Address of user's CP/M system (normally 0 for DR version) ; This equate allows easy modification by non-standard CP/M (eg,H89) ; BASE EQU 0 ; ; 2. PROCESSOR SELECTION ; ; The following equate selects the use of the 8080/8085 micro or ; the Z80 micro for the target for ZCPR3. Note that selecting the ; 8080/8085 should be done ONLY if you have an 8080 or 8085. If you have ; a Z80, by all means select this one since the code is much smaller and ; you can cram more features into the system as a result. ; If the processor is an 8080 or 8085, set this equate to TRUE. ; If the processor is a Z80, set it to FALSE. ; I8080 EQU FALSE ; ; 3. EXTERNAL PATH ; ; The following equates define the address of the ZCPR3 External ; Path and the number of two-byte elements contained in this path (maximum). ; If there is no ZCPR3 External Path, both of these values should be set to 0. ; EXPATH EQU 40H ; EXTERNAL PATH EXPATHS EQU 5 ; 5 2-byte Path Elements ; (PATH SIZE = EXPATHS*2 + 1) ; ; 4. WHEEL BYTE ; ; The following equate defines the address of the ZCPR3 Wheel Byte. ; If there is no ZCPR3 Wheel Byte, this value should be set to 0. ; Z3WHL EQU 4BH ; WHEEL BYTE ADDRESS ; ; 5. CCP LOCATION ; ; The following equate defines the address of the ZCPR3 Command ; Processor. This address MUST be supplied. ; CCP EQU 0C000H ; ZCPR3 COMMAND PROCESSOR ; ; 6. RCP LOCATION ; ; The following equates define the address of the ZCPR3 Resident ; Command Package and its size in 128-byte blocks. If there is no ; ZCPR3 Resident Command Package, both of these values should be 0. ; RCP EQU 0E400H ; RESIDENT COMMAND PACKAGE RCPS EQU 16 ; 16 128-byte Blocks (2K bytes) ; ; 7. IOP LOCATION ; ; The following equates define the address of the ZCPR3 Input/Output ; Package and its size in 128-byte blocks. If there is no ZCPR3 Input/Output ; Package, both of these values should be 0. ; IOP EQU 0EC00H ; REDIRECTABLE I/O PACKAGE IOPS EQU 12 ; 12 128-byte Blocks (1.5K bytes) ; ; 8. FCP LOCATION ; ; The following equates define the address of the ZCPR3 Flow Command ; Package and its size in 128-byte blocks. If there is no ZCPR3 Flow Command ; Package, both of these values should be 0. ; FCP EQU 0F200H ; FLOW COMMAND PACKAGE FCPS EQU 4 ; 4 128-byte Blocks (0.5K bytes) ; ; 9. ENV LOCATION ; ; The following equates define the address of the ZCPR3 Environment ; Descriptor and its size in 128-byte blocks. If there is no ZCPR3 Environment ; Descriptor, both of these values should be 0. ; Z3ENV EQU 0F400H ; ENVIRONMENT DESCRIPTORS Z3ENVS EQU 2 ; SIZE OF ENVIRONMENT DESCRIPTOR IN 128-BYTE BLOCKS ; ; 10. SHELL STACK ; ; The following equates define the address of the ZCPR3 Shell Stack, ; the number of entries permitted in the ZCPR3 Shell Stack, and the size ; of each entry in the Shell Stack in terms of bytes. If there is no ZCPR3 ; Shell Stack, all three values should be 0. ; SHSTK EQU 0F500H ; 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) ; ; 11. ZCPR3 MESSAGES ; ; The following equate defines the address of the ZCPR3 Message Buffer. ; This buffer is always 80 bytes long. If there is no ZCPR3 Message Buffer, ; this address should be 0. ; Z3MSG EQU 0F580H ; ZCPR3 MESSAGE BUFFER ; ; 12. EXTERNAL FCB ; ; The following equate defines the address of the ZCPR3 External FCB. ; This buffer is always 36 bytes long. If there is no ZCPR3 External FCB, ; this address should be 0. ; EXTFCB EQU 0F5D0H ; ZCPR3 EXTERNAL FCB ; ; 13. NAMED DIRECTORY BUFFER ; ; The following equates define the address and size (in terms of 18-byte ; entries) of the ZCPR3 Named Directory Buffer. If there is no such buffer, ; both of these values should be 0. ; Z3NDIR EQU 0F600H ; ZCPR3 NAMED DIRECTORY AREA Z3NDIRS EQU 14 ; 14 18-byte Named Directory Elements permitted ; (NDIR SIZE = Z3NDIRS*18 + 1 for trailing 0) ; ; 14. COMMAND LINE ; ; The following equates define the address and size (in terms of bytes) ; of the ZCPR3 Command Line Buffer (formerly called the Multiple Command Line ; Buffer under ZCPR2). If there is no such buffer, both of these values should ; be 0. ; Z3CL EQU 0F700H ; ZCPR3 COMMAND LINE BUFFER Z3CLS EQU 200 ; SIZE OF COMMAND LINE BUFFER ; ; 15. EXTERNAL STACK ; ; The following equate defines the address of the ZCPR3 External Stack. ; This stack is always 48 bytes in size. If there is no such stack, this ; value should be 0. ; EXTSTK EQU 0F7D0H ; ZCPR3 EXTERNAL STACK ; ; 16. USER EQUATES ; ; The following equates are available for the implementer's target ; system. These are implementation-defined. ; DJEPROM EQU 0F800H ; EPROM BASE ADDRESS ;* ;* END of ZCPR3 BASE EQUATES ;*