[comp.os.msdos.programmer] interrupt numbers for com3 and com4?

leeda@frith.egr.msu.edu (Dae Hee Lee) (06/23/91)

com1 and com2 are assigned int12h and int 11h (irq4 and irq3), respectively.
Then how about com3 and com4?
Could you help me?

garlangr@en.ecn.purdue.edu (Mark T Garlanger) (06/23/91)

In article <1991Jun22.205821.21533@msuinfo.cl.msu.edu> leeda@frith.egr.msu.edu (Dae Hee Lee) writes:
>
>com1 and com2 are assigned int12h and int 11h (irq4 and irq3), respectively.
>Then how about com3 and com4?

IBM only defined Com1 and Com2, but a defacto standard was developed by 
clones and serial board makers.  Com3 typically has the same interrupt as
Com1(intr 12h or Irq4) and is at address 03e8h.  Com4 shares it's interrupt
with Com2(intr 11h or Irq4) and is at address 02e8h.  On many serial boards
it is possible to select the Irq from 2-5, and a variety of address.  
Because 1 and 3, 2 and 4 share the interrupt it is "not possible" to use
1 and 3 at the same time or 2 and 4 at the same time on an ISA bus. MCA and
EISA fix this problem.  I read somewhere that if the ports (1-3 or 2-4) are
on the same physical board on the bus, then with proper software you could
use the two ports at the same time.   Some caution should be used if you
try and enable both interrupts, I think you can fry one or both of the 
serial boards.  Hope this helps.

				Mark

-- 
-------------------------
Mark Garlanger          |
garlangr@ecn.purdue.edu |
-------------------------

mitchell@MDI.COM (Bill Mitchell) (06/23/91)

In article <1991Jun22.205821.21533@msuinfo.cl.msu.edu> leeda@frith.egr.msu.edu (Dae Hee Lee) writes:
>
>com1 and com2 are assigned int12h and int 11h (irq4 and irq3), respectively.
>Then how about com3 and com4?
>Could you help me?

Some info I have handy indicates that COM1 and COM3 normally share
IRQ4 and INT0C, while COM2 and COM4 share IRQ3 and INT0B.  It is
up to the ISR to figure out which port is interrupting by testing the
hardware.

-- 
mitchell@mdi.com (Bill Mitchell)

mitchell@MDI.COM (Bill Mitchell) (06/23/91)

In article <1991Jun22.234558.9291@en.ecn.purdue.edu> garlangr@en.ecn.purdue.edu (Mark T Garlanger) writes:
>In article <1991Jun22.205821.21533@msuinfo.cl.msu.edu> leeda@frith.egr.msu.edu (Dae Hee Lee) writes:
>>
>>com1 and com2 are assigned int12h and int 11h (irq4 and irq3), respectively.
>>Then how about com3 and com4?
>
>IBM only defined Com1 and Com2, but a defacto standard was developed by 
>clones and serial board makers.  Com3 typically has the same interrupt as
>Com1(intr 12h or Irq4) and is at address 03e8h.  Com4 shares it's interrupt
>with Com2(intr 11h or Irq4) and is at address 02e8h.  On many serial boards
>it is possible to select the Irq from 2-5, and a variety of address.  
>Because 1 and 3, 2 and 4 share the interrupt it is "not possible" to use
>1 and 3 at the same time or 2 and 4 at the same time on an ISA bus. MCA and
>EISA fix this problem.  I read somewhere that if the ports (1-3 or 2-4) are
>on the same physical board on the bus, then with proper software you could
>use the two ports at the same time.   Some caution should be used if you
>try and enable both interrupts, I think you can fry one or both of the 
>serial boards.  Hope this helps.
>
>				Mark
>
>-- 
>-------------------------
>Mark Garlanger          |
>garlangr@ecn.purdue.edu |
>-------------------------

I think I screwed up and sent my first followup by mail.  I'm reposting
so the info will be seen by Dae Hee Lee, and because it seems the info
might be of wider interest.

Some info I have handy indicates that the above is not universally true.

Memory locations 0:400 thru 0:4ff (AKA 40:0 thru 40:ff) contain a BIOS
data area.  The first eight words in that area contain the following:

40:0 - COM1 port address
40:2 - COM2 port address
40:4 - COM3 port address
40:6 - COM4 port address
40:8 - LPT1 port address
40:a - LPT2 port address
40:c - LPT3 port address
40:e - LPT4 port address

-- 
mitchell@mdi.com (Bill Mitchell)