SIO

What Is SIO?
SIO.SYS and VSIO.SYS are companion device drivers for Version 2 (and up) of the OS/2 operating system.

Both drivers (SIO/VSIO) have been coded with performance in mind, possibly sacrificing some compatibility. For this reason, SIO and VSIO are not exact replacements for the OS/2 drivers COM and VCOM. However, all serial communications programs tested by the author work correctly using SIO/VSIO.

SIO is a Serial Input/Output (SIO) communications driver. It provides an interface between application programs and the serial communications hardware.

SIO had been designed as a high performance replacement for the OS/2 device driver COM.SYS. See the Technical Reference Manual for information about the known differences between COM.SYS and SIO.SYS.

SIO works with 8250 (type) serial I/O devices. Such devices include, but are not limited to the 8250A, 16450, 16550, 16550A and the 82510. If you have a PC that is an IBM or near compatible which has a serial communication port, it is likely that it contains one of these devices. In addition, SIO supports some intelligent serial I/O cards. SIO will identify the type of serial devices that it finds and display them at load time.

Like other Device Drivers, SIO will do very little standing alone. There must be an application(s) program that makes use of SIO's functions before one will benefit from SIO.

What Is VSIO?
VSIO is a Virtual Device Driver (VDD). Virtual device drivers provide services for DOS programs executing under OS/2. Most Virtual Device Drivers emulate a specific hardware device and/or BIOS service. The primary job of a Virtual Device Driver is to convert misbehaved DOS input/output into well behaved input/output that can be accepted by the OS/2 driver SIO.SYS.

Using the protection mechanism of the 386 (and up) processor, a Virtual Device Driver can instruct OS/2 to trap all input/output for given hardware ports. Once trapped, the Virtual Device Driver (VDD) appropriately routes information to/from the Physical Device Driver (PDD) and to/from the DOS program.

VSIO creates a virtual (imaginary) 16550A or 16450 (UART) in software. Additionally VSIO emulates the BIOS INT 14h services. All of the hardware registers of the virtual UART are simulated by VSIO. VSIO does not attempt to simulate the timing of the real UARTs. DOS programs that depend on the timing of real hardware UARTs may have problems executing under VSIO.

All DOS programs that execute under VSIO should have RTS/CTS handshaking enabled (in the application) even if SIO proper is not using RTS/CTS handshake.

The virtualization (simulation) provided by VSIO is not (and can not be) exact. However, most well written DOS programs should not have problems.

Windows better than Windows!
Version 1.50 contains tweaking in the WFW support, if you had trouble before, try it again. If you are using COMM.DRV from Windows for Workgroups 3.11, SIO will now support the communications directly. That is, Windows programs will be directly supported by SIO proper, and the virtualization that existed in earlier versions of SIO is bypassed. In this environment, Windows communications programs should work as well as native OS/2 communications programs. Thanks to Rob Rose of IBM for some critical information about the Windows communications interface

What Is VMODEM?
VMODEM version 1.15 is included in this release of SIO. VMODEM.EXE is a virtual modem implementation that allows serial communications programs to work over the Internet. MULTIPLE INTERNET/VMODEM PORTS CAN BE DEFINED IN THE SIO COMMAND LINE. VMODEM acts as both a Telnet server or client, depending on the direction of the connection. VMODEM allows virtually any data communications program, including your favorite BBS software, to use an Internet connection instead of a telephone line. Several existing BBSes and now accessible via Internet. Most took only about 5 to 10 minutes to setup under VMODEM. I wonder if Internet is ready for the explosion that is about to come.

VMODEM.EXE was developed and tested under IBM's TCP/IP Version 2.0 with the August 1994 CSD applied, and has been tested with the Internet Access Kit (IAK) that is included in the bonus pack of OS/2 V3. However, your are on your own with respect to any setup of TCP/IP.