THE INVISIBLE LINK Copyright (C) 1987 Robert Best and Garland Wong Santa Ana, CA and La Jolla, CA All Rights Reserved I. ABOUT INVISIBLE LINK The Invisible Link is a general purpose asynchronous communications program. However, it differs from an ordinary communications program in that the Invisible Link is memory-resident and designed to function as a background task executing concurrently with any MS-DOS application program. This means you can dial or transfer files in the background without tying up your computer system. Imagine, you can simultaneously be working in your favorite word processor or spreadsheet and still be dialing a busy number or receiving those important files. Best of all, you won't even notice that IL is running or "doing its thing". In terms of time savings alone, IL will "pay for itself" during its first hour of use. IL was written in assembly language for optimum size and speed. It represents the result of a thorough six month period of development and testing. It has proven to run faster and more reliably than the competition (who charge from $100 - $200 for their product), as any thorough benchmarking will testify. When you are transferring a file in the background, there is no noticeable degradation in your foreground application program. Lastly, you can use IL's background transfer or dial capability along with your favorite communications program. This means you don't have to give up your favorite communications program because IL was designed to work within or along side them. The Invisible Link has the following features: - Communicate at speeds up to 9600 baud (limited by the speed of your serial port and modem.) - Exchange binary or text files in the background using Xmodem CRC or Xmodem Checksum Protocol. - Queue up to 10 files to upload or download for unattended operation. - Automatically send a "goodbye" command to hang up the phone when the file transfer has completed - Queue up to 5 numbers and dial in the background. IL will prompt you when a connection is made. - You can manually dial or choose from a 44 number dialing directory. - All commands in IL are invoked using simple one or two key sequences. - Dynamically alter communication parameters. You can change communication speeds and choose between no parity and 8 data bits or even parity and 7 data bits. - Dynamically alter auto redial rate. You can vary the time between redialing anywhere from 10 seconds to one minute. In short, the Invisible Link is a powerful yet unobtrusive communications program. It is both a timesaving utility and a productivity tool. II. GETTING STARTED 2.1 What You Need (Basic Requirements) The Invisible Link requires the following as a minimum: - IBM PC, XT, AT, or 100% Compatible. - DOS 2.0 or Later. - IL requires about 26K of RAM when loaded. - One Disk Drive or Hard Drive. - Serial I/O Port with a Modem. - CGA, EGA, IBM Monochrome, or Hercules Video Adapter. - Any Monitor Capable of Displaying 80 Characters Per Line. 2.2 Loading Invisible Link Loading The Invisible Link is a simple one step process. You pass IL various configuration information via command line arguments. First, all you need is the file IL.COM. There are no overlays to worry about. Second, IL needs to know which communications port you will be using. Third, IL also needs to know where IL.COM is stored. This is because when you change your directory, IL needs to know where to update the directory. By default, IL will assume that you will be using communications port 1 and that IL is stored on the current drive in the current subdirectory. The format of the command line is as follows: IL [COMM PORT] [FULL PATHNAME OF WHERE IL IS STORED] Note that you can specify the pathname first and then the COMM port or vice versa. The order does not matter. EXAMPLES OF LOADING THE INVISIBLE LINK A>IL means hit a carriage return. If you load IL this way, COM1 will be used and IL will look for IL.COM on the current drive in the current subdirectory. A>IL 2 IL will use COM2 and update its directory on the current drive in the current subdirectory. A>IL 1 A:\IL.COM IL will use COM1 and update its directory on drive A: in the root directory. Note that when you are specifying a path that it must be a full path including the three letter extension. For example, C:\IL\IL is not valid but C:\IL\IL.COM is valid. A>IL C:\IL\IL.COM 2 IL will use COM2 and update its directory on drive C: in the subdirectory IL. If IL is already loaded, you will get the "INVISIBLE LINK USING ALT-RIGHT ALREADY LOADED -- ABORTING!" message. You will then return to DOS. NOTE: It is strongly recommended that IL be loaded last in the chain of memory resident programs. In particular, it must be loaded after CED in order to properly enable the switches installed to prevent system crashes. III. YOUR BASIC COMMANDS 3.1 Invoking Invisible Link ALT - RIGHT-SHIFT => Invoke The Invisible Link. To invoke The Invisible Link, simply hold down the and key simultaneously. The Invisible Link was designed to be very robust so there are times when IL will not let you "pop in" because it is not safe. Usually, it is not safe when DOS is doing critical disk activity such as during a COPY or TYPE command. Just wait until your disk drive light goes off and then hit and key. When you "pop into" IL, you will be presented with the following message, "TERMINAL MODE, HIT ALT - F10 FOR HELP!". You are now ready to begin your communication session. 3.2 Terminal Commands 3.2.1 Setting Communication Parameters ALT - P => Set Up Communication Parameters. Use this command when you want to set the baud rate or choose the data, parity, and stop bits. The Invisible Link supports the two most popular communication configurations: even parity, 7 data bits, and 1 stop bit; and no parity, 8 data bits and 1 stop bit. When you hit ALT - P, will be presented with the following prompt at the bottom of the screen. Baud Rate For 8, 1, No Parity: 0) 300 1) 1200 2) 2400 3) 4800 4) 9600 Baud Rate For 7, 1, Even Parity 5) 300 6) 1200 7) 2400 8) 4800 9) 9600 | At this point, type the number corresponding to the configuration you wish. For example, hit 6 if you want 7 data bits, 1 stop bit, even parity, and 1200 baud. An invalid entry will leave the configuration unchanged. The user selected configuration will remain in effect until you change it or if you reboot the computer. 3.2.2 Clearing The Screen ALT - C => Clear The Screen. At any time you can clear the screen by holding down and C key simultaneously. 3.2.3 Hanging Up The Phone ALT - H => Hang Up The Phone. You may hang up the phone my hitting the and H key simultaneously. After the phone is hung up, IL will return you to terminal mode and prompt you with OK. 3.2.4 Auto-Redial Rate ALT - R => Alter the Auto-Redial Rate. You will be prompted to enter a number between 0 and 9 which causes the redialing rate to be adjusted between 10 seconds and one minute, in 5 second intervals. 3.3 Making A Connection 3.3.1 Using The Dialing Directory ALT - D => Access The Invisible Link Dialing Directory. Invisible Link's dialing directory can be brought up by holding down the ALT and D key simultaneously. If the directory does not come up after hitting ALT-D, chances are your modem may not be turned on. Try turning the modem on and restriking ALT-D. The Invisible Link was designed to dial only if a modem is connected. 3.3.1 Using The Dialing Directory ALT - D => Access The Invisible Link Dialing Directory. Invisible Link's dialing directory can be brought up by holding down the ALT and D key simultaneously. If the directory does not come up after hitting ALT-D, chances are your modem may not be turned on. Try turning the modem on and restriking ALT-D. The Invisible Link was designed to dial only if a modem is connected. 3.3.1.1 Dialing A Number Or Queueing Numbers After hitting ALT-D, IL will prompt you for the following: an entry to dial, whether you wish to revise an entry, or whether you wish to delete an entry. Type a number between 1 - 44 and IL will acknowledge your valid entry by putting '>' by that entry. You may queue up to 5 numbers. If you have less than 5 numbers to dial, hit a empty and you will return to terminal mode. At which point, IL will dial your numbers once every X seconds (where X is the Auto Redial Rate) until a connection is made. Furthermore, you may return to your application. When a connection is made, IL will beep and inform you that a connection has been made. Note, that hitting ALT-D again (or ALT-M) will stop any subsequent dialing. 3.3.1.2 Adding New Entries Or Revising Existing Entries By typing "R" at the above prompt, you may add new entries or edit existing entries. A window will pop up and IL will prompt you for an entry number. If the number you type has no existing entry, then IL will bring up a blank entry. You may type in the name and telephone number in the respective fields. For the baud rate the following conventions are used: Type 0 for 300 Baud Note that IL uses the data bits, stop Type 1 for 1200 Baud bits, and parity from the last ALT-P Type 2 for 2400 Baud command, but will use the baud rate Type 4 for 4800 Baud specified in the directory for the Type 9 for 9600 Baud given entry. If the entry was an existing one, IL will display the old name, telephone number, and baud rate. You may now input these parameters. Note, if you hit a blank on the baud rate field, IL assumes 1200 baud by default. After you have input all the information for the directory, hit a blank and IL will update the directory. 3.3.1.3 Deleting Entries By typing "D", IL will prompt you for the number of the entry you wish to delete. IL will then ask you "Are You Sure?". Typing 'Y' will delete the entry and 'N' will not delete the entry. To return to the dialing menu, hit a blank 3.3.2 Manually Dialing A Number ALT - M => Manually Dial A Number. You can manually queue up to 5 numbers to dial. Hit Alt-M, and you will be prompted to input the telephone numbers. Hit a blank when you are done. At this point, IL will dial your numbers continuously in sequence until a connection is made. By default, IL will wait 30 seconds between each redial, however, this rate can be adjusted using ALT-R. If you want, you can now return to your interrupted program and dial in the background. IL will beep when a connection is made. Note, hitting ALT-M again while you are in terminal mode will cancel the current dialing session independent of whether it was started via ALT-D or ALT-M. 3.3.3 Terminating A Background Dial ALT - LEFT-SHIFT => Terminate Background Dial. If you are not in terminal mode (i.e. you are in your foreground application program), you can terminate a background dial by holding down the ALT and LEFT-SHIFT simultaneously. IL will acknowledge by beeping and displaying the "BACKGROUND DIALING TERMINATED!" message. 3.4 Transmitting A File 3.4.1 Uploading A File PAGE UP KEY => Start An Upload. To start an upload, hit the PAGE UP key (it is located on the numeric keypad and is the number 9 on a standard IBM PC). IL will prompt you for the name of the file you wish to upload. You may specify full pathnames if your files reside in other directories other than the current one (i.e. C:\IL\FOO.EXE is a valid path name). Next, IL will prompt you for the command that will be sent to the host. For example, U X FOO.EXE is a command that tells the host that you will be uploading file FOO.EXE with XMODEM protocol. For an upload, IL will automatically determine if CRC or Checksum protocol will be used. You will then be prompted for a description of the file to be uploaded. This will be transmitted to satisfy the request given by most current Bulletin Board Systems. If desired, this request can be ignored by entering a carriage return at the prompt. After entering the description, you will again be prompted for another file to upload. With IL, you can queue up to ten files to upload. That means you can enter ten files and ten upload commands. If you will be uploading less than ten files, hit a blank on the file prompt. IL will then ask you for a goodbye command. This is a convenient way to hang up the phone after a transfer is completed. Enter a "G" for goodbye. IL automatically sends a "Y' to confirm that you want to hangup. At this point, the transfer will begin in the background. Note that once a transfer is going, you are returned to the foreground program and locked out of the terminal. This means you can not hit ALT - RIGHT-SHIFT to enter IL's terminal. Only after you see the "INVISIBLE LINK TRANSFERS COMPLETED!" message and the bell rings is it safe to pop into IL. 3.4.2 Downloading A File PAGE DOWN KEY => Start An Download. To start a download, hit the PAGE DOWN key (it is located on the numeric keypad and is the number 3 on a standard IBM PC). First, IL will prompt you for the protocol that you wish, CRC or Checksum. Select 1 for XMODEM-CHECKSUM or 2 for XMODEM-CRC. CRC is less prone to errors in transmission but tends to slow the computer down a little more than Checksum*. Next, IL will prompt you for the name of the file you wish to download. You may specify full pathnames if your files reside in other directories other than the current one (i.e. C:\IL\FOO.EXE is a valid path name). Next, IL will prompt you for the command that will be sent to the host. For example, D X FOO.EXE is a command that tells the host that you want to download file FOO.EXE with XMODEM protocol. After entering the download command, you will again be prompted for another file to download. If a file already exists, IL will prompt you if you wish to overwrite. You may enter 'Y' if you wish to overwrite or 'N' if you do not. If after 5 seconds, you do not respond, IL will assume that you do want to overwrite the file and the transfer will start. This feature was incorporated into IL for the sole purpose of permitting unattended transfers. With IL, you can queue up to ten files to download. That means you can enter ten files to download and ten download commands. If you will be downloading less than ten files, hit a blank on the file prompt. IL will then ask you for a goodbye command. This is a convenient way to hang up the phone after a transfer is completed. Enter a "G" for goodbye. IL automatically sends a "Y' to confirm that you want to hangup. At this point, the transfer will begin in the background. Note that once a transfer is going, you are returned to the foreground program and locked out of the terminal. This means you can not hit ALT - RIGHT-SHIFT to enter IL's terminal. Only after you see the "INVISIBLE LINK TRANSFERS COMPLETED!" message and the bell rings is it safe to pop into IL. 3.4.3 Invoking The Status Screen ALT - LEFT-SHIFT => View File Transfer Status. At any time during a file transfer, you can view the status of the current file being transferred by hitting ALT - LEFT-SHIFT. You have access to the following information: upload or download, full pathname of file, mode of transmission (CRC or Checksum), Current Block Number, consecutive error count, and total error count. If you are doing an upload, you will also see the total number of blocks for that file. Once in the status screen, hitting 'Q' will abort the transfer of the current file and proceed with the next file in the queue. Hitting any other key will return you to the foreground program. You can pop into the status screen as many times as you wish. IL will abort the transfer itself after 10 consecutive errors and proceed with the next file in the queue if there is one. Please note that your total error count will be higher than when you are using a conventional communications program. This is because IL is transferring in the background. So, if you see a high total error count, don't be alarmed. IL was designed with a robust error recovery system, so chances are the file was sent properly. 3.5 Exiting Invisible Link ALT - X => Exit The Invisible Link But Leave Online. You can exit IL by hitting ALT-X. This will leave you online and return you to the suspended foreground application program. You can enter and leave the terminal as many times as you wish. ALT - Q => Exit The Invisible Link And Hang Up The Phone. You can exit IL and hang up the phone by hitting the ALT and Q key simultaneously. IL will prompt you with "Are You Sure You Want To Disconnect?". Typing 'Y' will hang up the phone and return you to your suspended foreground application. Hitting any other key will return you to the terminal. IV. SUMMARY OF COMMANDS KEYSTROKE COMMAND ALT - RIGHT-SHIFT ENTER INVISIBLE LINK. ALT - X EXIT INVISIBLE LINK BUT LEAVE ONLINE. ALT - Q EXIT AND HANG UP PHONE (DROP DTR). ALT - P CHANGE COMMUNICATION PARAMETERS. ALT - H HANG UP PHONE AND RETURN TO TERMINAL. PG UP START AN UPLOAD. PG DN START A DOWNLOAD. ALT - D DIAL A NUMBER USING A DIRECTORY. ALT - M MANUALLY DIAL A NUMBER. ALT - R ALTER THE AUTO-REDIAL RATE. ALT - LEFT-SHIFT TERMINATE BACKGROUND DIAL OR ENTER FILE TRANSFER STATUS SCREEN. V. TIPS ON USING THE INVISIBLE LINK 5.1 Getting The Most Out Of The Invisible Link As with any memory resident program, contention may occur when running with other memory resident programs. The only way to check compatibility is to test IL with that particular memory resident program. IL has been successfully tested with SIDEKICK(tm), SQZ(tm), CED(tm), and PRINT.COM to name a few. It is quite a sight to see a background transfer going on simultaneously with a background printing with no noticeable degradation to the foreground application program. Note that with disk intensive application programs such as DBASE(tm), you will probably notice more degradation than if you were using LOTUS 1-2-3(tm). Also, application programs that take over certain interrupts and are not well behaved may interfere with the background transfer. The only way to check compatibility is to try a background transfer or dial while using that particular program. You will probably know right away if IL is compatible with that program. IL has been extensively tested with DBASE III+(tm), LOTUS 1-2-3(tm) (ALL VERSIONS), MICROSOFT(tm) COMPILERS AND ASSEMBLER, TURBO PASCAL(tm), MANUSCRIPT(tm), AND NOVELL ADVANCED NETWARE 286(tm) VERSION 2.0. VI. ERROR MESSAGES INCORRECT DOS VERSION -- USE 2.0 OR ABOVE -- ABORTING! - IL requires DOS 2.0 or later. IL.COM NOT FOUND, DIRECTORY NOT UPDATED! - When loading IL, you probably did not specified the correct path (including extension) of where IL.COM is stored. TOO MANY ERRORS -- ABORTING! - IL has received 10 consecutive errors and is aborting the transfer of the current file in the queue. CANNOT OPEN FILE -- ABORTING! - IL could not open the file you wish to transfer. Make sure you have specified a valid path. COMM PORT OUTPUT ERROR -- ABORTING! - IL encountered a COMM port error. ERROR WRITING FILE -- ABORTING! - IL encountered a error while writing the transmitted file. This error usually occurs when you delete a file while it is being transmitted. ERROR READING FILE -- ABORTING! - IL encountered a error while reading the transmitted file. This error usually occurs when you delete a file while it is being transmitted. ** THE INVISIBLE LINK LICENSING AGREEMENT ** THE INVISIBLE LINK is being distributed in two separate versions. The BULLETIN BOARD release version does NOT provide support for download transfers. It is clearly identified by its lack of support of the PGDN key in terminal mode. Pressing this key in terminal mode will display a message providing information on how to obtain the fully supported version of THE INVISIBLE LINK. The BULLETIN BOARD version is intended to give users an appreciation of the capabilities of this powerful program. It can be freely distributed and posted on any bulletin board system. The fully supported release version of THE INVISIBLE LINK is copyrighted material intended for use in unaltered form. Distribution of the release version of THE INVISIBLE LINK in any form is a violation of copyright. The program is provided "AS IS" without any warranty of any kind. Should the program prove defective, the user shall assume the entire cost of all necessary servicing, repair or correction. Site licensing of the release version of THE INVISIBLE LINK is available by arrangement with Robert Best. The release version of THE INVISIBLE LINK is intended for use on a single machine. Making copies for use on other machines represents a violation of this licensing agreement. IMPORTANT NOTE: The BULLETIN BOARD release version of THE INVISIBLE LINK does NOT provide support for download transfers. To obtain a fully supported version of THE INVISIBLE LINK that includes full background XMODEM download transfer capability, send check or money order payable to ROBERT BEST in the amount of $35.00 (Calif. residents $37.10) to: Robert Best 13681 Dall Lane Santa Ana, CA 92705 The fully supported version of THE INVISIBLE LINK that includes background download transfer capability is available solely by direct purchase from Robert Best. If any party is interested in purchasing the full source code to THE INVISIBLE LINK, as well as the exclusive marketing rights to any derivative thereof, please contact Robert Best at the above address to discuss terms.