mirror of https://github.com/wwarthen/RomWBW.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
273 lines
8.0 KiB
273 lines
8.0 KiB
; 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
|
|
;*
|
|
|