CCP+ is a CP/M Plus CCP replacement. It is a result of dissasembling the CCP supplied with CP/M Version 3.0 and modifying the resultant source code for use in an RCP/M system. Because most of the code is copyright by Digital Research, only registered users of CP/M Plus may use this CCP replacement. This CCP includes the following changes: 1. All built-in commands have been removed. None are needed since Digital Research supplies the equivalent transient commands with CP/M 3. The user number is changed by entering u: at the system prompt, where u is the new user number. 2. It is not necessary for .COM and .SUB files to have the SYS attribute to be accessable from other user areas. The CCP searches user 0 (if the current user number is non-zero) after the current user number is searched for each drive in the command search path. 3. Commands of the form du:command or ud:command or u:command are allowed. 4. The display of the user/drive in the system prompt has been reversed to be consistent with ZCPR. 5. If the command or submit file to be executed is password protected and the correct password is not supplied or the default password does not match, a "Password:" prompt appears and the user is given one chance to enter the correct password. 6. The time (in the format [HH:MM]) is displayed at the system prompt. This can optionally be turned off. Also, for RCP/M systems, the caller's connect time instead of the current time can optionally be displayed at the system prompt. 7. The CCP checks for the presence of a BYE RSX, and if BYE is active, stop/start scroll support is turned off. All RCPM listing utilities monitor ^S input, so the BDOS should not monitor console input during console output in an RCPM system. The CCP uses function 60 (RSX function 4) to test for BYE active. My version of BYE returns 0 in register A. If this function reaches the BDOS, 0FFH is returned. Checking for BYE active can optionally be turned off. 8. The CCP uses offset +9 in the System Control Block to pass the user number of the file to load in conjunction with function 59. The value passed is user number+1, with 0 = current user number. The Loader resets this value to 0. Transient programs can set SCB+9 to load files from different user numbers. 9. If a .COM or .SUB file cannot be found, the message "command not found" is displayed. 10. Named directories are implemented (similar to ZCPR). If directory names were loaded via SETDIR, the name of the drive/user is displayed. The CCP also calls any active LBR RSX's to display their Library names. The display of directory names can be turned on or off by using the DIRNAME utility. The directory name file (ROOT.DIR) can be created using your favorite editor. Use the sample supplied for syntax. The CCP supports password protected directories. To log into a named directory, simply enter its name as a command with an optional password, and if it is password protected, and the correct password was not supplied, a password will be prompted. 11. Full support of the ZCPR wheel byte is implemented including MAXDRIVE, MAXUSER, and WHEEL. If the wheel byte is set, access is allowed to any named directory without regard to password protection or the settings of max drive and user. If the wheel byte is zero, access is denied to out-of-bounds drive and user areas as determined by MAXDRIVE and MAXUSER. To log into an out-of-bounds area when the wheel byte is zero, you must enter the name of the target directory, then if it is password protected, supply the correct password. If this is successfull, the MAXDRIVE and MAXUSER locations are modified to reflect the extended access. 12. A Cmdrun facility similar to the ZCPR LRUN command, which executes commands from a library has been implemented. CMDRUN can load any CP/M+ command file from COMMAND.LBR including .COM, .SUB and .PRL files. CMDRUN is invoked automatically if the CCP cannot find the required command, and CMDRUN in turn, searches for COMMAND.LBR using the drive search chain, and follows the filetype search order as set by SETDEF for selecting members once COMMAND.LBR has been found. Note that the cmdrun facility can be optionally selected. The following options can be selected by using setting them to YES in the file CCPHDR.MAC: YESLBR EQU NO Yes, to allow library command processor to be loaded and run if the command cannot be found. WHLLBR EQU NO Yes, to check Wheel byte before running library command processor. No effect unless YESLBR is YES. If yes, the library command processor will only be run if the wheel byte is 0FFH. EXPAND EQU NO Yes, to expand the users universe if the Wheel byte is zero and the user enters the name of an out of bounds directory and is successfully taken there. This will cause the MAXDRV and MAXUSER bytes to be updated to the expanded access. BYECHK EQU NO Yes, to check for presence of BYE, and if BYE is active, to disable flow-control checking (XON/XOFF). For this to be effective, BYE509 or newer must be present and CCPPLUS set to YES in BYE. NOXOFF EQU NO Yes, to always disable flow-control (XON/XOFF). Should be left NO, except with an older version of BYE. If set yes, then there is no way to pause output from most non-RCPM utilities. TIME EQU NO Yes, to display current time at the system prompt in the form [HH:MM]. But see TIMEON below. TIMEON EQU NO Yes, to display caller's connect time instead of current time at the system prompt. Both TIME and TIMEON must be set yes. Only effective with BYE509 or newer. Reverts to display current time if BYE is not active. YESPRL EQU NO Yes, to allow loading of MP/M PRL (page relocatable) files. Leave this NO unless you have MP/M specific programs. You can use SID or EDFILE to modify the following locations in CCP.COM: 3E0H: FCB for locating and loading the library command processor as follows: 3E0H: User number+1. 0 = use default user number. 3E1H: Drive code+1. 0 = use drive search chain. 3E2H: File name (must be exactly 11 bytes). The current file name is 'CMDRUN COM' (CMDRUN.COM). I have been using the CCP in the Meadowlark RCPM for over 3 years. It offers ZCPR-like capabilities which most callers are used to, and also allows the Sysop and privaleged users to easily use password protected commands. If you make use of CCP+, and have any comments or suggestions, call the above RCPM at 403-435-6579 @ 300/1200 baud, or voice at 403-437-2591. Jul 14, 1986 Jim Lopushinsky Edmonton, Alberta, Canada