Files
RomWBW/Source/Images/d_bp/u15/Z3BASE2.LIB
2020-01-03 20:42:06 -08:00

273 lines
8.0 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
; Z3BASE - Minimum Configuration
; Offset: 4100H
;****************************************************************
;* *
;* 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 - CFFF ~52 K TPA *
;* D000 - D7FF 2 K ZCPR3 Command Processor *
;* D800 - E5FF 3.5K BDOSZ *
;* E600 - F3FF 3.5K CBIOSZ with Buffers *
;* 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 52 ; 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 0D000H ; 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 00000H ; RESIDENT COMMAND PACKAGE
RCPS EQU 00 ; 00 128-byte Blocks (0K 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 00000H ; REDIRECTABLE I/O PACKAGE
IOPS EQU 00 ; 00 128-byte Blocks (0K 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 00000H ; FLOW COMMAND PACKAGE
FCPS EQU 0 ; 0 128-byte Blocks (0K 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
;*