[net.micro.cpm] New ZCPR2 Documentation

rconn%brl@sri-unix.UUCP (06/05/83)

From:      Rick Conn <rconn@brl>

        I noted an earlier message from the ARPA Net from someone
who  wanted  to  add some more utilities to the ZCPR2 System.  In
response to this message and other direct requests  for  informa-
tion, I'm starting to write a new document on how to use TEMPLATE
to write utilities which fit into the ZCPR2 System.   By  fitting
into  the system, I am referring to being able to reference named
directories, follow paths, and adapt to different ZCPR2  environs
by  installation via GENINS.  I hope my reply to the earlier mes-
sage did not discourage the writer, particularly since  the  only
pointer I could really give was to look at the source to TEMPLATE
and a couple of utilities to see how it was done.

        Note that this has no impact on the utilities in the  PD.
They will still function as per their design, and they should run
under ZCPR2 as they do under CP/M.

        What I am hoping will come of this is the development  of
a  consistent set of ZCPR2 utilities by people other than myself.
For instance, the utilities in the distribution are consistent in
the following senses:

                1.  they can reference named directories
                        XDIR JEFF:, ERASE MYDIR:*.DOC, etc
                2.  they can accept file lists when it makes sense
                        ERASE f1,f2,f3,f4.*,mydir:f5.*,...
                3.  their command syntax is similar
                        COMMAND <file list> <options> or
                        COMMAND /<options>
                4.  GENINS can install ALL of them for different environs
                5.  they can search along paths when necessary
                        HELP MYHELP looks along a path for MYHELP.HLP
                6.  built-in documentation is available and is invoked
                    in the same way
                        COMMAND // or COMMAND /<invalid option>

        TEMPLATE supports designs such as what  I  am  describing
quite  nicely.  The programmer need only "fill in the blanks" for
the initialization routines, deinit routines, function performed,
banner,  built-in  documentation, etc.  The rest of TEMPLATE does
the work of path searching, named directory  conversion,  command
line processing, etc.  The work performed by the programmer boils
down to writing a function which is passed the FCB for an unambi-
guious file, and the process is already logged into the directory
in which that file resides (if it exists).

        Clearly, TEMPLATE is not an  end-all  to  all  situations
yet,  and  as  I get into the paper, you are likely to see one or
more new versions of TEMPLATE come out before the paper  is  fin-
ished.

                Rick