ID Number: Q72637
3.00
WINDOWS
Summary:
The communications driver shipped with version 3.0 of the Microsoft
Windows graphical environment runs in enhanced mode, it can share
serial communication IRQ between COM ports if the hardware is
compliant. This can occur on equipment with the Industry Standard
Architecture (ISA), the Extended Industry Standard Architecture
(EISA), or the Micro-Channel Architecture (MCA).
More Information:
The communications driver supplied with Windows 3.0, COMM.DRV, can
share IRQs between two serial communication boards when Windows runs
in enhanced mode. However, this ability is very dependent on the
hardware and may not work in all cases.
In the default configuration, COM1 and COM3 are placed on IRQ 4; COM2
and COM4 are placed on IRQ 3. To use COM2 and COM4 at the same time,
for example, the two ports must successfully share IRQ 3. To
accomplish this, when the COMM.DRV receives an interrupt, it checks
each COM port that is currently open on the IRQ to determine if the
port requires service. After COMM.DRV services the interrupt for one
port, it checks any other ports connected to that IRQ until it
determines that no ports require service. Then COMM.DRV executes an
EOI instruction and an IRET instruction.
IRQ sharing works correctly only if the COM adapters cooperate with
each other. Some adapters mask the interrupt request such that other
adapters on the same IRQ line cannot send an interrupt request to the
interrupt controller. By default, the COMM.DRV supports IRQ sharing on
an EISA or an MCA machine because the COM ports probably share an IRQ
with each other or with another device in the system. On an ISA
machine, where the chances of IRQ sharing are much lower, the user can
enable IRQ sharing by setting the ComIRQSharing flag in the [386Enh]
section of the SYSTEM.INI initialization file. For more information,
see the documentation for the ComIRQSharing flag in the SYSINI2.TXT
file that the Windows setup program places in the Windows directory
(by default, C:\WINDOWS).
Note that all the extra processing required to share IRQs creates
overhead. On a system where a the COM ports do not share an IRQ with
any other device, disabling IRQ sharing with the ComIRQSharing switch
provides a minor performance improvement.
Additional reference words: 3.00 DDKVCD