home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005 / CHIP Utilities 2005.iso / dosapps / parallel / parallel.doc < prev    next >
Encoding:
Text File  |  1994-10-27  |  138.4 KB  |  2,856 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.              ======================================================
  8.              =                                                    =
  9.              =                                                    =
  10.              =          Parallel Port Information System          =
  11.              =                                                    =
  12.              =                   version 1.45                     =
  13.              =                                                    =
  14.              =                        by                          =
  15.              =                                                    =
  16.              =                     Jay Lowe                       =
  17.              =                    Don Schuman                     =
  18.              =                                                    =
  19.              =             Parallel Technologies, Inc.            =
  20.              =                                                    =
  21.              =                                                    =
  22.              ======================================================
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.                                   Version 1.45
  36.                                   27 Oct 1994
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.                           Reference Sites for Parallel
  44.  
  45.                     Compuserve Home:    IBMHW forum (go IBMHW)
  46.                     Internet Home:      netlab2.usu.edu/misc
  47.  
  48.  
  49.  
  50.  
  51.      ======================================================================
  52.      Parallel.Exe, v1.45, 27 Oct 1994           Parallel Technologies, Inc.
  53.      Parallel Port Information Utility                    10603 170th Ct NE
  54.      (C) Copyright 1993-1994 Jay Lowe                     Redmond, WA 98052
  55.  
  56.      This program may be used                             Lab  206-869-1136
  57.      free of charge subject to the                        Fax  206-869-1133
  58.      Restricted License Agreement                  Compuserve     76640,203
  59.      as stated below                           Internet jaylowe@halcyon.com
  60.      ======================================================================
  61.  
  62.  
  63.  
  64. Parallel Port Information System                                     Page 2
  65. ---------------------------------------------------------------------------
  66.  
  67.      Front Matter
  68.      ------------
  69.  
  70.  
  71.      IMPORTANT: This software is provided AS-IS under a license agreement
  72.      stated below (see SOFTWARE LICENSE AGREEMENT). YOU ARE RESPONSIBLE for
  73.      the safe usage of this program.  This requires that you READ THE
  74.      DIRECTIONS if you are going to use the loopback feature for IRQ
  75.      detection. We are informing you of the danger of physically damaging
  76.      your parallel port if you are not CAREFUL AND GENTLE when inserting
  77.      the loopback wire. We strongly recommend that you follow the procedure
  78.      of making a LOOPBACK EXTENSION CABLE as described below. To the best
  79.      of our (extensive) knowledge, there is no electrical danger to
  80.      yourself or to your system or to the parallel port, since parallel
  81.      ports are designed to withstand permanent shorts across any of their
  82.      pins. HOWVER WE DO NOT GUARANTEE AN OF THIS AND CAN ACCEPT NO
  83.      LIABILITY since we cannot control what you or your vendor may do.
  84.  
  85.  
  86.  
  87.      Parallel.Exe, Parallel.Doc, and all of the associated components of
  88.      this utility are copyrighted material and may not be reproduced,
  89.      redistributed, or sold without the express written consent of Parallel
  90.      Technologies, Inc, except as provided by the License Agreement.
  91.  
  92.  
  93.      Some of the terms, names, and/or symbols used in this document are the
  94.      trademarks of the companies which own them.
  95.  
  96.  
  97.      Permission is hereby given for distribution of Parallel on a not-for-
  98.      profit basis.  Users may upload and share Parallel, provided it is not
  99.      modified in any way.  Vendors may make Parallel available via bulletin
  100.      boards or other electronic forums, but may not distribute Parallel
  101.      with their products without the permission of Parallel Technologies,
  102.      Inc.  Shareware vendors and other software distributors may distribute
  103.      Parallel provided they do not charge more than $10 per copy.
  104.  
  105.  
  106.      Support for Parallel and parallel port related issues is available
  107.      only via Compuserve or Internet Email to the addresses given on the
  108.      cover page of this manual.
  109.  
  110.      Parallel Technologies, Inc. does not provide telephone support for
  111.      this program.
  112.  
  113.  
  114.  
  115. Parallel Port Information System                                     Page 3
  116. ---------------------------------------------------------------------------
  117.  
  118.      Acknowledgements
  119.      ----------------
  120.  
  121.      We would like to express our appreciation to the many people and
  122.      organizations who have given of their time and expertise to provide
  123.      information and support for Parallel in various ways.  Some of these
  124.      contributors include:
  125.  
  126.           Parallel Port Chipset Vendors:
  127.  
  128.                Intel Corporation
  129.                Standard Microsystems Corporation
  130.                National Semiconductor
  131.                Chips and Technologies
  132.  
  133.           Parallel Port Direct Sales Vendors:
  134.  
  135.                Farpoint Communications
  136.                JAZ Computer Products
  137.                Essential Data, Inc.
  138.  
  139.           Standards Organizations:
  140.  
  141.                Members of the EPP Standards Committee
  142.                Members of the IEEE 1284 Standards Committee
  143.  
  144.           Individuals:
  145.  
  146.                Larry Stein, Farpoint Communications
  147.                Prof. Joe Dupnik, Utah State University
  148.                Don Watson, Compuserve IBMHW Forum Sysop
  149.  
  150.           The users:
  151.  
  152.                who have reported test results, bugs, and feature requests!
  153.  
  154.           And the innumerable hackers who have gone before.
  155.  
  156.  
  157.           My thanks to all of you for your generosity.
  158.  
  159.  
  160.                And if I've left anyone out, my apologies. Please remind me.
  161.  
  162.  
  163.  
  164. Parallel Port Information System                                     Page 4
  165. ---------------------------------------------------------------------------
  166.  
  167.      Table of Contents
  168.      -----------------
  169.  
  170.  
  171.  
  172.      FRONT MATTER                                                         2
  173.  
  174.  
  175.      ACKNOWLEDGEMENTS                                                     3
  176.  
  177.  
  178.      TABLE OF CONTENTS                                                    4
  179.  
  180.  
  181.      WELCOME TO THE PARALLEL PORT INFORMATION UTILITY                     7
  182.  
  183.  
  184.      QUICK STARTING PARALLEL                                              8
  185.  
  186.  
  187.      DETAILED PROGRAM OPERATION                                           9
  188.  
  189.       How to Prepare Your System for Best Results                         9
  190.  
  191.       How to Run Parallel.Exe                                             9
  192.  
  193.       How to Get Quick Help                                               9
  194.  
  195.       How to Prevent Scrolling                                            9
  196.  
  197.       How to Save Parallel's Output                                       9
  198.  
  199.       How to Avoid the Funny Line Drawing Characters                      9
  200.  
  201.       How to get Help with your Parallel Port Questions                  10
  202.  
  203.  
  204.      INTERPRETING PARALLEL'S DISPLAY                                     11
  205.  
  206.       Parallel Port Type                                                 11
  207.        No Port                                                           11
  208.        4bit ports                                                        12
  209.        8bit ports                                                        13
  210.        EPP ports                                                         14
  211.        ECP ports                                                         16
  212.  
  213.       IO Address                                                         18
  214.  
  215.       Understanding the IRQ Level                                        20
  216.  
  217.       Understanding the BIOS Name                                        22
  218.  
  219.       Understanding the Notes and Comments                               24
  220.  
  221.  
  222.  
  223. Parallel Port Information System                                     Page 5
  224. ---------------------------------------------------------------------------
  225.  
  226.      AUTOMATIC IRQ DETECTION                                             30
  227.  
  228.       Understanding Port Float                                           30
  229.  
  230.       IRQ detection using the LoopBack Feature                           31
  231.  
  232.       TechNote: Making Your Own Loopback Connector                       33
  233.  
  234.  
  235.      MISCELLANEOUS TOPICS                                                34
  236.  
  237.       Technote: Pseudo-Bidirectional Ports, A Special Case               34
  238.  
  239.  
  240.      PARALLEL PORT STANDARDS                                             35
  241.  
  242.       4bit and 8bit parallel ports                                       35
  243.  
  244.       EPP Specification                                                  35
  245.  
  246.       ECP Specification                                                  35
  247.  
  248.       IEEE 1284 Specification                                            36
  249.  
  250.       Parallel Port Standards Diagram                                    37
  251.  
  252.  
  253.      PARALLEL PORT BUYER'S GUIDE                                         38
  254.  
  255.       4bit parallel ports                                                38
  256.  
  257.       8bit parallel ports                                                38
  258.  
  259.       EPP Parallel Ports                                                 39
  260.  
  261.       ECP Parallel Ports                                                 41
  262.  
  263.       Advanced Parallel Port Chipsets                                    42
  264.  
  265.  
  266.      VENDOR CONTACT INFORMATION                                          44
  267.  
  268.  
  269.      TECHNICAL SUPPORT                                                   45
  270.  
  271.  
  272.      ABOUT PARALLEL TECHNOLOGIES, INC.                                   46
  273.  
  274.       Firsts, Bests, and Mosts                                           46
  275.  
  276.       Partial List of Parallel Technologies' Developments                46
  277.  
  278.       Parallel Port Developer's Kits                                     47
  279.        Level One Developer's Kit                                         47
  280.  
  281.  
  282.  
  283. Parallel Port Information System                                     Page 6
  284. ---------------------------------------------------------------------------
  285.  
  286.        Level Two Developer's Kit                                         48
  287.        Super IEEE 1284 Developer's Kit                                   48
  288.  
  289.       DirectNet -- The Parallel Port Networking System                   48
  290.  
  291.       Parallel -- the Parallel Port Information Utility                  49
  292.  
  293.       OEM Products                                                       49
  294.  
  295.       Development Services                                               50
  296.  
  297.       Consulting and Training                                            50
  298.  
  299.  
  300.      SOFTWARE LICENSE AGREEMENT                                          51
  301.  
  302.  
  303.  
  304. Parallel Port Information System                                     Page 7
  305. ---------------------------------------------------------------------------
  306.  
  307.      Welcome to the Parallel Port Information Utility
  308.      ------------------------------------------------
  309.  
  310.      Parallel is a simple utility which displays the configuration of the
  311.      parallel ports (LPT ports) in your system. Parallel is useful for:
  312.  
  313.          1.  Configuring parallel port software such as Windows printer
  314.              connections, parallel port device drivers, and print spoolers.
  315.  
  316.          2.  Resolving technical support problems with parallel devices,
  317.              including printers and external peripherals such as network
  318.              adapters, portable disks, tape drives, CD-ROMs, floppies, etc.
  319.  
  320.          3.  Configuring your parallel ports for best performance.
  321.  
  322.          4.  Resolving pesky IO address and IRQ contention problems.
  323.  
  324.          5.  Measuring the performance capabilities of your parallel ports.
  325.  
  326.          6.  Learning how your particular system's CMOS configuration
  327.              relates to the actual configuration of your parallel ports.
  328.  
  329.          7.  Making informed decisions when buying parallel ports and
  330.              external parallel port devices.
  331.  
  332.          8.  Getting the best parallel port performance for your dollar.
  333.  
  334.          9.  Experimenting with your parallel port configuration.
  335.  
  336.          10. Solving problems associated with print spoolers and network
  337.              print capture programs which redirect printer output by
  338.              changing the port mappings kept in the LPT Bios data area.
  339.  
  340.      Now is a good time for you to learn something about parallel ports.
  341.      Parallel ports are becoming increasingly useful due to the recent
  342.      explosion in the popularity of portable and external peripherals.
  343.      New parallel port standards (such as EPP and ECP ) are breaking
  344.      performance barriers and allowing full bus speed operation.
  345.  
  346.      Parallel ports have traditionally been perceived as "printer ports",
  347.      which explains a lot about their idiosyncrasies. In fact, a relatively
  348.      small percentage of parallel ports are actually used for printing. The
  349.      ratio of PCs to printers is usually "many to few" in a group setting,
  350.      and as networking and networked printers become increasingly common
  351.      this trend will increase. In general, PC parallel ports are usually
  352.      available for other purposes ... for portable, external peripherals
  353.      and parallel port networking (Desktop and Personal Area Networking).
  354.  
  355.      There are major performance differences between different types of
  356.      parallel ports and parallel port devices, and these differences are
  357.      becoming of increasing significance to consumers. These applications
  358.      of Parallel are discussed in more detail below. But first let's take a
  359.      quick look at how you run the program itself and interpret the various
  360.      information it displays.
  361.  
  362.  
  363.  
  364. Parallel Port Information System                                     Page 8
  365. ---------------------------------------------------------------------------
  366.  
  367.      Quick Starting Parallel
  368.      -----------------------
  369.  
  370.      Parallel operates by testing each of the standard addresses in your
  371.      system where parallel ports might be found and gathering a broad
  372.      assortment of useful information about the specific port behavior.
  373.      Parallel tests the ports and then produces a compact display which
  374.      is convenient and easy to read. You may need to refer to these
  375.      instructions or the built-in reference screen a few times until you
  376.      learn what the various columns of information mean.
  377.  
  378.      How to use Parallel:
  379.  
  380.         Step 1 =>   Disconnect any attached parallel port peripherals such
  381.                     as printers, LAN adapters, disks, CDROMs, etc
  382.  
  383.         Step 2 =>   Run PARALLEL from the DOS command line (not in Windows)
  384.  
  385.         Step 3 =>   Read the display as described below.
  386.  
  387.      Parallel will display five columns of information containing one or
  388.      more lines about each port. The columns are:
  389.  
  390.        Port Type         The parallel port's IO capabilities. Types are:
  391.  
  392.                            No Port   -- No port is exists at the address
  393.                            4 bit     -- A "unidirectional" port
  394.                            8 bit     -- A "bidirectional" port
  395.                            EPP       -- An Enhanced Parallel Port
  396.                            ECP       -- An Extended Capabilities Port
  397.  
  398.        Address           IO Base Address of the port (3BC, 378, 278)
  399.  
  400.        IRQ               Interrupt level associated with the port (5 or 7)
  401.  
  402.        BIOS Name         Logical device name of the port (LPT1, LPT2, LPT3)
  403.  
  404.        Notes             A wide assortment of comments, warnings, and
  405.                          miscellaneous additional information
  406.  
  407.        Port              On a single line, after the columnar display,
  408.        Strangeness       Parallel ports a magic number called the
  409.        Factor.           `Port Strangeness Factor'.
  410.  
  411.      This is simply the total number of strange or unusual properties that
  412.      Parallel has found when examining your configuration. If your ports
  413.      are considered strange by Parallel, you might want to take some action
  414.      to correct the situtation, or at least appreciate the peculiarity.
  415.  
  416.      The Port Strangeness is not reported if your configuration is boring.
  417.  
  418.      Detailed procedures for using Parallel are given in the next section.
  419.  
  420.  
  421.  
  422. Parallel Port Information System                                     Page 9
  423. ---------------------------------------------------------------------------
  424.  
  425.      Detailed Program Operation
  426.      --------------------------
  427.  
  428.         How to Prepare Your System for Best Results
  429.         -------------------------------------------
  430.  
  431.         Before running Parallel, temporarily remove all parallel port
  432.         devices and software to establish a baseline configuration.
  433.  
  434.         Temporarily disconnect printers and other parallel port devices
  435.         such as disks, network adapters, tape drives, etc, and disable any
  436.         special parallel port software you may have running, like print
  437.         spoolers or parallel port device drivers for external devices.
  438.  
  439.         The interaction of Parallel with external devices is discussed in
  440.         some detail later on, and you may find that disconnecting these
  441.         devices is not necessary in your configuration.
  442.  
  443.         How to Run Parallel.Exe
  444.         -----------------------
  445.  
  446.         Type PARALLEL at the DOS command line.
  447.  
  448.         Parallel will display the parallel port type, IO address, IRQ
  449.         level, BIOS names, and an assortment of informative notes about
  450.         your parallel ports. Running Parallel in a Windows DOS box
  451.         generally provides useless results.
  452.  
  453.         How to Get Quick Help
  454.         ---------------------
  455.  
  456.             PARALLEL ?               ; displays the a reminder screen
  457.  
  458.         How to Prevent Scrolling
  459.         ------------------------
  460.  
  461.         If, perchance, the display scrolls off the screen, which might
  462.         happen if Parallel is reporting extensive notes about interesting
  463.         conditions on your ports, then use the MORE command as follows:
  464.  
  465.             PARALLEL | MORE          ; pauses the output every screen
  466.  
  467.         How to Save Parallel's Output
  468.         -----------------------------
  469.  
  470.         Use DOS redirection to write Parallel's display to a file:
  471.  
  472.             PARALLEL > filename      ; redirects output to a file
  473.  
  474.         How to Avoid the Funny Line Drawing Characters
  475.         ----------------------------------------------
  476.  
  477.         Sorry, you can't.  We plan to add a switch to omit or replace the
  478.         linedrawing characters for more convenient display via email, etc.
  479.  
  480.  
  481.  
  482. Parallel Port Information System                                    Page 10
  483. ---------------------------------------------------------------------------
  484.  
  485.  
  486.         How to get Help with your Parallel Port Questions
  487.         -------------------------------------------------
  488.  
  489.           1. Contact your vendor.
  490.  
  491.              Your vendor has a responsibility to support you in using
  492.              their products.
  493.  
  494.                     If you have a problem with a parallel port device, your
  495.                     vendor may already know a successful resolution.
  496.  
  497.                     Some vendors maintain BBS systems or Compuserve forums
  498.                     on which may occasionally be found useful information,
  499.                     utilities, and driver software upgrades.
  500.  
  501.                     Many vendors of parallel port peripherals offer very
  502.                     good technical support IF YOU GIVE THEM A CHANCE ... or
  503.                     several chances!  Don't hesitate to be persistant.
  504.  
  505.                     If you have a problem configuring a PC parallel port,
  506.                     your vendor may already have a fix ready for you. This
  507.                     may consist of a utility program, a BIOS upgrade, or a
  508.                     manual procedure for configuring the port.  Since PC
  509.                     vendors use a bizarre array of different methods for
  510.                     parallel port configuration, your best bet is really
  511.                     the vendor themselves. Alas, however, some PC vendors
  512.                     are completely clueless about parallel ports, although
  513.                     this situation is improving rapidly.
  514.  
  515.              Give your vendor a chance to resolve the problem. They are
  516.              sometimes the most responsive source of assistance, AND THEY
  517.              NEED YOUR INPUT.  Let them know what you want, and what you
  518.              are doing -- it helps them adjust their plans and priorities.
  519.              If you are not getting the proper assistance, call your
  520.              vendor and let the product manager know about the situation.
  521.  
  522.              Think of it as your contribution to overall product quality!
  523.  
  524.              And if Parallel doesn't detect your ports tell your vendor to
  525.              (a) get a copy of Parallel and (b) help us detect their port!
  526.  
  527.           2. Post your question in the IBMHW forum on Compuserve or in the
  528.              IBM PC Hardware newsgroup on the Internet.
  529.  
  530.              Quite a few technical gurus read these forums and they tend
  531.              to be generous in giving you the benefit of their experience.
  532.  
  533.           3. Email to CIS ID 76640,203 or jaylowe@halcyon.com.
  534.  
  535.              We can't promise immediate service (or indeed any service at
  536.              all!) but we try to do our best.  Please understand that we
  537.              get quite a few random technical inquiries and have to fit
  538.              them around our development schedule.
  539.  
  540.  
  541.  
  542. Parallel Port Information System                                    Page 11
  543. ---------------------------------------------------------------------------
  544.  
  545.      Interpreting Parallel's Display
  546.      -------------------------------
  547.  
  548.  
  549.         Parallel Port Type
  550.         ------------------
  551.  
  552.         Parallel reports the port type as 4bit, 8bit, EPP, ECP or No Port.
  553.  
  554.            No Port
  555.            -------
  556.                     No port was found at the given IO Address.  This is a
  557.                     normal result if no parallel port is installed at the
  558.                     given address.
  559.  
  560.                     Parallel tests all the base addresses at which parallel
  561.                     ports are commonly found and displays at least one line
  562.                     of information about each base address, even if there
  563.                     is no port installed at that address.
  564.  
  565.                     Parallel uses a rather more robust technique for
  566.                     detecting a port than is used in any of the BIOSes we
  567.                     have seen. This means that Parallel can detect ports
  568.                     which fail the BIOS boot-time tests. Parallel uses a
  569.                     rotating bit test and assumes the port exists if any of
  570.                     the bits at the port location respond correctly.
  571.  
  572.                     Parallel is also starting to detect specific advanced
  573.                     parallel port chipsets. Intel and SMC detection is
  574.                     present in this release and National and C&T detection
  575.                     will be included in the next release.
  576.  
  577.                     False Positives.  Parallel can be fooled into thinking
  578.                     that a port is present when it is not (false positive)
  579.                     only if there is some other device which behaves like a
  580.                     parallel port located at the address being tested.  We
  581.                     have only seen this on one system, an off-shore 286
  582.                     laptop which had several other design problems as well.
  583.  
  584.                     False Negatives.  There is one way in which Parallel
  585.                     can be fooled into thinking that a port does not exist
  586.                     (false negative). If an active device is connected to
  587.                     the data lines and is providing enough power to
  588.                     "overdrive" the port, then the port existance test will
  589.                     fail because the incoming data from the device will
  590.                     spoof the readback test. We have only seen Parallel
  591.                     produce false negatives when an external device is
  592.                     actively driving the port's inputs or when the Loopback
  593.                     connector is incorrectly installed. By the way, in this
  594.                     case, the PC's BIOS will also fail to detect the port.
  595.                     Remember, Parallel works best when you disconnect any
  596.                     external parallel port devices or cables.
  597.  
  598.  
  599.  
  600. Parallel Port Information System                                    Page 12
  601. ---------------------------------------------------------------------------
  602.  
  603.            4bit ports
  604.            ----------
  605.  
  606.                     The port can do 8bit byte output and 4bit nibble input.
  607.  
  608.                     These ports are often called "unidirectional", and are
  609.                     most commonly found on desktop bus cards (also called
  610.                     IO expansion cards, serial/parallel cards, or even 2S+P
  611.                     cards) and older laptops. This is still the most common
  612.                     type of port, especially on desktop systems.
  613.  
  614.          HOW FAST:  4bit ports are capable of effective transfer rates of
  615.                     about 40-60 KBytes/sec (KBPS) in typical devices and
  616.                     can be pushed upwards of 140 KBytes/sec with certain
  617.                     design tricks. The port speed is also affected by
  618.                     electrical characteristics of the noise suppression
  619.                     circuitry. A few ports have completely ridiculous
  620.                     arrangements of noise suppression circuits which slow
  621.                     them down quite dramatically and can prevent their
  622.                     correct functioning with parallel port peripherals.
  623.  
  624.         TECH NOTE:  The sample transfer rates given here reflect the actual
  625.                     performance of parallel port network adapters, disks,
  626.                     etc. The raw transfer rate of the port itself is higher
  627.                     but since most parallel devices use software strobing
  628.                     to access data , the effective transfer rate is
  629.                     dependent on the quality of the software supplied with
  630.                     the device. Due to the recent explosion of parallel
  631.                     port peripherals entering the market, there is an
  632.                     extreme degree of variability in the quality and
  633.                     performance of these devices and their drivers.
  634.  
  635.       WHERE FOUND:  4bit ports are found on about 50% of all systems and
  636.                     about 75% or more of desktop systems prior to 1993.
  637.                     Systems built after 1993 are more likely to have more
  638.                     capable parallel ports such as 8bit, EPP, or ECP.
  639.  
  640.         TECH NOTE:  Many new systems, especially laptops, have parallel
  641.                     ports whose mode can be selected via a CMOS setup
  642.                     procedure.  Often these system default to a 4bit port
  643.                     type even if more port capabilities are present.
  644.  
  645.                     We do not recommend 4bit ports; 8bit ports are better.
  646.  
  647.         TECH NOTE:  There is a class of "semi-bidirectional" parallel ports
  648.                     which appear to the PC to be 4bit ports, but actually
  649.                     have 8bit capability when they are connected to
  650.                     external devices with strong drivers. These include the
  651.                     original PC/AT parallel port. Parallel will report such
  652.                     ports as 4bit ports but they may actually function as
  653.                     8bit ports with better parallel port peripherals which
  654.                     are especially designed to use such port as 8bit.
  655.  
  656.  
  657.  
  658. Parallel Port Information System                                    Page 13
  659. ---------------------------------------------------------------------------
  660.  
  661.                     It is actually possible to identify this type of port
  662.                     using a side-effect of Parallel's loopback test. See
  663.                     the special section below on Semi-Bidirectional ports.
  664.  
  665.            8bit ports
  666.            ----------
  667.  
  668.                     These ports can do both 8bit input and output.
  669.  
  670.                     These ports are sometimes called "bidirectional ports",
  671.                     but that term is often misused by some vendors to refer
  672.                     to 4bit ports as well. Most newer laptops have 8bit
  673.                     capability although it may need to be enabled with the
  674.                     laptop's vendor-specific CMOS setup function. This is
  675.                     discussed below. A relatively smaller percentage of LPT
  676.                     bus cards have 8bit capability which sometimes must be
  677.                     enabled with a hardware jumper on the board itself.
  678.  
  679.                     True 8bit ports are preferable to 4bit ports because
  680.                     they are considerably faster when used with external
  681.                     devices that take advantage of the 8BIT capability.
  682.  
  683.          HOW FAST:  8bit ports are capable of speeds ranging from 80-300
  684.                     Kbytes/second, again depending on the speed of the
  685.                     attached device, the quality of the driver software,
  686.                     and on the port's electrical characteristics.
  687.  
  688.       WHERE FOUND:  8bit ports are found on about 25% of desktops, about
  689.                     50% of laptops, and 90% of laptops built since 1991.
  690.  
  691.      CAVEAT EMPTOR: A number of vendors claim "bidirectional" capability
  692.                     for their parallel ports when they are actually mere
  693.                     4bit ports. When buying a parallel port expansion card,
  694.                     or an entire system, you might want to use Parallel to
  695.                     find out the REAL capabilities of the port. Be aware
  696.                     that a vendor's general reputation for quality may not
  697.                     translate into good parallel ports.  There are examples
  698.                     of well-known vendors making false claims for their
  699.                     parallel ports... sometimes, it appears, simply because
  700.                     they don't understand them... the claims or the ports.
  701.  
  702.                     We are not going to pan anyone's "bidirectional"
  703.                     parallel ports specifically, but be warned that the use
  704.                     of terms like "bidirectional" or "PS/2 compatible" may
  705.                     have nothing to do with the port's actual capability.
  706.  
  707.                     Some vendors even refer to 8bit ports as "enhanced",
  708.                     which is totally misleading and creates no end of user
  709.                     confusion. Make sure exactly what you are getting.
  710.  
  711.                     The moral of the story ... use Parallel to test ports
  712.                     to determine their real I/O behavior and compatibility.
  713.  
  714.  
  715.  
  716. Parallel Port Information System                                    Page 14
  717. ---------------------------------------------------------------------------
  718.  
  719.                     Remember that if Parallel can't detect the port, or
  720.                     reliably report it's actual behavior, then chances are
  721.                     good that other software won't be able to either!
  722.  
  723.            EPP ports
  724.            ---------
  725.  
  726.                     Can do both 8bit input and output at ISA bus speeds.
  727.  
  728.                     This type of port is defined by the EPP 1.7 standard,
  729.                     by the actual behavior if the Intel 360SL I/O chip, and
  730.                     also by the IEEE 1284 standard (which is substantially
  731.                     incompatible with the EPP 1.7 standard - more below).
  732.  
  733.          HOW FAST:  These ports are as fast as 8bit bus cards and can
  734.                     achieve transfer rates of upwards of 1 Mbyte/sec. For
  735.                     example, our EPP-capable external SCSI disk is faster
  736.                     on a popular SL laptop than it's own internal drive.
  737.  
  738.                     EPP ports are supposed to conform to a well defined
  739.                     electrical standard and many of them actually do so.
  740.                     However, if you are buying a laptop and want to be sure
  741.                     of using fast EPP-capable external peripherals, then
  742.                     you should definitely arrange to try before you buy.
  743.  
  744.           HISTORY:  EPP ports came about as a joint effort involving
  745.                     Zenith, Intel, and Xircom.  After the introduction of
  746.                     the EPP port capability in the Intel 360SL I/O chip,
  747.                     many manufacturers began providing this feature on
  748.                     their SL-based laptops. An EPP Standards Committee was
  749.                     formed which standardized the behavior of the Intel SL
  750.                     EPP port as the EPP 1.7 standard ... and life was good.
  751.  
  752.                     Then the EPP standards committee merged with the IEEE
  753.                     1284 committee which was itself struggling to specify
  754.                     new parallel port type(s) with a predominant focus on
  755.                     fast and bi-directional communication for printers.
  756.                     Parallel port peripherals other than printers were
  757.                     considered strange beasts and received extremely short
  758.                     shrift in the 1284 deliberations, to the point that the
  759.                     1284 specification does not really embody a long term
  760.                     vision of the parallel port as a high-speed external
  761.                     pathway for interfacing various peripherals to the PC.
  762.  
  763.                     Also, the 1284 committee did not like the details of
  764.                     how the signalling occurred between the PC and the
  765.                     attached device in the EPP 1.7 spec, and agreed to
  766.                     include EPP within the scope of IEEE 1284 only if the
  767.                     EPP standard was changed to correspond to the rules for
  768.                     1284 signalling.  Hence the IEEE 1284 EPP spec, which
  769.                     is incompatible with the original EPP 1.7 spec.
  770.  
  771.                     As a result, there are actually TWO standards for EPP
  772.                     signalling, the original 1.7 specification (embodied in
  773.  
  774.  
  775.  
  776. Parallel Port Information System                                    Page 15
  777. ---------------------------------------------------------------------------
  778.  
  779.                     hundreds of thousands of SL laptops) and the IEEE 1284
  780.                     EPP specification (embodied in a new generation of IEEE
  781.                     compatible parallel ports which support multiple modes
  782.                     of parallel port operation - see below). A typical IEEE
  783.                     1284 style parallel port supports a combination of
  784.                     Compatible (4bit and/or 8bit), EPP (version 1.7 and/or
  785.                     1284) and/or ECP (which we visit in the next section).
  786.  
  787.          EPP BIOS:  To make matters more complicated, the EPP Standards
  788.                     Committee began work on an EPP BIOS spec quite some
  789.                     time ago but the specification is still not adopted
  790.                     either formally by the (now) IEEE 1284 Committee or by
  791.                     any significant numbers of vendors. It is uncertain
  792.                     whether such a BIOS will ever be widely supported, and
  793.                     in any case, it will be too little - too late, because
  794.                     developers will still be required to support the
  795.                     existing defacto standards for non-BIOS interfaces as
  796.                     well as the hypothetical new BIOS standard. This
  797.                     reduces the EPP BIOS's usefulness; instead of being a
  798.                     global standard, it becomes just another special case.
  799.  
  800.                     If this seems complicated to you, then congratulations,
  801.                     you have successfully evaluated the situation!
  802.  
  803.      CAVEAT EMPTOR: Therefore, when buying a system or external peripheral
  804.                     which has high-speed EPP capability, it is crucial to
  805.                     determine whether the system or device supports EPP 1.7
  806.                     or EPP 1284 or both.  See the Buyer's Guide section for
  807.                     more information on this subject.
  808.  
  809.                     Xircom was active in creating and defining the EPP 1.7
  810.                     standard, and since their EPP-capable network adapters
  811.                     are fairly common, it's worth mentioning that these
  812.                     adapters can be used as a practical benchmark for the
  813.                     goodness of a EPP 1.7 port. Crude but effective.
  814.  
  815.                     EPP ports are most often found on laptops using the
  816.                     Intel 386SL chipset with the 360SL I/O support chip or
  817.                     a register-compatible parallel port implmentation. You
  818.                     can usually identify these laptops by the 'SL' suffix
  819.                     in their name, HOWEVER this is not a hard and fast
  820.                     rule, since there are non-SL systems with EPP ports as
  821.                     well as SL systems which (in our tests) have non-
  822.                     functioning or sub-standard EPP ports. Other vendors
  823.                     offer add-in EPP cards for the ISA bus.
  824.  
  825.        The Future:  Standard Microsystems Corp., National Semiconductor,
  826.                     and Chips and Technologies have released multifunction
  827.                     chipsets with both EPP and ECP capability, so users can
  828.                     expect to see fast ports become available on a wider
  829.                     range of systems. Other such chipsets are on the way.
  830.  
  831.                     This new generation of chipsets, combined with the IEEE
  832.                     1284 standard, provides another window of opportunity
  833.  
  834.  
  835.  
  836. Parallel Port Information System                                    Page 16
  837. ---------------------------------------------------------------------------
  838.  
  839.                     for a comprehensive parallel port technology solution.
  840.                     It remains to be seen if parallel port hardware and
  841.                     software vendors will produce a cohesive response, or
  842.                     if parallel ports will remain the PC's prodigal child.
  843.  
  844.            ECP ports
  845.            ---------
  846.  
  847.                     Can do both 8bit input and output at bus speeds.
  848.  
  849.                     The specification for this port type was jointly
  850.                     developed by Microsoft and Hewlett-Packard.
  851.  
  852.                     ECP ports are distinguished by having DMA capability,
  853.                     on-board FIFOs at least 16 bytes deep (too small), some
  854.                     hardware data compression capability, and are generally
  855.                     more featureful than other ports.
  856.  
  857.                     The MS/HP ECP port specification defines the ISA bus
  858.                     registers by which the PC software can read and write
  859.                     data at high speed to an attached device.
  860.  
  861.                     The MS/HP ECP port specification (what's inside the PC)
  862.                     is related to the IEEE 1284 specification (what happens
  863.                     on the wires outside the PC in various modes).
  864.  
  865.          HOW FAST:  These ports are as fast as 8bit bus cards and can
  866.                     achieve transfer rates upwards of 1 Mbyte/sec and
  867.                     faster on PCs whose buses will support it. The design
  868.                     is capable of faster transfer rates in the future.
  869.  
  870.         TECH NOTE:  ECP port specification defines an ECR control register
  871.                     with port mode configuration bits which may be used to
  872.                     place the ECP port into several different submodes.
  873.  
  874.                     The ECP specification defines a multimodal port which
  875.                     can support backward compatible and enhanced modes of
  876.                     operation.
  877.  
  878.                     My goodness, this is starting to look like an excellent
  879.                     solution to the proliferation of incompatible parallel
  880.                     port standards. A standard port with multiple modes!
  881.  
  882.                     Alas, the ECP port specification does not define an EPP
  883.                     mode, so vendors have chosen various ways of providing
  884.                     an EPP capability within the framework of the ECP port
  885.                     specification. Let's look at how this works.
  886.  
  887.                     SMC, for example, uses a reserved bit of the ECR
  888.                     register to place the port into EPP 1284 mode on their
  889.                     66xQPF chip (see Parallel Port Buyer's Guide). The
  890.                     66xQPF chip, used on the Intel Pentium motherboards,
  891.                     does not support EPP 1.7, which means that the large
  892.                     installed base of parallel port network adapters,
  893.  
  894.  
  895.  
  896. Parallel Port Information System                                    Page 17
  897. ---------------------------------------------------------------------------
  898.  
  899.                     external disks, SCSI adapters, etc generally don't work
  900.                     on such systems. When SMC figured this out, they
  901.                     announced the 66xGT revision of the chip, which has TWO
  902.                     EPP modes, 1.7 and 1284, as well as various bug fixes.
  903.  
  904.                     In addition, the SMC chip implements a TWO level
  905.                     approach for controlling parallel port configuration.
  906.                     The 66x contains configuration registers which ENABLE
  907.                     the port to be in Standard, EPP-only, ECP-only, or EPP-
  908.                     ECP modes. If the port is in ECP or EPP-ECP modes, then
  909.                     the actual submode is SELECTED according to the ECP
  910.                     spec by using the ECR register which appears on the bus
  911.                     only when the chip is ENABLED for ECP or EPP-ECP.
  912.  
  913.                     To make matters even more complicated, other vendors
  914.                     have taken other approaches to shoehorning EPP into the
  915.                     framework of the ECP specification.
  916.  
  917.         STANDARDS:  Note that while both the EPP and ECP parallel port
  918.                     specifications establish how the port operates within
  919.                     the PC when it is enabled, the specs do not describe
  920.                     how the enablement occurs - that is left to vendors.
  921.  
  922.                     For example, the EPP 1.7 specification defines the
  923.                     various I/O registers of the EPP port, but does not
  924.                     define how to detect such a port or enable it.
  925.  
  926.                     Similarly, the ECP port specification defines the port
  927.                     I/O registers and some of the configuration processes,
  928.                     but does not define exactly how such ports are enabled,
  929.                     this is a constant problem with inadequate standards.
  930.  
  931.                     Therefore it is possible for vendor ABC's excellent EPP
  932.                     1.7 (or ECP, etc) device to fail to operate on vendor
  933.                     XYZ's system because XYZ implemented the port in a way
  934.                     that ABC does not recognize (yet). Parallel port device
  935.                     vendors are constantly challenged by the appearance of
  936.                     new types of ports - and the better vendors frequently
  937.                     have software upgrades which support specific ports.
  938.  
  939.                     Existing parallel port standards have missed the mark.
  940.  
  941.                     they do not qualify as fully conceived response to the
  942.                     overall requirement for speed, vendor flexibility, and
  943.                     ease of use in the PC environment. These standards have
  944.                     focused on bringing short-term capabilities to market
  945.                     rather than on providing a comprehensive, universal
  946.                     solution to the end user.
  947.  
  948.                     In the Buyer's Guide section, we will attempt to throw
  949.                     some light on your practical options when shopping for
  950.                     a system with fast parallel ports. The Parallel Port
  951.                     Standards section reviews the various parallel port
  952.                     standards, de facto and de jure.
  953.  
  954.  
  955.  
  956. Parallel Port Information System                                    Page 18
  957. ---------------------------------------------------------------------------
  958.  
  959.  
  960.         IO Address
  961.         ----------
  962.  
  963.         Also called the "base address" the port. It will almost always be
  964.         3BC, 378, or 278 hex. A very rare subset of parallel ports may
  965.         support additional addresses such as 280, 290, etc.
  966.  
  967.         The IO address specifies the port's location on the PC's IO bus.
  968.  
  969.         Normally the first port is configured to 3BC, the second to 378,
  970.         etc, however ports can be assigned to any of these three addresses.
  971.  
  972.         On bus cards, the IO address is usually set by a arrangement of
  973.         jumpers unique to the particular board. You will need a manual or
  974.         the ability to read PC board traces (gacck!). These jumpers are
  975.         usually arranged to allow you to select one of three addresses.
  976.  
  977.         Sometimes these addresses are called by the "logical device names"
  978.         of LPT1, LPT2, and LPT3, although this practice is quite misleading
  979.         (see BIOS discussion below).
  980.  
  981.         Some boards offer a more limited selection of configurations,
  982.         usually 378 and 278, and a few are actually hardwired to a specific
  983.         address. Vendors do this to save a little money and to eliminate
  984.         the chance of creating an address collision with the "standard"
  985.         address of 3BC. Because of the increasing number of clones which
  986.         are assembled from various components, we often see systems with
  987.         one LPT card, configured to address 378. In fact, a fair number of
  988.         systems are shipped with this 378 default configuration.
  989.  
  990.         A slightly interesting result we've seen in several desktops spins
  991.         off when someone adds a second LPT card to a system which already
  992.         has a LPT at 378, IRQ 7. Sometimes they naively reason that since
  993.         378 is taken they can use 3BC and slap in the card without checking
  994.         the IRQ level. This creates a configuration of 3BC and 378 both
  995.         using IRQ 7, a situation which can lead to intermittent crashes
  996.         when using interrupt-driven parallel port software.
  997.  
  998.         By the way, some systems have parallel ports and com ports built
  999.         onto the motherboard itself and, in this case, the configuration
  1000.         jumpers will be found on the motherboard or, as in the case of more
  1001.         recent systems, in the CMOS SETUP utility.
  1002.  
  1003.         The new generation of ECP-capable parallel ports typically
  1004.         implement software selectable modes, base addresses, and IRQs.
  1005.  
  1006.         If you have one of these new parallel ports, you will require
  1007.         appropriate software in order to configure your port.  This may
  1008.         exist within the CMOS setup function or may exist as a separate
  1009.         utility.  When you buy a system or an add-in card which has
  1010.         advanced parallel port functionality MAKE SURE YOU GET THE SOFTWARE
  1011.         which allows you to enable it. Some vendors include it, some don't.
  1012.  
  1013.  
  1014.  
  1015. Parallel Port Information System                                    Page 19
  1016. ---------------------------------------------------------------------------
  1017.  
  1018.         Be aware of the distinction between configuration software which
  1019.         allows you to control the configuration of your port, and device-
  1020.         specific driver software which uses the port.
  1021.  
  1022.         Notice that there are three commonly used IO Addresses (3BC, 378,
  1023.         278) and two available interrupt levels (IRQ 7 and IRQ 5). This
  1024.         means that if you have three LPT cards in a system, two of them
  1025.         will probably be configured to share a hardware interrupt level.
  1026.         This is hardwarily permissible, and generally doesn't create any
  1027.         problems since most DOS and Windows software doesn't ENABLE
  1028.         interrupts for printing anyway. However, if you are using LPT
  1029.         software like an interrupt-driven print spooler or interrupt-driven
  1030.         LPT devices like external hard disks, external network adapters,
  1031.         and so forth, then you have to be sure that either (1) the ports
  1032.         are not using the same interrupt level, or (2) both the ports and
  1033.         the software are capable of "interrupt sharing".
  1034.  
  1035.         When adding or configuring LPT cards, we suggest using 3BC, IRQ 7
  1036.         for the first card; 378, IRQ 5 for the second card; and 278, no IRQ
  1037.         for the third card. This gives you two interrupt-capable LPT ports,
  1038.         and one port (at 278) which you should use only for non-interrupt
  1039.         driven usage, like the status-driven spooling provided by DOS.
  1040.  
  1041.         You should only configure your system to share interrupts when you
  1042.         are (1) absolutely sure that they will not be simultaneously
  1043.         enabled, and (2) when you have totally run out of other options.
  1044.  
  1045.         Also, you should know that many sound cards, like the SoundBlaster,
  1046.         arbitrarily use IRQ5 by default. This was a bad design decision,
  1047.         especially so since the SoundBlaster's implementation of interrupts
  1048.         creates a serious conflict when sharing the interrupt with other
  1049.         devices, but we are stuck with it.  If you are using a sound card
  1050.         on IRQ 5, then you should definitely AVOID ENABLING that level on
  1051.         any of your parallel ports.
  1052.  
  1053.         Armed with this understanding and the Parallel Utility, you are
  1054.         equipped to select a configuration which works for you.
  1055.  
  1056.            HOW TO:  The IO ADDRESS is a standard parameter in network
  1057.                     configuration files where it takes on different names
  1058.                     to confuse innocent users. (Base, Port, etc).
  1059.  
  1060.                     Some simple-minded parallel port peripherals (ones
  1061.                     without auto-configuring capability) require that you
  1062.                     specify the IO address, IRQ level, and sometimes the
  1063.                     Port Type in a vendor-specific way. Parallel provides
  1064.                     you with this information.
  1065.  
  1066.            HOW TO:  Resolving IO Address conflicts is usually fairly
  1067.                     simple, since it is rare to find a device which uses
  1068.                     the standard parallel port addresses.
  1069.  
  1070.                     A good procedure for eliminating potential IO address
  1071.                     conflicts when installing parallel port add-in boards
  1072.  
  1073.  
  1074.  
  1075. Parallel Port Information System                                    Page 20
  1076. ---------------------------------------------------------------------------
  1077.  
  1078.                     is to remove all the boards, install one, use Parallel
  1079.                     to see what address it finds, install the next, and so
  1080.                     forth. If Parallel finds each board at a separate
  1081.                     addresses as you install them, then you can be sure of
  1082.                     your configuration.
  1083.  
  1084.         Understanding the IRQ Level
  1085.          ---------------------------
  1086.  
  1087.         This is the hardware interrupt level assigned to the port. It will
  1088.         almost always be either 7 or 5. Only a few specific parallel ports
  1089.         support IRQ levels other than 7 or 5.
  1090.  
  1091.         Parallel displays:
  1092.  
  1093.                "?" when it cannot detect the IRQ level of the port and
  1094.                "-" when it knows the the port doesn't exist.
  1095.  
  1096.         Parallel needs an external loopback connector to automatically
  1097.         detect the IRQ. With appropriate precautions (described in horrible
  1098.         and excruciating detail below) you can use a simple paperclip as a
  1099.         loopback connector.
  1100.  
  1101.         Normally IRQ 7 is assigned to the first port and IRQ 5 is assigned
  1102.         to the second port. However, due to the explosion of clones
  1103.         assembled from disparate parts, it is not uncommon to see systems
  1104.         with one LPT port located at 378 with an IRQ of 7 or 5. This is
  1105.         because clones are often assembled using offshore add-in LPT cards
  1106.         which are shipped configured to operate as a second LPT card.
  1107.  
  1108.         This is a good time to point out that there are few hard and fast
  1109.         rules when it comes to parallel port configuration. Ports can be
  1110.         located at any one of the three standard base address and can use
  1111.         either of the IRQ levels. If you are developing parallel port
  1112.         software, you should auto-detect the actual configuration rather
  1113.         than assume any standard usage.
  1114.  
  1115.         We offer libraries and source code for this purpose. Here at
  1116.         Parallel Technologies, we test our software using many strange
  1117.         configurations and delight in adding idiosyncratic ports to our
  1118.         extensive collection.
  1119.  
  1120.         The most common idiosyncrasy of port IRQ is IRQ inversion. The PC
  1121.         standard calls for interrupts to be generated on 0->1 transitions
  1122.         of the interrupt line.  A small percentage of parallel ports
  1123.         generate their interrupts on 1->0 transitions.  Ports with inverted
  1124.         IRQ can fail to operate with some interrupt software, particularly
  1125.         certain external network adapters, disks, and so forth. Parallel
  1126.         identifies these ports with a note "IRQ style is INVERTED".
  1127.  
  1128.         Some parallel ports have non-functioning IRQ lines. They are simply
  1129.         not capable of generating interrupts. Only a very few pieces of
  1130.         software are capable of dealing with these ports by using a polled
  1131.  
  1132.  
  1133.  
  1134. Parallel Port Information System                                    Page 21
  1135. ---------------------------------------------------------------------------
  1136.  
  1137.         mode of operation. It is sometimes possible to repair such systems
  1138.         by jumpering the interrupt enable line to the parallel port chip.
  1139.  
  1140.         In the case of an add-in board with broken IRQ capability, check to
  1141.         be sure the IRQ jumper, if any, has not gone missing somehow.
  1142.  
  1143.         On ISA cards (bus cards in ISA slots) the interrupt level is
  1144.         usually set with jumpers on the board - these jumpers are different
  1145.         for every card so you need to hunt around for the manual in order
  1146.         to change them. If you're lucky there will be readable labels on
  1147.         the card itself.
  1148.  
  1149.         On laptops and an increasing number of desktops, the IRQ level can
  1150.         usually be set using the vendor's CMOS configuration (setup)
  1151.         program. Sometimes these CMOS setup programs are built into the
  1152.         ROM; sometimes they exist as separate programs or as part of the
  1153.         vendor's diagnostic program(s). Refer to your manual to find out
  1154.         how to enter the CMOS setup mode. BE CAREFUL when using the CMOS
  1155.         setup, since it gives you access to parameters that can disable
  1156.         your system if wrongly changed. KNOW WHAT YOU ARE DOING. DON'T
  1157.         CHANGE ANYTHING YOU DON'T FULLY UNDERSTAND. WRITE DOWN THE INITIAL
  1158.         VALUES OF ANY SETTINGS YOU CHANGE. ASK YOUR VENDOR FOR HELP.
  1159.  
  1160.  
  1161.                                 ******************
  1162.                                 * IMPORTANT NOTE *
  1163.                                 ******************
  1164.  
  1165.         Misuse of your system's CMOS setup program can prevent your system
  1166.         from operating correctly, or in some cases, from operating at all!
  1167.  
  1168.         Be sure you know what you are doing; read your user's manual or get
  1169.         qualified help if you have any doubts.
  1170.  
  1171.         Another strange feature of these software configurable ports is
  1172.         that they often have very peculiar ideas about nomenclature. Often
  1173.         these CMOS setup programs use vendor specific "magic code words" to
  1174.         select various parallel port configurations, and these magic words
  1175.         can have non-obvious effects. Sometimes the vendor's manuals don't
  1176.         even provide a secret decoder ring to explain what their magic
  1177.         words really mean in terms of IO Address, IRQ, and Port Type.
  1178.  
  1179.         Parallel will be useful for determining the actual effect of the
  1180.         CMOS setup choices on your system.
  1181.  
  1182.         For example, on my Dell NL25 laptop, 4bit mode is called "Normal"
  1183.         and 8bit is called "Enhanced" and there is no choice at all for the
  1184.         real Enhanced Parallel Port (the SL's EPP port). So someone might
  1185.         obviously think they have enabled EPP by choosing "Enhanced".
  1186.         Futhermore, the IRQ level cannot be set directly, but rather is set
  1187.         as a by-product of selecting combinations of the IO address and the
  1188.         Port Type. Most of the choices on my Dell yield IRQ 7, but one
  1189.         lonely choice - LPT1, 278, Normal mode results in IRQ 5. It makes a
  1190.         bizarre sort of sense when you are experienced with parallel ports,
  1191.  
  1192.  
  1193.  
  1194. Parallel Port Information System                                    Page 22
  1195. ---------------------------------------------------------------------------
  1196.  
  1197.         but is likely to be confusing to the Average User (if we ever find
  1198.         him, or her).
  1199.  
  1200.         The Dell is hardly alone in it's strange naming conventions ...
  1201.         most PCs have confusing, misleading, or incomplete labels and
  1202.         controls in their CMOS setup programs. This sort of indirect
  1203.         control in very common in CMOS setups and creates a lot of tech
  1204.         support calls from frustrated users.
  1205.  
  1206.         In addition, most SL laptops don't have the capability to enable
  1207.         their EPP ports from CMOS. Usually you need to run a separate
  1208.         vendor-supplied BIOS extension to enable EPP capability. These take
  1209.         the form of a tiny TSR which adds INT 17h BIOS extensions for
  1210.         controlling the EPP port, and handles command line arguments for
  1211.         enabling and disabling EPP. An interesting sidelight of switching
  1212.         into EPP mode can be that your port IO address may change on the
  1213.         fly. The Intel EPP hardware allows EPP ports to be configured at IO
  1214.         Addresses 378 and 278. So if you have set your port address to 3BC
  1215.         (with CMOS for example) and then switch into EPP mode, your port
  1216.         will appear to have moved.
  1217.  
  1218.         Parallel will come in handy in trying to make sense of what your
  1219.         system's CMOS settings are actually doing to your parallel ports.
  1220.  
  1221.         Understanding the BIOS Name
  1222.         ---------------------------
  1223.  
  1224.         This is the "human-readable" (hah!) name which you use to refer to
  1225.         the port when using DOS commands, Windows picklists, and so forth.
  1226.         It will be one of the following: LPT1, LPT2, LPT3.  LPT4 is
  1227.         extremely rare and Parallel currently ignores it.
  1228.  
  1229.         The port address is NOT the same as the BIOS name for the port. For
  1230.         example, LPT1 can refer to a port at any address: 3BC, 378, or 278.
  1231.  
  1232.         So how does the BIOS associate the LPT names with the actual ports?
  1233.  
  1234.         It works like this ...
  1235.  
  1236.         Whenever your system boots, the BIOS goes out and tries to write
  1237.         and read back data from locations 3BC, 378, and 278. If it can read
  1238.         back what it writes, then the BIOS decides that a parallel port is
  1239.         there and adds the IO address to a LPT table in the "Bios Data
  1240.         Area". This table is four words located at memory location 40:8.
  1241.  
  1242.         A command like "copy foo.txt lpt2:" really means "copy the file
  1243.         foo.txt to the second printer that BIOS knows about" and DOS uses a
  1244.         software interrupt, INT 17h, to do just that. INT 17h looks in the
  1245.         Bios Data area to find out the IO address of the "second printer
  1246.         port", which can be any of the IO addresses - 3BC, 378, or 278.
  1247.  
  1248.         The result is that LPT1 refers to the first port BIOS finds at boot
  1249.         time, wherever it may be. So "LPT1" means "the first port found in
  1250.  
  1251.  
  1252.  
  1253. Parallel Port Information System                                    Page 23
  1254. ---------------------------------------------------------------------------
  1255.  
  1256.         the address order", not necessarily 3BC, 378, or 278 specifically.
  1257.         Some BIOSes have unique methods for finding their LPT ports.
  1258.  
  1259.         When you see LPT1, LPT2, or LPT3 used to refer to port locations,
  1260.         be alert for possible misleading information. Some well-known
  1261.         vendor's manuals use LPT1 to refer to 378 and LPT2 to refer to 278,
  1262.         etc, an entirely spurious practice which has confused many users.
  1263.  
  1264.         It is possible for some parallel port software to set the port into
  1265.         an IO mode that causes it to fail the simple BIOS test and seem to
  1266.         "disappear" from your system even after a soft boot (CTRL-ALT-DEL).
  1267.  
  1268.         Parallel has a better port detection test, and can usually find
  1269.         such ports. A hard reset (a power-off reset) will clear the port.
  1270.         Parallel ports are not completely trivial devices; they have a
  1271.         number of states that can affect their operation. So if you are
  1272.         having a parallel port problem, one of the first things to do is a
  1273.         power-off reset.
  1274.  
  1275.         Another factor here is that various programs can fiddle with the
  1276.         LPT table in order to rearrange how the names relate to the ports
  1277.         or to accomplish other effects like network print redirection.
  1278.  
  1279.         The utility SWAPPRT, for example, can be used to swap LPTx with
  1280.         LPTy which it does by moving the entries in the LPT table.
  1281.  
  1282.         There are variations of this redirection theme.  Network print
  1283.         capture functions (such as those founf in Netware and so forth) put
  1284.         special values in the LPT BIOS table to mark that the port is not a
  1285.         physical port but rather is a ``
  1286.                                        virtual port'' which is actually
  1287.         served by a software function, usually redirection of INT 17.
  1288.  
  1289.         Some parallel port devices with passthrough printing ports also use
  1290.         this technique to intercept the output of programs which print
  1291.         using the INT 17 function call.
  1292.  
  1293.         If Parallel does not display a BIOS name for a port, that means the
  1294.         IO Address for that LPT position has been replaced with a value
  1295.         that does not match a valid hardware port. This can occur when some
  1296.         other parallel port software has grabbed possesion of the port by
  1297.         placing a "magic number" in the BIOS LPT Table.
  1298.  
  1299.         Remember, the BIOS decides how LPT symbolic names are mapped onto
  1300.         physical port addresses, generally by a test a boot time, not the
  1301.         vendor's manual, or the jumpers, or the CMOS settings.
  1302.  
  1303.  
  1304.  
  1305. Parallel Port Information System                                    Page 24
  1306. ---------------------------------------------------------------------------
  1307.  
  1308.  
  1309.  
  1310.         Understanding the Notes and Comments
  1311.         ------------------------------------
  1312.  
  1313.         The "Notes" field of the display will contain various comments,
  1314.         depending on what Parallel has detected. Each note may be followed
  1315.         by one or more comments giving further information or directions.
  1316.         These secondary comments are indented one space under their note.
  1317.  
  1318.         "Port is an XYZZY chip"
  1319.  
  1320.                     Parallel is reporting the specific chipset used to
  1321.                     implement the parallel port at that address. Some
  1322.                     vendors may design completely compatible chipsets
  1323.                     (thank you) which spoof the specific chip detection.
  1324.  
  1325.                     Parallel may also report additional information about
  1326.                     the current setting of the chipset.
  1327.  
  1328.                     For example, in the case of an SMC 66x chip that is
  1329.                     enabled for EPP-ECP mode and which currently has the
  1330.                     Compatible submode of ECP selected (whew!), Parallel
  1331.                     will report an ECP port with a Note that the port is
  1332.                     currently in 4bit mode.
  1333.  
  1334.         "No port found at this address"
  1335.  
  1336.                     No parallel port is installed at this IO Address.
  1337.  
  1338.                     This is a normal result if no port in installed there.
  1339.  
  1340.                     However, it is possible that something is connected to
  1341.                     the parallel port and is overdriving the port's inputs,
  1342.                     which prevents the software readback test from working.
  1343.  
  1344.                     Be sure you have disconnected all external devices.
  1345.  
  1346.         "Need loopback to determine IRQ"
  1347.  
  1348.                     The port exists, but does not respond to attempts to
  1349.                     generate IRQs. This is because a loopback connector is
  1350.                     required for IRQ detection in most cases.
  1351.  
  1352.         "Port IRQs are not functioning"
  1353.  
  1354.                     This is pretty bad. It means that the loopback
  1355.                     connector is present and working correctly, but
  1356.                     Parallel still can't generate any interrupts.
  1357.                     Technically it means that transitions in the ACK line
  1358.                     are not causing interrupts through the PC's interrupt
  1359.                     controller.
  1360.  
  1361.  
  1362.  
  1363. Parallel Port Information System                                    Page 25
  1364. ---------------------------------------------------------------------------
  1365.  
  1366.                     In practice, it means that interrupt-driven devices and
  1367.                     software won't work, unless they have polling support.
  1368.  
  1369.                     Possible reasons for failing the IRQ test include:
  1370.  
  1371.                     1. The port's interrupt capability is disabled
  1372.  
  1373.                          Check your CMOS configuration and/or the hardware
  1374.                          jumpers on the parallel port board(s) to be sure
  1375.                          that the interrupt is enabled. The function of
  1376.                          CMOS parameters and/or hardware jumpers varies
  1377.                          from system to system, so check your manual or
  1378.                          contact your vendor if you have problems enabling
  1379.                          the port's interrupt line.
  1380.  
  1381.                          Note that most CMOS and jumper arrangements
  1382.                          combine enabling the IRQ with selecting the level,
  1383.                          ie, "enable IRQ5" or "enable IRQ7". Installing the
  1384.                          jumper may combine selecting a level and enabling
  1385.                          IRQ. Removing the jumper generally disables IRQ.
  1386.  
  1387.                     2. The port does not have IRQ capability
  1388.  
  1389.                          Most ports DO have interrupt capability, but a
  1390.                          small percentage of older systems(at a guess %1 to
  1391.                          %5) do not. More laptops lack interrupts than add-
  1392.                          in cards. Add-in cards without IRQ are rare. Most
  1393.                          reports of non-functional parallel port IRQs in
  1394.                          desktop systems can be tracked to configuration
  1395.                          problems which create interrupt conflicts (see #3)
  1396.                          which effectively disable IRQ.
  1397.  
  1398.                     3. There is an IRQ conflict with another device
  1399.  
  1400.                          It is possible that another device in your system
  1401.                          is preventing the parallel port IRQs from
  1402.                          functioning.  For example, in IBM-PCs and XTs, the
  1403.                          disk controller may use IRQ 5 and prevent parallel
  1404.                          ports configured to IRQ5 from creating interrupts.
  1405.  
  1406.                          Sound cards frequently use IRQ5 and are likely
  1407.                          candidates for creating such IRQ conflicts.
  1408.  
  1409.                          To isolate this problem, remove all boards from
  1410.                          your system which are not required to perform the
  1411.                          test. In other words, strip down to just the
  1412.                          parallel port, floppy controller and video, and
  1413.                          repeat the test.
  1414.  
  1415.                          If possible, configure the parallel port to IRQ7.
  1416.                          If the port can use IRQ7 interrupts, but not IRQ5
  1417.                          interrupts, then an interrupt conflict is likely.
  1418.  
  1419.         "IRQ determined by loopback"
  1420.  
  1421.  
  1422.  
  1423. Parallel Port Information System                                    Page 26
  1424. ---------------------------------------------------------------------------
  1425.  
  1426.  
  1427.                          The loopback was detected, is operating correctly,
  1428.                          and the port's IRQs are functioning correctly.
  1429.                          The IRQ level found is given in the IRQ column.
  1430.  
  1431.         "IRQ estimated by port float"
  1432.  
  1433.                          No loopback connector was detected, but the port
  1434.                          is generating IRQs anyway. This probably means
  1435.                          that the port is connected to an inactive
  1436.                          (unpowered) external device. Treat IRQs determined
  1437.                          in this way with some skepticism; better to
  1438.                          disconnect the device and use a known-good
  1439.                          loopback connector.
  1440.  
  1441.         "IRQ determined by EPP hardware"
  1442.  
  1443.                          If the Port Type is determined to be Intel EPP,
  1444.                          then Parallel does not use the IRQ test, but
  1445.                          rather reports the IRQ which is standard for an
  1446.                          Intel EPP port at that IO Address. This only
  1447.                          applies to actual Intel SL type EPP ports.
  1448.  
  1449.         "IRQ noise is present"
  1450.  
  1451.                          Parallel has detected extraneous interrupts
  1452.                          occuring on IRQ level 5 or 7 during the IRQ test.
  1453.  
  1454.                          This condition is reported when the total number
  1455.                          of interrupts occurring on both IRQ5 and IRQ7
  1456.                          exceeds the number of interrupts Parallel expects.
  1457.  
  1458.                          This can mean several things:
  1459.  
  1460.                          1. PIC errors. The PC's interrupt controller (PIC)
  1461.                          is generating errors as described below.
  1462.  
  1463.                          2. An active device other than the parallel port
  1464.                          under test is generating interrupts on IRQ 5 or 7.
  1465.                          This is typically a sound card or another parallel
  1466.                          port with a enabled, floating, IRQ line.
  1467.  
  1468.                          3. The port's IRQ line is electrically noisy. This
  1469.                          has been seen with boards which have dual parallel
  1470.                          ports where transitions in one port's IRQ line
  1471.                          causes noise on the other port's IRQ line.
  1472.  
  1473.                          This result may be ignored if you are not having
  1474.                          any problems, but be informed that this condition
  1475.                          is quite likely to confuse parallel port software
  1476.                          which tries to autodetect the port's IRQ level.
  1477.  
  1478.  
  1479.  
  1480. Parallel Port Information System                                    Page 27
  1481. ---------------------------------------------------------------------------
  1482.  
  1483.                          Noisy IRQ lines can also slow down or break driver
  1484.                          software which is not intelligent enough to defend
  1485.                          itself against this relatively common situation.
  1486.  
  1487.      TECHNICAL NOTE:     PIC errors are usually found with parallel port
  1488.                          chips whose "open" condition on the ACK line may
  1489.                          allow the IRQ signal to float randomly. This
  1490.                          effect creates PC interrupt controller errors
  1491.                          which are redirected by the PIC to IRQ7 where they
  1492.                          can be mistaken for "real" interrupts.
  1493.  
  1494.                          An PIC error condition is defined to occur when
  1495.                          the PIC attempts to service the requesting device
  1496.                          but the device's interrupt line has gone inactive.
  1497.                          These are also known as "lost interrupts", which
  1498.                          are not really lost but rather redirected to IRQ7.
  1499.  
  1500.                          A noisy IRQ line can create the appearance of lost
  1501.                          interrupts and this confuse driver software.
  1502.  
  1503.                          The effect of lost interrupts being redirected to
  1504.                          IRQ 7 explains why some parallel port driver
  1505.                          software works well on IRQ7 but not IRQ5, or vice
  1506.                          versa. The interrupt is lost, redirected to IRQ 7,
  1507.                          and thus becomes found again.  Strange.
  1508.  
  1509.                          Parallel port interrupt handlers have to account
  1510.                          for conditions that are generally not seen by
  1511.                          other device drivers. If you are having problems
  1512.                          with parallel port software you may want to try
  1513.                          configuring the port to the other interrupt level.
  1514.  
  1515.         "Data port has stuck bits!"
  1516.  
  1517.                          The rotating bit test has detected bits in the
  1518.                          data port which cannot be set or cleared properly.
  1519.  
  1520.                          This can mean that an enternal connection is
  1521.                          preventing the datalines from makeing the expected
  1522.                          transistions.  You may have inserted the Loopback
  1523.                          incorrectly.
  1524.  
  1525.                          Of course if there is no external device present,
  1526.                          then something else must be happening! It could be
  1527.                          that an active device is forcing some of the data
  1528.                          lines to a fixed level. It could also mean that
  1529.                          your port exists, but some of the data bits are
  1530.                          not working, which is a polite way of saying that
  1531.                          your port is busted.
  1532.  
  1533.                          A false Port Type may be reported in this case.
  1534.  
  1535.                          Make sure that the loopback, if used, is correct.
  1536.                          Make sure that all devices are disconnected.
  1537.  
  1538.  
  1539.  
  1540. Parallel Port Information System                                    Page 28
  1541. ---------------------------------------------------------------------------
  1542.  
  1543.  
  1544.         "IRQ style is INVERTED"
  1545.  
  1546.                          The port's IRQ line functions in an opposite sense
  1547.                          from the PC standard. A significant amount of
  1548.                          software will fail to work with such ports. There
  1549.                          is no remedy for this condition in general; the
  1550.                          best we can advise is to use a different port if
  1551.                          you have a bus system or try other CMOS settings
  1552.                          on a laptop if that is possible. You might try
  1553.                          contacting your vendor.
  1554.  
  1555.                          Parallel may falsely report inverted IRQ if there
  1556.                          is an external device connected to the port.
  1557.  
  1558.         "Possible IRQ Conflict"
  1559.  
  1560.                          Two or more ports in your system are using the
  1561.                          same IRQ level. If you are not using interrupt-
  1562.                          driven parallel port peripherals or printing
  1563.                          software then you might simply ignore the warning
  1564.                          if you are not experiencing any problems. However,
  1565.                          you should know that some very strange results can
  1566.                          occur when two parallel ports are  trying to drive
  1567.                          the same IRQ line. Sometimes one or both ports can
  1568.                          falsely appear to have INVERTED IRQ.
  1569.  
  1570.                          The best solution is to move one of the ports to
  1571.                          another IRQ level, if that is possible.
  1572.  
  1573.         "BIOS Data doesn't match hardware"
  1574.  
  1575.                          The contents of the BIOS LPT Table does not match
  1576.                          the expected initial state at boot time.
  1577.  
  1578.                          This is probably due to a parallel port device
  1579.                          driver, a SWAPLPT program, or print spooler having
  1580.                          fiddled with the BIOS data, in which case it may
  1581.                          be considered normal operation.
  1582.  
  1583.                          Network drivers (typically the redirector clients)
  1584.                          also commonly rearrange the BIOS LPT Table in
  1585.                          other to provide network print redirection.
  1586.  
  1587.                          This information is useful if you are having
  1588.                          problems with print redirection. Also, some
  1589.                          parallel port device drivers do not examine the
  1590.                          hardware directly to determine which ports exist,
  1591.                          but rather only look at the BIOS. If you have run
  1592.                          other parallel port software which has changed the
  1593.                          BIOS in a non-standard way, then these device
  1594.                          drivers may fail to find any parallel ports, or
  1595.                          may try to access the wrong port with peculiar
  1596.                          results. This can often be solved by changing the
  1597.  
  1598.  
  1599.  
  1600. Parallel Port Information System                                    Page 29
  1601. ---------------------------------------------------------------------------
  1602.  
  1603.                          order of loading or by manually configuring the
  1604.                          failing driver.
  1605.  
  1606.         "Port has latent EPP tendencies"
  1607.  
  1608.                          The port is an Intel SL EPP port, but it is
  1609.                          currently configured to a non-EPP mode. Use your
  1610.                          vendor-supplied CMOS or separate configuration
  1611.                          program if you need to enable the EPP capability.
  1612.                          Some vendors do not ship the ability to enable
  1613.                          EPP; an appropriate utility may be available on
  1614.                          the vendor's BBS.
  1615.  
  1616.                          In particular, the EPP function of Compaq SL
  1617.                          laptops may be enabled with their SETEPP utility.
  1618.  
  1619.         "EPP port is Intel SL flavored"
  1620.  
  1621.                          The EPP port is an Intel SL port (360SL chipset).
  1622.  
  1623.                          It is possible for Parallel to report a false
  1624.                          Intel EPP detection on some systems. One Toshiba
  1625.                          system (3600) has an 360SL onboard which does
  1626.                          respond to EPP detection but is NOT connected to
  1627.                          the outside world - instead their custom ASIC is
  1628.                          used to implement the parallel port. So Parallel
  1629.                          will report a false EPP result on this laptop.
  1630.  
  1631.         "EPP port is vanilla flavored"
  1632.  
  1633.                          The EPP port is NOT an Intel SL port, but does
  1634.                          pass a generic EPP write/readback test. This test
  1635.                          is only attempted if the EPP BUSY line is not
  1636.                          HIGH. This avoids hanging the CPU on EPP ports
  1637.                          which do not implement the access watchdog timer.
  1638.  
  1639.  
  1640.  
  1641. Parallel Port Information System                                    Page 30
  1642. ---------------------------------------------------------------------------
  1643.  
  1644.      Automatic IRQ detection
  1645.      -----------------------
  1646.  
  1647.         Parallel uses two methods for automatic detection of a port's IRQ
  1648.         level: port float or the external loopback connector.
  1649.  
  1650.         Understanding Port Float
  1651.         ------------------------
  1652.  
  1653.         Many parallel ports will "float" in a unstable logic state when
  1654.         connected to an unpowered external device such as a printer. This
  1655.         unstable logic state may cause the port to generate a limitless
  1656.         stream of apparent interrupts to the CPU if the port's interrupt
  1657.         line is enabled. This peculiar behavior is used to advantage by
  1658.         Parallel.
  1659.  
  1660.         If you have a unpowered (powered off) printer, or other device,
  1661.         attached to a port, then Parallel may be able to detect the
  1662.         interrupt level using this floating port behavior. In this case,
  1663.         Parallel will display "IRQ determined by port float". You should
  1664.         treat the IRQ determined in this way as a "best guess". To be sure
  1665.         of the IRQ, you need to disconnect the floating device and use
  1666.         loopback.
  1667.  
  1668.         In some cases, attaching a unpowered device to a port will enable
  1669.         Parallel to detect IRQ by loopback, since the combination of port
  1670.         and device appears indistinguishable from a loopback connector to
  1671.         Parallel.
  1672.  
  1673.         FLOATNOTE:  Powered on devices usually hold the interrupt line in a
  1674.                     stable state and prevent IRQ autodetection. Remember
  1675.                     that  it is best to disconnect your parallel port
  1676.                     device(s) and use the loopback connector when you need
  1677.                     the absolute best results from Parallel.
  1678.  
  1679.           EXAMPLE:  On my home system, an unpowered HP LaserJet II printer
  1680.                     on an 8bit port "floats" and Parallel reliably reports
  1681.                     IRQ5. Attached to a 4bit port on the same system, the
  1682.                     LaserJet is indistinguishable from a loopback
  1683.                     connector.  So turning the LaserJet off converts it
  1684.                     into an expensive, but handy, paperclip. Turning it on
  1685.                     prevents IRQ detection.
  1686.  
  1687.         TECH NOTE:  Whether or not a given device and port combination will
  1688.                     float, emulate loopback, or be invisible to Parallel is
  1689.                     determined by the pull-ups on each end, CMOS vs TTL
  1690.                     logic behavior, and the power available at the port to
  1691.                     a unpowered device. In the above example, I suspect
  1692.                     that enough power is provided by the 8bit TTL port to
  1693.                     drive the unpowered CMOS logic in the LaserJet into an
  1694.                     unstable oscillating state, which appears to the system
  1695.                     as a frenzy of level 5 IRQs.
  1696.  
  1697.         Port float is a handy effect, but use Loopback for best results.
  1698.  
  1699.  
  1700.  
  1701. Parallel Port Information System                                    Page 31
  1702. ---------------------------------------------------------------------------
  1703.  
  1704.  
  1705.         The most reliable way to determine IRQ is to use an external
  1706.         loopback connection. Loopback is described in the next section.
  1707.  
  1708.         IRQ detection using the LoopBack Feature
  1709.         ----------------------------------------
  1710.  
  1711.                                 ******************
  1712.                                 * IMPORTANT NOTE *
  1713.                                 ******************
  1714.  
  1715.         First, DECIDE NOT TO SCREW UP YOUR PORT by crudely jamming wires
  1716.         into the wrong places with too much force.  REMEMBER that the
  1717.         female DB-25 connector is likely to be made out of CHEAP, BREAKABLE
  1718.         PLASTIC, so decide right now not to break it. WE ARE NOT LIABLE FOR
  1719.         ANY DAMAGE YOU MAY DO FOR WHATEVER REASON.
  1720.  
  1721.         The danger is that you will push too hard when inserting the
  1722.         loopback wire and force the female connector pin out of its
  1723.         position in the DB-25 shell. That is why WE SUGGEST MAKING A
  1724.         LOOPBACK PLUG using a male DB-25 connector as described below. If
  1725.         you cannot make a loopback plug, then use a parallel port extension
  1726.         cable instead. This protects your port from physical damage and
  1727.         also makes it a lot easier to work with.
  1728.  
  1729.         The port is supposed to be electrically designed to tolerate the
  1730.         loopback perfectly well. However there is a DANGER OF DAMAGE BY
  1731.         STATIC DISCHARGE so make sure that you GROUND YOURSELF TO THE PORT
  1732.         before inserting the loopback wire. It would be terrible if you
  1733.         blew out a $25 parallel port on a $1000 Pentium motherboard simply
  1734.         because you failed to PAY ATTENTION TO THESE PRECAUTIONS.
  1735.  
  1736.         PROCEED AT YOUR OWN RISK.
  1737.  
  1738.         The other danger is that you will apply the loopback to a port
  1739.         which is not really a parallel port at all. DON'T DO THIS. If you
  1740.         are not sure of what you are doing STOP RIGHT NOW. We have no
  1741.         control over what you might damage if you try this with a port
  1742.         other than a parallel port.
  1743.  
  1744.         Whew... now on with the instructions.
  1745.  
  1746.           1. Find the parallel port(s) you want to test. They will be
  1747.              female DB-25 connectors. MAKE SURE THAT YOU HAVE CORRECTLY
  1748.              IDENTIFIED THE PARALLEL PORT. Disconnect any devices
  1749.              (printers, network adapters, external disks, etc) which might
  1750.              be attached to other parallel ports on your system.
  1751.  
  1752.           2. Make sure that the connector IS NOT SOME OTHER TYPE OF
  1753.              CONNECTOR like an external SCSI connector or a COM port.
  1754.  
  1755.              SCSI ports can be either female DB-25s or a larger connector,
  1756.              like a 37, 40, or 50-pin connector. COM ports are usually
  1757.  
  1758.  
  1759.  
  1760. Parallel Port Information System                                    Page 32
  1761. ---------------------------------------------------------------------------
  1762.  
  1763.              male DB-25 or small male DB-9 connectors, but this is not
  1764.              guaranteed.
  1765.  
  1766.              Look in your manual if there is any doubt. DON'T PROCEED
  1767.              unless you are sure you have identified the parallel port(s)
  1768.              correctly.
  1769.  
  1770.           3. Connect the Loopback Plug and go to Step 7.
  1771.  
  1772.              If you do not have a Loopback Plug, use a straight thru M-F
  1773.              parallel port extension cable to prevent damage to your port.
  1774.              Connect the male end of the extension cable to your port and
  1775.              place the loopback wire into the female end of the cable.
  1776.  
  1777.                              |---
  1778.                 expensive    |   | +-+     cheap     +-+
  1779.                    PC        |   | | |---------------| | <- loopback here
  1780.               parallel port  |   | +-+     cable     +-+
  1781.                              |---
  1782.  
  1783.           4. Identify Pin 10 and Pin 9 on the female end of the extension
  1784.              cable. Refer to the illustration below. Notice that a DB-25
  1785.              connector is wider on one side.  The pins you want are the
  1786.              4th and 5th from the left on the wider edge.
  1787.  
  1788.              USE A FLASHLIGHT TO FIND THE MARKINGS IF YOU HAVE ANY DOUBT.
  1789.  
  1790.           Front View         -------- Pin 10 - 4th from left on wider edge
  1791.           Female DB-25       |   ---- Pin  9 - 5th from left on wider edge
  1792.           Connector          |   |
  1793.                              v   v
  1794.            ____________________________________________________________
  1795.           /                                                            \
  1796.           \     13  12  11  10   9   8   7   6   5   4   3   2   1     /
  1797.            \                                                          /
  1798.             \     25  24  23  22  21  20  19  18  17  16  15  14     /
  1799.              \______________________________________________________/
  1800.  
  1801.                     Pin 10 is the interrupt line (the ACK line)
  1802.                     Pin  9 is the high order data line (the 80h bit)
  1803.  
  1804.           4. Create a loopback wire. A standard paperclip works fine. Just
  1805.              straighten it out and bend it into a "U" shape with the ends
  1806.              1/8 inch apart. Make sure that the paperclip is SMOOTH and
  1807.              has NO ROUGH EDGES that might damage the plastic connector.
  1808.  
  1809.           5. GROUND YOURSELF to the PC and to the parallel port by
  1810.              touching your hand and the loopback wire first to the PC's
  1811.              metal chassis near the parallel port connector and then to
  1812.              one of the connector nuts or the connector metal housing
  1813.              itself. Do this to DISCHARGE ANY STATIC ELECTRICITY you may
  1814.              have about you (created for example by scooting across the
  1815.              rug in a silk negligee on the way to your PC or by stroking
  1816.              your cat with woolen gloves while purusing this document).
  1817.  
  1818.  
  1819.  
  1820. Parallel Port Information System                                    Page 33
  1821. ---------------------------------------------------------------------------
  1822.  
  1823.  
  1824.              Parallel ports are usually resistant to static discharge, but
  1825.              not all ports are created equally, so don't ask for trouble.
  1826.  
  1827.           6. Carefully insert the paperclip into the extension cable's
  1828.              female DB-25 connector so that Pin 9 is connected to Pin 10.
  1829.              DON'T FORCE IT. It will insert at most about 1/4 inch (about
  1830.              .5 cm) and there should be absolutely no physical resistance.
  1831.  
  1832.           7. Now run Parallel. It will automatically use the loopback to
  1833.              determine which IRQ level the port is actually using. You may
  1834.              loopback more than one, or all, ports at the same time.
  1835.  
  1836.              Parallel will report that is has detected a proper loopback.
  1837.  
  1838.           8. Remove the loopback when you are done.
  1839.  
  1840.           9. Congratulate yourself on using reasonable handling
  1841.              precautions when working with expensive equipment.
  1842.  
  1843.  
  1844.         TechNote: Making Your Own Loopback Connector
  1845.         --------------------------------------------
  1846.  
  1847.         We strongly advise that you make a loopback connector, inside of
  1848.         using the expedient paperclip approach.
  1849.  
  1850.         Simply obtain a male DB-25 connector and solder a permanent
  1851.         connection bewteen Pin 9 to Pin 10 on the back of the connector.
  1852.  
  1853.         Male DB-25 connectors are inexpensive and available in electronics
  1854.         parts stores. Cheap DB-25 jumper boxes cost only a few dollars.
  1855.  
  1856.         This will prevent any physical damage to your port, which is the
  1857.         major source of risk with this procedure, and the reason for our
  1858.         incessant nagging about precautions. This sort of loopback
  1859.         connector will be no more dangerous to your system than a printer,
  1860.         and is a handy accessory if you frequently use Parallel.
  1861.  
  1862.                                       Connect Pin 10 to Pin 9
  1863.  
  1864.           Back View          -----    Pin 10 - 4th from left on wider edge
  1865.           Male DB-25         |   |    Pin  9 - 5th from left on wider edge
  1866.           Connector          |   |
  1867.                              v   v
  1868.            ____________________________________________________________
  1869.           /                                                            \
  1870.           \     13  12  11  10   9   8   7   6   5   4   3   2   1     /
  1871.            \                                                          /
  1872.             \     25  24  23  22  21  20  19  18  17  16  15  14     /
  1873.              \______________________________________________________/
  1874.  
  1875.                           Pin 10 is the interrupt line (the ACK line)
  1876.                           Pin  9 is the high order data line (the 80h bit)
  1877.  
  1878.  
  1879.  
  1880. Parallel Port Information System                                    Page 34
  1881. ---------------------------------------------------------------------------
  1882.  
  1883.      Miscellaneous Topics
  1884.      --------------------
  1885.  
  1886.         Technote: Pseudo-Bidirectional Ports, A Special Case
  1887.         ----------------------------------------------------
  1888.  
  1889.         A 4bit port is pseudo-bidirectional (also called pseudo-8bit,
  1890.         sometimes semi-8bit) when it is capable of performing 8BIT input
  1891.         when connected to a device which has strong drivers. So this
  1892.         pseudo-bidirectionality comes about as the relationship between the
  1893.         port and the device it is connected to.
  1894.  
  1895.         This type of port will appear to be a 4BIT port with most parallel
  1896.         port external peripherals, since low power CMOS drivers are by far
  1897.         the most common in these external devices.
  1898.  
  1899.         A few peripherals have stronger TTL drivers which can achieve 8BIT
  1900.         operation by overdriving the port. There are even sub-classes of
  1901.         ports which can achieve the effect depending on what data is used.
  1902.  
  1903.         Some vendors describe their ports as bidirectional when actually
  1904.         they are only pseudo-bidirectional and will function as 4BIT ports
  1905.         with most peripherals. True 8BIT ports are preferable because they
  1906.         have a significant speed advantage with most external peripherals.
  1907.         Indeed, some parallel port peripherals require true 8BIT behavior.
  1908.  
  1909.  
  1910.         Identifying pseudo-bidirectional ports
  1911.         --------------------------------------
  1912.  
  1913.         Step 1  =>  Read the cautions and disclaimers applying to loopback
  1914.  
  1915.         Step 2  =>  Read them again
  1916.  
  1917.         Step 3  =>  Select the port. The test only applies to 4BIT ports.
  1918.  
  1919.         Step 4  =>  Attach a parallel port extension cable to the port
  1920.  
  1921.         Step 5  =>  At the female DB-25, loopback Pin 8 to Pin 21 (GND).
  1922.  
  1923.         Step 6  =>  Run Parallel
  1924.  
  1925.         Step 7  =>  If Parallel reports "Data port has stuck bits" then the
  1926.                     port is likely to have semi-bidirectional capability.
  1927.  
  1928.  
  1929.  
  1930. Parallel Port Information System                                    Page 35
  1931. ---------------------------------------------------------------------------
  1932.  
  1933.      Parallel Port Standards
  1934.      -----------------------
  1935.  
  1936.         4bit and 8bit parallel ports
  1937.         ----------------------------
  1938.  
  1939.            There is no true standard for these types of ports other than
  1940.            the actual behavior of existing systems.
  1941.  
  1942.            The original IBM PC Technical Reference manual gave a schematic
  1943.            for the parallel port which was ambiguous about the ability to
  1944.            input from the printer port.
  1945.  
  1946.            Various vendors interpreted the ambiguity differently ... and
  1947.            this appears to have been the genesis of a persistantly loose
  1948.            and confused industry attitude toward parallel port standards.
  1949.  
  1950.  
  1951.         EPP Specification
  1952.         -----------------
  1953.  
  1954.            There are two substantially incompatible standards for EPP
  1955.            parallel ports: the original EPP Standards Committee version 1.7
  1956.            standard, and the IEEE 1284 Committee standard.
  1957.  
  1958.            We call these two types of EPP ports "EPP 1.7" and "EPP 1284".
  1959.  
  1960.            The two standards are sufficiently similar that new peripherals
  1961.            may be designed in such a way as to support both standards, but
  1962.            existing EPP 1.7 peripherals will generally not operate with EPP
  1963.            1284 ports.
  1964.  
  1965.            The reference implementation of EPP 1.7 is the Intel 360SL chip.
  1966.  
  1967.            There are several implementations of EPP 1284 including the SMC
  1968.            66x, the National PC87xxx family, and perhaps others. Chipset
  1969.            vendors are rapidly adding advanced parallel port functionality
  1970.            to their product lines.  We will continue to review these chips
  1971.            as they appear from other manufacturers.
  1972.  
  1973.         ECP Specification
  1974.         -----------------
  1975.  
  1976.            The ECP port standard was developed by Microsoft and Hewlett-
  1977.            Packard. The standard specifies a PC parallel port with certain
  1978.            I/O registers and features and an external signalling behavior.
  1979.  
  1980.            The external signalling specification has been incorporated into
  1981.            the IEEE 1284 specification as the ECP mode of 1284.
  1982.  
  1983.            Reference implementations of ECP include the SMC 66x, the
  1984.            National PC87xxx, and others. These chips vary in the processes
  1985.            required to configure, and specific PC implementations will vary
  1986.            in their setup and/or BIOS support.
  1987.  
  1988.  
  1989.  
  1990. Parallel Port Information System                                    Page 36
  1991. ---------------------------------------------------------------------------
  1992.  
  1993.  
  1994.         IEEE 1284 Specification
  1995.         -----------------------
  1996.  
  1997.            The IEEE 1284 specification defines the electrical signalling
  1998.            behavior external to the PC for a multimodal parallel port which
  1999.            may support 4bit, 8bit, EPP, and ECP modes of operation. Not all
  2000.            modes are required by the 1284 specification and the standard
  2001.            allows makes some provision for additional modes.
  2002.  
  2003.            The IEEE 1284 standard is targeted at specifying the behavior
  2004.            between a PC and an attached device, most specifically attached
  2005.            printers, although the specification is of interest to vendors
  2006.            of parallel port peripherals (disks, LAN adapters, etc, etc).
  2007.  
  2008.            The IEEE 1284 standard is currently maintained by Larry Stein of
  2009.            Farpoint Communications (see Vendor Contact section).
  2010.  
  2011.            The IEEE standard has additional "substandards", including IEEE
  2012.            1284.3 (daisychain and multiplex standard) and the committee is
  2013.            beginning work on operating system standards and certification
  2014.            processes. The IEEE 1284 style parallel port is required for PCs
  2015.            to comply with the PC95 platform specification. We know of no
  2016.            parallel port implementations with native plug-and-play support.
  2017.  
  2018.            Various non-PC/DOS/Windows hardware and software vendors (Sun,
  2019.            Apple, Next) have shown interest in the committee's efforts. It
  2020.            is very likely that future versions of Windows will support the
  2021.            1284 specification, at least in the area of high-speed printing.
  2022.  
  2023.            The 1284 specification will also likely be approved as a
  2024.            component of the Desktop Management Task Force (DTMF) standard
  2025.            for PC resource management.
  2026.  
  2027.            The downside of the IEEE 1284 specification is that it does not
  2028.            specify the PC's internal interface to a 1284 compliant parallel
  2029.            port, either at the ISA register level or a software API level.
  2030.            Each chipset vendor is implementing subtly different behaviors
  2031.            in their chipsets, especially as regards configuration and setup
  2032.            - a process which is recreating the same system and software
  2033.            management mess that exists on earlier generations of parallel
  2034.            port technology. In order words, the IEEE 1284 specification
  2035.            does not answer the basuc question "What is a parallel port and
  2036.            how do I perform I/O to it?".
  2037.  
  2038.            Perhaps the Committee's efforts will successfully expand to
  2039.            provide a unified solution, and perhaps such efforts will again
  2040.            be too little, too late in the technology curve to achieve a
  2041.            unified practical standard.
  2042.  
  2043.            To date, the IEEE 1284 standard does not represent a unified
  2044.            solution to the challenges and potential of future parallel port
  2045.            technology.  It represents a tolerable, if uninspired, next step
  2046.            in the evolution of particular classes of the technology.
  2047.  
  2048.  
  2049.  
  2050. Parallel Port Information System                                    Page 37
  2051. ---------------------------------------------------------------------------
  2052.  
  2053.  
  2054.  
  2055.         Parallel Port Standards Diagram
  2056.         -------------------------------
  2057.  
  2058.            The following diagram attempts to depict the interrelatedness of
  2059.            various standards affecting the PC parallel port.  It is useful
  2060.            to keep in mind the distinctions between systems, interfaces,
  2061.            port designs, and specific chips when considering parallel port
  2062.            issues.  Since the parallel port has been a "poor relation" in
  2063.            the evolution of these standards, there are gaping holes in the
  2064.            overall standarization process.
  2065.  
  2066.            For example, there is no standard for hardware independent I/O
  2067.            to any parallel port and device.  Existing proposed standards
  2068.            are inadequate to the purpose.  Such a standard must provide a
  2069.            level of adaptive flexibility in expanding dynamically to
  2070.            incorporate new instances of ports, devices, and I/O methods.
  2071.  
  2072.            Actually, the Plug-and-Play standards concept is an interesting
  2073.            paradigm for such a parallel port software standard, which would
  2074.            treat ports, devices, and I/O methods as pluggable entities in a
  2075.            comprehensive and real-time extensible software architecture.
  2076.  
  2077.        -------------------------------------------------------------------
  2078.                  |
  2079.        Platform  | PC95 Platform       DTMF            Individual
  2080.        Level     |   Standard        Standard        Operating System
  2081.        Standards |                                  Software Standards
  2082.                  |                                                 ^
  2083.        ------------------------------------------------------------|------
  2084.                  |                                                 |
  2085.        Interface |   IEEE 1284 Interface     possible future IEEE  |
  2086.        Standards |         Standard          software standards  --- ?
  2087.                  |
  2088.        -------------------------------------------------------------------
  2089.                  |
  2090.        PC Port   |   EPP 1.7 Port            MS/HP ECP Port
  2091.        Standards |    Standard                  Standard
  2092.                  |
  2093.        -------------------------------------------------------------------
  2094.                  |                                           C&T
  2095.        Specific  |    Intel        SMC        National       Cirrus Logic
  2096.        Chips     |    360SL        66x        PC87xxx        StarTech
  2097.                  |                                           others
  2098.                  |
  2099.        -------------------------------------------------------------------
  2100.                  |
  2101.        Example   |   SL laptops    Intel      IBM            unknown
  2102.        Specific  |   with 360SL    Pentium    ThinkPad       or
  2103.        Systems   |   or equiv.     Mthrbrd    755            forthcoming
  2104.                  |
  2105.        -------------------------------------------------------------------
  2106.  
  2107.  
  2108.  
  2109. Parallel Port Information System                                    Page 38
  2110. ---------------------------------------------------------------------------
  2111.  
  2112.      Parallel Port Buyer's Guide
  2113.      ---------------------------
  2114.  
  2115.         This Guide is intended to serve as a starting point for user's in
  2116.         search of quality parallel ports and peripheral devices.
  2117.  
  2118.         Parallel Technologies makes no warranties regarding these products
  2119.         and indeed we remind you to independently verify that the product
  2120.         will perform as expected in your environment.
  2121.  
  2122.         Parallel's evaluation and recommendation policy is:
  2123.  
  2124.           1. We recommend only those products that we ourselves have
  2125.              tested extensively.
  2126.  
  2127.           2. We make only positive recommendations. Inferior products will
  2128.              generally NOT be mentioned unless we consider them patently
  2129.              offensive to the user.
  2130.  
  2131.           3. Vendors are invited to arrange evaluations of their products
  2132.              so that they may be included in the Buyer's Guide. We will
  2133.              evaluate the product and propose a short description of it's
  2134.              capabilities, features, and quality. The vendor has the
  2135.              option of requesting that the product not be listed.
  2136.  
  2137.           4. We are planning to expand the coverage in the Buyer's Guide
  2138.              to include parallel port peripheral devices: LAN adapters,
  2139.              disks, SCSI adapters, CDROMs, and so forth. Again, interested
  2140.              vendors are welcome to arrange and actively contribute to a
  2141.              review of their product. The "no-pan" rule will apply.
  2142.  
  2143.         Direct Sales suppliers of products are listed in those cases where
  2144.         such suppliers are known and have proven reliable in the past.
  2145.  
  2146.         See the Vendor Contact section for specific vendor information,
  2147.         including telelphone numbers and email addresses, if applicable.
  2148.  
  2149.  
  2150.         4bit parallel ports
  2151.         -------------------
  2152.  
  2153.            This type of port is not recommended. Although most external
  2154.            parallel devices will support this type of port quite well, it
  2155.            is considerably slower at input operations than all other port
  2156.            types and has no cost advantages.  At a minimum, get an 8bit
  2157.            port or better yet, one of the advanced port types (EPP, ECP, or
  2158.            a multimodal port which support both EPP and ECP).
  2159.  
  2160.         8bit parallel ports
  2161.         -------------------
  2162.  
  2163.            8bit parallel ports are adequate for CURRENT printing purposes
  2164.            and may be used with all parallel port devices.  However, you
  2165.  
  2166.  
  2167.  
  2168. Parallel Port Information System                                    Page 39
  2169. ---------------------------------------------------------------------------
  2170.  
  2171.            should consider buying an advanced parallel port (particularly
  2172.            an EPP/ECP capable multimodal port) when buying new systems.
  2173.  
  2174.            Mfg & Model     Features                        Suppliers
  2175.            --------------  -----------------------------   ---------------
  2176.  
  2177.            STB DSP 550     basic 2S+P ISA add-in card      Essential Data
  2178.                            requires jumper for 8bit mode   JAZ COmputer
  2179.                            has 16550 serial ports
  2180.  
  2181.            --------------  -----------------------------   ---------------
  2182.            Everex MagicIO  very clean signals
  2183.                            hard to find
  2184.  
  2185.            --------------  -----------------------------   ---------------
  2186.            other           8bit generic 2S+P I/O cards
  2187.                            Parallel reliably detects them
  2188.                            highly variable quality
  2189.  
  2190.            --------------  -----------------------------   ---------------
  2191.            QuickPath       multifunction ISA add-in card   Essential Data
  2192.            PortFolio       IDE, 4 floppy, game port
  2193.                            4 serial ports with 16650's
  2194.                            2 parallel ports
  2195.  
  2196.  
  2197.         EPP Parallel Ports
  2198.         ------------------
  2199.  
  2200.            EPP-capable parallel ports are generally found only on laptops,
  2201.            as a result of their introduction on the Intel 360SL I/O chip
  2202.            which was part of the SL chipset designed for laptops. We have
  2203.            listed one supplier (FarPoint) for a ISA add-in card suitable
  2204.            for desktops.
  2205.  
  2206.            Be sure that you identify the VERSION of EPP support the port
  2207.            provides, EPP 1.7 or IEEE 1284 EPP.
  2208.  
  2209.                     EPP 1.7 is the older Intel-style EPP which is
  2210.                     compatible with many existing parallel port devices
  2211.                     such a Xircom LAN adapters, Trantor SCSI adapters,
  2212.                     SyDOS cartridge disks, and so forth.
  2213.  
  2214.                     IEEE 1284 EPP is a new specification for EPP which is
  2215.                     not completely backward-compatible with the EPP 1.7.
  2216.                     This means that most existing parallel devices do not
  2217.                     work with IEEE 1284 EPP.
  2218.  
  2219.         Tech Note:  It is possible to design parallel port devices so that
  2220.                     they are compatible with BOTH the EPP 1.7 and 1284 EPP
  2221.                     specs, however existing devices typically don't do this
  2222.                     yet. Existing devices generally support only EPP 1.7.
  2223.  
  2224.  
  2225.  
  2226. Parallel Port Information System                                    Page 40
  2227. ---------------------------------------------------------------------------
  2228.  
  2229.                     If you are buying a parallel port device (LAN, Disk,
  2230.                     CDROM, etc, etc) for general use, consider holding out
  2231.                     for a version that support BOTH EPP 1.7 and IEEE 1284
  2232.                     EPP or ECP modes of operation.  This gives you support
  2233.                     for the large installed base of SL style laptops and
  2234.                     compatibility with future system where IEEE 1284 style
  2235.                     ports will predominate.
  2236.  
  2237.              Mfg & Model              Features                 Supplier
  2238.            --------------  -----------------------------   ---------------
  2239.            Intel SL-based  any laptop fully implementing   many and varied
  2240.            laptops         Intel 360SL compatibility
  2241.            or compatibles  more than 50 models available
  2242.                            provides EPP 1.7 capability
  2243.  
  2244.            --------------  -----------------------------   ---------------
  2245.            Farpoint Fport  ISA add-in card with EPP 1.7    Farpoint
  2246.                            downloadable personalities
  2247.                            has extra useful IO addresses
  2248.                            has extra useful IRQ levels
  2249.                            good documentation
  2250.                            value-added software for
  2251.                            port configuration and drivers
  2252.                            for fast DOS / NOVELL printing
  2253.                            excellent tech support
  2254.  
  2255.            When buying an EPP-capable laptop for use with EPP external
  2256.            peripherals, it is important to BE VERY CLEAR about what you are
  2257.            getting.  Even different models from the same manufacturer will
  2258.            have different implementations of EPP.  CHECK COMPATIBILITY with
  2259.            the specific peripherals you intend to use.
  2260.  
  2261.            Example 1:  Various SL-based Compaqs (SL25s, Conturas) have long
  2262.            has excellent implementations of EPP 1.7. However the more
  2263.            recent Compaq Aero appears to have a unique implementation which
  2264.            is not fully SL compatible.
  2265.  
  2266.            Example 2:  The IBM Thinkpad 750 has an SL-compatible EPP 1.7
  2267.            port, but the 755 model has a non-SL-compatible EPP port.
  2268.            Devices which work on one 700 model do not work on another.
  2269.  
  2270.            NOTE: This is not an indictment of these laptops by any means,
  2271.            as they as fine systems overall. It IS A REMINDER that you must
  2272.            independently verify the current state of compatibility between
  2273.            any particular EPP-capable laptop and parallel devices you plan
  2274.            to use with them. Laptop vendors generally will not know the
  2275.            answers to your questions about parallel ports and the best bet
  2276.            is the peripheral vendor.
  2277.  
  2278.            EPP 1.7 type parallel ports MAY OR MAY NOT be supported by any
  2279.            specific new IEEE 1284 type peripheral. We predict that most
  2280.            developers of new devices will want to support EPP 1.7 in order
  2281.            to be compatible with the install base of SLs, however they may
  2282.  
  2283.  
  2284.  
  2285. Parallel Port Information System                                    Page 41
  2286. ---------------------------------------------------------------------------
  2287.  
  2288.            opt to just support IEEE 1284 style EPP which leaves the SLs up
  2289.            the creek. It is possible to support both.
  2290.  
  2291.            So there is a certain risk factor in buying a laptop with only
  2292.            EPP 1.7 support today ... as an increasing number of systems are
  2293.            appearing with multimodal 1284 style ports. On the other hand,
  2294.            buying a laptop without EPP 1.7 leaves you incompatible with a
  2295.            large variety of existing external peripherals - you will have a
  2296.            bit of a wait as peripheral vendors scurry to support IEEE 1284.
  2297.  
  2298.            In the best of worlds, you will buy a system which supports all
  2299.            the IEEE 1284 modes, EPP 1.7 to boot, and comes with a handy
  2300.            utility which allows you to configure your port easily.
  2301.  
  2302.  
  2303.         ECP Parallel Ports
  2304.         ------------------
  2305.  
  2306.            There are some very nice chipsets coming out for multimodal
  2307.            parallel ports which support the multiple parallel port modes.
  2308.  
  2309.            These chipsets have been appearing in systems since early this
  2310.            year and have just now reached the stage where they are safe
  2311.            consumer choices given a little caution.
  2312.  
  2313.            In some cases, early "steps" of particular chips had significant
  2314.            flaws and the buyer should verify that he is getting the latest
  2315.            step - not something that's been in a warehouse since Easter.
  2316.  
  2317.            Vendors may or may not provide user level support for selecting
  2318.            the parallel port mode. Check that any PC you are considering
  2319.            has appropriate CMOS port configuration or at least a separate
  2320.            utility for the purpose. Be aware that vendors may have BIOS
  2321.            upgrades which retroactively enable such support.
  2322.  
  2323.            If you need immediate support for existing parallel port devices
  2324.            operating in EPP mode you should INDEPENDENTLY VERIFY that the
  2325.            device works with the particular system you are considering. Be
  2326.            aware that existing EPP 1.7 type devices may or may not work
  2327.            with any particular new multimodal parallel port. It is still
  2328.            early days yet for ECP support in parallel port devices and this
  2329.            caution also applies to any early versions of such devices you
  2330.            might consider - check that they work with your specific system.
  2331.  
  2332.  
  2333.  
  2334.            Mfgr & Model    Features                        Supplier
  2335.            --------------  -----------------------------   ---------------
  2336.            Intel Premiere  motherboard with SMC 665 chip   used in many
  2337.            Pentium PCI     66xQPF chip has various bugs    Pentium systems
  2338.            Motherboard     be sure you get the 665GT chip  from various
  2339.                            requires Plato version 10 BIOS  "manufacturers"
  2340.                            to enable EPP/ECP in Setup
  2341.  
  2342.  
  2343.  
  2344. Parallel Port Information System                                    Page 42
  2345. ---------------------------------------------------------------------------
  2346.  
  2347.            --------------  -----------------------------   ---------------
  2348.            Other systems   be sure you get the 665GT chip  various
  2349.            with SMC 66x    check for software support
  2350.  
  2351.            --------------  -----------------------------   ---------------
  2352.            SIIG IDE        multifunction ISA add-in card   superstores, etc
  2353.            Professional    IDE, floppy, 2serial, parallel
  2354.                             uses the SMC 66x chip
  2355.                            again, avoid the QPF version
  2356.                            no port configuration software
  2357.                            no value-added software
  2358.                            decent jumper documentation
  2359.  
  2360.            --------------  -----------------------------   ---------------
  2361.            Farpoint        ISA add-in card with SMC 66x    Farpoint
  2362.            Fport Plus      serial and parallel port only
  2363.                            good configuration utility
  2364.                            fast DOS / Windows driver
  2365.                            1 16650 serial port
  2366.                            excellent tech support
  2367.  
  2368.            --------------  -----------------------------   ---------------
  2369.            Farpoint        ISA add-in card with SMC 66x    Farpoint
  2370.            Fport IDE       IDE, 2 serial, parallel
  2371.                            good configuration utility
  2372.                            fast DOS / Windows driver
  2373.                            2 16650 serial w/ extra IRQs
  2374.                            excellent tech support
  2375.  
  2376.            --------------  -----------------------------   ---------------
  2377.            Kouwell         typical clone SMC 66x ISA card  Essential Data
  2378.                            IDE, 2 16550 COM, parallel,
  2379.                            no value added software
  2380.                            very low cost
  2381.                            check that you get the GT step
  2382.  
  2383.         Advanced Parallel Port Chipsets
  2384.         -------------------------------
  2385.  
  2386.            Mfg & Model     Features                        Supplier
  2387.            --------------  -----------------------------   ---------------
  2388.            SMC 66xQPF      multifunction I/O chip          SMC
  2389.                            multiple parallel port modes
  2390.                            IEEE 1284 EPP and ECP
  2391.                            no EPP 1.7
  2392.                            has bad serial port FIFO bug
  2393.                            EPP mode has minor bugs
  2394.                            good chip, but use the GT step
  2395.  
  2396.            --------------  -----------------------------   ---------------
  2397.            SMC 66xGT       corrected version of 66xQPF     SMC
  2398.                            IEEE 1284 EPP and ECP
  2399.                            adds EPP 1.7
  2400.                            fixes various bugs, com FIFO
  2401.  
  2402.  
  2403.  
  2404. Parallel Port Information System                                    Page 43
  2405. ---------------------------------------------------------------------------
  2406.  
  2407.  
  2408.  
  2409.            --------------  -----------------------------   ---------------
  2410.            National        PC87xxx SuperI/O chip family    National
  2411.            Semiconductor   322 is EPP 1.7 only
  2412.                            332, 334, 303, 323, and 306
  2413.                            have EPP 1.7, EPP 1284 & ECP
  2414.                            various features on chips:
  2415.                            IDE, 16650 serial, floppy,
  2416.                            keyboard, clock, serial IR
  2417.                            5 volt and 3.3 volt versions
  2418.  
  2419.            --------------  -----------------------------   ---------------
  2420.            Chips &         information not available       C&T
  2421.            Technologies    at this time, watch this space
  2422.  
  2423.  
  2424.  
  2425. Parallel Port Information System                                    Page 44
  2426. ---------------------------------------------------------------------------
  2427.  
  2428.      Vendor Contact Information
  2429.      --------------------------
  2430.  
  2431.      Parallel Technologies     Jay Lowe, VP          206-869-1136 voice
  2432.        parallel port wizards   CIS 76640,203         206-869-1133 fax
  2433.        contract development    Don Schuman, Pres
  2434.        product licensing       CIS 72242,3631
  2435.        DirectConnect(TM)
  2436.          technology licensing
  2437.  
  2438.      FarPoint Communications   Larry Stein           805-726-4420
  2439.        direct sales vendor     CIS 71514,1057
  2440.        specialize in parallel  IEEE 1284 chairman
  2441.        very experienced
  2442.  
  2443.      Essential Data            Bruce McKeag          800-795-4576 voice
  2444.        direct board sales      CIS 70572,2670        408-955-0440 voice
  2445.        active on Compuserve                          408-955-0821 fax
  2446.  
  2447.      JAZ Computer Products     J. Zarifis            914-632-9531 voice
  2448.        direct board sales      CIS 71042,1251
  2449.                                GEnie J.ZARIFIS
  2450.  
  2451.      Standard Microsystems     Robert Gross
  2452.       chipset vendor
  2453.  
  2454.      National Semiconductor    Kishor Padmanabhan    408-721-4563
  2455.       chipset vendor
  2456.  
  2457.      Chips & Technologies      forthcoming
  2458.        chipset vendor
  2459.  
  2460.      IEEE 1284 Committee       Larry Stein           805-725-4420
  2461.                                CIS 71514,1057
  2462.                                 - also -
  2463.                                EET:STDFRM CIS forum
  2464.  
  2465.  
  2466.  
  2467.  
  2468.           Reputable vendors of parallel port technology are invited to
  2469.                  forward us a short listing of their interests
  2470.                   and contact information for inclusion here.
  2471.  
  2472.  
  2473.  
  2474. Parallel Port Information System                                    Page 45
  2475. ---------------------------------------------------------------------------
  2476.  
  2477.      Technical Support
  2478.      -----------------
  2479.  
  2480.         Parallel is Freeware, and comes with Freeware-style support. It has
  2481.         been extensively tested with a range of systems from original PCs
  2482.         to Pentiums and works with all parallel port devices we've seen.
  2483.  
  2484.         We are willing to offer friendly assistance on an as-available
  2485.         basis, but only via Compuserve mail (CIS 76640,203), via Internet
  2486.         Email to jaylowe@halcyon.com. or in the Compuserve IBMHW forum.
  2487.  
  2488.         Alas, we do not offer free telephone assistance to the public.
  2489.  
  2490.         If you are in dire need of technical support in solving port
  2491.         related problems, you may open a support account by contacting:
  2492.  
  2493.         Mailing Address                         Shipping Address
  2494.         ---------------------------             ---------------------------
  2495.         Parallel Technologies, Inc.             Parallel Technologies, Inc.
  2496.         PO Box 7                                10603 170th CT NE
  2497.         Redmond, Wa 98073-0007                  Redmond, Wa 98052
  2498.         (206) 869-1136
  2499.         (206) 869-1133 (fax)                    ( for UPS, FEDEX, etc )
  2500.         Compuserve: 76640,203
  2501.         InterNet:   76640.203@COMPUSERVE.COM
  2502.           -or-  :   jaylowe@halcyon.com
  2503.  
  2504.         Custom versions of the Parallel Port Information Utility, and
  2505.         source code, are available.
  2506.  
  2507.         Vendors of parallel port hardware are invited and requested to
  2508.         contact us so that we may ensure that Parallel is compatible with
  2509.         their products.
  2510.  
  2511.         Permission is given to distribute and use Parallel without charge,
  2512.         provided you adhere to the terms and conditions of the license
  2513.         agreement given below. Specifically, you may not charge anyone for
  2514.         for sharing or using Parallel, and you may not modify it or change
  2515.         it. Nor may you use it as part of a commercial product or service
  2516.         without our written permission.
  2517.  
  2518.         Vendors may freely distribute Parallel on an individual basis,
  2519.         without charge, by electronic BBS or other means.  However, you may
  2520.         not include it in or with your product without our written
  2521.         permission.
  2522.  
  2523.         We welcome your comments and suggestions by Email, phone, or fax.
  2524.  
  2525.         If you have particular features you would like to see supported by
  2526.         Parallel, we'd be more than glad to hear from you.
  2527.  
  2528.  
  2529.  
  2530. Parallel Port Information System                                    Page 46
  2531. ---------------------------------------------------------------------------
  2532.  
  2533.      About Parallel Technologies, Inc.
  2534.      ---------------------------------
  2535.  
  2536.         We at Parallel Technologies' have been creating innovative parallel
  2537.         port devices and software since 1989. Here are a few highlights:
  2538.  
  2539.  
  2540.         Firsts, Bests, and Mosts
  2541.         ------------------------
  2542.  
  2543.             o  1st ... parallel port network adapter
  2544.             o  1st ... enhanced, bus-speed, parallel port
  2545.             o  1st ... parallel port external SCSI disk
  2546.             o  1st ... passthrough printing capability
  2547.             o  1st ... automatic self-configuring drivers
  2548.             o  1st ... universal support for all types of parallel ports
  2549.             o  1st ... network adapters with multiple media support
  2550.             o  1st ... Windows 3.1 multimedia driver for parallel adapter
  2551.             o  1st ... Multiple Parallel Device API for shared devices
  2552.             o  1st ... intelligent parasitic power for self-powered devices
  2553.             o  1st ... demonstration of daisychained parallel peripherals
  2554.             o  1st ... demonstration of multiplexed parallel peripherals
  2555.             o  1st ... Parallel Port Expansion System (now IEEE Multiport)
  2556.             o  1st ... Parallel Port Developer's Kits
  2557.             o  1st ... general purpose parallel port networking (DirectNet)
  2558.             o  1st ... Win 95 parallel port networking (DirectNet VCOMM)
  2559.  
  2560.             o  PC MAG Editor's Choice for Ethernet parallel port NIC
  2561.             o  most total network adapters  --  7 and counting...
  2562.             o  most total parallel port peripherals  --  25 and counting...
  2563.  
  2564.  
  2565.         Partial List of Parallel Technologies' Developments
  2566.         ---------------------------------------------------
  2567.  
  2568.             o  parallel port Arcnet adapter
  2569.             o  parallel port Ethernet Adapter (two versions)
  2570.             o  parallel port Token Ring Adapter (two versions)
  2571.             o  parallel port portable SCSI disk drive
  2572.             o  parallel port portable IDE disk drive
  2573.             o  parallel port MIDI interface for Windows
  2574.             o  parallel port Zero-Slot mouse adapter
  2575.             o  parallel port IR Wireless Adapter
  2576.             o  parallel port DSP signal processing interface
  2577.             o  parallel port Multiport daisychaining system
  2578.             o  parallel port Multiport 4-way parallel device multiplexor
  2579.  
  2580.             o  DirectNet ODI driver for parallel port networking
  2581.             o  DirectNet VCOMM driver for parallel port networking
  2582.  
  2583.             o  DirectNet 4BIT cables for parallel port networking
  2584.             o  DirectNet ECP cables for parallel port networking
  2585.             o  DirectNet Universal cables for parallel port networking
  2586.  
  2587.  
  2588.  
  2589. Parallel Port Information System                                    Page 47
  2590. ---------------------------------------------------------------------------
  2591.  
  2592.             o  DirectNet 4BIT/ECP and UCM cable interface specification
  2593.                   licensed to Microsoft for joint Microsoft/PTI publication
  2594.  
  2595.             o  Parallel Port Developer's Kit (Level 1)
  2596.             o  Parallel Port Developer's Kit (Level 2)
  2597.             o  Super IEEE 1284 Printing System Developer's Kit
  2598.             o  DirectNet Parallel Port Networking Manufacturing License Kit
  2599.             o  DirectNet Parallel Port Networking Software License Kit
  2600.  
  2601.  
  2602.         Many of these products, or their hardware and software components,
  2603.         are available for OEM licensing.
  2604.  
  2605.         We have in-depth experience with the wonderful and sometimes
  2606.         bizarre world of the PC parallel port and have served on both the
  2607.         EPP and IEEE 1284 standards committees. Having created more than
  2608.         TWO DOZEN parallel port devices with their associated drivers and
  2609.         software utilities, we are the most experienced source for off-the-
  2610.         shelf technology, developer tools, and contract services.
  2611.  
  2612.         Here are a few of our current and forthcoming products that you may
  2613.         find interesting.
  2614.  
  2615.  
  2616.         Parallel Port Developer's Kits
  2617.         ------------------------------
  2618.  
  2619.         Parallel Technologies offers parallel port Developer's Kits which
  2620.         contain those hardware and software components necessary to build
  2621.         very high-speed, consumer-quality external devices.
  2622.  
  2623.         The Developer Kit technology has been used in over 25 parallel port
  2624.         devices including network adapters, parallel port SCSI and IDE
  2625.         disks, parallel port wireless IR adapters, parallel port MIDI and
  2626.         mouse interfaces, parallel to serial interfaces, and so forth.
  2627.  
  2628.         The software includes support for all types of ports, IO code that
  2629.         is extremely resistant to port idiosyncrasies, and full auto-
  2630.         detection of all port hardware features. The code is very well
  2631.         documented. A selection of sample drivers for parallel port devices
  2632.         is also available.
  2633.  
  2634.  
  2635.            Level One Developer's Kit
  2636.            -------------------------
  2637.  
  2638.                     Hardware schematics, timing diagrams, access methods
  2639.                     and all other hardware information required to
  2640.                     implement basic peripheral devices that are compatible
  2641.                     with 4BIT, 8BIT, semi-8BIT,and EPP parallel ports
  2642.  
  2643.                     The software section includes sample source code for
  2644.                     register and block data access to the sample device.
  2645.  
  2646.  
  2647.  
  2648. Parallel Port Information System                                    Page 48
  2649. ---------------------------------------------------------------------------
  2650.  
  2651.  
  2652.            Level Two Developer's Kit
  2653.            -------------------------
  2654.  
  2655.                     Includes the Level One Kit PLUS
  2656.  
  2657.                          additional very high speed IO techniques,
  2658.                          passthrough port design techniques
  2659.                          daisychain and multiplexor Multiporting design
  2660.                          additional ECP hardware design techniques
  2661.                          additional source code for ECP I/O techniques
  2662.  
  2663.                          full source code for Parallel autodetect utility
  2664.  
  2665.                      Also includes full EPP and IEEE 1284 specifications.
  2666.  
  2667.            Super IEEE 1284 Developer's Kit
  2668.            -------------------------------
  2669.  
  2670.                     Prototyping board, printer side interface FPGA
  2671.                     equations, assembler source for 1284 negotiation,
  2672.                     Windows 3.1 driver source.
  2673.  
  2674.                     Allows the rapid development of IEEE 1284 printers.
  2675.  
  2676.                     Also Super 1284 goes BEYOND the IEEE 1284 spec to allow
  2677.                     very high-speed bi-directional I/O on 4BIT, semi-8BIT,
  2678.                     and 8BIT ports.  This means that Super 1284 printers
  2679.                     can operate bi-directionally at very high speeds
  2680.                     (upwards of 300Kbyte/sec) even on the installed base of
  2681.                     "old-fashioned" standard parallel ports.
  2682.  
  2683.                     Super 1284 maintains complete compatibility with IEEE
  2684.                     1284 ports and printers. It is a compatible enhancement
  2685.                     that allows printer vendors to support high-speed
  2686.                     operation without requiring EPP and ECP ports.
  2687.  
  2688.         DirectNet -- The Parallel Port Networking System
  2689.         ------------------------------------------------
  2690.  
  2691.                     The DirectNet parallel port networking system has been
  2692.                     incorporated into Windows 95 and may be licensed for
  2693.                     inclusion in other operating environments.
  2694.  
  2695.                     The DirectNet system is a family of completely external
  2696.                     connection devices and network driver software that
  2697.                     allows PC-to-PC plug-and-play cable connections to be
  2698.                     used as an alternative to more expensive LAN hardware.
  2699.  
  2700.                     The DirectNet hardware technology includes 3 point-to-
  2701.                     point cables, and multiport hub, and a distributed
  2702.                     multdrop system which uses RJ-11 standard phone wiring.
  2703.  
  2704.  
  2705.  
  2706. Parallel Port Information System                                    Page 49
  2707. ---------------------------------------------------------------------------
  2708.  
  2709.                     DirectNet supports speeds of 40 - 500+ KBytes/sec
  2710.                     depending on the parallel ports involved and various
  2711.                     other factors. The system is completely self-adaptive.
  2712.  
  2713.                     Because DirectNet provides a suite of standard network
  2714.                     drivers, it may be used with many existing networking
  2715.                     and connectivity systems such as Windows 95, Windows
  2716.                     for Workgroups, Netware Lite and Personal Netware, etc.
  2717.                     DirectNet connections have been tested with more than a
  2718.                     dozen commonly available networking and connectivity
  2719.                     software packages.
  2720.  
  2721.                     DirectNet is now in a  BETA RELEASE status and Parallel
  2722.                     Technologies is providing manufacturing and software
  2723.                     licenses vendors who wish to include DirectNet products
  2724.                     or capability in their product lines.
  2725.  
  2726.  
  2727.         Parallel -- the Parallel Port Information Utility
  2728.         -------------------------------------------------
  2729.  
  2730.                     A handy utility which examines your system's parallel
  2731.                     ports and reports the Port Type, IO address, IRQ level,
  2732.                     BIOS name, and an assortment of informative notes and
  2733.                     warnings in a compact and easy to read display. The
  2734.                     output may be redirected to a file for tech support
  2735.                     purposes. Parallel uses very sophisticated techniques
  2736.                     for port and IRQ detection and is aware of a broad
  2737.                     range of quirky port features.
  2738.  
  2739.                     Parallel is the definitive parallel Tech Support tool.
  2740.  
  2741.                     Parallel is Freeware, subject to a restricted license
  2742.                     agreement. It may be used free of charge for any
  2743.                     personal, non-commercial purpose. Parallel may not be
  2744.                     sold for profit, nor may it be distributed with any
  2745.                     other product sold for profit. Vendors should contact
  2746.                     us regarding commercial licenses.
  2747.  
  2748.  
  2749.         OEM Products
  2750.         ------------
  2751.  
  2752.                     Most of our products are available for OEM licensing,
  2753.                     including network adapters, EPP-capable hard disks,
  2754.                     parallel-SCSI interface, parallel MIDI adapter, and the
  2755.                     MultiPort parallel port expansion system.
  2756.  
  2757.                     Also available are numerous off-the-shelf hardware and
  2758.                     software components including: device schematics, FPGA
  2759.                     equations, DOS and Windows driver source code, etc.
  2760.  
  2761.  
  2762.  
  2763. Parallel Port Information System                                    Page 50
  2764. ---------------------------------------------------------------------------
  2765.  
  2766.         Development Services
  2767.         --------------------
  2768.  
  2769.                     We specialize in contract development of parallel port
  2770.                     peripherals and associated software including DOS and
  2771.                     Windows device drivers. Our broad and deep experience
  2772.                     with parallel port devices and our commitment to
  2773.                     specialization allows us to design, implement, test,
  2774.                     and support them very efficiently.
  2775.  
  2776.                     You might be interested in our 45/90 development offer.
  2777.  
  2778.                     We propose to convert almost any ISA peripheral into a
  2779.                     parallel port device in only 45 days to prototype, 90
  2780.                     days to production.
  2781.  
  2782.                     We also offer more limited development support, such as
  2783.                     developing additional device drivers or enhancements
  2784.                     for existing peripherals.
  2785.  
  2786.                     We are quite experienced with EPP and ECP ports and are
  2787.                     ready to upgrade your existing parallel port devices
  2788.                     for peak performance.
  2789.  
  2790.  
  2791.         Consulting and Training
  2792.         -----------------------
  2793.  
  2794.                     In support of in-house development, you will find our
  2795.                     consulting and training services invaluable in avoiding
  2796.                     the pitfalls of parallel port development - and achieve
  2797.                     the highest possible product performance and quality.
  2798.  
  2799.                     We conduct in-house trainings and design consultations
  2800.                     in hardware, software, and product design / management.
  2801.  
  2802.                     You may find these  trainings useful in bringing your
  2803.                     development and management team up to speed on parallel
  2804.                     port issues.
  2805.  
  2806.  
  2807.  
  2808. Parallel Port Information System                                    Page 51
  2809. ---------------------------------------------------------------------------
  2810.  
  2811.      Software License Agreement
  2812.      --------------------------
  2813.  
  2814.                                     IMPORTANT
  2815.  
  2816.      Read this agreement before installing or using the Software. Installing
  2817.      and/or using the Software on your computer indicates your acceptance of
  2818.      these terms. If you do not agree to these terms and conditions, delete
  2819.      the Software and all it's associated files from your computer. This
  2820.      Software License Agreement gives you ONLY RESTRICTED RIGHTS to use the
  2821.      Software (and all it's associated files and documentation) as follows:
  2822.  
  2823.      YOU MAY
  2824.  
  2825.        1.  Use the Software without charge on as many systems as you wish,
  2826.  
  2827.        2.  Share the Software with others for their personal use, but only
  2828.            if you share it intact, without any changes or modifications of
  2829.            any kind, and complete with all it's documentation and associated
  2830.            files. You must pass it on exactly in the same form as we release
  2831.            it, or not pass it on at all.
  2832.  
  2833.        3.  Make backup copies of the Software, so long as you place our
  2834.            copyright notice on the backup copies,
  2835.  
  2836.        4.  Request and receive limited technical support as provided in the
  2837.            Freeware Product Support Policy below.
  2838.  
  2839.        5.  Vendors may distribute the Software free of charge by electronic
  2840.            or other means for the purpose of technical support, but may not
  2841.            include the Software in products without our written permission.
  2842.  
  2843.      YOU MAY NOT
  2844.  
  2845.        1.  Use the Software in any way except as provided in this agreement,
  2846.  
  2847.        2.  Modify, alter, copy, transfer, or reproduce the Software in any
  2848.            way, except as expressly allowed in this agreement,
  2849.  
  2850.        3.  Translate, de-assemble, de-compile, reverse program, or reverse
  2851.            engineer the Software or any of its components,
  2852.  
  2853.        4.  Charge any kind of fee for distributing the Software without our
  2854.            written permission,
  2855.  
  2856.        5.  Use the Software for commercial purposes without our permission,
  2857.  
  2858.        6.  Sublicense, lease, rent, sell, distribute, or otherwise dispose
  2859.            of the Software without our written permission.
  2860.  
  2861.      This license is effective from the date of first use of the Software and
  2862.      shall remain in force until terminated. You may terminate this agreement
  2863.      by destroying any and all copies of the Software and its documentation.
  2864.  
  2865.  
  2866.  
  2867. Parallel Port Information System                                    Page 52
  2868. ---------------------------------------------------------------------------
  2869.  
  2870.      Parallel Technologies, Inc. may terminate this agreement if you fail to
  2871.      comply with any of the terms and conditions of it. You agree to destroy
  2872.      any and all copies of the Software and its documentation, in whatever
  2873.      form, if we terminate this license agreement, and you agree to provide
  2874.      us written certification of such destruction upon our request.
  2875.  
  2876.      Statement of Exclusion of Warranty
  2877.  
  2878.      ALL PRODUCTS DELIVERED PURSUANT TO THIS AGREEMENT ARE DELIVERED ON AN
  2879.      "AS-IS" BASIS AND PARALLEL TECHNOLOGIES, ITS DEALERS AND DISTRIBUTORS,
  2880.      EXPRESSLY DISCLAIM ANY AND ALL WARRANTIES OR CONDITIONS OF MERCHANTABLE
  2881.      QUALITY OR FITNESS FOR A PARTICULAR PURPOSE.
  2882.  
  2883.      Limitation of Liability
  2884.  
  2885.      PARALLEL TECHNOLOGIES DISCLAIMS ALL WARRANTIES RELATING TO THIS
  2886.      SOFTWARE, WHETHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
  2887.      IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  2888.      PURPOSE, AND ALL SUCH WARRANTIES ARE EXPRESSLY AND SPECIFICALLY
  2889.      DISCLAIMED.  NEITHER PARALLEL TECHNOLOGIES NOR ANYONE ELSE WHO HAS
  2890.      BEEN INVOLVED IN THE CREATION, PRODUCTION, OR DELIVERY OF THIS
  2891.      SOFTWARE SHALL BE LIABLE FOR ANY INDIRECT, CONSEQUENTIAL, SPECIAL,
  2892.      PUNITIVE, OR INCIDENTAL DAMAGES OR DAMAGES DUE TO LOST PROFITS, DATA,
  2893.      OR INFORMATION ARISING OUT OF THE USE OR INABILITY TO USE SUCH
  2894.      SOFTWARE EVEN IF PARALLEL TECHNOLOGIES HAS BEEN ADVISED OF THE
  2895.      POSSIBILITY OF SUCH DAMAGES OR CLAIMS.  IN NO EVENT SHALL PARALLEL
  2896.      TECHNOLOGIES' LIABILITY FOR ANY DAMAGES EVER EXCEED THE PRICE PAID FOR
  2897.      THE LICENSE TO USE THE SOFTWARE, REGARDLESS OF THE FORM OF CLAIM.  THE
  2898.      PERSON USING THE SOFTWARE BEARS ALL RISKS AS TO THE QUALITY AND
  2899.      PERFORMANCE OF THE SOFTWARE.  This warranty gives you specific rights
  2900.      and you may have other rights.
  2901.  
  2902.      This agreement shall be governed by the laws of the State of
  2903.      Washington and shall inure to the benefit of Parallel Technologies,
  2904.      Inc. and any successors, administrators, heirs and assigns.  Any
  2905.      action or proceeding brought by either party against the other arising
  2906.      out of or related to this agreement shall be brought only in a STATE
  2907.      or FEDERAL COURT of competent jurisdiction located in King County,
  2908.      Washington.
  2909.