CFOG's PIP, May 1987, Volume 5 No. 7, Whole No. 55, page 3

XCCP Console Command Processor

by Clarence Heier

The Console Command Processor (CCP) in CP/M is the part of CP/M that processes the commands that you enter via the keyboard. Although not difficult to use, the CCP has been replaced with a new command processor called ZCPR on many systems. ZCPR gives a system many advantages over the standard CCP but doesn't go as far as it could in making the CCP easy to use and a bit more user friendly.

Recently, in my BBS travels, I ran across a strange file called XCCP. It was quite short so I downloaded.it and gave it a try on my system. It turns out that XCCP goes a lot further than ZCPR in making the CCP more useful and miles beyond the standard CCP that accompanies CP/M. Some of the features:

Command Recall -- Commands previously issued since the last cold boot can be recalled and executed again. Thus the complicated command line issued 5 commands ago can be found and re-executed very simply. The commands are all stored in a circular buffer and can be called up with standard WordStar commands (^E and ^X). Once they are on the command line a simple return will execute them. This makes it very easy to repeatedly execute complicated command lines.

Command Line Editing -- Both recalled commands and newly entered commands can be edited quite easily. Characters can be inserted or deleted anywhere on the command line. If the system doesn't execute the command just entered because it isn't spelled right, XCCP will tell you that it doesn't recognize the command and then give you a chance to correct the line. Again all editing commands are standard WS commands.

Command Recognition -- A list of all possible commands or filenames matching a partially typed command line can be displayed with a single keystroke without destroying the current command line. It is not necessary to retype a command line to list a directory because you forgot a filename. If no command line has been started a list of all possible commands will be displayed.

Command Completion -- If a partially typed command line has only a single matching command or filename, the rest of the line will be filled in automatically. Therefore only enough of a command to uniquely identify a particular command must be typed in. If NSWP207.COM is the only file on the disk that starts with N, then only N need be typed. Hitting the ESC key will complete this command.

Wildcard Recognition -- Wildeards can be used in command lines. If more than one match is found all possibles are listed. If only one match is found the line is completed automatically and the command is executed.

Multiple Commands Per Line -- A command line may consist of up to 127 characters. All commands on the command line will be executed sequentially. All that is required is that a ; be used to separate the various commands.

Automatic Search Path -- If you are logged onto another drive or user area and you enter a command, user area 0 of the A: drive is searched if the command cannot be found on the currently logged user area or drive. This makes it unnecesssary to duplicate utilities.

Drive and User Area Specification -- Currently logged disk and user area is displayed at the prompt. Drives and user areas can be changed individually or together with the same command. Thus 15: will change the user area on the current drive to 15, and A0: will change to drive A user area 0.

No Involuntary Warm Boots -- Warm boots are only performed when a ^C is entered. All others are trapped. This speeds the return from a program. The ^C can be entered anytime, even in the middle of a command line.

Exit to Standard CCP - A ^Y will return you to the standard CCP if this is ever desired.

All this is not without disadvantages. The biggest disadvantage is that all built in CP/M commands are deactivated (DIR, ERA, REN, SAVE, TYPE, USER). DIR, ERA, and TYPE can be replaced with better ones from the Public Domain. USER is no longer necessary as XCCP takes care of this function. A program called REN.COM accompanies XCCP.LBR. One can easily exit XCCP to make use of the SAVE command for those occasions when this is necessary. Another disadvantage is that XCCP will not fit into the area provided in CP/M. About 2k of TPA (transient program area) is lost by invoking XCCP. This is not a problem for most programs but may be noticable with a spreadsheet or another program that takes up all the available TPA. SUBMIT and other programs like this will not work with XCCP. This isn't too large a problem as the multiple commands per line feature takes care of many applications of SUBMIT.

I have used ZCPR for some time, but have almost completely switched over to XCCP and eliminated ZCPR from my disks. I recommend trying it particularly if you've been tempted to try ZCPR and don't feel that you can get it installed.

Credits

Clarence Heier's article on XCCP comes to us compliments of the Quad City All Computer User's Group newsletter. Thanks.