BinkleyTerm Documentation
Addendum to BinkleyTerm Documentation Changes and Additions for BinkleyTerm Version 2.40 Copyright (C) 1990 Bit Bucket Software, Co. INTRODUCTION Rather than update the BinkleyTerm documentation as we have done in the past, we are issuing this addendum file. It is important that you read this file thoroughly, as some of the information herein will supersede what is shown in the manual itself. By issuing this addendum, the printed versions of the BinkleyTerm manual now in circulation (and still available from Bit Bucket Software) will continue to be current (except for this addendum). The printed manuals were produced at great expense, and it has taken us a great deal of time to recoup our expenses. We hope to produce a printed manual again in the future, but for this release, the BinkleyTerm Version 2.30 docs (printed or otherwise) will remain current with this addendum. The mailing address for Bit Bucket Software has changed. If you wish to get ahold of us by mail for any reason, our address is: Bit Bucket Software, Co. P. O. Box 460398 Aurora, CO 80046 Please - do not write for technical support. Support is provided EXCLUSIVELY through the international BINKLEY EchoMail conference. When sending correspondence for other reasons, please include a self-addressed stamped envelope for replies. (Those persons not in the United States should enclose an International Postal Reply Coupon.) PRINTED MANUALS As mentioned previously, printed BinkleyTerm manuals are still available. Pricing covers the cost of printing, processing your request, and mailing. The prices are as follows: Within the United States: $15.00 Manual Only $25.00 Manual and Disk Outside the United States: $25.00 USD Manual Only $35.00 USD Manual and Disk All manuals will be delivered via regular mail. ---------------------------------- USER'S GUIDE CHANGES AND ADDITIONS ---------------------------------- --------- SECTION 3 Operation as an Automated Electronic Mailer --------- Janus Mail Protocol BinkleyTerm now features an experimental mail transfer protocol called "Janus." It is a bi-directional, full- duplex protocol, and generally requires a full-duplex modem to work properly (USRobotics Courier HST modems, for example, are not full-duplex and cannot use Janus effectively). Under ideal conditions, Janus allows you to transfer mail simultaneously in both directions with Zmodem- like performance. Due to the depth of the subject, Janus is covered completely in its own section toward the end of the document. Domain Support BinkleyTerm now features support for "domain" addressing. Due to the depth of the subject, domain addressing is covered completely in its own section toward the end of this document. Assumptions BinkleyTerm supports zone, net and domain assumption. If you have more than one address and different zones, nets, or domains are designated in the configuration file, then BinkleyTerm will use whichever address is appropriate when transacting mail. For example, net assumption might work as follows. If I have two addresses - 104/36 (primary address) and 1052/1 (secondary address) - and someone calls from net 1052, then my system will identify itself at 1052/1. In all other cases, my system will identify itself as 104/36 (since it's my primary address). The purpose is that your system will identify itself as the most appropriate address depending on the address of the calling system. File Requests BinkleyTerm will no longer place calls for a stand-alone .REQ file. In order for a call to be placed, a packet or file attach of the proper flavor must also exist. As always, a manual poll will also allow a call to be placed. More Connect Messages Support for the following connect messages has been added: CONNECT 75 (Giving 1200/75 bps) CONNECT 103 (Giving 300 bps) CONNECT 12 (Giving 1200 bps) CONNECT 212 (Giving 1200 bps) ------------------------------------- REFERENCE GUIDE CHANGES AND ADDITIONS ------------------------------------- --------- SECTION 1 Configuring BinkleyTerm --------- CONFIGURATION FILE Colors <brdr> <sett> <today> <pend> <act> <txfr> <rev> <popwin> Identical as documented in the manual, except the addition of two more parameters. The <rev> parameter designates the reverse video color used in the Pending Outbound window to mark the node you are calling. The <popwin> parameter designates the color of pop-up windows (such as those produced with the Alt-G and Alt-S commands in Unattended Mode). Flags <dir> The directory name specified is used by BinkleyTerm to create task identification files. The filename is TASK.# where # is the task number. These files can be used to determine if any given Binkley task is currently running. The file is created whenever Binkley has carrier present and a mail session is in progress. FTS-0001 When used, this statement will force BinkleyTerm to use only base FidoNet protocol (FTS-0001), effectively enabling the equivalent of the following statements: NoWaZOO, NoResync, NoSLO and NoSEAlink. Used mostly for debugging and testing of FidoNet policy compliance; not for regular use. JanusBaud JanusOK Controls whether Janus bi-directional protocol will be used during WaZOO sessions. Please refer to the complete Janus explanation later in this document. KnownMaxBytes See 'MaxBytes' for information. LockBaud [<lock_rate>] Works the same as what is documented in the manual, except it now accepts an optional parameter. The <lock_rate> parameter tells BinkleyTerm what baud rate at which locking should occur. This is useful for modems that allow a floating baud rate to a certain speed, then are locked at higher connect rates. Most ROM revisions of the USRobotics Courier HST 14.4k model and the USRobotics Courier HST Dual Standard allow this type of operation by setting the modem for &B0 which floats the baud rate at 2400 bps or lower. Bit 7 (and perhaps Bit 6) of the S27 register also need to be set appropriately. TO LOCK AT 19200 AND FLOAT AT SLOW SPEEDS: Use the 'Baud 19200' and 'LockBaud 4800' statements in your configuration file, and set the modem for &B0 and S27=128. TO LOCK AT 38400 AND FLOAT AT SLOW SPEEDS: Use the 'Baud 38400' and 'LockBaud 4800' statements in your configuration file, and set the modem for &B0 and S27=192. MaxBytes Together with the 'ProtMaxBytes' and 'KnownMaxBytes' statements, you can control file requests by number of bytes sent. These three statements work in the same manner as the other file request limiting statements detailed in the documentation. NOTE: There is a response file "Type 6" response now, which indicates that the caller has exceeded the byte limits. NoResync When used, this statement will tell BinkleyTerm not to allow SEAlink Resync (an ability to restart failed SEAlink mail sessions). Used mostly for debugging purposes; not for regular use. NoSEAlink When used, this statement will tell BinkleyTerm not to allow SEAlink mail sessions at all, including SEAlink extensions to base FidoNet protocol (FTS-0007) and WaZOO/DietIFNA sessions. NoZedZap When used, this statement will tell BinkleyTerm not to allow ZedZap (Zmodem) transfers during a WaZOO session. It is primarily intended to force BinkleyTerm to use DietIFNA mode (SEAlink) during WaZOO sessions. Used mostly for debugging purposes; not for regular use. ProtMaxBytes See 'MaxBytes' for information. ScreenBlank [<method>] Identical in function to what is documented in the manual, but now accepts an optional parameter. The <method> parameter may be "Key" or "Call" and tells BinkleyTerm which method to use to "unblank" the display. "Key" tells it to unblank upon a keypress (and is the default); "Call" tells it to unblank when a call comes in or is placed. TaskNumber <number> This statement performs two functions for persons operating in multi-processing or multi-line environments (through a LAN or multi-tasker). First, it designates a task number for the BinkleyTerm that uses the configuration file that this statement appears inside of. The <number> parameter must be greater than zero (0). Second, it tells BinkleyTerm to operate in "multi-processor smart mode." If BinkleyTerm is transacting with a particular system, it will create a "xxxxyyyy.BSY" file for that node, named in the conventional packet form (xxxx = net number in hex, yyyy = node number in hex). This file can serve as a flag to other BinkleyTerm tasks, or to compatible mail processing packages so that other tasks or processors will not handle any mail for the particular node until the ".BSY" file is gone. Additionally, BinkleyTerm will not send files to any node for which there is a ".BSY" file. TermInit <modem_string> Identical in structure to the 'Init' statement, this statement provides a modem initialization string that BinkleyTerm will use in Terminal Mode. The string will be sent to the modem if BinkleyTerm is initialized in Terminal Mode, or when switched to Terminal Mode from Unattended Mode. The string will also be sent when an Alt-I command is issued in Terminal Mode. NOTE: The 'PreInit' statement, if designated, will NOT be used in conjunction with this initialization string. SCHEDULING EVENTS CHANGES AND ADDITIONS Event Exits Event exits E4-E9 can now be followed by a three character string. If that string is matched in the file extension of a received file, then the designated errorlevel exit will be taken. For example: E4=100,TIC (Received .TIC Files Cause Exit 100) E5=100,FLE (Received .FLE Files Cause Exit 100) E6=110,REQ (Received .REQ Files Cause Exit 110) E7=120,MO? (Received .MO? Files Cause Exit 120) The order of exit precedence is as follows: E3 E4-E9 E2 AfterMail When more than one E4-E9 exit applies, the first one is the one taken. Send Only Events The "S" event parameter was not documented in the manual. It designates an event which is "send only" meaning that BinkleyTerm will continue to send normally, but will not answer the phone (or if the modem is in auto-answer mode, BinkleyTerm will not respond). --------- SECTION 2 General Reference Information --------- TERMINAL MODE KEYSTROKES CHANGES AND ADDITIONS Alt-E Erases the display screen. Alt-I Re-initializes the modem. UNATTENDED MODE KEYSTROKES CHANGES AND ADDITIONS Alt-G Allows the generation of an outbound file request. When executed, this command will pop-up a window on the screen where you will be prompted to provide information appropriate to creating a file request. See 'Colors' in "Configuration File" for related information. Alt-I Re-initializes the modem (equivalent to Alt-T/Alt-U in previous BinkleyTerm versions). Also causes BinkleyTerm to re-read the outbound mail holding area. Alt-K Allows you to kill all mail for a particular node. When executed, you will be prompted for the appropriate information. Alt-S Allows the generation of an outbound file attach. When executed, this command will pop-up a window on the screen where you will be prompted to provide information appropriate to creating a file attach. See 'Colors' in "Configuration File" for related information. Alt-Y Polls the boss node (same as Alt-Y in Terminal Mode). -------------------------------------------------- MISCELLANEOUS NOTABLE ITEMS ABOUT BINKLEYTERM 2.40 -------------------------------------------------- Time Slice Release In situations where BinkleyTerm would normally release time slice when used in a multi-tasking environment, it will now call the MS-DOS scheduler interrupt (int 28h for the technical among us) when running in a straight DOS environment. This will improve performance of any background tasks like print spoolers and networks. Mode Switching When switching from Terminal Mode to Unattended Mode, BinkleyTerm will switch back to using the port shown in the configuration file (if changed while in Terminal Mode). Multi-Taskers The PC-MOS operating system is now detected by BinkleyTerm at start-up, and if identified, time slice will be properly released when appropriate by BinkleyTerm to improve overall system performance. Foreign Language Capabilities This release of BinkleyTerm allows you to generate your own translations or modifications of much of the BinkleyTerm internal text. Enclosed with this release is a file named ENGLISH.TXT, which is the raw English language text created by the authors, and BINKLEY.LNG which is the compiled binary representation of ENGLISH.TXT for BinkleyTerm's use. To create your own translation of BinkleyTerm's text strings, copy the ENGLISH.TXT file to a file of your choice for editing. Use a standard ASCII flat text file editor (such as DOS EDLIN or your favorite word processor in non- document mode) to edit the file for your needs. The strings should in most cases be self-explanatory. When finished editing the file, use the included language compiler, BTLNG.EXE, to compile the text into binary format for BinkleyTerm's use. The command line for BTLNG.EXE is as follows: BTLNG <source_file> <output_file> For example, to compile the ENGLISH.TXT file, use the following command: BTLNG ENGLISH.TXT BINKLEY.LNG The binary language file must be named BINKLEY.LNG in order for BinkleyTerm to recognize it. Persons who are qualified (bilingual and sufficiently experienced or educated) to translate ENGLISH.TXT into foreign languages are encouraged to do so and to make your translations available to others through appropriate means. Filtering Negotiation Sequences In some situations, incoming MNP or V.42 negotiation sequences would cause BinkleyTerm to improperly respond to incoming callers. In this release, BinkleyTerm recognizes the negotiation sequences (if your modem does not filter or use them internally) and will properly discard them. ---------------------------------------------------- DESCRIPTION AND OPERATION OF THE JANUS MAIL PROTOCOL ---------------------------------------------------- NOTE: Janus is an EXPERIMENTAL protocol. It is not at this writing a documented FTSC standard. BinkleyTerm 2.40 represents the first implementation of Janus in a released software product, and is providing its first "real world" testing. With all of this in mind, it is important to understand that Bit Bucket Software cannot and does not provide any assurances or guarantees that Janus will work for you in your environment. PLEASE READ THIS SECTION IN ITS ENTIRETY IN ORDER TO UNDERSTAND AND PROPERLY IMPLEMENT JANUS. FAILURE TO DO SO WILL YIELD UNPREDICTABLE RESULTS! An Introduction to Janus Janus is a file transfer protocol specifically designed for WaZOO mail transfers. It can achieve Zmodem-like performance and reliability, with the major added benefit of being able to do transfers in both directions simultaneously. It is implemented as dual independent state machines; one for sending files, and one for receiving files. Both state machines run simultaneously, sharing the phone line. All data is exchanged in variable-length packets, with either a 16 or 32 bit CRC. Under ideal conditions, you can expect Zmodem-class performance going both ways at the same time. The bottom line is that when two machines exchange mail using Janus, the smaller of the two nodes' batches of files will be sent for free while the larger batch is being sent. If you poll your EchoMail feed nightly, and usually only send a couple of kilobytes while picking up a couple hundred, you won't get any real benefit from using Janus. But if you normally send 100kb and pick-up 200kb, you'll see significant time and money savings. However, even if you don't usually need to send and receive much data at once, and don't get much benefit from the full-duplex file transfers, you should get Zmodem-level performance even on one-way transfers, and so shouldn't have any penalty for using Janus rather than ZedZap (Zmodem). The idea is for the benefits to be there when you need them, without costing you anything extra if you don't. What You Should Be Aware Of There are some important considerations that you should be aware of before using Janus. Most importantly, Janus is a FULL DUPLEX protocol, and works best with a full-duplex connection. It's not a good idea to try and shove streaming, non-stop, full-duplex data through a half-duplex connection, since the modems will end up constantly flip-flopping the line around and retraining, and you'll get terrible performance. What this means is that normal low speed (1200 and 2400 baud) connections should work fine with Janus, and that high speed links that use V.32 should also work fine. High speed connections with high speed in one direction and a low speed back channel (such as an HST) will not allow Janus to work well at all. There are some other situations where Janus will not work very well. Many systems, modems and networks just don't seem to have the sustained bandwidth to allow full-duplex streaming data to be transferred accurately. Telenet's PC Pursuit service is a good example. The service has great difficulty with Janus, frequently dropping and mangling data. Janus simply saturates the capabilities of the packet switched connection. Some modems and even some serial port hardware doesn't seem to bear up very well under the tremendous load Janus can put on them either. This is probably to be expected, since full-duplex streaming protocols are rare, and the hardware has probably never been tested under this type of extreme, sustained load. The bottom line is that Janus may or may not work for you with your hardware, and if it does work, it may not work well on all connections. Its implementation in BinkleyTerm has been tested thoroughly, and works very well in many cases. You'll need to enable Janus (by default, Janus is not enabled) and test it yourself in your own environment to know whether Janus is a workable solution for you. +--------------------------------------------------------+ | Bit Bucket Software cannot guarantee the performance | | and applicability of Janus. If Janus does not work | | for you in your environment, please do not bombard us | | with questions and comments about the protocol; simply | | disable Janus again (which it is by default). | +--------------------------------------------------------+ Configuring Janus Your first consideration before using Janus is your FOSSIL driver buffer configuration. Janus really needs at least a 2kb receive buffer (or better yet, 3kb) and no more than about a 1kb transmit buffer (including whatever transmit buffering your modem does). The reason for the large receive buffer may be obvious; the largest packet Janus ever sends is 2kb, and while it's sending 2kb, you can obviously receive 2kb, which Janus won't be able to read from the FOSSIL until it's done sending. So up to 2kb of data can easily be received before Janus gets a chance to read any of it, and possibly a bit more in some situations. If your receive buffer is too small, you'll constantly lose incoming data and require massive numbers of retransmissions. The send buffer should be kept fairly small, because of the way the packets for the two directions are interleaved on the phone lines. If I'm receiving a large file from you while I'm sending you lots of small files, every time I finish sending you a small file I have to wait until I've received your entire send buffer's worth of data before I see the acknowledgement that says you received my file okay. If your send buffer is more than 1 or 2kb, this can end up wasting a lot of time. Configuration File Modifications IF YOU HAVE A LOW SPEED MODEM (2400 baud or under), then you will generally use the 'JanusBaud' statement in your configuration file. Set 'JanusBaud' to your highest supported baud rate. IF YOU HAVE A HIGH SPEED MODEM (9600 baud or above), then you might need to use a combination of 'JanusBaud' and 'JanusOK' statements in your configuration file. 'JanusBaud' should be set to the highest FULL DUPLEX baud rate you support. The only exception is if you have a multi-standard modem. Use the following as a guideline: Modem Type JanusBaud Statement -------------- ------------------- V.32 Only JanusBaud 32767 Non-V.32 Only JanusBaud 2400 Multi-Standard JanusBaud 2400 NOTE: 32767 is the maximum setting for 'JanusBaud.' If your high speed modem is single-standard, then 'JanusBaud' is all you will probably need to use. Multi-standard modems require 'JanusOK' statement(s) in order to take full advantage of high speed full duplex (V.32) connections when they occur. Your multi-standard modem should be set to return extended modem connect information. This information is appended to the end of the modem connect message, and can be used to determine what type of connection has been made in conjunction with the 'JanusOK' statement. In the case of a USRobotics HST Dual Standard, you will normally want to use Janus on V.32 connects, but not on HST connects. For example, these connect strings would indicate connections where Janus can be used: CONNECT 9600/Arq/V32 CONNECT 9600/V32 But a connection like this would not take advantage of Janus: CONNECT 9600/Arq/Hst NOTE: The extended connect information is not shown in all upper case, since BinkleyTerm will convert everything but the first character to lower case for display, automatically. You would permit Janus only on the desired connects, like this: JanusOK /Arq/V32 JanusOK /V32 Make certain that you also set 'JanusBaud' no higher than 2400, or your 'JanusOK' statements may not have the desired effect. In addition, you will probably want to dial out in V.32 mode if you frequently connect with multi-standard modems of the same make and model. This will allow Janus to be enabled on the maximum number of connections. If your multi-standard modem is not an HST Dual Standard, consult your modem manual for details extended connect information for your particular modem make and model. NOTE: In testing, it has been found that the "PEP" mode of the Telebit Trailblazer series modems can handle Janus, even though PEP mode is not full duplex. Throughput may not be as high as it would be on a true full duplex connection. ---------------------------------------------- DESCRIPTION AND OPERATION OF DOMAIN ADDRESSING ---------------------------------------------- Introduction Domain addressing is a relatively new concept in FidoNet, and represents an alternative, more complete method of designating various networks than the zone method now commonly in use. In theory, domain addressing adds an additional "layer" to address designation that represents a particular network. Within that network, zones and nets can all be specified without conflict to identical zones and nets in other networks. Domain support in BinkleyTerm requires you to use separate and distinct nodelist files for different domains. BinkleyTerm can now be used much more effectively in multiple network installations, assuming all the elements are configured properly. 'Address' Statement BinkleyTerm will accept a domain designation in any 'Address' statement in the configuration file. A domain is a valid Internet domain in most cases. For example, 1:104/501 might have the following in its configuration file: Address 1:104/501@fidonet.org At this writing, FidoNet is the only FidoNet technology network that is listed with Internet, but that is subject to change. Alternative networks should be designated by their "common" name followed by ".ftn" (for FidoNet technology network). For example, a node in Alternet might be designated as follows: Address 7:520/1015@alternet.ftn 'Domain' Statement There are several elements to successful domain implementation, in that nodelist and outbound areas change by domain. This information is given by you in the form of 'Domain' statements in your configuration file. The format of the 'Domain' statement is as follows: Domain <designator> <abbreviation> [<nodelist>] The <designator> is the actual domain name. As shown previously, FidoNet would be "fidonet.org" and Alternet would use "alternet.ftn" for the designator. The <abbreviation> is the abbreviated form of the domain name, and is LIMITED TO EIGHT (8) CHARACTERS. This name is passed in the packet header during a session. In most cases, this will be the common name of the network, such as "fidonet" or "alternet" in our examples. Finally, the optional <nodelist> parameter provides the base nodelist name to associate with this domain. If not given, it defaults to the same name given for the <abbreviation> parameter. In our examples, "nodelist" would be used for FidoNet, while "anetlist" would be used for Alternet. Here are two complete examples of the use of the 'Domain' statement, one for FidoNet, one for Alternet: Domain fidonet.org fidonet nodelist Domain alternet.ftn alternet anetlist NOTE: If you designate a domain in your 'Address' statement, then you must also create a corresponding 'Domain' statement. Outbound Area Naming The name of the outbound area also changes according the domain. As always, the outbound area for your primary address (including domain) is given with the 'Hold' statement. Outbound areas for other domains take an identical path, except the name of the last sub-directory is changed to the <abbreviation> parameter. For example, if your 'Hold' statement designates C:\BINKLEY\OUTBOUND for an outbound holding area (and you are in FidoNet), Alternet outbound mail would be held in the C:\BINKLEY\ALTERNET.xxx directory instead. Note that outbound areas for domains other than your own will ALWAYS have a zone extension. Working Example If you're thoroughly confused at this point, possibly a working example will help. Assume that a configuration file has the following: Hold c:\bink\outbound Address 1:104/501@fidonet.org Domain fidonet.org fidonet nodelist Domain alternet.ftn alternet anetlist Domain eggnet.ftn eggnet egglist The nodelist files would be as follows: NODELIST.* (for FidoNet) ANETLIST.* (for Alternet) EGGLIST.* (for Eggnet) The examples of outbound holding areas are as follows: c:\bink\outbound (Default Outbound) c:\bink\outbound.002 (FidoNet Zone 2) c:\bink\outbound.003 (FidoNet Zone 3) c:\bink\outbound.004 (FidoNet Zone 4) c:\bink\outbound.005 (FidoNet Zone 5) c:\bink\alternet.007 (Alternet Zone 7) c:\bink\alternet.059 (Alternet Zone 89)
c:\bink\eggnet.063 (Eggnet Zone 99)
Addendum to BinkleyTerm Documentation Changes and Additions for BinkleyTerm Version 2.50 Copyright (C) 1991 Bit Bucket Software, Co. INTRODUCTION Once again, the documentation for this latest release of BinkleyTerm is being issued as an addendum to the previous docs. Information contained herein should be considered as superseding any previous documentation. We expect to have a comprehensive update for the BinkleyTerm docs by Q4 1991 or Q1-1992. ------------------------------------------------------------------------ --== WARNING!!! ==-- --== THIS VERSION IS NOT A PLUG IN UPGRADE FOR VERSION 2.40!!! ==-- ------------------------------------------------------------------------ Bink 2.50 will MOST DEFINITELY break your 2.40 batch files, if you're using the "BBS Spawn", "BBS Batch", or "ExtrnMail" methods of calling up your BBS. The way that Bink hands the baton to the BBS has changed - TWO bps rates are now passed to the outside world. Previously, Bink would exit with the following parameters written to the batch file: For the "BBS Batch" and "BBS Spawn" methods, OLD STYLE (v2.40 & earlier): SPAWNBBS %1 %2 %3 %4 %1 = caller's connect rate as reported by the modem %2 = the comm port in use %3 = time to the next event in minutes %4 = extended information in the modem connect string (/ARQ, etc) For the "ExtrnMail" method, OLD STYLE (v2.40 & earlier): EXTMAIL %1 %2 %3 %4 %5 %1 = caller's connect rate as reported by the modem %2 = the comm port in use %3 = time to the next event in minutes %4 = errorlevel exit from the original batch file %5 = extended information in the modem connect string (/ARQ, etc) NOW, BinkleyTerm 2.50 passes the link rate first, and the caller's actual connect rate as the second parameter. For the "BBS Batch" and "BBS Spawn" methods, NEW STYLE (v2.50): SPAWNBBS %1 %2 %3 %4 %5 %1 = speed of the computer-to-modem link rate in bps %2 = caller's connect rate reported by the modem %3 = the comm port in use %4 = time to the next event in minutes %5 = extended information in the modem connect string (/ARQ, etc) For the "ExtrnMail" method, NEW STYLE (v2.50): EXTMAIL %1 %2 %3 %4 %5 %6 %1 = speed of the computer-to-modem link rate in bps %2 = caller's connect rate reported by the modem %3 = the comm port in use %4 = time to the next event in minutes %5 = errorlevel exit from the original batch file %6 = extended information in the modem connect string (/ARQ, etc) NOTE: If you're locking your FOSSIL driver, the link rate and connect rate passed by BinkleyTerm will be the same (unless the connect rate is one of the new HST-reported non-standard rates). Bink has no way of knowing the port's been locked unless it does the locking itself via the "Lockbaud" config verb. Please refer to the detailed link/connect rate table later in this document for further details. For instance, if you previously used this line in your BBS batch file: Opus Bbs -b%1 -p%2 -t%3 Change it to: Opus Bbs -b%2 -p%3 -t%4 Of course, if you're using the "BBS Exit" method of calling up your BBS, none of this affects you. What does affect you is Bink's ability to recognize the new HST connect strings and how they're handled, explained later. --- o --- Why the change to the batch files? There's a high-tech feature offered by USRobotics' Courier HST, HST Dual Standard and Telebit's T2500 modems that, used in combination with Bink's "LockBaud" config verb, will give your callers with high-speed error-correcting modems the speed benefits of a locked port and others will have the responsiveness of a normal connection. If you are using one of these modems, the new "LockBaud" options will allow you to make use of this feature. NOTE: You can continue to use your current floating or locked port setup by leaving the "LockBaud" config verb commented out and ignoring the following. If your HST or HST/DS is the older version with round LEDs, use your favorite comm program (or Bink's terminal mode), type in "AT&$<RETURN>", and see if "&B2" is listed as an option. If it is, you can use "LockBaud /ARQ". All v.42bis-capable and newer rectangular LED HST & HST/DS models support the "&B2" command. If &B2's not listed, try typing in "ATS$<RETURN>", and see if S-Register 27's bitmap options allow the port to be locked at 19200 and/or 38400 bps. If so, use the &B0S27=nnn setup listed below, and you'll be able to lock, but only at connect speeds of 4800 bps or greater, using "LockBaud 4800". Courier HST and HST Dual Standards manufactured prior to February 1989 (those not supporting the S-register 27 lock options) will not be able to utilize the new "LockBaud" options. Here's how to install this new floating/locked setup: 1) DON'T lock your FOSSIL driver. 2) Enable "LockBaud /ARQ" in Binkley.Cfg (newer HST) "Lockbaud 4800" in Binkley.Cfg (older HST) -or- "LockBaud /REL" in Binkley.Cfg (T2500) 3) Store "&A1", "&A2" or "&A3" in non-volatile RAM to enable the /ARQ extended result strings (HST) 4) Store "&B2" in non-volatile RAM (newer HST) Store "&B0S27=128" for 19200 locking (older HST) Store "&B0S27=192" for 38400 locking (older HST) -or- Store "S66=2" in non-volatile RAM (T2500) 5) If your BBS software allows you to pass the port rate separately (as with Maximus v1.02), call up the BBS as follows: Max Bbs -b%2 -p%3 -t%4 -s%1 (where %1 is the port rate and %2 is the connect rate) 6) If your BBS doesn't allow passing the link (port) speed separately from the connect speed (as with Opus), you can use the following kludge in your SPAWNBBS or EXTMAIL batch file (using X00's XU.EXE or the similar utility included with your FOSSIL driver): Rem convert 1-based port from Bink to 0-based for XU If "%3" == "1" SET PORT=0 If "%3" == "2" SET PORT=1 . . Rem it's always OK to lock with XU since unlock follows XU LOCK:%PORT%:%1 Opus Bbs -b%2 -p%3 -t%4 if ERRORLEVEL . . . . Rem unlock the port XU LOCK:%PORT%:OFF Note that Opus uses a 1-based comm port number, but XU & X00 use a 0-based comm port number. In the docs for Opus 1.72a, this alternative method has been described: NOTE: This behavior has NOT been verified! ------------------------------------------------------------------------ New command-line parameter: -a[modem string] This ONLY affects people who are using Binkley 2.5+ and HST/DS modems and the Dual Standard's &B2 option! Binkley 2.50 will be sending the modem connect string infor- mation, the stuff after the baud rate, out as a separate para- meter. I don't remember exactly the sequence, but for Opus 1.72 there are two ways to handle it: (Example! I don't know exactly how Binkley is handling this!) %1 User Baud %2 Port %3 Time to next event %4 Locked Baud %5 Extended modem information. From a batch file you would call Opus as: Opus bbs -b%1 -p%2 -t%3 -a%5 However, Opus will ALSO accept this: Opus bbs -b%1%5 -p%2 -t%3 Either way Opus will see the /ARQ and know that if &B2 has been configured that the baud rate is locked, if the /ARQ is not there, the baud rate will float. ------------------------------------------------------------------------- With "&B2" or "S66=2" enabled, when an HST or T2500 establishes a connection with another error-correcting modem (an /ARQ or /REL connect), it will shift its DTE rate (the speed it uses to talk to your computer) UP to the rate you stored in its non-volatile ram (NVRAM) when you initially set it up. To adjust this stored rate, set your favorite comm program (or Bink's terminal mode) to the desired rate and send the modem an AT<enter> AT&W<enter>. The modem stores the bps rate of the command in its NVRAM. Each time it makes an /ARQ or /REL connection, it checks NVRAM for the specified DTE rate, and sets it accordingly. For non-/ARQ or non-/REL callers, it sets the DTE rate to the connect rate. For older HSTs set to &B0S27=nnn, when the connect rate is 4800 bps or greater, the DTE rate will be set according to the value of S-register 27 (128 for 19200 bps, 192 for 38400 bps). --- o --- USRobotics Courier HST and HST Dual Standard modems' new CONNECT 14400, CONNECT 12000, and CONNECT 7200 modem result codes are now understood. Bink will pass the new bps rates as the connect rate, but will pass the link rate as the next highest "legal" link rate. For example, here's a table showing how Bink reacts to connects with and without use of the "LockBaud" verb: %1 %2 Modem Connect String Link Rate Connect Rate No "LockBaud /ARQ" & "Baud 38400" (or 19200) CONNECT 14400/ARQ 19200 14400 CONNECT 12000/ARQ 19200 12000 CONNECT 9600 9600 9600 CONNECT 9600/ARQ 9600 9600 CONNECT 7200 9600 7200 CONNECT 7200/ARQ 9600 7200 CONNECT 4800 4800 4800 CONNECT 4800/ARQ 4800 4800 CONNECT 2400 2400 2400 CONNECT 2400/ARQ 2400 2400 Using "LockBaud /ARQ" & "Baud 38400" CONNECT 14400/ARQ 38400 14400 CONNECT 12000/ARQ 38400 12000 CONNECT 9600 9600 9600 CONNECT 9600/ARQ 38400 9600 CONNECT 7200 9600 7200 CONNECT 7200/ARQ 38400 7200 CONNECT 4800 4800 4800 CONNECT 4800/ARQ 38400 4800 CONNECT 2400 2400 2400 CONNECT 2400/ARQ 38400 2400 Using "LockBaud /ARQ" & "Baud 19200" CONNECT 14400/ARQ 19200 14400 CONNECT 12000/ARQ 19200 12000 CONNECT 9600 9600 9600 CONNECT 9600/ARQ 19200 9600 CONNECT 7200 9600 7200 CONNECT 7200/ARQ 19200 7200 CONNECT 4800 4800 4800 CONNECT 4800/ARQ 19200 4800 CONNECT 2400 2400 2400 CONNECT 2400/ARQ 19200 2400 --- o --- CHANGES TO THE CONFIGURATION FILE: Lockbaud <string> Jeff Nonken's Lockbaud ARQ idea has been implemented. The <string> should be that part of the connect string from the modem that identifies an error-free connection. The FOSSIL should NOT be locked if this option is used. For example: Using an HST modem: Baud 38400 Autobaud LockBaud /ARQ With the modem set to &B2, [&A1, &A2 or &A3] (and bps rate 38400 saved in non-volatile RAM) both Bink and the modem are set to 38400 bps on any error-free connection. This allows maximum throughput on MNP5 or v.42bis connections where data compression is used, while non-ARQ sessions enjoy improved interactive performance. On a Telebit T2500: Baud 19200 Autobaud LockBaud /REL With modem register S66 set to 2, the same feature is enabled on the T2500 modem. If you have a modem with more than one response code which indicates an error-free connection, you can use multiple "LockBaud" lines (up to 16). Privatenet <fakenet> If this line is commented out, BinkleyTerm 2.50 offers full 5-D addressing for points. For example, if you are point 5 off my system, your address would be "1:106/2000.5@fidonet.org", expressed in 5-D notation. In other words, the five dimensions are: "zone:net/node.point@domain". Here are the details of how it's implemented: In your private nodelist segment, include points as follows (be SURE that you EXACTLY duplicate the information in the distributed nodelist for your net host and your node): Host,106,Houston_Area,Houston_TX,Allan_Madar,etc,etc,etc ,2000,COMM_Port_One,Houston_TX,Bob_Juge,etc,etc,etc Point,1,Point_1,Houston_TX,John_Smith,etc,etc,etc Point,2,Point_2,Houston_TX,Mike_Jones,etc,etc,etc . . etc Run a nodelist processor which can generate points in V6, V5, or V7 formats, such as Xlaxnode v2.52. What the generated nodelist looks like: NODELIST.IDX (V6) File: Points will be listed as -1/pointnumber in entries following the bossnode. To find a point, you locate an entry for the boss, then search for subsequent -1/??? entries for a match or pointnumber. Because pointnets are now and probably will continue to be inserted only via private lists, you must continue this process until you either find the point or can't find another entry that matches the bossnode. . . netnum/0 . . netnum/nodenum -1/pointnum -1/pointnum -1/pointnum . . NODELIST.SYS (V5) file: In point entries, net is -1, node is the point number NODELIST.DAT (V6) file: In point entries, node flag bit 12 (hex 1000) will be set to indicate that this entry is a point, and the hub node field will contain the point number instead of a hub. Where is the outbound area for points? Let's say you are storing mail for points off of Vince's system (1:132/491). You would do so by creating a directory 008401EB.PNT in your Zone 1 Fidonet outbound directory. (the hex representation of "132" is "84", "491" translates to hex "1EB", so "008401EB" represents 132/491 in hexadecimal) If you were in Zone 1 of Fidonet, a crash packet to Vince's point 12 ("12" is "C" in hex) would be something like: C:\BINKLEY\OUTBOUND\008401EB.PNT\0000000C.CUT * IMPORTANT NOTE: If you're satisfied with the current fakenet method * or just want to wait until other tools are available to manage this * new capability, just leave "PrivateNet" as it is in your config file. Version6 Version 6 nodelist operation. The previous "NewNodeList" verb is also recognized for Version 6 nodelist operation by Bink 2.50 but will NOT be supported in future versions of BinkleyTerm. Version7 Enables support for the new Version 7 compiled nodelist format developed by Doug Boone for Opus 1.70. This format offers a 40% savings in file size compared to Version 6. XlaxNode 2.52 and newer versions of ParseLst can be used to generate Version 7 nodelist files. For comparison, here are the sizes of compiled nodelist files for the full Fidonet Nodelist (Day 221) in Version 6 & Version 7 format: Version 6 NODELIST.DAT 1605248 bytes NODELIST.IDX 50164 bytes FIDOUSER.LST 638786 bytes _______ 2294198 bytes Version 7 NODEX.DAT 794595 bytes NODEX.NDX 191488 bytes SYSOP.NDX 247296 bytes ______ 1233379 bytes 1060819 byte savings NOTE: The "sysop name lookup" feature with Version7 uses the "SYSOP.NDX" file, not the Version6 "FIDOUSER.LST" file. Be sure to use Version7 compiler keywords "Userlist" or "Interlist" if you want this feature supported. BlankWait <number> Sets the number of seconds Binkley will wait before blanking the screen when the "ScreenBlank" config verb is uncommented. StartBlkLen <number> Allows adjustment of the starting Zmodem session block size from a value of 64 bytes to 1024 bytes. Communications on noisy lines often benefit from use of a smaller initial block size. If this verb is commented out, behavior is identical to 2.40. MaxTime <number> Specifies the maximum cumulative time allowed for file request sessions in minutes. This verb can be used in combination with the file request size limiters (MaxBytes, KnownMaxBytes, ProtMaxBytes) as well as the file request quantity limiters (MaxReq, KnownMaxReq, ProtMaxReq). KnownMaxTime <number> See MaxTime above. ProtMaxTime <number> See MaxTime above. RingTries <number> Limits the <number> of unanswered rings Bink detects before it hangs up on an outbound call. Your modem must be able to identify and report "RINGING" for this feature to work. Bink defaults to 4 where this parameter is not otherwise set. (Thanks to Henry Clark and Ron Bemis for this idea). NoSharing Disables file sharing calls in networked environments. NoSize Disables Bink's calculation and display of queued file sizes for the pending outbound window display. If you see a big performance problem associated with this feature, try uncommenting this verb. When in force, the "Q=nnn" schedule flag is also disabled. Serial <number> Bink now defaults to "UNREGISTERED" operation. To disable it now and forever, uncomment the verb "Serial" followed by a <number> of your choice. Vince intends to ALWAYS run the UNREGISTERED version -- proudly. WinSlice Uses Windows' timeslice rather than the MSDOS (int 28) timeslice. Use of a Windows-specific FOSSIL is required to prevent loss of characters, however. --- o --- SCHEDULING EVENTS CHANGES AND ADDITIONS <flags/options> H "High-Priority Crash" - Binkley will send Crash flavored mail IMMEDIATELY, no matter what the cost. All other mail flavors are sent according to cost or other constraints imposed by the current event. This behavior mirrors that of Crashmail under Opus 1.1x+ with one exception - Crashmail call(s) are made at normal intervals during an H event, rather than forcing a repetitive poll as with Alt-M. Q=nnn Inhibits Bink from calling out with less than nnn bytes of data for a node (?LO + ?UT sizes). You should probably have at least one event with Q=0 (the default if none is specified) in order to get the mail out. (Henry Clark gets credit for this idea) OTHER CHANGES AND TWEAKS --- o --- BinkleyTerm now works internally with function codes, rather than scan codes. This means that ALL keyboard behavior can be modified in the ENGLISH.TXT file. Examples are included in that file to illustrate how this is accomplished. Any key combination you wish remapped should have the original and remapped scan codes preceded by the capital letter "U" for Unattended mode, "T" for Terminal mode, or "A" for Ansi escape sequences. The file should then be recompiled into a language file using BTLNG.EXE in the following manner: BTLNG english.txt binkley.lng Replace the original BINKLEY.LNG file with your newly compiled revision, and your keyboard remappings will take effect. --- o --- A new operating-system conditional switch has been added to BTLNG.EXE, the language file compiler: ?DOS at the beginning of a line will tell BTLNG to compile the line if it's being run under DOS ?OS2 at the beginning of a line will tell BTLNG to compile the line if it's being run under OS/2 --- o --- "Doorway" mode is now supported in Bink's Terminal package. When in this mode, all keystrokes are sent out the modem as entered (except for the command used to toggle the mode on & off). If a function key is used, a zero followed by the scan code is sent. The default command to toggle "Doorway" mode on and off is "Alt =" (it can be remapped the same as other Binkley functions). --- o --- An upload/download capability has been added to scripts. It's invoked as follows: Upload x filespec Download x where x is the protocol selection: Z for Zmodem S for SEAlink --- o --- The escape character "\" can be used in a phone number to escape subsequent characters that otherwise would be interpreted by Bink's dialer. To send the "\" backslash character itself, use "\\". --- o --- Incoming call collision response has been improved. If Bink receives a NO DIAL TONE message from the modem when attempting to dial out, it will now attempt to answer. This new behavior does not apply during the first minute after startup or unbusying, to avoid misinterpreting central-office dead lines (caused by keeping the line off-hook for extended periods to give callers a busy signal). --- o --- .BSY protection has been extended over the entire session. Two points to be aware of, however: Inbound FTS-0001 sessions will have to accept a packet before the flag can be test/set. If an outbound area for the calling domain+zone doesn't exist, Bink will attempt to create the flagfile in the flags directory - if you have one defined. This allows Bink to accept all mail, but for ongoing mail operations a separate outbound directory should be created for the zone/domain in question. --- o --- Bink now attempts a DietIfna session ONLY with a remote that indicates the ability to do so based on the capability bit in the system's packet. --- o --- In fullscreen mode, the pending event display area at the bottom of the screen will notify the sysop that there is unread netmail pending. This feature only works on systems that use the fidonet one-file-per-message *.MSG structure. --- o --- An XON (Ctrl-Q) is sent at the start of session whack logic to unstick systems that may have run afoul of "noise" from MNP negotiations between error-correcting modems. What's happening? Occasionally, an XOFF (Ctrl-S) is received during the initial synchronization between modems. This effectively stops communications until an XON is sent in response. In theory, this shouldn't happen, but it sometimes does. The XON is sent as "preventive medicine" to avoid this problem. --- o --- The cost and duration of a call is logged at the end of an outbound session in the format: Session with zone:net/node Time: xx:xx:xx Cost: $xx.xx --- o --- The low-level FOSSIL write routines now have a 1-minute timeout. That is, in the event your modem goes out to lunch on you (it drops the CTS clear to send flow control line and keeps it down for 1 minute or more), Bink should hang up and recover. --- o --- Outdialing begins less than 10 seconds after startup, to help get calls done in high traffic situations. --- o --- While waiting for a call in fullscreen mode under a multitasker, the bottom line of the "Current Settings" window identifies the multitasking software in use. This line changes to an elapsed time indicator during a call, and changes back when the session is concluded. The line was redisplaying the multitasker only after a session concluded with an exit. --- o --- Hitting Alt-A in unattended mode will send the answer string to the modem. --- o --- Bink is more responsive to the <ESC> key for cancelling operations during session startup and elsewhere. --- o --- The use of <ESC> for shelling to the local command interpreter has been disabled. ALT-J will still perform a "jump to DOS". --- o --- In fullscreen mode Bink displays the amount of mail queued for each node. --- o --- File sharing is supported in DOS versions greater than 2. Most files are opened in "deny-write" mode. This support is fully implemented in the MSC 6.00A version, approximately 90% in the BorlandC version, and probably 50% in the Watcom and Zortech versions. --- o --- A check is made to make sure there's mail to send to a node before actually dialing out. If not (like maybe it disappeared in a multitasking environment), the entry for that node will disappear. --- o --- Logic was added to ensure a periodic rescan of the outbound area. --- o --- Support is removed for V5, SEAdog and QuickBBS nodelists in distributed .EXE files; however, the source files have a conditional compile switch to generate executables with these features supported. --- o --- Finally threw out the old swapper code and replaced it with Thomas Wagner's excellent public domain code. This gives Bink XMS or EMS swapping by default and swapping to a file if XMS or EMS is not available (or insufficient). It also uses the create-temp-file function in DOS if available, which should make housekeeping a breeze. --- o --- Cleaned up code and MAKEs to allow DOS compilation using NDMAKE and NMAKE with MSC 6.00a (Large model), DOS using BCX (Large model), DOS using WATCOM and WMAKE (Large model), OS/2 using NMAKE with MSC 6.00a (Large model), and OS/2 using WATCOM and WMAKE (Large model). Zortech C DOS (Virtual Memory model) is also supported. --- o --- The FTSC Product Code lookup table has been moved from the executable to ENGLISH.TXT, so that any ongoing changes or additions to these codes (new products between releases) can be made by the user. Simply insert a line beginning with "P" and the product code number, followed by a space and product description. This table controls recognition of what product is calling - Bink's own Product Code passed in the initial YooHoo packet is NOT affected.
Comments
Post a Comment