Category : Communication (modem) tools and utilities
Archive   : COMST12.ZIP
Filename : COMSET12.DOC

Output of file : COMSET12.DOC contained in archive : COMST12.ZIP

Modem / Uart Setup Program
Version 12.0..release date 12/20/93
from Hank Volpe Copyright 1987 - 1993
BBS Phone: 410-256-3631
Voice Phone: 410-256-5767


Comset is a utility that is designed to setup a communications port
and a AT (Hayes) Compatible smartmodem. Many modems, especially
internals, do not have a method to reset the modem when it is
activated, nor does an adequate method exist to setup the serial port
for use.

Comset will setup your serial port to any speed from 300 to 115200 bps
and then check to see if your modem is on-line. If it isn't, Comset
will perform a hardware reset to "wake" it up. Next a software reset
is performed by sending the command ATZ. If the reply OK is received,
you are informed that the modem is fine. If OK is not received, Comset
will attempt 3 times to reset the modem before informing you of an
error. If you have an external modem and it is off, Comset will abort
after setting up the serial port to the desired baud rate.

Comset Version 12.0 Documentation copyright (c) 1993 by Hank Volpe
Page 2

What's new in Version 12.0 ?

Version 12 increases the DTE rate to 115,200 bps. The ability
to toggle a 16550AFN FIFO buffer on or off has been added to the
command line. Also, a routine has been added to trap modems that
send NULLS, which confuses the C language string search routines.
Finally, the default routines do not use transmitter driven interrupts,
instead a polled routine is used. Some earlier uarts cannot handle
transmitter driven routines. The receive routines (of course) are
interrupt driven.

You can always download the latest version of Comset, plus get user
support on the Modem Doctor BBS (410-256-3631) 24 hrs a day. All
users, registered or shareware, are always welcome. Additionally,
you can find Comset on most national BBS systems.

Comset attempts to answer your communication utility needs with a
product that is more flexible and more powerful than simple
Port testers or Port speed adjusting programs. With a top speed of 115.2k,
redirectable output to a file, and errorcodes returned to batch files.
Comset 12 also contains a new uart driver that works with all types of
PC-Compatible uart chips.

Some of the features of Comset include the following ;
Level 1 options...Shareware Version

** User Selected baud rates from 300 to 115200 bps.
** User Selected Comm port assignments [1 to 4].
** User Selected IRQ lines (2-7)
** Toggle 16550AFN Buffers ON or OFF
** Set 16550AFN trigger levels to 14
** Modem Status register testing.
- Comset tests the registers for DTR/RTS and Carrier Detect
** Redirectable output..can be sent to a file for logging.
or used over any serial link.
** RTS/CTS DTR/DSR Handshake testing.
** Ability to setup the UART alone for dumb modems or
other serial devices up to 115.2K baud
** "s" switch allows you to swap any comm pointers in memory
** "p" switch allows you to see your comm address assignments
** Log in of Comm ports 3 & 4 to DOS for use by other programs
such as high level languages or applications.
** Ability to set a uart up and raise control lines without
the need for an active serial device or modem.

Registered users have access to this special feature;
** Ability to send custom Hayes command strings to the modem
using a simple ASCII text file

Comset Version 12.0 Documentation copyright (c) 1993 by Hank Volpe
Page 3

The usage syntax for Comset is simple.
COMSET [speed] [port] U or
COMSET [speed] [port] or
COMSET [speed] [port,irq] or
COMSET [speed] [port] ON or
COMSET [speed] [port,irq] ON or
COMSET [speed] [port] U ON or
COMSET s [port] [port]

[speed] and [port] are user options
[speed] and [port,irq] are also user options
u tells Comset to set the UART only
ON tells Comset to activate 16550AFN buffers
if using a 16550AFN Uart chip.
h invokes runtime help for the user
i shows you revision and program information
p peeks at your comm port memory address assignments
s swaps the memory address assignments between the
first port you entered and the second.

Comset is easy to use. Typing COMSET from the dos prompt will
automatically attempt to set up serial port Com1 to 2400 bps and
attempt to wake up its modem. Selecting a different speed involves

only adding the speed after the word COMSET 1200 sets
serial port COM1 to 1200 bps instead of the default 2400. Trailing
zeros are not necessary, so you could also type COMSET 12 to set up
serial port COM1 to 1200 bps. If you wish to use a different serial
port, add that after the COMSET 24 2 will set serial port
Com2 to 2400 bps. If you accidentally enter an invalid baud rate, the
default of 2400 bps will be used. If you accidentally enter an invalid
range of comm ports, the default of COM1 will be used. Defaults are
always used if the user does not supply speed and port. Typing a U
after any option instructs Comset to setup the serial port only and
not to look for a modem. This is handy for setting up serial
printers or other dumb devices to speeds higher than 9600 baud. from dos will do the same, but not at 115200 baud, and not
on all machines!.

Typing Comset 2400 3,5 will set port 3 using IRQ 5 to 2400 bps. It
is important to use the comma (,) between the port and the IRQ line.
Valid IRQ assignments are between 2-7. If you don't include one, Comset
automatically defaults to PC industry standard selections.

Comset Version 12.0 Documentation copyright (c) 1993 by Hank Volpe
Page 4

Typing Comset p will display all of the comm port addresses logged
into Dos. This can be handy when you are trying to configure a serial
card for proper addresses.

Typing Comset s will swap the address assignments in memory of com1
and com2. If you entered comset s 1 4, then the address assignments
will be swapped between com1 and com4 instead of com1 and com2. Any
valid port from 1 to 4 can be used.

Typing COMSET h will bring up a runtime summary of features and other
helpful information. Ideally, Comset should be run out of your
autoexec.bat file when you first turn on your computer. Internal
modem users can appreciate the fact that probably 2 or 3 times out of
a 100 their internal modem does not "wake-up" properly when the
computer is first turned on, and this can hang-up some communications
programs. Also, BBS sysops sometimes experience problems with modems
when stopping the BBS and trying to use the modem to call out. This
is why Comset was written!


Comset supports all the industry standard Serial Port address
assignments for modems. Almost all PC-modems allow you to use COM1-4,
however only specific software can use COM3 or COM4 on most machines.
Comset will not only use COM3 and COM4 itself, but it will log those
ports into DOS for use by other programs such as high-level languages
and applications (something that under normal conditions can't be done
with an IBM-PC or most clones without special software). Using the new
"s" feature, you can also swap COM3 to COM1's address for those
programs that cannot access a COM3 or COM4. Using the "p" feature, you
can find out what serial port assignments your computer is using.


Comset checks your serial port in three distinct steps;
1) Set the Serial Port computer UART to the desired baud rate and
raise the DTR and RTS lines. If a serial port is not detected, Comset
aborts and displays the message that there is no serial port with that
COMM designation your system.

2) Check that DSR and CTS are returning from the modem, if not report
an error and stop testing.

3 a)If steps 1 & 2 are successful, wake up the modem by sending the
command string "ATZ". If OK is received, report all is Normal and
leave the RTS and DTR lines active.

Comset Version 12.0 Documentation copyright (c) 1993 by Hank Volpe
Page 5

b)If the modem did not wake up, issue a more advanced hardware and
software command string to reset and wake up the modem. Three attempts
are made..if it fails, the RTS and DTR lines are turned off. This
could happen

if you tell Comset to test a serial port that does not have a
compatible modem attached. In that case, a "failure" of this kind
would be "normal" for your system.

You can redirect the output of Comset to a file if you wish to
maintain a log of each initialization. To do this, just use the
command string;

COMSET [speed] [port] >> comset.log

Speed and port are optional. The >> symbol tells dos to make a file
called comset.log and append it each time Comset is run.

IV Support for 16550AFN Uarts

The new ON feature allows Comset to enable or disable the 16550AFN
uart buffers. Some comm programs fail to disable these buffers on
exit. As a result, DOS or other applications may crash your system
or refused to use the buffers. The ON switch (as the last thing on
any command line) enables these buffers and sets the trigger level
for receive interrupts at 14 characters. OFF (or nothing) disables
these buffers. When a user enters the ON command, Comset checks to
see if a 16550AFN is present, and if so, the user is informed that
this uart has been detected and the buffer trigger level is being set.
Comset exits with the buffers enabled. Typing OFF or not entering
the words ON will turn these buffers off.
This command can be very powerful for you, because it does test the
16550AFN's buffers and ability to generate a trigger level interrupt.
If you have any doubt about your 16550AFN, Comset can end your worries.
Registered users, with the custom command files, can interrogate the
modem over long sequences, verifying the 16550AFN buffers are working
properly. The :ON command is active in both shareware and registered

Starting with Version 11, all users of Comset can work with the
error-code reporting feature. Error code reporting simply stated passes
"result-codes" from Comset to its calling program. This allows you to write
some advanced batch-file procedures or to take specific actions.
This error-code information can be interpreted by Dos Batch files using
the ERRORLEVEL function. Under normal conditions, a result code of 0 is

Comset Version 12.0 Documentation copyright (c) 1993 by Hank Volpe
Page 6

returned to the calling program. If something wrong is detected, an
error code of 99 is returned to the calling program. A simple use of
this can be to start a communications program if the modem is ok, but
if not, default to some other example batch-file program
looks like this;

echo off
comset 24 1
IF ERRORLEVEL 99 goto stop
echo passed
goto exit
echo failed!

Other uses are left up to your could flash up help
screens to the user like "HEY DUMMY...TURN ON THE MODEM!!!" or
something similar. Combined with redirecting the output to a logging
file, you could trace a history of failures or other actions.
The registered version of Comset has the ability to send custom setup
strings to your modem from a simple text file. To use this feature,
all you need to do is the following;

1) Make a file with valid AT commands using edlin or any ASCII
text editor and name the file Comset.cmd

2) Place this file in the same directory that you are running
comset out of. If you are running Comset from a path, then
you must have a Comset.cmd file in the directory you are
currently in for this feature to work. The reason for this
is so that you could have multiple comset.cmd files
in different directories for different uses.

When Comset starts, it will look for Comset.cmd in the current
default directory, and if it finds it, it will send that command
string to the modem instead of the ATZ command. An example of such a
command set is the following;

From dos, type edlin comset.cmd
when edlin starts, type I for insert.
Next, type AT M0 H1 then return
Next, type control-Z
Next, type e and the file will save.

The next time you run comset, it will find the file comset.cmd and
tell the modem to shut off the speaker and go off-hook.

Comset Version 12.0 Documentation copyright (c) 1993 by Hank Volpe
Page 7

Any valid AT command set for your brand of modem can be sent. The
only restriction is that all these commands fit on one line and the
first two letters must be AT.

You can also redirect the output of this function to a file as
explained above. Users of Modems can use this to capture the settings
of their modem and save it in text form for future reference.


You can freely make copies and distribute the shareware version of
Comset over BBS systems or public domain libraries as long as no fee
for Comset is charged (except duplication costs) and as long as
Comset.exe is distributed along with this file Comset.doc. These may
be archived together for use on a bbs system. Under no circumstances
can the registered version of Comset be distributed. Each version
displays "shareware" or "registered" when it is run from the dos

Comset is copyrighted by Hank Volpe and is not public domain software.
Shareware version users are granted a limited license for its use. No
warranties for Comset are stated, expressed or implied.

Shareware authors continually provide computer users with low priced
software compared to the traditional retail approach. If you register
Comset, you will be able to use all the custom command file feature
which I think you'll find very handy.

Registration is simple...and price is low. Comset is only $10, which
includes the latest version and free maintenance updates. To register,
send $10 along with your name and address to;

Hank Volpe
PO Box 43214
Baltimore MD 21236

Comset Version 12.0 Documentation copyright (c) 1992 by Hank Volpe
Page 8


Comset was instructed by the user to test a non-existent comm
port. This could happen automatically if you don't have a COM1
in your system. If this is the case, use the line
COMSET [speed] [port] to select your specific needs.

The modem under test did not set up even after 3 extensive
hardware and software attempts to do so. Either you have a non-
compatible or non-intelligent modem, or you are using the wrong
opening baud rate. Comset's defaults are 2400 bps and COM1. If
you only have a 1200 or 300 bps modem, use the line
COMSET [speed] [port] and use a lower speed. Valid speeds are
300 bps, 1200 bps , 2400 bps [default], 4800 bps, 9600 bps,
19200 bps, 38400 bps, 57600 and 115200 bps. Trailing zeros are
not 576 is 57600 bps. Any other values default
automatically to 2400 bps.

The hardware handshaking pairs RTS/CTS or DTR/DSR are not
communicating properly. This should NEVER happen on internal
modems unless the CTS signal is not enabled. Internal Modems
usually keep this signal at a logic 1, so if you see this error,
check your internal modem for proper strapping of the CTS and DSR

If you have an external modem,and the power for the modem is on,
you will see this error message if you do not have the CTS signal
at a logic 1 or you have a defective or inadequate Serial Cable.
Most external modems have Dip-switches on the back for setting
the CTS signal. Normally the CTS follows the Serial Ports RTS and
the modem DSR (sometimes called MR) follows the Serial Ports

In the case of an external modem you will see this error message
every time the modem has not been turned on. This is telling you
that your serial port hardware is fine, just that your modem is

Comset Version 12.0 Documentation copyright (c) 1993 by Hank Volpe
Page 9


Version 1 - Simple Assy program fixed at 300 bps. Two versions
COM1 and COM2.

Version 2 - Baud rate raised to 1200 bps.

Version 3 - Baud rate raised to 2400 bps.

Version 4 - COM1 / COM2 support in one program.

Version 5 - Major rewrite, added interrupt support, hardware
and software testing, COM 1-4 support, Multiple
baud rate support, error checking and reporting,
and support for high speed modems to 19200 bps.

Version 6 - This version adds the U parameter to allow for testing
and setup of dumb modems and other serial devices.
The registered version adds the ability to send a
custom command string from a file named comset.cmd
to the modem in place of the normal ATZ command

Version 7 - This version adds baud rates to 38.4K,improved Uart
communications module.

Version 8 - This version adds speeds to 56K baud, improved
Uart communications module, addition of the
comm port swap and comm address features

Version 9 - Improves speed of routines, adds the ability for
uart only setups not to require an active device,
changes the top speed description to 57.6k, and
adds a test to verify the baud rate register set
to the desired baud rate

Version 10- Suppresses extra line feeds sent by some modems,
shortens the sign-on banner, changes timing routines
that properly read all data from the modem when running
custom commands that take a long time to
a long status report sent at 300 baud could take longer
than 15 seconds, now the timer is reset to 0 each time
a character is received. Includes the new Uart driver
module used in Modem Doctor and Zboot.

Version 11- Adds IRQ selection to the command line and allows
the shareware version to return errorlevel codes

Version 12- Increases speed to 115,200bps, adds the ability to
turn on and off a 16550AFN Uart buffers, fixes a problem
that some modems have in sending NULLS, confusing

Comset Version 12.0 Documentation copyright (c) 1993 by Hank Volpe
Page 10

the C strstr() and strcmp() routines. Also, a reset
timer trigger for the registered version was added
to properly dump slow buffers and a new Uart module
using 16550AFN support was added.

current released software version is 12.0

  3 Responses to “Category : Communication (modem) tools and utilities
Archive   : COMST12.ZIP
Filename : COMSET12.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: