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