;  SYSTEM SEGMENT:  SYS4.RCP (for RCP/M Application)
;  SYSTEM:  ZCPR3
;  WRITTEN BY:  RICHARD CONN

;
;  PROGRAM HEADER:  SYSRCP.LIB
;  AUTHOR:  RICHARD CONN
;

;
;       This program header selects the commands to be incorporated into
; SYS.RCP.  It also allows selection of some options for these commands.
;

;
;   0. ID
;
;       The following ID is a single character, displayed as a part of
; the RCP ID, which distinguishes this RCP from others made from the same
; base file (SYSRCP.ASM).
;
RCPID   EQU     'R'

;
;   1. CP COMMAND
;       TRANSIENT COUNTERPART: MCOPY
;
;       The following equate determines if the CP command is made available.
; Setting this equate to TRUE enables the CP command.
;
;       The CP command copies one file from one DU to another or into the
; same DU under a different name.  The syntax is:
;
;               CP dir:ufn=dir:ufn
;
;       Examples:
;               CP f1.txt=f2.txt
;               CP a15:=f1.txt
;               CP a15:f2.txt=c5:f1.txt
;
CPON            EQU     TRUE

;
;   2. DIR COMMAND
;       TRANSIENT COUNTERPART: DIR, XD, XDIR
;
;       The following equate determines if the DIR command is made available.
; Setting this equate to TRUE enables the DIR command.
;
;       The DIR command displays the directory of files in alphabetical order
; across the lines to the user.  The syntax is:
;
;               DIR dir:afn
;
;       Examples:
;               DIR b7:
;               DIR root:*.com
;
DIRON           EQU     FALSE

;
;       The DIR command allows two options.  One is a flag to tell it
; to look at both System and Non-System files, and the other is a flag
; to tell it to look only at System files.  By default, DIR looks at
; Non-System files.
;
;       SYSFLG defines the character used to instruct DIR to look at
; both System and Non-System files.  The recommended value is 'A' for All.
;
;       SOFLG defines the character used to instruct DIR to look at
; only System files.  The recommended value is 'S' for System.
;
SYSFLG          EQU     'A'
SOFLG           EQU     'S'

;
;       The following equate determines if the directory displays are
; sorted by filename and filetype or by filetype and filename.  Set SORTNT
; to TRUE to sort by name and type, FALSE to sort by type and name.
;
SORTNT          EQU     TRUE

;
;       The following equates define some features of the directory display.
; If WIDE is TRUE, the file names are spaced farther abort; if WIDE is FALSE,
; they are closer together (for a 64-column display).  FENCE defines the
; character used to separate the file name entries in the display.
;
WIDE            EQU     TRUE
FENCE           EQU     '|'

;
;   3. ERA COMMAND
;       TRANSIENT COUNTERPART: ERASE
;
;       The following equate determines if the ERA command is made available.
; Setting this equate to TRUE enables the ERA command.
;
;       The ERA command erases files.  The syntax is:
;
;               ERA dir:afn
; or:
;               ERA dir:afn I   -- Inspect
;
;       Examples:
;               ERA b7:*.bak
;               ERA text:*.tmp i
;
ERAON           EQU     TRUE

;
;   4. LIST and TYPE COMMANDS
;       TRANSIENT COUNTERPART: PRINT and PAGE
;
;       The following equate determines if the LIST and TYPE commands are
; made available.  Setting this equate to TRUE enables these commands.
;
;       The LISTON equate can disable the LIST command without affecting the
; TYPE command.
;
;       The TYPE command displays a group of files on the CRT while the
; LIST command prints a group of files on the Printer.  The syntax is:
;
;               TYPE dir:afn  -or-  LIST dir:afn
;
;       Examples:
;               TYPE b7:*.asm
;               LIST text:*.txt
;
LTON            EQU     TRUE
LISTON          EQU     TRUE

;
;       TYPE can be made to page or not page by default.  If PGDFLT is
; TRUE, TYPE pages by default and does not page if the PGFLG character
; (recommended to be 'P') is used.  If PGDFLT is FALSE, TYPE pages only
; when the PGDFLG character is seen in the command line.
;
PGDFLT          EQU     TRUE
PGDFLG          EQU     'P'

;
;       NLINES defines the number of lines on the user's CRT screen.
; This is usually 24.
;
NLINES          EQU     24


;
;   5. PEEK and POKE COMMANDS
;       TRANSIENT COUNTERPART: None (Subset of DDT)
;
;       The following equates determine if the PEEK and POKE commands are
; made available.  Setting these equates to TRUE enables these commands.
;
;       The PEEK command allows the user to examine a chunk of memory.
; If the user simply types "P" with no address, the next 256 bytes of
; memory are displayed.  If the user types "P address", 256 bytes of memory
; starting at the indicated address are displayed.  If the user types
; "P addr1 addr2", memory in this address range is displayed.  The syntax:
;
;               P
; or:
;               P address
; or:
;               P addr1 addr2
;
;       The POKE command allows the user to change the content of memory.
; The user must specify an address to POKE, and two basic forms are allowed:
;
;               POKE address val1 val2 ... valn
; and:
;               POKE address "character string
; The two forms may be intermixed with leading values and a trailing character
; string:
;               POKE address val1 val2 ... valn "character string
;
;       Examples:
;               P
;               P f400
;               P f400 f425
;               POKE f400 0 1 2
;               POKE f400 "this is a test
;               POKE f400 1 2 3 "hello, world
;
PEEKON          EQU     TRUE
POKEON          EQU     TRUE

;
;   6. PROT COMMAND
;       TRANSIENT COUNTERPART: PROTECT
;
;       The following equate determines if the PROT command is made available.
; Setting this equate to TRUE enables the PROT command.
;
;       The PROT command sets the file protection attributes for a group of
; files.  The R/O and System attributes may be set with the R and S options,
; resp, given in any order as "RS" or "SR".  Omission of one of these options
; toggles the opposite (ie, omission of R makes the files R/W).  The syntax:
;
;               PROT dir:afn
; or:
;               PROT dir:afn R
; or:
;               PROT dir:afn S
; or:
;               PROT dir:afn RS  -or-  PROT dir:afn SR
;
;       Examples:
;               PROT b7:*.com rs
;               PROT text:*.txt
;
PROTON          EQU     FALSE

;
;   7. REN COMMAND
;       TRANSIENT COUNTERPART: RENAME
;
;       The following equate determines if the REN command is made available.
; Setting this equate to TRUE enables the REN command.
;
;       The REN command changes the name of one file to another.  The syntax:
;
;               REN dir:ufn1=ufn2
;
;       Examples:
;               REN newfile.txt=oldfile.txt
;               REN root:sys.rcp=sys1.rcp
;
RENON           EQU     TRUE

;
;   8. The REG COMMAND
;       TRANSIENT COUNTERPART: REG
;
;       The following equate determines if the REG command is made
; available.  Setting this equate to TRUE enables the REG command.
;
;       The REG command forms are:
;               REG D or REG    = display values of all registers
;               REG Mreg        = subtract 1 from register (Minus)
;               REG Preg        = add 1 to register (Plus)
;               REG Sreg value  = set value of indicated register
;
;       A register is a ZCPR3 register buffer, indicated by a digit from
; 0 to 9.
;
;       Examples:
;               REG S0 4        -- reg 0 = 4
;               REG S5          -- reg 5 = 0
;               REG P           -- reg 0 = reg 0 + 1
;               REG P5          -- reg 5 = reg 5 + 1
;               REG M9          -- reg 9 = reg 9 - 1
;               REG D           -- show values
;               REG             -- show values
;
REGON           EQU     FALSE


;
;   9. WHL COMMAND
;       TRANSIENT COUNTERPART: WHEEL
;
;       The following equate determines if the WHL command is made available.
; Setting this equate to TRUE enables the WHL command.
;
;       The WHL command is used to turn off the Wheel Byte (make the user
; non-priveleged) or to turn on the Wheel Byte (make the user priveleged).
; The syntax is:
;
;               WHL             -- make user non-priveleged
; or:
;               WHL password    -- make user priveleged
;
;       Also, this equate enables the WHLQ command, which displays the
; state of the Wheel Byte.  The syntax is:
;
;               WHLQ
;
;       Examples:
;               WHL
;               WHL mypass
;               WHLQ
;
WHLON           EQU     FALSE

;
;       The following equate defines the password to be used by the WHL
; command.  It must always be 8 bytes long (trailing spaces allowed) and
; must be upper-case.
;
WPASS   MACRO
       DB      'SYSTEM  '      ;8 characters
       ENDM

;
;       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.
;
;       These options will only be effective if a Wheel Byte is Defined
; (Z3WHL NE 0)
;
WCP     equ     TRUE    ;Make CP   a Wheel-Oriented Command
WDIR    equ     FALSE   ; "   DIR  "  "       "       "
WERA    equ     TRUE    ; "   ERA  "  "       "       "
WLIST   equ     TRUE    ; "   LIST "  "       "       "
WPEEK   equ     TRUE    ; "   PEEK "  "       "       "
WPOKE   equ     TRUE    ; "   POKE "  "       "       "
WPROT   equ     TRUE    ; "   PROT "  "       "       "
WREG    equ     FALSE   ; "   REG  "  "       "       "
WREN    equ     TRUE    ; "   REN  "  "       "       "
WTYPE   equ     FALSE   ; "   TYPE "  "       "       "

WHEEL   set     WCP OR WDIR OR WERA OR WLIST OR WPEEK OR WPOKE
WHEEL   set     WHEEL OR WPROT OR WREG OR WREN OR WTYPE


;
;  10. NOTE COMMAND
;       TRANSIENT COUNTERPART: NOTE
;
;       NOTE is simply a NOP (do nothing) command which can be used
; to place comments into multiple command lines.  For instance, in the
; following line:
;
;               dir *.com;note this is a dir display;era *.bak
;
; the DIR and ERA commands perform normally, and NOTE simply does
; nothing very efficiently.
;
;       Setting the following equate to TRUE enables the NOTE Command.
;
NOTEON  EQU     FALSE


;
;  11. ECHO COMMAND
;       TRANSIENT COUNTERPART: ECHO
;
;       The following equate enables the ECHO command.
;
;       ECHO is useful in issuing both messages (to the user, say within
; a command file during execution) and escape sequences.  ECHO can send its
; output to the console (by default) or to the printer (if the first non-
; blank character is a dollar sign).  It uses BIOS calls, so all control
; characters are passed exactly.  Hence, console-level programming of such
; devices (CRTs and Printers) is possible.
;
;       The ECHOLST equate determines if ECHO is allowed to direct its output
; to the printer.  If ECHOLST is TRUE, ECHO may direct its output to the
; printer via the $ prefix character in the text.
;
ECHOON  EQU     TRUE
ECHOLST EQU     FALSE

;
;  END of SYS.RCP CUSTOMIZATION
;