The Madge Standard NetBIOS program
==================================                       
                                               LSS 5.0(0), August 1996
                                               -----------------------

This  document  describes   the   Madge   standard   NetBIOS   program 
MNETBIOS.EXE.  It  refers  to  version  2.00  of  MNETBIOS.EXE.  Other 
versions may vary slightly.  

MNETBIOS.EXE  is functionally equivalent to the IBM LAN Support driver 
called DXMT0MOD.SYS.

Usually,  you  do not need to use MNETBIOS.EXE because the Madge Smart 
NETB driver provides a considerable memory saving. However  there  are 
some  circumstances  where  MNETBIOS  is  to  be preferred because its 
resources are not limited by  the  amount  of  RAM  available  on  the 
Ringnode  you  are using. (For information about using MNETBIOS.EXE on 
gateway computers, see the documentation.)

1) Loading the driver
---------------------
To load MNETBIOS, use the CONFIG.SYS file. You  can  put  the  command 
anywhere  in  the  file,  but we recommend that you put it at the end.  
The following is an example of a suitable command for  the  CONFIG.SYS 
file of a workstation:

        DEVICE=C:\MNETBIOS.EXE ST=6 S=6 C=8

The  command  line  parameters are optional. They are described in the 
next section.

The  "C:\"  in  the  above commands may be replaced by any appropriate 
path specifying where to load the program from.

The program displays a  "signon  message"  when  it  is  loaded.  This 
message  includes  the  version  number.  If there is an error at load 
time an appropriate error message is displayed.

Note  that  you  can  run  MNETBIOS  from  AUTOEXEC.BAT.  However,  we 
recommend that you run it from CONFIG.SYS.

2) NetBIOS Interface Parameters
-------------------------------
The MNETBIOS.EXE program  accepts  command-line  parameters  that  are 
compatible  with  the  "new parameters" of the IBM LAN Support Netbios 
Program (DXMT0MOD.SYS).  All of the new IBM parameters  are  accepted. 
However,  certain  of them are interpreted slightly differently by the 
Madge program (and some are ignored).  

The   old   command-line  parameters  (indicated  by  OLD.PARMS.0  and 
OLD.PARMS.1) are accepted, but the MNETBIOS ignores  the  values  that 
you  specify  for  them.   Support  for  these  old parameters ensures 
command-line compatibility with IBM.

The command-line syntax is as follows:

DEVICE=[path]MNETBIOS.EXE [ENABLE] [/NOROM] [parms] [ / [=] [parms] ]

"parms"   indicates   the   optional  parameters  that  are  specified 
separately for adapter 0 and adapter 1.  Details of  these  parameters 
are  given  below. 

The "/" separates the options for the two adapters.  

The "=" indicates that the adapter 1 parameters take the  same  values 
as the adapter 0 parameters.

"ENABLE" specifies that the MNETBIOS program enables interrupts during 
its  operation.   You do not normally need it, although it may prevent 
characters being lost if your computer has a high  speed  asynchronous 
adapter installed in addition to your Ringnode. If you use this option 
you  might  experience  a  slight  decrease  in the performance of the 
NetBIOS interface.

To disable the search for a Madge Netbios ROM, use "/NOROM".  You only 
need it if you have installed on your Ringnode  a  Madge  Netbios  ROM 
which you do not need to use. We provide this ROM as part of the Madge 
Enhanced  LAN  Support  Program.For  more details, please contact your 
supplier.

The optional "parms" parameters are all specified by a keyword  and  a 
value.   For  example,  to  specify  64  sessions,  the  parameter  is 
"SESSIONS=64".  In all cases, the keyword  can  be  abbreviated.   For 
example,  "S=64"  is equivalent to "SESSIONS=64". You may only specify 
each keyword once for each adapter.  The  keywords  are  identical  to 
those of the IBM LAN Support Program. They are summarized in the table 
below.

Note  that some of the parameter default values interact, particularly 
the SESSIONS and STATIONS parameters. We recommend that if you specify 
one of these parameters, then you specify both. This  helps  to  avoid 
confusion.


     Keyword                Abbrev.      Values          Default

     COMMANDS                 C         1...255           12
     NAMES                    N         2...254           17

     OPEN.ON.LOAD             O         Y YES N NO        YES
     RESET.VALUES             RV        Y YES N NO        NO
     CLOSE.ON.RESET           CR        Y YES N NO        NO
     DATAGRAM.MAX             DG        Y YES N NO        NO
     DHB.SIZE                 DS        200...9999        600
     DHB.NUMBER               DN        1...9             1
     RECEIVE.BUFFER.SIZE      R         1...9999          112

     TRANSMIT.TIMEOUT         TT        1...20            2
     TRANSMIT.COUNT           TC        1...10            3
     REMOTE.NAME.DIRECTORY    RND       0...255           0
     REMOTE.DATAGRAM.CONTROL  RDC       Y YES N NO        NO
     ADAP.ADDR.NOT.REVERSED   ANR       Y YES N NO        NO
     SOURCE.ROUTING           SR        Y YES N NO        YES
     TX.I.BUFFERS             TXI       2...255           10+S/2 *
     TX.U.BUFFERS             TXU       2...255           4+C/4  *

     DLC.T1                   T1        0...10            6
     DLC.T2                   T2        0...11            2
     DLC.TI                   TI        0...10            10
     DLC.MAXOUT               MO        1...127           2
     DLC.MAXIN                MI        1...127           1
     DLC.MAXOUT.INCR          MOI       1...255           1
     DLC.RETRY.COUNT          RC        1...255           15
     RING.ACCESS              RA        0...3             0

   * - For an explanation of these defaults, see text below.


However, the default allocation of TX_I_BUFFERS depends on the number 
of sessions, the first 108 sessions effectively use 80  bytes  each  - 
one session plus half a transmit I buffer.  This does not apply if you 
specify the TX.I.BUFFERS parameter is specified explicitly.

COMMANDS            Specifies  the  maximum  number of NetBIOS Control 
                    Blocks (NCBs) that  NetBIOS  handles  at  any  one 
                    time.  If  an  application  issues  more than this 
                    number of NCBs, NetBIOS rejects them. The  default 
                    value   of   12   is   normally   sufficient   for 
                    workstations. It usually needs to be increased for 
                    servers.     
                    
                    Each additional  command  uses  approximately  270 
                    bytes    of    RAM.     The   default   allocation 
                    of TX_U_BUFFERS is determined  by  the  number  of 
                    commands.   By default, the first 112 commands use 
                    304 bytes each (one command plus one quarter of  a 
                    transmit U buffer).  
                    
                    Default: 12
                    Abbreviation: C
                    
NAMES               Specifies the maximum number of Netbios names that 
                    your  Ringnode  can  have  at  any one time.  This 
                    includes one for  the  permanent  name,  which  is 
                    always  present.   The  default  of  17  is almost 
                    always sufficient, although you need  to  increase 
                    it for Netbios bridges.  Each additional name uses 
                    approximately 50 bytes of RAM.

                    Default: 17
                    Abbreviation: N


OPEN.ON.LOAD        Ensures that the  Ringnode  opens  at  load  time, 
                    (which allows better error diagnostics). A message 
                    is  displayed  while  the Ringnode is opening.  If 
                    you set this option to  "NO",  the  Ringode  opens 
                    when  it receives the first NCB (unless some other 
                    program has opened it first).
                     
                    Default: YES
                    Abbreviation: OOL
                
                       
CLOSE.ON.RESET      Closes and reopens the Ringnode  whenever  NetBIOS
                    receives a RESET command. By default, NetBIOS only
                    closes  and reopens its own SAP when it receives a
                    RESET command.
                    
                    Default: No
                    Abbreviation: CLR
                    
DIR_OPEN_ADAPTER    Note  that  the  Madge  NetBIOS ignores all of the 
                    NetBIOS parameters passed  by  a  DIR_OPEN_ADAPTER 
                    CCB  command  (as does the IBM LAN Support Program 
                    when started with the new parameters).  Also,  the 
                    "reset"   parameters   (number   of  commands  and 
                    sessions)   are   ignored   because   command-line 
                    parameters specify these. 

RESET.VALUES        For  IBM  compatibility only. MNETBIOS.EXE ignores 
                    this parameter.

DATAGRAM.MAX        Controls  the  maximum  size of the datagrams that 
                    the NetBIOS transmits.  If you set  this parameter 
                    to  "NO"  (the  default),  the maximum size is 512 
                    bytes.  If you set it to "YES", the  maximum  size 
                    is determined from the maximum frame size (see the 
                    DHB.SIZE  parameter)  and  may  be larger that 512 
                    bytes.  Broadcast datagrams are always limited  to 
                    512   bytes.   We  strongly  recommend  you  limit 
                    NetBIOS application programs to 512 byte datagrams 
                    because  some  NetBIOS  implementations  may   not 
                    support larger sizes.
                    
                    Default: NO
                    Abbreviation: DG

DHB.SIZE            Specifies  the  maximum  size frame (including all 
                    MAC, DLC, and  NetBIOS  frame  headers)  that  the 
                    Ringnode  can  transmit,  .   If you are using the 
                    Madge Smart LLC, this  value  is  limited  to  the 
                    maximum  frame  size  that the LLC can handle.  It 
                    usually defaults  to  that  size.  For  any  other 
                    adapter handler the default is 600 bytes.
                      
                    The  adapter  handler  may  impose  some overhead, 
                    resulting in a maximum frame size slightly smaller 
                    than the one that you specify  (6  bytes  overhead 
                    for an IBM adapter).   
                    
                    If you have set DATAGRAM.MAX to "YES", the maximum 
                    size  of  NetBIOS  datagrams  is determined by the 
                    value you set DBH.SIZE  to.   
                    
                    Note   that   in  some  cases,  particularly  when 
                    communicating across bridges, the NetBIOS  program 
                    may  use frames smaller than the maximum size that 
                    you  specify.   It  never  uses  frames  that  are 
                    larger.

                    Default: Max frame size handled by Smart LLC or
                             600 bytes
                                     
DHB.NUMBER          For  IBM  compatibility  only.  This  parameter is 
                    ignored.
                    
RECEIVE.BUFFER.SIZE For IBM compatibility only. This parameter is 
                    ignored.

TRANSMIT.COUNT      Specifies the  maximum  number  of  times  NetBIOS 
                    attempts to transmit UI frame requests.
                    
                    Default: 6
                    Abbreviation: TC
                    
TRANSMIT.TIMEOUT    Specifies the delay between attempts by NetBIOS to 
                    transmit UI frame requests (this delay is measured 
                    in units of 0.5 seconds).
                    
                    Default: 1
                    Abbreviation: TT
                            
REMOTE.NAME.DIRECTORY
                    This parameter is ignored.
                    
REMOTE.DATAGRAM.CONTROL 
                    This parameter is ignored.
                    
ADAP.ADDR.NOT.REVERSED
                    Prevents  byte  reversal  of the node address that 
                    appears in the NetBIOS status  area,  and  in  the 
                    NetBIOS  permanent  name.   By  default, this node 
                    address is byte reversed. If you set the parameter 
                    to YES, the node address is not byte reversed.  We 
                    include  this  parameter  for  compatibility  with 
                    certain versions of the IBM NetBIOS  that  do  not 
                    byte  reverse  this address.  Normally, you do not 
                    require it.
                    
                    Default: NO
                    Abbreviation: ANR
                            
SOURCE.ROUTING      Allows you to disable Netbios's handling of source 
                    routing.   Normally,  you  do  not  require   this 
                    parameter.  You only need it if there are nodes on 
                    an Ethernet  network  you  are  communicating with 
                    which   do   not   recognize   frames   containing 
                    source-routing  information.   We  provide  it  to 
                    allow strict compliance with IEEE 802.3  protocols 
                    on Ethernet. 
                    
                    Default: Yes
                    Abbreviation: SR

TX.I.BUFFERS        Controls  the  number  of  buffers  that   Netbios 
                    maintains  in  order to handle the transmission of 
                    I-frames down Netbios sessions.  
                    
                    The default value for this parameter is 10 plus an 
                    additional one for every two  sessions,  up  to  a 
                    maximum of 64.  Therefore, with the default number 
                    of  sessions (32) there are 10 + 32/2 = 26 buffers 
                    allocated.   
                    
                    The    default   allocation   is   almost   always 
                    sufficient. You may need to increase it if you are 
                    using large transmit windows, or to decrease it if 
                    you  need  to  reduce  memory  consumption.   Each 
                    TX.I.BUFFER uses approximately 76 bytes of memory.
                    
                    Default: 26
                    Abbreviation: TXI

TX.U.BUFFERS        Controls  the  number  of  buffers  that   Netbios 
                    maintains  in  order to handle the transmission of 
                    UI-frames (including  datagrams,  status  queries, 
                    and  session  establishment  frames)  down Netbios 
                    sessions.
                     
                    The default value for this parameter is 4 plus  an 
                    additional  1  for  every  four  commands, up to a 
                    maximum of 32.  
                    
                    Therefore,  with  the  default  number of commands 
                    (12) there are 4 + 12/4  =  7  buffers  allocated.  
                            
                    This   default   allocation   is   almost   always 
                    sufficient. You may need to increase it if you are 
                    making  heavy  use  of  Netbios datagrams.  Do not 
                    reduce  it  below   its   default   value.    
                    
                    Each TX.U.BUFFER uses up approximately  136  bytes 
                    of memory.

                    Default: 7
                    Abbreviation: TXU
                    
DLC.T1              Allows you  to  modify  the  DLC's  retransmission 
                    timer   value   for  NetBIOS  links.   This  timer 
                    determines  the  delay  between  transmission  and 
                    retransmission  of  a frame, if no acknowledgement 
                    is received.  The default value of 6 gives a retry 
                    timeout of 2 seconds. This is normally correct.

                    Default: 6 
                    Abbreviation: T1
                    
DLC.T2              Allows you to  modify  the  DLC's  acknowledgement 
                    timer   value   for  NetBIOS  links.   This  timer 
                    determines   the   delay   between   receipt   and 
                    acknowledgment  of  a frame when the frame has not 
                    reached the receive window. The default value of 2 
                    gives a retry timeout of 120  milliseconds.   This 
                    is appropriate for most situations.
                                            
                    If you  specify  a  value  of  11,  the  timer  is 
                    disabled  and  no  acknowledgements are sent until 
                    the receive window has been reached.

                    Default: 2
                    Abbreviation: T2 
                                    
DLC.TI              Specifies the delay after which the DLC sends poll 
                    frames to check that a link is  still  functional.  
                    The default value of 10 gives a time-out of thirty 
                    seconds.    This   is   longer  than  the  default 
                    time-setting of the NetBIOS link-inactivity timer. 
                    Therefore,  the  NetBIOS  timer  normally  expires 
                    first  and  sends  a poll frame. This restarts the 
                    DLC's timer.
                       
                   
                    All  of three DLC timer parameters described above 
                    (DLC.T1, DLC.T2,  and  DLC.TI)  use  timing  units 
                    determined  by  the DLC itself.  For each of these 
                    parameters, values  1...5  specify  from  2  to  6 
                    "short" ticks, and values 6...10 specify from 2 to 
                    6  "long"  ticks.   The  length  of these long and 
                    short ticks can be different for each of the three 
                    timers and is specified by LLC open parameters  in 
                    units  of  40  ms.   The  default values for these 
                    ticks, which apply unless some  other  application 
                    program opens the adapter, are as follows:

                              Short ticks (1...5)  Long ticks (6...10)

                    Timer T1  200ms                1000ms
                    Timer T2  40ms                 400ms
                    Timer Ti   1s                  5s


DLC.MAXIN           Specifies the maximum number of I-frames that  are 
                    received  on  NetBIOS  links  before  an LLC-level 
                    acknowledgment is sent.
                    
                    The  default  values   are   suitable   for   most 
                    situations.   If  you  change DLC.MAXIN, make sure 
                    that its value is the  same  on  all  the  NetBIOS 
                    interfaces on your network.
                    
                    In   some   cases,   you   may  achieve  a  slight 
                    performance  gain  by  increasing  the  value   of 
                    DLC.MAXIN and DLC.MAXOUT (for example to 4 and 2).  
                    However,  do  this  with  extreme  care.  You must 
                    change these values in a  consistent  way  on  all 
                    communicating NetBIOS configurations.
                    
                    Default: 1 
                    Abbreviation: MI
                                    
DLC.MAXOUT          Specifies  the maximum number of I-frames that are 
                    transmitted on NetBIOS links before  an  LLC-level 
                    acknowledgment is required.
                    
                    The default value is suitable for most situations. 
                    If you change DLC.MAXOUT, make sure that its value 
                    is the same on all the NetBIOS interfaces on  your 
                    network.
                    
                    Default: 2
                    Abbreviation: MO
                    
DLC.MAXOUT.INCR     Specifies  the  number of frames by which the size 
                    of the transmit window increases in response to  a 
                    frame  loss  caused  by  a  temporary  problem  of 
                    congestion.  This parameter reduces  the  load  on 
                    bridges that have become congested.
                    
                    Default: 1
                    Abbreviation: MOI
                    

DLC.RETRY.COUNT     Specifies the number  of  attempts  that  the  LLC 
                    makes  to  transmit I-frames on links that NetBIOS 
                    is using. After the specified number of  attempts, 
                    all NetBIOS sessions to the remote adapter that is 
                    not  acknowledging frames are closed with an error 
                    message.   The  DLC.T1   parameter   (see   below) 
                    specifies  the time period separating the retries. 
                    The  default  of  15  is  appropriate   for   most 
                    situations.
                                    
                    Default: 15
                    Abbreviation: RC
                            
RING.ACCESS         Specifies  the  access  priority  with  which your 
                    Ringnode transmits  frames  onto  the  ring.   The 
                    higher  the  number,  the higher the priority. Use 
                    this parameter with extreme care because,  if  you 
                    increase it from the default value, other stations 
                    may be unable to access the network.
                    
                    Default: 0
                    Abbreviation: RA
                                   

                    *****  End of MNETBIOS.TXT *****