Z88COM.INF -- CURRENT STATUS/ASSESSMENT OF Z88COM.BAS/CLI Phil Wheeler --------------------------------------------------------- >>> Files needed are Z88COM.BAS (or CLI), Z88COM.DOC, and PHONE.LOG <<< Why I wrote Z88COM ------------------ Since I own Z-Term, the excellent ROM-hosted Comm program from Wordmongers in the U.K, you may wonder why I wrote Z88COM. At least four reasons: 1) It was a fun project, and I had undertaken similar programs for the Model 100. 2) A public BBS needs a freely available xmodem program, particularly when it uses the public phone lines (vs. the Compuserve network, for example). 3) I have, to this day, been unable to get Z-Term to upload to Compuserve, a major need of mine. It seems to send immediately, instead of waiting for the three C's to try for CRC and then the first NAK. It may have the same problem with other CRC-priority systems. I upload to CIS a fair amount, so this was important to me. 4) Auto-logon is important when you spend a large amount of time on line. the version of Z-Term I own (2.2) does not have this feature. As of now (Version 2.2), Z88COM will do auto-dial (and re-dial) and logon, using info in the PHONE.LOG file. Chronology ---------- 1/27/89 (2300 pst) Program appears to have good recovery from uploading errors (not surprising; the receiver handles that!), but does not report them --though it should. It has very poor recovery from downloading errors. I need to devise code to resynchronize with the data stream after a bad block, which it does not do now. Current version (1/27/89) will essentially timeout without recovery, requiring you to try again if there has been an error. I will fix this when I figure out a recovery algorithm and have time to code/test it. Note that Z88TRM (Basic implementation) is no better in this regard. 1/28/89 (0900 pst) I've just added code to resynchronize on receive. Testing by introducing noise into phone line (picking up phone) results in checksum errors -- and total recovery after noise stops. Not a conclusive test, but very promising -- I have not been able to make it fail, except by interrupting the ACK or NAK going back to the sender (and that is an event of low probability). Substantially noisy uploads and downloads (e.g., 10-12 errors in a file of 80 blocks) check out perfectly after a two-way (send and back) transfer. Output format scroll re-introduced, so you can see what is going on. Error messages were overwritten so quickly that they were hard to see, if the error went away! 1/30/89 (1900 pst) I've added the capability to resend NAK's if you timeout in the recieve mode -- up to 10 of them once every 2 seconds. This can result in some waiting if the sender stops sending without sending a CAN, but it does seem to make the program more solid -- and it can now handshake with a local computer via null modem at up to 9600 baud, for fast local transfers. Note that you should ALWAYS let it timeout, so you do not end up with unclosed files on your menu. New program is Version 2.1 2/2/89 (2200 pst) Version 2.2 is now available. It adds simple autologon, which has been validated with this BBS, Compuserve and GEnie. New phone file is PHONE.LOG. Usage is about the same; but Z88COM.DOC has been revised to define the composition of PHONE.LOG. 2/3/89 (0300 pst) Goofed a bit on the above. I forgot to make the code bypass autolog in the case of a manual dial. That is now fixed. Still labeled version 2.2 but dated 2/3/89 2/5/89 (Noon pst) New in version 2.3 is the capability to send messages to the message system. I have tested it here (the main purpose for it) and on GEnie and CIS. With this feature you can compose a message in Pipedream off line and send it to the message area of your choice after logging on. Should save some phone charges!! See Z88COM.DOC for PACEing adjustment info. 2/7/89 (2200 pst) Chris Fenn ran into some log on problems at 2400 baud. After some experimentation, we found that sending spaces (chr$(32)) rather than CR's gives better handshaking for synchronization. That change has been made. Chris also found that I had never enabled the fifth phone number ("E") in the code when I added it to the directory. That's been fixed. Good testing, Chris! 10/10/89 I've made a minor fix to Z88COM, in line 350. The small 'g' should be moved over next to the big 'G'. The effect of the original error will show up only if you go to lower cse while running Z88COM in Basic. I never do so I never have seen it. But a user (Robert Gaylord) found it. Thanks for the find, Bob. Files here (but not elsewhere) have been updated to reflect this fix. 11/21/89 DOC file is updated to tell how to mod the program for pulse dialing, needed in some areas and for some phone system.