Configuring COM Port Speed in Windows 3.11
In Microsoft Windows 3.11, serial communications port speeds and
transmission parameters were managed centrally through the Ports applet
located within the Control Panel. This interface allowed users to
establish default hardware communication rates—such as baud rate, data
bits, parity, and flow control—which Windows wrote directly to its core
configuration files and passed to the serial communications driver
(COMM.DRV) to control physical UART hardware.
Accessing Port Settings in Control Panel
To configure serial port settings in Windows 3.11, users opened the Main program group in Program Manager, launched the Control Panel, and selected the Ports icon.
The Ports dialog presented a list of available communications ports, typically displaying COM1 through COM4. Selecting a port and clicking the Settings button opened the configuration window for that specific interface.
Configurable Communication Parameters
The Settings dialog provided drop-down menus for standard RS-232 serial parameters:
- Baud Rate (Bits Per Second): Windows 3.11 offered preset speeds typically ranging from 110 bps up to 19,200 bps by default. Higher speeds, such as 38,400 bps, 57,600 bps, or 115,200 bps, could be selected if supported by third-party drivers or updated serial hardware.
- Data Bits: Allowed selection between 4, 5, 6, 7, or 8 bits (with 8 bits being the standard for modem and file transfer use).
- Parity: Options included Even, Odd, None, Mark, or Space.
- Stop Bits: Options included 1, 1.5, or 2.
- Flow Control: Users could choose between Xon/Xoff (software flow control), Hardware (RTS/CTS), or None.
An Advanced button allowed configuration of the hardware interrupt request line (IRQ) and the base I/O port address. This was essential for resolving hardware conflicts, particularly between COM1/COM3 and COM2/COM4, which traditionally shared IRQ4 and IRQ3 on standard PC architecture.
Under-the-Hood Management: WIN.INI and SYSTEM.INI
When a user saved port settings in the Control Panel, Windows 3.11 updated system initialization files to persist the changes across reboots:
WIN.INI: The port configuration string was written to the
[Ports]section. A typical entry appeared as:[Ports] COM1:=9600,n,8,1,x COM2:=2400,n,8,1,pThis string recorded the baud rate, parity, data bits, stop bits, and handshaking method.
SYSTEM.INI: Advanced hardware settings, such as IRQ assignments, base memory addresses, and FIFO buffer controls for the 16550A UART chip, were stored in the
[386Enh]section using keys likeCOM1Base,COM1Irq, andCOM1Buffer.
Application Overrides and Driver Interaction
The values defined in the Control Panel served as the global system
defaults for Windows-based serial communications. When an application
opened a COM port, the Windows communications driver
(COMM.DRV) initialized the UART using these stored
values.
However, telecommunications software (such as the bundled Terminal app, Procomm Plus, or dial-up networking components) could override these defaults at runtime by calling the Windows 3.11 Communications API. Unless an application explicitly requested a different speed or format, the settings established in the Control Panel remained the active hardware operating parameters.