home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
ZSYS
/
SIMTEL20
/
ZCPR3
/
Z3BASE2.LQB
/
Z3BASE2.LIB
Wrap
Text File
|
2000-06-30
|
8KB
|
273 lines
; 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
;*