; SYSTEM SEGMENT: SYS1.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 'A' ; ; 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 TRUE ; ; 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 FALSE ;Make CP a Wheel-Oriented Command WDIR equ FALSE ; " DIR " " " " WERA equ FALSE ; " ERA " " " " WLIST equ FALSE ; " LIST " " " " WPEEK equ FALSE ; " PEEK " " " " WPOKE equ FALSE ; " POKE " " " " WPROT equ FALSE ; " PROT " " " " WREG equ FALSE ; " REG " " " " WREN equ FALSE ; " 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 TRUE ; ; END of SYS.RCP CUSTOMIZATION ;