home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
xccp
/
xccp.doc
< prev
next >
Wrap
Text File
|
1994-07-13
|
12KB
|
367 lines
X C C P
Version 1.0
An Extended Console Command Processor
for
CP/M-80
1.0 INTRODUCTION
XCCP is a substitute console command processor (CCP) for Digital
Research Inc.'s CP/M-80 operating system. XCCP provides additional
functions not provided in the "stock" CP/M CCP at the expense of the
loss of a small portion (1 Kbyte) of the transient program area (TPA).
The memory lost in this way is not usually important on systems having
64K bytes of memory.
1.1 ADDED FUNCTIONALITY
XCCP provides the following features not provided by the distributed
CP/M CCP.
1.1.1 COMMAND RECALL
Up to approximately 240 characters of previous commands may be
recalled for re-issue with a single keystroke.
1.1.2 COMMAND LINE EDITING
Both recalled commands and newly entered commands may be edited using
cursor control keys and dual mode (insert/overstrike) character
insertion. Characters may be deleted anywhere on the command line.
1.1.3 COMMAND RECOGNITION
A list of possible commands or filenames matching a partially typed
command line can be displayed with a single keystroke without
destroying the current command. No more aborting a command to list
your directory because you forgot an obtuse filename.
If no command has been started, a list of all possible commands that
may be issued from the current user area is displayed.
1.1.4 COMMAND COMPLETION
If a partially typed command has only a single possible matching
command or filename, the rest of the command may be filled in on the
command line automatically, in most cases eliminating the need to type
long commands out in their entirety.
1.1.5 WILDCARD RECOGNITION
Filenames on the command line may contain wildcard characters, and
with a single keystroke, all possible matches can be displayed. This
is useful, for example, if you have forgotten the file name, but
remember the file type. If only one match is found, it is inserted on
the command line in place of the wildcarded filename.
1.1.6 MULTIPLE COMMANDS PER LINE
Multiple commands, up to 127 characters, may be issued on a single
command line for sequential execution by separating the individual
commands with a special delimiting character.
1.1.7 AUTOMATIC SEARCH OF DISK A USER AREA 0
If a command is not found in the current user area, user area 0 on
disk A is automatically searched.
1.1.8 DISK AND USER SPECIFICATION
Changing user area and disk are accomplished with the same syntax,
eliminating the need for the cumbersome USER command. Additionally, a
user number may optionally be included in the command (with or without
a disk designator), causing that user area to be searched for the
command instead of the current user area.
1.1.9 NO INVOLUNTARY WARM RESTARTS
Return to the CCP from an application program is much faster under
XCCP, since warm restarts are only performed upon user request. A
control-C may be entered at any time, even in the middle of a command
line, resetting the disk system without disrupting the command in
progress.
1.1.10 EXIT TO STANDARD CP/M CCP
A single keystroke returns control to the standard CCP, although this
is unlikely to be desirable except when it is necessary to perform a
SAVE operation.
1.1.11 USER NUMBER DISPLAYED IN PROMPT
The current CP/M user area number is displayed in the XCCP prompt as a
constant reminder.
2.0 XCCP COMMANDS
To invoke XCCP, simply type XCCP as you would for any CP/M program.
Optionally, an XCCP command line may be included in the invocation.
Example: A>XCCP B15:;FIND MAST.LST MDM712
2.1 RECOGNITION AND COMPLETION
The ESC (Escape, ASCII 27 decimal) key may be used whenever you are
unable to recall the exact spelling of a command or filename, or
simply to avoid typing long commands or filenames in their entirety.
After ESC is entered, the characters on the command line between the
cursor and the first preceeding space are used to search for a
matching file on the appropriate disk and user (Disk A, user 0 is
searched if the characters being used for the match are the first word
of the command line). If more than one file is found, the matching
files are listed, and the command redisplayed for user action. If
only one match is found, the command is filled in with that file or
command. The cursor is left at the end of the command, for further
user input. You may hit RETURN at this point to issue the command.
2.2 COMMAND RECALL
Commands are maintained in a circular buffer in memory. That is, when
the end of the list is reached, the next command displayed will be the
first one again. The WORDSTAR arrow keys (^E for uparrow, ^X for
downarrow) are used to move about within the recall command buffer.
The uparrow will redisplay commands issued before the displayed
command, while the downarrow will display commands issued after the
command currently displayed. In both cases, if the end of the buffer
is reached, the cycle simply starts over.
If, after perusing the recall command buffer, you can't find the
command you want, and none of the ones there are close enough to
warrant editing, you can cancel the currently displayed command with
^U.
2.3 COMMAND LINE EDITING
The WORDSTAR arrow keys (^S for leftarrow and ^D for rightarrow) can
be used at any time to move the cursor about on the command line.
Once the cursor is positioned, characters may be entered in either
overstrike or insert mode. The initial mode is overstrike. The ^V
key is used to toggle the editing mode between overstrike and insert
(as in WORDSTAR).
When the cursor is not at the end of the command line, both the delete
and backspace keys will remove the character which is at the cursor
position, appearing to "gobble up" the command line to the right of
the cursor. When the cursor is at the end of the line, these keys
remove the character to the left of the cursor, allowing easy deletion
of mistyped characters.
2.4 MULTIPLE COMMANDS PER LINE
Multiple commands may be entered on a single line by separating the
commands with a semicolon character. When the carriage return is
struck, the commands will be executed in the order issued. There MUST
NOT be any spaces between the semicolon and the characters on either
side of it.
2.5 DISK/USER SPECIFICATION
If a disk and/or user specification of the form du: is prefixed to a
command (the first word of the command line or after a semicolon), the
specified disk and/or user area is searched for the .COM file before
A0:. Either or both the disk letter and user area number may be
included in the command this way. File specifications on the command
line MUST NOT have user area numbers, although disk designations are
allowed, as in CP/M's standard CCP.
Example: A6:WS C:TEST.DOC is acceptable to XCCP, while
A6:WS C2:TEST.DOC is not.
If the du: designation is entered alone on a command line, the default
disk and/or user area is changed.
2.6 WARM BOOT
The effects of a CP/M warm boot may be achieved through the use of
CTRL-C. This results in a reset of the disk I/O subsystem, and is
likely to be necessary after changing floppy disks. This function is
normally done on most program exits, resulting in a delay in return to
the CCP prompt. By making this function user requested, return to the
CCP prompt on program exit is much faster with XCCP than with the
stock CCP.
2.7 EXIT TO CP/M CCP
Entering CTRL-Y in response to the XCCP prompt will restore the
original CP/M CCP.
2.8 COMMAND CANCELLATION
An entire command line may be revoked before issuance with the ^U
character.
2.9 WILDCARD USE
The wildcard translation feature of XCCP may be used to determine,
before execution of a program, just which files will be affected by a
command. For example, if the command ERASE *.HEX were terminated with
an ESC rather than a carriage return, a list of the files which are
about to be deleted would be displayed, allowing the user a last
chance to abort the command before issuing the carriage return.
Note that incomplete file specifications, such as T*.A, are treated as
if they ended with wildcards (T*.A*), due to XCCP's command
recognition/completion algorithm. Thus, in this case, more files than
will actually be affected by the command may be displayed (e.g. both
TEST.A and TEST.ASM would be displayed).
3.0 LIMITATIONS AND CONSTRAINTS
A number of features of the standard CP/M CCP were left out in this
first version of XCCP in order to avoid increasing XCCP's size beyond
what could be easily tolerated in a 64 Kbyte system.
3.1 NO SUBMIT
The CP/M SUBMIT command will not function under XCCP. Use ^Y to exit
to the standard CCP before using SUBMIT.
3.2 NO SAVE
There is no SAVE command in XCCP. Use ^Y to exit to the standard CCP
before using SAVE. ^Y does not alter the contents of TPA memory.
3.3 NO BUILT-IN COMMANDS
The CP/M CCP's commands DIR, REN, ERA, USER, and TYPE are not
available in XCCP. Transient programs are included with XCCP to take
the place of REN and ERA. USER is supersceded by superior facilities
within XCCP, and a great number of DIR and TYPE programs are available
in the public domain.
4.0 VERSION 2.0
Version 2.0 of XCCP is expected to include a CP/M-compatible SUBMIT
facility (all your existing .SUB files will work) with additional
features such as internal variables, conditional branching, and nested
procedures. Also planned for V2.0 are I/O redirection (like UNIX and
MS-DOS's <, >, and | operators), key redefinition (as in QwikKey,
Smartkey, etc.), and hierarchical directory support. These additional
features will not increase the size of XCCP, since they will be
implemented as overlays. The functions chosen for implementation in
overlays were chosen with a view toward which functions access the
disk in any case, and those functions which are the least utilized.