; 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 ---