±±±±Ü ±±±±Ü ±±±±±±±±Ü ±±Ûß ±±Ûß ±±Ûßßß±±Û ±±Û ±±Û ±±Û ßß ±±±±±±±±Û ±±±±±±±±Ü ±±Ûßßß±±Û ßßßß±±Û ±±Û ±±Û ±±Ü ±±Û ±±±±Û ±±±±Û ±±±±±±±±Û ßßßß ßßßß ßßßßßßßß H S / L i n k High Speed Link File Transfer Protocol Version 1.20 Revised 4/11/93 ___________________________________________________________________ Please refer to HSLINK.NEW for details of recent program changes! ___________________________________________________________________ HS/Link is a high speed file transfer protocol with full streaming, simultaneous send, receive and CHAT, and advanced Full-Streaming-Error- Correction(tm). Each side of the link is allowed to provide a list of files to be sent. Files will travel simultaneously in BOTH directions until both sides of the link are satisfied. HS/Link is not just another bi-directional protocol, it is also a very fast protocol for normal downloading and uploading, incorporating some new ideas (such as Full-Streaming-Error-Correction(tm), Dynamic-Code- Substitution and Minimal-Blocks(tm)) to make things happen a bit faster and with greater reliability. ___________________________________________________________________ Copyright ___________________________________________________________________ All Tool Shop(tm) products are trademarks or registered trademarks of Samuel H. Smith DBA The Tool Shop. Other brand and product names are trademarks or registered trademarks of their respective holders. Copyright (C) 1991, 1992, 1993 Samuel H. Smith All rights reserved. HS/Link 1.20 - 1 - Reference Guide ___________________________________________________________________ Table of Contents ___________________________________________________________________ Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Quick Tour . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Command Line Format . . . . . . . . . . . . . . . . . . . . . . . . 7 HSCONFIG: The HS/Link Configuration Manager . . . . . . . . . . . . 9 HSCONFIG: Basic Settings . . . . . . . . . . . . . . . . . . . . . 10 HSCONFIG: Advanced COM settings . . . . . . . . . . . . . . . . . . 12 HSCONFIG: Advanced Optional Features . . . . . . . . . . . . . . . 14 HSCONFIG: Advanced Optional Features 2 . . . . . . . . . . . . . . 16 HSCONFIG: Screen Settings . . . . . . . . . . . . . . . . . . . . . 18 Advanced Command Line Options . . . . . . . . . . . . . . . . . . . 20 Command Line Examples . . . . . . . . . . . . . . . . . . . . . . . 21 Calling HS/Link from COMM programs . . . . . . . . . . . . . . . . 22 Calling HS/Link from BBS programs . . . . . . . . . . . . . . . . . 22 CHAT During File Transfer . . . . . . . . . . . . . . . . . . . . . 24 Flow Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Full Streaming Data Transmission . . . . . . . . . . . . . . . . . 26 Full Streaming Error Recovery . . . . . . . . . . . . . . . . . . . 27 Transmission of Minimal Blocks . . . . . . . . . . . . . . . . . . 27 Dynamic Code Substitution . . . . . . . . . . . . . . . . . . . . . 28 Auto Downloading . . . . . . . . . . . . . . . . . . . . . . . . . 29 DSZLOG Statistic Logging . . . . . . . . . . . . . . . . . . . . . 30 HS/Link Messages . . . . . . . . . . . . . . . . . . . . . . . . . 31 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 HS/Link 1.20 - 2 - Reference Guide ___________________________________________________________________ Introduction ___________________________________________________________________ What is a file transfer protocol? A file transfer protocol is a means of transferring information from one computer to another. The protocol has the responsibility of protecting against errors in transit, and taking measures to correct any errors that are detected. The design and implementation of a protocol can make the difference between slow and unreliable communication, and fast and trouble free communication. Not all protocols are created equal. With today's high speed modems, packet switched networks (such as PC Pursuit), and expensive long distance charges, users demand more than ever that files get through quickly and without corruption. The HS/Link protocol is the result of many years of communication experience, and uses some new and very solid technology to see to it that you can easily move files as quickly as possible, and with the least amount of hassle. The HSLINK program can be used from the DOS command line, from BATCH files, or as an "external protocol" from most modern COMM programs and BBS programs. If your favorite BBS does not yet support the HS/Link protocol, please ask your SYSOP to install it. Recent advances in high speed modem technology have ================= made it possible to simultaneously transfer data at === Quick Tip === high speeds in both directions. This standardized ================= technology is called "V.32" or "V.32bis", and is Bi-directional available in many new modems. Until HS/Link, these features that advanced modems were left half idle, due to the really work... single-direction nature of other file transfer HS/Link can protocols. The bi-directional capabilities of simultaneously HS/Link take full advantage of these modems, send and receive cutting online time as much as 50% when equal files! amounts of data are transmitted and received. HS/Link also takes full advantage of 1200 and 2400 baud modems, giving you very nearly the best thru-put such modems are capable of. HS/Link 1.20 - 3 - Reference Guide ___________________________________________________________________ Summary of Key Features ___________________________________________________________________ ù Speed. HS/Link operates at, or very near peak efficiency, often reaching 98% or more with pre-compressed files and non-buffered modems. Even higher speeds are possible with buffered or error correcting modems. A number of features, such as fast 32 bit CRC protection, Full-Streaming-Error-Recovery and Dynamic-Code-Substitution, combine to give maximum performance and security. ù Simple interface for beginners. In many cases, HS/Link requires only the COM port number and the filename to be transmitted. Configuration files are not required. The program is easily installed in most COMM programs that support external protocols. The HSLINK program has multiple help screens, providing a quick reference to the basic and advanced command line options, including examples of how the program is used. ù Batch file transfers. The protocol can handle any size batch of files, and can take file specifications from either the command line or from a listing file. ù Bi-directional options that really work. The program can simultaneously upload and download with a single host request. What's even better is how easy it is to use... instead of a complex setup all you do is: 1) Tell the BBS the names of the files you want to download, and then 2) Press PGUP (or whatever your COMM program uses to UPLOAD files) and then tell your COMM program which files to upload By virtue of the BBS being told that it is sending files and your COMM program telling HS/Link that it too is sending files, you then have a bi-directional transfer. There's nothing else to set up. You use the familiar BBS interface to request files to download and your COMM program's familiar interface to tell it which files to upload. It couldn't get easier! ù Aborted file crash recovery. When desired, HS/Link can resume an aborted transfer, verifying all existing data blocks to insure the resumed file completely matches the file being transmitted. This function can also update a file that has only a small number of changed, added, or deleted blocks. HS/Link 1.20 - 4 - Reference Guide ___________________________________________________________________ Quick Tour ___________________________________________________________________ If you are eager to see HS/Link in action, follow the simple steps below. The following pages will tell you how to install and configure the HS/Link program for optimal ease of use and performance. 1. Unpack the HSLINK program into a working directory or your choice. All you really need is HSLINK.EXE for now. 2. Use the TERMINAL program of your choice to call up a BBS that supports the HS/Link protocol. If you don't know of a BBS in your area, you can always call the Tool Shop BBS at (818) 891-1344 to see how HS/Link works. 3. When online with your BBS, select a DOWNLOAD using the HSLINK protocol. 4. When the BBS is ready for you to begin, press the SHELL TO DOS command in your terminal program. In many terminal programs, this is the ALT-J command. Later you will be given instructions to tie HS/Link into the DOWNLOAD command, but for now we are going to run HSLINK manually so you can see it in action right away. 5. CD into the HSLINK working directory you set up in step 1. 6. If your modem is on COM1, type the command HSLINK -P1 If your modem is on COM2, instead use the command HSLINK -P2 You should now see HS/Link in action. If your copy of HSLINK is registered, you can press the ENTER key to begin a CHAT session with the person running the BBS. If you aren't registered yet, you can still CHAT, but the BBS operator has to start the CHAT for you. In this sample session you aren't doing a bidirectional transfer, but you to do so all you need to do is add the outgoing file names (including drive and directory) to the end of the command line above. 7. When HSLINK finishes, type the command EXIT to return to your TERMINAL program to continue your BBS session. HS/Link 1.20 - 5 - Reference Guide ___________________________________________________________________ Full Screen Status Display ___________________________________________________________________ When HS/Link is operating, it produces a full screen status display, divided into five windows. For example: ÕÍÍÍÍÍÍÍÍÍÍ HS/Link v1.20 (4/11/93) Copyright 1993 Samuel H. Smith ÍÍÍÍÍÍÍÍÍ͸ ³ [UNREGISTERED] Courtesy of The Tool Shop BBS (818) 891-1344. ³ ³ Command line: -@tolap.cfg test\*.* -s2048 -w12 -a ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÕÍÍÍÍÍÍÍÍÍ 5 InComing Files, 710782 bytes ÍÍÍÍÍÍÍÍ͸ ÕÍÍÍÍÍÍ Settings ÍÍÍÍÍÍ͸ ³ \TMP\VIROSCAN.ZIP (79 blocks, 161003 bytes) ³ ³ COM2 open at: 115200 ³ ³ File received OK, 2930 cps, 58 seconds. ³ ³Remote Serial#: 00001 ³ ³ \TMP\PM.ZIP (37 blocks, 73745 bytes) ³ ³Remote Version: 1.10 ³ ³ Block 14 (28672 bytes) 2622 cps ³ ³ Window: NONE ³ ³ ÛÛÛÛÛÛÛÛÛÛÛÛÛ°°°°°°°°°°°°°°°°°°°°°° 18 seconds ³ ³ Block size: 2048 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ XON/XOFF: ON ³ ÕÍÍÍÍÍÍÍÍ 9 OutGoing Files, 2297792 bytes ÍÍÍÍÍÍÍÍ͸ ³ CTS handshake: OFF ³ ³ TEST\PHASE1.EXE (179 blocks, 365810 bytes) ³ ³ RTS handshake: OFF ³ ³ File sent OK, 5907 cps, 01:01 minutes. ³ ³Slow handshake: ON ³ ³ TEST\PHASE2.EXE (204 blocks, 416884 bytes) ³ ³ Resume: OFF ³ ³ Block 20 (40960 bytes/w:20) 5570 cps ³ ³ Keep partial: ON ³ ³ ÛÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° 01:08 minutes³ ³ Overwrite: ON ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄ ^X^X^X^X to abort! ÄÄÙ ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Batch Status ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ Total 2047451 bytes (of 3008574) in 04:00 minutes, thruput 8509 cps. ³ ³ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°°°°°°°°°°°°°°°°° 01:53 minutes remaining³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ PLEASE REGISTER HS/LINK! ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The first window contains the program identification and copyright. When you register your copy of HSLINK, this window will also show the registered serial number. Some warning messages may also appear in this window. The "Settings" window shows a summary of the various parameters that can be altered with command line options. This display space is replaced with the InComing Chat and OutGoing Chat windows during CHAT operation. The "InComing Files" window shows the status of files being received from the remote system. The "OutGoing Files" window shows the status of files being transmitted to the remote system. The "Batch Status" window summarizes overall session progress and estimates the time remaining for the selected files. To stop display bleedthrough under DesqView or DoubleDOS, use the -NV option to disable direct video writing. The result will be a slightly slower display, but it will not bleed from one partition to another. If desired, the full screen status display can be turned off. HS/Link 1.20 - 6 - Reference Guide ___________________________________________________________________ Command Line Format ___________________________________________________________________ To run the HSLINK program, a command line must be given. The command line has the following format: HSLINK [options] [SENDFILE] [@DRIVE:\PATH\FILELIST] SENDFILE Indicates a list of files to be transmitted to remote computer. The list may include the DOS wildcard characters '?' and '*'. Specify ONLY files to be transmitted; received file names are determined automatically. @FILELIST Transmit list of files contained in FILELIST to remote computer. This is used when you want to make a long list of files in advance, then transmit them all with a single command. It is also used by BBS programs to produce long batches of downloads. ù Anything shown in brackets "[]" is optional and may not need to be specified for proper operation of HS/Link. ù The HSLINK command line is NOT case sensitive, and will work when typed in upper, lower or mixed case. ù Please make sure that HSLINK.EXE is in a search PATH directory. ___________________________________________________________________ Basic Command Line Options ___________________________________________________________________ The most important command line options are -P (set COM port), -U (set download file directory), and -HS (enable slow handshake). -Pport This sets which COM port you are using. Example: -P2 -Udir This sets the destination directory for downloaded files. Without this option, all download files are placed into the current directory. Example: -Uc:\bbsfiles -HS Handshake Slow (send XOFF and/or lower RTS during disk I/O). This option may be required if your computer is unable to simultaneously access the disk and the COM port. If you see frequent CRC error messages, even on clean phone lines, you probably need to include -HS in your command line. To abort an HS/Link transfer, press Control-X four or more times. HS/Link 1.20 - 7 - Reference Guide ___________________________________________________________________ Configuration Files ___________________________________________________________________ Because of the large number of possible command ================= line options, you can store frequently used command === Quick Tip === options in a configuration file. This eliminates ================= the need to repeatedly type the options at a HS/Link does NOT command line. If you are calling HSLINK from require multiple batch files, you can also use configuration configuration files to store "common" options, that files. can be changed in one place rather than separately in the various batch files. HSLINK will first search the current directory for ================= the HSLINK.CFG file. If not found, it will then === Quick Tip === search the directory where HSLINK.EXE is stored, ================= followed by all directories in the DOS PATH For best results, setting. If the HSLINK.CFG file is found, each file add your HS/Link line is loaded as a command line option. or COMM program directory to your PATH statement. If you want to use an alternate configuration file, use the -@fname command line option, which will cause 'fname' to be loaded. For example: HSLINK -@C:\WORK\TOLAP.CFG will cause HSLINK to use C:\WORK\TOLAP.CFG as the configuration file. If -@fname is not the first command line option, the default HSLINK.CFG file will be searched for and loaded before the specified configuration file. Use -@ (without a filename) to prevent HSLINK from searching for a configuration file, slightly speeding operation on systems that have a long search PATH setting in effect. To aid in creation and alteration of configuration ================= files, the HS/Link Configuration Manager program, === Quick Tip === HSCONFIG, was written. ================= Use HSCONFIG to create and edit HS/Link option (configuration) files. HS/Link 1.20 - 8 - Reference Guide ___________________________________________________________________ HSCONFIG: The HS/Link Configuration Manager ___________________________________________________________________ HSLINK includes the HS/Link Configuration Manager program, HSCONFIG.EXE. With this program you can easily manipulate most of HS/Link's many options. The opening display for HSCONFIG looks like this: C:\HSL >hsconfig HS/Link Configuration Manager 1.2 (C)1993 Samuel H. Smith; ALL RIGHTS RESERVED ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ New Configuration ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ The specified configuration file cannot be located. ³ ³ ³ ³ This probably indicates that you are creating a new ³ ³ configuration for HS/Link. All options will be set ³ ³ to default values. ³ ³ ³ ³ Alternate configuration files can be specified on ³ ³ the command line to HSCONFIG. The default configuration ³ ³ file is HSLINK.CFG, and it may be located either in the ³ ³ current directory, or in any PATH directory. ³ ³ ³ ³ Press or to continue. ³ ³ ³ ³ Index ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Can't find: C:\UTIL\HSLINK.CFG HSCONFIG can be used to edit any configuration file, but the default is to edit HSLINK.CFG in the current directory, or the same directory in which HSLINK.EXE is found. If you want to edit some other configuration file, you must specify the filename on the HSCONFIG command line. For example: HSCONFIG TOLAP.CFG will create or edit TOLAP.CFG, which can later be used by HSLINK with a command line like this: HSLINK -@TOLAP.CFG When no configuration filename is specified, and the default configuration file HSLINK.CFG cannot be located, it will automatically be created in the same directory that HSLINK.EXE is found in. If you wish to create the configuration file in a different directory, you must explicitly specify the directory/filename to be used on the HSCONFIG command line. HS/Link 1.20 - 9 - Reference Guide ___________________________________________________________________ HSCONFIG: Basic Settings ___________________________________________________________________ The primary screen in HSCONFIG is the "Basic Settings" screen, which controls the most important settings for HS/Link operation. The other screens contain advanced settings that need not be changed until you become more familiar with the program and begin to explore the advanced capabilities. ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ HS/Link: Basic Settings [Page 1 of 5] ÍÍÍÍÍÍÍÍÍÍÍÍÍÍOVR͸ ³ ³ ³ These are the most important settings for proper HS/Link operation ³ ³ ³ ³ COM port number (1-8) . . . . . . . . . . . 1 ³ ³ ³ ³ Directory for downloaded files. . . . . . . __________________________ ³ ³ ³ ³ Use "SLOW HANDSHAKE" during disk I/O. . . . N ³ ³ ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Help topic: Welcome! ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Welcome to the HS/Link Configuration Manager. ³ ³ The easy way to handle HS/Link configuration files. ³ ³ ³ ³ Use the keys to select entries on this page. ³ ³ Use the PgUp/PgDn keys to change pages. ³ ³ Press ESC to save changes when you are finished. ³ ³ ³ ³ Use the F1 key to get HELP at any prompt. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ PgDn [next page] PgUp [prior page] F1 [help] ESC [exit] The HSCONFIG program contains context sensitive pop-up help for each and every input prompt. Simply press the F1 key to get an explanation of the current entry. For example: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -U ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ -Udir > Download directory. ³ ³ ³ ³ This option controls the destination directory for downloaded ³ ³ files. Without this option, all download files are placed into ³ ³ the current directory. ³ ³ ³ ³ Index ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ When in the online help system, press the SPACE and BACKSPACE keys to select from the topics available at the bottom of the window, and press ENTER to select a topic. Press ESCAPE to return to the prior screen. HS/Link 1.20 - 10 - Reference Guide This screen manipulates the following options: -Pport Use COM port 1-8 (default=1). Standard COM port definitions: Channel I/O Port Interrupt COM1 0x3F8 4 COM2 0x2F8 3 COM3 0x3E8 4 COM4 0x2E8 3 COM5 undefined COM6 undefined COM7 0x2E8 5 COM8 0x3E8 5 Use -PB and -PI instead of -P to define a non-standard COM port. -Udir Destination directory for received files (default=current directory) -HS Handshake Slow (send XOFF and/or lower RTS during disk I/O). The slow handshake option is available for systems with slow disk access. Use this if you get frequent CRC errors or COM overrun errors on otherwise clean lines. The slow handshake option causes XOFF to be sent and/or RTS to be lowered during any disk activity. Even when -HS is active, the HS/Link protocol should transfer data very nearly as fast as the slowest part of the link allows. HS/Link 1.20 - 11 - Reference Guide ___________________________________________________________________ HSCONFIG: Advanced COM settings ___________________________________________________________________ The "Advanced COM Settings" screen determines the settings of many communications related options. See the following section, "Advanced Options" for a description of each of these options. ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍ HS/Link: Advanced COM Settings [Page 2 of 5] ÍÍÍÍÍÍÍÍÍÍOVR͸ ³ ³ ³ These settings control advanced communication features ³ ³ ³ ³ Non-Standard COM base (in HEX, 0 = standard COM port) . . . . . . 0000 ³ ³ ³ ³ Non-Standard COM IRQ (1-15, 0 = standard COM port). . . . . . . . 0_ ³ ³ ³ ³ COM port open speed (300-115200, 0 = automatic) . . . . . . . . . 0___ ³ ³ ³ ³ Effective modem-to-modem speed (0 = same as open speed) . . . . . 0___ ³ ³ ³ ³ Enable CTS hardware handshake . . . . . . . . . . . . . . . . . . Y ³ ³ ³ ³ Enable RTS hardware handshake . . . . . . . . . . . . . . . . . . Y ³ ³ ³ ³ Enable XON/XOFF software handshake. . . . . . . . . . . . . . . . Y ³ ³ ³ ³ Enable Carrier Detect checking. . . . . . . . . . . . . . . . . . Y ³ ³ ³ ³ Preserve original time/date stamp on received files . . . . . . . Y ³ ³ ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; PgDn [next page] PgUp [prior page] F1 [help] ESC [exit] This screen manipulates the following options: -PBbase Set non-standard COM port base address. Base addresses may be specified in either decimal or hex. Hex addresses must begin with $ or 0x. For example, -PB1000, -PB$3E8 and -PB0x3E8 all specify the same port base address. -PIirq Set non-standard COM port IRQ level to 1-15. This option must be used when -PB is used. IRQ levels 8-15 are supported only on AT class machines with cascaded interrupt controllers. -Bbaud COM port opening baud rate 300-115200 (default is the current port OPEN speed). This option controls the speed at which the COM port will be HS/Link 1.20 - 12 - Reference Guide opened. ================= === Quick Tip === Normally, the COM port speed can be determined ================= from hardware and need not be specified. Don't use the -B option if you -Ebaud don't need to! In Effective modem-to-modem baud rate. most cases HS/Link This is used to estimate transfer times, and is able to is included in the DSZLOG output. automatically set (default=current -B setting) the proper port speed. -HC Disables CTS hardware handshake. CTS transmitter handshake is automatically enabled, but may conflict with some unusual modem cables or serial ports. If the CTS signal is not active when HSLINK loads, it will automatically disable CTS handshake for you. Use the -HC command to manually disable CTS handshake. -HR Disables RTS hardware handshake. RTS receiver handshake is used when the slow-handshake option is selected. This form of handshake causes the RTS line to the modem to be lowered whenever the disk is being accessed. Some unusual modem or cable arrangements may not tolerate the RTS line being lowered. In this case, the RTS handshake can be disabled with the -HR option. -HX Disable XON/XOFF handshake. XON/XOFF handshake is a software handshake scheme that should work well on all combinations of modems and networks, and is enabled by default. If you prefer not to use XON/XOFF handshake, or you find that it is not required for error-free transfer, you can disable it with the -HX option. Note that both the sender and the receiver must simultaneously disable XON/XOFF handshake, otherwise it will remain in effect. -C Disable carrier detect checking. Use this option when directly connecting two machines via a null modem cable. -NT Stamp current file time. This option stamps the current time/date on received files, instead of retaining the original file time/date. HS/Link 1.20 - 13 - Reference Guide ___________________________________________________________________ HSCONFIG: Advanced Optional Features 1 ___________________________________________________________________ The "Advanced Optional Features 1" screen controls many advanced protocol features. See the following section, "Advanced Options" for a description of each of these options. ÕÍÍÍÍÍÍÍÍÍÍ HS/Link: Advanced Optional Features 1 [Page 3 of 5] ÍÍÍÍÍÍÍOVR͸ ³ ³ ³ These settings control various optional features ³ ³ ³ ³ Attempt to Resume aborted transfers . . . . . . . . . . . . . . . N ³ ³ ³ ³ Keep partial files from aborted transfers . . . . . . . . . . . . N ³ ³ ³ ³ Allow received files to overwrite/modify existing files . . . . . N ³ ³ ³ ³ Enable file read/write buffering. . . . . . . . . . . . . . . . . Y ³ ³ ³ ³ Enable "Dynamic-Code-Substitution" logic. . . . . . . . . . . . . Y ³ ³ ³ ³ Size of transmitted data blocks (64-4096 bytes/block) . . . . . . 1024 ³ ³ ³ ³ Number of blocks in transit before ACK is required (0-1000) . . . 8___ ³ ³ ³ ³ Disable transmission of ACK for each block received . . . . . . . N ³ ³ ³ ³ Force remote unit to use local option settings. . . . . . . . . . N ³ ³ ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; PgDn [next page] PgUp [prior page] F1 [help] ESC [exit] This screen manipulates the following options: -R Resume aborted transfer. The receiver and ================= transmitter will verify the contents of an === Quick Tip === existing file, and will begin transmission at ================= the first block that does not match. This Use -R -K -O if provides a reliable means of restarting an you want Download aborted transfer, or of updating a modified Crash Recovery file. You must also use -O to recover aborted downloads. Note to BBS operators: Crash recovery is enabled by the caller's use of -R -K -O options and should NOT be directly enabled in the BBS command line or configuration file. -K Keep partial files from aborted transfers. HS/Link 1.20 - 14 - Reference Guide -O Allow receive files to overwrite existing files. -NB Disable buffering of receive and transmit files. The default is to divide approximately 24k of memory between InComing and OutGoing files. -NC Disable Dynamic-Code-Substitution logic. Certain byte codes cannot be transmitted directly over the COM link. For instance, the codes for Control-X, Control-S and Control- Q must be "escaped" to prevent a conflict with flow or program control. The HS/Link protocol uses a new Dynamic-Code-Substitution system to drastically reduce the number protocol overhead and "escape" codes needed to transmit certain data streams. Highly compressed data files (such as ZIP and GIF files) benefit the most, since they often have many byte codes that cannot be transmitted directly over the COM link. -Ssize Sets transmit block size 2-4096 (default=1024) Larger block sizes may result in higher transfer speeds under clean line conditions. -Wwindow ================= Number of blocks allowed without ACK 1-1000 === Quick Tip === (default=8) ================= Use -A or -W0 to establish an "infinite" Use -W4 -S512 -! window (i.e. no ACK required at all). with PC-Pursuit The "ACK window" is the number of blocks that will be sent to the modem before an ACKnowledge code is required. If the specified number of blocks have been sent and no ACK has yet been received, output will be suspended until the ACK is received or the link times out. This provides a form of software flow control that works well when parts of the link are very slow compared to other parts, such as when PC Pursuit is in use. The /w:XXX value displayed in the InComing Files window reports the actual number of blocks that are being transmitted prior to acknowledge. Setting the -W value higher than the highest /w:XXX value observed will have no further effect on transfer thru-put. -A Disable transmission of ACK codes after each block. This may improve transfer speeds under some conditions. -! Take priority. Locally specified -A, -HX, -S, and -W settings will be used by the remote system. The -N! option cancels the effect of the -! option. HS/Link 1.20 - 15 - Reference Guide ___________________________________________________________________ HSCONFIG: Advanced Optional Features 2 ___________________________________________________________________ The "Advanced Optional Features 2" screen controls more advanced protocol features. See the following section, "Advanced Options" for a description of each of these options. ÕÍÍÍÍÍÍÍÍÍÍ HS/Link: Advanced Optional Features 2 [Page 4 of 5] ÍÍÍÍÍÍÍOVR͸ ³ ³ ³ These settings control more optional features ³ ³ ³ ³ Idle method (0=none, 1=BIOS, 2=DesqView, 3=DDOS, 4=WIN/OS2) . . . 0 ³ ³ ³ ³ Enable "Minimal-Blocks" logic (requires MNP). . . . . . . . . . . N ³ ³ ³ ³ Disable NS16550AN buffering logic . . . . . . . . . . . . . . . . N ³ ³ ³ ³ NS16550 Fifo Threshold (1-15) . . . . . . . . . . . . . . . . . . 4__ ³ ³ ³ ³ DSZLOG status logging file. . . . . . . . . __________________________ ³ ³ ³ ³ Incoming file duplication check list. . . . U:\PCB\GEN\DLPATH.LST_____ ³ ³ ³ ³ Force CTS handshake even when CTS is initially missing. . . . . . N ³ ³ ³ ³ Use Alternate XON/XOFF method during initial handshake. . . . . . Y ³ ³ ³ ³ Maximum number of repeated errors before aborting transfer. . . . 20 ³ ³ ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; PgDn [next page] PgUp [prior page] F1 [help] ESC [exit] This screen manipulates the following options: -Iidle This option controls how idle time is given up under multitasking environments. The possible values are: -I0 Default, do not give up idle time -I1 Spend idle time checking keyboard status -I2 Give up idle time under DesqView -I3 Give up idle time under DoubleDOS -I4 Give up idle time under Windows/OS2/VCPI/DOS5 Some network server software, such as LanTastic, performs best when the -I1 option is used. -NM Enable Minimal-Blocks logic. Use with caution. This option is recommended for use only on error-corrected links, such as with MNP or V.42 connections. HS/Link 1.20 - 16 - Reference Guide -N5 This option causes HS/Link to disable NS16550 buffering logic. This option may be needed with some early versions, or incorrect clone versions of the NS16550 chip, which do not properly perform buffering. -FTn Sets NS16550 FIFO Threshold. This option controls the number of characters that will be buffered by the NS16550 internal buffer before an interrupt is generated. Higher FIFO thresholds will produce fewer interrupts and somewhat less CPU loading, but with the risk of overrun errors. Lower thresholds will prevent overrun errors under multi-taskers like Windows or Desqview. -LFlogfile Specify status log file. This option allows you to override the DSZLOG environment variable to specify the file to be used for status logging. Omit this option, or leave blank to control this function through the DSZLOG environment variable. -NOdirlist Incoming file duplication checklist. This option allows you to check incoming files for duplication in a list of directories. This feature prevents incoming files from duplicating files in directories other than the current -U setting. The dirlist is a text file which contains one filename or directory specification per line. See MKDLIST documentation for special instructions to speed CD-ROM duplication checking. Note that this option is effective ONLY if the -O (allow overwrites) is NOT used. -FC Force CTS hardware handshake. This option prevents HSLINK from automatically disabling CTS hardware handshake if CTS is not active initially. -NA This option causes HS/Link to use the old XON/XOFF method rather than the new alternate method during the initial handshake with the remote. This option is needed only if handshake fails when the remote unit is version 1.12 or earlier and should not be needed when communicating with newer versions. -NEn Controls the number of repeated errors needed to abort a transfer. HS/Link 1.20 - 17 - Reference Guide ___________________________________________________________________ HSCONFIG: Screen Settings ___________________________________________________________________ The "Screen Settings" screen allows you to control the format of the status display screen, the colors to be used, and to enable or disable direct-video screen updates. ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ HS/Link: Screen Settings [Page 5 of 5] ÍÍÍÍÍÍÍÍÍÍÍÍÍOVR͸ ³ ³ ³ These settings control the screen format and colors ³ ³ ³ ³ Enable Full-Screen status display . . . . . . . . . . . . . . . . Y ³ ³ Enable direct video writing (turn off in DesqView/DoubleDOS/etc). Y ³ ³ Position of status display (0-2) . . . . . . . . . . . . . . . . 2 ³ ³ Color of BORDER in full screen mode . . . . . . . . . . . . . . . 7__ ³ ³ Color of PROMPTS in full screen mode. . . . . . . . . . . . . . . 47_ ³ ³ Color of WINDOW TITLE in full screen mode . . . . . . . . . . . . 79_ ³ ³ Color of WINDOW CONTENTS in full screen mode. . . . . . . . . . . 31_ ³ ³ Color of PROGRESS GRAPHS in full screen mode. . . . . . . . . . . 14_ ³ ³ ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; ÚÄÄ Color Table ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ³ ³ 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ³ ³ 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ³ ³ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 ³ ³ 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 ³ ³ 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 ³ ³ 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 ³ ³ 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ PgDn [next page] PgUp [prior page] F1 [help] ESC [exit] This screen manipulates the following options: -NF Disable Full screen mode. The standard status ================= display takes over the full screen (except the === Quick Tip === top 2 lines, which may contain a BBS status ================= line). HS/Link's Full Screen status This option bypasses the full screen display display does not and causes a line-oriented output to be used. alter the first 2 Use this option if your environment's screen display lines. Use management does not allow a full-screen the -CP option to display. change the position of this display. HS/Link 1.20 - 18 - Reference Guide -NV ================= Disable direct Video for DesqView, DoubleDOS, === Quick Tip === and etc. Use this option if you experience ================= "bleeding" of the status display from one You may need to partition to another. use -NV to stop display bleeding. -CPn Control the position of the status display. Use a setting of -CP0 to move the display UP so that the bottom lines will be untouched. The default is -CP2, which protects the top 2 lines of the original display. -CBcolor Defines the border color in full screen mode. -CMcolor Defines the main screen color in full screen mode. -CTcolor Defines the window title color in full screen mode. -CWcolor Defines the window contents color in full screen mode. -CGcolor Defines the file and batch progress bargraph color in full screen mode. HS/Link 1.20 - 19 - Reference Guide ___________________________________________________________________ Advanced Command Line Options ___________________________________________________________________ The HS/Link protocol program has a number of additional command line options, most of which are rarely needed, or which are provided for advanced users to obtain maximum performance and flexibility. -@ When the -@ option is given as the FIRST parameter on the command line, it prevents HSLINK from performing the normal search for HSLINK.CFG, possibly speeding load times and preventing the accidental loading of a configuration file meant for a different application. -@fname Uses fname as an alternate configuration file. Each line in the specified file may contain a single command line option. The default is to search PATH directories for HSLINK.CFG. -N! Do not force remote to use local settings. Will override any previous -! option in either the command line or a configuration file. -NG Do not allow Control-G (BEEP) characters in CHAT mode. This keeps remote callers from beeping your speaker during a file transfer. -NK Cancels the effect of the -K option, if present, to force partial files from aborted transfers to be deleted. -NU Block uploads. This option is used by BBS programs that cannot (yet) cope with bi-directional uploads. It is used in place of the -U option on the 'download' command line, and has the effect of blocking any simultaneous upload requests from a user. -T Activates a "mini terminal" mode prior to starting the file transfer. If used with the -C option, you can use HS/Link to type "AT" commands directly to your modem to dial out. HS/Link 1.20 - 20 - Reference Guide ___________________________________________________________________ Command Line Examples ___________________________________________________________________ HSLINK -? Display a summary of HS/Link command line formats. HSLINK -P1 Download from a BBS using HS/Link. COM1 will be used at the current port speed. Received files will go into the current directory. HSLINK -P2 -Uc:\bbsfiles -K Download from a BBS using HS/Link. COM2 will be used at the current port speed. Received files will go into the c:\bbsfiles directory. Partial files from aborted transfers will be kept. HSLINK -P1 -Uc:\bbsfiles -R -K -O Continue an aborted download from a BBS using HS/Link. COM1 will be used at the current port speed. Received files will go into the c:\bbsfiles directory. HSLINK -Uc:\bbsfiles c:\uploads\*.zip Download from a BBS using HS/Link. COM1 will be used at the current port speed. Received files will go into the c:\bbsfiles directory. Simultaneously upload all *.ZIP files in the c:\uploads subdirectory. HSLINK file1.zip file2.zip file3.zip Upload to a BBS using HS/Link. COM1 will be used at the current port speed. Simultaneously downloads selected files from the BBS into the current directory. HSLINK -b115200 -p2 -c -hs -hc -a file1.zip file2.zip Communicate files with a laptop computer using port COM2 and a three wire null modem cable. HSLINK -w4 -s512 -! -uc:\download Download files through PC-Pursuit using a window of 4 blocks and a block size of 512 bytes. This setting stops most errors when PC- Pursuit is heavily loaded. HS/Link 1.20 - 21 - Reference Guide ___________________________________________________________________ Calling HS/Link from COMM programs ___________________________________________________________________ The HS/Link protocol can be easily installed in most modern COMM programs. Specific instructions have been prepared for many popular COMM programs, and are available in separate files for download. Comm program Instructions posted in BOYAN 5.0 HS-BOY50.ZIP GT POWER 15.50 HS-GT15.ZIP ProComm Plus HS-PCPTD.ZIP ProComm Plus/Windows HS-PROW.ZIP QMODEM 4.3 HS-QMOD.ZIP ROBO COMM 3.1 HS-RC31.ZIP TELEMATE 2.1 HS-TMATE.ZIP TELIX 3.1 HS-TELIX.ZIP Installation instructions for new COMM programs are being written all the time, so check with your local bulletin board or on the Tool Shop for instructions for additional communication programs. ___________________________________________________________________ Calling HS/Link from BBS programs ___________________________________________________________________ The HS/Link protocol can easily be installed in most modern BBS programs as an external protocol. Specific instructions have been prepared for many popular BBS programs, and are available in separate files for download. BBS program Instructions in ================= === Quick Tip === GAP 5.1 HS-GAP51.ZIP ================= MarkMail/GAP HS-MKML.ZIP Check The Tool PCBOARD 14.5a HS-145A.ZIP Shop BBS for the PROBOARD 1.17 HS-PB117.ZIP latest version of PRODOOR 3.44 HS-PROD.ZIP HS-INST.ZIP. New RemoteAccess 1.11 HS-RA111.ZIP COMM and BBS RBBS 17.3C HS-R173C.ZIP programs are Rybbs HS-RYBBS.ZIP frequently added SuperBBS 1.15 G4 HS-S1154.ZIP to the library of Searchlight BBS HS-SLBBS.ZIP install Spitfire BBS v3.0 HS-SF30.ZIP instructions UltraBBS v2.08 HS-UB208.ZIP available. Virtual BBS v5.40 HS-VBB54.ZIP Waffle HS-WAF.ZIP Wildcat! TD v2.15 HS-WC215.ZIP WWIV v4.20 HS-WWIV.ZIP HS/Link 1.20 - 22 - Reference Guide ___________________________________________________________________ BBS Requirements ___________________________________________________________________ HS/Link's demands on a bulletin board program are extremely easy to fill. The following is all that is necessary: 1) The protocol accepts either a filename to ================= download or a list of files of the form === Quick Tip === @DRIVE:\PATH\DOWNLIST.LST. The protocol will ================= send only the specified files if filenames Send file lists (without leading @) are given, or all of the are text files files found in the file C:\BBS\DOWNLIST.LST if that contain one the option @C:\BBS\DOWNLIST.LST is specified. path/filename per line. 2) The protocol will create a DSZLOG compatible log file indicating the names of all files transferred as well as their status (refer to the DSZ standard and the "DSZLOG Statistic Logging" section for the specific contents of the file). 3) Any files found in the DSZLOG file which BBS ================= did not tell the protocol to SEND are assumed === Quick Tip === to have instead been RECEIVED by the protocol. ================= The BBS should then check for the existence of HS/Link does NOT such files and if found, ask for descriptions modify BBS upload and post them in the upload directory. listings! The BBS program must detect uploads and do it's own file management. If the BBS program is not yet able to cope with bi- ================= directional uploads, the -NU option can be used on === Quick Tip === the 'download' command line to prevent attempts to ================= perform a bi-directional upload. Use -NU to block all bi-directional uploads. HS/Link 1.20 - 23 - Reference Guide ___________________________________________________________________ CHAT During File Transfer ___________________________________________________________________ While you are waiting for files to transfer, you can also type messages to the remote operators screen and see what he types in return. This is called "CHAT mode". If your copy of HSLINK is registered, you can press the ENTER key to begin a CHAT session with the person running the BBS. If you aren't registered yet, you can still CHAT, but the BBS operator has to start the CHAT for you. Once you activate CHAT, the "Settings" portion of the display is removed and replaced with two new windows: "InComing Chat" and "OutGoing Chat". Anything you type will appear in the OutGoing Chat display, and anything the remote operator types will appear in your InComing Chat display. Chat mode features automatic word-wrap and keyboard correction using the backspace key. You can "page" the remote user by pressing Control-G repeatedly. Control-G is the "BELL" character, which causes HSLINK to BEEP. You can use the -NG command line option to disable this feature, keeping HSLINK silent. When you are finished chatting, just press the ESC key to restore the Settings display and to terminate the chat mode. Chat mode will automatically terminate if you type nothing for 30 seconds and all files are finished transferring. ___________________________________________________________________ Optimizing CHAT Mode ___________________________________________________________________ The CHAT mode display may appear sluggish, or jerky. This is because HSLINK gives priority to the file transfer and transmits CHAT text only between whole blocks of the file. This effect is made worse by the use of large block sizes, especially at low baud rates. If you want to have snappier chat displays, at the expense of slightly slower file transfers, try reducing the BLOCK SIZE (-S option) or setting a smaller ACK WINDOW (-W option). Try adding -S256 -W4 to your command line, for example. HS/Link 1.20 - 24 - Reference Guide ___________________________________________________________________ Flow Control ___________________________________________________________________ Flow Control is required when the sending and receiving computers or modems operate at different speeds, or when computers are unable to simultaneously access disk drives and the COM port. Flow Control is a software and/or hardware means of slowing down the faster parts of the connection to prevent overloading the slower parts of the system. HS/Link uses both XON/XOFF (software) and RTS/CTS (hardware) handshake when communicating with high speed modems or slow packet switched networks. The protocol also uses a window algorithm to suspend data transmission if the receiver does not eventually respond to transmitted data. XON/XOFF handshake is a software handshake scheme that should work well on all combinations of modems and networks, and is enabled by default. If you prefer not to use XON/XOFF handshake, or you find that it is not required for error-free transfer, you can disable it with the -HX option. Note that both the sender and the receiver must simultaneously disable XON/XOFF handshake, otherwise it will remain in effect. The slow handshake option (-HS) is available for ================= systems with slow disk access. Use this if you get === Quick Tip === frequent CRC errors or COM overrun errors on ================= otherwise clean lines. The slow handshake option The -HS option causes XOFF to be sent and/or RTS to be lowered stops most overrun during any disk activity. Even when -HS is active, and CRC errors the HS/Link protocol should transfer data very that occur during nearly as fast as the slowest part of the link or immediately allows. after disk I/O takes place. CTS transmitter handshake is automatically enabled, but may conflict with some unusual modem cables or serial ports. If the CTS signal is not active when HSLINK loads, it will automatically disable CTS handshake for you. Use the -HC command to manually disable CTS handshake. RTS receiver handshake is used when the slow-handshake option is selected. This form of handshake causes the RTS line to the modem to be lowered whenever the disk is being accessed. Some unusual modem or cable arrangements may not tolerate the RTS line being lowered. In this case, the RTS handshake can be disabled with the -HR option. If you have frequent CRC errors or COM overrun errors, which persist in spite of the handshake-slow option (-HS), you should consider upgrading your serial port from the usual 8250 to a newer, buffered NS16550AN chip. The buffered chips are highly recommended if you are operating at high baud rates (>9600) or are accessing extended memory or are multitasking. HS/Link 1.20 - 25 - Reference Guide I have also had reports that use of large numbers of dos BUFFERS in CONFIG.SYS can cause overrun errors. Try reducing the BUFFERS setting to 10 or less, especially if you also use a DISK cache. Some disk cache programs have also been reported to cause overrun errors. Try turning the cache OFF before calling HSLINK, and turning it back ON again after the transfer is completed. ___________________________________________________________________ Buffered ASYNC chips ___________________________________________________________________ The National NS16550AN is a pin compatible plug in ================= replacement for 8250 and 16450 serial chips. It === Quick Tip === contains hardware buffering to allow faster ================= operation in systems with high interrupt service The NS16550AN chip latency. stops most overrun and CRC errors If you have an NS16550AN buffered UART chip, encountered with HS/Link will automatically enable buffering for COM port opening better performance with high speed modems and speeds of 9600 and multi-tasking environments. higher. The -N5 option may be needed with some early versions, or incorrect clone versions of the NS16550 chip, which do not properly perform buffering. ___________________________________________________________________ Full Streaming Data Transmission ___________________________________________________________________ The HS/Link protocol allows multiple data blocks to be transmitted before an acknowledgement is required by use of block numbers combined with a window algorithm. The protocol also allows acknowledgements to be ================= combined with data flowing in the opposite === Quick Tip === direction, making it possible to achieve full ================= streaming simultaneously in both directions over a The HST modem is full duplex communication link. not well suited for bi-directional Even though the transmitters operate in full transfers. Switch streaming mode, the receivers normally will to V.32 modes, if periodically acknowledge that data is being available, for received. This acknowledgement can be disabled higher thru-put. with the -A option. HS/Link 1.20 - 26 - Reference Guide Recent advances in high speed modem technology have made it possible to simultaneously transfer data at high speeds in both directions. This standardized technology is called "V.32" or "V.32bis", and are available in many new modems. The bi-directional capabilities of HS/Link take full advantage of these modems, cutting online time as much as 50% when equal amounts of data are transmitted and received. Some older high speed modems, such as the HST and ================= Hayes-V, do not implement V.32 and are able to === Quick Tip === transfer quickly in only one direction, while the ================= other direction is relatively slow. HS/Link will The "Ping Pong" still perform well as a single direction protocol effect slows bi- with these modems, but bi-directional thru-put will directional be low due to the "ping pong" effect of the modem transfers on older switching the high speed channel back and forth. 9600 baud modems. ___________________________________________________________________ Full Streaming Error Recovery ___________________________________________________________________ The HS/Link protocol has the unique ability to recover from many transmission errors without breaking out of full streaming mode. This is important with buffered modems or packet switched networks with long turnaround times. Conventional protocols, such as Zmodem, simply ================= reposition the transmitter after an error, === Quick Tip === requiring a re-transmission of not only the ================= erroneous data, but also the entire stream of data Error correction that was in transit at the time the error was cannot stop flow detected. control failure- related errors. The HS protocol can correct bad blocks without re- See the Flow transmitting intermixed good blocks, resulting in Control section if excellent transfer speeds under moderate line noise you have conditions. persistent errors. ___________________________________________________________________ Transmission of Minimal Blocks ___________________________________________________________________ The HS/Link protocol includes a Minimal Blocks feature, which when activated, causes the protocol to strip away repeated information from the protocol frames and transmit only the minimal amount of information required for data flow. HS/Link 1.20 - 27 - Reference Guide This feature results in a savings of over 50% of ================= the normal protocol overhead characters in each === Quick Tip === block of data, while retaining full data integrity. ================= All data and control blocks are fully protected by Enable Minimal- a 32 bit CRC calculation, even when Minimal Blocks Blocks with the is in effect. -NM option only if you are operating The final block in a file rarely ends on an exact with an error free transfer block boundary. The HS/Link protocol link. automatically shortens the final block, eliminating extraneous data transmission at the end of file. ___________________________________________________________________ Dynamic Code Substitution ___________________________________________________________________ Certain byte codes cannot be transmitted directly over the COM link. For instance, the codes for Control-X, Control-S and Control-Q must be "escaped" to prevent a conflict with flow or program control. The HS/Link protocol uses a new Dynamic Code Substitution system to drastically reduce number protocol overhead and "escape" codes needed to transmit certain data streams. Highly compressed data files (such as ZIP and GIF files) benefit the most, since they often have many byte codes that cannot be transmitted directly over the COM link. The Dynamic Code Substitution feature can be disabled, if you wish, with the -NC option. ___________________________________________________________________ Network Compatibility ___________________________________________________________________ All file processing is fully network and "share" ================= compatible. HSLINK can be easily installed in === Quick Tip === multi-user or networked computers. This works with ================= DOS version 3.0 and later. HS/Link automatically When transmitting a file, the file is opened in enables file "allow read, deny none" mode. sharing in network environments. If a file sharing violation is detected when opening a file, control is passed to the system's current "critical error" handler. To automate recovery from file sharing violations, you can install my FATAL14.ZIP program, which HS/Link 1.20 - 28 - Reference Guide automatically retrys after sharing violations, and keeps a detailed log of all critical errors in a system. Files transmitted or received with HS/Link retain their original exact size and time/date stamp. No extra data is added beyond EOF, as with older protocols. The current date/time will be stamped on incoming files if the -NT option is used. Otherwise, the original file's time/date stamp will be retained. When run under DOS 2.x, HSLINK automatically reverts to non-share file modes. ___________________________________________________________________ Auto Downloading ___________________________________________________________________ It is possible for some terminal programs to ================= support HS/Link auto downloading by means of === Quick Tip === "scripts" which wait for the HS/Link "ready" ================= packet, and then shell out to the HSLINK receiver With HS/Link Auto- protocol. Download you don't have to hit any This capability is currently active when HS/Link is additional keys to installed in Telix 1.2, Telemate, Qmodem Pro, execute the HSLINK {COMMO}, BOYAN 5.0, any may be available soon under driver. many other terminal programs as the respective authors add the capability to recognize external protocol signon signatures. The HS/Link "ready" packet is repeated at 10 second intervals when waiting for the HSLINK receiver to be started. The format of the "ready" packet is: "HS*" ^B or in hex, 0x48 0x53 0x2a 0x02 When this sequence of characters is received during a terminal session, the HSLINK protocol should be executed. NOTE: To perform a bi-directional transfer with Auto Downloading active, you simply omit the final "CR" you key to the BBS and instead allow HSLINK to send then when you have finished specifying outgoing file names. Otherwise the auto download will take control before you have a chance to enter outgoing (upload) file names into your comm program. HS/Link 1.20 - 29 - Reference Guide ___________________________________________________________________ DSZLOG Statistic Logging ___________________________________________________________________ When you define the environment variable DSZLOG, the HSLINK program will enable transfer logging to the specified filename. The log file can also be set with the -FL option. For example, the AUTOEXEC statement: SET DSZLOG=C:\LOGS\LOG.OUT will cause HSLINK to log files transmitted to C:\LOGS\LOG.OUT. This form of logging provides compatibility with programs that are designed to operate with DSZ or other DSZLOG-type protocols. The log file consists of a single line of text for each file transferred. Here are some sample log entries: h 227596 10100 bps 1138 cps 0 errors 112 2316 V:\UPLOAD\ZLABP_13.ZIP 0 H 177901 10100 bps 1116 cps 1 errors 0 749 U:\PLAY1\ECOMM22.ZIP 0 h 16155 10100 bps 1061 cps 0 errors 4 795 W:\ULW\WINROACH.ZIP 0 L 136991 10100 bps 0 cps 0 errors 55 1823 W:\ULW\WINDE223.ZIP 11 E 152614 10100 bps 0 cps 14 errors 22 38 W:\ULW\CLPGR21C.ZIP 0 2 Each line contains the following fields: Size Description 1 "H"=file received from remote "h"=file sent to remote "E"=file receive was aborted "e"=file transmit was aborted "L"=lost carrier during file receive "l"=lost carrier during file transmit 7 The length of the file, in bytes. If the transfer was aborted, this field will contain the number of bytes transferred before the transfer was aborted. 6 The effective modem-to-modem connect speed. 4 Literally " bps" 5 The average transfer rate, in characters per second. 4 Literally " cps" 4 The total number of blocks which required retransmission during the transfer. 7 Literally " errors" 6 The number of flow control restrictions. 5 The length of the last block transferred in the file. ? The full pathname of the file which was transferred. ? The Serial Number of the remote HSLINK, if registered. Otherwise 0. HS/Link 1.20 - 30 - Reference Guide ___________________________________________________________________ HS/Link Messages ___________________________________________________________________ Bad ____ CRC These messages indicate that an error was detected in a control message between the sender and the receiver. All control packets are protected by a 32 bit CRC calculation to provide highly secure and reliable communication. Bad data CRC (#) Dropped bytes -# (#) Noise burst # (#) These messages indicate that an error was detected in a block of data in the file being received. "Dropped bytes" indicates that some expected bytes did not arrive, and "Noise burst" indicates that more bytes than expected arrived. Error correction is automatic, because of Full-Streaming-Error-Correction, may occur without breaking the stream of data being received. If this message occurs at regular intervals, it is a sign of flow control failure. In most cases, this can be corrected with the addition of the -HS command line option. COM#: Break! Framing! Overrun! Parity! These messages indicate that an error was detected in the serial port receiver. Framing and Parity errors often indicate a baud rate (-B) mismatch. Overrun errors usually indicate the need for flow control or for an upgrade to a buffered serial chip. Overrun errors can often be reduced or eliminated with the use of the -HS command line option. Can't create file '___' This indicates that the received file could not be created. This usually indicates that the directory specified in the -U command line option is invalid, or that the disk is full. Carrier lost! This indicates that Carrier detect was dropped, aborting the HSLINK session. If your connection does not provide a carrier detect signal, you can disable this check with the -C command line option. This is often required when directly connecting two computers by means of a "null modem" cable. Disk write failure! (#) This usually indicates that the disk is full and that further downloads cannot be received. File received OK, # cps, # seconds. The file was received correctly and is now closed. The average transfer speed is calculated based on the elapsed time between receiving the file open packet and the last byte of the file. HS/Link 1.20 - 31 - Reference Guide Transfer speeds are calculated using the DOS timer tick, which is not accurate for transfers taking less than 1 minute to complete. For very short transfers, a cps rating of 9999 will be returned. File sent OK, # cps, # seconds. The file was transmitted correctly and is now closed. The average transfer speed is calculated based on the elapsed time between sending the first byte of the file and the last byte of the file. File skipped by remote! The transmitter prints this message when the receiver requests the current file be skipped. This usually happens when the receiver detects a duplicate filename and is not allowed to overwrite existing files. File was incomplete! (# #) This message indicates that the transfer was aborted in some way before the specified file was completely received. Normally incomplete files are erased from disk, but they will be retained of the -K command line option is used. Flow control released (#### t:# r:#) If output flow has been suspended by either software or hardware flow control for more than 15 seconds, the program will assume that there has been a failure of flow control and will release the hold so data can continue. The codes in parenthesis indicate which flow controls were active at the time (C=CTS was down, T=transmitter XOFF was pending, R=receiver XOFF was pending, A=transmitter is currently active) and the counts of bytes in the transmit and receive holding queues. Handshake: CTS XON/XOFF SLOW ALT This message indicates the current combination of flow control options that are in effect. CTS indicates CTS hardware flow control is active. XON/XOFF indicates that XON/XOFF software flow control is active. SLOW indicates that flow will be restrained during disk I/O to prevent overrun errors. ALT indicates that the alternate XON/XOFF method is being used. HS/Link finished! (t:# r:#) Exit code = # When HSLINK terminates, it sets the DOS ERRORLEVEL to the specified value. This can be checked in batch files to detect error conditions. The following ERRORLEVEL codes are possible: ERRORLEVEL Reason for link termination 0 One or more files transferred successfully 1 ^X typed at local keyboard 2 ^X received over COM port 3 Incompatible BETA versions 4 No files transmitted or received 5 Remote did not respond within 2 minutes 6 Too many framing errors, possible -B mismatch HS/Link 1.20 - 32 - Reference Guide 7 Possible tampering or corruption in HSLINK.EXE 8 Possible tampering or corruption in HSLINK.EXE 9 COM port not responding, incorrect -P options 10 Carrier lost during initial handshake with remote 11 Link aborted due to CTS lockup 12 Bad command line option 13 Excessive repeated errors COMM and BBS programs should use the DSZLOG output file to determine more specific details of transfer results. The (t:# r:#) display indicates the number of files successfully transmitted and received. Not allowed to overwrite existing file '___' This indicates that a file was received but there was another file with the same name already in the download file directory. Either erase the duplicate file, or use the -O option to allow existing files to be overwritten. Insufficient memory to load program. Not enough memory! There was not enough memory available to run HSLINK. Free additional memory by removing "TSR" software, device drivers, ramdisks or disk caches. If your COMM program has the option of swapping to DISK or EMS, enable the option to free additional memory for HSLINK's use. Current beta copies of HSLINK require about 64k of RAM, but the specific amount of memory required is subject to change from beta to beta. You can reduce the amount of memory required if you use the -NB command line option to disable file buffering. Out of sequence # (#) This indicates that the received block was out of sequence, indicating that a block was possibly missed or lost during transmission. The receiver will request the transmitter to retransmit the missing block(s). Read failure at # This indicates that there was a disk error reading a file being transmitted. Receive timeout (#) ACK timeout, resend # This message indicates that it has been too long since the receiver responded to data transmission. The last data block is repeated in an attempt to wake up the receiver. Received block # (# bytes) # cps This displays the current status of the file being received. The current number of blocks and bytes received is displayed after each block is received. The estimated transfer speed in ch/sec is also displayed. HS/Link 1.20 - 33 - Reference Guide Received block # (# bytes) E# When "E#" is displayed following the received block # message, it indicates that error recovery is in progress, and that the specified block number was in error and is in transit from the transmitter. When the erroneous block has been received correctly the E# display will advance to the next erroneous block number, or will be erased if no more erroneous blocks are pending. Received block # (# bytes) R When "R" is displayed following the received block # message, it indicates that current block has been previously received correctly and is therefore a "repeat" block. Repeat blocks occur under severe error conditions and are usually corrected automatically. Receiving file: ___ (# blocks, # bytes) This message indicates that a new file is being received from the transmitter. The file size is displayed in blocks and bytes. Remote not responding! This indicates that the remote computer did not execute HSLINK and establish a connection within the two minute timeout period. This message could also indicate that the wrong com port is being selected, or that the port is configured improperly (wrong port speed or IRQ setting). Resending block # This message indicates that the receiver has detected an erroneous block and is requesting a re-transmission to correct the data. Data flow continues where it left off prior to the resend, allowing error recovery to take place without breaking out of full streaming mode and without discarding data that is already in transit to the receiver. This is the basis of Full-Streaming-Error-Correction. Restarting current file This indicates that the receiver was unable to recover from errors encountered in processing the current file being transmitted, and has requested that the file be started again from scratch. Seek from block # to # Under the most severe error conditions, the receiver may request the transmitter to discard data that is in transit to the receiver and to rewind to an earlier position in the file and resume transmission. Sending block # (# bytes/w:#) # cps This is the normal status display while a file is being transmitted. The message indicates the latest block number to be transmitted, and in parenthesis indicates the number of bytes transmitted and the current number of blocks that have been transmitted without acknowledgement, which represents the size of the transmit "window" that is currently in use. If this value hangs at the current -W setting, you may benefit from a higher -W setting on the command line. The estimated transfer speed is also HS/Link 1.20 - 34 - Reference Guide reported in ch/sec. Sending file: ___ (# blocks, # bytes) This message indicates that a new file is being transmitted to the receiver. The file size is displayed in blocks and bytes. Transfer aborted! This message indicates that the current file transfer has been aborted for some reason. The specific reason for the transfer abort is usually also printed on the screen. Waiting for remote. This message indicates that HSLINK is waiting to handshake with the remote computer. HSLINK will wait for 60 seconds for the other computer to come online; after that the transfer is aborted. This message can also indicate that you don not have the COM port correctly specified or that a non-standard COM port configuration may be required. Warning: CTS signal missing! -HC will be assumed. The CTS hardware handshake is normally enabled by default. If, on initial loading, HSLINK finds that the CTS signal is down, it assumes that the current hardware configuration is not using CTS handshake and automatically disables further CTS handshake checks. Use the -HC command line to manually disable CTS handshake. Window: # This indicates the actual number of blocks that are allowed to be in transit without acknowledgement. This is controlled by the -W parameter, and may be overridden by the remote computer if the remote uses the -! (take priority) option. Window: NONE This indicates that the -A command line option has been specified, and that the transmitter is required to continue indefinitely without receiving any kind of acknowledgement from the receiver that data is being received correctly. HS/Link 1.20 - 35 - Reference Guide ___________________________________________________________________ License and Registration ___________________________________________________________________ This program is not free! You are hereby licensed to use this program for a trial period of 30 days free of charge. If, after 30 days, you decide that you would like to continue using HSLINK, you must complete the registration form (REGISTER.FRM) and return it to the author with the required registration fee enclosed. Registration removes the "UNREGISTERED" messages as well as all time delays and enables you to initiate a CHAT session. Your registration number will be broadcast to the remote copy of hslink. Basic HSLINK registration costs $20 US, which includes a registration certificate showing a Serial Number and Password. The latest version of HSLINK is available on disk. A nicely typeset and bound reference guide is also available. Please print out the file REGISTER.FRM for specific registration details. Please feel free to distribute unregistered HSLINK to your friends and local BBSs as long as all of the files in this archive are included and unmodified. Send your registration payment to: SAMUEL H. SMITH P. O. BOX 4808 PANORAMA CITY, CA 91412-4808 U.S.A. HS/Link registration can also be ordered ON LINE by credit card through any of the Tool Shop BBS phone lines. ___________________________________________________________________ License Agreement for Shareware distributors ___________________________________________________________________ Shareware distributors may distribute this program as long as the author has been notified, in writing, prior to ANY distribution. The "per disk" charge may not exceed $6 and the shareware distributor will not change the above license fee for the end user of HSLINK. End users are not exempt from registering HSLINK with the author at the normal registration fee. HS/Link 1.20 - 36 - Reference Guide ___________________________________________________________________ Support ___________________________________________________________________ HS/Link was Written by Samuel H. Smith. Contact me at: The Tool Shop BBS Phone number Modem type (818) 891-1344 v.32bis/v.42bis (818) 891-6780 Hayes-V 9600 (818) 891-3772 USR HST 9600 You will always find the latest release version of HS/Link on the Tool Shop, as well as a variety of support files and programs. HS/Link is also supported by a number of authorized distributors throughout the world. Please refer to DISTRIB.DOC for the latest distributor list. The HS/Link Support Conference is carried by UN'I-Net/US, SmartNet, RIME and possibly a number of other echo networks. You can get direct product support through a local BBS that carries this echo conference. Voice support is available tuesday through friday between 9am and 6pm pacific time at (818) 891-4228. ___________________________________________________________________ Disclaimer ___________________________________________________________________ IN NO EVENT WILL I BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING ANY LOST PROFITS, LOST SAVINGS OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF YOUR USE OR INABILITY TO USE THE PROGRAM, OR FOR ANY CLAIM BY ANY OTHER PARTY. HS/Link 1.20 - 37 - Reference Guide ___________________________________________________________________ Index ___________________________________________________________________ Aborting a transfer (7) Auto-download (29) Basic settings (9) Configuration files HSCONFIG (8) specifying alternate configuration files (8) Context sensitive help (10) Crash recovery -R (14) DesqView -I2 (16) -NV (19) Display bleeding (6) DoubleDOS -I3 (16) -NV (19) DSZLOG (30) ERRORLEVEL (32) Errors -HS (7) COM Overrun (11), (25) Exit codes (32) File sharing (28) Flow control (24), (25) -HS (7) HSCONFIG (8) HST (27) Installation In BBS programs (22) In COMM programs (22) Non-standard COM ports (12) NS16550AN (26) Options -! (15) -@ (8) -@fname (20) -A (15) -Bbaud (12) -C (13) -CBcolor (19) -CGcolor (19) -CMcolor (19) -CP (19) -CTcolor (19) -CWcolor (19) -Ebaud (13) -FC (17) -FT (17) HS/Link 1.20 - 38 - Reference Guide -HC (13) -HR (13) -HS (7), (11) -HX (13) -Iidle (16) -K (14) -LFlogfile (17) -N! (20) -N5 (17) -NA (17) -NB (15) -NC (15) -NF (18) -NG (20) -NK (20) -NM (16) -NOdirlist (17) -NT (13) -NU (20) -NV (6), (19) -O (15) -PBbase (12) -PIirq (12) -Pport (7), (11) -R (14) -Ssize (15) -T (20) -Udir (7), (11) -Wwindow (15) PC-Pursuit -W (15) Example (21) Registration (36) Support (37) V.32 (27) Zmodem (27) HS/Link 1.20 - 39 - Reference Guide