mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
* added hack to handle tunes * quiet clean * added chmod for execution * suppress warnings * Multi-boot fixes * the windows build somehow thinks that these filesystems are cpm3. * credit and primitive instructions * Update sd.asm Cosmetic fix. * make compile shut up about conditionals * Add bin2asm for linus and update build to process font files under linix * fixed quoted double quote bug, added tests * added tests * added bin2asm for font file source creation * Revert linux bin2asm font stuff * added rule for font source generation * build fonts * added directory mapping cache. if the same directory is being hit as last run, we don't need to rebuild the map. will likely break if you are running more than one at a time, in that the cache will be ineffective. also, if the directory contents change, this will also break. * removed strip. breaks osx * added directory tag so . isn't matched all over the place * added real cache validation * fixed build * this file is copied from optdsk.lib or optcmd.lib * install to ../HBIOS * prerequisite verbosity * diff soft failure and casefn speedup * added lzsa * added lzsa * removed strip. breaks on osx * added clobber * added code to handle multiple platform rom builds with rom size override * added align and 0x55 hex syntax * default to hd64180 * added N8 capability * added SBC_std.rom to default build * added support for binary diff * diff fixes * clean, identical build. font source generator emitted .align. this does not match the windows build * Upgrade NZCOM to latest * Misc. Cleanup * fixed expression parser bug : ~(1|2) returned 0xfe * added diff build option * Update Makefile Makefile enhancement to better handle ncurses library from Bob Dunlop. * Update sd.asm Back out hack for uz80as now that Curt fixed it. * Misc. Cleanup * UNA Catchup UNA support was lacking some of the more recent behavior changes. This corrects most of it. * Add github action for building RomWBW * Bump Pre-release Version * Update build.yml Added "make clean" which will remove temporary files without removing final binary outputs. * Update Makefile Build all ROM variants by default in Linux/Mac build. * Update Makefile * Update Makefile * Update Makefile * Update Makefile * Update Makefile * Update Makefile * Update Makefile * Update Makefile * Update Makefile * Update for GitHub Build Case issue in TASM includes showing up in GitHub build. This should correct that. * Added an gitignore files to exclude generated files * Removed Tunes/clean.cmd and Tunes/ReadMe.txt - as make clean removes them * Build.sh: marked as executable chmod +x Build.sh * Fix to HBIOS/build.sh When adding files to rom disk, if files were missing, it would error out. It appears the intent is to skip non-existing files. Updated to log out correctly for missing files - and continue operation. * Update Microsoft NASCOM BASIC.docx Nascom manual, text version by Jan S (full name unknown) * Fix issue with Apps/Tune not making If dest directory does not exist, fails to make Apps * Create ReadMe.txt * Update Makefile * Update Build.sh * Make .gitignores for Tools/unix more specific * cpmtools Update Updated cpmtools applications (Windows only). Removed hack in diskdefs that is no longer required. * HBIOS Proxy Temp Stack Enhancement Reuse the bounce buffer area as the temporary stack space required briefly in HBX_INVOKE when transitioning banks. Increases size of temporary stack space to 64 bytes. * Update ReadMe.txt * HBIOS - clean up TMPSTK * Update hbios.asm Minor cosmetic changes. * Build Process Updates Minor udpates to build process to improve consistency between Windows and Mac/Linux builds. * Update hbios.asm Add improved interrupt protection to HBIOS PEEK, POKE, and BNKCPY functions. * hbios - wrap hbx_bnkcpy * hbios - adjust hbx_peek hbx_poke guards * Update hbios.asm Adjusted used of DI/EI for PEEK and POKE to regain a bit of INTSTK space. Added code so that HB_INVBNK can be used as a flag indicating if HBIOS is active, $FF is inactive, anything else means active. * Add HBIOS MuTex * Initial Nascom basic ecb-vdu graphics set and reset for 80x25b screen with 256 character mod * Finalize Pre-release 34 Final support for FreeRTOS * Update nascom.asm Optimization, cleanup, tabs and white spaces * IDE & PPIDE Cleanup * Clean up Make version include files common. * Update Makefile * Update Makefile * Build Test * Build Test * Build Fixes * Update nascom.asm Cleanup * Update nascom.asm Optimization * hbios - temp stack tweak * Update hbios.asm Comments on HBX_BUF usage. * Update nascom.asm Optimization * Update nascom.asm Setup ECB-VDU build option, remove debug code * Update nascom.asm Set default build. update initialization * Update nascom.asm Make CLS clear vdu screen * Update nascom.asm Fixup top screen line not showing * Add SC131 Support Also cleaned up some ReadMe files. * HBIOS SCZ180 - remove mutex special files * HBIOS SCZ180 - adjust mutex comment * Misc. Cleanup Includes some minor improvements to contents in some disk images. * Delete FAT.COM Changing case of FAT.COM extension to lowercase. * Create FAT.com Completing change of case in extension of FAT.com. * Update Makefile Remove ROM variants that just have the HBIOS MUTEX enabled. Users can easily enable this in a custom build. * Cleanup Removed hack from Images Makefile. Fixed use of DEFSERCFG in various places. * GitHub CI Updates Adds automation of build and release assets upon release. * Prerelease 36 General cleanup * Build Script Cleanups * Config File Cleanups * Update RomWBW Architecture General refresh for v2.9.2 * Update vdu.asm Removed a hack in VDU driver that has existed for 8 years. :-) * Fix CONSOLE Constant Rename CIODEV_CONSOLE constant to CIO_CONSOLE because it is a unit code, not a device type code. Retabify TastyBasic. * Minor Bug Fixes - Disk assignment edge case - CP/M 3 accidental fall thru - Cosmetic updates * Update util.z80 * Documentation Cleanup * Documentation Update * Documentation Update * Documentation Updates * Documentation Updates * Create Common.inc * Documentation Updates * Documentation Updates * doc - a few random fixes * Documentation Cleanup * Fix IM 0 Build Error in ACIA * Documentation Updates * Documentation Cleanup * Remove OSLDR The OSLDR application was badly broken and almost impossible to fix with new expanded OS support. * Bug Fixes - Init RAM disk at boot under CP/M 3 - Fix ACR activation in TUNE * FD Motor Timeout - Made FDC motor timeout smaller and more consistent across different speed CPUs - Added "boot" messaging to RTC * Cleanup * Cleanup - Fix SuperZAP to work under NZCOM and ZPM3 - Finalize standard config files * Minor Changes - Slight change to ZAP configuration - Added ZSDOS.ZRL to NZCOM image * ZDE Upgrade - Upgraded ZDE 1.6 -> 1.6a * Config File Tuning * Pre-release for Testing * cfg - mutex consistent config language * Bump to Version 3.0 * Update SD Card How-To Thanks David! * update ReadMe.md Remove some odd `\`. * Update ReadMe.txt * Update ReadMe.md * Update Generated Doc Files * Improve XModem Startup - Extended startup timeout for XM.COM so that it doesn't timeout so quickly while host is selecing a file to send. - Updated SD Card How-To from David Reese. * XModem Timing Refinements * TMS Driver Z180 Improvements - TMS driver udpated to insert Z180 I/O waitstates internally so other code can run at full speed. - Updated How-To documents from David. - Fixed TUNE app to properly restore Z180 I/O waitstates after manipulating them. * CLRDIR and ZDE updates - CLRDIR has been updated by Max Scane for CP/M 3 compatibility. - A minor issue in the preconfigured ZDE VT100 terminal escape sequences was corrected. * Fix Auto CRT Console Switch on CP/M 3 * Handle lack of RTC better DSRTC driver now correctly returns an error if there is no RTC present. * Minor RTC Updates * Finalize v3.0.1 Cleanup release for v3.0 * New ROMLDR and INTRTC driver - Refactored romldr.asm - Added new periodic timer based RTC driver * CP/M 3 Date Hack - Hack to allow INTRTC to increment time without destroying the date * Update romldr.asm Work around minor Linux build inconsistency * Update Apps for New Version * Revert "Update Apps for New Version" This reverts commitad80432252. * Revert "Update romldr.asm" This reverts commit4a9825cd57. * Revert "CP/M 3 Date Hack" This reverts commit153b494e61. * Revert "New ROMLDR and INTRTC driver" This reverts commitd9bed4563e. * Start v3.1 Development * Update FDISK80.COM Updated FDISK80 to allow reserving up to 256 slices. * Update sd.asm For Z180 CSIO, ensure that xmit is finished, before asserting CS for next transaction. * Add RC2014 UART, Improve SD protocol fix - RC2014 and related platforms will autodetect a UART at 0xA0 and 0xA8 - Ensure that CS fully brackets all SD I/O * ROMLDR Improvements .com files can now be started from CP/M and size of .com files has been reduced so they always fit. * Update commit.yml Run commit build in all branches * Update commit.yml Run commit build for master and dev branches * Improved clock driver auto-detect/fallback * SIO driver now CTC aware The SIO driver can now use a CTC (if available) to provide much more flexible baud rate programming. * CTC driver fine tuning * Update xmdm125.asm Fixed a small issue in core XM125 code that caused a file write error message to not be displayed when it should be. * CF Card compatibility improvement Older CF Cards did not reset IDE registers to defaults values when reset. Implemented a work around. * Update ACIA detection ACIA should no longer be detected if there is also a UART module in the system. * Handle CTC anomaly Small update to accommodate CTC behavior that occurs when the CTC trigger is more than half the CTC clock. * Update acia.asm Updated ACIA detection to use primary ACIA port instead of phantom port. * Update acia.asm Fix bug in ACIA detection. Thanks Alan! * MacOS Build Improvement Build script updated to improve compatibility with MacOS. Credit to Fredrik Axtelius for this. * HBIOS Makefile - use env vars for target Allow build ROM targets to be restricted to just one platform thru use of ENV vars: ROM_PLATFORM - if defined to a known platform, only this platform is build - defaults to std config ROM_CONFIG - sets the desired platform config - defaults to std if the above ENVs are not defined, builds all ROMs * Added some more gitignores * Whitespace changes (crlf) * HBIOS: Force the assembly to fail for vdu drivers if function table count is not correct * Whitespace: trailing whitespaces * makefile: updated some make scripts to use when calling subdir makefiles * linux build: update to Build.sh fix for some platforms The initialization of the Rom dat file used the pipe (|) operator to build an initial empty file. But the pipe operator | may sometimes return a non-zero exit code for some linux platforms, if the the streams are closed before dd has fully processed the stream. This issue occured on a travis linux ubuntu image. Solution was to change to redirection. * Bump version * Enhance CTC periodic timer Add ability to use TIMER mode in CTC driver to generate priodic interrupts. * HBIOS: Added support for sound drivers New sound driver support with initial support for the SN76489 chip New build configuration entry: * SN76489ENABLE Ports are currently locked in with: * SN76489_PORT_LEFT .EQU $FC ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) * SN76489_PORT_RIGHT .EQU $F8 ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) * Miscellaneous Cleanup No functional changes. Co-authored-by: curt mayer <curt@zen-room.org> Co-authored-by: Wayne Warthen <wwarthen@gmail.com> Co-authored-by: ed <linux@maidavale.org> Co-authored-by: Dean Netherton <dnetherton@dius.com.au> Co-authored-by: ed <ed@maidavale.org> Co-authored-by: Phillip Stevens <phillip.stevens@gmail.com> Co-authored-by: Dean Netherton <dean.netherton@gmail.com>
609 lines
19 KiB
Plaintext
609 lines
19 KiB
Plaintext
; Z3HDR - Minimum Configuration
|
||
; Offset: 4100H
|
||
|
||
*************************************************************************
|
||
* *
|
||
* Z C P R 3 -- Z80-Based Command Processor Replacement, Version 3.0 *
|
||
* *
|
||
* Copyright (c) 1984 by Richard Conn *
|
||
* Copyright Pending, US Government *
|
||
* All Rights Reserved *
|
||
* *
|
||
* ZCPR3 was written by Richard Conn, who assumes no responsibility *
|
||
* or liability for its use. ZCPR3 is released to the CP/M user *
|
||
* community for non-commercial use only. *
|
||
* *
|
||
* All registered users of CP/M are encouraged to freely copy and use *
|
||
* ZCPR3 and its associated utilities on their registered systems for *
|
||
* non-commercial purposes. *
|
||
* *
|
||
* Any commercial use of ZCPR3 is prohibited unless approved by the *
|
||
* author, Richard Conn, or his authorized agent, Echelon, Inc, in *
|
||
* writing. *
|
||
* *
|
||
* This is the RELEASE VERSION of ZCPR3. *
|
||
* *
|
||
*************************************************************************
|
||
|
||
;
|
||
; Module: Z3HDR
|
||
; Author: Richard Conn
|
||
; Module Used By: ZCPR3 Version 3.x
|
||
; Note: Z3HDR contains the key customization equates for ZCPR3. These
|
||
; equates allow the user to select various ZCPR3 options and do an
|
||
; extensive amount of tailoring of ZCPR3 to the user's desires.
|
||
;
|
||
|
||
;
|
||
; 1. BASIC SYSTEM DEFINITIONS
|
||
;
|
||
; The following equates may be used to customize this CPR for the user's
|
||
; system and integration technique. The following equate are provided:
|
||
;
|
||
; REL - TRUE if integration is to be done via MOVCPM
|
||
; - FALSE if integration is to be done via DDT and SYSGEN
|
||
;
|
||
; CPRLOC - Base Page Address of CPR; this value can be obtained by running
|
||
; the CCPLOC program on your system, and if REL is FALSE, this
|
||
; value is supplied through the Z3BASE.LIB CCP equate
|
||
;
|
||
REL EQU FALSE
|
||
;
|
||
IF REL
|
||
CPRLOC EQU 0
|
||
ELSE
|
||
CPRLOC EQU CCP ;VALUE PROVIDED IN Z3BASE.LIB
|
||
ENDIF
|
||
|
||
;
|
||
; 2. DEFAULT FILE TYPES
|
||
;
|
||
; The following macros define the file types of the command object files
|
||
; (COM files under CP/M 2.2) to be loaded when a non-resident ZCPR3 command
|
||
; is given and of the indirect command files (SUB files under CP/M 2.2) to
|
||
; be used to extract commands from when the indirect command facility is
|
||
; invoked.
|
||
;
|
||
COMTYP MACRO
|
||
DB 'COM'
|
||
ENDM
|
||
|
||
SUBTYP MACRO
|
||
DB 'SUB'
|
||
ENDM
|
||
|
||
;
|
||
; 3. SUBMIT FILE PROCESSING
|
||
;
|
||
; The following flag enables the ability of ZCPR3 to process
|
||
; SUBMIT files (command files of the form $$$.SUB). If SUBON is TRUE, then
|
||
; ZCPR3 will process such files like CP/M's CCP normally does; if SUBON is
|
||
; FALSE, ZCPR3 will not process such files (ignore them). In such a case,
|
||
; only indirect command file facilities like ZEX will work. Much code is
|
||
; saved inside of the ZCPR3 Command Processor if SUBON is set to FALSE,
|
||
; but this rather useful facility is lost.
|
||
;
|
||
SUBON EQU TRUE
|
||
|
||
|
||
;
|
||
; 4. COMMAND PREFIX
|
||
;
|
||
; The following flag allows ZCPR3 to accept commands of the form
|
||
; "du:command params" or "dir:command params". If DRVPREFIX is TRUE,
|
||
; this form is accepted; if FALSE, this form is not accepted.
|
||
;
|
||
DRVPREFIX equ TRUE
|
||
|
||
|
||
;
|
||
; 5. COMMAND ATTRIBUTES
|
||
;
|
||
; The following equate allows the user to select the attributes of the
|
||
; COM files which are selected for execution. The ZCPR3 Command Processor
|
||
; can be made to execute only COM files with the System attribute set, with
|
||
; the Directory (non-System) attribute set, or with either attribute set.
|
||
; The following values are defined for this equate:
|
||
;
|
||
; COMATT Files Selected
|
||
; 0 System
|
||
; 80H Directory
|
||
; 1 Both System and Directory
|
||
;
|
||
COMATT equ 01H
|
||
|
||
|
||
;
|
||
; 6. ZCPR3 RESIDENT COMMAND ACTIVATION AND WHEEL FACILITY
|
||
;
|
||
; The following equates enable various ZCPR3-resident commands.
|
||
; The user may invoke these as desired, but should keep in mind the size
|
||
; of the resulting ZCPR3 and make sure it does not exceed the required
|
||
; limits.
|
||
;
|
||
DIRON equ FALSE ;DIR COMMAND
|
||
LTON equ TRUE ;LIST, TYPE COMMANDS
|
||
GOON equ TRUE ;GO COMMAND
|
||
ERAON equ TRUE ;ERA COMMAND
|
||
SAVEON equ FALSE ;SAVE COMMAND
|
||
RENON equ FALSE ;REN COMMAND
|
||
GETON equ FALSE ;GET COMMAND
|
||
JUMPON equ FALSE ;JUMP COMMAND
|
||
NOTEON equ TRUE ;NOTE COMMAND
|
||
|
||
;
|
||
; The Wheel equate table enables the WHEEL facility of ZCPR3. With this
|
||
; facility, a WHEEL BYTE, which exists somewhere in memory, is examined
|
||
; before a set of installer-selected commands are executed.
|
||
; If this byte is not zero, then the command proceeds. If it is zero,
|
||
; then the command is not allowed to proceed and is exited with an error
|
||
; message.
|
||
;
|
||
; The following set of equates make each of the indicated commands
|
||
; selectable to respond to the Wheel Byte or not. For instance, if
|
||
; WERA=TRUE, then it responds to the Wheel Byte; if WERA=FALSE, it does not.
|
||
;
|
||
IF Z3WHL NE 0 ;IF A WHEEL BYTE ADDRESS IS DEFINED
|
||
WERA equ FALSE ;Make ERA a Wheel-Oriented Command
|
||
WREN equ FALSE ; " REN " " " "
|
||
WLT equ FALSE ; " L/T " " " " (LIST/TYPE)
|
||
WGO equ FALSE ; " GO " " " "
|
||
WSAVE equ FALSE ; " SAVE " " " "
|
||
WGET equ FALSE ; " GET " " " "
|
||
WJUMP equ FALSE ; " JUMP " " " "
|
||
WDU equ FALSE ; " DU: " " " " (DU/DIR Change)
|
||
WHEEL equ WERA OR WREN OR WLT OR WGO OR WSAVE OR WGET OR WJUMP OR WDU
|
||
ENDIF ;Z3WHL
|
||
|
||
;
|
||
; 7. ZCPR3 RESIDENT COMMAND TABLE
|
||
;
|
||
; This table consists of the names of the various ZCPR3-resident
|
||
; commands and their addresses. The NCHARS equate defines how many
|
||
; characters long each name may be, and all table entries must be exactly
|
||
; the indicated number of characters (trailing spaces are used to fill
|
||
; out shorter names).
|
||
;
|
||
; Each table entry is structured as follows:
|
||
;
|
||
; DB 'CMND' ;Name of Command (NCHARS long)
|
||
; DB CMNDADR ;Address of Command within ZCPR3
|
||
;
|
||
; The installer should only change the names of the commands as
|
||
; desired and should not, as a rule, touch the address definition since
|
||
; this is fixed within the body of ZCPR3.
|
||
;
|
||
NCHARS EQU 4 ;NUMBER OF CHARS/COMMAND
|
||
|
||
CTABLE MACRO
|
||
;
|
||
IF DIRON
|
||
DB 'DIR '
|
||
DW DIR ;DIRECTORY DISPLAY COMMAND
|
||
ENDIF
|
||
;
|
||
IF LTON
|
||
DB 'LIST'
|
||
DW LIST ;LIST FILE ON PRINTER COMMAND
|
||
DB 'TYPE'
|
||
DW TYPE ;TYPE FILE ON CONSOLE COMMAND
|
||
ENDIF
|
||
;
|
||
IF GOON
|
||
DB 'GO '
|
||
DW GO ;EXECUTE CURRENT TPA COMMAND
|
||
ENDIF
|
||
;
|
||
IF ERAON
|
||
DB 'ERA '
|
||
DW ERA ;ERASE FILES COMMAND
|
||
ENDIF
|
||
;
|
||
IF SAVEON
|
||
DB 'SAVE'
|
||
DW SAVE ;SAVE TPA COMMAND
|
||
ENDIF
|
||
;
|
||
IF RENON
|
||
DB 'REN '
|
||
DW REN ;RENAME FILES COMMAND
|
||
ENDIF
|
||
;
|
||
IF GETON
|
||
DB 'GET '
|
||
DW GET ;LOAD FILE INTO TPA COMMAND
|
||
ENDIF
|
||
;
|
||
IF JUMPON
|
||
DB 'JUMP'
|
||
DW JUMP ;JUMP TO ANY MEMORY LOCATION COMMAND
|
||
ENDIF
|
||
;
|
||
IF NOTEON
|
||
DB 'NOTE'
|
||
DW NOTE ;NOTE - NULL COMMAND (NOP)
|
||
ENDIF
|
||
;
|
||
ENDM
|
||
|
||
|
||
;
|
||
; 8. CONTROLS ON ZCPR3 RESIDENT COMMANDS
|
||
;
|
||
; The following sets of equates provide special controls and
|
||
; parameters on various ZCPR3-resident commands.
|
||
;
|
||
|
||
;
|
||
; The following equates set the width of the spacing between the
|
||
; file names for the DIR command and the character used to separate file
|
||
; names from one another on the same line.
|
||
;
|
||
; Assuming that FENCE is set to the character '|', If WIDE is TRUE,
|
||
; then the output will look like:
|
||
;
|
||
; filename.typ__|__filename.typ ...
|
||
;
|
||
; while if WIDE is FALSE, the output will look like:
|
||
;
|
||
; filename.typ_|_filename.typ ...
|
||
;
|
||
; (underscore represents a space)
|
||
;
|
||
WIDE EQU TRUE
|
||
FENCE EQU '|'
|
||
|
||
;
|
||
; The following equates define two flags which are used in
|
||
; conjunction with the DIR command on the command line. SYSFLG is
|
||
; the character used to indicate to DIR that all files, both System
|
||
; and Non-System, are to be displayed. SOFLG is the character used
|
||
; to indicate to DIR that only the System files are to be displayed.
|
||
; By default, DIR displays non-System files.
|
||
;
|
||
; For example, if SYSFLG is set to 'A' and SOFLG is set to
|
||
; 'S', then:
|
||
; DIR *.COM A
|
||
;
|
||
; displays all COM files with both System and non-System attributes
|
||
; while:
|
||
; DIR *.COM S
|
||
;
|
||
; displays only COM files with the System attribute. Naturally:
|
||
;
|
||
; DIR *.COM
|
||
;
|
||
; displays only COM files with the non-System attribute.
|
||
;
|
||
SYSFLG EQU 'A'
|
||
SOFLG EQU 'S'
|
||
|
||
;
|
||
; The following equate causes ERA to confirm the files to be erased
|
||
; before it goes ahead and erases them. If ERAOK is TRUE, then the user
|
||
; will be prompted each time; if it is FALSE, then the user will not be
|
||
; prompted.
|
||
;
|
||
ERAOK equ FALSE
|
||
|
||
;
|
||
; If ERAOK is TRUE, the following equate adds a Verify option to the
|
||
; ERA command which causes the user to be prompted only if the Verify
|
||
; option letter, defined by ERDFLG, is given after the file name. If
|
||
; ERAV is TRUE, then the user will be asked to verify only when ERDFLG
|
||
; is contained in the command line; if ERAV is FALSE, the user will always
|
||
; be asked to verify.
|
||
;
|
||
; For example, if ERAOK is TRUE, ERAV is TRUE, and ERDFLG is 'V',
|
||
; then the command:
|
||
; ERA *.* V
|
||
; will result in the file names being displayed and the user being asked
|
||
; for verification. If the V option were not given, the user would not
|
||
; be asked for verification.
|
||
;
|
||
ERAV equ FALSE
|
||
ERDFLG equ 'V'
|
||
|
||
;
|
||
; The following equates set the paging parameters for the TYPE
|
||
; command.
|
||
;
|
||
; PGDFLT determines if TYPE pages by default. If PGDFLT is TRUE,
|
||
; then:
|
||
; TYPE FILE.TXT
|
||
;
|
||
; will be paged. If PGDFLT is FALSE, the above command will not be paged.
|
||
;
|
||
; PGDFLG defines the option character in the TYPE command line which
|
||
; is used to toggle the default set by PGDFLT. Assuming that PGDFLG is set
|
||
; to 'P', then:
|
||
; TYPE FILE.TXT P
|
||
;
|
||
; will page the file listing if PGDFLT is FALSE and not page it if PGDFLT is
|
||
; TRUE.
|
||
;
|
||
PGDFLT EQU TRUE
|
||
PGDFLG EQU 'P'
|
||
|
||
;
|
||
; The following equate defines the number of lines on the user's CRT
|
||
; screen for use by the TYPE command when it is paging. This value is usually
|
||
; 24.
|
||
;
|
||
NLINES EQU 24
|
||
|
||
;
|
||
; The following equate defines the option letter used with the
|
||
; SAVE command to indicate that the associated number is 128-byte sectors
|
||
; as opposed to 256-byte pages. For example, if SECTFLG is set to 'S', then:
|
||
;
|
||
; SAVE 25 FILE.BIN S
|
||
;
|
||
; save 25 128-byte sectors starting at location 100H into the file named
|
||
; FILE.BIN. IF the S option was not present, SAVE would have saved 25
|
||
; 256-byte blocks starting at location 100H into the file named FILE.BIN.
|
||
;
|
||
SECTFLG EQU 'S'
|
||
|
||
;
|
||
; 9. PATH DEFINITION
|
||
;
|
||
; The following equate specifies the address of the PATH to be followed
|
||
; for the PATH command-search if the PATH is to be initialized by the BIOS
|
||
; and set by the user via a PATH.COM program. The value of PATH should
|
||
; be the address of the PATH data area in memory. If the internal PATH
|
||
; provided by ZCPR3 is to be used, then PATHBASE should be equated to 0,
|
||
; which selects the PATH located just after the MEMLOAD routine. If the
|
||
; external PATH is to be used, then PATHBASE should be set to the address
|
||
; of the external path.
|
||
;
|
||
; A PATH is a series of byte-pairs, terminated by a binary 0. The first
|
||
; byte of each pair is the disk number (1-16 for disks A-P), and the second
|
||
; byte of each pair is the user number (0-31). The special character '$'
|
||
; indicates the current user or current disk. For example, the path
|
||
; from current disk/current user to current disk/user 0 to disk A/user 0
|
||
; is selected by the following sequence:
|
||
;
|
||
; DB '$$' ;current disk/user
|
||
; DB '$',0 ;current disk/user 0
|
||
; DB 1,0 ;disk A/user 0
|
||
; DB 0 ;end of path
|
||
;
|
||
IF EXPATH NE 0 ;External Path Selected
|
||
;
|
||
; This equate defines the base address of the external path
|
||
;
|
||
PATH equ EXPATH ;External ZCPR3 PATH at CBIOS Buffer Area
|
||
|
||
ELSE ;Internal Path Selected
|
||
;
|
||
; The following macro defines the n-element internal path
|
||
;
|
||
IPATH MACRO
|
||
db 'A'-'@','$' ;Disk A, Current User
|
||
db 'A'-'@',0 ;Disk A, User 0
|
||
db 0 ;End of Path -- MUST be here
|
||
ENDM
|
||
;
|
||
ENDIF
|
||
|
||
;
|
||
; The following flag enables ZCPR3 to perform an optimized path
|
||
; search when it is searching along a path for a file. If this equate
|
||
; is TRUE, ZCPR3 will build a path in memory of absolute entries (A1, B7, etc)
|
||
; from the symbolic path (one containing '$') which is the path it would
|
||
; otherwise use. This new path would contain no duplicate path elements,
|
||
; where a symbolic path analysis may. For example, if the path is:
|
||
;
|
||
; db 'A'-'@','$' ;disk A, current user
|
||
; db 'A'-'@',15 ;disk A, user 15
|
||
; db 0
|
||
;
|
||
; then if the user is logged into A15, setting the below equate to TRUE
|
||
; would allow ZCPR3 to build the path:
|
||
;
|
||
; db 'A'-'@',15 ;only one entry
|
||
; db 0
|
||
;
|
||
; in the analysis of this symbolic path, while with this equate FALSE,
|
||
; ZCPR3 may log into A15 as many as three times (once for the default
|
||
; and twice more for the symbolic path) in looking for a file which is
|
||
; not found before it gives up. Using this minimum path facility costs
|
||
; some code in ZCPR3, but it speeds up processing noticably in some cases.
|
||
;
|
||
; Enable this equate if MINIMUM PATH SEARCH is to be employed.
|
||
;
|
||
MINPATH EQU TRUE
|
||
|
||
;
|
||
; In searching for a file along a path, ZCPR3 can be commanded
|
||
; to always look in the current logged-in directory before beginning
|
||
; the path search. This equate controls this feature. If SCANCUR
|
||
; is set to TRUE, the current directory need never be referenced in
|
||
; a symbolic path expression (DB '$','$') since SCANCUR insures that
|
||
; the current directory is scanned.
|
||
;
|
||
; Enable this equate if the current DU is always to be scanned.
|
||
;
|
||
SCANCUR EQU TRUE
|
||
|
||
|
||
;
|
||
; 10. DU AND DIR CONTROLS
|
||
;
|
||
|
||
;
|
||
; The following equate enables the appearance of the current disk/user
|
||
; in the ZCPR3 prompt. If set to FALSE, the prompt appears as '>' (assuming
|
||
; > is the current value of CPRMPT). If set to TRUE, the prompt appears
|
||
; as 'd>' or 'dn>'. (see INCLNDR below)
|
||
;
|
||
INCLDU equ TRUE
|
||
|
||
;
|
||
; The following equate allows ZCPR3 to accept the DU: prefix or
|
||
; login form for input. Set this to TRUE if DU: prefix is to be allowed.
|
||
;
|
||
; Setting this equate to TRUE allows the following forms:
|
||
;
|
||
; A>B1:
|
||
; A>TYPE B4:FILE.TXT
|
||
; A>B:
|
||
; A>1:
|
||
;
|
||
ACCPTDU EQU TRUE
|
||
|
||
;
|
||
; This equate enables ZCPR3 to process DIR: forms internally
|
||
; through the memory-based named directory buffer. This equate and
|
||
; the NDBASE address should be TRUE (non-zero) in order to enable
|
||
; ZCPR3 to process named directories.
|
||
;
|
||
; If NDINCP is TRUE, the following forms are allowed:
|
||
;
|
||
; A>ROOT:
|
||
; A>TYPE TEXT:FILE.TXT
|
||
;
|
||
; if the other associated equates (below) are set correctly.
|
||
;
|
||
NDINCP EQU TRUE
|
||
|
||
;
|
||
; The following equate will cause the name of the current directory
|
||
; to be displayed as part of the prompt along with the DU form if enabled.
|
||
; (see INCLDU above)
|
||
;
|
||
; For example, if INCLNDR is TRUE, the prompt would look like:
|
||
;
|
||
; B7:TEXT> -- if INCLDU is also TRUE
|
||
; TEXT> -- if INCLDU is FALSE
|
||
;
|
||
INCLNDR EQU TRUE
|
||
|
||
;
|
||
; The following equate allows ZCPR3 to accept the DIR: prefix or
|
||
; login form for input. Set this to TRUE if DIR: prefix is to be allowed.
|
||
;
|
||
; Setting this equate to TRUE allows the following forms:
|
||
;
|
||
; A>ROOT:
|
||
; A>TYPE TEXT:FILE.TXT
|
||
;
|
||
ACCPTND EQU TRUE
|
||
|
||
;
|
||
; The following equate determines the hierarchy of DU:/DIR: evaluation.
|
||
; Set this to TRUE if DU: is to be tested for before DIR: or set this to
|
||
; FALSE if DIR: is to be tested for before DU:. If this is FALSE, named
|
||
; directories like C: (standing for C work area - NOT disk C) are permitted.
|
||
;
|
||
; Assuming that a directory for C programs, named 'C', and a root
|
||
; directory, named 'ROOT', exist, then if DUFIRST is set to FALSE:
|
||
;
|
||
; A>C: -- logs the user into the directory named 'C'
|
||
; A>ROOT: -- logs the user into the directory named 'ROOT'
|
||
;
|
||
; while if DUFIRST is set to TRUE:
|
||
;
|
||
; A>C: -- logs the user into disk C: (dir C can't be accessed)
|
||
; A>ROOT: -- logs the user into the directory named 'ROOT'
|
||
;
|
||
DUFIRST EQU FALSE
|
||
|
||
;
|
||
; Enable password check on named directory references. If a named
|
||
; directory is referenced and has a password associated with it, ZCPR3
|
||
; will ask the user for this password and approve the reference only
|
||
; if he gives a valid response. One and only one try is permitted.
|
||
; Setting this equate to TRUE will enable the password check facility.
|
||
;
|
||
PWCHECK EQU FALSE
|
||
|
||
|
||
;
|
||
; 11. COMMAND LINE BUFFER CONTROL
|
||
;
|
||
; The MULTCMD equate enables the feature of having more than
|
||
; one command on the same line, separated by a separation char
|
||
; which is defined by the CMDSEP equate. If this feature is
|
||
; enabled, the command line buffer and buffer pointers are
|
||
; moved outside of ZCPR3 at the indicated address of Z3CL.
|
||
;
|
||
; MULTCMD indicates if the ability to have more than one command
|
||
; on a line is to be enabled, and CMDSEP is the character used to separate
|
||
; these commands. For example, if CMDSEP is ';' and MULTCMD is TRUE, then
|
||
; commands like this are possible:
|
||
;
|
||
; ERA *.BAK;DIR
|
||
;
|
||
IF Z3CL NE 0
|
||
MULTCMD equ TRUE
|
||
ELSE
|
||
MULTCMD equ FALSE
|
||
ENDIF
|
||
CMDSEP equ ';'
|
||
|
||
|
||
;
|
||
; 12. CMDRUN -- ZCPR3 EXTENDED COMMAND PROCESSING FACILITY
|
||
;
|
||
; This equate enables the ZCPR3 CMDRUN facility. If CMDRUN is TRUE, then
|
||
; another stage of command processing is invoked should ZCPR3 fail to find
|
||
; a COM file when the user gives a command. This stage involves invoking
|
||
; the COM file specified by CMDFCB and giving it the current command line
|
||
; as an argument. In this way, if, say, M80 PROG2 fails as a command,
|
||
; a new command like LRUNZ M80 PROG2, SUB M80 PROG2, or ZEX M80 PROG2 may
|
||
; be processed. If the new command fails, an appropriate error message is
|
||
; given.
|
||
;
|
||
; The ROOTONLY option causes ZCPR3 to only look at the Root (bottom of
|
||
; path) for the Extended Command Processor if it is set to TRUE. If it
|
||
; is set to FALSE, the path is searched for the Extended Command Processor.
|
||
; The tradeoff here is that ROOTONLY = TRUE is less flexible but somewhat
|
||
; faster than ROOTONLY = FALSE.
|
||
;
|
||
CMDRUN equ FALSE ; Enable the Facility
|
||
|
||
if CMDRUN
|
||
ROOTONLY equ TRUE ; TRUE if look at Root Only for Extended
|
||
; Command Processor, FALSE if look along
|
||
; path
|
||
CMDFCB MACRO
|
||
db 0
|
||
db 'CMDRUN ' ;Name of Program
|
||
db 'COM' ;File Type
|
||
ENDM
|
||
endif ;CMDRUN
|
||
|
||
|
||
;
|
||
; 13. FLOW COMMAND FACILITY
|
||
;
|
||
; This equate enables ZCPR3 to respond to IF processing.
|
||
; ZCPR3 simply flushes commands if a FALSE IF is currently engaged.
|
||
; FCPs must be enabled for IFON to work correctly.
|
||
;
|
||
IFON EQU FALSE
|
||
|
||
|
||
;
|
||
; 14. MISCELLANEOUS EQUATES
|
||
;
|
||
MAXUSR EQU 31 ;MAXIMUM USER NUMBER ACCESSABLE
|
||
MAXDISK EQU 4 ;MAXIMUM NUMBER OF DISKS ACCESSABLE
|
||
|
||
SUPRES EQU TRUE ;SUPRESSES USER # REPORT FOR USER 0
|
||
|
||
SPRMPT EQU '$' ;CPR PROMPT INDICATING SUBMIT COMMAND
|
||
CPRMPT EQU '>' ;CPR PROMPT INDICATING USER COMMAND
|
||
|
||
NUMBASE EQU 'H' ;CHAR USED TO SWITCH FROM DEFAULT NUMBER BASE
|
||
|
||
CURIND EQU '$' ;SYMBOL FOR CURRENT DISK OR USER
|
||
|
||
COMMENT EQU ';' ;LINES BEGINNING WITH THIS CHAR ARE COMMENTS
|
||
|
||
;
|
||
; END OF ZCPR3 CUSTOMIZATION SECTION
|
||
;
|
||
|