home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / s / sio045b.zip / SIOUSER.TXT < prev    next >
Text File  |  1993-02-04  |  30KB  |  713 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.  
  25.  
  26.                                      USERS MANUAL
  27.  
  28.               SIO.SYS and VSIO.SYS, Serial Communications Device Driver
  29.                for OS/2 V2 (and up) and its Virtual DOS Machines (VDM).
  30.  
  31.                         Copyright (c) 1993 by Raymond L. Gwinn
  32.                                  12469 Cavalier Drive
  33.                               Woodbridge, Virginia 22192
  34.                                  All Rights Reserved
  35.  
  36.                                    February 4, 1993
  37.  
  38.                               FidoNet address 1:265/104
  39.                                  CompuServe 72570,157
  40.  
  41.                                   Data 703-494-0098
  42.                                (08:00am to 11:00am GMT)
  43.                                (03:00am to 06:00am EST)
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.                                                                           i
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                      INTRODUCTION
  71.  
  72.           SIO.SYS and VSIO.SYS are companion  device drivers for Version  2
  73.           (and up) of the OS/2 operating system.
  74.  
  75.           Both drivers (SIO/VSIO) have been coded with performance in mind,
  76.           possibly sacrificing some  compatibility.  For  this reason,  SIO
  77.           and VSIO are not exact replacements for the OS/2  drivers COM and
  78.           VCOM.   However, all serial communications programs tested by the
  79.           author work correctly using SIO/VSIO.
  80.  
  81.           This manual is intended for the SIO user.  A separate Application
  82.           Programmers manual is being written.
  83.  
  84.           This manual and the software distributed with it is provided with
  85.           no guarantees.  Use it at your own risk.
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.                                                                          ii
  94.  
  95.                                   TABLE OF CONTENTS
  96.  
  97.  
  98.           WHAT IS SIO . . . . . . . . . . . . . . . . . . . . . . . . .   1
  99.  
  100.           WHAT IS VSIO  . . . . . . . . . . . . . . . . . . . . . . . .   2
  101.  
  102.           GETTING STARTED . . . . . . . . . . . . . . . . . . . . . . .   3
  103.  
  104.           Installing SIO/VSIO . . . . . . . . . . . . . . . . . . . . .   3
  105.                Quick Start  . . . . . . . . . . . . . . . . . . . . . .   3
  106.  
  107.           COMMAND LINE OPTIONS  . . . . . . . . . . . . . . . . . . . .   4
  108.  
  109.           DOS SETTINGS  . . . . . . . . . . . . . . . . . . . . . . . .   5
  110.  
  111.           PROBLEMS  . . . . . . . . . . . . . . . . . . . . . . . . . .   6
  112.  
  113.           IRQ SHARING ON ISA  . . . . . . . . . . . . . . . . . . . . .   7
  114.  
  115.           Appendix A, Hardware Port and IRQ Assignments . . . . . . . .   8
  116.                Addresses and IRQs for COM1 and COM2 . . . . . . . . . .   8
  117.                Defacto standard for COM3 and COM4 . . . . . . . . . . .   8
  118.                Addresses and IRQ for COM3 through COM8 on the PS/2  . .   8
  119.  
  120.           Appendix B, SIO Chips . . . . . . . . . . . . . . . . . . . .   9
  121.                8250 . . . . . . . . . . . . . . . . . . . . . . . . . .   9
  122.                8250A  . . . . . . . . . . . . . . . . . . . . . . . . .   9
  123.                16450  . . . . . . . . . . . . . . . . . . . . . . . . .   9
  124.                16C451 . . . . . . . . . . . . . . . . . . . . . . . .    10
  125.                16550 (Non A . . . . . . . . . . . . . . . . . . . . .    10
  126.                16550A . . . . . . . . . . . . . . . . . . . . . . . .    10
  127.                16550AF  . . . . . . . . . . . . . . . . . . . . . . .    10
  128.                16550AFN . . . . . . . . . . . . . . . . . . . . . . .    10
  129.                16550s Made by Western Digital . . . . . . . . . . . .    11
  130.                16C551 . . . . . . . . . . . . . . . . . . . . . . . .    11
  131.                16C552 . . . . . . . . . . . . . . . . . . . . . . . .    11
  132.                82510  . . . . . . . . . . . . . . . . . . . . . . . .    11
  133.  
  134.           Appendix C, Multi-Port Serial I/0 Cards . . . . . . . . . .    12
  135.  
  136.           INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . .    13
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.                                                                           1
  145.  
  146.                                      WHAT IS SIO
  147.  
  148.           SIO is  a Serial Input/Output  (SIO) communications  driver.   It
  149.           provides an interface between application programs and the serial
  150.           communications hardware.
  151.  
  152.           SIO had been designed  as a high performance replacement  for the
  153.           OS/2  device driver  COM.SYS.    SIO.SYS  does not  support  some
  154.           features  that are  provided  by COM.SYS.    In the  view of  the
  155.           author,  these features  are rarely  used and  they inhibit  good
  156.           performance on the vast majority of systems.  See the programmers
  157.           reference manual  for  information about  the  known  differences
  158.           between COM.SYS and SIO.SYS.
  159.  
  160.           SIO only works with 8250 (TYPE) serial I/O devices.  Such devices
  161.           include  the 8250A, 16450, 16550,  16550A and the  82510.  If you
  162.           have a PC  that is an IBM  or near compatible which has  a serial
  163.           communication  port, it is likely  that it contains  one of these
  164.           devices.  SIO  will identify the type  of serial devices that  it
  165.           finds at load time.
  166.  
  167.           Like other  Device  Drivers, SIO  will  do very  little  standing
  168.           alone.  There must be an application(s) program to use SIO before
  169.           you will gain benefit.
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.                                                                           2
  178.  
  179.                                      WHAT IS VSIO
  180.  
  181.           VSIO  is a Virtual Device  Driver (VDD).   Virtual device drivers
  182.           provide services  for DOS  programs executing under  OS/2.   Most
  183.           Virtual Device Drivers emulate  a specific hardware device and/or
  184.           BIOS service.   The primary job of a Virtual  Device Driver is to
  185.           convert   misbehaved   DOS   input/output   into   well   behaved
  186.           input/output.
  187.  
  188.           Using the protection mechanism  of the 386 (and up)  processor, a
  189.           Virtual Device Driver can instruct OS/2  to trap all input/output
  190.           for  given hardware  ports.   Once  trapped,  the Virtual  Device
  191.           Driver   (VDD)  appropriately  routes   information  to/from  the
  192.           Physical Device Driver (PDD) and to/from the DOS program.
  193.  
  194.           VSIO creates  a  virtual (imaginary)  16550A or  16450 (UART)  in
  195.           software.   VSIO does not emulate any  BIOS services.  All of the
  196.           hardware  registers of  the virtual  UART are simulated  by VSIO.
  197.           VSIO does not attempt  to simulate the timing of the  real UARTs.
  198.           DOS programs that depend on the timing of real hardware UARTs may
  199.           have problems executing under VSIO.
  200.  
  201.           All  DOS programs  that execute  under VSIO  should  have RTS/CTS
  202.           handshaking  enabled regardless of the baud rate.  Note that this
  203.           enabling  of RTS/CTS  handshaking is  independent of  the RTS/CTS
  204.           handshaking used by SIO.
  205.  
  206.           The virtualization (simulation) provided by  VSIO is not (and can
  207.           not  be) exact.  However,  most well written  DOS programs should
  208.           not have problems.
  209.  
  210.           VSIO  will only  work  with SIO  installed  and the  versions  of
  211.           SIO/VSIO must match.  If VSIO refuses to install, you most likely
  212.           have  a version  mismatch.   VSIO will  not work  with  any other
  213.           device driver like COM.SYS.
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.                                                                           3
  222.  
  223.                                    GETTING STARTED
  224.  
  225.           Installing SIO/VSIO
  226.  
  227.           SIO  is distributed  as a  ZIP file.   To extract  the individual
  228.           files  from the distribution file you need the program PKUNZIP or
  229.           an  equivalent.   PKUNZIP  is  a product  of  PKWARE  and can  be
  230.           downloaded from  almost any  bulletin  board system  (BBS).   You
  231.           probably already have PKUNZIP and know how to use it, otherwise I
  232.           doubt that  you would be reading  this.  When PKUNZIP  is used to
  233.           extract the various files, -AV should appear after each file name
  234.           as it is extracted.  In addition, the message:
  235.  
  236.                Authentic files Verified!
  237.  
  238.           should appear after the extraction process.  If this message does
  239.           not appear, or appears with a  name other than Raymond L.  Gwinn,
  240.           the file is not an original SIO distribution file.
  241.  
  242.           The  only file  that the  basic user  actually needs  is SIO.SYS.
  243.           Virtual  DOS machine (VDM) users  will also want  VSIO.SYS.  Copy
  244.           one  or  both  of  these  files  to  a  convenient  directory  or
  245.           subdirectory on your system.
  246.  
  247.           Quick Start
  248.  
  249.           Copy  SIO.SYS and  VSIO.SYS to  the root  directory of  your boot
  250.           drive or diskette.
  251.  
  252.           If you  are going to  use standard  communications ports,  either
  253.           COM1 or COM2 on an  ISA buss (AT or clone), or  COM1 through COM4
  254.           on a PS/2, then add the following line to your CONFIG.SYS file:
  255.  
  256.                DEVICE=SIO.SYS
  257.                DEVICE=VSIO.SYS
  258.  
  259.           Be sure to REMark out the COM.SYS and VCOM.SYS device  drivers if
  260.           they exist in your CONFIG.SYS.
  261.  
  262.           With the above  statements you will be able to  use standard COM1
  263.           and/or COM2 (if they exist) on any PC system know to the author.
  264.  
  265.           If your setup is more complex, you must read on.
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.                                                                           4
  274.  
  275.                                  COMMAND LINE OPTIONS
  276.  
  277.           The  command line options are  included in the  command line that
  278.           loads SIO  in the  CONFIG.SYS  file.   VSIO has  no command  line
  279.           options.  Command line options are usually grouped by port within
  280.           parenthesis.
  281.  
  282.           If you  use only COM1 and/or  COM2, at the standard  IRQ and port
  283.           addresses,  you will not need any command line options.  However,
  284.           up  to four serial communications  ports, COM1 thru  COM4, can be
  285.           specified at any base port address and any IRQ.   On PS/2 systems
  286.           and some  ISA  cards, SIO/VSIO  supports multiple  communications
  287.           devices sharing the same IRQ.
  288.  
  289.           The basic command line syntax is as follows:
  290.  
  291.                DEVICE=SIO.SYS (Cn, An, In, Ig, Fc) [(Cn, An, In, Ig, Fc)]
  292.  
  293.           Where
  294.                "Cn"  is the comm port number (1  thru 4) or the string COM1
  295.                thru COM1.
  296.  
  297.                "An" is a  hexadecimal number that defines the base hardware
  298.                I/O port address for the communications port.
  299.  
  300.                "In" is  an IRQ number (0  thru 15) or the  string IRQ0 thru
  301.                IRQ15.
  302.  
  303.                "Ig" is an ignored  parameter.  If exists  for compatibility
  304.                with COM.SYS.
  305.  
  306.                "Fc" is the Forced 16550A chip parameter.  If an F is placed
  307.                in  this  position,  a  16550A  UART  chip  type  is  forced
  308.                regardless of the automatically detected chip type.
  309.  
  310.           For  a PC  with  COM1 and  COM2  of standard  configuration,  the
  311.           following command line will load SIO correctly:
  312.  
  313.                DEVICE=SIO.SYS (1, 3F8, 4) (2, 2f8, 3)
  314.  
  315.           A more readable, but identical, command line is:
  316.  
  317.                DEVICE=SIO.SYS (COM1,3F8,IRQ4) (COM2,2F8,IRQ3)
  318.  
  319.           Forcing a 16550A on COM1 would be as follows:
  320.  
  321.                DEVICE=SIO.SYS (COM1,3F8,IRQ4,,F) (COM2,2F8,IRQ3)
  322.  
  323.           In a similar manner,  up to four serial communications  ports can
  324.           be defined and supported by SIO and VSIO.
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.                                                                           5
  333.  
  334.                                      DOS SETTINGS
  335.  
  336.           VSIO  gets  its operational  characteristics  from  DOS Settings.
  337.           Three basic DOS Settings are provided.  They specify the  type of
  338.           access (if any) that a DOS program is to have  to a communication
  339.           port that SIO controls.
  340.  
  341.           All of the  DOS Settings default  to what  most users should  use
  342.           most of  the time (which is  ON).  Also, all of  the DOS Settings
  343.           are prefixed with SIO_.
  344.  
  345.           The provided DOS Settings and their meaning follow:
  346.  
  347.                "SIO_Allow_Access_COMn" (where  n is  1 thru  4).  This  DOS
  348.                setting defaults  to ON.  If this  setting is turned OFF for
  349.                any or all of the ports, the DOS program will not be allowed
  350.                any access to that port(s).
  351.  
  352.                "SIO_Virtualize_COM_Ports"  This Dos setting defaults  to ON
  353.                and it applies to  all communications ports used by  the DOS
  354.                session.  When ON, this DOS  setting means VSIO is to act as
  355.                an interface between the SIO and the DOS program.  When OFF,
  356.                the DOS program is given direct access to the hardware ports
  357.                of the UART(s).
  358.  
  359.                "SIO_Virtualize_16550A"  This DOS setting defaults to ON and
  360.                it  applies to  all  communications ports  used  by the  DOS
  361.                session.  When ON, VSIO will  simulate a 16550A.  When  OFF,
  362.                VSIO will simulate a 16450.   Some DOS programs may not work
  363.                when  a 16550A is simulated.   Turning this  setting off may
  364.                allow the program to work (but slower).
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.                                                                           6
  373.  
  374.                                        PROBLEMS
  375.  
  376.           SIO currently will not  share an IRQ with another  device driver.
  377.           This is different from  how COM.SYS currently works.   This means
  378.           that  "COMn already in use" messages will be displayed, at times,
  379.           under SIO but not under COM.SYS.  The solution to eliminating the
  380.           "COMn already in use" problem is to remove the device driver that
  381.           is using the same IRQ that SIO needs to use.
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.                                                                           7
  390.  
  391.                                   IRQ SHARING ON ISA
  392.  
  393.           Sharing the  same IRQ for  multiple communications  ports on  ISA
  394.           systems is not  for the weak  of heart  (or mind).   If you  have
  395.           problems  with shared IRQs, DO  NOT contact the  author.  Contact
  396.           the board or computer manufacturer for help.
  397.  
  398.           Some general rules are as follows:
  399.  
  400.           1 - Two different  boards (plugged into different slots)  can not
  401.           share the same IRQ.  This is a hardware limitation of ISA systems
  402.           and can  not be corrected by  software.  This means  that you can
  403.           not plug  in two internal modems,  set them for the  same IRQ and
  404.           expect them to work.   This does not apply to PS/2  systems.  The
  405.           problem  of multiple boards sharing the same IRQ was corrected in
  406.           the PS/2's buss design.
  407.  
  408.           2  - SIO  can  not (will  not)  share an  IRQ  with other  device
  409.           drivers.   This is different form  how COM.SYS works.   If SIO is
  410.           one of two device drivers using the same hardware IRQ, the driver
  411.           loaded last may refuse install.  This restriction may show up  as
  412.           an unexpected "port  already in  use" error that  does not  occur
  413.           with COM.SYS.  I  have received reports that the SDLC drivers try
  414.           to share IRQs with the ASYNC driver.  SIO.SYS will not allow this
  415.           while COM.SYS will.
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.                                                                           8
  424.  
  425.                     Appendix A, Hardware Port and IRQ Assignments
  426.  
  427.           I have  obtained the following information  from various sources.
  428.           Accuracy is not guaranteed.  In fact, nothing in this document is
  429.           guaranteed.
  430.  
  431.           Addresses and IRQs for COM1 and COM2
  432.  
  433.                COM1 uses 03F8h and IRQ4
  434.                COM2 uses 02F8h and IRQ3
  435.  
  436.           Defacto standard for COM3 and COM4 for PC, XT and AT
  437.  
  438.                COM3 uses 03E8h and IRQ4
  439.                COM4 uses 02E8h and IRQ3
  440.  
  441.           Addresses and IRQ for COM3 through COM8 on the PS/2
  442.  
  443.                COM3 uses 3220h and IRQ3
  444.                COM4 uses 3228h and IRQ3
  445.                COM5 uses 4220h and IRQ3
  446.                COM6 uses 4228h and IRQ3
  447.                COM7 uses 5220h and IRQ3
  448.                COM8 uses 5228h and IRQ3
  449.  
  450.           All PCs (know to the author) prior to the  PS/2 only used 12 bits
  451.           to address  hardware I/0 ports.   Systems prior  to the PS/2  and
  452.           EISA can not address the standard PS/2 addresses for COM3 through
  453.           COM8.   If an AT or  below attempts to address  COM3 through COM8
  454.           using the standard addresses, only the low 12 bits of the address
  455.           are used.   That is,  the high digit  of the  hexadecimal address
  456.           will be ignored.   This means that any  reference to COM3 through
  457.           COM8 will actually address ports 220h through 22Fh.
  458.  
  459.           You  should avoid  expansion boards that  use ports  220h through
  460.           22Fh unless the expansion board is a serial I/O board. 
  461.  
  462.           SIO  will  (attempt  to)  determine   the  hardware  architecture
  463.           (ISA/EISA  and PS/2)  that it  is being  executed on and  use the
  464.           appropriate  hardware  port  addresses  for  COM1  thru  COM4  as
  465.           defaults.
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.                                                                           9
  474.  
  475.                                 Appendix B, SIO Chips
  476.  
  477.  
  478.           The following is a collection of comments developed from hearsay,
  479.           random documents, experience,  and technical specifications.  So,
  480.           take it with a grain of salt.  Order information from the various
  481.           manufactures if you want accurate information.
  482.  
  483.           Very  good   reference   book   are   available   from   National
  484.           Semiconductor Corporation.   The covers  most of the  SIO devices
  485.           (also called UARTs) that you will find in many PCs and clones.  I
  486.           am  not sure  that books  can be  ordered directly  from National
  487.           semiconductor.  They  may   require  that  you  get  it   from  a
  488.           distributor.  In  any case, the  address on the  back of the  one
  489.           manual is:
  490.  
  491.                National Semiconductor Corporation
  492.                2900 Semiconductor Drive
  493.                P.O. Box 58090
  494.                Santa Clara, CA 95052-8090
  495.  
  496.                Tel:(408)721-5000
  497.                TWX:(910)339-9240
  498.  
  499.           8250
  500.  
  501.           As best that I know, the  8250 was the first SIO chip (integrated
  502.           circuit) that  was used  by the IBM  PC and many  clones.   In my
  503.           opinion, it was  a poor choice on  the part of IBM.   I feel many
  504.           superior devices, at  comparable prices, were  readily available.
  505.           At that time, I feel the 8251A or the 8530 would have been better
  506.           choices.  But, they used the 8250 and therefore we must use it.
  507.  
  508.           From  a hardware standpoint the 8250 is a relatively slow device.
  509.           It is advisable that programmers not perform successive inputs or
  510.           outputs to this device.  It seems that software programs can load
  511.           the various registers of the 8250 faster than it can  process the
  512.           information.   The  8250  had  a  total  of  7  registers.    The
  513.           specifications state that 56kb is the maximum baud rate.
  514.  
  515.           8250A
  516.  
  517.           I believe the 8250A  is the 8250 with some bug fixes.   I have no
  518.           idea  what  the bugs  may  have  been.   A  quick  glance at  the
  519.           specifications  shows the speed of the 8250  and 8250A to be much
  520.           the same.   The  8250A added  an 8th  register.   This additional
  521.           register enables software to detect if an 8250 is installed.  The
  522.           specifications state that 56kb is the maximum baud rate.
  523.  
  524.           16450
  525.  
  526.           The 16450 seems to be a  speeded up version of the 8250A.   There
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.                                                                          10
  535.  
  536.           is no  direct way (that  I know  of) for software  to detect  the
  537.           difference between an 8250A and a 16450.  I believe the 16450 was
  538.           developed to  eliminate the need  for software  to insert  delays
  539.           between successive  accesses to  the device.   The specifications
  540.           indicate the 16450 is a much faster device than its predecessors.
  541.           The additional speed is only the speed at which the processor can
  542.           access the  device.  The maximum baud rate for the 16450 is still
  543.           stated at  56kb.  However, I  have been told by  some people that
  544.           they have run the 16450 successfully at much higher  speeds. I do
  545.           not believe there was ever a 16450A.
  546.  
  547.           16C451
  548.  
  549.           The 16C451 is  a CMOS version of the  16450.  CMOS is a  term for
  550.           the material  and manufacturing  process used  to make  the part.
  551.           CMOS typically uses less  power than other technologies.   If you
  552.           are  not  designing hardware,  you should  view  the 16C451  as a
  553.           16450.
  554.  
  555.           16550 (Non A)
  556.  
  557.           It is  hard to  find a  16550 (Non A).   I  was told  by National
  558.           Semiconductor  that they  did everything  they could  to  get all
  559.           16550s back.   SIO will detect a 16550  and tell you if  you have
  560.           one.    I am  told that  the 16550  was  installed in  early PS/2
  561.           systems.
  562.  
  563.           The 16550  was the first  shot at  a FIFOed version  of the  8250
  564.           family  from  National semiconductor.    However, I  was  told by
  565.           National Semiconductor  that  the  FIFOs  of the  16550  are  not
  566.           reliable and  they should not be enabled.  SIO will treat a 16550
  567.           like  a  16450.   In  this  mode, they  are  reliable.   National
  568.           Semiconductor would not  provide me with a  specification for the
  569.           16550.  However, I suspect  its maximum baud rate is the  same as
  570.           the 16550A which is 256kb.
  571.  
  572.  
  573.           16550A, 16550AF and 16550AFN
  574.  
  575.           In the  manuals  that I  have,  National Semiconductor  does  not
  576.           explain  the differences between the  16550A and the  16550AF.  I
  577.           suspect the AF part may have a few bug fixes.  I believe the N in
  578.           AFN  describes  packaging,  ceramic versus  plastic,  DIP  versus
  579.           surface mount etc.
  580.  
  581.           In the  opinion of  the author,  there is  no substitute  for the
  582.           16550A (and its successors) in the 8250 type  series.  The 16550A
  583.           is compatible with most software written for the entire family of
  584.           8250  type devices.  Programs  that are 16550A  aware can provide
  585.           much improved performance over previous devices.
  586.  
  587.           The  maximum  baud rate  for the  16550A  is specified  at 256kb.
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.                                                                          11
  596.  
  597.           However, due to the hardware design of the PC et al, 115kb is the
  598.           maximum baud rate that can be programmed by software.
  599.  
  600.           The 16550A  can be plugged into the  same socket that contains an
  601.           8250, 8250A  or 16450.  If  your SIO expansion board  has the SIO
  602.           chips  in  sockets,  you can  upgrade  to  the  16550A by  simply
  603.           removing the old chips and replacing them with 16550As.
  604.  
  605.           The  key to the performance increase  of the 16550A is its FIFOs.
  606.           It has 16 byte FIFOs for both transmit and receive data.
  607.  
  608.           16550s Made by Western Digital
  609.  
  610.           I have been told, but I have not verified for myself, that 16550s
  611.           made  by Western  Digital have  a problem  with their  FIFOs when
  612.           working at 2400 baud or below.
  613.  
  614.           16C551
  615.  
  616.           The  16C551 is  a CMOS  version of  the 16550AF.   See  the above
  617.           description of the 16C451 for a  discussion of CMOS.  Do not feel
  618.           you need to upgrade from a 16550A or AF to a 16C551.  There is no
  619.           gain from an existing users point of view.
  620.  
  621.           16C552
  622.  
  623.           The 16C552 is  two 16C551s on a single chip.   These devices will
  624.           start showing up on multi-port serial I/O cards.
  625.  
  626.           82510
  627.  
  628.           I  believe Intel is the only company that manufactures the 82510.
  629.           The 82510 is feature rich  with several modes of operation.   Its
  630.           default mode is to  operate as a 16450.   The 82510 has a  4 byte
  631.           FIFO for  both transmit  and  receive data.   A  4  byte FIFO  is
  632.           sufficient to provide significant performance over a basic 16450.
  633.  
  634.           The  82510 is small in size.   Therefore, it is found in many lap
  635.           tops.
  636.  
  637.           The 82510 is somewhat  of a sleeper.  I believe  it would be much
  638.           more widely used if Intel had promoted it more.  However, given a
  639.           choice  between  the 82510  and the  16550A,  I would  select the
  640.           16550A.
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.                                                                          12
  649.  
  650.                        Appendix C, Multi-Port Serial I/0 Cards
  651.  
  652.           I have  received many  requests for information  about multi-port
  653.           serial I/O  card.  I will  describe the boards that  I know about
  654.           (or have heard about) here.  I will add  to the list as I receive
  655.           precise information from users or develop it myself.
  656.  
  657.           My personal experience  and testing of SIO  is with a board  from
  658.           B&B computer.   However,  I had  to modify the  board to  make it
  659.           share IRQs.  Therefore I will not discuss this board.
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.                                                                          13
  668.  
  669.                                         INDEX
  670.  
  671.           16450 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  672.           16550 Non A . . . . . . . . . . . . . . . . . . . . . . . . .  10
  673.           16550A  . . . . . . . . . . . . . . . . . . . . . . . . . . .  10
  674.           16550AF . . . . . . . . . . . . . . . . . . . . . . . . . . .  10
  675.           16550AFN  . . . . . . . . . . . . . . . . . . . . . . . . . .  10
  676.           16550s Made by Western Digital  . . . . . . . . . . . . . . .  11
  677.           16C451  . . . . . . . . . . . . . . . . . . . . . . . . . . .  10
  678.           16C551  . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
  679.           16C552  . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
  680.           8250  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  681.           8250A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  682.           82510 . . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
  683.           Addresses and IRQ for COM3 through COM8 on the PS/2 . . . . . . 8
  684.           Addresses and IRQs for COM1 and COM2  . . . . . . . . . . . . . 8
  685.           Allow_Access_COMn . . . . . . . . . . . . . . . . . . . . . . . 5
  686.           Appendix A, Hardware Notes  . . . . . . . . . . . . . . . . . . 8
  687.           Appendix B, SIO Chips . . . . . . . . . . . . . . . . . . . . . 9
  688.           Appendix C, Multi-Port Serial I/0 Cards . . . . . . . . . . .  12
  689.           COMn already in use . . . . . . . . . . . . . . . . . . . . . . 6
  690.           CONFIG.SYS  . . . . . . . . . . . . . . . . . . . . . . . . . . 3
  691.           Defacto standard for COM3 and COM4  . . . . . . . . . . . . . . 8
  692.           DOS SETTINGS  . . . . . . . . . . . . . . . . . . . . . . . . . 5
  693.           FIFO  . . . . . . . . . . . . . . . . . . . . . . . . . .  10, 11
  694.           GETTING STARTED . . . . . . . . . . . . . . . . . . . . . . . . 3
  695.           Installing SIO/VSIO . . . . . . . . . . . . . . . . . . . . . . 3
  696.           IRQ SHARING ON ISA  . . . . . . . . . . . . . . . . . . . . . . 7
  697.           National Semiconductor Corporation  . . . . . . . . . . . . . . 9
  698.           PDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
  699.           Physical Device Driver  . . . . . . . . . . . . . . . . . . . . 2
  700.           PKUNZIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
  701.                Authentic files  . . . . . . . . . . . . . . . . . . . . . 3
  702.           PROBLEMS  . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
  703.           Quick Start . . . . . . . . . . . . . . . . . . . . . . . . . . 3
  704.           RTS/CTS handshaking . . . . . . . . . . . . . . . . . . . . . . 2
  705.           SIO Chips . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  706.           UART  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  707.           VDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
  708.           Virtual Device Driver . . . . . . . . . . . . . . . . . . . . . 2
  709.           Virtualize_16550A_For_COM . . . . . . . . . . . . . . . . . . . 5
  710.           Virtualize_COM_Ports  . . . . . . . . . . . . . . . . . . . . . 5
  711.           WHAT IS SIO . . . . . . . . . . . . . . . . . . . . . . . . . . 1
  712.           WHAT IS VSIO  . . . . . . . . . . . . . . . . . . . . . . . . . 2
  713.