@ Z88COM.DOC -- DOCUMENTATION FOR Z88COM (Version 2.3) Phil Wheeler --- 28 Jan 1989 (rev. 2/7/89) ----------------------------------------------------- Z88COM is a publically available (but NOT public domain) communication program for the Cambridge Z88. Restrictions are pretty simple: Downlo it, give it away, upload it to bulletin boards -- do anything but sell it. And -- my copyright notice must be included in all copies; otherwise, you may remove comments, etc. Modify code and borrow it if you like -- but do so at your own peril; machine code is pretty unforgiving! Z88COM supercedes Z88TRM, and is 2-3 times faster (all upload and download code is in machine language). But Z88TRM is the model and gives useful info on the flow of the program, so it will remain available. Z88COM works in conjunction with the built-in Terminal function of the Z88. It provides autodial and redial from a user-provided phone list (in a file named PHONE.LOG), and xmodem upload and download of any Z88 (binary or ASCII) file. PHONE.LOG is built to include the strings n for auto-logon. Operation --------- Before going to Basic, or doing anything else, go to the Panel ([]S) a configure your serial port parameters to the baud rate of your modem (300/1200/2400 baud), no parity and no Xon/Xoff. Z88COM will not modi your comm parameters "on the fly" like many other comm programs -- sor about that! In the case of Compuserve, for example, that means you wi need to tell DEFALT (GO DEFALT) that you are logging in with no parity I've been using CIS this way for years, and it presents no problems -- except you will have to decode graphics characters at logon if you do manually. If you get Z88COM.CLI, you will need to load it to Basic (a fairly lon process). After doing so, do SAVE"Z88COM.BAS". Of course, if you get Z88COM.BAS directly (e.g., with Z88TRM.BAS in your Z88 or by using a desktop machine and PC-LINK), this step will be eliminated. After LOADing Z88COM, type RUN. At this point, the most likely proble will be an absent or defective PHONE.LOG file; see below for how to prepare that file. The first thing you should see on your screen is "Loading M/L code .... ". This is needed only once, so long as you do nothing to exit the program; if you do exit, just RUN again. At the openning menu you can D)ial the phone, G)o to Terminal, E)xit t Basic, R)eceive a file, M)essage Upload, or S)end a file . First thing to do is dial. You can choose from five numbers in this version. Autodial supports Hayes compatible modems only; but, with th code in Basic, you can modify it to your own needs. Or you can go to Terminal and dial manually. Connecting will take you right to Terminal, as will completion (or failure) of any main menu function. Terminal is pretty straightforward. When you need to get back to Z88COM's main menu to do an upload or download, just go to Basic (hit []B, the Square key and the B key), and you will go directly there. It's all pretty natural. One cautionary note: If you have any other B programs as Suspended Applications, you may go there instead! Best no have any other Basic applications suspended while using Z88COM. After you finish a download or upload, you will taken back to Terminal automatically. Typically, you may miss a bit of info on the screen du to the transition not being instantaneous; this depends on the Host computer. Usually hitting ENTER after returning to Terminal will repeat the missing information. Message upload is a new feature with Version 2.3. It will upload a Pipedream file, without linefeeds added, to a remote system. Line pac is controlled by the parameter PACE in line 90. If you are sending to fast for the receiving system (a common problem when sending message t GEnie), just go to Basic and type '90 PACE=#', replacing # by the numb of seconds you want between sending successive lines. Currently this function has been used successfully with the Z88 Support BBS, Compuser and GEnie. On GEnie, you will need to set PACE=.5 or maybe even PACE= avoid overunning the message buffer there. Because of the ECHO we nee GEnie (the ^R effect) you will also see a blank line echoed on your sc while sending there; it's normal and these blank lines are NOT going i the message. Z88COM is pretty well error trapped; but something may get by (e.g., subtle timing issues). If you get a long delay, just wait; most of these are covered by a timeout timer (which I have set to 15 seconds for Compuserve uploads). By the way, CIS uploads take a while to get started, since Compuserve has to send three C's (which takes it 20-40 seconds!) to figure out you are uploading in Checksum mode rather than CRC (not now included in this program). If you do escape from the program with a file open, there is virtually no way to kill or otherwise use that file without a Warm Reset; in tha case you will lose all existing instantiations (suspended and active operations), but the directory files will remain intact. If the program detects a Fatal Error, it will tell you and then kill itself (that instantiation, not the directory copy). Creation of PHONE.LOG --------------------- Z88COM now provides a "dead-reckoning" type of auto-logon; that means sends the logon string in the blind, without looking at the host's prompts. It does this with timing delays tailored to each system (see below). You can build a PHONE.LOG file from scratch or edit the sample I have uploaded. The structure is 5 groups, as below. Note that items follo < symbol are comments and not to be included in the file. Torrance Z88 BBS < BBS name 370-2754 < Phone number (with prefix as needed) 2 < Number of chars (20h) at connect (for handshak 1 < Delay from last char to log on string in secon 1 < Delay between lines in logon string Phil{Wheeler{Y{pwd{ < Log on string; '{' means return (CR) Torrance CIS Node \ 'pwd' is the password you use 542-4311 0 < No initial chars for CIS 2 < CIS needs longer delays here 3 < and here CIS{71266,125{PASS*WORD{GO M100SIG{ GEnie L.A. 513-6893 1 5 0 < one line for GEnie, so no delay here need ^RXTA13393,PASSWORD,655{ < ^R will cause a CONTROL R to be sent to System Y \ make GEnie ec 1-206-555-5555 1 2 1 { System Z 555-5555 1 2 1 { Delay times are provided to allow for the host's delays between connec and starting to send logon prompts, and to accommodate the delays betw logon prompts. CIS tends to need long delays, other systems lower del the values in the file above work for me; you may need to experiment a The PHONE.LOG file has two special characters. A left brace ({) cause (carriage return) to be sent. It should be used to separate lines in logon transaction, as in this system (First, Last, Y, password are on separate lines). A carat (^) tells the program to send the following character as a control character (^C, ^R, etc.); The letter MUST be up case in this implementation. With GEnie, a ^R will make the system go duplex (echo). It's pretty straightforward. One caution: It MUST be loaded and saved the 'plain text' option of Pipedream. And you must have all five numb with dummies for some if you like (e.g., as in System Y and System Z a Closing Comments ---------------- I think this program is pretty solid. Of course, it is difficult to simulate all the error conditions which can occur in an xmodem transf So please report all results -- good, bad or "Huh?" that you see. This program is a combination of Basic and machine code. It really demonstrates the power available in the Z88. ----------------------- Phil Wheeler -- 2/5/89