home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1996 October / PCO_10.ISO / filesbbs / adf_141.arj / ADF.TXT < prev    next >
Encoding:
Text File  |  1996-09-12  |  49.9 KB  |  1,310 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.                   AnDan Software FOSSIL Version 1.41
  25.  
  26.                   Users Manual
  27.  
  28.                   Scandinavian Digital Systems
  29.           AnDan Software FOSSIL Version 1.41                   Users Manual
  30.           ─────────────────────────────────────────────────────────────────
  31.  
  32.  
  33.           Table of contents
  34.  
  35.            1  Overview ...............................................    3
  36.               1.1  Features of ADF ...................................    3
  37.            2  Shareware ..............................................    3
  38.               2.1  Use as shareware ..................................    4
  39.               2.2  How to register ...................................    4
  40.            3  Support and new versions ...............................    5
  41.               3.1  ADF doesn't work ..................................    5
  42.            4  Included files .........................................    6
  43.            5  Installation ...........................................    6
  44.               5.1  Installing on Windows 3.1, 3.11, and WfWG 3.1 .....    6
  45.               5.2  Installing on Windows for Workgroups 3.11 .........    6
  46.               5.3  Installing on Windows 95 ..........................    7
  47.            6  Command line arguments .................................    7
  48.               6.1  port ..............................................    8
  49.               6.2  addr ..............................................    8
  50.               6.2  irq ...............................................    8
  51.               6.4  baud ..............................................    9
  52.               6.5  recbuf,hold,cont ..................................    9
  53.               6.6  trabuf ............................................    9
  54.               6.7  fifo ..............................................   10
  55.               6.8  line ..............................................   10
  56.               6.9  modem .............................................   10
  57.            7  Execution examples .....................................   11
  58.            8  Baud rate calculation ..................................   12
  59.            9  16550 and 16650 FIFO UARTs .............................   13
  60.               9.1  Receiver 16550-FIFO trigger level .................   13
  61.               9.2  Receiver 16650-FIFO trigger level .................   14
  62.               9.3  Transmitter 16650-FIFO trigger level ..............   14
  63.            10 Error messages .........................................   14
  64.            11 Benchmarks .............................................   16
  65.               11.1 Memory consumption ................................   16
  66.               11.2 Execution speed ...................................   17
  67.            12 The ADFComCh program ...................................   18
  68.            13 The ADFDebug program ...................................   18
  69.               13.1 Using ADFDebug ....................................   19
  70.            14 The ADFTerm program ....................................   20
  71.            15 The ADFTest program ....................................   20
  72.            16 Version history ........................................   20
  73.            17 Future versions ........................................   21
  74.  
  75.  
  76.           Copyright (c) 1994-1996 Scandinavian Digital Systems AB
  77.  
  78.           This product, including the manual and the software, is provided
  79.           as is. Scandinavian Digital Systems AB and Anders Danielsson
  80.           disclaims all warranties of any kind, whether expressed or
  81.           implied, and are not liable to you or anyone else for any damages
  82.           or costs due to the use or inability to use this product.
  83.  
  84.           Acknowledgments:
  85.  
  86.  
  87.  
  88.  
  89.           ─────────────────────────────────────────────────────────────────
  90.           Scandinavian Digital Systems                               Page 2
  91.           AnDan Software FOSSIL Version 1.41                   Users Manual
  92.           ─────────────────────────────────────────────────────────────────
  93.  
  94.  
  95.           AnDan Software is a trademark of Scandinavian Digital Systems AB.
  96.           FidoNet is a trademark of Tom Jennings.
  97.           Windows is a trademark of Microsoft Corporation.
  98.           X00 is a program made by Raymond L. Gwinn.
  99.           BNU is a program made by David Nugent, Unique Computing Pty
  100.           Limited.
  101.           16550 is a device made by National Semiconductor Corporation.
  102.           16650 is a device made by Startech Semiconductor Incorporated.
  103.  
  104.  
  105.  
  106.  
  107.           1  Overview
  108.  
  109.           ADF is a FOSSIL revision level 5 driver, including the additional
  110.           functions defined by Raymond L. Gwinn in X00 v1.50.
  111.  
  112.           ADF is specially designed for users of high speed modems with or
  113.           without the 16550 or the 16650 UART, using DOS or a multitasking
  114.           environment.
  115.  
  116.           ADF was initially written some years ago because other FOSSIL
  117.           drivers did not always work properly in protected mode
  118.           multitasking environments, where the UART is emulated.
  119.  
  120.           ADF is designed to work well with both emulated UARTs and real
  121.           UARTs, without any drawbacks.
  122.  
  123.  
  124.           1.1  Features of ADF
  125.  
  126.           * Always a locked baud-rate.
  127.           * Locked baud-rate of any speed (2 bps - 115200 bps).
  128.           * Defaults to 8 databits, no parity, and 1 stop bit (8N1).
  129.           * Always CTS/RTS handshake. Never DSR/DTR or XON/XOFF handshake.
  130.           * One port per ADF (load ADF in different tasks for many ports).
  131.           * COM-port address configurable (0H-FFFFH).
  132.           * COM-port IRQ configurable (0-15).
  133.           * Full support of the 16550 UART and the 16650 UART.
  134.           * Fills transmit 16550-FIFO buffer with all 16 bytes.
  135.           * Fills transmit 16650-FIFO buffer with all 32 bytes.
  136.           * Receiver 16550-FIFO configurable (1, 4, 8 or 14 bytes).
  137.           * Receiver and transmitter 16650-FIFO configurable.
  138.           * Only 8088/8086 compatible code used.
  139.  
  140.  
  141.           2  Shareware
  142.  
  143.           The files in this package may be copied and distributed if no fee
  144.           is charged, if no changes are done and as no part of other
  145.           products, in purpose to test and evaluate this product for a
  146.           period of 30 days.
  147.  
  148.  
  149.  
  150.  
  151.           ─────────────────────────────────────────────────────────────────
  152.           Scandinavian Digital Systems                               Page 3
  153.           AnDan Software FOSSIL Version 1.41                   Users Manual
  154.           ─────────────────────────────────────────────────────────────────
  155.  
  156.  
  157.           2.1  Use as shareware
  158.  
  159.           To use ADF.EXE as shareware, you must first execute the supplied
  160.           REGISTER.EXE and register ADF.EXE as shareware.
  161.  
  162.           Run REGISTER.EXE, specify ADF.EXE as file to register and do not
  163.           enter any user name. ADF.EXE may then be used as shareware.
  164.  
  165.           When ADF.EXE is executed it will display the number of used days
  166.           since it was registered as shareware.
  167.  
  168.  
  169.           2.2  How to register
  170.  
  171.           To register ADF and use it for more than 30 days, you should pay
  172.           an even amount equal to the sum of USD 10 in a currency of your
  173.           own choice. Examples of common currencies:
  174.  
  175.                   American Dollars        USD    10
  176.                   Austrian Schillings     ATS   100
  177.                   Belgian Francs          BEF   300
  178.                   British Pounds          GBP     6
  179.                   Canadian Dollars        CAD    15
  180.                   Dutch Guilders          NLG    15
  181.                   French Francs           FRF    50
  182.                   German Marks            DEM    15
  183.                   Italian Lira            ITL 15000
  184.                   Swedish Krona           SEK    60
  185.  
  186.           Please send cash (bills, paper money) in a letter to:
  187.  
  188.                   Scandinavian Digital Systems AB
  189.                   Billerudsgatan 20
  190.                   S-661 30  Saffle
  191.                   SWEDEN
  192.  
  193.           Please include a note, a postcard or the printed REGISTER.TXT,
  194.           with your FidoNet or Internet e-mail address, and you will
  195.           receive an e-mail receipt of your payment.
  196.  
  197.           No other methods of payments are accepted. Do not send checks,
  198.           cheques or money orders.
  199.  
  200.           After you have sent the money, send an electronic mail through
  201.           FidoNet to Reg at 2:203/620 or through Internet to
  202.           reg@andan.edv.se. The mail should contain the following lines:
  203.  
  204.                   Prod=ADF
  205.                   User=<Your name and your e-mail address, BBS or location>
  206.  
  207.           You will then receive an automatic reply with your private
  208.           registration code, to the address you mailed your registration.
  209.  
  210.  
  211.  
  212.  
  213.           ─────────────────────────────────────────────────────────────────
  214.           Scandinavian Digital Systems                               Page 4
  215.           AnDan Software FOSSIL Version 1.41                   Users Manual
  216.           ─────────────────────────────────────────────────────────────────
  217.  
  218.  
  219.           When you specify your user registration name after the "User=",
  220.           you should use your name together with some kind of address or
  221.           location information. Examples:
  222.  
  223.                   User=Anders Danielsson, AnDan BBS, 2:203/620
  224.                   User=Charles Smith, cs@someplace.com
  225.                   User=Hans Schultz, Dernauer Str., Hamburg, Germany
  226.  
  227.           Use at least 16 characters, but not more than 63 characters.
  228.  
  229.           You may also phone AnDan BBS at +46-533-13700 and register
  230.           on-line. The on-line registration is similar to the mail
  231.           registration.
  232.  
  233.           Note, Reg is a program, and it will reply to your origin (from or
  234.           reply) address. Please make sure that your e-mail has a valid
  235.           origin address.
  236.  
  237.           Please note, routed FidoNet e-mail may not work on long
  238.           distances.
  239.  
  240.           All FidoNet e-mail replies from Reg (and from the support) are
  241.           routed, but a copy of the mail is also put on hold at 2:203/620.
  242.  
  243.           If you suspect that routed mail will not work, use crash mail to
  244.           send to Reg, and some hours later do a poll for any hold replies.
  245.  
  246.  
  247.           3  Support and new versions
  248.  
  249.           If you have questions, comments or find bugs in the program,
  250.           please send electronic mail to the author, Anders Danielsson at
  251.           FidoNet 2:203/620 or ad@andan.edv.se.
  252.  
  253.           Well documented reports of new bugs and suggestions are honored
  254.           with a free registration.
  255.  
  256.           The latest version can be file requested as ADF from FidoNet
  257.           2:203/620.
  258.  
  259.           You may also phone AnDan BBS at +46-533-13700, where the newest
  260.           versions and other shareware programs from AnDan Software always
  261.           are downloadable for all users.
  262.  
  263.  
  264.           3.1  ADF doesn't work
  265.  
  266.           ADF is tested to work with many programs, also in different
  267.           environments, that use FOSSIL drivers.
  268.  
  269.           The author is convinced that ADF will work together with all well
  270.           behaved programs, and if not, it is our intention to make it work
  271.           with those programs as quickly as possible.
  272.  
  273.  
  274.  
  275.           ─────────────────────────────────────────────────────────────────
  276.           Scandinavian Digital Systems                               Page 5
  277.           AnDan Software FOSSIL Version 1.41                   Users Manual
  278.           ─────────────────────────────────────────────────────────────────
  279.  
  280.  
  281.           However, it is not our policy to make memory or time consuming
  282.           changes in ADF to make it work with badly behaved programs that
  283.           do not use a FOSSIL correctly.
  284.  
  285.  
  286.           4  Included files
  287.  
  288.           You should have received the following files:
  289.  
  290.           File name:    Description:
  291.  
  292.           ADF.TXT       This file
  293.           ADF.EXE       The FOSSIL driver
  294.           ADFCOMCH.EXE  Checks COM-ports
  295.           ADFDEBUG.EXE  FOSSIL debugger
  296.           ADFTERM.EXE   Very small and simple communication program
  297.           ADFTEST.EXE   FOSSIL tester
  298.           ADFCOM1.BAT   Example of use of ADF with COM1
  299.           ADFCOM2.BAT   Example of use of ADF with COM2
  300.           FILE_ID.DIZ   File description
  301.           REGISTER.TXT  Registration form
  302.           REGISTER.EXE  Registration program
  303.  
  304.  
  305.           5  Installation
  306.  
  307.           Just copy ADF.EXE to a directory included in your PATH.
  308.  
  309.           If you are only running DOS, edit your AUTOEXEC.BAT and insert a
  310.           line that loads ADF.
  311.  
  312.           You may insert (or call) one of the files ADFCOM1.BAT or
  313.           ADFCOM2.BAT for quick and easy editing.
  314.  
  315.           If you are using a protected mode multitasking environment, such
  316.           as Windows, load one copy of ADF in each wanted DOS session using
  317.           different ports. Do not load ADF in AUTOEXEC.BAT. In fact, this
  318.           applies for all FOSSIL drivers, and this is the reason why ADF
  319.           only uses one port per load.
  320.  
  321.  
  322.           5.1  Installing on Windows 3.1, 3.11, and WfWG 3.1
  323.  
  324.           To let ADF (and other DOS application) take advantage of the
  325.           FIFO's of the 16550 UART, you need to install a third-party
  326.           communications drivers (such as Turbocom by Pacific Commware and
  327.           KingComm by OTC Corporation), or upgrade to Windows for
  328.           Workgroups 3.11.
  329.  
  330.  
  331.           5.2  Installing on Windows for Workgroups 3.11
  332.  
  333.           Windows for Workgroups 3.11 is the first version of Windows with
  334.           16550 FIFO support for DOS applications. You do not need any
  335.  
  336.  
  337.           ─────────────────────────────────────────────────────────────────
  338.           Scandinavian Digital Systems                               Page 6
  339.           AnDan Software FOSSIL Version 1.41                   Users Manual
  340.           ─────────────────────────────────────────────────────────────────
  341.  
  342.  
  343.           third-party communications drivers.
  344.  
  345.           Make sure you got a SERIAL.386 dated Feb 17, 1994, or later.
  346.           (Available at http://www.microsoft.com).
  347.  
  348.           Examples of settings in SYSTEM.INI:
  349.  
  350.           [386Enh]
  351.           COM1BASE=03F8
  352.           COM1IRQ=4
  353.           COM1Fifo=1
  354.           COM1TxFifo=1
  355.           COM1RxTrigger=4
  356.           COM2BASE=02F8
  357.           COM2IRQ=3
  358.           COM2Fifo=1
  359.           COM2TxFifo=1
  360.           COM2RxTrigger=4
  361.  
  362.           Set the COM?RxTrigger to the same value as the receiver trigger
  363.           level of ADF (see below).
  364.  
  365.  
  366.           5.3  Installing on Windows 95
  367.  
  368.           If you have an 16550 (or 16650) UART, you need to enable and
  369.           configure it in Windows 95.
  370.  
  371.           In the port settings of the modem configuration, enable the
  372.           FIFOs, set the FIFO receiver buffer (1, 4, 8 or 14) to the same
  373.           value as the receiver trigger level of ADF (see below), and set
  374.           the FIFO transmit buffer to the maximum.
  375.  
  376.           A FIFO receiver trigger level of 4 (the second position in
  377.           Windows 95) is a good choice for most users using 38400 bps or
  378.           higher.
  379.  
  380.  
  381.           6  Command line arguments
  382.  
  383.           When you run ADF without any arguments, it will display the
  384.           following help text (use ADF|MORE for more prompt):
  385.  
  386.           adf port addr irq baud recbuf[,hold[,cont]] trabuf [fifo] [line]
  387.             [modem]
  388.  
  389.           port    FOSSIL port number, 0-126, or COM-port, COM1-COM127.
  390.                   Example: 0 or COM1
  391.           addr    Address in hex of COM-port, 0-FFFF. Example: 3F8
  392.           irq     IRQ number of COM-port, 0-15. Example: 4
  393.           baud    Locked baud-rate, 1-115200. Example: 38400
  394.           recbuf  Size of receive buffer, 256-16384. Example: 4096
  395.           hold    Flow control hold or stop, default 7/8 of recbuf.
  396.                   Example: 3584
  397.  
  398.  
  399.           ─────────────────────────────────────────────────────────────────
  400.           Scandinavian Digital Systems                               Page 7
  401.           AnDan Software FOSSIL Version 1.41                   Users Manual
  402.           ─────────────────────────────────────────────────────────────────
  403.  
  404.  
  405.           cont    Flow control continue or restart, default 6/8 of recbuf.
  406.                   Example: 3072
  407.           trabuf  Size of transmit buffer, 256-16384. Example: 4096
  408.           fifo    Receiver 16550-FIFO trigger level, 1, 4, 8 or 14.
  409.                   Default: 8
  410.                   Or 16650,rec,tra for setting receiver trigger level 8,
  411.                   16, 24 or 28, and transmitter trigger level 8, 16, 24 or
  412.                   30 on 16650. Example: 16650,16,8
  413.           line    Line control register. Default: 3
  414.           modem   Modem control register. Default: 11
  415.  
  416.           ADF will stay resident when using the above command line.
  417.  
  418.           adf UNLOAD
  419.  
  420.           ADF will remove itself from memory when using the above command
  421.           line.
  422.  
  423.           adf watch ON|OFF|time
  424.  
  425.           ADF will turn carrier watchdog on or off when using the above
  426.           command line. If a numeric value is used, the time out in seconds
  427.           (10-3600) will be set, this will not turn the watchdog on or off
  428.           (default is 60 seconds).
  429.  
  430.  
  431.           6.1  port
  432.  
  433.           You may specify the FOSSIL port number starting with 0 by using a
  434.           number only, or you may specify the port number starting with 1
  435.           by putting COM before the number, that is 0 = COM1, 1 = COM2 and
  436.           so on. In practice, ADF sets no limits, but your environment may
  437.           limit the number of COM ports.
  438.  
  439.           The FOSSIL port number is only used to check for correct calls by
  440.           application programs. ADF doesn't use this number to access the
  441.           port or anything like that. You always need to specify the
  442.           address and IRQ of the port.
  443.  
  444.  
  445.           6.2  addr
  446.  
  447.           Address in hexadecimal notation of the COM port, see irq.
  448.  
  449.  
  450.           6.3  irq
  451.  
  452.           IRQ of the COM port. The most common addresses and IRQs are:
  453.  
  454.               COM1    3F8    4
  455.               COM2    2F8    3
  456.               COM3    3E8    4
  457.               COM4    2E8    3
  458.  
  459.  
  460.  
  461.           ─────────────────────────────────────────────────────────────────
  462.           Scandinavian Digital Systems                               Page 8
  463.           AnDan Software FOSSIL Version 1.41                   Users Manual
  464.           ─────────────────────────────────────────────────────────────────
  465.  
  466.  
  467.           Note that you cannot use two COM ports having the same IRQ. If
  468.           you configure your hardware using the same IRQ to two COM ports,
  469.           you must be very sure that they are not used at the same time and
  470.           that programs using them turns them of when finished. Otherwise
  471.           you will get a true electrical short-circuit.
  472.  
  473.  
  474.           6.4  baud
  475.  
  476.           The baud rate to use (lock). Common values are 9600, 19200,
  477.           38400, 56700 and 115200. See chapter 8 for details.
  478.  
  479.           These are the PC standard baud rates. Some communication adapters
  480.           uses a baud rate multiplication, meaning that when ADF sets a PC
  481.           standard baud rate, the true baud rate will be (for example) four
  482.           times higher. ADF fully supports such adapters, you simply
  483.           specify the (false) PC standard baud rate on the ADF command
  484.           line.
  485.  
  486.           With some application programs, many modems need to be
  487.           initialized and programmed (e.g. AT&W) using the wanted baud
  488.           rate. The supplied ADFTERM.EXE is useful for one-time
  489.           initialization and programming of modems.
  490.  
  491.           The baud rate should be at least as high as 10 times your cps
  492.           rate. It should not need to be much larger than this.
  493.  
  494.           Be aware of that the RS-232 standard specifies a maximum baud
  495.           rate of 20000 bps. Most of todays computers and modems allows
  496.           higher baud rates, but some don't, please see your hardware
  497.           manuals.
  498.  
  499.  
  500.           6.5  recbuf,hold,cont
  501.  
  502.           The receive buffer size in bytes. Use at least 1024, but it
  503.           should not need to be much larger than your maximum cps rate.
  504.           4096 is a good value for high speed modems.
  505.  
  506.           Optionally, you may use commas and specify the receive flow
  507.           control trigger levels. When the number of bytes in the receive
  508.           buffer is more than the "hold" value, RTS will be lowered. Then
  509.           when the number of bytes has gone below the "cont" value, RTS
  510.           will be raised again.
  511.  
  512.           Note that some modems ignores the RTS signal, in practice it will
  513.           work anyway, at least with large enough receive buffer.
  514.  
  515.  
  516.           6.6  trabuf
  517.  
  518.           The transmit buffer size in bytes. Use at least 1024, but it
  519.           should not need to be much larger than your maximum cps rate.
  520.           4096 is a good value for high speed modems.
  521.  
  522.  
  523.           ─────────────────────────────────────────────────────────────────
  524.           Scandinavian Digital Systems                               Page 9
  525.           AnDan Software FOSSIL Version 1.41                   Users Manual
  526.           ─────────────────────────────────────────────────────────────────
  527.  
  528.  
  529.           6.7  fifo
  530.  
  531.           The 16550 FIFO receiver trigger level. A value of 1, 4, 8 or 14
  532.           bytes. Please see chapter 9 for details. If you don't specify
  533.           this on the command line, a trigger level of 8 bytes will be used
  534.           by default. If you don't have a 16550 or compatible, ADF will
  535.           still set the trigger level, but it will have no effect.
  536.  
  537.           When running ADF under Windows, set the receiver trigger level of
  538.           the Windows communication driver to the same value as ADF.
  539.  
  540.           Instead of the 16550 FIFO receiver trigger level, you may specify
  541.           the number 16650, meaning you got a 16650 UART with 2x32 bytes
  542.           FIFO and other enhancements. When you use 16650 you must also
  543.           specify the 16650 FIFO receiver and transmitter trigger levels
  544.           separated with commas.
  545.  
  546.  
  547.           6.8  line
  548.  
  549.           The value to put in the UART's Line Control Register. This is an
  550.           advanced option. If you want 8N1 (like most users) you don't need
  551.           to worry about this option. The Line Control Register is a bit
  552.           register, you need to add the values wanted.
  553.  
  554.           Value:  Meaning:
  555.  
  556.              0    5 data bits
  557.              1    6 data bits
  558.              2    7 data bits
  559.              3    8 data bits
  560.              4    2 stop bits
  561.              8    Parity Enable
  562.             16    Even Parity
  563.             32    Stick Parity
  564.  
  565.           Common combinations:
  566.  
  567.             8N1   3
  568.             7O1   10 (2+8)
  569.             7E1   26 (2+8+16)
  570.  
  571.  
  572.           6.9  modem
  573.  
  574.           The value to put in the UART's Modem Control Register. This is an
  575.           advanced option. If you have a 100% PC compatible you should not
  576.           use this option. The Modem Control Register is a bit register,
  577.           you need to add the values wanted. This value is loaded into the
  578.           register when application programs calls for a FOSSIL
  579.           initialization. Some bits (like DTR, RTS and Out2) are modified
  580.           by ADF during execution.
  581.  
  582.  
  583.  
  584.  
  585.           ─────────────────────────────────────────────────────────────────
  586.           Scandinavian Digital Systems                              Page 10
  587.           AnDan Software FOSSIL Version 1.41                   Users Manual
  588.           ─────────────────────────────────────────────────────────────────
  589.  
  590.  
  591.           Value:  Meaning:
  592.  
  593.             1     Data Terminal Ready, DTR
  594.             2     Request to Send, RTS
  595.             4     Out1
  596.             8     Out2, On PC compatibles, the Out2 signal is used to mask
  597.                   the IRQ signal. IRQ must not be masked for ADF to work.
  598.            16     Loopback
  599.            32     16650 only: Open source (emitter) interrupt output, for
  600.                   shared interrupts. (ADF has no special shared interrupt
  601.                   capabilities).
  602.            64     16650 only: Infrared RXD/TXD
  603.           128     16650 only using 7.372 MHz clock: Divided by four baud
  604.                   clock
  605.  
  606.  
  607.           7  Execution examples
  608.  
  609.           Example of loading ADF using COM1 (see ADFCOM1.BAT):
  610.  
  611.           adf COM1 3F8 4 38400 4096 4096 8
  612.  
  613.  
  614.           Example of loading ADF using COM2 (see ADFCOM2.BAT):
  615.  
  616.           adf COM2 2F8 3 38400 4096 4096 8
  617.  
  618.  
  619.           Example of loading ADF with 16650:
  620.  
  621.           adf COM1 3F8 4 38400 4096 4096 16650,16,8
  622.  
  623.  
  624.           Example of loading ADF with 7E1:
  625.  
  626.           adf COM1 3F8 4 38400 4096 4096 8 26
  627.  
  628.  
  629.           Example of unloading ADF:
  630.  
  631.           adf unload
  632.  
  633.  
  634.           Example of setting the watchdog time out to 2 minutes:
  635.  
  636.           adf watch 120
  637.  
  638.  
  639.           Example of REMOTE.BAT, to execute on DOS-Shell in a BBS:
  640.  
  641.           @echo off
  642.           rem %1 = Baud rate (used to detect local call)
  643.           if not %1@==0@ ctty COM%2
  644.           if not %1@==0@ adf watch on
  645.  
  646.  
  647.           ─────────────────────────────────────────────────────────────────
  648.           Scandinavian Digital Systems                              Page 11
  649.           AnDan Software FOSSIL Version 1.41                   Users Manual
  650.           ─────────────────────────────────────────────────────────────────
  651.  
  652.  
  653.           command
  654.           adf watch off
  655.           ctty CON
  656.  
  657.           The carrier watchdog will try to reboot the computer after about
  658.           60 seconds (if not changed) from the carrier drops. This may be
  659.           dangerous, especially in a multitasking environment (such as
  660.           Windows).
  661.  
  662.  
  663.           8  Baud rate calculation
  664.  
  665.           A PC compatible serial port uses the following formula to
  666.           calculate the baud rate:
  667.  
  668.           Baud = 115200 / Divisor
  669.  
  670.           The Divisor is an integer number (whole number), 1 to 65535, used
  671.           to program the serial port (the UART chip). This means that only
  672.           certain baud rates are allowed.
  673.  
  674.  
  675.           Divisor:  Baud rate:    True baud rate on a 4x adapter:
  676.  
  677.              1      115200 bps            460800 bps
  678.              2       57600 bps            230400 bps
  679.              3       38400 bps            153600 bps
  680.              4       28800 bps            115200 bps
  681.              5       23040 bps             92160 bps
  682.              6       19200 bps             76800 bps
  683.              7       16457 bps             65829 bps
  684.              8       14400 bps             57600 bps
  685.              9       12800 bps             51200 bps
  686.             10       11520 bps             46080 bps
  687.             11       10473 bps             41891 bps
  688.             12        9600 bps             38400 bps
  689.              .         .                     .
  690.              .         .                     .
  691.              X       115200/X             460800/X
  692.              .         .                     .
  693.              .         .                     .
  694.  
  695.  
  696.           When you specify a baud rate on the command line to ADF, ADF
  697.           calculates the Divisor and checks that the baud-rate is valid
  698.           (realizable).
  699.  
  700.           If you for example use 76800 bps as a baud rate to ADF, the
  701.           Divisor will be 115200/76800 = 1.5, but this is not an integer
  702.           (whole number) and cannot be set. ADF will in this case display
  703.           an error message.
  704.  
  705.  
  706.  
  707.  
  708.  
  709.           ─────────────────────────────────────────────────────────────────
  710.           Scandinavian Digital Systems                              Page 12
  711.           AnDan Software FOSSIL Version 1.41                   Users Manual
  712.           ─────────────────────────────────────────────────────────────────
  713.  
  714.  
  715.           9  16550 and 16650 FIFO UARTs
  716.  
  717.           ADF has full support of the 16550 and the 16650 UART. These UARTs
  718.           are enhanced replacements of the standard 8250 and 16450 UARTs,
  719.           using hardware buffers to get higher performance.
  720.  
  721.           These buffers are called FIFO (First In First Out) buffers.
  722.  
  723.           The 16550 has one 16 byte large receiver FIFO buffer, and one 16
  724.           bytes large transmitter FIFO buffer.
  725.  
  726.           The 16650 has one 32 byte large receiver FIFO buffer, and one 32
  727.           bytes large transmitter FIFO buffer.
  728.  
  729.           On the 16550, you may set the trigger level of the receiver FIFO
  730.           buffer, and on the 16650, you may set the trigger level of both
  731.           the receiver and transmitter FIFOs.
  732.  
  733.  
  734.           9.1  Receiver 16550-FIFO trigger level
  735.  
  736.           The receiver 16550-FIFO trigger level can be set to 1, 4, 8 or 14
  737.           bytes of it's total 16 bytes buffer size.
  738.  
  739.           The value is the number of bytes in the receiver FIFO buffer that
  740.           will generate an interrupt from the UART to the CPU.
  741.  
  742.           The receiver FIFO buffer and it's trigger level, is the main
  743.           reason why many people replaces their old 8250 and 16450 UARTs
  744.           with 16550.
  745.  
  746.           If you for example use a baud rate of 38400 bps (8N1), there will
  747.           be a new byte received each 260 us (microseconds). With an
  748.           ordinary UART, the CPU must answer to an interrupt from the UART
  749.           each 260 us, and read the byte and store it in memory.
  750.  
  751.           If the CPU is unable to answer an interrupt at this rate, or if
  752.           some program has disable interrupts longer than 260 us, received
  753.           bytes will be lost. If you are downloading a file, you will get a
  754.           lot of resends.
  755.  
  756.           The 16550 UART has a 16 byte receiver FIFO buffer (and also a 16
  757.           byte transmitter FIFO) so it can store up to 16 bytes until the
  758.           CPU must read and empty the buffer.
  759.  
  760.           The receiver FIFO trigger level specifies when an interrupt
  761.           should be generated by the UART to the CPU.
  762.  
  763.           If the trigger level is set to 4, the UART will generate an
  764.           interrupt after 4 bytes have been received, but will still fill
  765.           the buffer up to 16 bytes if the CPU doesn't answer the
  766.           interrupt. The rate of interrupts at 38400 bps will be
  767.           4*260 = 1040 us, and the tolerance to no answer from the CPU will
  768.           be (16-4)*260 = 3120 us.
  769.  
  770.  
  771.           ─────────────────────────────────────────────────────────────────
  772.           Scandinavian Digital Systems                              Page 13
  773.           AnDan Software FOSSIL Version 1.41                   Users Manual
  774.           ─────────────────────────────────────────────────────────────────
  775.  
  776.  
  777.           The most common problem with high baud rates, is that programs
  778.           turns of interrupts during too long time. A trigger level of 14
  779.           would in most cases not be a good solution, normally a trigger
  780.           level of 8 is good enough, in some cases you may lower it to 4.
  781.           You should not choose a lower trigger level then necessary,
  782.           because it would load the CPU without giving any benefits.
  783.  
  784.  
  785.           9.2  Receiver 16650-FIFO trigger level
  786.  
  787.           The receiver 16650-FIFO trigger level can be set to 8, 16, 24 or
  788.           28 bytes of it's total 32 bytes buffer size.
  789.  
  790.           It's similar to the 16550-FIFO, see section 9.1 above, but it
  791.           will have higher tolerance against CPU response time and it will
  792.           load the CPU even less.
  793.  
  794.  
  795.           9.3  Transmitter 16650-FIFO trigger level
  796.  
  797.           The transmitter 16650-FIFO trigger level can be set to 8, 16, 24
  798.           or 30 bytes of it's total 32 bytes buffer size.
  799.  
  800.           This setting cannot be done on the 16550. The 16550 always has
  801.           it's transmitter FIFO trigger level set to 1 by hardware.
  802.  
  803.           When the number of not yet transmitted bytes in the FIFO goes
  804.           below the trigger level, the UART will generate an interrupt to
  805.           the CPU, so the interrupt service program can fill up the FIFO
  806.           with more characters to transmit.
  807.  
  808.           The setting of the transmitter FIFO trigger level will affect how
  809.           much the transmission will load the CPU, and how fast the
  810.           transmission may be.
  811.  
  812.           A lower trigger level means less CPU load, but maybe lower
  813.           transfer rates if long interrupt response times.
  814.  
  815.           A higher trigger level means higher transfer rates on systems
  816.           with long interrupt response times, but it will load the CPU
  817.           more.
  818.  
  819.  
  820.           10 Error messages
  821.  
  822.           When ADF displays an error message, it will wait a moment before
  823.           continuing, so you are able to read the message when ADF is
  824.           executed among other programs in batch files (such as
  825.           AUTOEXEC.BAT).
  826.  
  827.           All error messages with explanations:
  828.  
  829.  
  830.  
  831.  
  832.  
  833.           ─────────────────────────────────────────────────────────────────
  834.           Scandinavian Digital Systems                              Page 14
  835.           AnDan Software FOSSIL Version 1.41                   Users Manual
  836.           ─────────────────────────────────────────────────────────────────
  837.  
  838.  
  839.           "Argument error (command line error)."
  840.  
  841.           ADF was unable to understand the command line arguments, please
  842.           see section 6 above. This error message will also be displayed if
  843.           numerical values on the command line are out of range.
  844.  
  845.  
  846.           "DOS v3.1 or newer required."
  847.  
  848.           Your DOS is too old, you need to upgrade to a newer DOS version.
  849.  
  850.  
  851.           "Unable to handle TSRs in this environment."
  852.  
  853.           ADF does a check that it can search and find it self in the DOS
  854.           memory (lower or upper). If this fails it will display this
  855.           message. Try using plain DOS without special memory managers or
  856.           program loaders.
  857.  
  858.  
  859.           "Error when releasing memory."
  860.  
  861.           DOS reports error when freeing memory. This can occur during both
  862.           load and unload of ADF. Probably is the DOS memory allocation
  863.           blocks damaged (by some program).
  864.  
  865.  
  866.           "Invalid (not realizable) baud-rate."
  867.  
  868.           The specified baud-rate cannot be used. Please see section 8
  869.           above.
  870.  
  871.  
  872.           "Not enough memory for buffers."
  873.  
  874.           The memory given to ADF by DOS at load time is not enough to
  875.           satisfy the wanted size of the receive and transmit buffers.
  876.           Decrease the sizes or load ADF in low memory or in a larger high
  877.           memory block.
  878.  
  879.  
  880.           "Error when restoring interrupts."
  881.  
  882.           This may occur when unloading ADF. Most common cause is that some
  883.           other programs also are using the same interrupts. Try to unload
  884.           all TSRs in the reverse order of how they where loaded.
  885.  
  886.  
  887.           "ADF already loaded."
  888.  
  889.           This message will be displayed if you try to load ADF a second
  890.           time.
  891.  
  892.  
  893.  
  894.  
  895.           ─────────────────────────────────────────────────────────────────
  896.           Scandinavian Digital Systems                              Page 15
  897.           AnDan Software FOSSIL Version 1.41                   Users Manual
  898.           ─────────────────────────────────────────────────────────────────
  899.  
  900.  
  901.           "ADF not loaded."
  902.  
  903.           This message will be displayd if you use some of the ADF command
  904.           lines that requires ADF to be loaded as a TSR first (e.g. unload
  905.           and watch).
  906.  
  907.  
  908.           "Please run "REGISTER" first to use this program."
  909.  
  910.           You must run REGISTER.EXE to use ADF.EXE, see section 2 above. If
  911.           you get a new version of ADF.EXE you need to run REGISTER.EXE
  912.           once again.
  913.  
  914.  
  915.           "You have used this program for more than 30 days. If you want to
  916.           use it more, you must register it. Please wait a moment."
  917.  
  918.           Please read section 2 above. ADF will wait a moment (from 5
  919.           seconds up to 60 seconds) when displaying this message, you
  920.           cannot terminate this waiting.
  921.  
  922.  
  923.           11 Benchmarks
  924.  
  925.           Users have asked how much memory ADF will consume and how fast it
  926.           is compared with other well known FOSSIL drivers.
  927.  
  928.           Below are tables of memory consumption and execution speed.
  929.  
  930.           X00 v1.50 and BNU v1.70 have been used as references.
  931.  
  932.           The drivers where loaded using the following command lines:
  933.  
  934.           adf 0 3F8 4 38400 2048 1024 8
  935.           x00 E 0=3F8,IRQ4 B,0,38400 R=2048 T=1024
  936.           bnu /T1024 /R2048 /P1 /L0:38400,8N1
  937.  
  938.           Please note that ADF has not been written with any special
  939.           efforts to make it small and fast. These benchmarks are only
  940.           included here to show that ADF is as good as any other FOSSIL
  941.           driver written in the assembly language.
  942.  
  943.  
  944.           11.1 Memory consumption
  945.  
  946.           How much memory ADF (and other FOSSILs) will use depends on how
  947.           large receive and transmit buffers are being used.
  948.  
  949.           The memory consumption was determined using the DOS command
  950.           MEM /d.
  951.  
  952.           Program:        Bytes used:
  953.  
  954.  
  955.  
  956.  
  957.           ─────────────────────────────────────────────────────────────────
  958.           Scandinavian Digital Systems                              Page 16
  959.           AnDan Software FOSSIL Version 1.41                   Users Manual
  960.           ─────────────────────────────────────────────────────────────────
  961.  
  962.  
  963.           ADF.EXE          6480 bytes
  964.           X00.SYS          9808 bytes
  965.           X00.EXE         10288 bytes + environment size
  966.           BNU.SYS          8272 bytes
  967.           BNU.EXE          8304 bytes + environment size
  968.  
  969.           Probably due to ADF uses only locked baud and always one port, it
  970.           is somewhat smaller than the others.
  971.  
  972.  
  973.           11.2 Execution speed
  974.  
  975.           The execution speed has been measured using ADFDebug and ADFTest
  976.           (see below). ADFTest was executed 8 times per FOSSIL, and the
  977.           most common value was used.
  978.  
  979.           The computer used was a 486DX-50 with no significant TSRs. The
  980.           internal cache (8 KB) and the external cache were both disabled.
  981.  
  982.           Each time value has the unit 0.838095 us (microseconds).
  983.  
  984.  
  985.           FOSSIL function:                       ADF:   X00:   BNU:
  986.  
  987.           00 Set communications parameters        82    134    121
  988.           01 Transmit character and wait          78    191     94
  989.           02 Get received character with wait     56     80     56
  990.           03 Return serial port status            63     81     53
  991.           04 Activate port                       106    587  35885
  992.           05 Deactivate port                      65    275    238
  993.           06 Raise/lower DTR                      43     61     67
  994.           07 Return timer tick information        33     38     39
  995.           08 Flush output buffer                  41     77     46
  996.           09 Purge output buffer                  41     65     48
  997.           0A Purge input buffer                   43     77     53
  998.           0B Transmit no wait                     58    104     75
  999.           0C Non-destructive read-ahead           50     63     52
  1000.           0F Flow control for serial I/O          43     65     47
  1001.           18 Block Read                           73   1200     92
  1002.           19 Block Write                          87   1322    110
  1003.  
  1004.  
  1005.           These values should be compared with care. All three FOSSIL
  1006.           drivers have about the same execution speed on most functions.
  1007.           Only large differences (25% or more) are to be considered.
  1008.  
  1009.           Due to difference in implementation, some function takes much
  1010.           longer time, for example, BNU writes to the screen during
  1011.           function 01 Activate port.
  1012.  
  1013.           One thing to remember is that ADF actually does more job for all
  1014.           read, write (transmit) and status functions, due to safer
  1015.           operation with protected mode multitaskers using emulated UARTs.
  1016.           As you can see, this has been achieved without any significant
  1017.  
  1018.  
  1019.           ─────────────────────────────────────────────────────────────────
  1020.           Scandinavian Digital Systems                              Page 17
  1021.           AnDan Software FOSSIL Version 1.41                   Users Manual
  1022.           ─────────────────────────────────────────────────────────────────
  1023.  
  1024.  
  1025.           time losses.
  1026.  
  1027.           The function 18H (Block Read) transferred 45 bytes, and the
  1028.           function 19H (Block Write) transferred 39 bytes in the above
  1029.           test. Modern and well written application programs uses these
  1030.           functions most, and during file transfers the number of bytes
  1031.           will of course be much larger, giving larger difference between
  1032.           the FOSSIL drivers.
  1033.  
  1034.           Note that no execution speed of the interrupt services routine
  1035.           has been measured. However, we are convinced that ADF's interrupt
  1036.           services routine is as fast as any other FOSSIL.
  1037.  
  1038.           The very best benchmark is of course testing and measuring in
  1039.           real use with application software.
  1040.  
  1041.  
  1042.           12 The ADFComCh program
  1043.  
  1044.           When you run ADFComCh without any arguments, it will display the
  1045.           following help text:
  1046.  
  1047.           adfcomch addr
  1048.  
  1049.           addr    Address in hex of COM port, 0-FFFF. Example: 3F8
  1050.  
  1051.           ADFComCh checks if there is an UART at the specified port
  1052.           address. The most common port addresses are:
  1053.  
  1054.               COM1    3F8
  1055.               COM2    2F8
  1056.               COM3    3E8
  1057.               COM4    2E8
  1058.  
  1059.           The current UART settings will be cleared or modified. Please
  1060.           reboot or load ADF after usage. Sets ERRORLEVEL to:
  1061.  
  1062.           255  Error
  1063.             4  No UART
  1064.             3  16450
  1065.             2  16550
  1066.             1  16650
  1067.  
  1068.  
  1069.           13 The ADFDebug program
  1070.  
  1071.           When you run ADFDebug without any arguments, it will display the
  1072.           following help text:
  1073.  
  1074.           adfdebug command
  1075.  
  1076.           'command' is one of the following commands:
  1077.  
  1078.  
  1079.  
  1080.  
  1081.           ─────────────────────────────────────────────────────────────────
  1082.           Scandinavian Digital Systems                              Page 18
  1083.           AnDan Software FOSSIL Version 1.41                   Users Manual
  1084.           ─────────────────────────────────────────────────────────────────
  1085.  
  1086.  
  1087.           L [opt] Load TSR, should be done after the FOSSIL load. Options:
  1088.                   /t    Use time measurement.
  1089.                   /sNN  Use ASCII NN as separator, default is 13 and 10 (CR
  1090.                   and LF).
  1091.           U       Unload TSR, should be done before the FOSSIL unload.
  1092.           N       No output (default at load time).
  1093.           S       Screen output.
  1094.           F file  File output to the specified file.
  1095.  
  1096.  
  1097.           13.1 Using ADFDebug
  1098.  
  1099.           ADFDebug is a FOSSIL debugger. It is loaded as a TSR after the
  1100.           FOSSIL has been loaded, and may write debug (trace) information
  1101.           to the screen or to a file.
  1102.  
  1103.           It is included for application programmers, and for advanced
  1104.           users.
  1105.  
  1106.           ADFDebug is loaded using the command L with or without the
  1107.           options /t or /s. If /t is used, it will do time measurements of
  1108.           the FOSSIL driver functions using timer ticks with the unit
  1109.           0.838095 us (microseconds). The time will always include a small
  1110.           offset error, independent of the FOSSIL driver used. Execution
  1111.           time of interrupts that occurs during FOSSIL execution will be
  1112.           included in the time measurement.
  1113.  
  1114.           When loading with the option /t, ADFDebug may cause the internal
  1115.           DOS clock (BIOS Timer Tick) to be incorrectly updated. Do only
  1116.           use /t in plain DOS without any timer depending TSRs, including
  1117.           hard disk caches (e.g. smartdrv), and reboot when done with
  1118.           testing. During testing, do not hold down keys or move the mouse.
  1119.  
  1120.           After loading ADFDebug, the command S or F is used to start debug
  1121.           output, and the command N is used to stop the output.
  1122.  
  1123.           When using the command F, you must also specify a file name. The
  1124.           file is opened, written to and closed at each FOSSIL call, so
  1125.           most programs using the FOSSIL will run very slow. The file may
  1126.           also get very large.
  1127.  
  1128.           ADFDebug uses DOS to write to the file, which may cause a system
  1129.           crash when the FOSSIL is used by some programs (programs that
  1130.           calls the FOSSIL from interrupt routines).
  1131.  
  1132.           For testing purposes the program ADFTest (see below) is included.
  1133.           It calls a lot of FOSSIL functions, and the calls are done
  1134.           immediate after a BIOS Timer Tick count, to minimize time
  1135.           measurement errors.
  1136.  
  1137.           Example of usage of ADFDebug and ADFTest:
  1138.  
  1139.           @echo off
  1140.           del adf.lst
  1141.  
  1142.  
  1143.           ─────────────────────────────────────────────────────────────────
  1144.           Scandinavian Digital Systems                              Page 19
  1145.           AnDan Software FOSSIL Version 1.41                   Users Manual
  1146.           ─────────────────────────────────────────────────────────────────
  1147.  
  1148.  
  1149.           adf COM1 3F8 4 38400 2048 1024 8
  1150.           adfdebug L /t /s9
  1151.           adfdebug F adf.lst
  1152.           adftest COM1
  1153.           adfdebug U
  1154.           adf unload
  1155.  
  1156.  
  1157.           14 The ADFTerm program
  1158.  
  1159.           When you run ADFTerm without any arguments, it will display the
  1160.           following help text:
  1161.  
  1162.           adfterm port
  1163.  
  1164.           port    FOSSIL port number, 0-126, or COM-port, COM1-COM127.
  1165.                   Example: 0 or COM1
  1166.  
  1167.           ADFTerm is a very small and simple communication program, that
  1168.           uses the ADF or any FOSSIL driver. It will set 2400 bps and 8N1
  1169.           if FOSSIL is not locked.
  1170.  
  1171.           You may call BBSes and use ANSI-BBS if you have ANSI.SYS loaded.
  1172.  
  1173.  
  1174.           15 The ADFTest program
  1175.  
  1176.           When you run ADFTest without any arguments, it will display the
  1177.           following help text:
  1178.  
  1179.           adftest port
  1180.  
  1181.           port    FOSSIL port number, 0-126, or COM-port, COM1-COM127.
  1182.                   Example: 0 or COM1
  1183.  
  1184.           ADFTest is a FOSSIL test program.
  1185.  
  1186.           ADFTest will send "ATE1<cr>" to the port and expect at least one
  1187.           character as reply. A modem connected to the port will in most
  1188.           cases do the job.
  1189.  
  1190.           ADFTest is intended to be used with ADFDebug for testing and
  1191.           verifying FOSSIL drivers.
  1192.  
  1193.  
  1194.           16 Version history
  1195.  
  1196.           v1.10 November 22, 1995
  1197.  
  1198.           This is the first non-BETA version. The setting of the receiver
  1199.           FIFO trigger level on the command line has been added since the
  1200.           v1.00 BETAs from 1994.
  1201.  
  1202.  
  1203.  
  1204.  
  1205.           ─────────────────────────────────────────────────────────────────
  1206.           Scandinavian Digital Systems                              Page 20
  1207.           AnDan Software FOSSIL Version 1.41                   Users Manual
  1208.           ─────────────────────────────────────────────────────────────────
  1209.  
  1210.  
  1211.           v1.20 December 9, 1995
  1212.  
  1213.           Many improvements and bug fixes has been done. ADF now includes
  1214.           all FOSSIL functions 01H to 21H as X00 v1.50 does. It also
  1215.           includes function 7EH and 7FH for "external application". ADF
  1216.           will now display an error message if the baud-rate is not
  1217.           realizable. Some more utility programs have been included, the
  1218.           debug function has been moved into a separate program (option /d
  1219.           is no longer valid).
  1220.  
  1221.  
  1222.           v1.30 January 20, 1996
  1223.  
  1224.           Bugfix of External Application. Added output of flag register in
  1225.           ADFDebug. Bugfix of function 1E "Extended line control
  1226.           initialization". Bugfix of function 04, 05, 1C, 14 when used on
  1227.           illegal port number. Only check DL for port number (due to bugs
  1228.           in other programs), valid port range is now 0-126. COM-port
  1229.           number may be used instead of FOSSIL port number.
  1230.  
  1231.  
  1232.           v1.31 January 22, 1996
  1233.  
  1234.           The time limit of 30 days after installation has been removed.
  1235.           ADF will not stop executing after 30 days as before, it will run
  1236.           for ever, even if it is never registered.
  1237.  
  1238.  
  1239.           v1.32 February 9, 1996
  1240.  
  1241.           Bugfix of External Application, such as Video FOSSIL.
  1242.  
  1243.  
  1244.           v1.40 March 23, 1996
  1245.  
  1246.           Bugfix when input buffer was purged the RTS signal was not
  1247.           restored (activated, made high) if it had been lowered due to
  1248.           flow control. Receiver flow control hold and continue levels may
  1249.           now be specified on the command line. Improved block read and
  1250.           write (function 18H and 19H) for higher speed. ADFTest uses ATE1
  1251.           to test block read/write with more characters. User settings of
  1252.           line and modem control registers. Included support for 16650.
  1253.           REGISTER.EXE v1.20 needed to register. Documentation improved.
  1254.  
  1255.  
  1256.           v1.41 July 17, 1996
  1257.  
  1258.           Changed the reboot method. User may specify watchdog time out,
  1259.           default changed to 60 seconds. Documentation improved.
  1260.  
  1261.  
  1262.           17 Future versions
  1263.  
  1264.  
  1265.  
  1266.  
  1267.           ─────────────────────────────────────────────────────────────────
  1268.           Scandinavian Digital Systems                              Page 21
  1269.           AnDan Software FOSSIL Version 1.41                   Users Manual
  1270.           ─────────────────────────────────────────────────────────────────
  1271.  
  1272.  
  1273.           As long as people keep registering and using ADF, we will
  1274.           continue to make new versions, to improve ADF and to support
  1275.           future UARTs and environments to come.
  1276.  
  1277.           On demand from many users, I (the author of ADF) will as soon as
  1278.           I get information describing how to make device drivers for
  1279.           Windows v3.1, Windows 95 and OS/2 v3, probably make enhanced and
  1280.           fast communication drivers for these operating systems, with
  1281.           support for DOS FOSSIL applications.
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.           ─────────────────────────────────────────────────────────────────
  1330.           Scandinavian Digital Systems                              Page 22
  1331.