home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1996 October / PCO_10.ISO / filesbbs / fst550.arj / FAST550.DOC
Encoding:
Text File  |  1994-06-06  |  30.9 KB  |  625 lines

  1.  
  2.     Technical Note : FAST SERIAL PORTS & 16550 UARTS
  3.             Author : Michael Spalter
  4.              Email : segcom@cix.compulink.co.uk
  5.             Origin : United Kingdom, EC
  6.      Last Modified : 6th June 1994
  7.             Status : (c) 1994 Michael Spalter
  8.  
  9.       * PLEASE UPLOAD THIS FILE TO BULLETIN BOARD AND OTHER HOSTS *
  10.          The filename should be FAST550.DOC or FAST550.ZIP etc.
  11.  
  12.     NOTE:  This  document  may  be distributed freely providing that all
  13.     credits remain intact and that it is not modified in any  way.  This
  14.     document is provided for information only and no support or warranty
  15.     is offered by the author or publisher.
  16.  
  17.       NOTE : SEE THE END OF THIS DOCUMENT FOR 'UART' VENDOR DETAILS
  18.  
  19.  
  20.                               ---------------
  21.                               C O N T E N T S
  22.                               ---------------
  23.  
  24.             0) INTRODUCTION
  25.             1) What is a UART ?
  26.             2) Why the sudden craze for high speed cards ?
  27.             3) Why aren't normal PC ports good enough ?
  28.             a) Internal PC Card Modems
  29.             4) How would I know if I need a faster port ?
  30.             5) Okay, I want one ! What should I buy ?
  31.             6) Is there just one type of 16550 UART ?
  32.             7) Replacing a soldered 16450/8250 UART
  33.             8) Windows and buffered UARTS
  34.             9) Serial Port configuration
  35.            10) Notebook PCs
  36.            11) Supplier information
  37.            12) About 'Cix'
  38.  
  39.  
  40.     INTRODUCTION
  41.     ------------
  42.  
  43.     Fast  serial  cards  have  become  very  popular  lately  due to the
  44.     proliferation of high speed (V32/V32bis) modems. Whilst the computer
  45.     press have been keen to cover modems in general, little coverage has
  46.     been given to  serial  cards  (they're  just  not  sexy  enough  for
  47.     mainstream  articles).  This  means that, whilst many people want or
  48.     need fast serial cards, there is much  confusion  about  them.  This
  49.     document attempts to answer the most common questions asked.
  50.  
  51.  
  52.  
  53.     1) What is a UART ?
  54.        ----------------
  55.  
  56.     Throughout this document, we will refer to something called a 'UART'
  57.     (pronounced 'you-art').  As this is a very important  component,  it
  58.     is important to understand what it is.
  59.  
  60.     A  UART  is  an IC (chip!) which takes parallel data from the PC and
  61.     outputs it to the serial port as a timed serial stream of data.   It
  62.     is  the  main component of the serial card; all other components are
  63.     there to support the UART.  Here is a simple functional diagram:
  64.  
  65.         PC's BUS Slot   __________           Serial port
  66.         1 ------------> |        |
  67.         1 ------------> |  UART  |
  68.         0 ------------> |        |
  69.         1 ------------> |        | ---------> 11010001
  70.         0 ------------> |        |
  71.         0 ------------> |        |
  72.         0 ------------> |        |
  73.         1 ------------> |________|
  74.  
  75.     The diagram shows conversion of data from a  parallel  to  a  serial
  76.     stream. Of course, serial ports can receive data as well as transmit
  77.     it, so the UART also converts serial data back into parallel data.
  78.  
  79.  
  80.     2) Why the sudden craze for fast serial ports ?
  81.        --------------------------------------------
  82.  
  83.     Now that high speed modems (V32, V32bis) have  become  very  common,
  84.     many PC serial ports are having problems running fast enough to keep
  85.     up  with the modems which can be driven at speeds of up to 57600 bps
  86.     (bits per second).  A standard '8250 UART'  based  serial  port  (or
  87.     one using a multi i/o chip) cannot run at that speed due to the load
  88.     placed on a typical working PC. The '16450' UART is slightly better.
  89.  
  90.  
  91.     3) Why aren't normal PC ports good enough ?
  92.        ----------------------------------------
  93.  
  94.     Standard serial ports were designed  to  drive  mice,  plotters  and
  95.     modems.  At the time, modems ran at speeds of up to 4800 bps, and we
  96.     thought that was fast - anyone who has been using  modems  for  more
  97.     than  5  years  will  remember how lucky we thought we were !
  98.  
  99.     Problems with serial ports arise for two reasons:
  100.  
  101.     a) The 8250/16450 or equivalent UARTS are simply not fast enough  to
  102.        run  at  the  high  speeds  required  by  fast modems. Whilst the
  103.        BIOS/UART  will  allow  you  to select these speeds, they may not
  104.        reliably work at these speeds. The chips are rated for high speed
  105.        use, but that assumes a simple working enviroment (not a PC!).
  106.  
  107.     b) PC's are busy things, with lots of interrupts to service. If  the
  108.        port is running  at  high  speed,  the  PC  may  miss  interrupts
  109.        generated by incoming  data  because  it  is  'busy  doing  other
  110.        things'  -  this  then means that the UART has nowhere to put the
  111.        incoming  byte  and  so  it  gets  overwritten  by  the next byte
  112.        received. This usually causes CRC errors.  The faster  you  drive
  113.        the port, the more CRC  errors  you  will  get.  This  is  almost
  114.        always a problem if you multitask with MS-Windows or Desqview, as
  115.        the  rapid  task switching keeps the processor very busy. So, for
  116.        instance, if you need to run your serial port  at  38400  bps  or
  117.        higher under MS-Windows then it is very likely that you will need
  118.        a buffered serial port.
  119.  
  120.     The '16550' UART gets around both of these problems:
  121.  
  122.     a) It is designed to run at  high  speed;  a  16550  chip  will  run
  123.        happily  at 57600 bps or faster which is fast enough for even the
  124.        fastest modems (for the moment anyway, but  V.Fast  modems,  just
  125.        around  the corner could require speeds up to 115200 bps. A 16550
  126.        is rated to run at this speed, but no-one  has  really  done  any
  127.        experiments yet to prove this).
  128.  
  129.     b) The 16550 UART incorporates a 16 byte buffer;  if  the  PC  isn't
  130.        ready to received the current byte then the UART can retain it in
  131.        the  buffer  until  the  PC is ready for it.  16 bytes provides a
  132.        comfortatble time margin to ensure that none of the received data
  133.        is lost.  Many communications packages will empty the FIFO buffer
  134.        at every interrupt possible, rather than only taking one byte per
  135.        interrupt.   The  buffer  on  the  UART is a 'FIFO' buffer.  This
  136.        simply  means  that the first byte in will be the first byte out.
  137.        The alternative to this would be a LIFO buffer, but that would be
  138.        useless for a UART as all the data would become scrambled !
  139.  
  140.  
  141.     Analogy
  142.     -------
  143.  
  144.     Imagine  a  mail  man  in the US collecting mail in a street. Assume
  145.     that each mail box can only hold ONE letter and  that  people  raise
  146.     their  'flag'  on their mail box to indicate that they have a letter
  147.     for collection - the flag is equivalent to a PC's  'interrupt'.  The
  148.     mail man sees the flag and runs along to collect the letter.
  149.  
  150.     If  there  is  a  certain level of mail being collected, then it all
  151.     works well - the  mailman  has  enough  time  to  collect  all  mail
  152.     (equivalent to servicing all interrupts).
  153.  
  154.     However,  if  someone  puts a letter in their box and the mailman is
  155.     too busy to collect it before that same person has another letter to
  156.     mail, then there is a problem: As the mail box  can  only  hold  one
  157.     letter, they would have to destroy the first letter.
  158.  
  159.     This  is  how  a normal serial port works. A buffered serial port is
  160.     simply a bigger mailbox, which can hold up to 16 'letters' at  once,
  161.     so  that  when the mailman comes, he can collect up to 16 letters at
  162.     once.
  163.  
  164.  
  165.     ( NOTE : The author of this document is in England, where  we  don't
  166.     have  mailmen who collect post from our houses - we have postmen who
  167.     deliver post and red pillar boxes into which we deposit our  post  -
  168.     the  system  referred to above is the one used in the US, because it
  169.     wouldn't work with the UK system. Any non-US people unfamiliar  with
  170.     these  'flags'  should  refer  to  a 'Peanuts/Charlie Brown' cartoon
  171.     where they seem to feature  regularly.)
  172.  
  173.  
  174.     3a) Internal (PC Card) Modems
  175.         -------------------------
  176.  
  177.     Some  people  have  been confused about differences between internal
  178.     (PC Card) and external (desktop) modems.  An  internal  modem  plugs
  179.     into  a  normal expansion slot inside a PC. Instead of plugging into
  180.     the PC's serial port, it has its own serial port  on  board  and  so
  181.     takes its data directly from the PC BUS.  BUT REMEMBER : An internal
  182.     modem  still  has a UART which, just like with a normal port, can be
  183.     an 8250, 16450 or 16550 (or circuitry which behaves like one).
  184.  
  185.     An interal card modem can either have  a  physical  40-pin  UART  or
  186.     sometimes it is embedded within another controller so you may not be
  187.     able  to  spot  it by looking at the board. When buying a V32bis (or
  188.     faster) internal card modem you should insist that it has  either  a
  189.     true  16550  or  16550  'functionality'. You can test this using the
  190.     '16550.EXE' program or if you have MS-Windows, the MSD program  will
  191.     tell  you  which  type  of UART the modem has. This can of course be
  192.     used to check the UARTs of regular serial cards too.
  193.  
  194.     External modems do not need to have buffered UARTS within the actual
  195.     modem - the buffered UART is only required within the PC (either  on
  196.     a  serial card or a modem card) because the flow control system used
  197.     across the PC BUS is inadequate for modems (the interrupt method)  -
  198.     once  the  data  is  in 'serial form' then flow control becomes much
  199.     more reliable.
  200.  
  201.  
  202.     4) How would I know if I needed a faster serial card ?
  203.        ---------------------------------------------------
  204.  
  205.     If you are multitasking using MS-Windows or Desqview, then you  will
  206.     almost  certainly need a fast buffered serial card. Typical symptoms
  207.     will be CRC errors or block retries reported when downloading files.
  208.     As you will probably be using error correction,  then  these  errors
  209.     are unlikely to be caused by anything else.
  210.  
  211.     Another  symptom  of an inadequate serial port is that you're simply
  212.     not getting the performance you'd expect from your modem. This could
  213.     be caused by you not having your modem configured correctly,  so  in
  214.     the  first instance, check with your suppliers or colleagues/friends
  215.     for any special setup strings particular to your modem (perhaps  you
  216.     have  forgotten  to enable RTS/CTS handshaking or data compression).
  217.  
  218.     If  you  have your modem set up correctly and your performance still
  219.     isn't what it ought to be, then a faster  serial  card  may  be  the
  220.     solution.  On  a  V32bis/V42bis modem, you should be able to achieve
  221.     download speeds of up to 3000 cps on ASCII  text,  or  1500  cps  on
  222.     compressed  (e.g.  ZIP)  files.   Remember that poor phone lines can
  223.     also affect modem performance.
  224.  
  225.     Even if you are not using Desqview or MS-Windows, you may still  get
  226.     the  symptoms details above, especially if you are driving the modem
  227.     at 38400 bps or faster, in which case you would be wise to invest in
  228.     a faster serial card. Having said that, there are some people  using
  229.     high  speed  modems  whose  existing serial port may be adequate, in
  230.     which case there is no point investing in a faster one !
  231.  
  232.     A  fast  serial  card  with  a 16550 UART can be checked for using a
  233.     number of commonly available utilities. If you have  MS-WINDOWS  3.1
  234.     installed,  then  from DOS, you can run the MSD program which you'll
  235.     find in your C:\WINDOWS directory. Under the option labelled 'Serial
  236.     Ports' you can view your existing ports and MSD will report the UART
  237.     type fitted (8250, 16450 or 16550).
  238.  
  239.  
  240.     5) Okay, I want one, what should I buy ?
  241.        -------------------------------------
  242.  
  243.     The  important part about a fast serial card is its UART; this means
  244.     that you may be able to simply swap the UART of your existing serial
  245.     card, rather than having to fit a whole new card.  You can  only  do
  246.     this  if your current serial card uses a 40 pin UART (8250, 16450 or
  247.     equivalent). This needs to be  socketed  for  easy  removal,  unless
  248.     you're  particularly  experienced  with  a  soldering iron and fancy
  249.     desoldering the chip yourself - this is detailed in section (7).
  250.  
  251.     Unfortunately,  most PC's nowadays seem to come with multi i/o cards
  252.     with one multi-purpose chip which performs serial, parallel and disk
  253.     operations; if you have a multi i/o card, it will normally be a PLCC
  254.     package in the centre of the board ( a flat 'surface  mounted'  chip
  255.     with pins on all four sides). This obviously cannot be replaced with
  256.     a   16550.   Some  PC's  have  the  i/o  circuitry  built  into  the
  257.     motherboard; it is unlikely that you can replace the UARTs there.
  258.  
  259.     Thankfully, and more easily, you can simply buy  a  new  card  based
  260.     around a 16550 UART. This can either replace or add to your existing
  261.     serial  ports and your supplier will advise you on the best type.
  262.  
  263.     NOTE : This document relates exclusively to  buffered  serial  cards
  264.     based  around  the 16550 and equivalent chips. There is another kind
  265.     of high speed serial card which uses an on  board  processor;  these
  266.     are  generally  considerably  more  expensive and although there are
  267.     some circumstances where they might be of use, for the vast majority
  268.     of users, a 16550 based board should be adequate for  speeds  up  to
  269.     57600  bps.  A well known 'smart' serial board is the 'ESP' which is
  270.     made  by  modem  manufacturer 'Hayes'.
  271.  
  272.  
  273.     6) Is there just one type of 16550 UART ?
  274.        --------------------------------------
  275.  
  276.     No! As with all  semiconductors, many manufacturers have  jumped  on
  277.     the 16550  bandwaggon. This is good inasmuch that there is a choice,
  278.     but bad in that some manufacturers have got it  wrong  -  some  have
  279.     FIFO  buffers which don't work and some aren't  recognised correctly
  280.     by applications (this can sometimes be worked around but ideally get
  281.     one which you know will work).
  282.  
  283.     The 16550 chip 'by which others are  gauged'  is  made  by  National
  284.     Semiconductor, and the original part no.  was  NS16550AFN.  However,
  285.     due  to  the increasing popularity of the chip, NS decided to change
  286.     the   name.   The   latest   version  is  now  the  PC16550DN. There
  287.     were earlier  version  of  the  original  16550  which  didn't  work
  288.     correctly,  but  it  is  highly unlikely that any of these are still
  289.     around (it was the NS16550N - i.e. not the 'AN' or 'AFN').
  290.  
  291.     Other manufacturers have now brought out their own  100%  compatible
  292.     versions of the NS UART, so you may find that your supplier stocks a
  293.     different  version,  some of which work well, others don't.  As long
  294.     as he guarantees 100% compatibility it should work as well as the NS
  295.     original.   Many  'clones'  are  made  in  what's  known  as  'CMOS'
  296.     versions.  They  are  functionally  identical (CMOS chips users less
  297.     power) so they should work fine too. A CMOS UART  will  normally  be
  298.     called  a  '16C550'  or similar.  Being the original, the NS type is
  299.     the most expensive 16550 UART, so you will probably  save  money  by
  300.     buying a clone, but take note of the above guidelines.
  301.  
  302.     The  FIFO  buffer  on  a  16550 chip can be enabled and disabled. By
  303.     default it will be DISABLED. Many comms programs will  automatically
  304.     detect  and  enable the FIFO buffer, but if yours doesn't, there are
  305.     several programs to enable them,  which  you  can  include  in  your
  306.     AUTOEXEC.BAT  file  or another batch file. Ask your supplier. If you
  307.     are running under MS-Windows then see section 8.
  308.  
  309.     There are several programs around to test 16550 chips, once they are
  310.     installed  so you'll soon know if your new chip/card is okay. If you
  311.     can't get hold of one, ask around on BBS's  or  ask  your  supplier.
  312.     MSD.EXE  is  supplied  with Windows 3.1 and will detect/report 16550
  313.     UARTS, but there are a couple of problems with MSD; see Section 8.
  314.  
  315.  
  316.     7) Replacing a soldered 8250 or 16450 UART
  317.        ---------------------------------------
  318.  
  319.     If your existing UART is a soldered 16450 or 8250 type  (40 pin DIP)
  320.     and you are competant with a soldering iron, then you  may  want  to
  321.     remove  the  chip yourself and replace it with a 40 pin socket (into
  322.     which you plug your new 16550).  It is not  too  complicated  -  the
  323.     most important thing is to work slowly and carefully.  Here are some
  324.     useful tips from Bob Kellock:
  325.  
  326.       >>>> ALWAYS OBSERVE STATIC PRECAUTIONS WHEN HANDLING CHIPS <<<<
  327.  
  328.     Get  hold  of a scrap double sided printed circuit board to practice
  329.     on; it's no use practicing on a single sided board as they're easy !
  330.  
  331.           >>>>>> DO NOT ATTEMPT TO REMOVE THE CHIP WHOLE ! <<<<<<
  332.  
  333.     Get hold of some fine nosed wire cutters and chop off  each  of  the
  334.     legs of the UART as close to the body as possible (therefore leaving
  335.     as much of the leg on the board as possible). Discard the main body.
  336.  
  337.     Then,  remove  each  of  the legs in turn using a soldering iron and
  338.     tweezers. (Editors note: Bob says "real men use their fingers",  but
  339.     I'd  still recommend tweezers). Don't 'wiggle' the iron about on the
  340.     surface of the board as you will probably damage the tracks/pads  by
  341.     doing so. The time between applying the iron and pulling the leg  is
  342.     fairly critical - just keep practicing.
  343.  
  344.     Make  sure  you  pull  the  leg out square from the board or you may
  345.     damage the tracks/pads on the component side.
  346.  
  347.     You may find that it helps to tin the iron with new solder  now  and
  348.     then,  but don't use too much otherwise you may end up with a pubble
  349.     of solder, which will be a read problem.
  350.  
  351.     Get hold of some solder wick or a solder sucker to remove the solder
  352.     from the vias (holes in the board where the legs came from).   As  a
  353.     last  resort  you  can  use  stranded wire and Fluxite but it's very
  354.     tedious. You may find that some holes just don't want to  clean  out
  355.     - resolder them with fresh solder and try again.
  356.  
  357.     Check that the holes really are clean - they can be deceptive.  Hold
  358.     the board up to the light and check that you  can  see through  each
  359.     clearly.  Clean  off  at  least the component side of the board with
  360.     PCB cleaner or meths; use it in a well ventilated room using a stiff
  361.     brush - an old toothbrush is ideal.
  362.  
  363.     Carefully  inspect the component side of the board - preferably with
  364.     a magnifying glass.  You can get minute  traces  of  solder  between
  365.     pads  which  completely  messed  it  up.  Remove any odd bits with a
  366.     scalpel. Check that there is plating  through  the  holes  -  it  is
  367.     possible  to  pull  it  out with the leg but it's not too terrible.
  368.  
  369.     Insert  the  socket  in  the  board  with  the  notch  in  the right
  370.     direction. This is when you may find out that one (or more!) of  the
  371.     holes isn't cleaned out properly. Do it again.
  372.  
  373.     Solder  socket  in position, clean, inspect and rectify as above. If
  374.     you lost any of the through hole platings then solder those pins  on
  375.     the top side of the board too.
  376.  
  377.     The board is now ready to take your new 16550 chip. Remember to take
  378.     static  precautions  (earth  yourself and don't rub your slippers on
  379.     the nylon carpet). Ensure that all pins on the 16550  are  straight;
  380.     if  they  are  not,  carefully  press the chip on a table at a right
  381.     angle to straighten them. Pins tend of break if they  are  bent  too
  382.     much, so be careful.
  383.  
  384.     Place  one  side of the chip just into the socket; do not push it in
  385.     yet. Then, place the other side's pins just into the  socket.  Check
  386.     that all pins are in the right holes and that they are all straight.
  387.     Slowly  press  the  chip into the socket using even pressure, making
  388.     sure no pins snag on their way in. Once it's in. Give it a firm push
  389.     against the table to make sure everything  is  home  tightly.  Check
  390.     that  the  chip  is  inserted properly, the right way round and that
  391.     none of the pins have curled up under the body instead of  being  in
  392.     its correct hole.
  393.  
  394.  
  395.     8) MS-WINDOWS and high speed UARTS
  396.        -------------------------------
  397.  
  398.     Microsoft Windows is a prime cause  of  lost  interrupts.   This  is
  399.     mostly  due  to  the fact that MS-Windows is processor intensive; as
  400.     such, with high speed modems, it is even more likely that data  will
  401.     come  in  quicker  than  the PC can service the interrupts.  This is
  402.     made worse by the fact the Windows Multi-tasks.
  403.  
  404.     A  properly  configured  16550 UART  should  solve  these  problems;
  405.     MS-Windows  is  16550 aware, though you may need to make a couple of
  406.     modification to your SYSTEM.INI file to enable the 16550,  otherwise
  407.     it will run in '16450 compatible mode' and you'll get no benefit.
  408.  
  409.     Once you have installed your 16550 UART  or  16550  equipped  serial
  410.     card,  the  Microsoft  MSD program can be used to check it. MSD is a
  411.     DOS program which you'll find in your WINDOWS directory; it must  be
  412.     run  from  the  DOS prompt, not from within Windows itself. Remember
  413.     that if you installed your serial card to use  a  non-standard  IRQ,
  414.     you set it up with the 'Ports' option within Windows Control Panel.
  415.  
  416.     If you look at your serial ports, it will show the type of UART each
  417.     is fitted with. If you have selected non-standard IRQs or you have a
  418.     COM4  but  no  COM3, MSD gets confused, so if it doesn't display the
  419.     expected results, don't panic !
  420.  
  421.     Next, you'll need to edit your SYSTEM.INI file. You can do this from
  422.     DOS using any suitable text editor or from  within  Windows  Program
  423.     Manager,  select  'FILE'  then  'RUN'  and  enter  SYSTEM.INI as the
  424.     filename.  Windows' text editor will load your SYSTEM.INI file.
  425.  
  426.     Find the section  within  SYSTEM.INI  labelled  '[386Enhanced]'  and
  427.     check for a line which reads:
  428.  
  429.     COMxFIFO=1
  430.  
  431.     where  'n'  will be the COM port with your 16550 fitted; chances are
  432.     that line won't exist, in which case you should add it. If there are
  433.     other lines beggining with COMx... then it makes sense  to  add  the
  434.     new  line  near them. For instance, if your 16550 UART was fitted to
  435.     COM3, you would add the line:
  436.  
  437.     COM3FIFO=1
  438.  
  439.     There  are  no  other options other than '1' here as it is a boolean
  440.     setting (either False=0 or True=1).
  441.  
  442.  
  443.     When using Windows, there is  no  need  to  enable  the  16550  UART
  444.     buffers  manually with any programs such as 16550.EXE. In fact, with
  445.     Windows 3.1, if you  enable  the
  446.     UART's  FIFO  buffers (using a 16550.EXE or whatever) before running
  447.     Windows, then it won't recognise the COM  port  any  more.
  448.  
  449.     A company call CyberSoft, in Australia have produced  a  replacement
  450.     comms  driver  for  MS-Windows  3.1  which claims to improve Windows
  451.     comms performance and make best use of the 16550. The driver may  be
  452.     used  for  free  in non-commercial enviroments. Contact Cybersoft on
  453.     email at : 100033.1723@compuserve.com.  Also, Delrina,  the  company
  454.     who  make  the  'Winfax'  software  have their own replacement comms
  455.     driver called WFXDRV.DRV (or similar) which also claims to  improved
  456.     Windows  comms  performance.  WFXDRV is available from many bulletin
  457.     boards as well as Cix and Compuserve.
  458.  
  459.  
  460.     DOS Applications Under Windows
  461.     ------------------------------
  462.  
  463.     A  slight  bug with Windows 3.1 is that if you enable your 16550's
  464.     FIFO buffers  before  running  Windows,  then  the  port  will  be
  465.     unavailable,  so  make  sure  you  don't  enable  the FIFOs before
  466.     you run Windows !  Any DOS comms program should be  able  to  take
  467.     advantage  of  the 16550, but it depends on the program so results
  468.     may vary widely from user to user.
  469.  
  470.     A  company called Cherry Hill Software have produced a replacement
  471.     comm driver for Windows 3.1 called CHCOMB.386  which  will  enable
  472.     DOS  programs running under windows to recognise 16550's properly.
  473.     It may not be necessary,  so  try  your  comms  with  the  regular
  474.     Windows  driver  first.  It  is added to your WIN.INI file.  It is
  475.     almost freeware - the author expects either a US$10 donation or  a
  476.     tacky  postcard  for his collection.  They can reached by email at
  477.     76050.2204@compuserve.com.
  478.  
  479.     The following lines should also be amended in SYSTEM.INI:
  480.  
  481.     device=*combuff      (delete this line - its in your WIN.INI)
  482.     device=chcomb.386
  483.  
  484.     [386Enh]
  485.     COM3FIFO=1
  486.     COM3Buffer=10000
  487.     COMBoostTime=4        (normally 2)
  488.     COMIrqSharing=true
  489.  
  490.     Experimentation  may  be  required  and doubtless there are people
  491.     more experienced than me on Windows and 16550's  so  if  you  have
  492.     something  to  add,  please  email me and I'll amend this document
  493.     appropriately. Also, practical experience  from  other  users  may
  494.     help  your  a lot, so always ask around to see if someone had (and
  495.     has) solved your problem already.
  496.  
  497.  
  498.     9) Serial Port Configuration
  499.        -------------------------
  500.  
  501.     This section is relevant to all serial  cards,  whether  they  are
  502.     16550 based or the normal 8250/16450 types.
  503.  
  504.     There  are  only  two  IRQ's  officially allocated for serial ports,
  505.     namely IRQs 3 and 4. In theory, this means that  you  can  therefore
  506.     only  have  a  maximum  of two serial ports. You can have more (i.e.
  507.     COM3  and  COM4)  by  sharing  the  interrupts  (although  different
  508.     addresses),  but  this  causes problems for modems as you cannot use
  509.     the ports simultaneously when sharing interrupts.
  510.  
  511.     Some  serial cards allow you to select non-standard IRQ's, typically
  512.     any of 2,3,4,5,7 or 9.  You can only use non-standard IRQs  if  your
  513.     software  allows  you  to and also if that IRQ setting doesn't clash
  514.     with another i/o card already installed. IRQs 5 and 7 are  allocated
  515.     for  the  parallel  ports,  but  often  not  used,  so  they  may be
  516.     available.  Higher IRQ's are only available on 16-bit cards  as  the
  517.     IRQ hardware lines are on the second part of the BUS.
  518.  
  519.     Typically, if you are adding a third serial port to your PC, and you
  520.     can't use non-standard IRQs, set your  new  card  as  COM3/IRQ4  and
  521.     don't  use  your  existing COM1 as it shares interrupts - as long as
  522.     there's  nothing  connected  to  a  port,  it   shouldn't   generate
  523.     interrupts.  If you need to use your existing COM1, you can put your
  524.     new  card  in  as  COM4/IRQ3, but then you can't use your COM2 as it
  525.     shares its  interrupt  with  COM4.   Always  experiment  though;  an
  526.     interrupt   clash   will  at  worst  prevent  your  machine  booting
  527.     (temporarily!).  If all else fails,  disable  your  existing  COM1/2
  528.     (there should be some jumpers on the i/o card) and put your new card
  529.     in as COM1/2.
  530.  
  531.     Windows  Users : If you fit your third port as COM4, the MSD program
  532.     will report it as COM3 due to the way DOS stores the  addresses  for
  533.     COM  ports.  When MSD reports 'COM3' what it actually means is 'your
  534.     third serial port'. Other programs may report similarly.
  535.  
  536.  
  537.     10) Notebook PCs
  538.     ----------------
  539.  
  540.     Users  of  Notebook  PCs often want to upgrade their serial ports to
  541.     buffers types.  The most common answer is that you  can't;  to  save
  542.     space,  notebooks  use  multi-function chips, so the chip which does
  543.     the serial i/o will have  many  other  function  too  and  so  isn't
  544.     replaceable.
  545.  
  546.     Worse  still,  notebooks can't take normal PC expansion cards so you
  547.     can add additional ports, unless your notebook has a docking station
  548.     option which can take cards. Also, many Notebook PCs have  dedicated
  549.     modems  which  fit  into  propritary slots; again the UARTs on these
  550.     modems cannot be changed, though any sensible V32bis modem  designer
  551.     would have included 16550 functionalty in his modem design.
  552.  
  553.     The  only solution to a notebook PC without buffered serial ports is
  554.     to fit a PCMCIA modem if you have a PCMCIA slot. As  well  as  being
  555.     very  neat  and  compact,  many  V32bis  PCMCIA modems include 16550
  556.     functionality - to check the Microsoft  MSD  utility  or  any  other
  557.     16550 checker should confirm the presence of it.
  558.  
  559.  
  560.     11) Supplier information
  561.        --------------------
  562.  
  563.     SEG Communications, based in London, England, stock a range of 16550
  564.     UARTs  and 16550 based serial cards at very competitive prices.  SEG
  565.     also sell a complete range of modems from all leading  manufacturers
  566.     at highly competive prices. SEG specialises in modems, so you can be
  567.     assured of excellent service.
  568.  
  569.     For full details and pricing information contact:
  570.  
  571.             SEG Communications
  572.             137 Hale Lane
  573.             Edgware
  574.             Middlesex HA8 9QP
  575.             England, U.K.
  576.             Tel: (081) 959 3377
  577.             Fax: (081) 959 2137
  578.             Email: segcom@cix.compulink.co.uk
  579.  
  580.       From outside the UK, Fax : + 44 81 959 2137
  581.  
  582.  
  583.       Popular Model : SC5500 Serial Card; Single port card.
  584.                       COM 1,2,3,4 Selectable IRQ 3,4,5,7,9
  585.  
  586.     Credit Card orders are welcome. Trade enquiries welcome.
  587.  
  588.  
  589.     12) About Cix
  590.     -------------
  591.  
  592.     Why are we mentioning Cix here ? Because it is my 'Home' system (the
  593.     one  I use all day) and I am happy to recommend it to everyone; they
  594.     are not paying for this mention, it's a genuine endorsement :-)
  595.  
  596.     Cix  (pronounced  'Kicks') is a conferencing based host system based
  597.     in London, England.  It is similar is style to  Compuserve  although
  598.     considerably  less expensive than other similar services and as it's
  599.     UK based it has a much more friendly 'local' feel than Compuserve.
  600.  
  601.     Services offered include Email, Internet access, local conferencing,
  602.     Usenet conferencing, Fax sending, gigabytes  of  file  downloads  as
  603.     well  as the collective wealth of the 1000's of members in 1000's of
  604.     conferences, each one dedicated to a particular subject.
  605.  
  606.     Details of Cix are available from them on (081) 390 8446 (voice)  or
  607.     their  data  number  on  (081)  399  5252.  Data  speeds from 300 to
  608.     28800bps are supported with MNP5/V42bis. You can  also  telnet  into
  609.     Cix at their address : Telnet cix.compuserve.co.uk
  610.  
  611.  
  612.             ------------------ End of Document ----------------
  613.  
  614.  
  615.     (c) 1993/4 Michael Spalter, SEG Communications
  616.  
  617.     This  document may only be distributed un-modified.  Reproduction as
  618.     part  of  any  commercial  transaction  or  distribution   via   any
  619.     non-electronic  medium is prohibited in part of full without written
  620.     permission  from  the  author.  This  file  may  not  be compiled or
  621.     included within any other document  or  help  system  without  prior
  622.     written permission from the author.
  623.  
  624.                           ----- end of file -----
  625.