[net.micro] What ZCPR2 Is ...

rconn@brl.arpa (02/16/83)

From:      Rick Conn <rconn@brl.arpa>

        Someone recently complained  to  INFO-MICRO  about  being
told that ZCPR2 is available and not being told what it is.  Evi-
dently he missed the previous messages, and, thinking that  there
may  be others like him, the following is provided as a brief in-
troduction as to what ZCPR2 is.  If this perks your interest  and
you  want  to  keep posted on its status, you should subscribe to
INFO-CPM, since it is a better forum for  this  info  than  INFO-
MICRO.   If  you do not already subscribe and you want to, send a
request to INFO-CPM-REQUEST@BRL.  For those  who  have  seen  the
previous  messages,  I  apologize  for repeating myself and offer
some relief in that this is a new document which (I think) does a
better job of explaining some of the ideas of ZCPR2.

                Rick

---- Text Follows ----




                         BRIEF on ZCPR2

                         by Richard Conn


     The  Z80-based  Command  Processor  Replacement  Version   2
(ZCPR2)  is a replacement for the CP/M Console Command  Processor
(CCP)  which  creates an extremely capable and flexible  environ-
ment,  placing a totally new interface on the user's CP/M system.
The  primary  purpose of ZCPR2 is to improve the  user's  produc-
tivity by giving him an environment which is much more responsive
to  his needs and configurable to his specific desires than  CP/M
2.2 while still remaining CP/M 2.2 compatable and allowing him to
run  most,  if not all,  of his CP/M software with little  or  no
modification.

     ZCPR2 is a replacement for the CP/M 2.2 CCP,  but it is only
a part of the ZCPR2 SYSTEM.   The ZCPR2 SYSTEM is a collection of
programs  consisting  of ZCPR2 itself and a series  of  utilities
designed to augment the capabilities of ZCPR2.  There is a lot to
be  said in order to attempt to explain what the ZCPR2 SYSTEM  is
and  does,  and  I  will  attempt to summarize some  of  the  key
features in this brief introduction.



                   ZCPR2 DIRECTORIES and FILES

     A DIRECTORY under ZCPR2 is a user area on a disk,  and it is
identified  by the combination of the disk letter and the  number
of  the  user area (like A10 or B7) or by a mnemonic  name  (like
JEFF or ROOT).  If a user wishes to reference a directory, he may
use  (in  most cases) a DU (Disk/User) form or a  DIR  (mnemonic)
form.    The   ZCPR2-resident  commands  support  the   DU   form
extensively but do not support the DIR form:

          A>DIR C7:
          A>ERA B22:MYFILE.TXT V
          A>TYPE A31:TEMP.TXT
          A>REN C12:FILE....TXT=FILE1.TXT
          A>LIST A31:TEMP.TXT
          A>DIR B4: A

     In addition, you may use the DU form to log into a different
directory:

          A>B7:
          B7>12:
          B12>A:
          A12>B15:
          B15>B0:
          B>A:
          A>


     Naturally, commands may be prefixed with the DU form:

          A>B7:RUNIT
          A>31:MBASIC
          A>B:MYPROG




     Most of the ZCPR2-supplied utilities have been programmed to
recognize the DU form as well:

          A>XDIR B7:
          A>ERASE B4:*.TXT,C2:*.*
          A>CRC 4:*.*,5:*.*
          A>PROTECT B:*.* RS

     The  ZCPR2-supplied transient programs,  as a general  rule,
recognize the DIR form as well as the DU form:

          A>XDIR ROOT:
          A>MCOPY B22:=A31:*.*,ROOT:=BACKUP:*.COM
          A>CRC JEFF:*.*
          A>RENAME MYAREA:*.BAS=*.BAK

     You  can use the DU form to log into directories (as  stated
above),  or  you may use the CD (Change Directory) utility to  do
this.   In  using CD,  password protection and automatic  command
line  execution  can be employed each time a directory is  logged
into.   This  does little good when the DU form is  available  as
well,  but ZCPR2 can be configured in over 4,000,000 ways (yes, 6
zeroes),  and you can disable the DU form,  allowing only the DIR
form  to  be used and forcing the user to employ CD to  log  into
directories.   With CD,  if a directory is defined in a user area
beyond a certain limit,  it is declared to be a system directory,
and  a password is required to enter it.   Also,  once CD  grants
access  to  a directory,  it looks for and runs a  program  named
ST.COM  (for  STARTUP),  which will run any initial  sequence  of
commands  desired.   Such  a command sequence may be to invoke  a
menu,  automatically  run  Word Star,  and  other  ZCPR2-specific
functions.

     Thirty-one  programs  are  provided as  part  of  the  ZCPR2
SYSTEM,  and  all of them are provided as COM files and in source
form.  These utilities can be grouped as follows:

          o I/O -- Control Redirectable I/O System
          o Directory Display
          o Disk Utilities (a new DU2 program)
          o Library Utilities (augment LU)
          o Menu Subsystem
          o File Comparison Utilities
          o File Copy Utility (MCOPY)
          o Command Files (disk-based and memory-based)
          o Named Directory Manipulation
          o ZCPR2 Alternates (like ZCPR2 residents, but more)
          o Help (customized for ZCPR2 use)


                     MULTIPLE COMMAND LINES

     The  Multiple  Command Line Facility of ZCPR2  supports  two
basic functions in the ZCPR2 Environment:

          1) It allows the user to specify a series of
               commands on one line --
                    A>B7:;ERA *.COM;DIR;A:;DIR

          2) It allows one program to easily chain to
               another or to a whole series of programs






                              PATHS

     Fundamental  to ZCPR2 is the PATH,  which is a  sequence  of
directories  to be searched for a file.   For those familiar with
ZCPR  (now called ZCPR1),  you had a fixed,  built-in path  which
looked for your COM file in the current disk/current  user,  disk
A/current user,  and disk A/user 0.  Under ZCPR2, you can specify
the  sequence the directories can be searched in,  and the length
of the path is arbitrary.   As a further extension,  there may be
more  than one path,  and each utility may have its own or  share
one or more common paths.  Example:

          $$  $0 A$ A0 -- path from Current Disk/Current User  to
Current Disk/User 0 to Disk A/Current User to Disk A/User 0



       COMMAND PROCESSING and EXTENDED COMMAND PROCESSORS

     ZCPR2  is also different in the way it  processes  commands.
It  can  be  configured in many different ways,  and one  of  the
recommended  ways is to enable the following sequence  of  events
when a command is issued:

          1.  Input and Parse Command Line from User or File
          2.  Determine if it is a ZCPR2-resident command and
               run it if so
          3.  Search along the command search path for the COM
               file
          4.  Invoke an extended command processor, passing the
               command line to it
          5.  Issue an error message if 2, 3, and 4 fail



                        REDIRECTABLE I/O

     The   last  major  feature  to  be  described  here  is  the
redirectable I/O system under ZCPR2.  This system allows the user
to define as many consoles,  list devices,  reader  devices,  and
punch  devices  as he desires (within  reason,  of  course).   In
particular,  facilities  can  be set up to direct console  output
and/or  list  device  output to disk files as well as  a  CRT  or
printer, and physical devices, such as your CRT and Modem, can be
combined.



                             Closing

     This has been a very brief introduction to the ZCPR2 System.
It is in the public domain, and will be available thru SIG/M in a
few short weeks.   There are three documents associated with  the
ZCPR2  System,  and the Concepts Manual (65 pages long) describes
the material briefed by this introduction in much more detail.