home *** CD-ROM | disk | FTP | other *** search
/ synchro.net / synchro.net.tar / synchro.net / main / BBS / NETF081.ZIP / NETFOSS.TXT < prev    next >
Encoding:
Text File  |  2002-12-02  |  33.1 KB  |  874 lines

  1.  
  2.                      -= NetFoss - an Internet FOSSIL =-
  3.                            for Windows NT/2000/XP
  4.  
  5.                                 Version 0.8.1
  6.                               December 2, 2002
  7.                            Written by Mike Ehlert
  8.                Copyright (c) 2001-2002 PC Micro Systems, Inc.
  9. ____________________________________________________________________________
  10.  
  11.  NetFoss is a FOSSIL revision level 5 driver for Telnet communications
  12.  under Windows NT4, 2000, and XP. It includes support for the additional
  13.  FOSSIL functions defined by Ray Gwinn in X00.
  14.  
  15.  A FOSSIL [Fido Opus Seadog Standard Interface Layer] is a driver which
  16.  allows DOS based modem communication software (ie: BBS's and Door Games)
  17.  to communicate through an interface that talks to the actual hardware.
  18.  Originally FOSSIL drivers were used for serial communications, however
  19.  NetFoss communicates with TCP/IP ports instead, and does not provide
  20.  any serial port support.
  21.  
  22.  
  23.  Requirements
  24.  ------------
  25.  
  26.         * Windows NT4, Windows 2000, or Windows XP (any version).
  27.         * A Win32 Telnet Server (several are available for free).
  28.         * DOS applications designed to communicate with a FOSSIL
  29.           (Such as a BBS or a BBS door).
  30.  
  31.  
  32.  Features
  33.  --------
  34.  
  35.         * Extreamly fast, written entirly in ASM.
  36.         * Very small, uses only 10k per node.
  37.         * Supports up to 65535 nodes.
  38.         * Compatible with nearly all DOS BBS and door software.
  39.         * DESQview emulation, redirects DV timeslice release
  40.            functions to NT.
  41.         * CPU Usage detection / optimization for DOS applications.
  42.         * Forces doors closed if their carrier detection fails.
  43.  
  44. ____________________________________________________________________________
  45.  
  46.  Installing
  47.  ----------
  48.  
  49.  Place the following files into a directory:
  50.  
  51.  NF.BAT        The batch file used to load/unload NetFoss (and the door)
  52.  NETFOSS.COM   The FOSSIL TSR Interupt handler
  53.  NETFOSS.DLL   The FOSSIL Virtual DOS Driver
  54.  NETCOM.EXE    The Communication Engine and application loader
  55.  NETFOSS.TXT   The NetFoss documentation (You are reading it now)
  56.  FOSSIL.TXT    Technical Reference: FOSSIL implementation and use 
  57.  FOSSIL.CHT    Technical Reference: FOSSIL command chart
  58.  
  59.  If this directory is not in the Path, you must copy NETFOSS.DLL to
  60.  a directory which is in the Path.
  61.  ******************************************************************
  62.  *  NETFOSS.DLL is _required_ to be located in the system %PATH%. *
  63.  ******************************************************************
  64.  
  65.  
  66.  Edit your NF.BAT file and change any of the paths there as needed.
  67.  Do not add any "CD\" commands to the batch file, or it will not
  68.  be able to find a DOOR32.SYS file which it expects in the current
  69.  directory if no /n{node} and /h{handle} parameters were passed on
  70.  the command line. (See section below for details on this).
  71.  
  72.  If your BBS does not support DOOR32.SYS, you will need to make an
  73.  additional change to your NF.BAT file as shown in the non-DOOR32.SYS
  74.  mode section below.
  75.  
  76.  You can rename NF.BAT to NF.CMD if you like, which will use the
  77.  NT cmd.exe command processor instead of command.com.
  78.  
  79.  
  80.  Note that NetFoss supports any COM port value, on all nodes.
  81.  This allows BBS programs and doors that were designed to only support
  82.  FOSSIL ports COM1 though COM4 to work on any node. To take advantage
  83.  of this, you could set all nodes to use FOSSIL port COM1. NetFoss
  84.  totally ignores the com port numbers that it is given. It matches up
  85.  each node number with a WinSock handle value.
  86.  
  87.  
  88. ____________________________________________________________________________
  89.  
  90.  DOOR32.SYS Mode
  91.  ---------------
  92.  
  93.  If you are using NetFoss with a 32-bit BBS package which can create
  94.  both a DOOR32.SYS and a standard dropfile (such as EleBBS or WWIV 5.0)
  95.  then you do not need to pass the node number or the WinSock handle to
  96.  either NetFoss or NETCOM.
  97.  Instead they can be automaticly read from the DOOR32.SYS file located
  98.  in the current directory (which should be the nodes dropfile directory).
  99.  
  100.  Some 32-bit BBS's which support DOOR32.SYS can not create a standard
  101.  drop file at the same time (ie: MysticBBS 1.07.03 and Synchronet 3.10j)
  102.  So in their case DOOR32.SYS mode should not be used. See below for info
  103.  on configuring Mystic or Synchronet in non-DOOR32.SYS mode.
  104.  
  105.  If your Win32 BBS does not automaticly start a batch file in the current
  106.  nodes directory then you would have to change to the nodes directory in
  107.  the beginning of your NF.BAT file. This is not required for most BBS
  108.  programs.
  109.  
  110.  
  111.  You will need to edit the door command line for each of your doors.
  112.  A typical type-7 command line in EleBBS would look like this:
  113.  
  114.  C:\BBS\NF.BAT c:\bbs\lord\start.bat *N
  115.  ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^
  116.     |                     |
  117.  This loads NetFoss.     This is the batch file that runs a door.
  118.  
  119.  Note that NF.BAT is not passed any information which node or Winsock
  120.  handle to use. That is because both NEFOSS.COM and NETCOM.EXE will
  121.  find this information by reading the DOOR32.SYS from the current
  122.  directory.
  123.  
  124. ____________________________________________________________________________
  125.  
  126.  Non-DOOR32.SYS Mode
  127.  -------------------
  128.  
  129.  For a DOS based BBS, you will *need* a telnet server to answer incoming
  130.  telnet connections, and pass them to the DOS BBS software thru NetFoss.
  131.  This can be done with any DOS BBS that supports a front-end mailer.
  132.  
  133.  A Telnet server is needed because NetFoss is not a modem emulator, so
  134.  it will not support ATA, ATZ, RING, or other modem commands/responces.
  135.  Therefore you can NOT use your DOS BBS program to wait for a call, and
  136.  answer when it sees a RING. 
  137.  
  138.  If you must have a modem emulator, there is an alternative solution
  139.  called COM/IP (available at http://pcmicro.com/comip) which emulates
  140.  modems and COM ports. COM/IP also includes its own FOSSIL support.
  141.  
  142.  
  143.  The following Telnet servers have been tested with NetFoss:
  144.  
  145.  * TelSrv by Mannsoft. A simple Win32 BBS telnet server. Freeware.
  146.    http://mannsoft.ca/telsrv.php
  147.  
  148.  * Argus by Ritlabs. A complete front-end/mailer. Freeware, open/source.
  149.    http://www.ritlabs.com/argus
  150.  
  151.  * Beemail by Graphic Expressions. A complete front-end mailer. Shareware.
  152.    http://www.beemail.gexonline.net
  153.  
  154.  
  155.  For Non-DOOR32.SYS mode, you will need to change one line of your NF.BAT
  156.  file, to pass the node number to NETFOSS.COM. This is only needed if your
  157.  BBS can not create a DOOR32.SYS drop file.
  158.  
  159.  NF.BAT normally looks like this:
  160.  
  161.                @echo off
  162.                c:\bbs\netfoss.com
  163.                if errorlevel 1 goto end
  164.                c:\bbs\netcom.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
  165.                c:\bbs\netfoss.com /u
  166.                :end
  167.  
  168.  In order for it to work on a Non-DOOR32.SYS environment, you will need
  169.  to change the second line to "c:\bbs\netfoss %1" in order to pass the
  170.  node number to NETFOSS.COM.
  171.  
  172.  Next you will need to configure your telnet server (or a Win32 BBS) to
  173.  pass both the node number, and the WinSock handle to the NF.BAT file,
  174.  as parameters %1 and %2  These will need to be prefixed with the "/n"
  175.  and "/h" switches, respectivly.
  176.  ie:
  177.  
  178.     C:\BBS\NF.BAT /N{node} /H{handle} c:\bbs\bbsname.exe -C1 -B38400
  179.  
  180.  For example, Argus uses &n to pass the node number, and &h to pass
  181.  the Winsock handle to an external program. So your Argus external
  182.  command line (Config >Externals >Doors >Door Parameters) would look like:
  183.  
  184.  
  185.    c:\path\nf.bat /n&n /h&h c:\path\bbs.bat -N&n -C1 -B38400
  186.        |            |    |       |           |    |   |
  187.    NetFoss-loader   node handle  bbs-loader  parameters sent to bbs cmd line
  188.  
  189.  
  190.  In this example, we assume the BBS software uses -C1 to pass the
  191.  current com port, -B38400 to pass the baud rate, and -N1 to pass a node
  192.  number to the BBS software.
  193.  
  194.  Almost all DOS BBS software allows an active call to be passed from a
  195.  front-end mailer to the BBS in this fashon, though the BBS parameters
  196.  such as -C -N -B will differ slightly from one BBS program to another.
  197.  Please consult your BBS documentation on the proper parameters needed
  198.  to pass a caller from a front-end mailer to the BBS.
  199.  
  200. ____________________________________________________________________________
  201.  
  202.  MYSTIC BBS Win32 USAGE
  203.  ----------------------
  204.  
  205.  
  206.  Mystic's Win32 telnet server (TSERVER.EXE) had problems with early
  207.  versions of NetFoss, because it did not set the socket for non-blocking
  208.  mode. NetFoss now forces the socket to use non-blocking mode.
  209.  
  210.  Another issue is that under Windows NT/2000/XP, Mystic BBS version 1.07.3
  211.  will crash with an exception error when attempting to create a DOOR32.SYS.
  212.  
  213.  Mystic was not designed to create both a DOOR32.SYS and a standard drop
  214.  file at the same time. I have heard of at least two people who have
  215.  a kluge script to create both a DOOR32.SYS and a standard door dropfile
  216.  allowing NetFoss to work with Mystic in DOOR32.SYS mode, but here is how
  217.  to do it without using the DOOR32.SYS:
  218.  
  219.  
  220.  1) If you have problems using Mystic's TSERVER.EXE you can use a
  221.     replacment telnet server such as TelSrv by Mannsoft, Argus by RITlabs,
  222.     Beemail by Graphic Expressions.
  223.     The commandline the new telnet server should use to start Mystic is:
  224.          C:\MYSTIC\MYSTIC.EXE -N{node} -TID{socket handle}
  225.  
  226.  2) Modify one line of your NF.BAT, to pass the node number to NetFoss.COM.
  227.     Change the line that loads NetFoss.COM to have a " %1" at the end.  
  228.     (this is explained in detail in the DOS BBS section above.)
  229.  
  230.  3) Add the door to Mystic.  Tell it to create whatever dropfile you want to
  231.     use with the door (ie DOOR.SYS, DORINFO1.DEF...anything but DOOR32.SYS)
  232.     and use this commandline as a template:
  233.          C:\NetFoss\NF.BAT /N%3 /H%0 C:\LORD\START.BAT %3
  234.  
  235.    This will replace "%3" with the node number, and will replace "%0" with
  236.    the socket handle.  Note that %3 is actually used twice in the above
  237.    example, first to pass the node to netcom.exe, and then again to pass
  238.    the node number to the doors own batch file.
  239.  
  240.  
  241. ____________________________________________________________________________
  242.  
  243.  
  244.  EleBBS Win32 Usage
  245.  ------------------
  246.  
  247.  NetFoss was developed and tested with EleBBS Win32 using the telnet server
  248.  included in the EleBBS package. There are detailed instructions on how to
  249.  configure NetFoss with EleBBS included in a seperate file: ELEBBS.TXT
  250.  
  251.  
  252. ____________________________________________________________________________
  253.  
  254.  Synchronet BBS 3.10x USAGE
  255.  --------------------------
  256.  
  257.  Synchronet already has its own FOSSIL support, but using NetFoss in place
  258.  of the internal FOSSIL will allow DOS doors to run considerably faster,
  259.  often by a factor of 2 or more times faster then the internal speed.
  260.  
  261.  Synchronet will create a DOOR32.SYS file, but it will not start up in the
  262.  current nodes directory as it should, and Synchronet is unable to create
  263.  both a DOOR32.SYS and a standard drop file at the same time, which is why
  264.  the DOOR32.SYS mode should not be used at the time this doc was written.
  265.  
  266.  Here is how to configure the "Legend Of The Red Dragon" door in Synchronet
  267.  3.10j using the Non-DOOR32.SYS mode:
  268.  
  269.  
  270.   Name                       LORD
  271.   Internal Code              LORD
  272.   Start-up Directory         C:\SBBS\XTRN\LORD
  273.   Command Line               c:\sbbs\nf.bat /N%# /H%H start.bat %#
  274.   Clean-up Command Line
  275.   Execution Cost             None
  276.   Access Requirements
  277.   Execution Requirements
  278.   Multiple Concurrent Users  Yes
  279.   Intercept Standard I/O     No
  280.   Native (32-bit) Executable Yes
  281.   Modify User Data           No
  282.   Execute on Event           No
  283.   BBS Drop File Type         GAP             DOOR.SYS
  284.   Place Drop File In         Node Directory
  285.   Time Options...
  286.  
  287.   Notice that the Native (32-Bit) Executable option is enabled. This
  288.   needs to be turned on in order for Synchronet to not enable its own
  289.   internal FOSSIL driver.
  290.  
  291.   When using the Non-DOOR32.SYS mode, you must edit your NF.BAT file
  292.   to set add the " %1" at the end of the second line, as explained
  293.   in the above section.
  294.  
  295.  
  296. ____________________________________________________________________________
  297.  
  298.  
  299.  PCBoard BBS Usage
  300.  -----------------
  301.  
  302.  NetFoss has been tested with PCBoard version 15.4 for DOS.
  303.  Here is how to configure it:
  304.  
  305.  1) Install any of the Win32 Telnet Servers listed in the non-DOOR32.SYS
  306.     mode section above.
  307.  
  308.  2) Edit your NF.BAT file as described in the non-DOOR32.SYS mode section.
  309.  
  310.  3) Install PCBoard in the c:\pcb directory, and create a seperate directory
  311.     for each node, such as c:\pcb\node1 and c:\pcb\node2 etc.
  312.  
  313.  4) Run PCBSETUP.EXE > Modem Information> Modem Setup.
  314.     Set the COMM Driver to use as "F=FOSSIL, set the COM port to any
  315.     non zero value. Setting it to "1" will work even if you have a real
  316.     COM1 port already. Set the Opening Baud Rate to 115200, and select
  317.     Lock in Opening Baud Rate = Yes.
  318.  
  319.  5) Create a BOARD.BAT in the PCBoard directory which looks like this:
  320.  
  321.         @ECHO OFF
  322.         CLS
  323.         SET PCB=/NODE:%1 /PORT1F:
  324.         SET PCBDRIVE=C:
  325.         SET PCBDIR=\PCB\NODE%1
  326.         SET PCBDAT=C:\PCB\PCBOARD.DAT
  327.         SET NODE=%1
  328.         :top
  329.         %pcbdrive%
  330.         cd %pcbdir%
  331.         if exist remote.bat REN remote.bat remote.sys
  332.         if exist door.bat   DEL door.bat
  333.         if exist endpcb     DEL endpcb
  334.         pcboardm /file:%pcbdat% /C:115200
  335.         if exist remote.bat CALL remote.bat
  336.         if exist door.bat   CALL door.bat
  337.         if exist event.bat  CALL event.bat
  338.         if NOT exist endpcb GOTO top
  339.         :end
  340.  
  341.         Note that each %1 will be replaced with the node number
  342.         when this batch file is run. The line that actually runs pcboard
  343.         is the "pcboardm /file%pcbdat% /C:115200". The /C:115200 tells it
  344.         to assume that the user is already connected at that baud rate.
  345.         The "/PORT1F" setting tells PCBoard to use FOSSIL port COM1,
  346.         and it is perferable to set the same FOSSIL port for all nodes.
  347.  
  348.   6) Unzip the NetFoss files into a directory, and copy NETFOSS.DLL
  349.      to a directory located in your PATH.
  350.  
  351.   7) Configure a Win32 Telnet Server to run the NF.BAT and the BOARD.BAT
  352.      batch files. If you are using Mannsofts TelSrv it should look like:
  353.  
  354.       Working Directory:
  355.  
  356.              c:\pcb
  357.  
  358.  
  359.       External Program Command Line:
  360.  
  361.              c:\telsrv\nf.bat /n*N /h*H c:\pcb\board.bat *N
  362.  
  363.       [ ] Enable NetFoss Support (Disabled)
  364.  
  365.  
  366.     Note: If you check the "Enable NetFoss" box, and the "/NetFoss" directory
  367.     containing your nf.bat is located within the TelSrv directory, then you
  368.     can (and must) enter a simpler form of External Command Line:
  369.  
  370.           c:\pcb\board.bat *N
  371.  
  372.     Then TelSrv will automaticaly add "NetFoss\nf.bat /n*N /h*H " to
  373.     the actual command line.
  374.  
  375. ____________________________________________________________________________
  376.  
  377.  
  378.  RemoteAccess BBS Usage
  379.  ----------------------
  380.     
  381.  NetFoss was tested with RemoteAccess BBS for DOS version 2.62.1
  382.  Here is how to configure it:
  383.  
  384.  1) Install RemoteAccess in c:\ra and create directorys for each node
  385.     such as c:\ra\node1 and c:\ra\node2 etc.
  386.  
  387.  2) Create a RUNRA.BAT in the RemoteAccess Directory, which looks like this:
  388.  
  389.             cd\ra\node%1
  390.             ra.exe -B115200 -B115200 -N%1
  391.  
  392.  
  393.     The -B115200 switch tells RemoteAccess to assume that the caller is
  394.     already connected to the modem at that speed.
  395.     The -N%1 passes the node number, since %1 is replaced with the
  396.     node number when the batch file is run.
  397.  
  398.   3) Unzip the NetFoss files into a directory, and copy NETFOSS.DLL
  399.      to a directory located in your PATH.
  400.  
  401.  
  402.   4) Configure a Win32 Telnet Server to run the NF.BAT and the RUNRA.BAT
  403.      batch files. If you are using Mannsofts TelSrv it should look like:
  404.  
  405.       Working Directory:
  406.  
  407.              c:\ra\node*N
  408.  
  409.  
  410.       External Program Command Line:
  411.  
  412.              c:\telsrv\nf.bat /n*N /h*H c:\ra\runra.bat *N
  413.  
  414.       [ ] Enable NetFoss Support (Disabled)
  415.  
  416.  
  417.     Note: If you check the "Enable NetFoss" box, and the "/NetFoss" directory
  418.     containing your nf.bat is located within the TelSrv directory, then you
  419.     can (and must) enter a simpler form of External Command Line:
  420.  
  421.           c:\ra\runra.bat *N
  422.  
  423.     This is because the rest is automaticaly added by TelSrv.
  424.  
  425. ____________________________________________________________________________
  426.  
  427.  
  428.  Telegard BBS Usage
  429.  ------------------
  430.     
  431.  NetFoss was tested with Telegard BBS for DOS version 3.09G2 and SP4.
  432.  Here is how to configure it:
  433.  
  434.  1) Install Telegard, and optionally install the service pack4 for it.
  435.  
  436.  2) Create a TG.BAT in the Telegard Directory, which looks like this:
  437.  
  438.             cd\tg
  439.             telegard.exe -B115200 -Q -N%1
  440.  
  441.  
  442.     The -B115200 switch tells Telegard to assume that the caller is
  443.     already connected to the modem at that speed.
  444.     The -Q switch tells Telegard to exit after the caller logs off.
  445.     The -N%1 passes the node number, since %1 is replaced with the
  446.     node number when the batch file is run.
  447.  
  448.  
  449.   3) Unzip the NetFoss files into a directory, and copy NETFOSS.DLL
  450.      to a directory located in your PATH.
  451.  
  452.   4) Configure a Win32 Telnet Server to run the NF.BAT and the TG.BAT
  453.      batch files. If you are using Mannsofts TelSrv it should look like:
  454.  
  455.       Working Directory:
  456.  
  457.              c:\tg
  458.  
  459.  
  460.       External Program Command Line:
  461.  
  462.              c:\telsrv\nf.bat /n*N /h*H c:\tg\tg.bat *N
  463.  
  464.       [ ] Enable NetFoss Support (Disabled)
  465.  
  466.  
  467.     Note: If you check the "Enable NetFoss" box, and the "/NetFoss" directory
  468.     containing your nf.bat is located within the TelSrv directory, then you
  469.     can (and must) enter a simpler form of External Command Line:
  470.  
  471.           c:\tg\tg.bat *N
  472.  
  473.     This is because the rest is automaticaly added by TelSrv.
  474.  
  475.  
  476. ____________________________________________________________________________
  477.  
  478.  
  479.  Door Game Usage
  480.  ---------------
  481.  
  482.  It's peferable to set up all nodes of a door to use the same COM port
  483.  value, such as COM1. NetFoss ignores the COM port value, but many
  484.  FOSSIL aware doors only work on COM1 thru COM4, while some doors support
  485.  up to COM9. There are a few doors that support higher COM port values,
  486.  for example Trade Wars supports up to COM255.
  487.  
  488.  Here are some notes on specific doors:
  489.  
  490.  * The Pit 
  491.  
  492.        Version 4.17 (as well as 4.16 and 4.15) have a bug which
  493.        prevents them from working with a FOSSIL driver if a COM
  494.        port UART is not available. This is a bug in these versions.
  495.        Version 4.05 and below do not have this issue, and will work
  496.        fine with NetFoss. I'm not sure 4.06 or above.
  497.  
  498.  * Lunatix
  499.  
  500.        Version 4.3a is considerably slower then some older versions
  501.        (such as 4.0). NetFos detects when Lunatix 4.3a is running,
  502.        and does as much as possible to improve its performance.
  503.  
  504.  * BBS Crash
  505.  
  506.        Version 5.6 does not support a FOSSIL driver even though it is
  507.        supposed to. Version 5.1 has been tested and works fine. I'm
  508.        not sure about other versions.
  509.  
  510.  
  511.  If you notice any other doors that say they support a FOSSIL driver
  512.  but are not working, please let us know.
  513.  
  514. ____________________________________________________________________________
  515.  
  516.  
  517.  Known Issues
  518.  ------------
  519.  
  520.  
  521.  Binary mode (ie: Zmodem) is not implemented yet.
  522.  
  523.  Compatibility issues with "Zone Alarm" firewall software reported.
  524.  
  525. ____________________________________________________________________________
  526.  
  527.  
  528.  Frequently Asked Questions:
  529.  ---------------------------
  530.  
  531.  
  532.   Q:  Does NetFoss run under Windows 95, 98, or ME?
  533.   A:  No.
  534.  
  535.   Q:  Does NetFoss run under Windows NT4, 2k, or XP?
  536.   A:  Yes.
  537.  
  538.   Q:  Does FOSS allow all DOS BBS programs and doors to run via
  539.       a telnet connection?
  540.   A:  Yes. (as long as they support a FOSSIL).
  541.  
  542.   Q:  Do I need to run COM/IP to get doors to work under telnet?
  543.   A:  No. You only need a telnet server (such as the free TelSrv).
  544.  
  545.   Q:  Does NetFoss work with Windows BBS programs?
  546.   A:  Yes, but Window programs don't use a FOSSIL themselfs, though
  547.       a FOSSIL is needed to run DOS doors.
  548.  
  549.   Q:  Does NetFoss work with doors that do not support a FOSSIL driver?
  550.   A:  No.
  551.  
  552.   Q:  Does NetFoss work as a FOSSIL for real com ports?
  553.   A:  No.
  554.  
  555.   Q:  Does NetFoss work as a FOSSIL for COM/IP?
  556.   A:  No.
  557.  
  558.   Q:  Why do get a "Node is already in use" message from NetFoss?
  559.   A:  See the NETCOM.EXE error messages section below.
  560.  
  561. ____________________________________________________________________________
  562.  
  563.  NETFOS.COM Error Messsages
  564.  --------------------------
  565.  
  566.   Usage:
  567.    /n{value}  Set node
  568.    /u         Uninstall
  569.  
  570.        This helpscreen is displayed if any unknown parameter as passed
  571.        on the command line.
  572.  
  573.  
  574.   Node is already in use
  575.  
  576.        This indicates that either the current or another DOS Window
  577.        already has the NETFOSS.DLL file activated with the same node
  578.        number assigned.
  579.        The node number was either passed on the command line, or read
  580.        from the DOOR32.SYS file.
  581.  
  582.        If you see this, try closing any open DOS windows (command prompts)
  583.        that are open, in case you inadvertantly had installed netfoss
  584.        to the same node number from another window.
  585.  
  586.        Another possibility is that you loaded NetFoss before you loaded
  587.        your Win32 BBS from the same window, in which case the BBS is
  588.        attempting to open another instance of NetFoss from that window.
  589.  
  590.   Can't find netfoss.dll
  591.  
  592.  
  593.        This means that netfoss.dll was not located in any of the directorys
  594.        listed in the environment variable called "Path".
  595.        
  596.        You can change the path (a system environment variable) by going to
  597.        the Windows Control Panel, click on "System Properties", Click on
  598.        the "Advanced" Tab, Click on "Environment Variables" and edit the
  599.        value for the System variable named "Path".
  600.  
  601.   Bad netfoss.dll [0x]
  602.  
  603.         This means that netfoss.dll was found, but it was unable to load it.
  604.         The error code in the brackets should be sent to the developer.
  605.  
  606.  
  607.   DOOR32.SYS not found
  608.  
  609.        This means that there was no /n{node number} switch passed from
  610.        the command line, so NetFoss was expecting to find a DOOR32.SYS
  611.        in the current directory where it would obtain the node # from.
  612.  
  613.        Most BBS's create drop files (including DOOR32.SYS created by newer
  614.        Windows BBS's) are created in the nodes default directory, which
  615.        is often the directory that the BBS was started from.
  616.        When a BBS runs an external program (a door), it starts out in
  617.        this directory, and often a doors batch file may then change
  618.        the directory to door location.
  619.        This is not usually the case with Synchronet BBS, as it allows
  620.        the sysop to define which directory the door starts out in.
  621.         
  622.  
  623.   Low memory
  624.         
  625.        This means there was not enough RAM for NetFoss to install itself.
  626.        Netfoss requires approximatly 2k of conventional memory to install
  627.        itself, (conventional is memory below 640k) but once installed it
  628.        uses less then 1k of conventional memory. It also requires about 7k
  629.        of extended memory to operate.
  630.  
  631.   Needs NT/2K/XP
  632.  
  633.        This means an inferior version of Windows has been detected.
  634.  
  635.  
  636.   Can't uninstall
  637.  
  638.        This means that NetFoss was told to uninstall itself (with the /u)
  639.        but it was either not previously installed from that window or it
  640.        was unable to uninstall itself.
  641.  
  642.  
  643. ____________________________________________________________________________
  644.  
  645.  NETCOM.EXE Error Messsages
  646.  --------------------------
  647.  
  648.  
  649.   Error: No command line given. NETCOM aborting
  650.  
  651.       This means that NETCOM was not given the path\filename.exe of
  652.       a DOS application to execute (such as a BBS or a door) or a
  653.       Batch file (either .BAT or .CMD) to process.
  654.       The command line given must include the extention.
  655.  
  656.  
  657.   Error: no node/handle passed, and no DOOR32.SYS found
  658.  
  659.       This means that NETCOM was not passed a /n{node number}
  660.       and a /h{socket handle} value on the command line, and there
  661.       was also no DOOR32.SYS file found in the current directory.
  662.  
  663.   Error: This Node is already in use
  664.  
  665.       This means that another NetCom is already communicating with
  666.       NETFOSS.DLL on the node number that was either passed on the
  667.       command line or read from the DOOR32.SYS file. 
  668.  
  669.  
  670.   Error: External application failed to execute
  671.  
  672.        This means that the command line that netcom was told to
  673.        execute failed to work. Usually this indicates the path
  674.        or filename you specified did not exist, though there could
  675.        be other reasons.
  676.  
  677.  
  678.   Error reading DOOR32.SYS
  679.  
  680.       The DOOR32.SYS file was not readable, or was in the wrong
  681.       format.
  682.  
  683.  
  684.   No port given, assuming local mode.
  685.  
  686.       This means that the port listed in DOOR32.SYS or passed on the
  687.       command line was -1, which means the door should be run in local
  688.       mode without any tcp/ip interface.
  689.  
  690.  
  691. ____________________________________________________________________________
  692.  
  693.  FOSSIL Functions Reference
  694.  --------------------------
  695.  
  696.     Common Functions:
  697.                Function 00h - Set communications parameters
  698.                Function 01h - Transmit character and wait
  699.                Function 02h - Get received character with wait
  700.                Function 03h - Return Serial Port Status
  701.                Function 04h - Activate Port
  702.                Function 05h - Deactivate Port
  703.                Function 06h - Raise/lower DTR
  704.                Function 07h - Return timer tick information
  705.                Function 08h - Flush output buffer
  706.                Function 09h - Purge output buffer
  707.                Function 0Ah - Purge input buffer
  708.                Function 0Bh - Transmit no wait
  709.                Function 0Ch - Non-destructive read-ahead (Peek)
  710.                Function 0Dh - Keyboard read without wait
  711.                Function 0Eh - Keyboard read with wait
  712.                Function 0Fh - Enable / Disable Flow Control
  713.                Function 10h - Control-C / Control-K checking
  714.                Function 11h - Set cursor location
  715.                Function 12h - Read cursor location
  716.                Function 13h - Single character ANSI write to screen
  717.                Function 14h - Enable or disable the DCD watchdog
  718.                Function 15h - Write character to screen using BIOS
  719.                Function 16h - Add / Delete a routine from the timer tick
  720.                Function 17h - Reboot system (not supported by NetFoss)
  721.                Function 18h - Block Read
  722.                Function 19h - Block Write
  723.                Function 1Ah - Break begin or end
  724.                Function 1Bh - Get FOSSIL Driver information
  725.  
  726.       X00 Enhanced Functions:
  727.                Function 1Ch - Activate Port
  728.                Function 1Dh - Deactivate Port
  729.                Function 1Eh - Extended line control initialization
  730.                Function 1Fh - Extended serial port status/control
  731.                Function 20h - Read with no wait (destructive)
  732.                Function 21h - Stuff/Poke the receive buffer
  733.  
  734.        Layered Application Functions:
  735.                Function 7Eh  - Install an "external application"
  736.                Function 7Fh  - Remove an "external application"
  737.  
  738.  For detailed information on using these functions, refer to the
  739.  FOSSIL.TXT and FOSSIL.CHT files included in the NetFoss archive.
  740.  Additional information can be found in the X00 package.
  741.   
  742. ____________________________________________________________________________
  743.  
  744.  License and Disclaimer
  745.  ----------------------
  746.  
  747.  This software is being provided strictly for non-commercial use.
  748.  It is provided free of charge for personal hobbiest useage only,
  749.  without any warranty whatsoever. Use it entirly at your own risk.
  750.  In no event will Mike Ehlert or PC Micro Systems, Inc. be liable
  751.  for any damages, including loss of profits or other consequential
  752.  damages arising from the use or inability to use NetFoss.
  753.  
  754.  You may copy and distribute verbatim copies of NetFoss, in any
  755.  medium, provided that none of the files in the archive are
  756.  tampered with and no files are added or removed.
  757.  
  758.  You may bundle NetFoss with your own BBS software or telnet server,
  759.  if you do not charge a fee for the product, and as long as all the
  760.  files in the original NetFoss archive are placed in its own sub
  761.  directory, with no changes except for the NF.BAT file which may
  762.  be customized as needed.
  763.  
  764.  If you wish to license NetFoss for commercial usage, or are
  765.  intrested in bundling it with your commercial software you will
  766.  need to contact mikes@pcmicro.com for licensing prices.
  767.  
  768.  NetFoss is a trademark of PC Micro Systems, Inc.
  769.  Windows is a trademark of Microsoft Corporation.
  770.  DESQview is a trademark of Symantec Corporation.
  771.  COM/IP is a trademark of Tactical Software.
  772.  X00 is a trademark of Raymond L. Gwinn.
  773.  Other products mentioned are properties of their respected authors.
  774. ___________________________________________________________________________
  775.  
  776.  
  777.  Credits
  778.  -------
  779.  
  780.  A big thanks goes to Maarten Bekers. He explained many of the Winsock
  781.  functions that were needed by NETCOM to operate. Maarten is the author
  782.  of ELECOM and EleBBS. I was beta testing Maartens SyncFos interface
  783.  when I got the idea of creating a simular driver with Level-5 FOSSIL
  784.  support included. I would never have got it working without Maartens
  785.  encouragement and support.
  786.  
  787.  Another big thanks go to Hutch for developing MASM32, making it very
  788.  simple to design Win32 software in ASM.
  789.  
  790.  And finally, to the following beta testers who reported problems or
  791.  offered suggestions on improving NetFoss:
  792.  
  793.  Andrew Grimsby
  794.  Maarten Bekers
  795.  Mark Netzel         aka Kram
  796.  Rick Parrish        aka Manning
  797.  Marty Kazmaier      aka Surato
  798.  Brian Zohu          aka Zoob
  799.  Matthew Sullivan
  800.  Louis Northmore
  801.  Jani Sirpoma        aka Dragon
  802.  Mike Dillon         aka GSValore
  803.  Christopher Evans   aka Teknopup
  804.  Jimmy Rose
  805.  Loginius
  806.  Daryl Hunt
  807.  Chris Costakis
  808.  Charles RenĂ© de Cotret
  809.  Michael Everett, III aka Bobo
  810.  George A. Roberts IV aka Sirtwist
  811.  Eric Schwimmer       aka Uber
  812.  Bud Younke           aka Raptor
  813.  
  814.  
  815. ____________________________________________________________________________
  816.  
  817.  
  818.  Whats new:
  819.  ----------
  820.                       
  821.             0.2        Added support for /n{node} in NetFoss.com
  822.                        and both /n{node} and /h{handle} in netcom.exe.
  823.  
  824.             0.3        Optimized code, fixed win2k command line bug.
  825.  
  826.             0.4        Redesigned buffering routines, and in the process
  827.                        fixed the FOSSIL peek/poke (0CH &21H) commands,
  828.                        so now Scrabble, Axe & Fang, and any other doors
  829.                        which previously didnt work should now be fine.
  830.                        Fixed random input buffer garbage on first run.
  831.  
  832.             0.5        Reoptimized new code for additional speed. Improved
  833.                        status returned when reading a character to allow
  834.                        T&J software's doors to run. Check for carrier drop
  835.                        during a function 2 (read character /w wait)
  836.                        command. Set function 2 timeout to 30 seconds.
  837.  
  838.             0.6        I took a long break from NetFoss Development. This
  839.                        is a minor update that mainly adds support for NT4.
  840.                        The error messages are now always returned to the
  841.                        DOS window rather then to a pop-up window. Fixed a
  842.                        bug in FOSSIL Function 1B (return info in FOSSIL)
  843.                        which was not returning everything it should.
  844.  
  845.             0.7        Forced Echo off for non Win32 BBS software.
  846.                        Fixed the block-read function, which was not
  847.                        compatible with PCBoard.
  848.  
  849.             0.7.1      Fixed buffer output bug on slower computers or
  850.                        slow connections, thanks to Charles RenĂ© de Cotret
  851.                        for reporting the issue and testing the fix.
  852.  
  853.             0.7.2      Added work around to fix CR/LF telnet bug in L.O.R.D.
  854.  
  855.             0.8        Added DESQview emulation, to release DV timeslices
  856.                        to NT. Added detection and optimizations for poorly
  857.                        designed doorkits. Enhanced carrier detection
  858.                        routine to work around EasyDoor kit bugs
  859.                        (Reported by Mark Netzel). Force non responding
  860.                        doors to terminate 10 seconds after carrier drops.
  861.                        Improved timeslicing release for local mode doors
  862.                        (requested by Marty Kazmaier). Fixed INT1C Timer
  863.                        Chain handling to work around the Fresh Water Fishing
  864.                        door (reported by Mark Netzel). Optimized base memory
  865.                        usage in netfoss.com. Updated docs. Added a pause to
  866.                        all error messages.
  867.  
  868.             0.8.1      Minor Update. Fixed ANSI detection problem introduced
  869.                        in v0.8 in which Renegade BBS and some doors created
  870.                        using doorframe were unable to detect ANSI.
  871.                        (Reported by Cory Snow and Marty Kazmaier).
  872.  
  873.  
  874.