BINK_250.DOC

29 KB 45ad71c3f3cd9634…

                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.