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.
152 lines
6.3 KiB
152 lines
6.3 KiB
; z3base.fp -- B/P Bios System Z3 Definition File for a fully
|
|
; banked system with 32 byte external HBIOS proxy and
|
|
; internal proxy.
|
|
|
|
; This file is adapted from the basic Z3BASE.LIB configuration file used for
|
|
; most ZCPR33 systems. It has added the new definitions for the Resident
|
|
; User Space defined in B/P Bios descriptions.
|
|
;=========================================================================
|
|
;== NOTE: The Starting Address of the User Space marks the lower ==
|
|
;== base of memory and MUST be entered. B/P Bios Utilities use ==
|
|
;== this address to locate many portions of the operating system. ==
|
|
;=========================================================================
|
|
; To change your systems definition, first sketch out the memory map in the
|
|
; comment table, then set the equates to reflect the memory map, doing any
|
|
; required calculations for element sizes and required spaces. As an
|
|
; alternative, just leave this file alone and configure everything with
|
|
; the utilities provided. For example reserve top 1k for HBIOS and no IOP.
|
|
|
|
; FFE0 - FFFF 32 Bytes HBIOS RESERVED AREA (mini proxy)
|
|
; FFB0 - FFDF 48 Bytes ZCPR3 External Stack (must be 48 bytes)
|
|
; FE00 - FFAF 432 Bytes Named Directory Buffer
|
|
; FD00 - FDFF 256 Bytes Multiple Command Line Buffer
|
|
; FC00 - FCFF 256 Bytes Environment Descriptor
|
|
; Bytes 00H-7FH: Z3 Parameters
|
|
; Bytes 80H-FFH: Z3 TCAP
|
|
; FBFF 1 Byte Wheel byte
|
|
; FBF4 - FAFE 11 Bytes Path (5 elements)
|
|
; FBD0 - FAF3 36 Bytes ZCPR3 External FCB
|
|
; FB80 - FACF 80 Bytes ZCPR3 Message Buffers
|
|
; FB00 - FA7F 128 Bytes ZCPR3 Shell Stack
|
|
; F900 - FAFF 512 Bytes Flow Command Package
|
|
; F900 - F900 0 KBytes Resident Command Package
|
|
; F900 - F900 0 KBytes IO Package - no IOP
|
|
; F900 - F900 0 KBytes Resident User Space (no clk drvr needed)
|
|
|
|
; The remainder is for the Operating System. Exact sizes vary depending
|
|
; primarily on the Number and sizes of Hard Drive Partitions, typically:
|
|
|
|
; EF00 - F8FF 2.75 KBytes B/P BIOS (unbanked version)
|
|
; E580 - EEFF 3.375 KBytes ZSDOS 2.0 BDOS
|
|
; DD80 - E47F 2 KBytes ZCPR 4.1 Command Processor
|
|
; 0100 - C5FF ~50 KBytes Transient Program Area
|
|
; 0000 - 00FF 256 Bytes Standard CP/M Buffers
|
|
;========================================================================
|
|
|
|
FALSE EQU 0
|
|
TRUE EQU NOT FALSE
|
|
|
|
YES EQU TRUE
|
|
NO EQU FALSE
|
|
|
|
; The External Stack is placed in the very top position in memory. It is
|
|
; mandatory for B/P Bios and ZCPR 3.3.
|
|
|
|
; FFB0 - FFDF 48 Bytes ZCPR3 External Stack (must be 48 bytes)
|
|
;EXTSTK EQU 0FBD0H ; ZCPR3 External Stack
|
|
EXTSTK EQU MEMTOP+1-48 ; ZCPR3 External Stack
|
|
EXTSTKS EQU YES
|
|
|
|
; ZCPR3 Named Directory Buffer definition.
|
|
; FE00 - FFAF 432 Bytes Named Directory Buffer -23 names
|
|
Z3NDIRS EQU 23 ; Number of Named Directory Elements
|
|
; F800 - F8FF 256 Bytes Named Directory Buffer - 14 NAMES
|
|
NDIRSZ EQU Z3NDIRS * 18 + 1
|
|
; (NDIR Size = Z3NDIRS * 18 + 1 = 433 Bytes)
|
|
Z3NDIR EQU ((EXTSTK-NDIRSZ)/256)*256 ; Start of Named Directory Buffer
|
|
|
|
; The Multiple Command Line Buffer is placed in the Top Page of Memory to
|
|
; place it above the Environment. It is mandatory for ZCPR 3.3.
|
|
; FD00 - FDFF 256 Bytes
|
|
;Z3CL EQU 0FB00H ; ZCPR3 Command Line Buffer
|
|
;Z3CLS EQU 208-5 ; Size of Command Line Buffer-5
|
|
Z3CLS EQU 256-5 ; Size of Command Line Buffer-5
|
|
Z3CL EQU Z3NDIR-Z3CLS-5 ; ZCPR3 Command Line Buffer
|
|
|
|
; The ZCPR3 External Environment Descriptor is mandatory B/P Bios & ZCPR 3.3.
|
|
; The Environment Descriptor MUST begin on an even Page Boundary (xx00H).
|
|
|
|
; FC00 - FCFF 256 Bytes Environment Descriptor
|
|
Z3ENVS EQU 2 ; Size of Env Descriptor in 128-Byte Blks
|
|
Z3ENV EQU (Z3CL-Z3ENVS*128) and 0FF00H
|
|
|
|
; The ZCPR3 Wheel Byte is mandatory for ZCPR 3.3.
|
|
|
|
; FBFF 1 Byte Wheel byte
|
|
Z3WHLS EQU YES
|
|
Z3WHL EQU Z3ENV-1 ; Wheel Byte Address
|
|
|
|
; The Path is mandatory for ZCPR 3.3.
|
|
|
|
; FBF4 - FBFE 11 Bytes Path (5 elements)
|
|
EXPATHS EQU 5 ; (Path Size = EXPATHS*2 + 1 = 11 bytes)
|
|
; This defines 5 2-byte Path Elements
|
|
EXPATH EQU Z3WHL-EXPATHS*2-1 ; External Path starting Address
|
|
|
|
; The ZCPR3 External FCB is mandatory for ZCPR 3.3.
|
|
|
|
; FBD0 - FBF3 36 Bytes ZCPR3 External FCB
|
|
EXTFCBS EQU YES
|
|
EXFCBSZ EQU 36
|
|
EXTFCB EQU EXPATH-EXFCBSZ ; 36-Byte ZCPR3 External FCB
|
|
|
|
; The ZCPR3 Message Buffers are mandatory for ZCPR 3.3.
|
|
|
|
; FB80 - FBCF 80 Bytes ZCPR3 Message Buffers
|
|
Z3MSGS EQU YES
|
|
Z3MSGSZ EQU 80 ; size of buffer
|
|
Z3MSG EQU EXTFCB-Z3MSGSZ ; 80-Byte ZCPR3 Message Buffer
|
|
|
|
; Shell Stack definition. Set SHSTKS to 0 to eliminate Shell Stack
|
|
|
|
; FB00 - FB7F 128 Bytes ZCPR3 Shell Stack
|
|
SHSTKS EQU 4 ; Number of SHSIZE-Byte Shell Stack entries
|
|
SHSIZE EQU 32 ; (Stack Size = SHSTKS * SHSIZE = 128 Bytes)
|
|
SHSTK EQU Z3MSG-SHSTKS*SHSIZE ; Shell Stack Starting Address
|
|
|
|
; Flow Command Package definition. Set FCPS to 0 to eliminate FCP
|
|
|
|
; F900 - FAFF 512 Bytes Flow Command Package
|
|
FCPS EQU 4 ; (FCP Size = 128 * FCPS = 512 Bytes)
|
|
;FCPS EQU 0 ; (FCP Size = 128 * FCPS = 512 Bytes)
|
|
FCP EQU SHSTK-FCPS*128 ; Start of Flow Command Package
|
|
|
|
; Resident Command Processor Definition. Set RCPS to 0 to eliminate RCP
|
|
|
|
; F900 - F900 0 KBytes Resident Command Package
|
|
;RCPS EQU 16 ; (RCP Size = 128 * RCPS = 2 kBytes)
|
|
RCPS EQU 0 ; (RCP Size = 128 * RCPS = 2 kBytes)
|
|
RCP EQU FCP-RCPS*128 ; Start of Resident Command Processor
|
|
|
|
; IO Package definition. Set IOPS to 0 to eliminate IOP
|
|
|
|
;IOP EQU 0EC00H ; Start of IO Package
|
|
; F900 - F900 0 KBytes IO Package
|
|
IOPS DEFL 0 ; (IOP Size = 128 * IOPS = 0 kBytes)
|
|
;IOPS DEFL 12 ; (IOP Size = 128 * IOPS = 1.5 kBytes)
|
|
;IOPS DEFL 10 ; (IOP Size = 128 * IOPS = 1.25 kBytes)
|
|
;OPS DEFL 3 ; (IOP Size = 128 * IOPS = 1.25 kBytes)
|
|
IOP EQU RCP-IOPS*128 ; Start of IO Package
|
|
|
|
;=========================================================================
|
|
; Resident User Space Definition. Set USPCS to 0 to eliminate USPC.
|
|
; The USPC Value marks the Lower Limit of Reserved Common High Memory and
|
|
; MUST BE PRESENT!
|
|
|
|
USPCS EQU 0 ; (USPC Size = 128 * USPCS = 0 kBytes)
|
|
;USPCS EQU 6 ; (USPC Size = 128 * USPCS = 0.75 kBytes)
|
|
; F900 - F900 0.75 KBytes Resident User Space
|
|
USPC EQU IOP-USPCS*128 ; Start of Resident User Space (MANDATORY)
|
|
|
|
;--- End of Z3BASE.LIB ---
|
|
|