home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / HSLK1122.ZIP / HSLINK.DOC < prev    next >
Text File  |  1991-11-22  |  73KB  |  2,015 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                                        HS/Link
  11.  
  12.                           High Speed File Transfer Protocol
  13.  
  14.  
  15.                               Version 1.0ßC6 (11/22/91)
  16.  
  17.  
  18.  
  19.                           Copyright (C) 1991 Samuel H. Smith
  20.                                  All Rights Reserved
  21.  
  22.  
  23.  
  24.  
  25.                               PLEASE REFER TO HSLINK.NEW
  26.                         FOR DETAILS OF RECENT PROGRAM CHANGES!
  27.  
  28.  
  29.  
  30.  
  31.           HS/Link is a high speed, full streaming, full-duplex, bi-
  32.           directional, batch file transfer protocol with advanced full-
  33.           streaming-error-correction.  Each side of the link is allowed to
  34.           provide a list of files to be sent.  Files will be sent in BOTH
  35.           directions until both sides of the link are satisfied.
  36.  
  37.           HS/Link is not _just_ another bidirectional protocol, it is also
  38.           a very fast protocol for normal downloading and uploading,
  39.           incorporating some new ideas (such as Full-Streaming-Error-
  40.           Correction and Dynamic-Code-Substitution) to make things happen a
  41.           bit faster and with greater reliability.
  42.  
  43.           This program is not free!  You are hereby licensed to use this
  44.           program for a trial period of 30 days free of charge.  If, after
  45.           30 days, you decide that you would like to continue using HSLINK,
  46.           you must complete the registration form (REGISTER.FRM) and return
  47.           it to the author with the required registration fee enclosed.
  48.  
  49.           Please feel free to distribute HSLINK to your friends and local
  50.           BBSes as long as all of the files in this archive are included
  51.           and unmodified.
  52.  
  53.           See the LICENSE AND REGISTRATION section of this document for
  54.           more details.
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.                                                                           1
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   Table of Contents
  71.           _________________________________________________________________
  72.  
  73.           Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
  74.  
  75.           Summary of Key Features . . . . . . . . . . . . . . . . . . .   4
  76.  
  77.           Command Line Format . . . . . . . . . . . . . . . . . . . . .   5
  78.  
  79.           Basic Command Line Options  . . . . . . . . . . . . . . . . .   5
  80.  
  81.           Full Screen Status Display  . . . . . . . . . . . . . . . . .   6
  82.  
  83.           HS/Link Configuration Manager . . . . . . . . . . . . . . . .   7
  84.  
  85.           Advanced Command Line Options . . . . . . . . . . . . . . .    12
  86.  
  87.           User Examples . . . . . . . . . . . . . . . . . . . . . . .    16
  88.  
  89.           Calling HS/Link from COMM programs  . . . . . . . . . . . .    17
  90.  
  91.           Calling HS/Link from BBS programs . . . . . . . . . . . . .    18
  92.                BBS Requirements . . . . . . . . . . . . . . . . . . .    18
  93.  
  94.           Buffered ASYNC chips  . . . . . . . . . . . . . . . . . . .    19
  95.  
  96.           Flow Control  . . . . . . . . . . . . . . . . . . . . . . .    19
  97.  
  98.           Full Streaming Data Transmission  . . . . . . . . . . . . .    20
  99.  
  100.           Full Streaming Error Recovery . . . . . . . . . . . . . . .    21
  101.  
  102.           Dynamic Code Substitution . . . . . . . . . . . . . . . . .    21
  103.  
  104.           Transmission of Minimal Blocks  . . . . . . . . . . . . . .    22
  105.  
  106.           DSZLOG Statistic Logging  . . . . . . . . . . . . . . . . .    23
  107.  
  108.           Information Messages  . . . . . . . . . . . . . . . . . . .    28
  109.  
  110.           License and Registration  . . . . . . . . . . . . . . . . .    32
  111.                LICENSE AGREEMENT FOR SHAREWARE DISTRIBUTORS . . . . .    32
  112.  
  113.           Support . . . . . . . . . . . . . . . . . . . . . . . . . .    33
  114.  
  115.           DISCLAIMER  . . . . . . . . . . . . . . . . . . . . . . . .    33
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.                                                                           2
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.                                      Introduction
  132.           _________________________________________________________________
  133.  
  134.           What is a file transfer protocol?
  135.  
  136.           A file transfer protocol is a means of transferring information
  137.           from one computer to another.  The protocol has the
  138.           responsibility of protecting against errors in transit, and
  139.           taking measures to correct any errors that are detected.  The
  140.           design and implementation of a protocol can make the difference
  141.           between slow and unreliable communication, and fast and trouble
  142.           free communication.
  143.  
  144.           Not all protocols are created equal.  With today's high speed
  145.           modems, packet switched networks (such as PC Pursuit), and
  146.           expensive long distance charges, users demand more than ever that
  147.           files get through quickly and without corruption.
  148.  
  149.           The HS/Link protocol is the result of years of communication
  150.           experience, and uses some very new and solid technology to see to
  151.           it that you can easily move files as quickly as possible, and
  152.           with the least amount of hassle.
  153.  
  154.           The HSLINK program can be used from the DOS command line, from
  155.           BATCH files, or as an "external protocol" from most modern COMM
  156.           programs and BBS programs.  If your favorite BBS does not yet
  157.           support the HS/Link protocol, please ask your SYSOP to install
  158.           it.
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.                                                                           3
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.                                Summary of Key Features
  193.           _________________________________________________________________
  194.  
  195.           * Speed.
  196.                HS/Link operates at or very near peak efficiency, often
  197.                reaching 98% or more with pre-compressed files and non-
  198.                buffered modems.  Even higher speeds are possible with
  199.                buffered or error correcting modems.  A number of features,
  200.                such as fast 32 bit CRC protection, Full-Streaming-Error-
  201.                Recovery and Dynamic-Code- Substitution, combine to give
  202.                maximum performance and security.
  203.  
  204.           * Simple interface for beginners.
  205.                In many cases, HS/Link requires only the COM port number and
  206.                the filename to be transmitted.  Configuration files are not
  207.                required.  The program is easily installed in most COMM
  208.                programs that support external protocols.  The HSLINK
  209.                program has multiple help screens, providing a quick
  210.                reference to the basic and advanced command line options,
  211.                including examples of how the program is used.
  212.  
  213.           * Batch file transfers.
  214.                The protocol can handle any size batch of files, and can
  215.                take file specifications from either the command line or
  216.                from a listing file.
  217.  
  218.           * Bi-directional options that really work.
  219.                The program can simultaneously upload and download with a
  220.                single host request.  What's even better is how easy it is
  221.                to use...  instead of a complex setup all you do is:
  222.  
  223.                1)   Tell the BBS the names of the files you want to
  224.                     download, and then
  225.  
  226.                2)   Press PGUP (or whatever your COMM program uses to
  227.                     UPLOAD files) and then tell your COMM program which
  228.                     files to upload
  229.  
  230.                By virtue of the BBS being told that it is sending files and
  231.                your COMM program telling HS/Link that it too is sending
  232.                files you then have a bidirectional transfer.  There's
  233.                nothing else to set up.  You use the familiar BBS interface
  234.                to request files to download and your COMM program's
  235.                familiar interface to tell it which files to upload.  It
  236.                couldn't get easier!
  237.  
  238.           * Aborted file crash recovery.
  239.                When desired, HS/Link can resume an aborted transfer,
  240.                verifying all existing data blocks to insure the resumed
  241.                file completely matches the file being transmitted.  This
  242.                function can also update a file that has only a small number
  243.                of changed, added, or deleted blocks.
  244.  
  245.                                                                           4
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.                                  Command Line Format
  254.           _________________________________________________________________
  255.  
  256.           To run the HSLINK program, a command line must be given.  The
  257.           command line has the following format:
  258.  
  259.           HSLINK [options] [SENDFILE] [@DRIVE:\PATH\FILELIST]
  260.  
  261.           SENDFILE       Indicates a list of files to be transmitted to
  262.                          remote computer.  The list may include the DOS
  263.                          wildcard characters '?' and '*'.  Specify ONLY
  264.                          files to be transmitted; received file names are
  265.                          determined automatically.
  266.  
  267.           @FILELIST      Transmit list of files contained in FILELIST to
  268.                          remote computer.  This is used when you want to
  269.                          make a long list of files in advance, then
  270.                          transmit them all with a single command.  It is
  271.                          also used by BBS programs to produce long batches
  272.                          of downloads.
  273.  
  274.           Anything shown in brackets "[]" is optional and may not need to
  275.           be specified for proper operation of HS/Link.
  276.  
  277.           The HSLINK command line is NOT case sensitive, and will work when
  278.           typed in upper, lower or mixed case.
  279.  
  280.           Please make sure that HSLINK.EXE is in a search PATH directory.
  281.  
  282.                               Basic Command Line Options
  283.           _________________________________________________________________
  284.  
  285.           The most important command line options are -P (set COM port), -U
  286.           (set download file directory), and -HS (enable slow handshake).
  287.  
  288.           -Pport    This option specifies which COM port you are using.
  289.                     Example:  -P2
  290.  
  291.           -Udir     This option controls the destination directory for
  292.                     downloaded files.  Without this option, all download
  293.                     files are placed into the current directory.
  294.                     Example:  -Uc:\bbsfiles
  295.  
  296.           -HS       Handshake Slow (send XOFF and/or lower RTS during disk
  297.                     I/O).  This option may be required if your computer is
  298.                     unable to simultaneously access the disk and the COM
  299.                     port.  If you see frequent CRC error messages, even on
  300.                     clean phone lines, you probably need to include -HS in
  301.                     your command line.
  302.  
  303.           To abort an HS/Link transfer, press Control-X four or more times. 
  304.  
  305.  
  306.                                                                           5
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.                               Full Screen Status Display
  315.           _________________________________________________________________
  316.  
  317.           Then HS/Link is operating, it produces a full screen status
  318.           display.  This display is divided into four windows.  Here is an
  319.           example of a status display:
  320.  
  321. ╒═══  HS/Link  Version 1.0ßC5 (11/21/91)   Copyright 1991 Samuel H. Smith  ═╕
  322. │ [UNREGISTERED] Courtesy of The Tool Shop BBS (818) 891-6780.              │
  323. │ Command line: -@tolap.cfg TEST\*.ZIP -HS                                  │
  324. └───────────────────────────────────────────────────────────────────────────┘
  325.  
  326. ╒═════════  Receiver (InComing Files)  ════════╕  ╒══════  Settings  ═══════╕
  327. │                                              │  │                         │
  328. │ Finished.                                    │  │   COM2 open at: 115200  │
  329. │                                              │  │ Remote Serial#: NONE    │
  330. │                                              │  │ Remote Version: 1.0ßC5  │
  331. │                                              │  │         Window: 8       │
  332. └──────────────────────────────────────────────┘  │     Block size: 4096    │
  333.                                                   │       XON/XOFF: ON      │
  334. ╒════════  Transmitter (OutGoing Files)  ══════╕  │  CTS handshake: OFF     │
  335. │                                              │  │  RTS handshake: OFF     │
  336. │ TEST\HSLINK.ZIP (51 blocks, 205871 bytes)    │  │ Slow handshake: ON      │
  337. │ Block 31 (126976 bytes/w:3) 10132 ch/sec     │  │         Resume: OFF     │
  338. │                                              │  │   Keep partial: ON      │
  339. │                                              │  │      Overwrite: ON      │
  340. └──────────────────────────────────────────────┘  └─  ^X^X^X^X to abort!  ──┘
  341.  
  342.           The first window contains the program identification and
  343.           copyright.  When you register your copy of HSLINK, this window
  344.           will also show the registered serial number.  Some warning
  345.           messages may also appear in this window
  346.  
  347.           The "settings" window shows a summary of the various parameters
  348.           that can be altered with command line options.
  349.  
  350.           The "receiver" window shows the status of files being received
  351.           from the remote system.
  352.  
  353.           The "transmitter" window shows the status of files being
  354.           transmitted to the remote system.
  355.  
  356.           If desired, the full screen status display can be turned off.  To
  357.           do this, use the -NF command line option.  When running in -NF
  358.           mode, a simple line-oriented status display will scroll down the
  359.           screen.  This may be desired under some circumstances.
  360.  
  361.           To stop this bleedthrough under DesqView or DoubleDOS, use the -
  362.           NV option to disable direct video writing.  The result will be a
  363.           slightly slower display, but it will not bleed from one partition
  364.           to another.
  365.  
  366.  
  367.                                                                           6
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.                             HS/Link Configuration Manager
  376.           _________________________________________________________________
  377.  
  378.           HSLINK includes the HS/Link Configuration Manager program,
  379.           HSCONFIG.  With this program you can easily manipulate most of
  380.           HS/Link's many options.
  381.  
  382.           The opening for HSCONFIG looks like this:
  383.  
  384. Node-3 L:\HSL >HSCONFIG
  385.  
  386.  
  387.        ┌────────────────── New Configuration ─────────────────────┐
  388.        │                                                          │
  389.        │ The specified configuration file cannot be located.      │
  390.        │                                                          │
  391.        │ This probably indicates that you are creating a new      │
  392.        │ configuration for HS/Link.  All options will be set      │
  393.        │ to default values.                                       │
  394.        │                                                          │
  395.        │ Alternate configuration files can be specified on        │
  396.        │ the command line to HSCONFIG.  The default configuration │
  397.        │ file is HSLINK.CFG, and it may be located either in the  │
  398.        │ current directory, or in any PATH directory.             │
  399.        │                                                          │
  400.        │ Press <ENTER> or <ESC> to continue.                      │
  401.        │                                                          │
  402.        │  Index  <ESC>                                            │
  403.        └──────────────────────────────────────────────────────────┘
  404.  
  405.  
  406.  
  407. Can't find: HSLINK.CFG
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.                                                                           7
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.           The primary screen is the "Basic Settings" screen, which controls
  438.           the most important settings for HS/Link operation.  The other
  439.           screens contain advanced settings that need not be changed until
  440.           you become more familiar with the program and begin to explore
  441.           the advanced capabilities.
  442.  
  443.  ╒════════════════════════ HS/Link: Basic Settings ════════════════════════╕
  444.  │                                                                         │
  445.  │    These are the most important settings for proper HS/Link operation   │
  446.  │                                                                         │
  447.  │  COM port number (1-8) . . . . . . . . . . . 1                          │
  448.  │                                                                         │
  449.  │  Directory for downloaded files. . . . . . . __________________________ │
  450.  │                                                                         │
  451.  │  Use "SLOW HANDSHAKE" during disk I/O. . . . N                          │
  452.  │                                                                         │
  453.  ╘═════════════════════════════════════════════════════════════════════════╛
  454.  
  455.             ┌──────────────────── Welcome! ───────────────────────┐
  456.             │ Welcome to the HS/Link Configuration Manager.       │
  457.             │ The easy way to handle HS/Link configuration files. │
  458.             │                                                     │
  459.             │ Use the arrow keys to select entries on this page.  │
  460.             │ Use the PgUp/PgDn keys to change pages.             │
  461.             │ Press ESC to save changes when you are finished.    │
  462.             │                                                     │
  463.             │ Use the F1 key to get HELP at any prompt.           │
  464.             └─────────────────────────────────────────────────────┘
  465.  
  466.   PgDn [next page]     PgUp [prior page]             F1 [help]     ESC [exit]
  467.  
  468.           The HSCONFIG program contains context sensitive pop-up help for
  469.           each and every input prompt.  Simply press the F1 key to get an
  470.           explanation of the current entry.  For example:
  471.  
  472.        ┌───────────────────────────── -U ────────────────────────────────┐
  473.        │ -Udir  > Download directory.                                    │
  474.        │                                                                 │
  475.        │ This option controls the destination directory for downloaded   │
  476.        │ files.  Without this option, all download files are placed into │
  477.        │ the current directory.                                          │
  478.        │                                                                 │
  479.        │  Index  <ESC>                                                   │
  480.        └─────────────────────────────────────────────────────────────────┘
  481.  
  482.           When in the online help system, press the SPACE and BACKSPACE
  483.           keys to select from the topics available at the bottom of the
  484.           window, and press ENTER to select a topic.  Press ESCAPE to
  485.           return to the prior screen.
  486.  
  487.  
  488.  
  489.                                                                           8
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.           The "Advanced COM Settings" screen determines the settings of
  499.           many communications related options.  See the following section,
  500.           "Advanced Options" for a description of each of these options.
  501.  
  502.  ╒═════════════════════ HS/Link: Advanced COM Settings ═══════════════════OVR═╕
  503.  │                                                                            │
  504.  │          These settings control advanced communication features            │
  505.  │                                                                            │
  506.  │  Non-Standard COM base (in DECIMAL, 0 = standard COM port) . . . . 0░░░    │
  507.  │                                                                            │
  508.  │  Non-Standard COM IRQ (1-7, 0 = standard COM port) . . . . . . . . 0_      │
  509.  │                                                                            │
  510.  │  COM port open speed (300-115200, 0 = automatic) . . . . . . . . . 0_____  │
  511.  │                                                                            │
  512.  │  Effective modem-to-modem speed (0 = same as open speed) . . . . . 0_____  │
  513.  │                                                                            │
  514.  │  Enable CTS hardware handshake . . . . . . . . . . . . . . . . . . Y       │
  515.  │                                                                            │
  516.  │  Enable RTS hardware handshake . . . . . . . . . . . . . . . . . . Y       │
  517.  │                                                                            │
  518.  │  Enable XON/XOFF software handshake. . . . . . . . . . . . . . . . Y       │
  519.  │                                                                            │
  520.  │  Enable Carrier Detect checking. . . . . . . . . . . . . . . . . . Y       │
  521.  │                                                                            │
  522.  │  Preserve original time/date stamp on received files . . . . . . . Y       │
  523.  │                                                                            │
  524.  ╘════════════════════════════════════════════════════════════════════════════╛
  525.                                                                            
  526.   PgDn [next page]     PgUp [prior page]             F1 [help]     ESC [exit]
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.                                                                           9
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.           The "Advanced Optional Features" screen controls many advanced
  560.           protocol features.  See the following section, "Advanced Options"
  561.           for a description of each of these options.
  562.  
  563.  ╒══════════════════ HS/Link: Advanced Optional Features ═════════════════OVR═╕
  564.  │                                                                            │
  565.  │             These settings control various optional features               │
  566.  │                                                                            │
  567.  │  Attempt to Resume aborted transfers . . . . . . . . . . . . . . . N       │
  568.  │                                                                            │
  569.  │  Keep partial files from aborted transfers . . . . . . . . . . . . N       │
  570.  │                                                                            │
  571.  │  Allow received files to overwrite/modify existing files . . . . . N       │
  572.  │                                                                            │
  573.  │  Enable file read/write buffering. . . . . . . . . . . . . . . . . Y       │
  574.  │                                                                            │
  575.  │  Enable "Dynamice-Code-Substitution" logic . . . . . . . . . . . . Y       │
  576.  │                                                                            │
  577.  │  Size of transmitted data blocks (64-4096 bytes/block) . . . . . . 1024    │
  578.  │                                                                            │
  579.  │  Number of blocks in transit before ACK is required (0-20) . . . . 8_      │
  580.  │                                                                            │
  581.  │  Disable transmission of ACK for each block received . . . . . . . N       │
  582.  │                                                                            │
  583.  │  Force remote unit to use local option settings. . . . . . . . . . N       │
  584.  │                                                                            │
  585.  ╘════════════════════════════════════════════════════════════════════════════╛
  586.                                                                            
  587.   PgDn [next page]     PgUp [prior page]             F1 [help]     ESC [exit]
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.                                                                          10
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.           The "Screen Settings" screen allows you to control the format of
  621.           the status display screen, the colors to be used, and to enable
  622.           or disable direct-video screen updates.
  623.  
  624.  ╒════════════════════════ HS/Link: Screen Settings ══════════════════════OVR═╕
  625.  │                                                                            │
  626.  │            These settings control the screen format and colors             │
  627.  │                                                                            │
  628.  │  Enable Full-Screen status display . . . . . . . . . . . . . . . . Y       │
  629.  │  Enable direct video writing (turn off in DesqView/DoubleDOS/etc). Y       │
  630.  │                                                                            │
  631.  │  Color of BORDER in full screen mode . . . . . . . . . . . . . . . 7__     │
  632.  │  Color of PROMPTS in full screen mode. . . . . . . . . . . . . . . 47_     │
  633.  │  Color of WINDOW TITLE in full screen mode . . . . . . . . . . . . 79_     │
  634.  │  Color of WINDOW CONTENTS in full screen mode. . . . . . . . . . . 31_     │
  635.  │                                                                            │
  636.  ╘════════════════════════════════════════════════════════════════════════════╛
  637.      ┌── Color Table ───────────────────────────────────────────────────┐
  638.      │   0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  │
  639.      │  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  │
  640.      │  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  │
  641.      │  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  │
  642.      │  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  │
  643.      │  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  │
  644.      │  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111  │
  645.      │ 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127  │
  646.      └──────────────────────────────────────────────────────────────────┘
  647.  
  648.   PgDn [next page]     PgUp [prior page]             F1 [help]     ESC [exit]
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.                                                                          11
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.                             Advanced Command Line Options
  681.           _________________________________________________________________
  682.  
  683.           The HS/Link protocol program has a number of command line
  684.           options, most of which are rarely needed, or which are provided
  685.           for advanced users to obtain maximum performance and flexibility.
  686.  
  687.           -@fname
  688.                Uses fname as an alternate configuration file.  Each line in
  689.                the specified file may contain a single command line option. 
  690.                The default is to search PATH directories for HSLINK.CFG.
  691.  
  692.           -!
  693.                Take priority.  Locally specified -A, -HX, -S, and -W
  694.                settings will be used by the remote system.
  695.  
  696.           -A
  697.                Disable transmission of ACK codes after each block.  This
  698.                may improve transfer speeds under some conditions.
  699.  
  700.           -Bbaud
  701.                Open COM port at 300..115200 (default=current port speed).
  702.                This option controls the speed at which the COM port will be
  703.                opened.  Normally, the COM port speed can be determined from
  704.                hardware and need not be specified.
  705.  
  706.           -C
  707.                Disable carrier detect checking.
  708.  
  709.           -CB
  710.                Defines the border color in full screen mode.
  711.  
  712.           -CM
  713.                Defines the main screen color in full screen mode.
  714.  
  715.           -CT
  716.                Defines the window title color in full screen mode.
  717.  
  718.           -CW
  719.                Defines the window contents color in full screen mode.
  720.  
  721.           -Ebaud
  722.                Effective modem-to-modem baud rate.
  723.                This is used to estimate transfer times, and is included in
  724.                the DSZLOG output.  (default=current -B setting)
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.                                                                          12
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.           -HC
  742.                Disables CTS hardware handshake.
  743.                CTS transmitter handshake is automatically enabled, but may
  744.                conflict with some unusual modem cables or serial ports.  If
  745.                the CTS signal is not active when HSLINK loads, it will
  746.                automatically disable CTS handshake for you.  Use the -HC
  747.                command to manually disable CTS handshake.
  748.  
  749.           -HR
  750.                Disables RTS hardware handshake.
  751.                RTS receiver handshake is used when the slow-handshake
  752.                option is selected.  This form of handshake causes the RTS
  753.                line to the modem to be lowered whenever the disk is being
  754.                accessed.  Some unusual modem or cable arrangements may not
  755.                tolerate the RTS line being lowered.  In this case, the RTS
  756.                handshake can be disabled with the -HR option.
  757.  
  758.           -HS
  759.                Handshake Slow (send XOFF and/or lower RTS during disk I/O).
  760.                The slow handshake option is available for systems with slow
  761.                disk access.  Use this if you get frequent CRC errors or COM
  762.                Overrun errors on otherwise clean lines.  The slow handshake
  763.                option causes XOFF to be sent and/or RTS to be lowered
  764.                during any disk activity.  Even when -HS is active, the
  765.                HS/Link protocol should transfer data very nearly as fast as
  766.                the slowest part of the link allows.
  767.  
  768.           -HX
  769.                Disable XON/XOFF handshake.
  770.                XON/XOFF handshake is a software handshake scheme that
  771.                should work well on all combinations of modems and networks,
  772.                and is enabled by default.  If you prefer not to use
  773.                XON/XOFF handshake, or you find that it is not required for
  774.                error-free transfer, you can disable it with the -HX option.
  775.  
  776.                Note that both the sender and the receiver must
  777.                simultaneously disable XON/XOFF handshake, otherwise it will
  778.                remain in effect.
  779.  
  780.           -K
  781.                Keep partial files from aborted transfers.
  782.  
  783.           -O
  784.                Allow receive files to overwrite existing files.
  785.  
  786.           -NB
  787.                Disable buffering of receive and transmit files.
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.                                                                          13
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.           -NC
  803.                Disable Dynamic Code Substitution logic.
  804.                Certain byte codes cannot be transmitted directly over the
  805.                COM link. For instance, the codes for Control-X, Control-S
  806.                and Control-Q must be "escaped" to prevent a conflict with
  807.                flow or program control.
  808.  
  809.                The HS/Link protocol uses a new Dynamic Code Substitution
  810.                system to drastically reduce number protocol overhead and
  811.                "escape" codes needed to transmit certain data streams.
  812.  
  813.                Highly compressed data files (such as ZIP and GIF files)
  814.                benefit the most, since they often have many byte codes that
  815.                cannot be transmitted directly over the COM link.
  816.  
  817.           -NF
  818.                Disable Full screen mode.  The standard status display takes
  819.                over the full screen (except the top 2 lines, which may
  820.                contain a BBS status line).  This option bypasses the full
  821.                screen display and causes a line-oriented output to be used. 
  822.                Use this option if your environment's screen management does
  823.                not allow a full-screen display.
  824.  
  825.           -NM
  826.                Enable Minimal Blocks logic.  Use with caution.
  827.  
  828.           -NT
  829.                Stamp current file time.   This option stamps the current
  830.                time/date on received files, instead of retaining the
  831.                original file time/date.
  832.  
  833.           -NU
  834.                Block uploads.   This option is used by BBS programs that
  835.                cannot (yet) cope with bidirectional uploads.  It is used in
  836.                place of the -U option on the 'download' command line, and
  837.                has the effect of blocking any simultaneous upload requests
  838.                from a user.
  839.  
  840.           -NV
  841.                Disable direct Video for DesqView/DoubleDOS/etc.  Use this
  842.                option is you experience "bleeding" of the status display
  843.                from one partition to another.
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.                                                                          14
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.           -Pport
  865.                Use COM port 1..8 (default=1)
  866.  
  867.                     Channel   I/O Port  Interrupt
  868.                      COM1      0x3F8     4
  869.                      COM2      0x2F8     3
  870.                      COM3      0x3E8     4
  871.                      COM4      0x2E8     3
  872.                      COM5      undefined
  873.                      COM6      undefined
  874.                      COM7      0x2E8     5
  875.                      COM8      0x3E8     5
  876.  
  877.           -PBbase
  878.                Set non-standard COM port base address (specify base address
  879.                decimal, NOT hex).
  880.  
  881.           -PIirq
  882.                Set non-standard COM port IRQ level.
  883.  
  884.           -R
  885.                Resume aborted transfer.    The receiver and transmitter
  886.                will verify the contents of an existing file, and will begin
  887.                transmission at the first block that does not match.  This
  888.                provides a reliable means of restarting an aborted transfer,
  889.                or of updating a modified file.  You must also use -O to
  890.                recover aborted downloads.
  891.  
  892.           -Ssize
  893.                Sets transmit block size 2..4096 (default=1024) Larger block
  894.                sizes may result in higher transfer speeds under clean line
  895.                conditions.
  896.  
  897.           -Udir
  898.                Destination directory for received files (default=current
  899.                directory)
  900.  
  901.           -Wwindow
  902.                Number of blocks allowed without ACK 0..20 (default=8) 
  903.                Use -A to establish an "infinite" window (i.e. no ACK
  904.                required at all).
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.                                                                          15
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.                                     User Examples
  925.           _________________________________________________________________
  926.  
  927.           HSLINK -?
  928.                Display a summary of HS/Link command line formats.
  929.  
  930.           HSLINK -P1
  931.                Download from a BBS using HS/Link.  COM1 will be used at the
  932.                current port speed.  Received files will go into the current
  933.                directory.
  934.  
  935.           HSLINK -P2 -Uc:\bbsfiles -K
  936.                Download from a BBS using HS/Link.  COM2 will be used at the
  937.                current port speed.  Received files will go into the
  938.                c:\bbsfiles directory.  Partial files from aborted transfers
  939.                will be kept.
  940.  
  941.           HSLINK -P1 -Uc:\bbsfiles -R -K -O
  942.                Continue an aborted download from a BBS using HS/Link.  COM1
  943.                will be used at the current port speed.  Received files will
  944.                go into the c:\bbsfiles directory.
  945.  
  946.           HSLINK -Uc:\bbsfiles c:\uploads\*.zip
  947.                Download from a BBS using HS/Link.  COM1 will be used at the
  948.                current port speed.  Received files will go into the
  949.                c:\bbsfiles directory.  Simultaneously upload all *.ZIP
  950.                files in the c:\uploads subdirectory.
  951.  
  952.           HSLINK file1.zip file2.zip file3.zip
  953.                Upload to a BBS using HS/Link.  COM1 will be used at the
  954.                current port speed.  Simultaneously downloads selected files
  955.                from the BBS into the current directory.
  956.  
  957.           HSLINK -b38400 -p2 -c -hs -hc -a file1.zip file2.zip
  958.                Communicate files with a laptop computer using port COM2 and
  959.                a three wire null modem cable.
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.                                                                          16
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.                           Calling HS/Link from COMM programs
  986.           _________________________________________________________________
  987.  
  988.           The HS/Link protocol can be easily installed in most modern COMM
  989.           programs.  Specific instructions have been prepared for many
  990.           popular COMM programs, and are available in separate files for
  991.           download.
  992.  
  993.                Communication program         Instructions posted in
  994.                _____________________         _______________________
  995.  
  996.                BOYAN 5.0                     HS-BOYAN.ZIP
  997.                {COMMO}                       HS-COMMO.ZIP
  998.                GT POWER 15.50                HS-GT15.ZIP
  999.                PROCOMM PLUS and
  1000.                PROCOMM PLUS TEST DRIVE       HS-PCPTD.ZIP
  1001.                QMODEM 4.3                    HS-QMOD.ZIP
  1002.                ROBO COMM 3.1                 HS-RC31.ZIP
  1003.                TELEMATE 2.1                  HS-TMATE.ZIP
  1004.                TELIX 3.1                     HS-TELIX.ZIP
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.                                                                          17
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.                           Calling HS/Link from BBS programs
  1047.           _________________________________________________________________
  1048.  
  1049.           The HS/Link protocol can easily be installed in most modern BBS
  1050.           programs as an external protocol.  Specific instructions have
  1051.           been prepared for many popular BBS programs, and are available in
  1052.           separate files for download.
  1053.  
  1054.                BBS program                        Instructions posted in
  1055.                ___________________________        _______________________
  1056.  
  1057.                GAP 5.1                            HS-GAP51.ZIP
  1058.                PCBOARD 14.5                       HS-145.ZIP
  1059.                PCBOARD 14.5a                      HS-145A.ZIP
  1060.                PROBOARD 1.17                      HS-PB117.ZIP
  1061.                PRODOOR 3.43                       HS-PROD.ZIP
  1062.                Searchlight BBS                    HS-SLBBS.ZIP
  1063.                Spitfire BBS version 3.0           HS-SF30.ZIP
  1064.                UltraBBS version 2.08              HS-UB208.ZIP
  1065.                Wildcat!  BBS version 3.01         HS-WC301.ZIP
  1066.  
  1067.  
  1068.  
  1069.           BBS Requirements
  1070.           ================
  1071.  
  1072.           HS/Link's demands on a bulletin board program are extremely easy
  1073.           to fill.  The following is all that is necessary:
  1074.  
  1075.           1)   The protocol accepts either a filename to download or a list
  1076.                of files of the form @DRIVE:\PATH\DOWNLIST.LST.  The
  1077.                protocol will send only one file if a filename (without
  1078.                leading @) is sent or all of the files found in
  1079.                C:\BBS\DOWNLIST.LST if @C:\BBS\DOWNLIST.LST is specified.
  1080.  
  1081.           2)   The protocol will create a DSZLOG compatible log file
  1082.                indicating the names of all files transferred as well as
  1083.                their status (refer to the DSZ standard and the "DSZLOG
  1084.                Statistic Logging" section for the specific contents of the
  1085.                file).
  1086.  
  1087.           3)   Any files found in the DSZLOG file which BBS did not tell
  1088.                the protocol to SEND are assumed to have instead been
  1089.                RECEIVED by the protocol.  The BBS should then check for the
  1090.                existence of such files and if found post them in the upload
  1091.                directory.
  1092.  
  1093.           If the BBS program is not yet able to cope with bidirectional
  1094.           uploads, the -NU option can be used on the 'download' command
  1095.           line to prevent attempts to perform a bidirectional upload.
  1096.  
  1097.  
  1098.  
  1099.                                                                          18
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.                                  Buffered ASYNC chips
  1108.           _________________________________________________________________
  1109.  
  1110.           The National NS16550AN is a pin compatible plug in replacement
  1111.           for 8250 and 16450 serial chips.  It contains hardware buffering
  1112.           to allow faster operation in systems with high interrupt service
  1113.           latency.
  1114.  
  1115.           If you have an NS16550AN buffered UART chip, HS/Link will
  1116.           automatically enable buffering for better performance with high
  1117.           speed modems and multi-tasking environments.
  1118.  
  1119.  
  1120.                                      Flow Control
  1121.           _________________________________________________________________
  1122.  
  1123.           Flow Control is required when the sending and receiving computers
  1124.           or modems operate at different speeds, or when computers are
  1125.           unable to simultaneously access disk drives and the COM port. 
  1126.           Flow Control is a software and/or hardware means of slowing down
  1127.           the faster parts of the connection to prevent overloading the
  1128.           slower parts of the system.
  1129.  
  1130.           HS/Link uses both XON/XOFF (software) and RTS/CTS (hardware)
  1131.           handshake when communicating with high speed modems or slow
  1132.           packet switched networks.  The protocol also uses a window
  1133.           algorithm to suspend data transmission if the receiver does not
  1134.           eventually respond to transmitted data.
  1135.  
  1136.           XON/XOFF handshake is a software handshake scheme that should
  1137.           work well on all combinations of modems and networks, and is
  1138.           enabled by default.  If you prefer not to use XON/XOFF handshake,
  1139.           or you find that it is not required for error-free transfer, you
  1140.           can disable it with the -HX option.  Note that both the sender
  1141.           and the receiver must simultaneously disable XON/XOFF handshake,
  1142.           otherwise it will remain in effect.
  1143.  
  1144.           The slow handshake option (-HS) is available for systems with
  1145.           slow disk access.  Use this if you get frequent CRC errors or COM
  1146.           Overrun errors on otherwise clean lines.  The slow handshake
  1147.           option causes XOFF to be sent and/or RTS to be lowered during any
  1148.           disk activity.  Even when -HS is active, the HS/Link protocol
  1149.           should transfer data very nearly as fast as the slowest part of
  1150.           the link allows.
  1151.  
  1152.           CTS transmitter handshake is automatically enabled, but may
  1153.           conflict with some unusual modem cables or serial ports.  If the
  1154.           CTS signal is not active when HSLINK loads, it will automatically
  1155.           disable CTS handshake for you.  Use the -HC command to manually
  1156.           disable CTS handshake.
  1157.  
  1158.  
  1159.  
  1160.                                                                          19
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.           RTS receiver handshake is used when the slow-handshake option is
  1169.           selected.  This form of handshake causes the RTS line to the
  1170.           modem to be lowered whenever the disk is being accessed.  Some
  1171.           unusual modem or cable arrangements may not tolerate the RTS line
  1172.           being lowered.  In this case, the RTS handshake can be disabled
  1173.           with the -HR option.
  1174.  
  1175.           If you have frequent CRC errors or COM Overrun errors, which
  1176.           persist in spite of the handshake-slow option (-HS), you should
  1177.           consider upgrading your serial port from the usual 8250 to a
  1178.           newer, buffered NS16550AN chip.  The buffered chips are highly
  1179.           recommended if you are operating at high baud rates (>9600) or
  1180.           are accessing extended memory or are multi-tasking.
  1181.  
  1182.           I have also had reports that use of large numbers of dos BUFFERS
  1183.           in CONFIG.SYS can cause overrun errors.  Try reducing the BUFFERS
  1184.           setting to 10 or less, especially if you also use a DISK cache.
  1185.  
  1186.           Some disk cache programs have also been reported to cause overrun
  1187.           errors.  Try turning the cache OFF before calling HSLINK, and
  1188.           turning it back ON again after the transfer is completed.
  1189.  
  1190.           Some older CGA type display adapters and BIOS combinations may
  1191.           cause data loss during retrace delays (snow filtering).  If you
  1192.           experience unexplained data loss you may solve the problem by
  1193.           adding either -NV (no direct video writes) or -NF (disable full
  1194.           screen display) to the command line.
  1195.  
  1196.  
  1197.                            Full Streaming Data Transmission
  1198.           _________________________________________________________________
  1199.  
  1200.           The HS/Link protocol allows multiple data blocks to be
  1201.           transmitted before an acknowledgement is required by use of block
  1202.           numbers combined with a window algorithm.
  1203.  
  1204.           The protocol also allows acknowledgements to be combined with
  1205.           data flowing in the opposite direction, making it possible to
  1206.           achieve full streaming simultaneously in both directions over a
  1207.           full duplex communication link.
  1208.  
  1209.           Even though the transmitters operate in full streaming mode, the
  1210.           receivers normally will periodically acknowledge that data is
  1211.           being received.  This acknowledgement can be disabled with the -A
  1212.           option.
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.                                                                          20
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.                             Full Streaming Error Recovery
  1230.           _________________________________________________________________
  1231.  
  1232.           The HS/Link protocol has the unique ability to recover from many
  1233.           transmission errors without breaking out of full streaming mode.
  1234.  
  1235.           This is important with buffered modems or packet switched
  1236.           networks with long turnaround times.
  1237.  
  1238.           Conventional protocols, such as Zmodem, simply reposition the
  1239.           transmitter after an error, requiring a retransmission of not
  1240.           only the erroneous data, but also the entire stream of data that
  1241.           was in transit at the time the error was detected.
  1242.  
  1243.           The HS protocol can correct bad blocks without retransmitting
  1244.           intermixed good blocks, resulting in excellent transfer speeds
  1245.           under moderate noise conditions.
  1246.  
  1247.  
  1248.                               Dynamic Code Substitution
  1249.           _________________________________________________________________
  1250.  
  1251.           Certain byte codes cannot be transmitted directly over the COM
  1252.           link.  For instance, the codes for Control-X, Control-S and
  1253.           Control-Q must be "escaped" to prevent a conflict with flow or
  1254.           program control.
  1255.  
  1256.           The HS/Link protocol uses a new Dynamic Code Substitution system
  1257.           to drastically reduce number protocol overhead and "escape" codes
  1258.           needed to transmit certain data streams.
  1259.  
  1260.           Highly compressed data files (such as ZIP and GIF files) benefit
  1261.           the most, since they often have many byte codes that cannot be
  1262.           transmitted directly over the COM link.
  1263.  
  1264.           The Dynamic Code Substitution feature can be disabled, if you
  1265.           wish, with the -NC option.
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.                                                                          21
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.                             Transmission of Minimal Blocks
  1291.           _________________________________________________________________
  1292.  
  1293.           The HS/Link protocol includes a Minimal Blocks feature, which
  1294.           when activated, causes the protocol to strip away repeated
  1295.           information from the protocol frames and transmit only the
  1296.           minimal amount of information required for data flow.
  1297.  
  1298.           This feature results in a savings of over 50% of the normal
  1299.           protocol overhead characters in each block of data, while
  1300.           retaining full data integrity.  All data and control blocks are
  1301.           fully protected by a 32 bit CRC calculation, even when Minimal
  1302.           Blocks is in effect.
  1303.  
  1304.           The final block in a file rarely ends on an exact transfer block
  1305.           boundary.  The HS/Link protocol automatically shortens the final
  1306.           block, eliminating extraneous data transmission at the end of
  1307.           file.
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.                                                                          22
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.                                DSZLOG Statistic Logging
  1352.           _________________________________________________________________
  1353.  
  1354.           When you define the environment variable DSZLOG, the HSLINK
  1355.           program will enable transfer logging to the specified filename. 
  1356.           For example, the AUTOEXEC statement:
  1357.                SET DSZLOG=C:\LOGS\LOG.OUT
  1358.           will cause HSLINK to log files transmitted to C:\LOGS\LOG.OUT. 
  1359.           This form of logging provides compatibility with programs that
  1360.           are designed to operate with DSZ or other DSZLOG-type protocols.
  1361.  
  1362.           The log file consists of a single line of text for each file
  1363.           transferred.  Here are some sample log entries:
  1364.  
  1365.           H 126510 2400 bps 229 cps 2 errors 0 558 U:\PLAY1\VED203.ZIP 0
  1366.           h 188741 2400 bps 224 cps 4 errors 164 325 W:\ULW\TPE30.ZIP 0
  1367.           E 188741 2400 bps 0 cps 0 errors 6 325 W:\ULW\TPE30.ZIP 0 2
  1368.           h 45761 10100 bps 1083 cps 0 errors 18 705 U:\DL1\HSLK10B7.ZIP 3
  1369.           h 96545 10100 bps 1130 cps 0 errors 45 289 U:\DL1\PROD343.ZIP 3
  1370.           h 25316 38400 bps 3338 cps 0 errors 11 740 E:\UL\SHSISRC.ZIP 0
  1371.  
  1372.           Each line contains the following fields:
  1373.  
  1374.                Size      Description
  1375.                ----      -------------------------------------------
  1376.                1         'H'=receive, 'h'=send, 'E'=aborted, 'L'=lost
  1377.                          carrier.
  1378.                7         The length of the file, in bytes.   If the
  1379.                          transfer was aborted, this field will contain the
  1380.                          number of bytes transferred before the transfer
  1381.                          was aborted.
  1382.                6         The effective modem-to-modem connect speed.
  1383.                4         Literally ' bps'
  1384.                5         The average transfer rate, in characters per
  1385.                          second.
  1386.                4         Literally ' cps'
  1387.                4         The total number of blocks which required
  1388.                          retransmission during the transfer.
  1389.                7         Literally ' errors'
  1390.                6         The number of flow control restrictions.
  1391.                5         The length of the last block transferred in the
  1392.                          file.
  1393.                ?         The full pathname of the file which was
  1394.                          transferred.
  1395.                ?         The Serial Number of the remote copy of HSLINK, if
  1396.                          registered.
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.                                                                          23
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.                                  Configuration Files
  1413.           _________________________________________________________________
  1414.  
  1415.           Because of the large number of possible command line options, it
  1416.           is possible to store frequently used command options in a
  1417.           configuration file.  This eliminates the need to repeatedly type
  1418.           the options at a command line.  If you are calling HSLINK from
  1419.           multiple batch files, you can also use configuration files to
  1420.           store "common" options, that can be changed in one place rather
  1421.           than separately in the various batch files.
  1422.  
  1423.           HSLINK will search the current directory and then the PATH
  1424.           directories for HSLINK.CFG.  If this file is found, each file
  1425.           line is loaded as a command line option.
  1426.  
  1427.           If you want to use an alternate configuration file, use the -
  1428.           @fname command line option, which will cause 'fname' to be
  1429.           loaded.
  1430.  
  1431.           If -@fname is not the first command line option, the default
  1432.           HSLINK.CFG file will be searched for and loaded before the
  1433.           specified configuration file.
  1434.  
  1435.           Use -@ (without a filename) to prevent HSLINK from searching for
  1436.           a configuration file, slightly speeding operation on systems that
  1437.           have a long search PATH setting in effect.
  1438.  
  1439.  
  1440.                                   Network Compatible
  1441.           _________________________________________________________________
  1442.  
  1443.           All file processing is fully network and "share" compatible. 
  1444.           Because of this, you must use DOS 3.1 or later.
  1445.  
  1446.           All files transmitted or received with HS/Link retain their
  1447.           original exact size and time/date stamp.  No extraneous data is
  1448.           added beyond EOF as with some older protocols.  The current
  1449.           date/time will be stamped on incoming files if the -NT option is
  1450.           used.  Otherwise, the original file's time/date stamp will be
  1451.           retained.
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.                                                                          24
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.                                    Auto Downloading
  1474.           _________________________________________________________________
  1475.  
  1476.           It is possible for some terminal programs to support HS/Link auto
  1477.           downloading by means of "scripts" which wait for the HS/Link
  1478.           "ready" packet, and then shell out to the HSLINK receiver
  1479.           protocol.
  1480.  
  1481.           The HS/Link "ready" packet is repeated at 10 second intervals
  1482.           when waiting for the HSLINK receiver to be started.  The format
  1483.           of the "ready" packet is:
  1484.  
  1485.                ^B "R"
  1486.           or in hex,
  1487.                0x02 0x52
  1488.  
  1489.           When this sequence of characters is received during a terminal
  1490.           session, the HSLINK protocol should be executed.
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.                                                                          25
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.                                     Error Messages
  1535.           _________________________________________________________________
  1536.  
  1537.           Bad ____ CRC
  1538.                These messages indicate that an error was detected in a
  1539.                control message between the sender and the receiver.  All
  1540.                control packets are protected by a 32 bit CRC calculation to
  1541.                provide highly secure and reliable communication.
  1542.  
  1543.                If you repeatedly receive the "Bad ready packet CRC"
  1544.                message, it may indicate that the internal protocol formats
  1545.                have been changed and that you need to upgrade to a newer
  1546.                beta copy of HSLINK.
  1547.  
  1548.           Bad data CRC (#)
  1549.                This message indicates that an error was detected in a block
  1550.                of data in the file being received.  Error correction is
  1551.                automatic, because of Full-Streaming-Error-Correction, may
  1552.                occur without breaking the stream of data being received.
  1553.  
  1554.                If this message occurs at regular intervals, it is a sign of
  1555.                flow control failure.  In most cases, this can be corrected
  1556.                with the addition of the -HS command line option.
  1557.  
  1558.           COM#: Break!
  1559.           COM#: Framing!
  1560.           COM#: Overrun!
  1561.           COM#: Parity!
  1562.                These messages indicate that an error was detected in the
  1563.                serial port receiver.  Framing and Parity errors often
  1564.                indicate a baud rate mismatch.  Overrun errors usually
  1565.                indicate the need for flow control or for an upgrade to a
  1566.                buffered serial chip.  Overrun errors can often be reduced
  1567.                or eliminated with the use of the -HS command line option.
  1568.  
  1569.           Can't create file '___'
  1570.                This indicates that the received file could not be created. 
  1571.                This usually indicates that the directory specified in the -
  1572.                U command line option is invalid, or that the disk is full.
  1573.  
  1574.           Carrier lost!
  1575.                This indicates that Carrier detect was dropped, aborting the
  1576.                HSLINK session.  If your connection does not provide a
  1577.                carrier detect signal, you can disable this check with the -
  1578.                C command line option.  This is often required when directly
  1579.                connecting two computers by means of a "null modem" cable.
  1580.  
  1581.           Control-X abort!
  1582.                This indicates that the control-x character was received
  1583.                twice in succession, either over the COM port or from the
  1584.                local keyboard.
  1585.  
  1586.  
  1587.                                                                          26
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.           Disk write failure!  (#)
  1596.                This usually indicates that the disk is full and that
  1597.                further downloads cannot be received.
  1598.  
  1599.           YOU MAY NEED A NEWER HSLINK BETA!  UPDATE BETAS OFTEN!
  1600.           INCOMPATIBLE BETA COPY!
  1601.           PLEASE GET A NEWER HS/LINK BETA!
  1602.                These messages usually indicate that you need to upgrade to
  1603.                a newer beta of the HSLINK program.  Prior to the program's
  1604.                public release, there may occasionally be refinements in the
  1605.                internal protocol formats that makes older betas non-
  1606.                functional.
  1607.  
  1608.           Flow control released (#### t:# r:#)
  1609.                If output flow has been suspended by either software or
  1610.                hardware flow control for more than 15 seconds, the program
  1611.                will assume that there has been a failure of flow control
  1612.                and will release the hold so data can continue.  The codes
  1613.                in parenthesis indicate which flow controls were active at
  1614.                the time (C=CTS was down, T=transmitter XOFF was pending,
  1615.                R=receiver XOFF was pending, A=transmitter is currently
  1616.                active) and the counts of bytes in the transmit and receive
  1617.                holding queues.
  1618.  
  1619.           FILE was incomplete!  (# #)
  1620.                This message indicates that the transfer was aborted in some
  1621.                way before the specified file was completely received. 
  1622.                Normally incomplete files are erased from disk, but they
  1623.                will be retained of the -K command line option is used.
  1624.  
  1625.           Not allowed to overwrite existing file '___'
  1626.                This indicates that a file was received but there was
  1627.                another file with the same name already in the download file
  1628.                directory.  Either erase the duplicate file, or use the -O
  1629.                option to allow existing files to be overwritten.
  1630.  
  1631.           Insufficient memory to load program.
  1632.           Not enough memory!
  1633.                There was not enough memory available to run HSLINK.  Free
  1634.                additional memory by removing "TSR" software, device
  1635.                drivers, ramdisks or disk caches.  If your COMM program has
  1636.                the option of swapping to DISK or EMS, enable the option to
  1637.                free additional memory for HSLINK's use.  Current beta
  1638.                copies of HSLINK require about 64k of RAM, but the specific
  1639.                amount of memory required is subject to change from beta to
  1640.                beta.  You can reduce the amount of memory required if you
  1641.                use the -HB command line option to disable file buffering.
  1642.  
  1643.           Read failure at #
  1644.                This indicates that there was a disk error reading a file
  1645.                being transmitted.
  1646.  
  1647.  
  1648.                                                                          27
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.           Remote not responding!
  1657.                This indicates that the remote computer did not execute
  1658.                HSLINK and establish a connection within the two minute
  1659.                timeout period.
  1660.  
  1661.  
  1662.                                  Information Messages
  1663.           _________________________________________________________________
  1664.  
  1665.           Receive timeout (#)
  1666.           ACK timeout, resend #
  1667.                This message indicates that it has been too long since the
  1668.                receiver responded to data transmission.  The last data
  1669.                block is repeated in an attempt to wake up the receiver.
  1670.  
  1671.           Advance from block # to #
  1672.                After successful error recovery, the receiver may request
  1673.                the transmitter skip over blocks that have been previously
  1674.                received without error.
  1675.  
  1676.           Block size: #
  1677.                This message indicates the actual block size being used for
  1678.                file transfers.  The block size is controlled by the -W
  1679.                parameter, and may be overridden by the remote computer if
  1680.                the remote uses the -!  (take priority) option.
  1681.  
  1682.           COM#: # bps
  1683.                This message indicates the actual COM port speed in use,
  1684.                either as specified with the -B command line option, or as
  1685.                determined from the current hardware settings.
  1686.  
  1687.           HS/Link finished!  Exit code = #
  1688.                When HSLINK terminates, it sets the dos ERRORLEVEL to the
  1689.                specified value.  This can be checked in batch files to
  1690.                detect error conditions.  Under normal conditions, HSLINK
  1691.                exits with an ERRORLEVEL of 0.  If, however, the session
  1692.                terminated due to errors, or was aborted by the operator,
  1693.                the ERRORLEVEL will be non-0.  A non-zero ERRORLEVEL will
  1694.                also be returned if one or more files in a batch failed to
  1695.                transfer successfully, even though the remaining files were
  1696.                successful.  COMM and BBS programs should use the DSZLOG
  1697.                output file to determine more specific details of transfer
  1698.                results.
  1699.  
  1700.           File received OK, # ch/sec.
  1701.                The file was received correctly and is now closed.  The
  1702.                average transfer speed is calculated based on the elapsed
  1703.                time between receiving the file open packet and the last
  1704.                byte of the file.  Transfer speeds are calculated using the
  1705.                DOS timer tick, which is not accurate for transfers taking
  1706.                less than 1 second to complete.  For very short transfers, a
  1707.                cps rating of 9999 will be returned.
  1708.  
  1709.                                                                          28
  1710.  
  1711.  
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.           File sent OK, # ch/sec.
  1718.                The file was transmitted correctly and is now closed.  The
  1719.                average transfer speed is calculated based on the elapsed
  1720.                time between sending the first byte of the file and the last
  1721.                byte of the file.  Transfer speeds are calculated using the
  1722.                DOS timer tick, which is not accurate for transfers taking
  1723.                less than 1 second to complete.  For very short transfers, a
  1724.                cps rating of 9999 will be returned.
  1725.  
  1726.           File skipped!
  1727.                The transmitter prints this message when the receiver
  1728.                requests the current file be skipped.  This usually happens
  1729.                when the receiver detects a duplicate filename and is not
  1730.                allowed to overwrite existing files.
  1731.  
  1732.           Handshake: CTS XON/XOFF SLOW
  1733.                This message indicates the current combination of flow
  1734.                control options that are in effect.  CTS indicates CTS
  1735.                hardware flow control is active.  XON/XOFF indicates that
  1736.                XON/XOFF software flow control is active.  SLOW indicates
  1737.                that flow will be restrained during disk I/O to prevent
  1738.                overrun errors.
  1739.  
  1740.           Out of sequence # (#)
  1741.                This indicates that the received block was out of sequence,
  1742.                indicating that a block was possibly missed or lost during
  1743.                transmission.  The receiver will request the transmitter to
  1744.                retransmit the missing block(s).
  1745.  
  1746.           Received block # (# bytes)
  1747.                This displays the current status of the file being received. 
  1748.                The current number of blocks and bytes received is displayed
  1749.                after each block is received.
  1750.  
  1751.           Received block # (# bytes) E#
  1752.                When "E#" is displayed following the received block #
  1753.                message, it indicates that error recovery is in progress,
  1754.                and that the specified block number was in error and is in
  1755.                transit from the transmitter.  When the erroneous block has
  1756.                been received correctly the E# display will advance to the
  1757.                next erroneous block number, or will be erased if no more
  1758.                erroneous blocks are pending.
  1759.  
  1760.           Received block # (# bytes) R
  1761.                When "R" is displayed following the received block #
  1762.                message, it indicates that current block has been previously
  1763.                received correctly and is therefore a "repeat" block. 
  1764.                Repeat blocks occur under severe error conditions and are
  1765.                usually corrected automatically.
  1766.  
  1767.           Receiving file: ___ (# blocks, # bytes)
  1768.                This message indicates that a new file is being received
  1769.  
  1770.                                                                          29
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.                from the transmitter.  The file size is displayed in blocks
  1779.                and bytes.
  1780.  
  1781.           Resending block #
  1782.                This message indicates that the receiver has detected an
  1783.                erroneous block and is requesting a retransmission to
  1784.                correct the data.  Data flow continues where it left off
  1785.                prior to the resend, allowing error recovery to take place
  1786.                without breaking out of full streaming mode and without
  1787.                discarding data that is already in transit to the receiver. 
  1788.                This is the basis of Full- Streaming-Error-Correction.
  1789.  
  1790.           Restarting current file
  1791.                This indicates that the receiver was unable to recover from
  1792.                errors encountered in processing the current file being
  1793.                transmitted, and has requested that the file be started
  1794.                again from scratch.
  1795.  
  1796.           Seek from block # to #
  1797.                Under the most severe error conditions, the receiver may
  1798.                request the transmitter to discard data that is in transit
  1799.                to the receiver and to rewind to an earlier position in the
  1800.                file and resume transmission.
  1801.  
  1802.           Sending block # (w:#)
  1803.                This is the normal status display while a file is being
  1804.                transmitted.  The message indicates the latest block number
  1805.                to be transmitted, and in parenthesis indicates the current
  1806.                number of blocks that have been transmitted without
  1807.                acknowledgement.  This last value represents the size of the
  1808.                transmit "window" that is currently in use.  If this value
  1809.                hangs at the current -W setting, you may benefit from a
  1810.                higher -W setting on the command line.
  1811.  
  1812.           Sending file: ___ (# blocks, # bytes)
  1813.                This message indicates that a new file is being transmitted
  1814.                to the receiver.  The file size is displayed in blocks and
  1815.                bytes.
  1816.  
  1817.           Transfer aborted!
  1818.                This message indicates that the current file transfer has
  1819.                been aborted for some reason.  The specific reason for the
  1820.                transfer abort is usually also printed on the screen.
  1821.  
  1822.           Waiting for remote.
  1823.                This message indicates that HSLINK is waiting to handshake
  1824.                with the remote computer.  HSLINK will wait for 60 seconds
  1825.                for the other computer to come online; after that the
  1826.                transfer is aborted.
  1827.  
  1828.           Warning: CTS signal missing!  -HC will be assumed.
  1829.                The CTS hardware handshake is normally enabled by default. 
  1830.  
  1831.                                                                          30
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.                If, on initial loading, HSLINK finds that the CTS signal is
  1840.                down, it assumes that the current hardware configuration is
  1841.                not using CTS handshake and automatically disables further
  1842.                CTS handshake checks.  Use the -HC command line to manually
  1843.                disable CTS handshake.
  1844.  
  1845.           Window: #
  1846.                This indicates the actual number of blocks that are allowed
  1847.                to be in transit without acknowledgement.  This is
  1848.                controlled by the -W parameter, and may be overridden by the
  1849.                remote computer if the remote uses the -!  (take priority)
  1850.                option.
  1851.  
  1852.           Window: NONE
  1853.                This indicates that the -A command line option has been
  1854.                specified, and that the transmitter is required to continue
  1855.                indefinitely without receiving any kind of acknowledgement
  1856.                from the receiver that data is being received correctly.
  1857.  
  1858.  
  1859.  
  1860.  
  1861.  
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.  
  1868.  
  1869.  
  1870.  
  1871.  
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.                                                                          31
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.                                License and Registration
  1901.           _________________________________________________________________
  1902.  
  1903.           This program is not free!  You are hereby licensed to use this
  1904.           program for a trial period of 30 days free of charge.  If, after
  1905.           30 days, you decide that you would like to continue using HSLINK,
  1906.           you must complete the registration form (REGISTER.FRM) and return
  1907.           it to the author with the required registration fee enclosed.
  1908.  
  1909.           HSLINK registration costs $15 US, which includes a registration
  1910.           certificate showing a Serial Number and Password.  For $25 US, a
  1911.           disk containing the latest release of HSLINK, along with a
  1912.           registration certificate can be obtained.  Printed and bound
  1913.           operation manuals are also available for $15 each.  Each
  1914.           registration is valid for use on a single CPU or on a single BBS
  1915.           system (multi-node systems require only a single registration).
  1916.  
  1917.           Please feel free to distribute unregistered HSLINK to your
  1918.           friends and local BBSes as long as all of the files in this
  1919.           archive are included and unmodified.
  1920.  
  1921.           Send your registration payment to:
  1922.                SAMUEL H.  SMITH
  1923.                P.  O.  BOX 4808
  1924.                PANORAMA CITY, CA 91412-4808
  1925.  
  1926.  
  1927.                      LICENSE AGREEMENT FOR SHAREWARE DISTRIBUTORS
  1928.  
  1929.           Shareware distributors may distribute this program as long as the
  1930.           author has been notified prior to ANY distribution.  The "per
  1931.           disk" charge may not exceed $10 and the shareware distributor
  1932.           will not change the above license agreement for the end user of
  1933.           HSLINK.  End users are not exempt from the HSLINK registration
  1934.           fee.
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.                                                                          32
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.                                        Support
  1962.           _________________________________________________________________
  1963.  
  1964.           HS/Link was Written by Samuel H. Smith
  1965.  
  1966.           Contact me at:
  1967.  
  1968.                               The Tool Shop BBS
  1969.  
  1970.                     Phone number        Modem type
  1971.                     --------------      ----------------------
  1972.                     (818) 891-3772      US Robotics HST 9600
  1973.                     (818) 891-1344      Hayes-V series 9600
  1974.                     (818) 891-6780      US Robotics 2400 (free line)
  1975.  
  1976.  
  1977.                                       DISCLAIMER
  1978.  
  1979.           IN NO EVENT WILL I BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING
  1980.           ANY LOST PROFITS, LOST SAVINGS OR OTHER INCIDENTAL OR
  1981.           CONSEQUENTIAL DAMAGES ARISING OUT OF YOUR USE OR INABILITY TO USE
  1982.           THE PROGRAM, OR FOR ANY CLAIM BY ANY OTHER PARTY.
  1983.  
  1984.  
  1985.  
  1986.  
  1987.  
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.                                                                          33
  2015.