[comp.sys.ibm.pc] QUESTION: IBM PC Serial Port

ward@cfa.harvard.EDU (Steve Ward) (11/29/88)

I saw this question asked a few weeks ago but never saw an answer:

What are the I/O port addresses for COM3 and COM4 on an IBM PC/XT?

I have PC-DOS 3.30, I have tried using the mode command with COM3 
or COM4 as an argument, per the manual, but an error message is
always issued (ex.  mode com3: 96) and of course it works fine
for either COM1 or 2 - what is the problem?

I am guessing that my system does not have COM3 or COM4 at the I/O
addresses PC-DOS 3.30 wants, as the serial port table at 00:400 shows
bases addresses for COM1 and 2, but not 3 or 4.  I have tried several
devices (serial ports, modems) set to COM3 or COM4, but my guess is
that the I/O addresses they have are not what PC-DOS wants.  My  modem
alleges that COM3 address is 3E8h and COM4 is 2E8h, while my serial
board states COM3 is 2E8h and COM4 is 2E0.  Of course, these two
boards do work at these I/O addresses as I have software to test and
make them talk, but I want a COM3 and a COM4 that PC-DOS recognizes
(works with mode command, for example) - is this a pipe dream or
is there a "real" DOS COM3 and COM4 device out there?

Okay, it is more than *one* question, but please help anyway!

------
There was a brief discussion about the difference, if any, between
8250 UART and the 16450 UART, and/or the difference between an AT
serial port and an XT serial port.  I recently found some commentary
on this topic that I did not see on the net, so here it is:

Quoted from "The XT-AT Handbook, 1988 Edition, Annabooks" without
permission:

"8250    PC[XT] compatible
 8250B   PC[XT] compatible
 8250A   May not be PC[XT] compatible
 16450   Used in AT for speed

The 8250A and 16450 were revisions after IBM had selected the 8250 for
the serial port.  The 8250 had a "pending interrupt glitch" which was
cleaned up on the revisions.  Some software may expect the "glitch"
and operate inconsistently with the 8250A and 16450 chips."

For reference, the 8250 and 8250B were made first, with this glitch
mentioned above.  It may be that later 8250 and 8250B chips were
made without this problem, but since software was widespread which
compensated and therefore relied on this problem, the glitch was
certainly propogated in many, if not all of these chips so as to
avoid breaking software.  The problem may or may not be found in
different vendor versions, too.  The 8250A was made later to
explicitly corect the glitch problem.  The 16450 is simply a fast
version of the 8250A (programmers view, anyway).  AT software
expects a "glitchless" chip.

Steve W.   ward@cfa.harvard.edu   ...harvard!cfa!ward