home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / PROTOCOL / ZSX240.ZIP / README.ZSX < prev    next >
Text File  |  1991-11-26  |  13KB  |  283 lines

  1.  
  2.                  ZSX v2.40 - a general purpose protocol driver
  3.              (C) 1990, 1991 by Jan R. Terpstra (FIDO 2:512/10.0)
  4.  
  5.  
  6.   WHAT IS ZSX
  7.   ===========
  8.   ZSX is a general purpose protocol driver for Bulletin Board Systems. It
  9.   features SEAlink (with overdrive), Xmodem, Ymodem, Ymodem-Batch, Ymodem-G
  10.   and Zmodem (with RLE) protocols and requires only 55KB free RAM to run.
  11.  
  12.   ZSX requires a FOSSIL driver like OPUS!COMM, x00 or BNU to drive the
  13.   communication port. With x00 and BNU, up to 8 ports are supported.
  14.   NOTE: Use x00 v1.24 or later or BNU v1.50 or later.
  15.  
  16.   ZSX is a protocol driver for Bulletin Board systems, NOT a universal file
  17.   transfer program like DSZ, PCKERMIT, JMODEM, SuperK or Lynx. Compared to
  18.   other (tm) programs, ZSX is slightly crippled:
  19.  
  20.    - Zmodem receive has no crash-recovery. This prevents files on your BBS
  21.      from being overwritten or changed by a user.  Zmodem send does support
  22.      recovery so aborted downloads from your BBS can be picked up at the point
  23.      where they aborted.
  24.    - NAK, CANcel and Carrier drop are ignored for the last block of a download.
  25.      This is to prevent nasty users to evade the up/download counter of your
  26.      BBS. The bozos do so by aborting the download between the last block of
  27.      the file and the subsequent NAK/ACK sequence on the EOT signal. That
  28.      trick won't work with ZSX!
  29.    - During Zmodem, Ymodem and SEAlink receive of a specific file, ZSX refuses
  30.      additional files to prevent existing files from being overwritten.
  31.  
  32.  
  33.   Running ZSX
  34.   ===========
  35.   To run ZSX, type ZSX followed by one or more of these options:
  36.   NOTE: Options are case sensitive!!!!
  37.  
  38.     port N      communications port to be used. N Can be 1....16, depending
  39.                 on the type of FOSSIL driver used. Defaults to COM1.
  40.  
  41.     speed N     (Fixed) Modem-to-PC baudrate. N = 300....38400. If NO
  42.                 speed is given, ZSX will leave the FOSSIL settings as they
  43.                 are. In this case the calling program must ensure that the
  44.                 comport is set to 8 bits and no parity (N,8,1).
  45.                 When the "actual connect rate" feature of the US Robotics or
  46.                 Telebit modems is used (connect value of 7200, 12000 or
  47.                 14400 bps), ZSX will also leave the FOSSIL settings as they
  48.                 are.
  49.  
  50.     line N      Actual modem-to-modem connect rate. If a fixed PC-to-modem
  51.                 baudrate is used (i.e. the baudrate of the FOSSIL is locked),
  52.                 the LINE parameter causes ZSX to give correct results for
  53.                 estimated transfer time and throughput. If not given, LINE
  54.                 takes the same value as SPEED.
  55.                 NOTE: You must specify a value for either SPEED or LINE!
  56.  
  57.     D           (upper case D) Drop DTR when carrier is lost. Some BBS
  58.                 programs act a little odd when an external protocol does not
  59.                 reset the modem on carrier loss.
  60.  
  61.     d           (lower case d) Disable carrier monitor. Comes in handy when
  62.                 sending files over a null-modem that isn't wired correclty.
  63.  
  64.     e           Escape all control characters for Zmodem. This slows down
  65.                 transfer by up to 50%, but it allows Zmodem transfer over
  66.                 non-transparent networks.
  67.  
  68.     f           Relaxed ACK/NAK timing. ZSX will be forgiving about Xmodem,
  69.                 Ymodem and SEAlink timing. Usefull if transferring files over
  70.                 slow network or via satellite links.
  71.  
  72.     L N         Length overrride for Zmodem subpackets (N = 32.....1024).
  73.  
  74.     o           Run SEAlink in Overdrive (ackless) mode. The fastest method
  75.                 of transferring files over half-duplex mode ARQ links like
  76.                 V.29, HST or PEP.
  77.  
  78.     q           Quiet mode. Do not send closing notice at end of transfer.
  79.  
  80.     w N         SEAlink window size (N = 6....64). Some people believe big
  81.                 buffers is everything. If you have set an 8 KB xmit buffer
  82.                 in your FOSSIL driver, try this option. ZSX allows up to 64
  83.                 blocks "run ahead" with SEAlink send. A 64 block window size
  84.                 keeps the FOSSIL transmit buffer filled as much as possible.
  85.                 If you use x00 under DESQView, set the xmit buffer to 8192
  86.                 bytes and set a 64 block window. This may improve SEAlink
  87.                 performance JUST A TINY BIT at 9600 bps and higher.
  88.                 Default value is a regular 6 block SEAlink window.
  89.  
  90.     y           Allow receive to overwrite existing files.
  91.  
  92.     Z           Use Zmodem RLE compression. Automatically disabled when
  93.                 transferring ARC, ARJ, DWC, GIF, LZH, PAK, ZIP and ZOO files
  94.                 since those files are already compressed.
  95.  
  96.     log         Filename to log succesful or failed transfers to. The logfile
  97.                 is compatible with DSZ's log file. ZSX will recognize the
  98.                 "DSZLOG=" environment variable.
  99.  
  100.     list        Filename where the names and sizes of received files are stored
  101.                 when receiving multiple files. This file can later used by the
  102.                 BBS program to prompt the user to enter the descriptions for
  103.                 the uploaded files.
  104.  
  105.     cmd:        sz = ZMODEM send file(s)
  106.                 ss = SEAlink send file(s)
  107.                 sb = Ymodem-Batch (True-Ymodem) send file(s)
  108.                 sy = Ymodem (Xmodem-1K) send file
  109.                 sg = Ymodem-G send file
  110.                 sx = Xmodem send file
  111.                 rz = Zmodem receive file(s)
  112.                 rs = SEAlink receive file(s)
  113.                 rb = Ymodem-Batch (True-Ymodem) receive file(s)
  114.                 ry = Ymodem (Xmodem-1K) receive file
  115.                 rg = Ymodem-G receive file
  116.                 rx = Xmodem receive file
  117.  
  118.     file        filename to be send/received (may include wildcards).
  119.  
  120.     @file       Name of the response file that lists all files to be send in
  121.                 one batch.
  122.  
  123.  
  124.   SOME EXAMPLES
  125.   =============
  126.   ZSX port 1 speed 2400 Z rz C:\MYFILES\AAA.BBB
  127.    receive Zmodem/Compressed file AAA.BBB to subdir C:\MYFILES via port 1
  128.    at 2400 bps Only AAA.BBB will be received, additional file(s) will be
  129.    refused.
  130.  
  131.   ZSX port 1 speed 9600 o ss @FIL.LST
  132.    send Sealink-Overdrive files listed in FIL.LST via port 1 at 9600 bps
  133.  
  134.   ZSX port 1 line 1200 w 32 o ss @FIL.LST
  135.    send Sealink-Overdrive files listed in FIL.LST via port 1. Leave the port
  136.    at the current baudrate, but use actual linerate of 1200 bps to calculate
  137.    ETA and efficiency. Set SEAlink run-ahead to 32 blocks.
  138.  
  139.   ZSX port 2 speed 9600 rb C:\FILES\
  140.    receive Ymodem-Batch via port 2 at 9600 bps. Received file(s) will be
  141.    written to subdir C:\FILES\
  142.  
  143.   ZSX port 8 speed 300 rx C:\FILES\FILE.NEW
  144.    receive Xmodem FILE.NEW into subdir C:\FILES\ via port 8 at 300 bps
  145.  
  146.   ZSX port 5 speed 38400 list UPLOADED.LST d y rz C:\FILES\
  147.    receive Zmodem via port 5 at 38400 bps. Omit carrier check. Received
  148.    file(s) will be written to subdir C:\FILES\ and existing file(s) will
  149.    be overwritten. Names and filesizes of received files will be written
  150.    to list-file UPLOADED.LST.
  151.  
  152.   ZSX port 2 speed 19200 line 2400 o sg *.*
  153.    send all files in the current directory using Ymodem-G via port 2. The
  154.    modem to PC baudrate is 19200 bps, but the actual linerate of 2400 bps
  155.    will be used for estimated transfer time and throughput calculations.
  156.  
  157.   ZSX port 1 speed 2400 f sx C:\FILES\*.*
  158.    Send all files in the current directory using Xmodem via port 2 at 2400 bps.
  159.    Because Xmodem and Ymodem (rather, Xmodem-1K) are not batch protocols, ZSX
  160.    will send the name of the file about to be sent as a readable string to the
  161.    receiver's end, right before the file is transmitted.
  162.    Use relaxed ACK/NACK timing.
  163.  
  164.   Notice: ZSX reports the relative throughput at the end of the transfer,
  165.   using either the Modem to PC baudrate or (if specified) the actual modem
  166.   to modem line rate.
  167.   Contrary to other popular transfer utiltities, ZSX reports the ACTUAL
  168.   efficiency, including the protocol's overhead (init handshake, header
  169.   block transfer and EOF handshake). Thus the relative througput reported
  170.   will be slightly less (but more honest) when compared to other protocol
  171.   drivers.
  172.   Because the granularity of the throughput timer is 1 second, transferring
  173.   small files (i.e. transfers that take less then about 30 seconds) may
  174.   report an efficiency of over 100% or an efficiency that seems way to low.
  175.  
  176.  
  177.   COPYRIGHTS AND SUCH
  178.   ===================
  179.   Apart from the rights on those parts of the code by Omen Tech and System
  180.   Enhancement Associates, this program is free of idiosyncratic license
  181.   requirements. You may use this program in a non-commercial environment in
  182.   whatever way you like. You may use it as a doorstop or feed it to your dog.
  183.  
  184.   Some product names mentioned in this document may be registered trademarks
  185.   of their respective owners
  186.  
  187.   Use in a commercial environment may require you to enter a license agreement
  188.   with either Omen Tech or System Enhancement Associates. I don't want to get
  189.   involved in all sorts of legal discussions, so ask them and don't you dare
  190.   to bug me about it!
  191.  
  192.   However, regisation of this product is required! Simply register by
  193.   sending a postcard to:
  194.     J.R. Terpstra
  195.     P.O.Box 66
  196.     1462 ZH  Beemster
  197.     The Netherlands
  198.  
  199.   Registration won't buy you anything and you're not entitled to anything
  200.   special. I just happen to like postcards :-)
  201.  
  202.  
  203.   RELEASE NOTES
  204.   =============
  205.   November 26, 1991 - v2.40
  206.   Fixed problem with SEAlink EOT/EOF handshake.
  207.   Fixed receiver CRC recovery problem at speeds above 9600 bps.
  208.   Receiver timing now more forgiving.
  209.  
  210.   November 21, 1991 - v2.32
  211.   Fixed problem with garbled SEAlink blocknumbers that would make SEAlink
  212.   transfers go in an endless NAK loop.
  213.   Fixed initial ACK/NAK handshake for Sealink and Ymodem.
  214.  
  215.   November 19, 1991 - v2.31
  216.   Fixed problem in receive CRC routines (it turns out that Microsoft's
  217.   optimizing C compiler doesn't always "optimize" :-(
  218.  
  219.   November 17, 1991 - v2.30
  220.   Fixed EOF handshake in Ymodem-Batch and Ymodem-G.
  221.   Receivers preference for Xmodem-CRC or Xmodem-Checksum now automatically
  222.   detected properly.
  223.   Fixed Xmitter timeout problem when sending at 300 or 1200 bps.
  224.  
  225.   Oktober 9, 1991 - v2.21  **BETA**
  226.   Added QUIET option to suppress closing banner at end of transfer.
  227.   Added variable window size option for SEAlink send.
  228.   Fixed bug in automatic detection of SEALink Overdrive/non-Overdrive receive.
  229.   Fixed bug in relaxed ACK/NACK timing.
  230.  
  231.   September 27, 1991 - v2.20  **BETA**
  232.   Changed the low level XMIT routines. SEAlink/Overdrive and Zmodem now
  233.   run at an efficinecy of over 95%, even at 38400 bps.
  234.   ZSX now returns DOS ERRORLEVEL 0 if at least 1 file was transferred
  235.   succesfully, or ERRORLEVEL=1 if the transfer was aborted or carrier was
  236.   lost during transfer.
  237.  
  238.   July 27th, 1991 - v2.10
  239.   I rather not talk about that, since v 2.10 was severely brain damaged....
  240.  
  241.   June 24, 1991 - v2.01
  242.   Fixed a minor bug in carrier detect of Zmodem routines
  243.  
  244.   June 16, 1990 - v2.00
  245.   Added Zmodem/Compressed (RLE compression) and Zmodem variable headers.
  246.   Changed all CRC routines to assembler.
  247.   Changed logging, ZSX now writes a DSZ style logfile.
  248.   Bugs fixed:
  249.   - SEAlink/Overdrive timeout problem.
  250.   - Zmodem receive failure on last block.
  251.  
  252.   December 1, 1990 - v1.70
  253.   After several beta-test releases, version 1.70 is now released to the
  254.   general public. The documentation is a bit sparse and the program needs
  255.   some minor cosmetic fixes, but the program is functional.
  256.  
  257.  
  258.   KUDOS
  259.   =====
  260.   ZSX was based on (and contains parts of) Chuck Forsberg's Zmodem routines
  261.   and SEAlink routines by Thom Henderson. Some of the ideas in this program
  262.   were blatantly stolen from Opus' Zmodem download driver and BinkleyTerm.
  263.   You have to thank the original authors for whatever quality is present in
  264.   this program. I merely glued the existing pieces together as a learning
  265.   project and to sink my teeth in some C code.
  266.  
  267.   Many thanks to Doug Azzarito for scrutinizing the code. Also my thanks to
  268.   Heiko Rommelman for sending me the Proficient C book, which was the main
  269.   reason for me to start programming in C. Though my wife didn't understand
  270.   why I wanted to learn yet another programming language, I think it was
  271.   worth doing it :-)
  272.  
  273.  
  274.   "Many projects encounter a severe blow when key persons leave. It is
  275.    therefore essential to have NO key persons in any project."
  276.  
  277.                                                 <JT>
  278.  
  279.  
  280.            ---===>>> BETA TEST COPY - DO NOT DISTRIBUTE <<<===---
  281.  
  282.  
  283.