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
/
ENTERPRS
/
CPM
/
UTILS
/
A
/
CCP105P.ARC
/
CCPHDR.MAC
< prev
next >
Wrap
Text File
|
1986-10-17
|
6KB
|
151 lines
; Modified CCP for CP/M version 3.1
;
; This CCP is intended to overcome some of the shortfalls of the CCP supplied
; with CP/M Plus. It is especially useful in an RCP/M environment. See the
; accompanying CCP+.DOC DOCfile for more details.
;
; This is the modified dissasembled version of the CCP.
;
; Jim Lopushinsky, Edmonton, Alberta, Canada
; (403) 435-6579 @ 300/1200 bps
;
;Feb 3/85 Released to public domain
;Feb 8/85 Incorporated DRI CCP patch #2
;Feb 20/85 Fixed ZCPR maxdrv compare variable
;Feb 20/85 Init MAXDRV,MAXUSR, and WHEEL bytes on cold boot.
;May 21/85 Converted Select drive to BDOS calls
;Sep 8/85 Added Library Command run facility (Thanks to Richard Saeks)
;Nov 4/85 Added EXPAND equate for expanding universe, flag bit mnemonic
; equates, WHLLBR equate which will only allow running of the
; library processor (ie: CMDRUN.COM) if the wheel byte is set,
; boot equates for MAXDRV, WHEEL and MAXUSR, and PRINT0 equate
; for printing user number in prompt if the user number is zero.
; - Stuart Rose
;Nov 6/85 Removed PRINT0 equate. User number is always displayed if
; user 0. Changed WHLLBR and EXPAND as option bits to eliminate
; the need for reassembly to change options.
;
;Sep 1986 Put in print0 equate so that I can optionally not display
; the user number when it is zero. Put in makecolon flag
; to modify program return code to be useable with a
; "make" program. Added ccphistory flag that will add a
; Unix (tm of AT&T) -style "history" mechanism.
; - Mike Kersenbrock
;
;
;
.z80
aseg
no equ 0
yes equ 0ffffh
drvoff equ 'A' ; drive offset
usroff equ 1 ; user offset
;------------------------------------------------------------------------------
;The following equate determines whether the CCP or CMDRUN library processor
;is assembled.
ccp equ yes ;yes=CCP, no=CMDRUN
;------------------------------------------------------------------------------
;The following equate determines whether the CCP has UNIX (tm of AT&T) csh-like
;history handling enabled.
ccphistory equ yes ;yes=history, no=plain-jane ccp
;------------------------------------------------------------------------------
;When enabled, this option will make colon'd commands NOT execute when the
;return code is ff00-ffff. Also, the code will NOT be reset unless it is
;a cold boot.
makecolon equ yes ;yes="make" will work, no=orig version
;------------------------------------------------------------------------------
;When yes, the user number is ALWAYS printed in a prompt. When no, user number
;is not printed when it is zero.
print0 equ no ;yes=always print user nr
;------------------------------------------------------------------------------
; The following option determines whether or not the library command processor
; should be invoked when a command is not found, depending on the status of
; the WHEEL byte. By including with the flag byte, the CCP will check the
; WHEEL byte and only invoke the library command processor if set. If not set
; then the WHEEL byte is ingored and only the "yeslbr" bit is checked (Note:
; for this equate to have any affect, you must set the "yeslbr" bit in the
; "flags" byte).
whllbr equ NO ; Yes, check wheel byte before running
; library command processor
;------------------------------------------------------------------------------
; The following option determines whether or not your user-area universe
; should expand. Generally, your universe is set by the MAXDRV and MAXUSR
; bytes in the system page (page 0). However, if you are a wheel user (the
; WHEEL byte set), you may be able to gain access to user-areas outside this
; universe. If this occurs, your universe can be expanded to include these
; new user-areas (these new values are written back to MAXDRV and MAXUSR).
expand equ NO ; Yes, change MAXDRV & MAXUSR
;------------------------------------------------------------------------------
; The following are the value that MAXDRV, WHEEL and MAXUSR are set to upon a
; bootstrap.
mydrv equ 'P' - drvoff ; maximum drive
mywhl equ 0ffh ; 0=NO WHEEL, 0FFH=WHEEL
myusr equ 15 + usroff ; maximun user number
;------------------------------------------------------------------------------
; These are mnemonic for the flag byte
time equ NO ; Yes, display time in prompt
byechk equ NO ; Yes, check for BYE RSX
noxoff equ NO ; Yes, disable flow control XON/XOFF (^Q/^S)
yesprl equ NO ; Yes, allow PRL files
yeslbr equ YES ; Yes, allow library command processor
timeon equ NO ; Yes, display time-on-system instead of
; current time if BYE active.
;------------------------------------------------------------------------------
tpa equ 0100H ; transient program area starts here
ccporg equ 03E0H ; start of ccp
;------------------------------------------------------------------------------
if not ccp
ccphistory equ no
endif
;------------------------------------------------------------------------------
org tpa ; start at tpa
jp start ;go past loader
;
db 0 ;Dummy byte
loadlen:
ds 2 ;Length of Loader module
;.......
;
;Library command processor FCB. The FCB can be modified using SID or EDFILE
;(starting at CCPORG)
org ccporg ;Room for loader module
crname:
db 0 ;User number + 1 (0 = Default) CCPORG
db 0 ;Drive + 1 (0 = use drive search chain) CCPORG+1
db 'CMDRUN COM' ;Library processor file name CCPORG+2
; ^^^^^^^^^^^ Must be 11 bytes long
include CCP105.MAC
end
ry command proc