Installing SIO

These instructions have been provided by Sean Dennis!

Sean's Quick 'n Easy SIO/VModem Setup FAQ v0.0.4 (25 June 2022) Originally developed on 26 September 1999 / 14:14 CST Written by Sean Dennis

This document may be freely reproduced and modified as needed as long as I retain credit as the original author. (If you do modify it, please be kind enough to send me a copy of the modified document! :)

This FAQ covers SIO v1.60d as I have never used SIO2K.

* NOTE: This FAQ assumes you know how to set up your BBS and OS/2 correctly. If you need help with that, please look elsewhere.

1) What is SIO/Vmodem?

SIO stands for Serial Input/Output. It is a serial communications driver for OS/2. VModem is a virtualized modem engine also for OS/2. Also included in the package are VX00.SYS (a virtual FOSSIL for the VDM). Note that these are NOT FOSSIL drivers, but replacements for OS/2's VCOM.SYS/COM.SYS and ArcaOS' PSCOM.SYS/VCOM.SYS. OS/2 doesn't need FOSSIL drivers but if you use DOS doors/BBS software, VXOO.SYS is required.

Basically, VMODEM fools the BBS into thinking that it's connecting to a standard serial port(s) and SIO handles the real communications end. I've used this with both OS/2 and DOS based BBS software and SIO/VMODEM work flawlessly.

2) How do I get this bad boy?

SIO is no longer registerable. Ray Gwinn has said publicly on Facebook to use the keygen that is available for 1.60d (no keygen is available for SIO2K).

3) OK, I got it on my system, now how do I install it?

Put the ZIP file into a temporary directory, unZIP it and then type INSTALL. SIO will then install itself into C:\SIO and run REREG.EXE (to check to see if you have a registration). Now, here's where things get fun! Get out your favorite text editor and load up CONFIG.SYS. Under OS/2 and eComStation, the lines referring to COM.SYS and VCOM.SYS have been commented out and the lines referring to SIO.SYS and VX00.SYS have been installed.

For ArcaOS, you must manually comment out the following lines in CONFIG.SYS:

DEVICE=C:\OS2\BOOT\PSCOM.SYS
DEVICE=C:\OS2\MDOS\VCOM.SYS

For all systems, make sure all of this is after the MOUSE.SYS line. If not, your mouse may quit working.

4) It's in the directory… how do I configure it for my system?

You'll need to define each COM port.

(Before you go any further, open the docs and read them. Yeah, they're dry, but there's a lot of good information in there! However, there is one little piece of info that you'll need…)

Basically, your SIO line should look like:

DEVICE=C:\SIO\SIO.SYS

You'll then want to add something like:

(COM1,3F8,IRQ4)

to the line… but that's not complete either. It will get you basic comm support, but you will not be able to run DOS doors over telnet! Why? SIO does not give up the COM port to any other program unless specified with a - in the command line. So, with that addition, the command line would look like:

DEVICE=C:\SIO\SIO.SYS (COM1,3F8,IRQ4,-)

If you want to lock your ports (I do and recommend it for the most consistancy with data streams), you put it directly after the COM port like so:

DEVICE=C:\SIO\SIO.SYS (COM1:57600,3F8,IRQ4,-)

And that's all there is to it for your regular dial-up modem. Now, if you're planning on using a virtual modem, things are a wee bit different. Since you're really not using a modem, you'll need to fool the computer into thinking there IS one on that COM port. You don't need the real IRQ and base addresses here, you can make them up… however, for this example, I'll use COM2's standard calling conventions here.

To use COM2 as a virtual modem, here's the line you could use:

DEVICE=C:\SIO\SIO.SYS (COM2,INTERNET:2F8,NONE:3)

To run DOS doors on the virtual modem:

DEVICE=C:\SIO\SIO.SYS (COM2,INTERNET:2F8,NONE:3,-)

If you want to lock the COM port AND run DOS doors:

DEVICE=C:\SIO\SIO.SYS (COM2:57600,INTERNET:2F8,NONE:3,-)

See a pattern emerging here? :)

This is my personal SIO command line in CONFIG.SYS (the first line is wrapped for this document):

DEVICE=C:\SIO\SIO.SYS (COM1:57600,3F8,IRQ4,-) (COM2:57600,
INTERNET:2F8,NONE:3,-) (COM3:57600,INTERNET:3E8,NONE:4,-),
(COM4:57600,INTERNET:2E8,NONE:3,-)
DEVICE=C:\SIO\VSIO.SYS
DEVICE=C:\SIO\VX00.SYS
DEVICE=C:\OS2\MDOS\ANSI.SYS

If you are going to run DOS doors, make sure to include the VX00.SYS line as that is the DOS FOSSIL driver. VSIO.SYS is required in all cases. ANSI.SYS is also needed if you are going to use ANSI graphics.

Make sure that SIO's directory is in both your PATH and DPATH statements. Very important.

When you're done, save the file and reboot. You will see SIO's little “I'm alive” screen while booting up the system.

5) Great! Now, HOW do I set up VModem?

VModem is blessedly simple to use… just type in VMODEM at a VIO prompt. Vmodem will pop up and say at the bottom a message about being alive and well. You'll notice that the display will look somewhat like a modem with lights: when a particular port is being used, the black items will turn yellow when accessed.

If you're not online, VModem will still fire up. It doesn't care as long as those ports are defined in CONFIG.SYS.

You can make VMODEM load after the TCP/IP stack is loaded by creating a CMD file called TCPEXIT.CMD in C:\TCPIP\BIN (applies to all systems).

Something like this will work:

@echo off
c:
cd \sio
start "VModem" /win /min vmodem

You can also start your entire BBS via that batch file.

6) So, just what do I do to my BBS to have it access those virtual modems?

Set it up normally as if those modems were really there. However, the init string is ATZ. That's all that is needed. DO NOT USE +++ in the init string as it is not implemented in VModem. Please read the SIO documentation for more information.

Believe it or not, that's really about it to have a simple SIO/VModem setup. However, RTFM DOES APPLY… PLEASE READ THE MANUALS! There is important information in there that you need to know! This is only a quick 'n easy setup FAQ.