home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / GENUTIL / ONEFOS09.ZIP / ONEFOS.TXT < prev    next >
Text File  |  1996-06-15  |  45KB  |  852 lines

  1.              ONEFOSsil FOSSIL 5 Communications Driver Revision 9
  2.           (C) Copyright 1995-96 by Carl Morris and Morris Softronics,
  3.                              all rights reserved
  4.          Published and released by Morris Softronics on June 15, 1996
  5.  
  6.                               Table of Contents
  7.     Topic---------------------------------------------------------Location
  8.     What is ONEFOSsil?...................................................1
  9.     Warranty.............................................................2
  10.     Licensing Information................................................3
  11.          Distribution..................................................3-1
  12.          Registration..................................................3-2
  13.          Benefits of Registering.......................................3-3
  14.     System Requirements..................................................4
  15.     Installation.........................................................5
  16.          Port Argument.................................................5-1
  17.          Command Line Options..........................................5-2
  18.               Locking Port Settings..................................5-2-1
  19.               Setting Buffer Sizes...................................5-2-2
  20.               Setting Multitasker Options............................5-2-3
  21.               Controlling FIFO's.....................................5-2-4
  22.               Holding the Interrupt..................................5-2-5
  23.               Controlling Time-outs..................................5-2-6
  24.               Controlling Carrier-Detection..........................5-2-7
  25.     After Installation...................................................6
  26.          Un-installing.................................................6-1
  27.          Getting Status................................................6-2
  28.          Changing Port Settings........................................6-3
  29.          Forcing Port Opened...........................................6-4
  30.          Forcing Port Closed...........................................6-5
  31.     Examples of Installation and Use.....................................7
  32.     Compatibility Notes..................................................8
  33.          Shared IRQ's..................................................8-1
  34.          Pretested Software............................................8-2
  35.          Windows Tips..................................................8-3
  36.     Troubleshooting (obtaining support)..................................9
  37.     Credits.............................................................10
  38.  
  39.                         Section 1: What is ONEFOSsil?
  40.  
  41.     ONEFOSsil is a high speed serial communications driver for 8250 series
  42.     UARTs.  The 8250 series includes all compatible UARTs, such as the
  43.     8250A, 8250B, 16450, 16550, 16550A, and the 82510 in 16450
  44.     compatibility mode.  Other UARTs are sure to exist that may be
  45.     compatible.
  46.  
  47.     ONEFOSsil provides services for FOSSIL compliant software.  ONEFOSsil
  48.     supports most of the FOSSIL 5 specification and the Extended X00
  49.     FOSSIL specification.  ONEFOSsil will probably work with any program
  50.     that is designed to use a FOSSIL driver.  Some differences do exist
  51.     between ONEFOSsil and a full FOSSIL 5 driver, and the technical
  52.     document, ONEREF.TXT, describes these differences.  Very few of these
  53.     differences should cause problems.
  54.  
  55.     ONEFOSsil is special (it can't be called unique) in that it only
  56.     supports one FOSSIL port at a time.  This provides the best solution
  57.     for multitasking environments such as DESQview or Windows where only
  58.     one port is needed in each task.  Just because ONEFOSsil is a single
  59.     port driver, that does not stop it from being useful for multiport or
  60.     multiline systems.  ONEFOSsil can even handle multiple ports that
  61.     share the same IRQ (read Compatibility Notes - Shared IRQ's.)
  62.  
  63.     Some people ask why there is a need for another FOSSIL driver.  Other
  64.     people are finally relieved to see new FOSSIL drivers.  Its been
  65.     nearly two years since the last update of any FOSSIL driver.  Most
  66.     drivers are much older than that yet.  Many of the current drivers are
  67.     loaded with bugs, and the versions that are bug free are lacking
  68.     needed features.  Most drivers are not even supported by their authors
  69.     anymore.
  70.  
  71.     ONEFOSsil was wrote to fill this gap completely.  ONEFOSsil not only
  72.     provides an alternative, but a better solution.  The author stands
  73.     behind ONEFOSsil, promotes it and FOSSIL compliant software, and is
  74.     willing to take the heat.  In a time where more and more software is
  75.     becoming less and less DOS based, it is hard for anyone to provide and
  76.     support such a product as ONEFOSsil.  It is only for this reason that
  77.     ONEFOSsil has been produced as a shareware product.  By supporting the
  78.     author, you show the author your support of his work in supporting the
  79.     product.
  80.  
  81.                              Section 2: Warranty
  82.  
  83.     The shareware version of ONEFOSsil comes with absolutely no warranty.
  84.     Due to the instability of modern media and the unreliability of
  85.     communications devices, it can not be guaranteed that this copy of
  86.     ONEFOSsil is in the same state as when it was released.  Use of this
  87.     software and/or documentation is at your own risk.
  88.  
  89.     Carl Morris, Morris Softronics, or any of their distributors can not
  90.     be held responsible for any accidental or consequential damages this
  91.     product may cause, including destruction of data, or damage to
  92.     equipment.  No warranties exist on the use of this product, either
  93.     expressed or implied, and is hereby disclaimed of any and all implied
  94.     warranties of merchantability and fitness for a particular purpose.
  95.  
  96.     The only expressed warranty of the registered version of ONEFOSsil is
  97.     if ONEFOSsil ever performs incorrectly, ONEFOSsil will be corrected
  98.     and a new registered version will be made available.  This is based on
  99.     Morris Softronics judgment of "performing incorrectly."
  100.  
  101.                        Section 3: Licensing Information
  102.  
  103.     Since ONEFOSsil is primarily a shareware product, several licenses
  104.     apply to its distribution and use.  ONEFOSsil is protected by U.S.
  105.     copyright laws and international copyright treaties and is licensed,
  106.     not sold.
  107.  
  108.                           Section 3-1: Distribution
  109.  
  110.     Distribution rights of this copy of ONEFOSsil is described in the file
  111.     DISTRIB.TXT supplied with this copy.
  112.  
  113.                           Section 3-2: Registration
  114.  
  115.     The shareware version of ONEFOSsil is for evaluation only.  After the
  116.     evaluation period, the full version of ONEFOSsil must be licensed for
  117.     use, or the shareware version must be removed from use.  The file
  118.     REGISTER.TXT supplied with ONEFOSsil will detail the registration
  119.     process.
  120.  
  121.                      Section 3-3: Benefits of Registering
  122.  
  123.     Registration of a shareware product is usually done to extend the
  124.     usefulness or enjoyment of a product.  Shareware products usually come
  125.     crippled, or with some form of a reminder, or both.  ONEFOSsil is not
  126.     crippled in any way.  ONEFOSsil will display a registration reminder
  127.     every time it is ran.  ONEFOSsil will delay 5 seconds when it is
  128.     installed.  This is a small price to pay to evaluate cripple free high
  129.     performance software such as ONEFOSsil.
  130.  
  131.     Registration of ONEFOSsil will include, but not be limited to:  an
  132.     indefinite license agreement, an executable without the delay and
  133.     reminder, free (from registration costs) upgrades to newer versions,
  134.     enhanced support from the author, and discounts and specials on other
  135.     products from Morris Softronics.
  136.  
  137.                         Section 4: System Requirements
  138.  
  139.     To be effective and useful, ONEFOSsil requires the following: MS DOS
  140.     3.0 or compatible operating system, a minimum of 64k of memory(uses 4k
  141.     minimum for installation), an 80286 or compatible processor, an 8250
  142.     or compatible UART, and software that is FOSSIL 5 compliant.
  143.  
  144.     Almost any application that is FOSSIL 5 (or less) compliant should
  145.     function with ONEFOSsil.  Lots of new applications that use FOSSIL
  146.     drivers are appearing all the time, so it is hard to say that any
  147.     specific kind of software will or will not use ONEFOSsil.
  148.  
  149.                            Section 5:  Installation
  150.  
  151.     NOTICE: As of revision 9, some functions have not yet been completed.
  152.     Notes will appear if a function is still being written.  Please read
  153.     Troubleshooting if any problems arise.
  154.  
  155.     ONEFOSsil knows little, and assumes less about the computer it is
  156.     being used on.  ONEFOSsil gets all its information about the computer
  157.     off the command line.  ONEFOSsil's command line is simple to use when
  158.     installing.  Only one argument is required; all other arguments are
  159.     optional, and may be placed in any order after the first argument.
  160.     The following is the syntactical use of ONEFOSsil for installation:
  161.  
  162.          ONEFOS port=address,irq [L=[baud][[,format][,flow]]]
  163.               [B=[write][[,read][[,stop][[,continue]]]]]
  164.               [S=os[,sensitivity]] [F=[buffer][,trigger]] [H] [T=time]
  165.               [D[=delay]]
  166.  
  167.     Details on each option are in the following sections.  Refer to
  168.     Examples of Installation and Use if additional help is required.
  169.     Notice that ONEFOSsil's command line is case insensitive.  The letters
  170.     A and a are treated the same.
  171.  
  172.     An error level of 0 is returned if ONEFOSsil was successfully
  173.     installed.
  174.  
  175.                           Section 5-1: Port Argument
  176.  
  177.     The port=address,irq argument is the only argument required to install
  178.     ONEFOSsil.  However, seldom will ONEFOSsil work at it its best
  179.     potential knowing that little and assuming the rest.
  180.  
  181.     The port value is the decimal number of the communications port
  182.     ONEFOSsil is to provide services for.  It may be any value from 1 to
  183.     64.  Not all software support ports greater than 8 or 16.  In most
  184.     cases, port 1 is the same as COM1 and so on, but may be changed at
  185.     will for special circumstances (ie, you may make port 3 be COM7).
  186.  
  187.     The address and irq values provide ONEFOSsil with the hardware address
  188.     for the UART it is to provide services for.
  189.  
  190.     The address value is a hexadecimal number that details the base
  191.     input/output address for the UART.  Valid values for address range 100
  192.     though FFFF.
  193.  
  194.     The irq value is a decimal number that details the hardware interrupt
  195.     request line the UART will use to signal ONEFOSsil to communicate with
  196.     the UART.  Valid values for irq are 3 though 5, 7, 9 through 12, and
  197.     15.  If a value of 2 is needed, the value 9 will work.
  198.  
  199.     The following table displays some common values used for port,
  200.     address, and irq.
  201.  
  202.     COM Port  port address   irq
  203.     -------------------------------------
  204.       COM1      1    03F8     4
  205.       COM2      2    02F8     3
  206.       COM3      3    03E8     4
  207.       COM4      4    02E8     3
  208.  
  209.     Notice that ONEFOSsil refers to ports the same way most application
  210.     software do; other FOSSIL drivers do not.  This was done to make
  211.     ONEFOSsil simpler to use specially in batch files that need to use
  212.     ONEFOSsil commands after ONEFOSsil has been installed, but more on
  213.     that later.
  214.  
  215.                       Section 5-2: Command Line Options
  216.  
  217.     Following the port=address,irq argument may follow any number of
  218.     options in any order, provided no option is repeated.  Most of these
  219.     options change ONEFOSsil's usefulness or performance.  For some
  220.     computers and software, some of these options seem mandatory.  The
  221.     following sections describe each option in detail.  It is encouraged
  222.     that people should read each section carefully to see which options
  223.     may apply to their computer or software.
  224.  
  225.                      Section 5-2-1: Locking Port Settings
  226.  
  227.     The most often used option in FOSSIL installations is the settings
  228.     locking options.  With ONEFOSsil, almost anything that can be
  229.     configured by applications can be locked on the command line, to
  230.     prevent an application from changing it.  This is primarily what the
  231.     settings locking options are for.  With high speed modems, the
  232.     "computer to modem" speed seldom changes, and so is locked to prevent
  233.     applications from changing it.  Most configurations also only use an
  234.     "8N1" data format, and so often lock it, to prevent possibly buggy
  235.     software from changing it.  ONEFOSsil has an added option; ONEFOSsil
  236.     can lock which types of flow control are to be used, preventing
  237.     applications from changing them.  The syntax for ONEFOSsil's settings
  238.     locking option follows:
  239.  
  240.          L=[baud][,[format][,[flow]]
  241.  
  242.     What this shows is that all values are optional.  If a value is not
  243.     specified, a comma should still be placed between the missing values.
  244.     Trailing commas are not permitted, and of course, if no values are
  245.     specified, one should not place L= on the command line.
  246.  
  247.     The baud value defines the baud rate that will always be used to
  248.     communicate on this port.  Applications are not permitted to change
  249.     it.  Only ONEFOSsil may later change or clear this value.  Often, high
  250.     speed modems have an option to remain at one speed all the time.  If
  251.     the modem on the port works this way, the baud value should be used to
  252.     specify this speed.  For slow speed modems, this value should usually
  253.     not be used.  The baud value may be 110, 150, 300, 600, 1200, 2400,
  254.     4800, 9600, 19200, 28800, 38400, 57600, or 115200.
  255.  
  256.     The format value defines the data format that should always be used to
  257.     transmit and receive characters.  Applications are not permitted to
  258.     change it.  Only ONEFOSsil may later change or clear this value.  Most
  259.     configurations only call for 8 data bits, no parity, 1 stop bit.
  260.     Unless need warrants, this value should always be locked to "8N1".
  261.     The format value is specified by combining one value from each of the
  262.     following groups: data bits - 5, 6, 7, or 8; parity - N for none, O
  263.     for odd, E for even, M for mark, and S for space; stop bits - 1 or 2.
  264.  
  265.     The flow value defines which methods of flow control should be locked.
  266.     Applications will not be permitted to set or remove flow control
  267.     options locked here.  Only ONEFOSsil may later change any flow control
  268.     options which have been locked.  Flow control can both be locked
  269.     enabled or locked disabled.  If a baud value was specified, hardware
  270.     flow control should be locked enabled.  In many cases, software flow
  271.     control provides problems, and should locked disabled.  The flow value
  272.     can be any one or more(providing they are not repeated) of the
  273.     following: [-]H to lock enabled [or disabled] hardware flow control,
  274.     [-]S to lock enabled [or disabled] sending of software slow control
  275.     codes, or [-]R to lock enabled [or disabled] acting on received
  276.     software flow control codes.  With most high speed modems, flow should
  277.     almost always be set to "H-S-R".  However, locking software flow
  278.     control disabled may provide problems with some FAX software.
  279.  
  280.                      Section 5-2-2: Setting Buffer Sizes
  281.  
  282.     Increasing buffer sizes often makes applications more efficient and
  283.     increases the application's performance.  While the default buffer
  284.     values work fine on most DOS only based systems, users of multitasking
  285.     environments may find they need larger buffers.  ONEFOSsil provides a
  286.     single option that permits setting buffer sizes, along with flow
  287.     control threshold values.  ONEFOSsil is one of the few communications
  288.     drivers known to allow the user to tweak the flow control thresholds.
  289.     The syntax for the buffer configuration command follows:
  290.  
  291.          B=[write][,[read][,[stop][,[continue]]]]
  292.  
  293.     What this shows is that all values are optional.  If a value is not
  294.     specified, a comma should still be placed for the missing value.
  295.     Trailing commas are not permitted, and of course, if no values are
  296.     specified, one should not place B= on the command line.
  297.  
  298.     The write value specifies the size in bytes of the transmit buffer.
  299.     Valid values for write range 32 through 32767 and defaults to 1024.  A
  300.     common rule for setting the buffer is to set the buffer large enough
  301.     to hold one second worth of data.  An ideal value for write is 1024 to
  302.     5760.
  303.  
  304.     The read value specifies the size, in bytes, of the receive buffer.
  305.     Valid values for read range 32 through 32767 and defaults to 1024.  A
  306.     common rule for setting the buffer is to set the buffer large enough
  307.     to hold one second worth of data.  An ideal value for read is 1024 to
  308.     5760.
  309.  
  310.     The stop value specifies the point at which there is too little room
  311.     in the receive buffer and flow control should be engaged to prevent an
  312.     overrun of the receive buffer.  Valid values for stop range 0 through
  313.     1 less than the read value and defaults to ¼ of the read value.
  314.  
  315.     The continue values specifies the point at which there is enough room
  316.     in the receive buffer to safely disengaged flow control after it has
  317.     been engaged, allowing more data to be received.  Valid values for
  318.     continue range 1 through the value of read and defaults to ½ of the
  319.     read value.  The continue value must be larger than the stop value.
  320.  
  321.     Notes
  322.  
  323.       The total size of the buffers can not exceed the memory limit of
  324.       the driver.  ONEFOSsil occupies about 4k of memory, so the
  325.       remaining 60k of the memory available to it may be split between
  326.       the two buffers.
  327.       A receiver buffer size of 32 should only be used on very slow
  328.       modems or serial connections.  Otherwise, the receive buffer size
  329.       should never be less than 64 bytes.
  330.       The stop and continue values are automatically calculated based on
  331.       the read value, and it is strongly suggested not to attempt to
  332.       change the default settings.
  333.  
  334.                   Section 5-2-3: Setting Multitasker Options
  335.  
  336.     ONEFOSsil provides a means to detect when some applications are idle,
  337.     and return their time slice to the multitasker.  For this to work, the
  338.     application must be using ONEFOSsil and you must be running in a
  339.     supported multitasking environment.  Currently both DESQview and
  340.     Windows are supported.  ONEFOSsil does not detect which multitasker it
  341.     is functioning on, so defaults to not returning time slices.  The
  342.     syntax for setting the multitasker options follows:
  343.  
  344.          S=os[,sensitivity]
  345.  
  346.     The os value specifies which multitasker ONEFOSsil is to return time
  347.     slices to.  Valid values are D for DESQview and W for Windows.
  348.  
  349.     The sensitivity value is optional, and specifies the sensitivity
  350.     ONEFOSsil is to measure before returning time slices.  Valid values
  351.     for sensitivity range 0 through 255 and defaults to 128 if not
  352.     specified.  This value works somewhat like Windows 95's MS-DOS Program
  353.     Properties Idle Sensitivity slider, but in the opposite direction.
  354.     Smaller values yield more time slices; larger values yield fewer time
  355.     slices.  There is no known ideal value.  Some applications have been
  356.     found to be so efficient at making FOSSIL calls that ONEFOSsil can not
  357.     detect their idleness.
  358.  
  359.                       Section 5-2-4: Controlling FIFO's
  360.  
  361.     ONEFOSsil is considered the be one of the few communications drivers
  362.     to permit the user to configure the usage of the 16550 receive and
  363.     transmit FIFO's independently.  This was done because when using the
  364.     new multitasking environment's virtualized communications ports, there
  365.     is performance to be gained.  Please read Compatibility Notes -
  366.     Windows Tips for more information when running under Windows or
  367.     Windows 95.  The FIFO settings option is only valid if the UART was
  368.     detected with working FIFO's.  The syntax for controlling the FIFO's
  369.     follows:
  370.  
  371.          F=buffer[,trigger]
  372.  
  373.     The buffer value specifies the number of characters ONEFOSsil will
  374.     buffer into the UART's transmit FIFO.  Valid values for buffer are 0
  375.     through 255, and defaults to 16 on the 16550.  The buffer value should
  376.     not exceed the number of transmit FIFO's the UART has.  A 16650 may be
  377.     capable of buffering 32 characters, but has not been tested.  A value
  378.     of 0 forces FIFO's to be entirely disabled.
  379.  
  380.     The trigger value is optional, and may only be specified if the buffer
  381.     value was specified.  The trigger value is a code that specifies how
  382.     many characters must be received before the UART will request
  383.     ONEFOSsil to read them.  Current values for trigger range 1 through 4
  384.     and defaults to 3.  On a 16550 UART, the trigger value causes the
  385.     following results:
  386.  
  387.     trigger   characters received
  388.     ------------------------------
  389.        1           1
  390.        2           4
  391.        3           8
  392.        4           14
  393.  
  394.     Generally, trigger should be set at 3 unless problems occur.  If
  395.     problems like CRC errors occur frequently when pressing a key or
  396.     switching tasks, the trigger value should be reduced.  However,
  397.     special settings apply for Windows, documented in Compatibility Notes
  398.     - Windows Tips.
  399.  
  400.                      Section 5-2-5: Holding the Interrupt
  401.  
  402.     Under some circumstances, it might be dangerous for ONEFOSsil to hook
  403.     the UART's interrupt request vector only when needed.  The hooking
  404.     option forces ONEFOSsil to hook the interrupt at installation time
  405.     rather than when needed by an application.  The syntax for the hooking
  406.     option follows:
  407.  
  408.          H
  409.  
  410.     The hooking option will not prevent applications from hooking on top
  411.     of ONEFOSsil, and does not prevent applications from stealing the
  412.     UART's hardware interrupt request or FOSSIL services vectors from
  413.     ONEFOSsil.  It is primarily provided for users that load ONEFOSsil
  414.     before the multitasking environment, but may not be required.  There
  415.     were also circumstances documented in Compatibility Notes - Pretested
  416.     Software that required the use of this option.
  417.  
  418.                      Section 5-2-6: Controlling Time-outs
  419.  
  420.     Some functions in the FOSSIL specification will not return until they
  421.     have been satisfied.  Hardware problems wreak havoc with this, and may
  422.     cause unexplainable lock-up's.  ONEFOSsil provides a configurable
  423.     time-out option to force these functions to return after the preset
  424.     time period.  This helps reduce the chances of sudden hardware
  425.     problems from completely locking up a system.  The syntax for the
  426.     time-out option follows:
  427.  
  428.          T=time
  429.  
  430.     The time value specified the length of time that ONEFOSsil will wait
  431.     for a function to complete when failing.  The unit of time is seconds,
  432.     and valid values range 0 through 3599 (60 minutes), and defaults to
  433.     30.  If other FOSSILs provide a time-out condition it is generally 30
  434.     seconds, Some FOSSILs will never time-out.  The BIOS communications
  435.     routines usually time-out after 2 seconds; however, most FOSSIL
  436.     compatible software are wrote to skip time-outs, and so too small a
  437.     value will cause lost characters during flow control.  Time-out values
  438.     are accurate to 1,080/19,663rds of a second (just incase you were
  439.     wondering).
  440.  
  441.                  Section 5-2-7: Controlling Carrier Detection
  442.  
  443.     ONEFOSsil provides a means of delaying carrier drops or providing
  444.     applications with a continuous carrier detection.  This is known as
  445.     providing a fake carrier detect, and ONEFOSsil is known to be the only
  446.     FOSSIL driver that provides the user such an option.  Providing a
  447.     delay for carrier drops may improve connections on 2400bps or slower
  448.     modems.  Providing a fake carrier detect is a software means of
  449.     solving a faulty or incorrectly wired null-modem cable, or enabling
  450.     software to work with a 3-line cable.  The syntax for the delayed
  451.     carrier option follows:
  452.  
  453.          D[=delay]
  454.  
  455.     Specifying the D without a value forces the carrier detect to be
  456.     always active on this port.  When an application requests the port
  457.     status, ONEFOSsil will always report that there is carrier present.
  458.     If the optional delay value is specified, ONEFOSsil will delay the
  459.     carrier from dropping for delay units of time.  The unit of delay is
  460.     1,080/19,663rds of a second, or approximately 1/18th of a second.
  461.     Valid values for delay range 1 through 32767 (30 minutes).  A common
  462.     value, if needed, is 18, which provides about 1 second for the carrier
  463.     to recover.  This is used primarily on old 1200 or 2400bps modems
  464.     which permit the carrier detect line to drop during line noise.  Newer
  465.     models of slower modems no longer need this as they perform like high
  466.     speed modems, which only drop the carrier detect line when the
  467.     connection has been terminated.
  468.  
  469.     This option is provided to make ONEFOSsil possibly the most complete
  470.     communications driver.  This option may be often useful for people
  471.     trying to figure out how to connect two computers together and can't
  472.     get their software to work without a carrier detect.  For those who
  473.     can wire a cable, the following will help:  On each end of the cable,
  474.     short the lines named DSR and DCD together.  This provides a carrier
  475.     detect based on the DTR.  Then to lower the DCD to fake having "hung
  476.     up" one would lower the DTR line.  Most communications programs lower
  477.     DTR to hang up modems, so this works well on computer to computer
  478.     connections.
  479.  
  480.                         Section 6: After Installation
  481.  
  482.     After ONEFOSsil has been installed, ONEFOSsil can manipulate some of
  483.     its functions or change its parameters.  The syntax for using
  484.     ONEFOSsil to execute its commands follows.
  485.  
  486.          ONEFOS port [command]
  487.  
  488.     The port argument works the same as if ONEFOSsil was installing
  489.     itself.  Generally port 1 refers to COM1.  The following commands
  490.     apply to the command value.
  491.  
  492.     A more complete utility is coming soon from the author that will
  493.     enable its users to do almost anything to the FOSSIL driver from a
  494.     batch file.  More on this when the time comes.
  495.  
  496.                           Section 6-1: Un-installing
  497.  
  498.     After having been installed, ONEFOSsil can be removed from memory when
  499.     its services are no longer needed.  The following is the syntax for
  500.     the un-install command.
  501.  
  502.          U
  503.  
  504.     ONEFOSsil will attempt to remove itself from memory.  If it is unsafe
  505.     to do so, an error will be displayed, and ONEFOSsil will remain in
  506.     memory.  Different versions of ONEFOSsil will not un-install each
  507.     other.  An error level of 0 is returned if ONEFOSsil successfully
  508.     removed itself.
  509.  
  510.                          Section 6-2: Getting Status
  511.  
  512.     Getting the status of a ONEFOSsil port is not currently available.  It
  513.     simply hasn't been completed.  When it is completed, it will provide
  514.     some information about the current conditions of the specified
  515.     ONEFOSsil port.  It will also be able to display some information
  516.     about other FOSSIL driver's ports.
  517.  
  518.                      Section 6-3: Changing Port Settings
  519.  
  520.     Changing the port settings of a ONEFOSsil port is not currently
  521.     available.  It simply hasn't been completed.  When completed it will
  522.     permit both changing the locked parameters or just the current
  523.     settings for port speed, data format, and flow control.
  524.  
  525.                        Section 6-4: Forcing Port Opened
  526.  
  527.     ONEFOSsil can be used to force a port activated.  This is not specific
  528.     to ONEFOSsil ports, and may be used with any FOSSIL driver.  The
  529.     syntax for opening a port follows.
  530.  
  531.          O
  532.  
  533.     ONEFOSsil will attempt to open the specified port, and will report its
  534.     success or failure.  ONEFOSsil will exit with an error level of 0 if
  535.     it was successful.
  536.  
  537.                        Section 6-5: Forcing Port Closed
  538.  
  539.     ONEFOSsil can be used to force a port deactivated.  This is not
  540.     specific to ONEFOSsil ports, and may be used with any FOSSIL driver.
  541.     The syntax for closing a port follows:
  542.  
  543.          C
  544.  
  545.     ONEFOSsil will attempt to close the specified port, and will report
  546.     its success or failure.  ONEFOSsil can not insure that it was
  547.     successful though, but will exit with an error level of 0 if it
  548.     appears to have worked.
  549.  
  550.                  Section 7: Examples of Installation and Use
  551.  
  552.     This section will show some examples on how ONEFOSsil is installed and
  553.     used.  These examples usually will not be sufficient by themselves,
  554.     but they provide hints on how options are used in case the
  555.     descriptions above were not clear enough.
  556.  
  557.     Installing ONEFOSsil on standard COM1 which is running a 28800bps
  558.     modem.  This will set the buffers to allow for one second of data.
  559.     This is a standard command line used for most 28,800bps modems on
  560.     COM1.
  561.  
  562.          ONEFOS 1=03F8,4 L=115200,8N1,H-S-R B=4096,4096
  563.  
  564.     Installing ONEFOSsil on a completely non-standard port, locking the
  565.     baud rate at 38400, data format at 8N1, and hooking the hardware
  566.     interrupt at load time.
  567.  
  568.          ONEFOS 5=3480,12 L=38400,8N1,H H
  569.  
  570.     Installing ONEFOSsil on COM4 using IRQ 7 locking the data format at 7
  571.     data bits, even parity, 2 stop bits, and locking software flow
  572.     control, with very small buffers.
  573.  
  574.          ONEFOS 3=02E8,7 L=,7E2,SR B=64,64
  575.  
  576.     Un-installing ONEFOSsil from COM3.
  577.  
  578.          ONEFOS 3 U
  579.  
  580.     Opening COM1 after ONEFOSsil has already been installed.
  581.  
  582.          ONEFOS 1 O
  583.  
  584.                         Section 8: Compatibility Notes
  585.  
  586.     These sections include some tips and other issues on using ONEFOSsil
  587.     in specific environments or with specific software.  Some of these
  588.     tips may have been reported by users, but have usually been tested.
  589.     Some suggestions may not always work under some circumstances.  You
  590.     use these suggestions at your own risk.
  591.  
  592.                           Section 8-1: Shared IRQ's
  593.  
  594.     ONEFOSsil supports ports that share the same IRQ.  Under DOS or
  595.     DESQview, this will only work if ONEFOSsil is the last driver to use
  596.     the interrupt and is loaded before the multitasker.  Any number of
  597.     copies of ONEFOSsil should be able to share the same IRQ.  Under
  598.     Windows or Windows 95, it is believed that ONEFOSsil will work even if
  599.     loaded in each window.  This is due to how Windows virtualizes the
  600.     communications.  Please read Windows Tips for more information.
  601.  
  602.                        Section 8-2: Pretested Software
  603.  
  604.     The following software notes have been taken during testing and normal
  605.     use of ONEFOSsil.
  606.  
  607.     DOORWAY: It was earlier noted that DoorWay required the H option or
  608.     the O command (before loading DOORWAY SYSF).  This no longer seems
  609.     necessary.
  610.  
  611.     CEXYZ: If you use CEXYZ as a protocol driver, under a multitasker,
  612.     performance may drag, specially on receiving.  Everything is ok if run
  613.     in DOS.  It appears to be CEXYZ's multitasking support.  ZSXW works
  614.     fine and gets much better performance under Windows and DESQview.
  615.  
  616.     DDPLUS: Any door written with DDPlus version 7.1 or earlier, possibly
  617.     later versions too, and possibly DoorDriver, will not work with
  618.     ONEFOSsil if set to use XFOSSIL (otherwise known as the X00 Extended
  619.     FOSSIL mode).  DDPlus driven doors will not even work with X00 in that
  620.     mode.  Instead all calls to the FOSSIL end up in the BIOS COMM
  621.     routines.  This is probably in how DDPlus is detecting an X00 FOSSIL,
  622.     which just plain won't work with ONEFOSsil.  Doors affected by this
  623.     include LORE 2.00, LORD 3.55, USURPER 1.15 and many others.
  624.  
  625.     Software tested: Renegade BBS, FHSLink, L.O.R.D., Planets: TEOS,
  626.     Usurper, Galactic Overlords, Global War, DoorWay, CEXYZ, RIPVersi,
  627.     LORE, FOSSILC (unreleased version), FOSSILCP (unreleased version),
  628.     B.R.E., Portal of Power, FrontDoor, Intermail, ZSXW, RIPSweeper,
  629.     WildCat!, F.E., Yankees and Rednecks, New York 2008, and many others.
  630.  
  631.                           Section 8-3: Windows Tips
  632.  
  633.     During development and testing, some tips for using ONEFOSsil under
  634.     Windows 3.11 and Windows 95 have been collected.  Many thanks to those
  635.     in FidoNet's WIN95 echo for suggesting these tips.  These tips have
  636.     not been tested under Windows 3.11, as it does not have all these
  637.     options.  These suggestions will reduce, if not entirely eliminate,
  638.     CRC errors and increase performance.  Also, these tips are not just
  639.     for ONEFOSsil, but apply to almost all communications under Windows
  640.     95.
  641.  
  642.     It was found during testing of ONEFOSsil that Windows 95's
  643.     communications drivers have some bugs in how a 16450 UART is
  644.     initialized.  As such, if the first port accessed by a DOS application
  645.     after Windows has been loaded is a 16450 UART port, it is likely that
  646.     the application that uses the port will drop lots of characters,
  647.     specially at higher speeds.  This is not specific to ONEFOSsil as all
  648.     DOS communications software were found to have the same problem.
  649.     Generally, there are no problems if a 16550 UART port is accessed
  650.     before a 16450 UART port is accessed.  The problem also seems to
  651.     disappear once the DOS window has been closed and re-opened.
  652.  
  653.     One may find communications in Windows 95 to be very temperamental if
  654.     an IRQ above 8 is used for a COM port IRQ (specifically IRQ 9/2).  The
  655.     conditions would come and go from reboot to reboot.  Generally the
  656.     UART's transmit interrupt would be disabled whenever a character was
  657.     received, and could cause system locks.  This was generally made even
  658.     worse when combined with the above problem.  The only solution is to
  659.     try to keep COM ports using IRQ's lower than 8, specifically when the
  660.     UART is a 16450.  It has been heard that some people have also had
  661.     trouble just with IRQ 9/2, no matter what kind of UART, so this
  662.     problem may only be significant with IRQ 9/2.
  663.  
  664.     The following tip was partially suggested by Bill Gaston on FidoNet's
  665.     WIN95 echo.  Most of the suggestion he posted as been complemented
  666.     with the authors complete testing of the suggestion.  As such, there
  667.     have come to be some differences even between Bill's and the author's
  668.     original publication of this tip.
  669.  
  670.     Perform the following steps to improve DOS programs performance and
  671.     reliability while running in Windows 95.  This will generally
  672.     eliminate all CRC errors and may solve some performance problems.
  673.  
  674.          Open the Control Panel.  Open the System icon.  Select the Device
  675.          Manager tab and expand the Ports branch.
  676.  
  677.          Carry out the following steps on each COM port.
  678.  
  679.               Select the port in question and press the Properties button.
  680.               The properties on this page are only used as defaults for
  681.               Windows programs; however, make sure everything is correct,
  682.               such as the Flow Control setting should usually be set to
  683.               Hardware.  Press the Advanced... button.  Press the Defaults
  684.               button to set the FIFO values at 3 notches and 4 notches
  685.               respectively.  This works the best for most all systems, and
  686.               appears to apply even to DOS applications.  Press the OK
  687.               button to return to the Properties tab and press the OK
  688.               button there to return to the Device Manager.
  689.  
  690.                    Note:  Some suggest (often) that the lower slider
  691.                    should be set at the middle notch.  Read the message at
  692.                    the top of the properties tab.  It reads that the right
  693.                    most notches provides better performance, and the left
  694.                    most notches are for solving communications problems.
  695.                    With 16550 UARTs, the right most notch of the lower
  696.                    slider is the best to use for highest performance.
  697.  
  698.          Close the System Properties window to save the changes.  Open the
  699.          file \Windows\System.ini with an editor.  Make the following
  700.          changes to the [386Enh] section.
  701.  
  702.               Remove or remark any "COMBoostTime=" statements.  It was
  703.               earlier suggested to add this statement, but the author has
  704.               found that applications perform better without it.
  705.  
  706.               Add or change the statement "MinTimeSlice=" to read
  707.               "MinTimeSlice=30".  This greatly improves the performance of
  708.               BRE and other door games while they are in the background.
  709.               Adversely, another alternative exists, and this has worked
  710.               quite well on the author's system.  Remove or remark the
  711.               "MinTimeSlice=" statement and add or change the statement
  712.               "WinTimeSlice=" to read "WinTimeSlice=100,100".  This causes
  713.               Windows to give the task in the foreground only as much time
  714.               as the tasks in the background get.
  715.  
  716.               Add or change the statements "COMxBuffer=y" for each COM
  717.               port used by DOS applications.  The value y is the amount of
  718.               buffer space to be reserved for COMx.  Ideally, a value
  719.               larger than ONEFOSsil's read value should be used.  This
  720.               will greatly improve performance and reliability of DOS
  721.               applications.  Common settings are between 1024 and 10240.
  722.               1024 may work for most people, and will surely improve
  723.               performance, but some systems may need 10240.  The author
  724.               has seen very few systems that didn't need any change in the
  725.               buffers.
  726.  
  727.          Save the file, close, and restart Windows.  If there continues to
  728.          be problems with CRC errors or dropped characters, increase the
  729.          buffers, or reduce the top slider in the advanced port settings
  730.          page by one notch.  If you have problems with slow transmit
  731.          speeds, try adjusting the "MinTimeSlice=" statement or adding and
  732.          adjusting a "COMBoostTime=".
  733.  
  734.     On the ONEFOSsil command line, the FIFO settings can be set to F=16,4
  735.     to provide better results on 16550 UARTS.  This sets the FIFO's to
  736.     maximum for both transmit and receive FIFO's.  Since Windows 95 always
  737.     uses its FIFO settings, ONEFOSsil's FIFO settings will only be used
  738.     for transferring data from the Windows VCOMM buffer to ONEFOSsil's
  739.     buffer, and by transferring more characters at a time the performance
  740.     generally increases.
  741.  
  742.     It is also suggested to run the UART at as high of a speed as can be
  743.     supported by the modem.  This increases performance specially with
  744.     error correcting and data compression modem protocols.  Most 28,800bps
  745.     modems support 115,200bps while most 14,400bps modems support
  746.     57,600bps.
  747.  
  748.     Just to note, these settings have completely eliminated CRC errors on
  749.     the author's 4 megabyte system on all 16550 UART ports.  Ports using
  750.     16450 UARTs seldom produce CRC errors even running at 38400bps (direct
  751.     link between computers).
  752.  
  753.                           Section 9: Troubleshooting
  754.  
  755.     If you can not find an answer here, you are very welcome to read the
  756.     SUPPORT.TXT file and use any valid means for contacting the author to
  757.     discuss the problem.
  758.  
  759.     This section will be maintained in FAQ (Frequently Answered Questions)
  760.     format.
  761.  
  762.     Q: I get CRC errors in Windows or Windows 95, can this be solved?
  763.  
  764.     A: Usually.  Please read Compatibility Notes - Windows Tips, above,
  765.     for more information.  If problems persist, please contact the author
  766.     through the appropriate support channel.  He may want to see your
  767.     system.ini file.
  768.  
  769.     Q: I have just a couple programs that refuse to work with ONEFOSsil,
  770.     everything else appears to work fine, what can I do?
  771.  
  772.     A: Contact all authors involved.  The author of ONEFOSsil may be able
  773.     to solve the problem, or provide a work-around, but the best long term
  774.     solution is to correct the bugs other programs may have.  It reduces
  775.     the chances that other problems will be created in the future.
  776.  
  777.     Q: ONEFOSsil refuses to install, stating that the UART doesn't exist,
  778.     why is this?
  779.  
  780.     A: ONEFOSsil does a test that almost always insures the UART and the
  781.     interrupt hardware are functioning before loading.  Under
  782.     multitaskers, if another window or task already has the port to
  783.     itself, ONEFOSsil may not be able to recognize the UART (as in the
  784.     case with Windows) or may find the interrupt hardware to be failing
  785.     (as in the case with DESQview).  Try closing all windows or loading
  786.     ONEFOS in DOS.  If it still refuses to work check all settings.  After
  787.     running out of possibilities, attempt to contact the author to see if
  788.     you don't have unsupported UART hardware.  ONEFOS has been tested to
  789.     work on internal modems, 16550's, 16450's, and on 12mhz 80286
  790.     processors.  Even faster machines may provide problems with how
  791.     ONEFOSsil detects UART's, however no problems have been reported yet.
  792.  
  793.     Q:  I tried to get ONEFOSsil to report its status, or change its
  794.     settings after it has been installed, but I keep getting a command
  795.     line error message, why?
  796.  
  797.     A:  RTFM!  Those commands are documented above as being unfinished.
  798.     It is the hope of the author to have all ONEFOSsil commands completed
  799.     at revision 10.  At that time the whole project will be given a better
  800.     command line processor, and better help when an error occurs.
  801.  
  802.     Q:  Does ONEFOSsil work with shared IRQ's under Windows 95?
  803.  
  804.     A:  As stated in an above section, ONEFOSsil, or any other DOS program
  805.     should work with shared IRQ's provided you have set Windows 95 up
  806.     correctly.  Make sure that Windows 95's device manager reports the
  807.     hardware for your COM ports correctly.
  808.  
  809.     Q:  Any other questions, anyone?
  810.  
  811.                              Section 10: Credits
  812.  
  813.     All trademarks and copyrights mentioned in this documentation are the
  814.     property of their owners.  References to companies or their products
  815.     are in no way an advertisement or a guarantee that this product will
  816.     work with the mentioned products or environments.
  817.  
  818.     Thanks the most to Ralph Brown and others for the Interrupt List
  819.     (version 48).  Without the Interrupt List and its many other
  820.     components, this project would have flopped from all the misleading
  821.     sources I used. Yes, the Interrupt List is not perfect, but not nearly
  822.     as bad as some of the other sources I used in this project.
  823.  
  824.     Thanks also to Allen L. Wyatt, Sr. for "Advanced Assembly Language"
  825.     (ISBN 1-56529-037-2) which provided me with just enough (misleading)
  826.     information to start on the project.  Many sample programs contradict
  827.     information shown in the charts, but they all seem to run, and I do
  828.     plan to use more of the book than the "Serial Communications" chapter.
  829.  
  830.     Thanks also to Ray Gwinn for providing the specifications to his
  831.     slightly advanced FOSSIL specification.  Yes, small errors here and
  832.     there too, but nothing the Interrupt List didn't clear up.  It is also
  833.     his buggy DOS based FOSSIL driver, X00, and his supposed denounce of
  834.     Windows, that prompted for the creation of this driver.  Bob Juge also
  835.     had some help in getting me to write this driver, with his persistent,
  836.     "the X00 specs are publicly available."
  837.  
  838.     Thanks a little to Barb Maly, for constantly reminding me why she
  839.     didn't use X00, and why I didn't use BNU.  She is also a primary beta
  840.     tester and is the primary distributor.
  841.  
  842.     Dan Liston gets a little thanks too, for allowing me to test my driver
  843.     on repeated calls to his system.  I know it had to be annoying.
  844.  
  845.     Thanks to Ralph Wilcox, the registration letters should be easier to
  846.     follow by those who do not use PKUnZip on a normal basis.
  847.  
  848.     Many thanks to everyone in the FidoNet WIN95 support echo.  Their
  849.     support has helped to make ONEFOSsil more complete.
  850.  
  851.     <EoF>
  852.