home *** CD-ROM | disk | FTP | other *** search
/ Expanding Your BBS by David Wolfe / expandingyourbbsbydavidwolfe19.iso / protocol / zsx2_310.zi0 / README.ZSX < prev    next >
Text File  |  1994-01-24  |  16KB  |  341 lines

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