home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
PROGRAMS
/
BKGRONDR
/
OCP145C.LBR
/
OCP.LZB
/
OCP.LIB
Wrap
Text File
|
2000-06-30
|
5KB
|
230 lines
;SYSOCP.LIB
RCPNM MACRO
DB 'OCP ' ;;name of the rcp plus a blank
ENDM
RCPID EQU 'A' ;identifies option set selected
;-----------------------------------------------------------------------------
; W H E E L E Q U A T E S
HBSWHL EQU TRUE ;Use high-bit-set wheel
;Change to TRUE or YES to wheel protect command
WCP equ TRUE ;CP
WDIR equ FALSE ;DIR
WERA equ TRUE ;ERA
WPORT equ TRUE ;PORT
WPROT equ TRUE ;PROT
WREG equ TRUE ;REG
WREN equ TRUE ;REN
WHRC equ FALSE ;H
WHEEL set WCP OR WDIR OR WERA OR WPORT
WHEEL set WHEEL OR WPROT OR WREG OR WREN OR WHRC
;-----------------------------------------------------------------------------
; COMMAND INCLUSION IN THE ASSEMBLED RCP
;Command switches set to TRUE or YES will be assembled
;Those set to FALSE or NO will be excluded
CPON EQU FALSE ;COPY
DIRON EQU FALSE ;DIRECTORY
ECHOON EQU TRUE ;ECHO
ERAON EQU FALSE ;ERASE
PORTON EQU TRUE ;PORT
PROTON EQU TRUE ;PROTECT
REGON EQU TRUE ;REGISTER
RENON EQU FALSE ;RENAME
SPACEON EQU TRUE ;SPACE
TSTON EQU FALSE ;TEST FOR PROGRAM ERROR
;-----------------------------------------------------------------------------
; C O M M A N D E Q U A T E S
; *** NOTE ***
;
; If HBSWHL is true, the names of the commands are hard-coded into RCP14x.ASM
; and must be changed there if you wish to change the names from the default
; names below.
CMDLEN EQU 6 ;length of command names
;------------------------------ RCP HELP COMMAND
IF NOT HBSWHL
HELPCMD MACRO ;help command name
DB 'H '
ENDM
ENDIF
NOSHOW EQU TRUE ;true to suppress listing commands
;that are wheel-restricted when wheel
;byte is off (hbswhl=true only)
;------------------------------ COPY COMMAND
IF NOT HBSWHL
CPCMD MACRO ;name for copy command
DB 'CP '
ENDM
ENDIF
CPBLOCKS EQU 128 ;USE 16K FOR BUFFERING OF COPY
COPYTOP EQU TRUE ;USE TOP OF TPA AS COPY BUFFER
;------------------------------ DIR COMMAND
IF NOT HBSWHL
DIRCMD MACRO ;name for directory command
DB 'DIR '
ENDM
ENDIF
NOSYS EQU TRUE ;true to suppress 'A' and 'S' options
;when wheel is off
SLASHCHK EQU TRUE ;true to allow "DIR /S" or "DIR /A"
;formats (costs about 12 bytes)
SYSFLG EQU 'A'
SOFLG EQU 'S'
SORTNT EQU TRUE
WIDE EQU TRUE
FENCE EQU '|'
;------------------------------ ECHO COMMAND
IF NOT HBSWHL
ECHOCMD MACRO ;name for echo command
DB 'ECHO'
ENDM
ENDIF
ECHOLST EQU TRUE
XECHO EQU TRUE ;true to use extended echo commands
UPCASE EQU TRUE ;true to default to upper case output
UCASECH EQU '<' ;char after '%' to shift to upper case
LCASECH EQU '>' ;char after '%' to shift to lower case
;------------------------------ ERASE COMMAND
IF NOT HBSWHL
ERACMD MACRO ;name for erase command
DB 'ERA '
ENDM
ENDIF
;------------------------------ PORT COMMAND
IF NOT HBSWHL
PORTCMD MACRO ;name for port command
DB 'PORT'
ENDM
ENDIF
;------------------------------ PROTECT COMMAND
IF NOT HBSWHL
PROTCMD MACRO ;name for protect command
DB 'PROT'
ENDM
ENDIF
;------------------------------ REGISTER COMMAND
IF NOT HBSWHL
REGCMD MACRO ;name for register command
DB 'REG '
ENDM
ENDIF
SETERR EQU TRUE ;copy new reg value to pgm error flag
;------------------------------ RENAME COMMAND
IF NOT HBSWHL
RENCMD MACRO ;name for rename command
DB 'REN '
ENDM
ENDIF
;----------------------------- DISK SPACE COMMAND
IF NOT HBSWHL
SPACECMD: MACRO
DB 'SP ' ;NAME OF SPACE COMMAND
ENDM
ENDIF
DIRSP EQU TRUE ;show space after dir
ERASP EQU TRUE ;show space after era
CPSP EQU TRUE ;show space after cp
;------------------------------ ERROR TESTING COMMAND
IF NOT HBSWHL
TESTCMD MACRO ;name for error testing command
DB 'TST '
ENDM
ENDIF
TESTM80 EQU TRUE
TESTF80 EQU FALSE
TESTZAS EQU TRUE ;obsolete for recent versions of ZAS
;-----------------------------------------------------------------------------
;This is the MACRO that builds command jump table
;entries. It includes/excludes entries as selected
;in the COMMAND INCLUSION section, setting the high
;bit of the first character of the command name if
;the command is specified to be wheel-sensitive in
;the WHEEL EQUATES section.
COMMAND MACRO N1,TRAIL,INCL,RESPOND,ADDR
;;N1 is the first character of the command name
;;TRAIL is a QUOTED string containing the rest of
;; the characters in the command name, padded with
;; trailing blanks until the number of characters
;; in TRAIL is CMDLEN - 1.
;;INCL is one of the defined switches from the
;; COMMAND INCLUSION section, or true/false/yes/no
;;RESPOND is one of the switches defied in the
;; WHEEL EQUATES section, or true/false/yes/no
;;ADDR is the label (in the .ASM file) of the
;; routine which implements the command
IF INCL ;;INCLUDE THIS COMMAND?
;;for ZAS, byte quantities are declared with [...]
IF ZAS ;;defined in Z3BASE
DB '&N1' OR [80H AND RESPOND]
ELSE
;;other assemblers can use this form
DB '&N1' OR RESPOND AND 80H
ENDIF
DB TRAIL
DW ADDR
ENDIF
ENDM