home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / fullpack.zip / SIO140.ZIP / SIOUSER.TXT < prev    next >
Text File  |  1994-12-08  |  77KB  |  1,725 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.                                      USERS MANUAL
  26.  
  27.               SIO.SYS and VSIO.SYS, Serial Communications Device Driver
  28.                for OS/2 V2 (and up) and its Virtual DOS Machines (VDM).
  29.  
  30.                         Copyright (c) 1994 by Raymond L. Gwinn
  31.                                  12469 Cavalier Drive
  32.                               Woodbridge, Virginia 22192
  33.                                  All Rights Reserved
  34.  
  35.                                    December 8, 1994
  36.  
  37.                                         Email
  38.                                  CompuServe 71154,575
  39.                              Internet p00321@psilink.com
  40.  
  41.                              VOICE ORDERS 1-703-494-4673
  42.                                   FAX 1-703-494-0595
  43.                          BBS 1-703-494-0098 or 199.248.240.2
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                                      INTRODUCTION
  69.  
  70.           SIO.SYS and VSIO.SYS are companion device drivers for Version 2
  71.           (and up) of the OS/2 operating system.
  72.  
  73.           Both drivers (SIO/VSIO) have been coded with performance in mind,
  74.           possibly sacrificing some compatibility.  For this reason, SIO
  75.           and VSIO are not exact replacements for the OS/2 drivers COM and
  76.           VCOM.  However, all serial communications programs tested by the
  77.           author work correctly using SIO/VSIO.
  78.  
  79.           This manual is intended for the SIO user.  A separate SIO
  80.           Technical Reference Manual is included in the distribution zip. 
  81.           The Technical Reference Manual also documents some advanced
  82.           options and features that are not documented here.
  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.           INTRODUCTION  . . . . . . . . . . . . . . . . . . . . . . . .   i
  99.                SIO Technical Reference Manual . . . . . . . . . . . . .   i
  100.  
  101.           WHAT IS SIO . . . . . . . . . . . . . . . . . . . . . . . . .   1
  102.  
  103.           WHAT IS VSIO  . . . . . . . . . . . . . . . . . . . . . . . .   2
  104.  
  105.           DISTRIBUTION AND SUPPORT  . . . . . . . . . . . . . . . . . .   3
  106.                Distribution and Ordering  . . . . . . . . . . . . . . .   3
  107.                     SIO Distribution and Support
  108.                          BBS  . . . . . . . . . . . . . . . . . . . . .   3
  109.                Support  . . . . . . . . . . . . . . . . . . . . . . . .   3
  110.                     OS/2 Vendor Forum on
  111.                          CompuServe . . . . . . . . . . . . . . . . . .   3
  112.  
  113.           GETTING STARTED . . . . . . . . . . . . . . . . . . . . . . .   4
  114.                Installing SIO/VSIO  . . . . . . . . . . . . . . . . . .   4
  115.                Quick Start  . . . . . . . . . . . . . . . . . . . . . .   4
  116.  
  117.           COMMAND LINE OPTIONS  . . . . . . . . . . . . . . . . . . . .   5
  118.                COM1 thru COMn . . . . . . . . . . . . . . . . . . . . .   5
  119.                I/O port address . . . . . . . . . . . . . . . . . . . .   5
  120.                IRQ number . . . . . . . . . . . . . . . . . . . . . . .   5
  121.                Forced 16550A  . . . . . . . . . . . . . . . . . . . . .   5
  122.  
  123.           Development and Debugging Tools . . . . . . . . . . . . . . .   7
  124.                The Poor Man's Line Monitor (PMLM.EXE) . . . . . . . . .   7
  125.                VIEWPMLM.EXE . . . . . . . . . . . . . . . . . . . . . .   8
  126.                SIO's Utility (SU.EXE) . . . . . . . . . . . . . . . . .   8
  127.                     IRQs that are currently free  . . . . . . . . . . .   8
  128.  
  129.           Intelligent Cards Supported . . . . . . . . . . . . . . . . .   9
  130.                Hayes ESP  . . . . . . . . . . . . . . . . . . . . . . .   9
  131.                     ESP in Compatibility Mode . . . . . . . . . . . . .   9
  132.                Telcor Tport . . . . . . . . . . . . . . . . . . . . . .   9
  133.  
  134.           . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    10
  135.  
  136.           AUTOMATIC IRQ ASSIGNMENT  . . . . . . . . . . . . . . . . .    10
  137.  
  138.           DOS SETTINGS  . . . . . . . . . . . . . . . . . . . . . . .    11
  139.                SIO_Allow_Access_COMn  . . . . . . . . . . . . . . . .    11
  140.                SIO_Virtualize_COM_Ports . . . . . . . . . . . . . . .    11
  141.                SIO_Virtualize_16550A  . . . . . . . . . . . . . . . .    11
  142.                SIO_Share_Access_With_OS/2 . . . . . . . . . . . . . .    11
  143.                SIO_Screen_Sync_Kludge . . . . . . . . . . . . . . . .    12
  144.                SIO_Mode_DTR . . . . . . . . . . . . . . . . . . . . .    12
  145.                SIO_Mode_IDSR  . . . . . . . . . . . . . . . . . . . .    13
  146.                SIO_Mode_OCTS  . . . . . . . . . . . . . . . . . . . .    14
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.                                                                         iii
  155.  
  156.                SIO_Mode_ODSR  . . . . . . . . . . . . . . . . . . . .    14
  157.                SIO_Mode_RTS . . . . . . . . . . . . . . . . . . . . .    14
  158.                SIO_Mode_XON/XOFF  . . . . . . . . . . . . . . . . . .    15
  159.                SIO_Mode_FIFO_Load_Count . . . . . . . . . . . . . . .    16
  160.  
  161.           Configuration Profiles  . . . . . . . . . . . . . . . . . .    17
  162.                Seiko Smart Label Printer  . . . . . . . . . . . . . .    17
  163.                IBM's SLIP . . . . . . . . . . . . . . . . . . . . . .    17
  164.  
  165.           Differences between SIO/VSIO and COM/VCOM . . . . . . . . .    18
  166.  
  167.           PROBLEMS AND SOLUTIONS  . . . . . . . . . . . . . . . . . .    20
  168.                IRQ for a port appears to be wrong . . . . . . . . . .    20
  169.                The modem will not initialize  . . . . . . . . . . . .    20
  170.                WinFax locks up during install . . . . . . . . . . . .    20
  171.                Telemate does not recognize VX00 as a FOSSIL . . . . .    20
  172.                Comm output is very slow from DOS  . . . . . . . . . .    20
  173.                 . . . . . . . . . . . . . . . . . . . . . . . . . . .    20
  174.                Procomm stops receiving  . . . . . . . . . . . . . . .    21
  175.                WinFax does not work well. . . . . . . . . . . . . . .    22
  176.                     Class 1 FAX modem . . . . . . . . . . . . . . . .    22
  177.                     Class 2 FAX modem . . . . . . . . . . . . . . . .    22
  178.                Serial Printer messes up on last page. . . . . . . . .    22
  179.  
  180.           IRQ SHARING ON ISA  . . . . . . . . . . . . . . . . . . . .    23
  181.  
  182.           Appendix A, Hardware Port and IRQ Assignments . . . . . . .    24
  183.                Addresses and IRQs for COM1 and COM2 . . . . . . . . .    24
  184.                Defacto standard for COM3 and COM4 . . . . . . . . . .    24
  185.                Addresses and IRQ for COM3 through COM8 on the PS/2  .    24
  186.  
  187.           Appendix B, SIO Chips . . . . . . . . . . . . . . . . . . .    25
  188.                8250 . . . . . . . . . . . . . . . . . . . . . . . . .    25
  189.                8250A  . . . . . . . . . . . . . . . . . . . . . . . .    25
  190.                16450  . . . . . . . . . . . . . . . . . . . . . . . .    26
  191.                16C451 . . . . . . . . . . . . . . . . . . . . . . . .    26
  192.                16550 (Non A)  . . . . . . . . . . . . . . . . . . . .    26
  193.                16550A . . . . . . . . . . . . . . . . . . . . . . . .    26
  194.                16550AF  . . . . . . . . . . . . . . . . . . . . . . .    26
  195.                16550AFN . . . . . . . . . . . . . . . . . . . . . . .    26
  196.                16550s Made by Western Digital . . . . . . . . . . . .    27
  197.                16C551 . . . . . . . . . . . . . . . . . . . . . . . .    27
  198.                16C552 . . . . . . . . . . . . . . . . . . . . . . . .    27
  199.                16C554 . . . . . . . . . . . . . . . . . . . . . . . .    27
  200.                82510  . . . . . . . . . . . . . . . . . . . . . . . .    27
  201.                16650  . . . . . . . . . . . . . . . . . . . . . . . .    28
  202.                ComBic . . . . . . . . . . . . . . . . . . . . . . . .    29
  203.  
  204.           Appendix C, Multi-Port Serial I/0 Cards . . . . . . . . . .    30
  205.                STB 4COM . . . . . . . . . . . . . . . . . . . . . . .    30
  206.                Connect Tech Dflex-8 . . . . . . . . . . . . . . . . .    30
  207.                Gtek BBS550  . . . . . . . . . . . . . . . . . . . . .    31
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.                                                                          iv
  216.  
  217.                Neotech Quad Serial  . . . . . . . . . . . . . . . . .    31
  218.  
  219.           INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . .    32
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.                                                                           1
  228.  
  229.                                      WHAT IS SIO
  230.  
  231.           SIO is a Serial Input/Output (SIO) communications driver.  It
  232.           provides an interface between application programs and the serial
  233.           communications hardware.
  234.  
  235.           SIO had been designed as a high performance replacement for the
  236.           OS/2 device driver COM.SYS.  See the Technical Reference Manual
  237.           for information about the known differences between COM.SYS and
  238.           SIO.SYS.
  239.  
  240.           SIO works with 8250 (type) serial I/O devices.  Such devices
  241.           include, but are not limited to the 8250A, 16450, 16550, 16550A
  242.           and the 82510.  If you have a PC that is an IBM or near
  243.           compatible which has a serial communication port, it is likely
  244.           that it contains one of these devices.  In addition, SIO supports
  245.           some intelligent serial I/O cards.  See "Intelligent Cards
  246.           Supported" for additional information.  SIO will identify the
  247.           type of serial devices that it finds and display them at load
  248.           time.
  249.  
  250.           Like other Device Drivers, SIO will do very little standing
  251.           alone.  There must be an application(s) program that makes use of
  252.           SIO's functions before one will benefit from SIO.
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.                                                                           2
  261.  
  262.                                      WHAT IS VSIO
  263.  
  264.           VSIO is a Virtual Device Driver (VDD).  Virtual device drivers
  265.           provide services for DOS programs executing under OS/2.  Most
  266.           Virtual Device Drivers emulate a specific hardware device and/or
  267.           BIOS service.  The primary job of a Virtual Device Driver is to
  268.           convert misbehaved DOS input/output into well behaved
  269.           input/output that can be accepted by the OS/2 driver SIO.SYS.
  270.  
  271.           Using the protection mechanism of the 386 (and up) processor, a
  272.           Virtual Device Driver can instruct OS/2 to trap all input/output
  273.           for given hardware ports.  Once trapped, the Virtual Device
  274.           Driver (VDD) appropriately routes information to/from the
  275.           Physical Device Driver (PDD) and to/from the DOS program.
  276.  
  277.           VSIO creates a virtual (imaginary) 16550A or 16450 (UART) in
  278.           software.  Additionally VSIO emulates the BIOS INT 14h services. 
  279.           All of the hardware registers of the virtual UART are simulated
  280.           by VSIO.  VSIO does not attempt to simulate the timing of the
  281.           real UARTs.  DOS programs that depend on the timing of real
  282.           hardware UARTs may have problems executing under VSIO.
  283.  
  284.           All DOS programs that execute under VSIO should have RTS/CTS
  285.           handshaking enabled (in the application) even if SIO proper is
  286.           not using RTS/CTS handshake.  
  287.  
  288.           The virtualization (simulation) provided by VSIO is not (and can
  289.           not be) exact.  However, most well written DOS programs should
  290.           not have problems.
  291.  
  292.           VSIO will only work with SIO installed and the versions of
  293.           SIO/VSIO must match.  If VSIO refuses to install, you most likely
  294.           have a version mismatch or COM.SYS is still installed.  VSIO will
  295.           not work with any other device driver like COM.SYS.
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.                                                                           3
  304.  
  305.                                DISTRIBUTION AND SUPPORT
  306.  
  307.           Distribution and Ordering
  308.           The entire package collectively known as SIO is ShareWare.  It is
  309.           not free software or freeware.  See LICENSE.TXT and ORDER.TXT for
  310.           additional information.  The ShareWare version of SIO is
  311.           distributed electronically and supports only 4 ports (registered
  312.           versions can be ordered supporting up to 16 ports).  One may
  313.           check their favorite electronic hangout for the latest version of
  314.           SIO.  The latest copy of the ShareWare version is always posted
  315.           for downloading from the BBS at 1-703-494-0098 or 199.248.240.2.
  316.  
  317.           Registered versions of SIO are distributed by US Mail,
  318.           electronically mail and from the SIO Distribution and Support
  319.           BBS.  Users desiring to register electronically, may call the BBS
  320.           and register on line (1-703-494-0098 or 199.248.240.2) and
  321.           immediately download their registered version of SIO.  Use the
  322.           ORDER command at the main BBS prompt.
  323.  
  324.           Registrations/Orders can also be placed by phone, mail, FAX, and
  325.           email.  See the front cover of this manual for the phone numbers
  326.           and addresses.  Also see ORDER.TXT for and order form that may be
  327.           used.
  328.  
  329.           Support
  330.           Extensive testing has been done to insure that this product works
  331.           on the widest possible range of OS/2 V2 (and up) systems.  In
  332.           most cases, problems can be resolved by reading this manual
  333.           carefully.
  334.  
  335.           Registered users of SIO can update to the latest version using
  336.           the BBS and its UPDATE command.  All variations (number of ports)
  337.           of SIO are available for immediate download from the BBS by
  338.           registered users.
  339.  
  340.           Support is provided in section 4 of the OS/2 Vendor Forum on
  341.           CompuServe (GO OS2BVEN).  Section 4 of the OS2BVEN Forum is
  342.           dedicated to the support of SIO.
  343.  
  344.           In addition, support is provided by BBS, Email and FAX.  Voice
  345.           support would overwhelm the author and is not available.  If,
  346.           after reading the manual carefully, you are unable to resolve a
  347.           problem, you may fill out PROBLEM.TXT (adding information as
  348.           necessary) and Email/FAX it to one of the following:
  349.  
  350.                                         Email
  351.                                  CompuServe 71154,575
  352.                              Internet p00321@psilink.com
  353.                                   FAX 1-703-494-0595
  354.                          BBS 1-703-494-0098 or 199.248.240.2
  355.  
  356.           PROBLEM.TXT is included in the distribution ZIP.
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.                                                                           4
  365.  
  366.                                    GETTING STARTED
  367.  
  368.           Installing SIO/VSIO
  369.  
  370.           SIO is distributed as a ZIP file.  To extract the individual
  371.           files from the distribution file you need the program PKUNZIP or
  372.           an equivalent.  PKUNZIP is a product of PKWARE and can be
  373.           downloaded from almost any bulletin board system (BBS).  You
  374.           probably already have PKUNZIP and know how to use it, otherwise I
  375.           doubt that you would be reading this.  When PKUNZIP is used to
  376.           extract the various files, -AV should appear after each file name
  377.           as it is extracted.  In addition, the message:
  378.  
  379.                Authentic files Verified!
  380.  
  381.           should appear after the extraction process.  If this message does
  382.           not appear, or appears with a name other than Raymond L. Gwinn,
  383.           the file is not an original SIO distribution file.
  384.  
  385.           The only file that the basic user actually needs is SIO.SYS. 
  386.           Virtual DOS machine (VDM) users will also want VSIO.SYS.  Copy
  387.           one or both of these files to a convenient directory or
  388.           subdirectory on your system.  An installation program
  389.           (INSTALL.EXE) is provided to install the SIO files and modify
  390.           your CONFIG.SYS
  391.  
  392.           Quick Start
  393.  
  394.           Create a temporary directory, change into that directory and
  395.           unzip the SIO distribution zip there.  Type INSTALL followed by
  396.           the enter key.  For a basic setup, that is all that is needed.
  397.  
  398.           If you choose to install SIO manually, the following should be
  399.           done.
  400.  
  401.           BE SURE THAT ANY SERIAL MOUSE DRIVER APPEARS IN THE CONFIG.SYS
  402.           BEFORE SIO.SYS
  403.  
  404.           If you are going to use standard communications ports, either
  405.           COM1 or COM2 on an ISA bus (AT or clone), or COM1 through COM4 on
  406.           a PS/2, then add the following line to your CONFIG.SYS file:
  407.  
  408.                DEVICE=SIO.SYS
  409.                DEVICE=VSIO.SYS
  410.  
  411.           Be sure to REMark out the COM.SYS and VCOM.SYS device drivers if
  412.           they exist in your CONFIG.SYS.
  413.  
  414.           With the above statements you will be able to use standard COM1
  415.           and/or COM2 (if they exist) on any PC system known to the author.
  416.  
  417.           If your setup is more complex, you must read on.
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.                                                                           5
  426.  
  427.                                  COMMAND LINE OPTIONS
  428.  
  429.           The command line options are included in the command line that
  430.           loads SIO in the CONFIG.SYS file.  VSIO has no command line
  431.           options.  Command line options are usually grouped by port within
  432.           parenthesis.
  433.  
  434.           If you use only COM1 and/or COM2, at the standard IRQ and port
  435.           addresses, you will not need any command line options.  However,
  436.           up to four serial communications ports, COM1 thru COM4, can be
  437.           specified at any base port address and any IRQ.  On PS/2 systems
  438.           and some ISA cards, SIO/VSIO supports multiple communications
  439.           devices sharing the same IRQ.
  440.  
  441.           The basic command line syntax is as follows:
  442.  
  443.                DEVICE=SIO.SYS (Cn, An, In, Ig, Fc) [(Cn, An, In, Ig, Fc)]
  444.  
  445.           Where
  446.                "Cn" is the comm port number (1 thru 4) or the string COM1
  447.                thru COMn.  The port number may preceeded by an asterisk "*"
  448.                to indicate that the port may be used as a PCMCIA comm port
  449.                (eg *1 or *COM1).  Note that it is normal for SIO to display
  450.                a warning about not finding anything at PCMCIA ports.
  451.  
  452.                "An" is a hexadecimal number that defines the base hardware
  453.                I/O port address for the communications port.  If this field
  454.                is left blank, the default I/O port address is used for the
  455.                comm port.  Note that default I/O addresses exist only for
  456.                COM1 through COM4 on AT type systems and for COM1 through
  457.                COM8 on PS/2 systems.
  458.  
  459.                "In" is an IRQ number (0 thru 15) or the string IRQ0 thru
  460.                IRQ15 or the string NONE.  It is best if one leaves this
  461.                field blank and allows SIO to determine the IRQ, see
  462.                AUTOMATIC IRQ ASSIGNMENT below.  The IRQ choice of NONE is
  463.                provided for cards that can work either with or without an
  464.                IRQ like the Hayes ESP.
  465.  
  466.                "Ig" is an ignored parameter.  If exists for compatibility
  467.                with COM.SYS.
  468.  
  469.                "Fc" is the Forced 16550A chip parameter.  If an F is placed
  470.                in this position, a 16550A UART chip type is forced
  471.                regardless of the automatically detected chip type.
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.                                                                           6
  480.  
  481.  
  482.           For a PC with COM1 and COM2 of standard configuration, the
  483.           following command line will load SIO correctly:
  484.  
  485.                DEVICE=SIO.SYS (1, 3F8, 4) (2, 2f8, 3)
  486.  
  487.           A more readable, but identical, command line is:
  488.  
  489.                DEVICE=SIO.SYS (COM1,3F8,IRQ4) (COM2,2F8,IRQ3)
  490.  
  491.           Forcing a 16550A on COM1 would be as follows:
  492.  
  493.                DEVICE=SIO.SYS (COM1,3F8,IRQ4,,F) (COM2,2F8,IRQ3)
  494.  
  495.           In a similar manner, up to sixteen serial communications ports
  496.           (four in the Shareware version) can be defined and supported by
  497.           SIO and VSIO.
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.                                                                           7
  506.  
  507.                            Development and Debugging Tools
  508.  
  509.           The Poor Man's Line Monitor (PMLM.EXE)
  510.  
  511.           PMLM is basically of interest to developers of comm applications
  512.           and those providing technical support for those applications. 
  513.           This SIO utility is released largely (in self defense) in the
  514.           hope that some users can diagnose their own problems.  PMLM's
  515.           feature of saving trace information to disk will only work with
  516.           registered and beta versions of SIO.
  517.  
  518.           PMLM provides basic line monitoring for OS/2, DOS and Windows
  519.           comm programs.  All characters sent or received by application
  520.           programs are displayed in the upper portion of the screen. 
  521.           Receive characters are displayed as "white on blue" and
  522.           transmitted characters are displayed "yellow on violet".  Line
  523.           signals, such as CTS are displayed as "dim white on red" when
  524.           turned off and "bright white on red" when turned on.  In
  525.           addition, a signal's transition to OFF is displayed in lower case
  526.           and a signal's transition to ON is displayed in upper case.
  527.  
  528.           Status information is displayed in the lower part of the screen. 
  529.           A bright white display means the signal is on, a dim white
  530.           indicates that the signal is off.  In addition, when bright, 
  531.           Rxoff and Txoff indicate the SIO has sent (Txoff) or received
  532.           (Rxoff) an Xoff, and an Xon is pending.
  533.  
  534.           When a DOS or Windows session uses a comm port, an additional
  535.           line of signal status appears.  This status line shows the state
  536.           of the virtual UART's signals.  Only the signals which MAY be
  537.           different from the real UART's signals are shown.
  538.  
  539.           "Rx Chars" and "Tx Chars" reflects the number of characters in
  540.           SIO's receive and transmit buffers respectively.
  541.  
  542.           The last line on the screen shows the keys (from the keyboard)
  543.           that PMLM will recognize.  The bright character shows the key to
  544.           hit for the associated function.  The font keys will not work in
  545.           a windowed OS/2 session.
  546.  
  547.           PMLM's command line requires one parameter, the comm port number,
  548.           and optionally accepts an additional parameter giving a save
  549.           trace file name.  For example, PMLM 1 COM1INFO.TRC will monitor
  550.           COM1 and save ALL of the communications traffic in the file
  551.           COM1INFO.TRC.  The trace files created by PMLM contain exactly
  552.           the same information that is displayed by PMLM, video attributes
  553.           and all.
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.                                                                           8
  562.  
  563.  
  564.           VIEWPMLM.EXE may be used to view trace files created by PMLM. 
  565.           VIEWPMLM.EXE requires one parameter, the trace file name.  The
  566.           user can use the keys UP, DOWN, PAGEUP, PAGEDOWN, HOME, and END
  567.           to navigate the saved trace file.  Registered SIO users may send
  568.           VIEWPMLM.EXE (along with saved trace files) to anyone for
  569.           technical support purposes.
  570.  
  571.           VIEWPMLM can be used in native DOS, in DOS sessions under OS/2,
  572.           and in OS/2 sessions.  This means that even those developers and
  573.           support people need not have OS/2 to view the captured
  574.           communications data created by PMLM.
  575.  
  576.           SIO's Utility (SU.EXE)
  577.  
  578.           This utility program has several useful commands.  You can obtain
  579.           a list of the available commands by typing SU at any command line
  580.           prompt without any parameters.  One very useful command is SU
  581.           IRQS.  This command will show IRQs that are currently free for
  582.           use.  Commands are provided allowing user control (missing from
  583.           MODE) are available.  Status commands provide a wealth of
  584.           diagnostic information.
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.                                                                           9
  593.  
  594.                              Intelligent Cards Supported
  595.  
  596.  
  597.           Hayes ESP
  598.  
  599.           The original ESP (ESP V1) is not supported.  The SIO command line
  600.           must contain the ESP's enhanced I/O port address.  For bit rates
  601.           exceeding 180000bps the IRQ MUST be specified for the master
  602.           port. For lower data rates NONE may be specified for the IRQ. 
  603.           SIO does not search for the ESP ports as the Hayes drivers do
  604.           under DOS/Windows.  This searching can (will) break things under
  605.           OS/2.  The SIO command line for an ESP at I/O port 180h using
  606.           IRQ14 would be as follows:
  607.  
  608.           DEVICE=path\SIO.SYS (COM1,180,IRQ14)
  609.  
  610.           If you would like the above reflected to DOS sessions as a
  611.           standard COM1, then use the following command line:
  612.  
  613.           DEVICE=path\SIO.SYS (COM1,180:3F8,IRQ14:IRQ4)
  614.  
  615.           Note that the numbers after the colons ":" are the address and
  616.           IRQ of where the port appears to DOS software running under OS/2. 
  617.  
  618.           Any IRQ specified for an ESP slave port is ignored.  For those
  619.           that like to have a clean looking CONFIG.SYS, SIO will accept
  620.           NONE as the IRQ specification of an ESP slave port.
  621.  
  622.           If you wish to use the ESP in Compatibility Mode, simply specify
  623.           the base port address that the ESP's compatibility mode is
  624.           configured for (ie 3F8 when configured for COM1).
  625.  
  626.           Telcor Tport
  627.  
  628.           The Telcor Tport is supported in both burst mode and 16450
  629.           emulation mode.  When in burst mode, the Tport's 16k FIFOs are
  630.           enabled.  Additionally in burst mode, no IRQ is used by the
  631.           Tport.  In burst mode, any IRQ specified for the Tport is
  632.           ignored.  For those that like to have a clean looking CONFIG.SYS,
  633.           SIO will accept NONE as the IRQ specification of a Tport.  An
  634.           example command line defining a Tport card to be used in burst
  635.           mode; and that is configured for COM1 follows:
  636.  
  637.           DEVICE=path\SIO.SYS (COM1,Tport@3F8,NONE:IRQ4)
  638.  
  639.           The Tport's 16450 Emulation mode simply uses a normal SIO command
  640.           line. eg:
  641.  
  642.           DEVICE=path\SIO.SYS (COM1,3F8,IRQ4:IRQ4)
  643.  
  644.           In both examples the "IRQ4" following the colon above, means that
  645.           the virtual IRQs are to be sent to a VDM on IRQ4.
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.                                                                          10
  654.  
  655.  
  656.                                AUTOMATIC IRQ ASSIGNMENT
  657.  
  658.           SIO will automatically locate the IRQ that a comm port is
  659.           attached to.  The IRQ used by SIO for a given comm port is
  660.           assigned in the following manner:
  661.  
  662.           1 - If an IRQ is specified in the SIO command line then that IRQ
  663.           is used.  However, SIO will display a warning message if the IRQ
  664.           seems to be other than specified.
  665.  
  666.           2 - If no IRQ is specified in the command line, and if SIO
  667.           detected the IRQ then the detected IRQ is used.
  668.  
  669.           3 - If no IRQ is specified in the command, and if SIO could NOT
  670.           detect an IRQ then the default IRQ for the comm port is used. 
  671.           SIO will also display a warning message in this case.
  672.  
  673.           The following STYLE command line is recommended for all but the
  674.           most unusual systems.  That is, specify only the port number for
  675.           those above COM2 (to tell SIO to support those ports) and let SIO
  676.           do the rest.
  677.  
  678.           DEVICE=SIO.SYS (COM3) (COM4)
  679.  
  680.           If you do not have a COM3 or COM4, or if the mouse is using the
  681.           only comm port above COM2 then the following command line should
  682.           be used.
  683.  
  684.           DEVICE=SIO.SYS
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.                                                                          11
  693.  
  694.                                      DOS SETTINGS
  695.  
  696.           VSIO gets its operational characteristics from DOS Settings. 
  697.           Several basic DOS Settings are provided.  They specify the type
  698.           of access (if any) that a DOS program is to have to a
  699.           communication port that SIO controls.
  700.  
  701.           All of the DOS Settings default to what most users should use
  702.           most of the time (which is ON).  Also, all of the DOS Settings
  703.           are prefixed with SIO_.
  704.  
  705.           If any of the DOS settings are changed, then the DOS session must
  706.           be restarted from the Work Place Shell for the changed setting to
  707.           take affect.
  708.  
  709.           The provided DOS Settings and their meaning follow:
  710.  
  711.                "SIO_Allow_Access_COMn" (where n is 1 thru 4).  This DOS
  712.                setting defaults to ON.  If this setting is turned OFF for
  713.                any or all of the ports, the DOS program will not be allowed
  714.                any access to that port(s).
  715.  
  716.                "SIO_Virtualize_COM_Ports"  This Dos setting defaults to ON
  717.                and it applies to all communications ports used by the DOS
  718.                session.  When ON, this DOS setting means VSIO is to act as
  719.                an interface between the SIO and the DOS program.  When OFF,
  720.                the DOS program is given direct access to the hardware ports
  721.                of the UART(s).
  722.  
  723.                "SIO_Virtualize_16550A"  This DOS setting defaults to ON and
  724.                it applies to all communications ports used by the DOS
  725.                session.  When ON, VSIO will simulate a 16550A.  When OFF,
  726.                VSIO will simulate a 16450.  Some DOS programs may not work
  727.                when a 16550A is simulated.  Turning this setting off may
  728.                allow the program to work (but slower).
  729.  
  730.                "SIO_Share_Access_With_OS/2"  This DOS setting defaults to
  731.                ON and it applies to all communications ports used by the
  732.                DOS session.  When ON, SIO will allow an OS/2 session to
  733.                access a communications port which the DOS session first
  734.                opened (and has not closed).  If set to OFF, then the DOS
  735.                session will have exclusive use of the communications
  736.                port(s) that it uses.
  737.  
  738.                This setting does not apply to a second DOS session
  739.                attempting to access a communications port,  two different
  740.                DOS sessions are never allowed to access the same port at
  741.                the same time.  Additionally, this setting has no affect
  742.                upon the access to a communications port which is first
  743.                opened by an OS/2 session.
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.                                                                          12
  752.  
  753.  
  754.                "SIO_Screen_Sync_Kludge" DOS setting.  This DOS setting
  755.                defaults to off and it applies to all communications ports
  756.                used by the DOS session.  Some DOS BBS programs (such as
  757.                Wildcat) and many DOS Door programs attempt to synchronize
  758.                the screen output with transmitted data.  This plays havoc
  759.                with a multi tasking system like OS/2 and results in very
  760.                slow transmitted data.  When this setting is on, an attempt
  761.                is made to fake out these misbehaved programs and allow them
  762.                to run at normal transmit speed.  This setting should not be
  763.                turned on unless you experience VERY slow transmission from
  764.                a DOS program.
  765.  
  766.           All of the DOS Settings that begin with "SIO_Mode"  allows one to
  767.           construct a MODE command for a DOS session.  These settings apply
  768.           to SIO proper, and not necessarily to the DOS program itself. 
  769.           For example, if you set XON/XOFF handshake with the appropriate
  770.           SIO_Mode setting, you are specifying that SIO is to implement the
  771.           handshaking.  The DOS application itself will be unaware of this
  772.           handshaking.  This can be very confusing, so think it through
  773.           before you start changing the defaults.
  774.  
  775.           The "SIO_Mode" settings WILL NOT BE APPLIED IF THE COMM PORT IS
  776.           ALREADY OPEN WHEN THE DOS SESSION FIRST ACCESSES THE COMM PORT. 
  777.           This means that the "SIO_Mode" settings will NOT be asserted for
  778.           spawned DOS comm programs.  That is, for spawned DOS comm
  779.           programs, the mode of operation that is already in effect will
  780.           continue to be in effect and the "SIO_Mode" settings are ignored.
  781.  
  782.                "SIO_Mode_DTR"  This setting has three options that specify
  783.                how SIO and VSIO are to treat the DTR signal.  The there
  784.                available option are:
  785.                          No Change at OPEN or CLOSE.
  786.                          Turn ON at OPEN, OFF at CLOSE.
  787.                          HandShake Signal, as in DTR/DSR.
  788.  
  789.                     If either of the first two settings is selected, then
  790.                     basically the DOS application has direct control over
  791.                     the DTR signal.  If the second option is selected, then
  792.                     DTR will be turned on by SIO when the DOS program first
  793.                     touches the comm port.
  794.  
  795.                     If the third option is selected, then SIO will use DTR
  796.                     as a handshaking signal.  That is, DTR will be turned
  797.                     off if SIO can not accept any further receive data.  In
  798.                     addition, if the DOS application program turns off the
  799.                     Virtual DTR, VSIO will stop supplying the DOS
  800.                     application with receive data.
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.                                                                          13
  809.  
  810.  
  811.                "SIO_Mode_IDSR"  This setting specifies how SIO is to react
  812.                to received data and the DSR signal.  The two available
  813.                options are:
  814.                          Ignore DSR During Receive.
  815.                          Required for Valid Receive Data.
  816.  
  817.                     If the first option (the default) is selected, then SIO
  818.                     will ignore DSR and accept all received data.  If the
  819.                     second option is selected, then SIO will ignore
  820.                     received data when the DSR signal is off.  VSIO ignores
  821.                     this DOS setting.
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.                                                                          14
  830.  
  831.  
  832.                "SIO_Mode_OCTS"  This setting specifies how SIO will react
  833.                to the CTS signal when transmitting data.  The two available
  834.                options are:
  835.                          HandShake Signal, as in RTS/CTS.
  836.                          Ignore CTS During Transmit.
  837.  
  838.                     If the first option (the default) is selected, then SIO
  839.                     will not transmit data when the CTS signal is off.  If
  840.                     the second option is selected, then SIO will ignore CTS
  841.                     during transmit.  Note that this setting should be set
  842.                     to "Ignore" for 3 wire connections like the Seiko Smart
  843.                     Label Printer, and Laplink.  VSIO ignores this setting.
  844.  
  845.                "SIO_Mode_ODSR"  This setting specifies how SIO is to react
  846.                to the DSR signal during transmit.  The two available
  847.                options are:
  848.                          Ignore DSR During Transmit.
  849.                          HandShake Signal, as in DTR/DSR.
  850.  
  851.                     If the first option (the default) is selected, then SIO
  852.                     will ignore DSR during transmit.  If the second option
  853.                     is selected, then SIO will not transmit data when the
  854.                     DSR signal is off.  VSIO ignores this setting.
  855.  
  856.  
  857.                "SIO_Mode_RTS" This setting has three options that specify
  858.                how SIO and VSIO are to treat the RTS signal.  The there
  859.                available option are:
  860.                          HandShake Signal, as in RTS/CTS.
  861.                          No Change at OPEN or CLOSE.
  862.                          Turn ON at OPEN, OFF at CLOSE.
  863.  
  864.                     If either of the last two settings is selected, then
  865.                     basically the DOS application has direct control over
  866.                     the RTS signal.  If the last option is selected, then
  867.                     RTS will be turned on by SIO when the DOS program first
  868.                     touches the comm port.
  869.  
  870.                     If the first option (the default) is selected, then SIO
  871.                     will use RTS as a handshaking signal.  That is, RTS
  872.                     will be turned off if SIO can not accept any further
  873.                     receive data.  In addition, if the DOS application
  874.                     program turns off the virtual RTS signal, VSIO will
  875.                     stop supplying the DOS application with receive data.
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.                                                                          15
  884.  
  885.  
  886.                "SIO_Mode_XON/XOFF"  This setting specifies if (and how) SIO
  887.                is to use XON/XOFF flow control.  The four options are:
  888.                          No XON/XOFF flow control by SIO.
  889.                          Received XON is flow control.
  890.                          Sent XON is flow control.
  891.                          Rcvd and Sent XON is flow control.
  892.  
  893.                     The first option (the default) specifies that SIO is
  894.                     not to use XON/XOFF flow control at all.  The second
  895.                     option specifies that SIO is to treat received XON/XOFF
  896.                     as flow control, but that SIO must not send XON/XOFF as
  897.                     flow control characters.  The third option specifies
  898.                     that SIO may send XON/XOFF as flow control characters,
  899.                     but that received XON/XOFF characters are to be treated
  900.                     as normal data.  The fourth option turns on XON/XOFF
  901.                     flow control in both directions, meaning that all sent
  902.                     and received XON/XOFF characters are flow control.
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.                                                                          16
  911.  
  912.  
  913.                "SIO_Mode_FIFO_Load_Count"  This setting specifies how many
  914.                characters that SIO will load into a 16550A UART at one
  915.                time.  The choices are 1 and 16 (16 is the default).  The
  916.                only case known to the author where one would select a
  917.                setting of 1, is when very fast reaction to flow control is
  918.                needed.  One such case is the Seiko Smart Label Printer
  919.                which uses XON/XOFF flow control and a 3 wire connection. 
  920.                If one is using a 16550 with a load count of 16, then 16
  921.                additional characters may be sent after an XOFF is received. 
  922.                This condition will overrun the Seiko Printer.  If the "Load
  923.                Count" is set to 1, then SIO will transmit (at most) two
  924.                additional characters following a received XOFF which allows
  925.                the Seiko Printer to work.  A setting of 1 will cause
  926.                additional system overhead due to additional transmit
  927.                interrupts.
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.                                                                          17
  936.  
  937.  
  938.                                 Configuration Profiles
  939.  
  940.           I will attempt to provide the DOS Settings that one should try
  941.           for DOS communications programs in this section.  The settings
  942.           may not work on all systems.  I will add to this section as I
  943.           receive information from users.  All DOS Settings that are not
  944.           given should be at their defaults.
  945.  
  946.           Seiko Smart Label Printer.
  947.                I tested the Seiko printer successfully using the following
  948.                DOS settings for SIO:
  949.  
  950.                SIO_Mode_DTR                No Change at OPEN or CLOSE
  951.                SIO_Mode_FIFO_Load_Count    1.
  952.                SIO_Mode_IDSR               Ignore DSR During Receive
  953.                SIO_Mode_OCTS               Ignore CTS During Transmit
  954.                SIO_Mode_ODSR               Ignore DSR During Transmit
  955.                SIO_Mode_RTS                No Change at OPEN or CLOSE
  956.                SIO_Mode_XON/XOFF"          Received XON is flow control
  957.  
  958.           In addition, you should run the printer in its own separate
  959.           Win-OS/2 session.
  960.  
  961.           IBM's SLIP
  962.                I have been told by many users that a MODE command is
  963.                required for IBM's SLIP program to work correctly.  The
  964.                recommended MODE command is as follows:
  965.  
  966.                MODE DTR=ON
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.                                                                          18
  975.  
  976.                       Differences between SIO/VSIO and COM/VCOM
  977.  
  978.           What follows is some of the differences between SIO/VSIO and
  979.           COM/VCOM that are known to the author.
  980.  
  981.           1 -  COM.SYS will automatically seek out and support four
  982.                comm ports, COM1 through COM4.  SIO.SYS will
  983.                automatically seek out and support only COM1 and COM2. 
  984.                If SIO.SYS is to support more than two comm ports, they
  985.                must be defined in the command line that loads SIO.SYS. 
  986.                For example, DEVICE=SIO.SYS (COM3) (COM4) will cause
  987.                SIO.SYS to support four comm ports.
  988.  
  989.           2 -  In the absence of overrides in the command line,
  990.                COM.SYS will seek out four comm ports in the sequence
  991.                of I/O ports 3F8h, 2F8h, 3E8h and 2E8h.  The first port
  992.                found in this sequence is given the logical name COM1,
  993.                the second is COM2 etc.  This means that the comm port
  994.                at 2F8h could become COM1.  In the opinion of the
  995.                author, this confuses some users to frustration.
  996.  
  997.                With no command line overrides, SIO.SYS uses a fixed
  998.                I/O port concept.  That is, COM1 is always at I/O port
  999.                3F8h, COM2 is always at 2F8h, etc.  Another way of
  1000.                looking at this is;  if no comm port exists at port
  1001.                3F8h, then you do not have a COM1.  SIO.SYS will not
  1002.                move another (found) comm port into the logical COM1
  1003.                slot.
  1004.  
  1005.           3 -  VSIO opens a comm port for a DOS session with sharing
  1006.                allowed.  VCOM uses an "exclusive use" open for DOS
  1007.                sessions.
  1008.  
  1009.           4 -  SIO.SYS always controls the FIFOs of the 16550 UART. 
  1010.                SIO.SYS will not allow an application program (OS2 or DOS)
  1011.                to disable the FIFOs of a real 16550.  The application may
  1012.                specify the transmit fifo load count.
  1013.  
  1014.           5 -  SIO.SYS will accept any number between 50 and 115200 (921600
  1015.                if a Hayes ESP) as a valid baud rate.  For example, if an
  1016.                application program attempts to set a baud rate of 9990 bps,
  1017.                COM.SYS will reject it and SIO.SYS will accept it.
  1018.  
  1019.           6 -  SIO/VSIO execute faster than COM/VCOM.  This means that some
  1020.                applications, that are timing dependent, may not work under
  1021.                SIO/VSIO that do work under COM/VCOM.
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.                                                                          19
  1030.  
  1031.  
  1032.           7 -  SIO/VSIO provides more reliable active flow control for DOS
  1033.                sessions.  For example, if RTS/CTS handshaking is in use,
  1034.                VSIO processes the RTS settings by the DOS program while SIO
  1035.                completely controls the real RTS signal.  COM/VCOM simply
  1036.                passes the RTS signal directly to the hardware.
  1037.  
  1038.           8 -  COM.SYS will block an application until a write completes. 
  1039.                SIO will return to the application program immediately if
  1040.                all of the write data will fit into SIO's internal buffers.
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.                                                                          20
  1049.  
  1050.  
  1051.                                 PROBLEMS AND SOLUTIONS
  1052.  
  1053.           1 -  Port already in use is displayed.
  1054.  
  1055.                This message is displayed when the comm port or the IRQ is
  1056.                in use.  If the comm port is not actually in use, the IRQ is
  1057.                most likely in use.
  1058.  
  1059.           2 -  SIO displays a warning message that the IRQ for a port
  1060.                appears to be wrong, but the port works.
  1061.  
  1062.                SIO probably detected more than one IRQ attached to the comm
  1063.                port.  This indicates a possible hardware problem with your
  1064.                system that you may want to have checked.
  1065.  
  1066.           3 - The modem will not initialize.
  1067.  
  1068.                Configure your comm program(s) to insert a delay between
  1069.                modem initialization characters as they are sent to the
  1070.                modem.
  1071.  
  1072.           4 - WinFax locks up during install.
  1073.  
  1074.                During the WinFax install, temporarily turn OFF the DOS
  1075.                setting SIO_Virtualize_COM_Ports.  Once installation is
  1076.                complete, the setting SIO_Virtualize_COM_Ports can be
  1077.                restored.
  1078.  
  1079.           5 - Telemate does not recognize VX00 as a FOSSIL.
  1080.  
  1081.                Set the baud rate in Telemate to less than 57600.
  1082.  
  1083.           6 -  Comm output is very slow from DOS.
  1084.  
  1085.                This is a problem common to many DOS BBS and Door programs. 
  1086.                They attempt to synchronize the local screen with the
  1087.                transmitted data.  That is, they send a character, wait
  1088.                until it is sent and then display the character on the local
  1089.                screen.  This does not cause a problem for the single
  1090.                tasking DOS environment.  However, this procedure causes at
  1091.                least two (probably more) context switches in the multi-
  1092.                tasking environment of OS2, which in turn brings the
  1093.                processor to its knees.  One possible solution is for the
  1094.                programmer to synchronize line by line instead of character
  1095.                by character.
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.                                                                          21
  1104.  
  1105.  
  1106.  
  1107.           7 -  Procomm stops receiving
  1108.  
  1109.                Procomm seems to have a bug in its implementation of RTS/CTS
  1110.                handshaking.  The problem shows up most often when Procomm
  1111.                is windowed.  Under certain conditions, Procomm will turn
  1112.                the virtual RTS OFF and does not turn it ON again.  This
  1113.                prevents VSIO from sending further data to Procomm if
  1114.                SIO_Mode_RTS is set for RTS/CTS handshake.  A solution to
  1115.                the problem that seems to work is to set SIO_Mode_RTS to
  1116.                other than RTS/CTS handshake.  Note that SIO_Mode_RTS should
  1117.                be set for RTS/CTS handshake under almost all other
  1118.                conditions.
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.                                                                          22
  1127.  
  1128.  
  1129.           9 - WinFax does not work well.
  1130.  
  1131.                a- Connect problems with recipient's fax station
  1132.  
  1133.                b- Cannot send more than one page of a multiple page fax
  1134.  
  1135.                c- Transmission fails between pages
  1136.  
  1137.                d- Transmitted pages are corrupted, missing parts, or cut
  1138.                off.
  1139.  
  1140.                Class 1 FAX modem.
  1141.                          The modem init strings set by WinFax 3.0 will work
  1142.                          in the single-layered comm world of DOS and
  1143.                          Windows.  However, these modem init strings will
  1144.                          not work in the multi-layered comm environment
  1145.                          used by OS/2.  Specifically, WinFax 3.0 sets the
  1146.                          modem to use only Xon/Xoff flow control.  Ideally,
  1147.                          both Xon/Xoff and Hardware handshaking needs to be
  1148.                          set.  If only one handshake can be set, set the
  1149.                          modem to Hardware handshake.  For USR FAX modems,
  1150.                          use &H3, for many other modems, the setting is
  1151.                          &K3.  Additionally, for WinFax 3.04 and up, place
  1152.                          the following in your WINFAX.INI file:
  1153.                               HdwFlowControl=1
  1154.  
  1155.                Class 2 FAX modem.
  1156.                          It seems to the author that hardware handshake
  1157.                          screws up some (possibly all) class 2 FAX modems. 
  1158.                          Therefore, when using a class 2 modem, WinFax
  1159.                          should be configured to use XON/XOFF handshaking. 
  1160.                          For WinFax 3.04 and up, place the following in
  1161.                          your WINFAX.INI file:
  1162.                               HdwFlowControl=0
  1163.  
  1164.                          The author feels that the inability to use
  1165.                          hardware handshake with class 2 FAX modems is a
  1166.                          serious design deficiency.
  1167.  
  1168.           10 - Serial Printer messes up on last page.
  1169.  
  1170.                Add the following command line to your CONFIG.SYS file:
  1171.                     RUN=MODE COM1 TO=ON
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.                                                                          23
  1180.  
  1181.                                   IRQ SHARING ON ISA
  1182.  
  1183.           Sharing the same IRQ for multiple communications ports on ISA
  1184.           systems is not for the weak of heart (or mind).  If you have
  1185.           problems with shared IRQs, DO NOT contact the author.  Contact
  1186.           the board or computer manufacturer for help.
  1187.  
  1188.           Some general rules are as follows:
  1189.  
  1190.           1 - Two different boards (plugged into different slots) can not
  1191.           share the same IRQ.  This is a hardware limitation of ISA systems
  1192.           and can not be corrected by software.  This means that you can
  1193.           not plug in two internal modems, set them for the same IRQ and
  1194.           expect them to work.  This does not apply to PS/2 systems.  The
  1195.           problem of multiple boards sharing the same IRQ was corrected in
  1196.           the PS/2's bus design.
  1197.  
  1198.           2 - SIO can not (will not) share an IRQ with other device drivers
  1199.           at the same time.  SIO releases IRQs that it is currently not
  1200.           using.  This is different form how COM.SYS works.  This
  1201.           difference may show up as an unexpected "port already in use"
  1202.           error that does not occur with COM.SYS.  I have received reports
  1203.           that the SDLC drivers try to concurrently share IRQs with the
  1204.           ASYNC driver.  SIO.SYS will not allow this while COM.SYS will.
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.                                                                          24
  1213.  
  1214.                     Appendix A, Hardware Port and IRQ Assignments
  1215.  
  1216.           I have obtained the following information from various sources. 
  1217.           Accuracy is not guaranteed.  In fact, nothing in this document is
  1218.           guaranteed.
  1219.  
  1220.           Addresses and IRQs for COM1 and COM2
  1221.  
  1222.                COM1 uses 03F8h and IRQ4
  1223.                COM2 uses 02F8h and IRQ3
  1224.  
  1225.           Defacto standard for COM3 and COM4 for PC, XT and AT
  1226.  
  1227.                COM3 uses 03E8h and IRQ4
  1228.                COM4 uses 02E8h and IRQ3
  1229.  
  1230.           Addresses and IRQ for COM3 through COM8 on the PS/2
  1231.  
  1232.                COM3 uses 3220h and IRQ3
  1233.                COM4 uses 3228h and IRQ3
  1234.                COM5 uses 4220h and IRQ3
  1235.                COM6 uses 4228h and IRQ3
  1236.                COM7 uses 5220h and IRQ3
  1237.                COM8 uses 5228h and IRQ3
  1238.  
  1239.           All PCs (known to the author) prior to the PS/2 and EISA only use
  1240.           10 bits to address hardware I/0 ports.  Systems prior to the PS/2
  1241.           and EISA can not address the standard PS/2 addresses for COM3
  1242.           through COM8.  If an AT or below attempts to address COM3 through
  1243.           COM8 using the PS/2 addresses, only the low 10 bits of the
  1244.           address are used.  That is, the high digit of the hexadecimal
  1245.           address will be ignored.  This means that any reference to COM3
  1246.           through COM8 will actually address ports 220h through 22Fh on
  1247.           older PCs.
  1248.  
  1249.           One should avoid expansion boards that use ports 220h through
  1250.           22Fh unless the expansion board is a serial I/O board. 
  1251.  
  1252.           SIO will (attempt to) determine the hardware architecture
  1253.           (ISA/EISA and PS/2) that it is being executed on and use the
  1254.           appropriate hardware port addresses for COM1 thru COM4 as
  1255.           defaults.
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.                                                                          25
  1264.  
  1265.                                 Appendix B, SIO Chips
  1266.  
  1267.  
  1268.           The following is a collection of comments developed from hearsay,
  1269.           random documents, experience, and technical specifications. So,
  1270.           take it with a grain of salt.  Order information from the various
  1271.           manufactures if you want accurate information.
  1272.  
  1273.           Very good reference books are available from National
  1274.           Semiconductor Corporation.  They cover most of the SIO devices
  1275.           (also called UARTs) that you will find in many PCs and clones.  I
  1276.           am not sure that books can be ordered directly from National
  1277.           semiconductor. They may require that you get it from a
  1278.           distributor.  In any case, the address on the back of the one
  1279.           manual is:
  1280.  
  1281.                National Semiconductor Corporation
  1282.                2900 Semiconductor Drive
  1283.                P.O. Box 58090
  1284.                Santa Clara, CA 95052-8090
  1285.  
  1286.                Tel:(408)721-5000
  1287.                TWX:(910)339-9240
  1288.  
  1289.           8250
  1290.  
  1291.           As best that I know, the 8250 was the first SIO chip (integrated
  1292.           circuit) that was used by the IBM PC and many clones.  In my
  1293.           opinion, it was a poor choice on the part of IBM.  I feel many
  1294.           superior devices, at comparable prices, were readily available. 
  1295.           At that time, I feel the 8251A or the 8530 would have been better
  1296.           choices.  But, they used the 8250 and therefore we must use it.
  1297.  
  1298.           From a hardware standpoint the 8250 is a relatively slow device. 
  1299.           It is advisable that programmers not perform successive inputs or
  1300.           outputs to this device.  It seems that software programs can load
  1301.           the various registers of the 8250 faster than it can process the
  1302.           information.  The 8250 had a total of 7 registers.  The
  1303.           specifications state that 56kb is the maximum baud rate.
  1304.  
  1305.           8250A
  1306.  
  1307.           I believe the 8250A is the 8250 with some bug fixes.  I have no
  1308.           idea what the bugs may have been.  A quick glance at the
  1309.           specifications shows the speed of the 8250 and 8250A to be much
  1310.           the same.  The 8250A added an 8th register.  This additional
  1311.           register enables software to detect if an 8250 is installed.  The
  1312.           specifications state that 56kb is the maximum baud rate.
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.                                                                          26
  1321.  
  1322.           16450
  1323.  
  1324.           The 16450 seems to be a speeded up version of the 8250A.  There
  1325.           is no direct way (that I know of) for software to detect the
  1326.           difference between an 8250A and a 16450.  I believe the 16450 was
  1327.           developed to eliminate the need for software to insert delays
  1328.           between successive accesses to the device.  The specifications
  1329.           indicate the 16450 is a much faster device than its predecessors. 
  1330.           The additional speed is only the speed at which the processor can
  1331.           access the device.  The maximum baud rate for the 16450 is still
  1332.           stated at 56kb.  However, I have been told by some people that
  1333.           they have run the 16450 successfully at much higher speeds. I do
  1334.           not believe there was ever a 16450A.
  1335.  
  1336.           16C451
  1337.  
  1338.           The 16C451 is a CMOS version of the 16450.  CMOS is a term for
  1339.           the material and manufacturing process used to make the part. 
  1340.           CMOS typically uses less power than other technologies.  If you
  1341.           are not designing hardware, you should view the 16C451 as a
  1342.           16450.
  1343.  
  1344.           16550 (Non A)
  1345.  
  1346.           It is hard to find a 16550 (Non A).  I was told by National
  1347.           Semiconductor that they did everything they could to get all
  1348.           16550s back.  SIO will detect a 16550 and tell you if you have
  1349.           one.  I am told that the 16550 was installed in early PS/2
  1350.           systems.
  1351.  
  1352.           The 16550 was the first shot at a FIFOed version of the 8250
  1353.           family from National semiconductor.  However, I was told by
  1354.           National Semiconductor that the FIFOs of the 16550 are not
  1355.           reliable and they should not be enabled.  SIO will treat a 16550
  1356.           like a 16450.  In this mode, they are reliable.  National
  1357.           Semiconductor would not provide me with a specification for the
  1358.           16550.  However, I suspect its maximum baud rate is the same as
  1359.           the 16550A which is 256kb.
  1360.  
  1361.           16550A, 16550AF and 16550AFN
  1362.  
  1363.           In the manuals that I have, National Semiconductor does not
  1364.           explain the differences between the 16550A and the 16550AF.  I
  1365.           suspect the AF part may have a few bug fixes.  I believe the N in
  1366.           AFN describes packaging, ceramic versus plastic, DIP versus
  1367.           surface mount etc.
  1368.  
  1369.           In the opinion of the author, there is no substitute for the
  1370.           16550A (and its successors) in the 8250 type series.  The 16550A
  1371.           is compatible with most software written for the entire family of
  1372.           8250 type devices.  Programs that are 16550A aware can provide
  1373.           much improved performance over previous devices.
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.                                                                          27
  1382.  
  1383.  
  1384.           The maximum baud rate for the 16550A is specified at 256kb. 
  1385.           However, due to the hardware design of the PC et al, 115kb is the
  1386.           maximum baud rate that can be programmed by software.
  1387.  
  1388.           The 16550A can be plugged into the same socket that contains an
  1389.           8250, 8250A or 16450.  If your SIO expansion board has the SIO
  1390.           chips in sockets, you can upgrade to the 16550A by simply
  1391.           removing the old chips and replacing them with 16550As.
  1392.  
  1393.           The key to the performance increase of the 16550A is its FIFOs. 
  1394.           It has 16 byte FIFOs for both transmit and receive data.
  1395.  
  1396.           16550s Made by Western Digital
  1397.  
  1398.           I have been told, but I have not verified for myself, that 16550s
  1399.           made by Western Digital have a problem with their FIFOs when
  1400.           working at 2400 baud or below.
  1401.  
  1402.           16C551
  1403.  
  1404.           The 16C551 is a CMOS version of the 16550AF.  See the above
  1405.           description of the 16C451 for a discussion of CMOS.  Do not feel
  1406.           you need to upgrade from a 16550A or AF to a 16C551.  There is no
  1407.           gain from an existing users point of view.
  1408.  
  1409.           16C552
  1410.  
  1411.           The 16C552 is two 16C551s on a single chip.
  1412.  
  1413.           16C554
  1414.  
  1415.           The 16C554 is four 16C551s on a single chip.
  1416.  
  1417.           82510
  1418.  
  1419.           I believe Intel is the only company that manufactures the 82510. 
  1420.           The 82510 is feature rich with several modes of operation.  Its
  1421.           default mode is to operate as a 16450.  The 82510 has a 4 byte
  1422.           FIFO for both transmit and receive data.  A 4 byte FIFO is
  1423.           sufficient to provide significant performance over a basic 16450.
  1424.  
  1425.           The 82510 is small in size.  Therefore, it is found in many lap
  1426.           tops.
  1427.  
  1428.           The 82510 is somewhat of a sleeper.  I believe it would be much
  1429.           more widely used if Intel had promoted it more.  However, given a
  1430.           choice between the 82510 and the 16550A, I would select the
  1431.           16550A.
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.                                                                          28
  1440.  
  1441.  
  1442.           16650
  1443.  
  1444.           The 16650 by Startech seems a good logical step in the evolution
  1445.           of the 8250 type UARTs.  One of the many flavors of the 16650 is
  1446.           a package that is pin compatible with the 40 pin (DIP) 16550s. 
  1447.           This means that the 16650 can be placed into the same socket as
  1448.           any 16550, 8250, etc.
  1449.  
  1450.           The 16650 has enhanced the FIFOs to 32 bytes, added on chip flow
  1451.           control ability, and increases the maximum bit rate to 460800. 
  1452.           The on chip flow control is a really nice feature.  On chip flow
  1453.           control practically eliminates the possibility of missed receive
  1454.           characters.  On chip flow control also means that some devices
  1455.           that require immediate attention when it sends Xoff, like the
  1456.           Seiko Label Printer, will work much better in environments like
  1457.           OS/2 and Windows.
  1458.  
  1459.           The 32 byte FIFOs of the 16650 is an improvement over the 16550,
  1460.           but is still a disappointment.  I feel that 1k, or larger, FIFOs
  1461.           would have been a much better choice.  When I quizzed Startech
  1462.           about this, they replied that the 32 byte FIFOs were chosen to
  1463.           keep the cost down.  They added that if the 16650 is successful,
  1464.           they plan a 16750 with larger FIFOs.
  1465.  
  1466.           The 16650 powers up in a 16550 compatible mode, meaning most
  1467.           software written for the 16550 should work.  I have discovered a
  1468.           serious incompatibility in the current (Oct 1994) versions of the
  1469.           16650.  All previous UARTS in the 8250 family will issue only a
  1470.           single transmit interrupt if no additional data is sent to the
  1471.           UART.  The 16650 on the other hand, will issue continuous
  1472.           transmit interrupts making it necessary to mask the transmit
  1473.           interrupt.  I quizzed Startech about this and was told that a new
  1474.           revision of the chip would be available within a few months that
  1475.           would correct this incompatibility.
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.                                                                          29
  1484.  
  1485.  
  1486.           ComBic
  1487.  
  1488.           The ComBic is a very impressive UART used on the Hayes ESP card
  1489.           and some others.  The ComBic is basically a 16550 UART with on
  1490.           chip flow control and 1k FIFOs and a maximum bit rate of 921600.  
  1491.           Like the 16650, on chip flow control practically eliminates the
  1492.           possibility of missed receive characters.  On chip flow control
  1493.           also means that some devices that require immediate attention
  1494.           when it sends Xoff, like the Seiko Label Printer, will work much
  1495.           better in environments like OS/2 and Windows.
  1496.  
  1497.           The ComBic has two modes of operation, compatibility mode and
  1498.           enhanced mode.  In compatibility mode, the UART acts as a 16550. 
  1499.           However, when in compatibility mode, the 1k FIFOs and on chip
  1500.           flow control can still be used.  In enhanced mode, software gains
  1501.           the ability to look into the FIFOs and determine the exact number
  1502.           of bytes loaded.  This feature enables software the use block
  1503.           input and output to the ComBic which greatly reduces processor
  1504.           overhead.
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.                                                                          30
  1513.  
  1514.                        Appendix C, Multi-Port Serial I/0 Cards
  1515.  
  1516.           I have received many requests for information about multi-port
  1517.           serial I/O card.  I will describe the boards that I know about
  1518.           (or have heard about) here.  I will add to the list as I receive
  1519.           precise information from manufactures, users, or I develop it
  1520.           myself.
  1521.  
  1522.           Please do not contact me for support on the following boards,
  1523.           contact the manufacturer.  The following tells of my experiences
  1524.           with the boards and does not imply support.  Your experiences
  1525.           with a given board may be different.
  1526.  
  1527.           STB 4COM  (ISA bus)
  1528.  
  1529.           I am very impressed with the STB 4COM card, they have almost got
  1530.           it.  Yes, its the same company that makes the VGA cards.  The
  1531.           4COM card uses a 16554 which is the equivalent of four 16550A. 
  1532.           Comm ports can use IRQs 2/9, 3, 4, 5, 10, 11, 12, and 15.  Any or
  1533.           all ports can share IRQs, and they have done this right.  I
  1534.           tested SIO with all four ports of the 4COM on IRQ12 and they
  1535.           worked correctly.  The user can select any of the following I/O
  1536.           port address for a comm port: 3F8, 2F8, 3E8, 2E8, 1A8, 1E8, 1F8,
  1537.           2A8.
  1538.  
  1539.           The 4COM card is priced at $110 and I ordered mine from
  1540.           Prerapture Solutions which can be reached by telephone at 1-919-
  1541.           286-1502 for information and foreign callers.  In the US orders
  1542.           can be placed by calling 1-800-735-5266.  Their mailing address
  1543.           is:
  1544.                Prerapture Solutions
  1545.                1806 Albany St.
  1546.                Durham NC 27705-3135
  1547.  
  1548.           Connect Tech Dflex-8
  1549.  
  1550.           This is one of the most configure able communications cards that
  1551.           I have ever seen.  It has on board simms to configure the
  1552.           electrical characteristics (RS232, RS442 etc).  The board that I
  1553.           tested was configured for RS232 and has 8 Startech 16550 on it. 
  1554.           All 8 ports can be jumpered to the same IRQ and the IRQ sharing
  1555.           seems to work well with SIO and I detected no performance
  1556.           problems.
  1557.  
  1558.           I have no pricing information, the Dflex was supplied to me at no
  1559.           charge.  Connect Tech can be reached at 519-836-1291.  Their
  1560.           mailing address is:
  1561.  
  1562.           Connect Tech Inc.
  1563.           727 Speedvale Ave. West
  1564.           Guelph, Ontario, Canada
  1565.           N1K 1E6
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.                                                                          31
  1574.  
  1575.  
  1576.           Gtek BBS550 (ISA bus)
  1577.  
  1578.           The Gtek BBS550 is a communications card with the equivalent of 8
  1579.           16550s (in reality two 16554s) UARTs.  Where were these cards 5
  1580.           years ago!  Like the STB 4COM, I am very impressed with the
  1581.           BBS550.  It has a wide range of selectable I/O port address, some
  1582.           in the 16 bit range (above 3FFh) which can be very useful.  I
  1583.           tested the board with all 8 ports installed using IRQ3 (although
  1584.           I never had more than 3 ports active at the same time).  The
  1585.           board performed well using shared IRQs.
  1586.  
  1587.           The BBS550 has 8 RJ-45 connectors (10 pin), 6 of which comes
  1588.           directly off the back of the card.  The other two RJ-45
  1589.           connectors are internal and special cables with grommets are
  1590.           supplier for these 2 ports.  The cables supplied with the BBS550
  1591.           expands the RJ-45 out to standard DB-25 connectors.
  1592.  
  1593.           Gtek is located in St. Louis Mississippi.  Their phone number is
  1594.           800-282-4835 or 601-467-8048.
  1595.  
  1596.           Neotech Quad Serial (MCA bus)
  1597.  
  1598.           Well, I just got my first PS/2 system (for testing of SIO) and I
  1599.           am using the NeoTech Quad Serial card in that system.  What can I
  1600.           say, it works beautifully and interrupt sharing has never been a
  1601.           problem on MCA systems.  This card (as shipped) came with four
  1602.           individual 16450 chips installed, but they were in sockets so I
  1603.           installed 16550 UARTs before I installed the card.  The card has
  1604.           one large connector on the back of the card and the supplied
  1605.           cable expands that to 4 standard DB-25 connectors.  Those of you
  1606.           needing a good 4 port card for an MCA system contact:
  1607.  
  1608.                Neotech Inc
  1609.                30295 Solon Industrial Pkwy.
  1610.                Solon, Ohio 44139
  1611.  
  1612.                Voice     (216) 248-4114
  1613.                FAX       (216) 248-5701
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.                                                                          32
  1622.  
  1623.                                         INDEX
  1624.  
  1625.           16450 . . . . . . . . . . . . . . . . . . . . . . . . . . . .  26
  1626.           16550 (Non A) . . . . . . . . . . . . . . . . . . . . . . . .  26
  1627.           16550A  . . . . . . . . . . . . . . . . . . . . . . . . . . .  26
  1628.           16550AF . . . . . . . . . . . . . . . . . . . . . . . . . . .  26
  1629.           16550AFN  . . . . . . . . . . . . . . . . . . . . . . . . . .  26
  1630.           16550s Made by Western Digital  . . . . . . . . . . . . . . .  27
  1631.           16650 . . . . . . . . . . . . . . . . . . . . . . . . . . . .  28
  1632.           16C451  . . . . . . . . . . . . . . . . . . . . . . . . . . .  26
  1633.           16C551  . . . . . . . . . . . . . . . . . . . . . . . . . . .  27
  1634.           16C552  . . . . . . . . . . . . . . . . . . . . . . . . . . .  27
  1635.           16C554  . . . . . . . . . . . . . . . . . . . . . . . . . . .  27
  1636.           8250  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  25
  1637.           8250A . . . . . . . . . . . . . . . . . . . . . . . . . . . .  25
  1638.           82510 . . . . . . . . . . . . . . . . . . . . . . . . . . . .  27
  1639.           Addresses and IRQ for COM3 through COM8 on the PS/2 . . . . .  24
  1640.           Addresses and IRQs for COM1 and COM2  . . . . . . . . . . . .  24
  1641.           Allow_Access_COMn . . . . . . . . . . . . . . . . . . . . . .  11
  1642.           Appendix A, Hardware Notes  . . . . . . . . . . . . . . . . .  24
  1643.           Appendix B, SIO Chips . . . . . . . . . . . . . . . . . . . .  25
  1644.           Appendix C, Multi-Port Serial I/0 Cards . . . . . . . . . . .  30
  1645.           AUTOMATIC IRQ ASSIGNMENT  . . . . . . . . . . . . . . . . . .  10
  1646.           BBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
  1647.           ComBic  . . . . . . . . . . . . . . . . . . . . . . . . . . .  29
  1648.           COMn already in use . . . . . . . . . . . . . . . . . . . . .  20
  1649.           CompuServe  . . . . . . . . . . . . . . . . . . . . . . . . . . 3
  1650.           CONFIG.SYS  . . . . . . . . . . . . . . . . . . . . . . . . . . 4
  1651.           Connect Tech Dflex-8  . . . . . . . . . . . . . . . . . . . .  30
  1652.           Defacto standard for COM3 and COM4  . . . . . . . . . . . . .  24
  1653.           Development and Debugging Tools . . . . . . . . . . . . . . . . 7
  1654.           Differences between SIO/VSIO and COM/VCOM . . . . . . . . . .  18
  1655.           Distribution  . . . . . . . . . . . . . . . . . . . . . . . . . 3
  1656.           DOS SETTINGS  . . . . . . . . . . . . . . . . . . . . . . . .  11
  1657.           Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
  1658.           ESP in Compatibility Mode . . . . . . . . . . . . . . . . . . . 9
  1659.           Exclusive use . . . . . . . . . . . . . . . . . . . . . . . .  11
  1660.           FAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
  1661.           FAX Modems
  1662.                Class 1 FAX modem  . . . . . . . . . . . . . . . . . . .  22
  1663.                Class 2 FAX modem  . . . . . . . . . . . . . . . . . . .  22
  1664.           FaxWorks  . . . . . . . . . . . . . . . . . . . . . . . . . .  20
  1665.           FIFO  . . . . . . . . . . . . . . . . . . . . . . . . . .  26, 27
  1666.           FMD.SYS . . . . . . . . . . . . . . . . . . . . . . . . . . .  20
  1667.           GETTING STARTED . . . . . . . . . . . . . . . . . . . . . . . . 4
  1668.           Gtek BBS550 . . . . . . . . . . . . . . . . . . . . . . . . .  31
  1669.           Hayes ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  1670.           Installing SIO/VSIO . . . . . . . . . . . . . . . . . . . . . . 4
  1671.           Intellegent Cards Supported . . . . . . . . . . . . . . . . . . 9
  1672.           IRQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 10
  1673.           IRQ SHARING ON ISA  . . . . . . . . . . . . . . . . . . . . .  23
  1674.           ISA buss  . . . . . . . . . . . . . . . . . . . . . . . . . .  31
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.                                                                          33
  1683.  
  1684.           MCA buss  . . . . . . . . . . . . . . . . . . . . . . . . . .  31
  1685.           National Semiconductor Corporation  . . . . . . . . . . . . .  25
  1686.           Neotech Quad Serial . . . . . . . . . . . . . . . . . . . . .  31
  1687.           Ordering  . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
  1688.           OS2BVEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
  1689.           PCMCIA  . . . . . . . . . . . . . . . . . . . . . . . . . . .  10
  1690.           PDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
  1691.           Physical Device Driver  . . . . . . . . . . . . . . . . . . . . 2
  1692.           PKUNZIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
  1693.                Authentic files  . . . . . . . . . . . . . . . . . . . . . 4
  1694.           PMLM.EXE  . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
  1695.           PROBLEMS AND SOLUTIONS  . . . . . . . . . . . . . . . . . . .  20
  1696.           Quick Start . . . . . . . . . . . . . . . . . . . . . . . . . . 4
  1697.           RTS/CTS handshaking . . . . . . . . . . . . . . . . . . . . . . 2
  1698.           Seiko Smart Label Printer . . . . . . . . . . . . . .  14, 16, 17
  1699.           Serial Printer  . . . . . . . . . . . . . . . . . . . . . . .  22
  1700.           SIO Chips . . . . . . . . . . . . . . . . . . . . . . . . . .  25
  1701.           SIO Technical Reference Manual  . . . . . . . . . . . . . . . . i
  1702.           SIO's Utility (SU.EXE)  . . . . . . . . . . . . . . . . . . . . 8
  1703.           SIO_Mode_DTR  . . . . . . . . . . . . . . . . . . . . . . . .  12
  1704.           SIO_Mode_FIFO_Load_Count  . . . . . . . . . . . . . . . . . .  16
  1705.           SIO_Mode_IDSR . . . . . . . . . . . . . . . . . . . . . . . .  13
  1706.           SIO_Mode_OCTS . . . . . . . . . . . . . . . . . . . . . . . .  14
  1707.           SIO_Mode_ODSR . . . . . . . . . . . . . . . . . . . . . . . .  14
  1708.           SIO_Mode_RTS  . . . . . . . . . . . . . . . . . . . . . . . .  14
  1709.           SIO_Mode_XON/XOFF . . . . . . . . . . . . . . . . . . . . . .  15
  1710.           SIO_Screen_Sync_Kludge  . . . . . . . . . . . . . . . . . . .  12
  1711.           SIO_Share_Access_With_OS/2  . . . . . . . . . . . . . . . . .  11
  1712.           SLIP  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  17
  1713.           STB 4COM  . . . . . . . . . . . . . . . . . . . . . . . . . .  30
  1714.           Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
  1715.           Telcor Tport  . . . . . . . . . . . . . . . . . . . . . . . . . 9
  1716.           UART  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  25
  1717.           VDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
  1718.           VIEWPMLM.EXE  . . . . . . . . . . . . . . . . . . . . . . . . . 8
  1719.           Virtual Device Driver . . . . . . . . . . . . . . . . . . . . . 2
  1720.           Virtualize_16550A_For_COM . . . . . . . . . . . . . . . . . .  11
  1721.           Virtualize_COM_Ports  . . . . . . . . . . . . . . . . . . . .  11
  1722.           WHAT IS SIO . . . . . . . . . . . . . . . . . . . . . . . . . . 1
  1723.           WHAT IS VSIO  . . . . . . . . . . . . . . . . . . . . . . . . . 2
  1724.           WinFax  . . . . . . . . . . . . . . . . . . . . . . . . .  20, 22
  1725.