home *** CD-ROM | disk | FTP | other *** search
- ; Z3BASE - Dynamic Configuration
- ;
- ; ZCPR33 is copyright 1987 by Echelon, Inc. All rights reserved. End-user
- ; distribution and duplication permitted for non-commercial purposes only.
- ; Any commercial use of ZCPR33, defined as any situation where the duplicator
- ; recieves revenue by duplicating or distributing ZCPR33 by itself or in
- ; conjunction with any hardware or software product, is expressly prohibited
- ; unless authorized in writing by Echelon.
- ;
- ; This is a special version of Z3BASE, inspired by Joe Wright's Z3BASE
- ; for Z-Com. All segment addresses are automatically derived when the
- ; CCP equate is set. The benefit of this is that reconfiguration of the
- ; system after initial installation is greatly eased.
- ;
- ; Although this version of Z3BASE is being distributed with ZCPR 3.3, any
- ; previous version of Z3BASE can be used to assemble the Z33 Command
- ; Processor. No new symbols are needed. So, if you have an existing
- ; Z3BASE, go ahead and use it.
- ;
- ; Instructions:
- ;
- ; The user should first design the ZCPR3 memory usage using the chart
- ; below. (Echelon recommends the chart be filled out, even though it is
- ; not read by the assembler, so that your system will be self-documenting.)
- ; Then set the CCP equate for the beginning address of ZCPR3. Next, examine
- ; and change the SEGn equates which follow in the file to ensure that the
- ; system segments and buffers are placed at the proper addresses.
- ;
- ; This file has been customized for use with AMPRO hard disk systems. The
- ; target configuration has support for hard disks up to 49 Meg, extended
- ; IOP support, and 28-entry NDR.
- ;
- ;****************************************************************
- ;* *
- ;* Z3BASE.LIB -- Base Addresses for ZCPR 3.3/Z-System *
- ;* *
- ;* Segments: *
- ;* *
- ;* Segment Function *
- ;* ------- -------- *
- ;* ZRDOS Echelon Z80 Replacement Disk Operating *
- ;* System, Version 1.7 (Public ZRDOS Plus) *
- ;* CBIOSZ Ampro-compatible BIOS with additional *
- ;* ZCPR3 initialization routines *
- ;* ZCPR3 Echelon Z80 Command Processor *
- ;* Replacement, Version 3.3 (ZCPR3) *
- ;* *.ENV All Environment Descriptors *
- ;* *.FCP All Flow Command Packages *
- ;* *.NDR All Named Directory Definition Files *
- ;* *.RCP All Resident Command Packages *
- ;* *.IOP All Input/Output Packages *
- ;* *
- ;* *
- ;* Memory Map of System (for CCP EQU 0BC00H): *
- ;* *
- ;* Address Range Size Function *
- ;* ------------- ------- -------- *
- ;* 0 - FF 256 b Standard CP/M Buffers except *
- ;* 100 - C3FF ~49 K Transient Program Area *
- ;* BC00 - C3FF 2K ZCPR 3.3 Command Processor *
- ;* C400 - D1FF 3.5 K ZRDOS *
- ;* D200 - EAFF 6.25K Ampro BIOS w/hard disk buffers *
- ;* EB00 - F2FF 2 K Resident Command Package *
- ;* F300 - F8FF 1.5 K Input/Output Package *
- ;* F900 - FAFF .5 K Flow Command Package *
- ;* FB00 - FB7F 128 b ZCPR3 Shell Stack *
- ;* FB80 - FBCF 80 b ZCPR3 Message Buffers *
- ;* FBD0 - FBF3 36 b ZCPR3 External FCB *
- ;* FBF4 - FBFE 11 b ZCPR3 External Path *
- ;* FBFF 1 b Wheel Byte *
- ;* FC00 - FDFF .5 K Memory-Based Named Directory *
- ;* FE00 - FEFF 256 b Environment Descriptor *
- ;* Bytes 00H-7FH: Z3 Parameters *
- ;* Bytes 80H-FFH: Z3 TCAP *
- ;* FF00 - FFCF 208 B Multiple Command Line Buffer *
- ;* FD00 - FFFF 48 b ZCPR3 External Stack *
- ;****************************************************************
-
- FALSE equ 0
- TRUE equ NOT FALSE
-
- Z3REV EQU 33 ; ZCPR3 REV NUMBER
- MSIZE EQU 54 ; SIZE OF CPM SYSTEM
-
- BASE EQU 0
-
- CCP EQU 0BC00H ; ZCPR3 COMMAND PROCESSOR
-
- seg1 equ CCP+2F00h ; 11.75k from CCP to here (adding 2k ZCPR,
- ; 3.5k DOS, and 6.25k BIOS).
-
- ;
- ; RCP definition. Set RCPS to 0 to eliminate RCP
- ;
-
- RCPS EQU 16 ; 16 128-byte Blocks (2K bytes)
-
- IF RCPS NE 0
- RCP EQU seg1 ; RESIDENT COMMAND PACKAGE
- ELSE
- RCP EQU 0
- ENDIF
-
- seg2 equ seg1+[rcps*128]
-
- ;
- ; IOP definition. Set IOPS to 0 to eliminate IOP
- ;
- IOPS EQU 12 ; 12 128-byte Blocks (1.5K bytes)
-
- IF IOPS NE 0
- IOP EQU seg2 ; REDIRECTABLE I/O PACKAGE
- ELSE
- IOP EQU 0
- ENDIF
-
- seg3 equ seg2+[iops*128]
-
- ;
- ; FCP definition. Set FCPS to 0 to eliminate FCP
- ;
-
- FCPS EQU 4 ; 4 128-byte Blocks (0.5K bytes)
-
- IF FCPS NE 0
- fcp equ seg3
- ELSE
- fcp equ 0
- ENDIF
-
- seg4 equ seg3+[fcps*128]
-
- ;
- ; Shell Stack definition. Set SHSTKS to 0 to eliminate 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 SHSTKS NE 0
- SHSTK EQU seg4
- ELSE
- SHSTK EQU 0
- ENDIF
-
- seg5 equ seg4+[shstks*shsize]
-
- ;
- ; The ZCPR3 Message Buffers are mandatory for ZCPR 3.3.
- ;
- Z3MSG EQU seg5 ; ZCPR3 MESSAGE BUFFER
-
- seg6 equ seg5+80
-
- ;
- ; The ZCPR3 External FCB is mandatory for ZCPR 3.3.
- ;
-
- EXTFCB EQU seg6 ; ZCPR3 EXTERNAL FCB
-
- seg7 equ seg6+36
-
- ;
- ; The Path is mandatory for ZCPR 3.3. No more than 5 path elements can be
- ; used with this Z3BASE.LIB file.
- ;
-
- EXPATH EQU seg7 ; EXTERNAL PATH
- EXPATHS EQU 5 ; 5 2-byte Path Elements
- ; (PATH SIZE = EXPATHS*2 + 1)
-
- seg8 equ seg7+[expaths*2]+1
-
- ;
- ; The ZCPR3 Wheel Byte is mandatory for ZCPR 3.3.
- ;
-
- Z3WHL EQU seg8 ; WHEEL BYTE ADDRESS
-
- seg9 equ seg8+1
-
- ;
- ; ZCPR3 Named Directory Buffer definition. Set Z3NDIRS to 0 to eliminate
- ; the named directory buffer. If Z3NDIRS is changed, also change the seg10
- ; equate below.
- ;
- Z3NDIRS EQU 28 ; 28 18-byte Named Directory Elements permitted
- ; (NDIR SIZE = Z3NDIRS*18 + 1 for trailing 0)
- IF Z3NDIRS NE 0
- Z3NDIR EQU seg9 ; ZCPR3 NAMED DIRECTORY AREA
- ELSE
- Z3NDIR EQU 0
- ENDIF
-
- seg10 equ seg9+512 ; add 512 for 28-entry NDR
- ; add 256 for 14-entry NDR ("standard")
- ; add 0 if Z3NDIRS is set to 0
-
- ;
- ; The ZCPR3 External Environment Descriptor is mandatory for ZCPR 3.3.
- ; Echelon recommends you work this out so that your ENV begins at address
- ; FE00h, but this is only a recommendation and not mandatory.
- ;
-
- Z3ENV EQU seg10 ; ENVIRONMENT DESCRIPTORS
- Z3ENVS EQU 2 ; SIZE OF ENVIRONMENT DESCRIPTOR IN 128-BYTE BLOCKS
-
- seg11 equ seg10+[z3envs*128]
-
- ;
- ; The ZCPR3 External Command Line Buffer is mandatory for ZCPR 3.3.
- ;
-
- Z3CL EQU seg11 ; ZCPR3 COMMAND LINE BUFFER
- Z3CLS EQU 208 ; SIZE OF COMMAND LINE BUFFER
-
- seg12 equ seg11+z3cls
-
- ;
- ; The ZCPR3 External Stack is mandatory for ZCPR 3.3.
- ;
-
- EXTSTK EQU seg12 ; ZCPR3 EXTERNAL STACK
-
- ; end of Z3BASE.LIB