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.