B I M O D E M Version 1.00 December 7, 1988 Program Reference Manual (C) Copyright 1988 by ERIK LABS ALL RIGHTS RESERVED Erik Labs 3431 W. Thunderbird Rd. Suite 13-311 Phoenix, AZ 85023 Bimodem v1.00 COPYRIGHT ii (C) Copyright 1988 Erik Labs. All rights reserved. No part of this manual may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language (natural or computer), in any form or by any means, except as described in the following license without the prior written permission of ERIK LABS. You are granted a limited license to use the software described in this manual. The software may be used or copied only in accordance with the terms of that license, which is described beginning on the next page. Information in this manual is subject to change without notice and does not represent a commitment on the part of ERIK LABS. ERIK LABS may make improvements and/or changes in this manual and/or in BiModem at any time. Bimodem v1.00 License iii SINGLE COPY SOFTWARE LICENSE ERIK LABS ____________________________ THIS IS A SINGLE COPY SOFTWARE LICENSE granted by ERIK LABS whose mailing address is at 3431 W. Thunderbird Rd., Suite 13-311, Phoenix Arizona 85023. BiModem is licensed to you as the end user. BiModem is copyrighted material. You may use it on a trial basis provided you do not violate the copyright and if you follow these simple rules. Use of BiModem on a regular basis requires purchase as described later. You may not make any changes or modifications to BiModem, and you may not decompile, disassemble, or otherwise reverse-engineer it. You may not rent or lease it to others. You may make copies of BiModem only under the terms of the following section entitled "Limited License to Copy". This Software is Commercial Computer Software under Federal Government Acquisition Regulations and agency supplements to them. The Software is provided to the Federal Government and its agencies only under the Restricted Rights Provisions of the Federal Acquisition Regulations applicable to commercial computer software developed at private expense and NOT in the public domain. The use, duplication, or disclosure by the Government is subject to restrictions as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at 252.227-7013. Bimodem v1.00 License Continued iv LIMITED WARRANTY. Erik Labs makes no warranty of any kind, either expressed or implied. This includes, but is not limited to, implied warranties of merchantiblity, and fitness for any particular purpose with respect to both the software and the documentation included in this package. IN NO EVENT SHALL Erik Labs OR ANY OF ITS PRINCIPLES BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, OR INCIDENTAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THIS PRODUCT EVEN IF ERIK LABS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR CLAIM. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages, so the above limitation may not apply to you. The warranties set forth above are in lieu of all other express and implied warranties, whether oral, written, or implied, and the remedies set forth above are your sole and exclusive remedies. LIMITATION OF LIABILITY. In no case shall Erik Lab's liability exceed the license fees paid for the right to use BiModem or five dollars ($5.00), whichever is greater. INTEGRATION. This License constitutes the entire agreement and understanding between the parties and supersedes any prior agreement or understanding whether oral or written, relating to the subject of this License. This Agreement may only be modified by a written agreement signed by Erik Labs. Bimodem v1.00 License Continued v LIMITED LICENSE TO COPY _______________________ You are granted a limited license to copy BiModem only for the trial use of others subject to the software license described above, and also the following: BiModem must be distributed in absolutely unmodified form, including ALL program, documentation, and other files. BiModem may not be included with any other product for any reason whatsoever without a license from ERIK LABS. BiModem may not be offered through Public Domain, Shareware, Freeware, or other offers of mass media distributions unless prior permission has been granted in writing by Erik Labs. This includes disk vendors. Operators of electronic bulletin board systems (Sysops) may post BiModem for downloading by their users without written permission only as long as the above conditions are met. A fee may be charged for access to the BBS as long as no specific fee is charged for access to the BiModem files. Bimodem v1.00 Registration vi REGISTRATION AND ORDERING INFORMATION Registration will allow use of BiModem on a regular basis. It also insures that you will have access to all of the features incorporated into BiModem. We at Erik Labs would like to hear from anyone that uses BiModem. The registration process is a good time to let us know how you feel about the product and what you would like to see included in future releases. Registration also helps to insure the continuing support and upgrading of BiModem and future PC Based products. BiModem's registration fee is $25.00 U.S. currency. Product inclusion rates are available by contacting Erik Labs for further details. Erik Labs 3431 W. Thunderbird Rd. Suite 13-311 Phoenix, AZ 85023 (602)942-5403 Voice (602)979-5720 Data Bimodem v1.00 Order Form vii ___________________________________________________________________ Item Quantity Unit Base Price BiModem basic registration........... ___ x $25 = $________ (Includes Registration, Program & manual on diskette) BiModem Deluxe registration.......... ___ x $30 = $________ (Includes Registration, Program on diskette and Laser printed version of manual) Subtotal $________ - Discount $(______) Arizona residents please add 6 1/4% Sales Tax $________ Total $________ Diskette Format 5 1/4" 360k____ 1.2Meg____ 3 1/2" 720k____ Checks or Money Orders accepted. ___________________________________________________________________ Payment by: ( ) Check ( ) Money Order # _______________ Name _______________________________________________________ Company _______________________________________________________ Address _______________________________________________________ _______________________________________________________ Phone (______)_________________ Bus.(______)________________ Where did you obtain BiModem? _______________________________________________________ Comments _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ Please include additional comments if you desire. They are all read, and taken under advisement. BiModem v1.00 Discount rate schedule viii QUANTITY PURCHASES All commercial uses of BiModem must be registered. Anyone using BiModem in a profit oriented, or governmentally established environment must register BiModem prior to its use. The order form on the previous page may be used to purchase multiple copies of BiModem, with discounts as follows: 1 - 9: copies no discount 10 - 24: copies 10% discount 25 - 49: copies 20% discount 50 - 99: copies 30% discount 100 - 249: copies 40% discount 250 - 999: copies 50% discount 1000 - 4999: copies 60% discount 5000+ : 70% discount Purchases of up to 49 copies are considered quantity purchases and will be compiled as multiple copies including individual disks and for deluxe version individual printed manuals. All orders over 49 copies will be considered site licenses and will include only a master copy of both the disk and the manual with express authorization to make copies not to exceed the purchase amount. Backup copies can be made in accordance with your company's normal backup procedures. However you may not make available for use more copies of BiModem than you have purchased at any time. The name on the order form is considered the contact and is the person with whom all correspondence will take place. Note: All prices and discounts are subject to change without notice. Discounts apply only to separate orders; they are not cumulative. * Sysop special for qualified sysops inquire in the BiModem section of our BBS. BiModem v1.00 Service and Policies ix As you would expect from a data communications related company we feel that effective communications (which in no way is intentended to imply grammatically correct communications...) is the key to creating both superior products and satisfied customers. In order to help facilitate direct communications with our customers, we have established a special message area, and file area on a 24 hour Bulletin Board System. Valley of the Sun at (602)979-5720 This Bulletin Board is accessable directly, or for those subscribing to PC Pursuit servies, it can be reached through the AZPHO city code. The BBS operates best at 2400 baud, 8N1, communications settings, however it will change baud rates and configurations to match yours up to 2400 baud. Please feel free to call at any time if you: 1. Have any questions about BiModem. 2. Would like to get the latest enhancement, and release information. 3. Would like to peruse the message base for useful tips and information that would help you to better utilize BiModem. 4. Would like to check the latest list of BiModem support products to see if it has any new communications software support programs. Remember, communications is our mainstay, and we take it seriously. If you have any complaints, feel free to air them on this BBS. All information is reviewed and taken into consideration. We want to hear the bad comments as well as the good. These comments help us to provide State-of-the-Art products at rock bottom prices. BiModem v1.00 Contents x C O N T E N T S 1 Introduction..........................................1 1.1 Program Description...................................1 1.2 Machine Requirements..................................2 1.3 BiModem Files.........................................2 1.4 Start-Up Directory....................................3 2 Getting a Quick Start.................................4 3 Detailed Installation.................................5 3.1 Configuring BiModem...................................7 3.2 Building your Paths File.............................11 3.3 BiModems Transfer Panel..............................14 4 BiModems Command Line Format.........................16 Appendix A - Record Layouts..............................A1 A.1 Configuration File Record Layout.....................A1 A.2 Paths File Record Layout.............................A2 Appendix B - Sample Script files.........................B1 B.1 Sample Telix Script..................................B1 B.2 Sample Procomm Plus Aspect file......................B1 Appendix C - Performance.................................C1 Appendix D - Control Keys and screen control.............D1 BiModem v1.00 Introduction 1 INTRODUCTION 1.1 Program Description BiModem is a new communications protocol which allows simultaneous bidirectional file transfers. Yes, BiModem can upload while downloading. Imagine the time savings if you could upload with Zmodem (tm) and YmodemG efficiencies while downloading at the same efficiency at the same time. The applications for such a protocal are many, and I will not try to cover them here. Everyone from occasional BBS users to fulltime network managers will appreciate the advantages of exploiting full duplex operations. Even for those with small and moderate volumes of data to transfer the time savings can be very significant. Please do not expect a 50% decrease in your overall modem transfer time. This can only be achieved when the same amount of information is transmitted in both directions, and does not account for the overhead of specifying the lists of files to download and upload. If that feature is not enough to get you really excited, how about the ability to chat while the transfer is going on? Chatting, of course, will impact your throughput, but since most of us are slow typists, when compared to the speed of even a 1200 baud modem, the impact is usually minimal. Automatic recovery looks in your download directory for a file with the same name and date, and upon finding it verifies the contents for accuracy with the original file. This takes about 20 seconds per 200k at 2400 baud. It then continues the download at the point where it left off. Refresh mode uploading is similar to automatic recovery, but the date does not need to be the same. This is perfect for large transaction files where the only thing that ever changes is at the end of the file where transactions are added. Imagine refreshing a 10 meg file in a few minutes that only had 20k modified at the end. Auto Verification insures that the entire file was accurately transmited can be switched on at the users discretion. While this is normally not nessessary (BiModem already uses 32bit CRC's to insure accuracy), it is a nice feature to have available for those critical transmissions and is efficient enough that you may want to use it routinely. BiModem has more than just * name handling. You can create a large list of upload and download request before you even sign on. Create an entire evening's worth of requests and let your computer do the rest. BiModem v1.00 Introduction 2 BiModem is fully configurable to allow as much or as little access to your system as you desire. You can allow full path specifications on both ends. If a file already exists you can replace the file directly, or simply run a verify to revise only the parts that have changed. You may request that the source file be deleted on a successful transmission or you can disable this feature so others can not delete files from your system. Surely by now you are wondering if this is all BiModem does. The answer unfortunately for today is yes, but the future holds even more exciting things for BiModem. There just wasn't time to add all the features for this release. We are offering an earlybird special to the first 1000 users who have taken the time to read about BiModem. Simply write earlybird on your completed registration form. This entitles you to a free upgrade when the next version is released. The future will offer additional features such as: Sub-Directory inclusion: Tell BiModem you want sub-directories included, and it will copy all files matching the * name from the specified directory on down the tree and create a similar tree on the receiving end (if allowed and the tree doesn't already exist). Dialing lists and scripts: Build a list of phone #'s to call, tell us which script to use, what transmission request file to use, and go to bed (let your computer do the walking). File Compression: for even faster transfer rates. 1.2 Machine Requirements BiModem requires a PC/XT,AT,386 with at least 128k of memory available to it. It will work on MicroSoft DOS 2.0 and up. Unbuffered communications boards work best. The buffered communications boards will work but they will have a negative impact on the BiDirectional file transmissions and when chatting. 1.3 BiModem Files BiModem is comprised of two programs: BiModem.Com - The file transfer Program BiPath.Com - The Paths File Maintenance Program BiModem.Cfg - BiModem's configuration file BiModem.Pth - Paths File - specifies files to be transferred. BiModem v1.00 Introduction 3 BiModem will create a BiModem.Cfg file if none exists at the time it is run. BiPath.Com will likewise create a BiModem.Pth. BiModem transfers the files, and BiPath maintains the list of files to be transferred. 1.4 Start-Up Directory BiModem must reside somewhere, and this directory is referred to as its startup directory. The easiest method of placing files is to simply place them all in the same directory. The default configuration specifications require this. BiModem, however has been designed to be flexible, so you may place them in any directory on any disk you like. To do this, install BiModem and specify the full paths to these files, or provide command line overrides to specify these paths. For more detailed information on these options, please refer to the detailed BiModem Installation section and the Command Line syntax section. BiModem v1.00 Quick Start 4 2 BiModem Getting a Quick Start The easiest way to get BiModem up and running is to run Binstall. It will let you select the communications program that best describes your program (Other for most), and which directory it it resides in. You will also be asked which communications port your modem uses. The appropriate files will then be copied to your communications directory. Before running this you should unarc the BiModxxx.Arc file into a work directory from which the files may be copied to your communications directory. The other method is manual, takes more time, and is described below: 1. Pick a directory where BiModem and BiPath may be easily executed from your communications program. I use Telix, and so I simply placed BiModem and BiPath in my Telix directory. 2. Unarc the BiMod100.Arc file into a work directory. Copy BiModem.Com, BiPath.Com, BiBat.Com, BiMod.Bat, and BiModem.Cfg from the work directory to your communications directory. If you do not use Com1, you will need to run Bimodem /I to switch the port. See item 6 below on configuration files first. 3. Now before transfering files with BiModem one side or the other must specify the files to be transfered. To do this enter BiPath, which will give you a transfer specification screen. All you must specify is (U)pload or (D)ownload, and the source file (may be full pathname). Be sure the specification is entered by pressing PGDN which will display the transfer request in the scroll area above. If you are uploading most sysops prefer descriptions, so you should probably give the files descriptions too. 4. If you have not already established a connection (IE Logging onto your favorite BBS). You should do this now. 5. Finally select a Bimodem transfer and execute bimodem on your end. (This can be a script file or a Batch file (the ones included normally require you to be on the BBS at the prompt from which BiModem is executed), or you may simply execute BiModem directly. 6. Note, there are two bimodem configuration files included int the bmodnnn.arc file. BiModem.Cfg is set up for most people, BiModem.Cf1 is set up for most BBS's if you are installing bimodem for use on a BBS you should copy bimodem.cf1 to bimodem.cfg. Otherwise you should be all set. BiModem v1.00 BiModem Installation 5 3 Detailed BiModem Installation BiModem comes with default settings that will satisfy the needs of most users. It comes set up to detect partially transmitted files and to resume transmission as effectively as possible. This, however, is not always the best installation settings for all users. Bulletin Boards are particularly notable exceptions. Most bulletin board sysops would prefer not to provide the ability to indicate replace on an existing file, and would, therefore, want to change the rename option to always rename. This does, of course, have the negative impact of preventing Auto File Recovery to restart aborted transmissions. However, it does provide for maximum security to as yet unplaced uploads. We strongly encourage you to read this detailed configuration section to insure maximum success using BiModem on your system. If you find the material somewhat confusing, as is natural with unfamiliar concepts, try the product as delivered, and adjust the parameters one at a time to see what the effects are. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ[BiModem - (C) Copyright Erik Labs 1988]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º v Receiving Directory º º D:\Files\New º º v Sending Directory º º D:\Files\General º º v Auto Mode Paths File º º C:\Opus\BiModem\BiModem.Pth º º v Statistics File Path Full - N Summary - N º º C:\Opus\Log\BiModem.Log º ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ[Local Environment Defaults]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ º Simple Names Only N Always Rename N Always Verify N º º No Source Deletion N No Abort Deletion Y Original Date Y º º No Directories N No Sub Directories N Remove Snow N º ÌÍÍÍÍÍÍ[Download Defaults]ÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍ[Upload Defaults]ÍÍÍÍÍÍÍ͹ º Refresh N Replace N º Refresh N Replace Y º º Verify N º Verify N º º Del Source N Del Abort N º Del Source N Del Abort N º º Directory Y Sub Directory Y º Directory Y Sub Directory Y º ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ[Ports]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ º Comm Port 1 (1) (2) (3) (4) (5) (6) (7) (8) º º Base-IRQ 03F8-4 02F8-3 03E8-4 02E8-3 03F8-4 02F8-3 03E8-4 02E8-3 º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ[Esc-Exit,>,<,^,v]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Figure 3.1 BiModem's Configuration Screen (BIMODEM/I displays this) BiModem v1.00 BiModem Installation 6 Installation of BiModem begins with the selection of a directory in which BiModem will reside. This directory can be on any disk, in any directory, as long as the software you execute it with is able to find it for execution. Since BiModem is a transfer utility and requires the use of additional software to establish a serial connection, the placement may vary depending on that software. Options within BiModem have been established to help provide optimal flexibility with regard to this matter. The following may help you to make this decision. In my personal environment, I run a Bulletin Board System. Since I would like to keep my BBS directory as clutter-free as possible, I placed BiModem as a subdirectory of my bbs directory. E.G. C: CD \BBS MD BIMODEM CD C:\BBS\BIMODEM ARC -e D:\FILES\NEW\BIMOD100 BiModem v1.00 BiModem Installation 7 3.1 Configuring BiModem I now have a separate directory for BiModem and all supporting files and programs. This is a personal preference with me. You may prefer to install BiModem in the same directory as your communications software. This choice is up to you, and will not affect BiModem's performance either way. Once a directory has been selected, and BiModem has been placed there, you are ready to run the installation to specify how BiModem will work for you. The installation screen in Figure 3.1 is presented for modification by entering the following command: BIMODEM /I BiModem's Installation Screen is comprised of 4 main parts. The first section describes the partial, or full paths to the four main control files used with BiModem. RECEIVING DIRECTORY - specifies where BiModem will place the files it downloads. This directory is the default directory when a request does not specify a path. SENDING DIRECTORY - specifies where BiModem is to get the files it uploads to others. As with the Receiving Directory, this directory is used as a default when the upload request does not specify a path. To avoid confusion, since BiModem both sends and receives and is used both by unattended Bulletin Board Systems and personal communications programs, we will use the terms "Receive" and "Send" to indicate the direction the file is traveling. AUTO MODE PATHS FILE - The name may be a bit misleading but there is a reason for it. This file points to the file which contains the file transmission requests. The format of this file will be discussed in the appendix. This file may be created using the support program: BiPath (See additional details in that section). STATISTICS FILE PATH - This specifies where to place the logging information kept by BiModem. This, of course, is only done when Full or Summary statistics are requested. Full specifies individual file transfer statistics should be placed in the file, and Summary specifies that the user connect and disconnect statistics should be placed in the file. You may specify one or both. BiModem v1.00 BiModem Installation 8 The second section of the screen, 'Local Environment Defaults', is used to set major BiModem configuration parameters. These configuration options cannot be overridden by any means. SIMPLE NAMES ONLY - A "yes" for this option will strip all pathname specifications off the received file and place it in the Current Directory, or if specified above, in the Receiving Directory. A "no" will allow a path to be specified and place the file where specified. If no path is specified on the transfer, it will place the file in the same manner as though a Y were specified here. ALWAYS RENAME - This parameter allows you to specify what happens when a file which already exists in your directory gets sent to you. A "yes" for this option will change the last letter in the filename to the next letter in the alphabet. It will continue this action until the entire name becomes all z's. This, of course, would ordinarily happen only if an extremely large number of duplicate files were uploaded. If a "no" is specified for this option, a duplicate file condition would occur. For additional information on Duplicate File Handling, refer to the REPLACE and REFRESH options of the Upload/Download Default section, and the Automatic File Recovery System specifications at the end of that same section. ALWAYS VERIFY - This specifies that you would want verification to occur after every file transfer. This will recheck the file, after transfer, to ensure that it is 100% accurate. This is very fast, but does take additional time which is normally unnecessary. If, however, you transfer files over extremely noisy lines and the integrity of the data is of utmost importance, you may select this option. If the files match entirely, it will verify them at a rate of 1 megabyte per minute. The intention of the verification process was for use with the REFRESH options found in the DOWNLOAD/UPLOAD DEFAULTS sections below, but has been added because it was requested and was easy to add. NO SOURCE DELETION - This is a protection switch, as BiModem has the ability to request file deletion upon successful transfer. This option allows you to deny this ability for remote users. This option should normally be set to Yes. This will deny source deletion to all users always. NO ABORT DELETION - This option provides for a means of allowing crash recovery type of uploading. It will keep a file even if the line is dropped, or the user terminates the transfer. Subsequent transferance of the file may then take advantage of the File Recovery System, and or a REFRESH upload/download. BiModem v1.00 BiModem Installation 9 ORIGINAL DATE - This option will maintain the file's original date when it builds the file on your system. It is also important for 'crash recovery' types of file handling. For example, when a file with the same name, date, and time as an existing file is sent, BiModem automatically detects this and continues the transfer at the point where it stopped. See the File Recovery System information for additional information. NO DIRECTORIES - This option prevents the downloading of entire directories by specifying either a *.* or a directory path. The star name conventions are allowed either way; just the *.* name is prevented. NO SUBDIRECTORIES - This option has no effect for version 1.00. However, for subsequent major release versions, this will prevent the inclusion of all subdirectories in the download request. Version 1.00 does not permit subdirectory downloads so the option is meaningless. REMOVE SNOW - This option is intended for use by original CGA Monitor types, which produce flicker, or 'snow' on the screen when direct screen writing programs are run. If you are unsure, simply switch this option to N and look at the screen. If it flickers, switch it back to Y. It is best to set this option to N if possible as this will help the program run a little faster because it will not wait for the hardware before displaying information on the screen. The third section, 'DOWNLOAD DEFAULTS & UPLOAD DEFAULTS', specifies default options for controlling general file transfer options. Each contains the same options, and the only difference is that they apply only to their respective transfer directions. The UPLOAD DEFAULTS apply only to files being sent to another system, and conversly, the DOWNLOAD DEFAULTS apply only to files being received on your system. These options are considered defaults because if you specify no parameters in your paths file list, these values will be used. You may, of course, override these options by specifying them for any file you are transferring. REFRESH - This option requests that a file transfer take place using the VERIFY method. It is, however, overridden by the REPLACE option which replaces the existing file in which case REFRESH has no real meaning. The REFRESH option does allow for the appending of information to existing files to be done very efficiently. You might use this in a situation where you have a file that you constantly add information to the end. It will verify the first part of the file and add the new data to the end. Daily transaction logs are good examples of files which would be very suitable for this method of file transfer. BiModem v1.00 BiModem Installation 10 REPLACE - This option allows BiModem to ignore an existing file with the same name, and overlay it with this file. The "always rename" option of the ENVIRONMENT section overrides this parameter forcing the file to be renamed. VERIFY - This option requests a verification be done upon completion of the file transfer. This is normally not nessessary as BiModem utilizes a 32 bit error detection scheme for each block of data sent, and incorporates a 32 bit error detection for the file as a whole. However, it may be useful for extremely noisy lines and extremely critical information. DEL SOURCE - specifies that BiModem requests the deletion of the source file upon successful completion of the file transfer. This option has no affect if the ENVIRONMENT option NO SOURCE DELETION on the Sending side contains a Yes. GREAT care should be exercised in specification of Y to this parameter as loss of data could result. DEL ABORT - specifies that partially transfered files should be deleted upon early termination of the file transfer. This option has no effect if the ENVIRONMENT option NO ABORT DELETION on the receiving side is Yes. DIRECTORY - specifies that if the path is a directory, all files within that directory should be sent. This also applies to the wildcard *.* name convention. Again, this option has no effect if the ENVIRONMENT option NO DIRECTORIES on the Sending side contains a Yes. SUB DIRECTORY - this option has no affect for version 1.00 as there is no subdirectory support in this version. Subsequent major releases will allow this specification to request inclusion of all subdirectory files matching the file specification for the directory. An automatic feature which bears discussion is the transfer recovery system. This feature is enabled unless the Replace option is set, or the Always Rename option has been selected. What happens is this: BiModem detects a file with the same name on the destination system. It can do one of two things: If the file date and time match, but the size is smaller, it will resume transmission at the point where it left off. If the date or time differ, it will automatically select Refresh mode. The final section of the screen deals with Communications ports, and normally only the selection of the communications port to which your modem is attached is necessary. The allowable entries are 1 through 8, and the port base address and interrupt request should only be changed if you have documentation for your specific serial port, and/or modem indicates a different value for one or both of these parameters. BiModem v1.00 BiModem Installation 11 3.2 Building the Paths File BiModem operation normally begins with the building of the Auto Mode Paths File (referred to simply as the Paths File from now on). The Paths file is a file containing a list of files that BiModem is to transfer. BiPath is a program included with BiModem which will help you to create and maintain this file. The command format for executing BiPath is as follows: BiPath [/?|[d:][path][file] ? - requests that BiPath display the command format. d - represents the drive, A-Z depending on your configuration path - represents the path to the file file - specifies the filename. If no file is specified, BiPath creates an empty file named BiModem.Pth in the current directory, and allows you to specify files you would like transferred. If however you elect to specify a filename (and optionally path) BiPath will read that file and allow you to maintain an existing list. This is extremely important in adding that one file you forgot. I have included a couple of simple batch files that should help you to use bipath to maintain your paths file. NewPath.Bat - Creates a new paths file ModPath.Bat - Modifies the existing paths file These are small batch files which make it easy to maintain your paths file for BiModem. The possibilities of modification to these files, and/or the creation of a library of files for use with specific connections are endless, and will not be covered here. These files are provided to give you an idea of what can be done in this area. BiModem v1.00 BiModem Installation 12 ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ[BiPath (C) Copyright Erik Labs 1988]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º º º º º º º º º º º º º º º º º D \Files\DaveStuf\*.* º º U D:\Files\Utility\ZipZap60.Arc º º U BiOpus.Arc º º U BiModem.Arc º ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ º (U)pload/(D)ownload U º º Source File>C:\Util\Calc.Com º º Dest File > º º Description>TSR Programmers Calculator º º Refresh Include Sub Directories º º Replace Delete SOURCE When Done º º Verify When Done Delete Aborted Uploads º È[Esc-Undo,Alt-X Exit,Ctrl-D Delete,PgUp,PgDn,C-PgUp,C-PgDn,>,<,^,v]ͼ Figure 3.2 - BiPath Paths File Specification Panel (BIPATH [pathsfile] displays this) The following text describes the use of BiPath's modification screen which comes up immediately upon entering BiPath. See Figure 3.2 for an example of the screen. The top part to the screen is a scroll area which lists files already specified for transfer. The character on the left indicates D for Download (Receive), and U for Upload (Send). The file to be sent will appear to the right. The bottom of the screen is used to add, modify, or delete BiModem transfer requests. It contains the following information: (U)PLOAD/(D)OWNLOAD - this is a 1 character field which contains either a D for download (receive) or a U for upload (send). SOURCE FILE - this field specifies the file you wish to transfer. It may optionally contain full drive/path specification. Remember BiModem knows about your "SEND DIRECTORY" so if the file resides in that directory you simply need to specify the filename. DESTINATION - this field affords you the opportunity of redirecting the location, and even the name of the file. You may wish to rename the file, or place it in a directory other than that which was specified during BiModem Installation. BiModem v1.00 BiModem Installation 13 DESCRIPTION - This field is used to pass the description of the file on Upload requests. Many Bulletin boards require this information, and this provides you a means to furnish this information. REFRESH - this option requests that the file be sent using the VERIFY file transfer method. It can be a real time saver when transferring a file which already exists on the destination system, and you have added information to the end of the file. This transfer method request may not be honored if the destination system has set BiModem to refuse these types of transfers. (The ALWAYS RENAME option of the ENVIRONMENT section of the receiver's BiModem). REPLACE - this option requests that the file transfer replace an existing file with the same name. (Again, the ALWAYS RENAME option in the ENVIRONMENT section of the receiver's BiModem will inhibit this capability). VERIFY WHEN DONE - requests that a verify be performed upon successful completion of the transfer. This will be routinely done if uncorrected transfer problems occur, reguardless of this setting. If you wish, you may force this to happen even with the extensive error detection built into BiModem. This verification process will proceed at a rate up to 1 megabyte per minute assuming a 2400 baud connection. INCLUDE SUB DIRECTORIES - this option has no meaning for version 1.00 of BiModem, but subsequent releases will allow the request to send all files matching the filename specification in all subdirectories in addition to those in the specified directory. Again, it may be overridden with the BiModem installation specification of the other system. DELETE SOURCE WHEN DONE - requests the deletion of the source file after successful transmission to the destination system. This has no influence if the Source system has specified "Yes" to the NO SOURCE DELETION option of the ENVIRONMENT section in BiModem's installation). DELETE ABORTED UPLOADS - "Yes" requests the file be deleted if the file transfer does not complete normally. With most special request commands, this may be overridden on the destination system's BiModem Installation screen. BiPath uses similiar keys to BiModem (See appendix F) BiModem v1.00 BiModem Installation 14 3.3 BiModem's Transfer Screen ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ[BiModem - (C) Copyright Erik Labs 1988]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º - Beta Test Version º ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍ͹ º Sending BIMODEM.ARC º Receiving TLX310-1.ARC º º º Bytes 71437 71437 º Bytes 223424 87596 º 159033 º º Time 10:04 10:31 º Time 31:30 12:32 º 12:34 º º Bytes/Sec 118.2 113.2 º Bytes/Sec 118.2 116.4 º 210.9 º º Err Count _____ º Err Count _____ º _____ º º Last Err ____________________ º Last Err ____________________ º º ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍ[Text]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍ͹ º Here is the new version of Telix. It is MUCH improved over the old º º version. Some of its supporters have been a bit concerned over the º º complexity of the Script language, however, I maintain that it is all for º º the better. I tried BiModem out with a Beta Version my brother gave me, º º and I must say I was Impressed. I can't wait to try the public release º º version... Thank you for allowing me to download it. Let me know if you º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º Please, let us know what you think of BiModem. It is our first Shareware º º product, and we really would like to make it the BEST PROTOCOL AVAILABLE. º º We feel that if a good percentage of people will call in with their º º comments (Both good and bad), we will be able to reach this goal. Thanks º º again for your interest in our product and keep in touch. º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ[Esc - Terminate]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Figure 3.3 BiModem's Transfer Screen a 1200 baud transfer in progress currently only transferring in one direction. The following text describes the information displayed on BiModem's transfer screen. While you will probably find most of the information self explanatory, you might want to read through this section to be sure you understand it. First, the top of the screen informs you who is on the other end. This option is nice for sysops as they may not have been on their system when the transfer began. BiModem v1.00 BiModem Installation 15 The second section provides information about the file transfer such as the names of files being transferred, their length, and the rate at which the data is being transferred (Bytes Per Second). The first thing you will likely notice is that the total Bytes Per Second (Located on the far right) doesn't seem to be equal to the sum of the bytes per second on the individual files. There are several reasons for this. Since the sending file finished 2 minutes ago, it's time stays constant but the combined rate reflects real time information. The reporting is designed to be as accurate as possible, and the total fields begin accumulation as soon as BiModem is started. If the other end waited several seconds to start up their end, it would severely reduce the overall throughput of the operation. It also includes the identification transfer which identifies the user at the other end which also reduces the overall transfer rate. The figures on each file represent the total time and actual rates for transferring the files which are sent. There are 2 columns for each file being transferred. The first column represents BiModem's prediction of how long the transfer will take. The second column represents the real time transfer results. The third and perhaps one of the most noticable features of BiModem is that you may converse with the person on the other end of the connection while transferring your files. Yes, it is just your normal chat window, but the nice part about it is that it has no effect if it is not used. It also has very little effect when very fast typists use the feature. We have tested some very fast typist, and find that even continuous chatting during the file transfer will effect the tranfer throughput only 3 to 10 BPS. Only when very fast key repeating utilities are used does the effect become noticeable. As a little bonus, we have allowed the ctrl-G keystroke to cause a beep at the other end. BiModem v1.00 BiModem Command Line Format 16 BiModem has command switches which may be used to override some of the features specified in the intallation process. While they are not normally used, the are of great value when they are needed. Command Format: BiModem [/?/C/I/T/B/L/U/D/P/S] /? - Bring up this screen /C - Configuration file path follows /I - Install BiModem /T - Time out in minutes follows /B - Phone line baud rate follows /L - Comm line (1-8) follows /U - List of upload paths follows /D - List of download paths follows /P - Path of file containing U/D paths follows /S - Size limit in bytes follows /O - Composite Display Figure 4.1 Sample of the help display obtained by entering: BIMODEM /?. Command line parameters allow for overriding some of the options specified in the configuration screen. Parameter values must be preceeded by at least one space. Such as: /C C:\BiModem\BiModem.CNF. The following are more detailed explainations of the command line switches and their respective parameters. /? Displays the command format and short summary shown in figure 4.1. /C Specifies alternative configuration filename. This may be used when running BiModem, or it can also be used when configuring BiModem to specify and alternative Configuration file name. Note if it is used during installation, it will have to be used when using BiModem or the options specified in the installation will not be used. /I Used to indicate installation is to take place, may be used in conjunction with /C to create an alternative configuration file. /T Maximum amount of time allowed for the transfer. This option allows sysops to control the amount of time spend on file transfers. It also allows users to insure that if a remote system were to malfunction in some way, that BiModem would terminate. Note this will not drop the connection, it will merely return control to the host program. This is handy if the host program can be set up to drop the connection upon completion of the transfer (I.E. a batch file that runs BiModem then a program which drops carrier.). BiModem v1.00 BiModem Command Line Format 17 /B Allows for the specification of Modem Baud Rate, which may be quite different for the serial ports Baud Rate. functioning. Some people prefer to set their communications ports at very high speeds even though the modem is operating at a somewhat lower speed. Without this option, BiModem will consider the connection to be the higher speed and its time estimates can be quite far off. /L Permits specification of a different serial port than that specified in the configuration file created during installation. This is sometimes useful where the actual port varies depending upon the application, but the overall configuration remains the same. This is an alternative to setting up multiple configuration files for each application. /U Specifies a list of files to be sent to the remote location. These may be simple format which requires that the file be located in the 'current directory', or they may be full or partial paths. Due to the limited command line length this is basically a convinent way to send a very few file specifications. Note however that the wildcard specifications are permitted and that depending on the situation, many files may be transfered with this option. /D Similiar to the /U option except that this parameter specifies download requests. Again full or partial paths may be specified, and due to limited command line length is not practical for more than a few file specifications. Note however that wildcard names are permitted and that under certain circumstances many files may be tranfered with this specification. /P Specifes the path containing the lists of files to be transfered. This file must be in the format specified in Appendix A. This file is in relative file format records with no spacing or carraige returns between records. /S Provides a method of limiting the amount of files that can be transfered. If the size parameter is exceeded, the transfer will be terminated. /O Composite Display is used when the screen is difficult to read, it will switch the display to black and white mode. BiModem v1.00 Appendix A A1 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Configuration File Format 1 - 4 Hex Max Time Hu:Se:Mn:Hr 5 - 8 Long Int Max Size hex Long Integer 9 - 10 Integer Baud rate of Modem Connection 11 - 11 Short Int Active Port Number 12 - 13 Integer Port Address 1 14 - 14 Short Int Interrupt Request Number 1 15 - 16 Integer Port Address 1 17 - 17 Short Int Interrupt Request Number 2 18 - 19 Integer Port Address 2 20 - 20 Short Int Interrupt Request Number 3 21 - 22 Integer Port Address 3 23 - 23 Short Int Interrupt Request Number 4 24 - 25 Integer Port Address 4 26 - 26 Short Int Interrupt Request Number 5 27 - 28 Integer Port Address 5 29 - 29 Short Int Interrupt Request Number 6 30 - 31 Integer Port Address 6 32 - 32 Short Int Interrupt Request Number 7 33 - 34 Integer Port Address 7 35 - 35 Short Int Interrupt Request Number 8 36 - 37 Integer Port Address 8 38 - 38 Bit Mapped 0-4 Reserved 5 - Maintain original date 6 - Summary Statistics 7 - Full Statistics 8 - Simple Names only 39 - 39 Bit Mapped 0 - Reserved 1 - Never allow sub directories 2 - Never allow directories 3 - Never delete abortions 4 - Never delete source 5 - Always rename collisions 6-7 Reserved 40 - 40 Bit Mapped 0-6 Default Download Options 41 - 41 Bit Mapped 0-6 Default Upload Options 42 - 121 Default Send Directory 122 - 201 Default Recv Directory 202 - 281 Default Log File Path 282 - 361 Default Paths File Path 362 - 362 Remove Snow ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ BiModem v1.00 Appendix A A2 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Paths file layout 1 - 1 (U)pload or (D)ownload 2 - 2 (R)efresh 3 - 3 {Y| |N} Replace if existing overide 4 - 4 {Y| |N} Verify when done overide 5 - 5 {Y| |N} Delete source when done overide 6 - 6 {Y| |N} Delete destination on aborted download overide 7 - 7 {Y| |N} Allow full directory overide 8 - 8 {Y| |N} Include subdirectory overide 9 - 88 Source Path 89 - 168 Destination Path 169 - 248 Description (Only used on Uploads) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ BiModem v1.00 Appendix B B1 B.1 Sample Telix Script File Telix: (Included as BiModem.SLT) main() { dos("BiPath BiModem.Pth",0); cputs("B^M"); dos("BiModem",0); } This script will of course have to be compiled prior to use with Telix. It is written for Telix 3.10, and so may differ with other releases of Telix. To compile the script type: CS BIMODEM from the DOS prompt. It is also suggested to assign this script to a macro key so that a single key input can be used to start up BiModem transfers. Refer to your Telix Manual for details on how this is done. B.2 Sample Procomm Plus Aspect File Procomm Plus: (Included as BiModem.ASP) DOS "BiPath.Com/BiModem.Pth" TRANSMIT "B^M" DOS "BiModem.Com" This script needs to be copied to your Procomm Plus directory. It is executed while connected to your remote site (Usually a BBS), by pressing alt F5 and entering BIMODEM in the window. These are admittedly very simple script files, however they are intended mostly as an aid to understanding what is required, and secondly for the novice programmer who may not know where to begin with a script file this may lend some assistance. BiModem v1.00 Appendix C C1 Performance: We wanted a fair way to compare BiModem and other protocols... so what we did was we downloaded 6 files using each of 3 transfer protocols. We chose Telink which was about as close to XMODEM as we could get and still support wildcard downloads, Zmodem which is very popular these days, and BiModem. We timed the execution from the time we pressed enter to start the transfer until the system responded ready to enter more commands. The tests were conducted using a 1200 baud modem connection from an 8mhz XT compatible to a 10mhz AT compatible which was running the BBS software (OPUS v1.03b). The XT was using Telix version 3.10. Here are our results: Downloading 6 2136 byte files: Telink - 2 minutes 45 seconds Zmodem - 2 minutes 29 seconds BiModem- 2 minutes 07 seconds Downloading 6 2136 byte files and uploading 6 2136 byte files Telink - 5 minutes 30 seconds Zmodem - 4 minutes 58 seconds BiModem- 2 minutes 07 seconds Of course we new it would be much faster when uploading and downloading, but we didn't know it would be so much faster when there was no data to upload. While these are not very scientific test results, they are indicative of the kinds of performance boosts you can achieve with Bimodem. Results may vary depending on the particular software and hardware used, so we encourage you to run your own timing tests. The Transmission speeds reported by most transfer protocols can be pretty misleading, some to not account for buffering (Either hardware of software). We even underestimate our rates primarily so as not to sacrifice actual performance. So use your watch and time the actual difference. BiModem v1.00 Appendix D D1 BiModem/BiPath Editing and Control Keys Insert - Toggles insert on and off. ESC - Resets the screen to its initial values (Undo) subsequent use of escape exits program. Ctrl-X - The normal signal to exit the program. Arrows - Left and Right move cursor by 1 character. Up and Down arrows for chaning fields. Ctrl Left and Right moves a word at a time. Ctrl-D - Deletes the current entry. End - Positions the cursor at the end of an entry. Home - Positions the cursor at the beginning of an entry. Ctrl-E - Erases the entry from the cursor through the end of the field. Alt-E - Erases the entire entry. Ctrl-I - Inserts one space. Specific to BiPath: PgUp - Scrolls the display 1 line back. C-PgUp - Scrolls the display 12 lines back. PgDown - Scrolls the display 1 line forward. C-PgDn - Scrolls the display 12 lines forward. Note: BiModem may not permit the use of all keys in all situations as it attempts to maximize performance the chat window uses only a small subset of these command keys.