Z88 Communications Program
                                           (ZCP)

                               Copyright 1990 Richard C. Haw

          Introduction:

                   The Z88 communications program (ZCP) is a binary and text file
               transfer utility supporting the popular XMODEM file transfer
               protocol.

          Disclaimer:

                   This program and all documentation is provided as is, without
               any warranty either expressed or implied, including but not
               limited to implied warranties of merchantability and fitness for a
               particular purpose. In no event shall the author be liable for any
               loss of profit or any other damage caused by the use or misuse of
               the program, including but not limited to special, incidental,
               consequential or other damages.

          Distribution

                   This program is copyright 1989,1990 by Richard C. Haw, all
               rights reserved. It may be freely copied and distributed so long
               as the original documentation is distributed with the program and
               no fee is charged for the program other than normal on-line
               charges for dial-up systems or a distribution medium fee not to
               exceed $5.00 (US) for manual distribution.

          BASIC program:

                   The BASIC version of this program is not really in BASIC, but
               is machine code in a form which can be run from BASIC. There are
               two limitations to this approach. One, the program can not be
               saved back from BASIC, if this is done only the small BASIC header
               is saved and the next time you try and run the program it will
               give a 'corrupted' message. Two, the program must be run in a
               'clean' BASIC, PATPCW.BAS or anything similar can NOT be
               running. If you have something like that installed you will get an
               error message saying 'bad page'. Simply go back to the INDEX, kill
               that instantation of BASIC and start up a new one.

          Operation:

                   Use of the program is very straight forward, all file transfer
               operations are controlled from the front menu. Each of the
               possible operations are described separately in the following
               sections.

                   The flow  control (XON/XOFF) is reset by this program during
               binary file transfers, it should be set to ON for normal usage (in
               the setup screen).

          ASCII send:

                   This command transmits a text file line by line to a remote
               system. This command is useful for uploading messages and
               electronic mail to BBS systems and the like. After each line is
               sent the Z88 will wait for a prompt character before the next line
               is sent. This character can be changed using the options menu.

          Goto Terminal:

                   Selecting this option will take you to the Terminal program in
               the Z88. The ZCP program is still running, you can return to
               the program to send or receive files whenever needed by pressing
               the square key followed by the B key.

          Options:

                   The options command takes you to the options menu, see the
               section on options for detailed information.

          Receive binary:

               This command allows the transfer of a file to the Z88 using
               the XMODEM data protocol. You will be asked for the name of the
               file to transfer, the incoming file will then be saved under that
               name.

          Send binary:

                   This command allows the transfer of a file from the Z88 using
               the XMODEM data protocol. You will be asked for the name of the
               file to send.

          RemoTe mode:

                   This puts ZCP into remote mode, see the section on ZCP Remote
               Mode for detailed information.

          eXit:

                   This command exits the program.
          Options:

                   The options menu allows you to set all of the options
               pertaining to the ZCP program, and are described in the
               following paragraphs. Default values used for each of the options
               are listed in parenthesis after the option name.

               MacBinary (off)

                        If this option is selected the MacBinary file transfer
                    protocol will be recognized and used. While this option is on
                    files will be sent in MacBinary format.

               Prompt (:)

                        This option is used to set the prompt character for text
                    file transfers. This is a single character used to indicate
                    that another line of text should be sent. If ENTER is hit in
                    response to the prompt for a character no wait will be
                    performed by the program at the end of each line.

                                        Z88 Remote

          Introduction:

                   The Z88 Remote program is a program which allows communication
               with the Z88 through a serial line. It allows for file transfers,
               option settings, etc. all working on the computer to which the Z88
               is connected.

                   User interaction is provided through a menu which is displayed
               on the remote system. Each of the menu choices provided is
               described in detail below.

               Change directory:

                        This option allows the remote system to change the
                    working directory on the Z88. All file operations will be
                    performed using this path.

               Erase

                        This option erases, or deletes, a file on the Z88. Simply
                    enter the name of the file to be erased.

                    NOTE:This command does NOT prompt for any sort of
                         confirmation, it just erases the file. Make sure you
                         really want to get rid of the file before doing this.

               Files:
                        This command lists out all of the files and
                    subdirectories of the current directory. Files are listed
                    with date and size information.

               Information:

                        This command displays an information screen on the remote
                    system showing the current path, amount of free space on the
                    Z88, etc.

               Receive File:

                        This tells the Z88 to send a file using the XMODEM
                    protocol. The remote system should then initiate an XMODEM
                    receive. If you are using MacBinary see the notes on this at
                    the end of this section.

               Send File:

                        This option sends a file to the Z88 from the remote
                    system. You will be prompted for the file name to be used on
                    the Z88. If you are using MacBinary see the notes at the end
                    of this section.

               Type File:

                        This option types out a text file. A prompt for the file
                    name will be issued on the remote system and then the file
                    will simply be listed to the screen on the remote system.
                    Each line of text will be terminated with a CR/LF (carriage
                    return and line feed).

               ?:

                        This command puts out an expanded list of the commands
                    rather than just the first letter.

          Notes on using MacBinary:

                   The MacBinary protocol is a protocol which uses a modified
               XMODEM protocol to allow for the exchange of file name and
               attribute information using the first block of the XMODEM
               transfer. When used to transfer files to the Z88 the Macintosh
               file names will be adjusted to something appropriate for the Z88
               and attributes (such as creator and type) will be lost since the
               Z88 does not use them.

                   If the MacBinary option is turned on Z88 Remote will
               automatically recognize and accept file transfer requests. All you
               have to do is start the file transfer on the Macintosh side.
               Similarly, if you are running a communications program on the
               Macintosh which supports MacBinary all you need to do to transfer
               a file from the Z88 to the Macintosh is to tell ZCP remote you
               want to receive a file, and the name of the file.

                   It would be impossible for me to test all of the
               communications programs which could be used with ZCP, it does
               however seem to work fine with everything I could test it with in
               XMODEM mode, and works well with the Microsoft Mac Works terminal
               program in MacBinary mode.

          Program availability and help:

                   The latest version of ZCP will be found on Compuserve so long
               as there is a place to upload it to. At the time of this writing
               support on CIS was limited, but hopefully will be expanding in the
               future.

                   Currently on CIS Z88 files and information can be found in the
               CLUB forum, data library 5.

                   Questions, suggestions, bug reports and the like are welcome,
               and can either be sent to me by Email at [73527,2642], or start a
               topic in the forum supporting the Z88.
          Future Enhancements:

                   Enhancements to the program are planned, but the extent and
               type of enhancements are uncertain at this time. Some suggested
               enhancements which are being looked at are:

               Script capabilities:

                        A script language to allow setting com parameters,
                    sending and receiving text, etc.

               Improved error handling and messages:

                        Self explanatory.

               Built in terminal emulator:

                        A full feature emulator will probably not get written
                    (such as a VT100 emulator), simply because I don't need one,
                    and this isn't a commercial product. However, a simpler one
                    with a scroll back buffer would be useful and is under
                    consideration.

               Direct manipulation of com port hardware:

                        Due to the large amount of overhead inherent in the Z88
                    handling of the COM port, the maximum baud rate is somewhat
                    limited (though you can set to 19200, 9600 is the fastest
                    which will run effectively, and then the throughput is more
                    like 4800 baud). The UART will run at up to 38400 baud,
                    though I have not experimented to see exactly what the Z88
                    can handle. If this were implemented it would only be used in
                    remote mode and probably would not support xon/xoff for the
                    text information (menus and such).


                   If you have any additional suggestions for enhancements, or
               comments, please feel free to Email me at the CIS address above or
               leave a message in the Club forum.