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.
367 lines
10 KiB
367 lines
10 KiB
; SYSTEM SEGMENT: SYS3.RCP
|
|
; 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 'C'
|
|
|
|
;
|
|
; 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 FALSE
|
|
|
|
;
|
|
; 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 TRUE
|
|
|
|
;
|
|
; 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 FALSE ; " 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 TRUE
|
|
|
|
|
|
;
|
|
; 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
|
|
;
|
|
|