COMM8.DRV

8-Port COM-Driver for Windows 3.1


The Windows operating system currently supports only 4 COM-Ports while the
Windows API is ready to support COM1 to COM8. This is because the device
driver COMM.DRV only supports 4 ports. When you substitute COMM.DRV with
our COMM8.DRV it is possible to use 8 ports in the same way (using the same
API function) you use 4 ports today.  Attention: Unfortionatly many
Windows programs today do not check wether or not there are more than four
ports available. Although checking is possible it is normally avoided
because the standard COMM.DRV does not support more than four ports.
These programs (including windows accessory TERMINAL.EXE) will not be
able to use more than four ports even with COMM8.DRV installed. When
writing your own programs you don't have this problem.

Windows for Workgroups 3.11

Although the COMM8.DRV is based on the Windows 3.1 COMM.DRV it will still
work with Windows for Workgroups 3.11.

Installation

To install the COMM8.DRV copy COMM8.* (*= .DRV, *.EXE, *.CPL) from the
distribution disk to the WINDOWS\SYSTEM directory and modify the line
commdrv=comm.drv in section [BOOT] of SYTEM.INI to commdrv=comm8.drv .

You can then start the system control panel and select enhanced ports
configuration. Then you can choose the additional I/O Base addresses and
irq's for COM1..COM8. The new enhanced ports configuration control panel
application will change the [386-Enh]-section of SYTEM.INI to inform
windows about your configuration of COM-Port adresses and IRQ's since
there are no standard adresses for COM5..COM8. See the next section for a
short guide to SYSTEM.INI COM-Port values.


COM-Port related Entries in SYSTEM.INI, section [386enh]

COM1Base=address
..
COM8Base=address

These entries specify the base (first) port for the serial port adapter
you are using for both standard mode and 386 enhanced mode. Check your
hardware documentation for the appropriate value. The defaults are
COM3Base=3E8h, and the port address values in the BIOS data area for COM1,
COM2, and COM4. To change this entry, choose the Ports icon in Control
Panel, and click the Advanced button for the selected COM port.


COM1FIFO=Boolean
..
COM8FIFO=Boolean

These entries specify whether the FIFO buffer of a COM ports 16550
Universal Asynchronous Receiver Transmitter (UART) should be enabled (On)
or disabled (Off). If a serial port does not have a 16550 UART, this
setting is ignored. These values are used by Windows for both standard and
enhanced modes. The default is On.


COM1Irq=number
..
COM8Irq=number

These entries specify which interrupt line is used by the device on the
specified serial port. Check your hardware documentation for the correct
value. If there is a hardware conflict between ports, set a value of _1 to
disable input for that COM port. The defaults for ISA and EISA machines
are COM1Irq=4, COM2Irq=3, COM3Irq=4, and COM4Irq=3; for MCA machines, the
defaults are COM1Irq=4, COM2Irq=3, COM3Irq=3, and COM4Irq=3. To change
this entry, choose the enhanced ports configuration icon in Control Panel.


COMIrqSharing=Boolean

This entry specifies whether COM interrupt lines will be sharable between
mulitiple serial ports or with other devices. Set this switch if your
machine uses the same interrupt for COM3 or COM4 as it does for COM1 or
COM2. The default is On for Micro Channel and EISA machines; Off for all
other machines. In the enhanced ports configuration will change this entry
automatically to TRUE when you select the same IRQ for more than one port.


Sample section of SYSTEM.INI for use with 2 * 4COM

A possible configuration could be like this:

MaxComPort=8 Com3Base=3E8 Com3Irq=7 Com3FIFO=1 Com4Base=2E8 Com4Irq=5
Com4FIFO=1 Com5Base=2F0 Com5Irq=10 Com5FIFO=1 Com6Base=3E0 Com6Irq=11
Com6FIFO=1 Com7Base=2E0 Com7Irq=12 Com7FIFO=1 Com8Base=260 Com8Irq=15
Com8FIFO=1

It is mandatory that theese values are corretly set. Incorrect values can
cause system crashes.  COM1 and COM2 are not set, so default values are
assumed from Windows (COM1, 3F8h, IRQ4 and COM2, 2F8h, IRQ3).

IRQ-sharing

It is possible to set more than one port to the same IRQ by setting the
COMxIrq values accordingly and setting ComIRQsharing=True in the
SYSTEM.INI.

