Files
Pegasys-RomWBW/Source/BPBIOS/ZCPR33/z3base.lib
Wayne Warthen 53a74f78d7 HBIOS driver and BPBIOS refinements
- Refined sd, ide, and ppide drivers to improve hardware compatibility
- Improved BPBIOS build process
2016-02-01 14:50:58 -08:00

226 lines
6.5 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 - 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