Home of the original IBM PC emulator for browsers.
[PCjs Machine "ibm5170"]
Waiting for machine "ibm5170" to load....
T h e P C - S I G L i b r a r y o n C D - R O M
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
This may well be the greatest collection of software ever compiled.
The PC-SIG Library on CD-ROM is our premier collection of the entire
PC-SIG library. It has over 3000 different, and complete applications
for your every need. Every shareware program we have is on one disc;
over 700 megabytes (unzipped) of software you can have immediate access
to.
Easy to use, all you have to do is insert the disc and type 'GO' at the
DOS prompt. We've included all the tools you need for fast easy access
to the programs and their descriptions.
Whether you're interested in Accounting or Windows, there's a shareware
program for you on the PC-SIG Library on CD-ROM.
Winner of the Optical Publishing Assn's Best Consumer Product Award.
Shareware for every imaginable need: Accounting Chemistry Educational
Engineering Games Hypertext Networks Programming Spreadsheets Utilities
Word Processing
# # #
PC-SIG UPDATES PC-SIG LIBRARY ON CD-ROM
For Immediate Release
PC-SIG LIBRARY ON CD-ROM UPDATED TO INCLUDE A NEW USER INTERFACE AND MORE
THAN 800 MB OF PROGRAMS June 21, 1992, SUNNYVALE, CALIF. - PC-SIG, Inc.
today announced availability of The Eleventh Edition of the PC-SIG Library
on CD-ROM. The PC-SIG Library on CD-ROM contains over 800 megabytes of
shareware and includes more than 300 new programs, 550 updated programs,
and the addition of 75 megabytes of Windows 3.x shareware. The
user-interface has been completely re-engineered to take advantage of the
HyperWriter! hypermedia and multimedia authoring system from NTERGAID, Inc.
The implementation of HyperWriter! provides significant performance and
ease of use enhancements. Programs can access and download much faster
than with previous editions. Programs have been reorganized and indexed
for better referencing. Users just c lick with a mouse, or point with the
cursor, on a program name to see a complete description of the program.
Downloading or copying a program is handled automatically by HyperWriter!
Addition of a preview option is especially important for anyone who uses
images, icons, or fonts. "You can preview the whole library of images to
find the right one," according to Bruce Kent, product development manager.
"This CD finally makes it possi ble to conserve your disk space and paper,
yet still have all the information you need to make an informed decision,"
said Kent.
All new and updated programs have been reviewed and tested by PC-SIG. Every
program goes through extensive virus checking using the most recent version
of VIRUSCAN from McAfee Associates, and other anti-virus software.
According to Kent, "In the ten ye ars we've distributed shareware, we have
never had a confirmed report of a virus on any of our distributed programs
or CD-ROMs."
The PC-SIG Library on CD-ROM, Eleventh Edition has a list price of $179.
Upgrades from previous editions are available for $99.
Users of PC-SIG's Essential Home & Business Collection CD-ROM can upgrade
for $120.
PC-SIG CD-ROMs are distributed worldwide through a network of distributors
and resellers. Based in Sunnyvale, Calif., PC-SIG, Inc. markets and
supports one of the world's largest collections of shareware for IBM PCs
and compatible systems. PC-SIG also publishes Shareware Magazine, which is
devoted solely to shareware. The magazine is availa ble by subscription
and on newsstands nationwide.
System Requirements:
IBM PC/XT/AT PS/2 or compatible with 640K memory, DOS 3.1 or higher and
Microsoft MS-DOS CD ROM extensions, and a hard drive. Microsoft compatible
mouse supported and VGA highly recommended.
To Order in the U.S.A.: Call 800-245-6717 and ask for Customer Service.
Outside the U.S.A. call (408) 730-9291 for the name of the dealer in
your country.
{COMMO} 5.3 Addendum
____________________
This Addendum contains the major additions and/or changes to the
{COMMO} 5.2 documentation. Print out this file and keep it with
your printed manual.
===============================
In the User Guide and Reference
===============================
Under "Command Line Options"
----------------------------
/vnnnnn Size of String Variable Space.
The size of String Variable Space can be adjusted from 512
bytes to 65535 bytes. The default is 1536 bytes. Example:
/v3000 will set the size to 3000 bytes.
Setup File changes/additions
----------------------------
_________________________________________________________
{sld=no} Stop serial input during disk I/O (yes/no)
_________________________________________________________
This should be set to "yes" if your system drops characters
when a disk (hard or floppy) is accessed. The symptoms are
missing characters in the Terminal Screen when capture is on
or excessive CRC/csum errors during internal protocol file
transfers.
This is equivalent to what some programs call "handshake
slow." In {COMMO} it works in conjunction with Hardware
Flow Control (RTS/CTS), so both {COMMO} and your modem must
have Hardware Flow Control engaged.
If you use an external protocol driver be sure to set the
"handshake slow" parameter in that program as well.
_________________________________________
{com=1,3f8,4} Com1 port address/IRQ
{com=2,2f8,3} Com2 port address/IRQ
{com=3,3e8,4} Com3 port address/IRQ
{com=4,2e8,3} Com4 port address/IRQ
_________________________________________
These are the hardware serial port base address and IRQ
assignments. The settings shown are the most common, but
some serial adapters are different. The serial adapter
manual may give a range of addresses, for example "3f8-3ff."
Use the first value as the base address.
Port addresses are in hexadecimal and may range from 0 to
ffff. IRQ numbers are decimal and may range from 0 to 15
(avoid use of IRQ numbers that are used by system hardware,
e.g., 0, 1, 8, etc.). IRQ numbers from 8 to 15 are
available only on AT class machines.
____________________________________________________
{set _dialsr,CONNECT} Dialing success response(s)
{set _dialfr,BUSY,NO CARRIER,NO DIALTONE}
Dialing failure response(s)
{set _dialir,RING} Inter-dial response(s)
____________________________________________________
These reserved variables each define a list of response
strings that are returned by your modem during dialing
operations. Most "Hayes compatible" modems use similar
responses, but there may be subtle differences. Consult
your modem manual for details.
"Success" responses are received when the modem has
connected with a remote modem. "Failure" responses occur
when the number being called is busy, doesn't answer or when
something is wrong with the telephone line. {COMMO} will
automatically redial the number after a failed attempt.
Inter-dial Delay responses may occur during the delay
between dialing attempts, usually when someone is trying to
call you. These may be handled by using the Inter-dial
Delay macro label in the DIAL macro function. See the Macro
Programming Guide for details.
Some modems use a CARRIER response to indicate the modem
speed, e.g. CARRIER 2400. In this case using CARRIER
instead of CONNECT will improve the accuracy of the Usage
Log. In order to avoid confusion with a NO CARRIER
response, you should use:
{set _dialsr,CARRIER } Notice the space after CARRIER.
Do not include the speed in the CONNECT or CARRIER response
if you are enabling AutoBaud.
Responses are case sensitive and there should be no null
strings or extra spaces.
_____________________________________________
{swp=} Pathname for Swap to Disk File
_____________________________________________
This file will be used to save the program and data during a
Swap to Disk. You may optionally Swap to Disk when using
the Shell to DOS key command or the EXECute macro function.
It's a good idea to use a unique filename. For example:
{swp=c:\commo\swapfile.$$$}
IMPORTANT: You must also specify the "S" switch on any
EXECute or SHELl macro functions where swapping is desired.
Before using this feature, read the section "Using the Swap
to Disk switch, EXEC-S" under EXECute in the Macro
Programming Guide.
______________________________________________________________
{dat=mdy} Order of date parameters (m=month,d=day,y=year)
______________________________________________________________
This item allows you to specify any order for the three date
parameters. The default shown would display May 20, 1992 as
05/20/92. "ymd" would display as 92/05/20.
This format will appear in the Date Last Called field of the
Dialing Directory, the Usage Log and the built-in variable
"_dat".
_______________________________________
{tim=12} Time format (12/24 hour)
_______________________________________
You can specify 12 or 24 hour time format. 12 hour will add
"am" or "pm" as in "2:30 pm". 24 hour would show the same
time as "14:30".
The time format appears on the Status Line, in the Usage Log
and in the built-in variable "_tim".
_________________________________________
{gdc=} Graphic display characters
_________________________________________
This item allows you to specify the graphic characters used
by {COMMO} to form the various display windows and is
provided for compatibility with display adapters used in
certain countries.
When using this item, eleven ASCII character codes may be
listed (omitted fields will revert to the defaults). Codes
are specified as decimal numbers from 1 to 255 (0, 10 and 13
are not allowed).
As an example, here is how the default characters would be
listed:
{gdc=213,184,212,190,205,179,185,204,176,250,177}
where:
213 = upper left box corner
184 = upper right box corner
212 = lower left box corner
190 = lower right box corner
205 = horizontal line
179 = vertical line
185 = left side of box title
204 = right side of box title
176 = file window title fill
250 = input fill and password hiding
177 = Online Help separator bar
Under "Uploading/Downloading"
-----------------------------
When you press PgUp or PgDn you will be presented with a menu
from which you may select a file transfer protocol. Protocols
provide the ability to transfer (send and receive) any type of
data using error detection and correction techniques.
The PgUp and PgDn menus are implemented using {COMMO}'s powerful
Macro Processor which enables you to execute internal and
external protocols easily and seamlessly. You may alter these
macros to suit your individual needs.
Internal Protocols
==================
{COMMO} provides a number of variations on the Xmodem and Ymodem
protocols which afford you varying degrees of convenience, speed
and security.
Xmodem is the most basic protocol, sending data one block at a
time and waiting for a response to each block. If the block was
received with errors, the receiver requests retransmission. A
filename must be supplied at both ends of the transfer (they need
not be the same).
Ymodem adds the capability of batch (multi-file) transfers. It
also sends the name and size of each file just prior to
transmission of the file (the receiver does not supply any
filenames).
NOTE: If an incoming filename matches an existing filename in
the target directory, the batch transfer will be cancelled. You
can force overwriting of like-named files by adding the "Y"
switch to the Ymodem macros.
There are a number of variations which apply to both Xmodem and
Ymodem. You should choose the best variations depending upon
which protocols are offered by the remote system you are calling
(and whether or not you have an error-correcting modem).
CRC This is a very reliable block-check method and
should be used whenever possible.
Csum This block-check method is not as reliable and
should not be used unless there is no other
option.
1k byte block size The larger block size is much more
efficient and is preferred unless
noisy lines are causing a lot of
block retransmissions.
128 byte block size The small block size should be used
only when there is no other option
or on noisy lines.
G The "G" method eliminates the receiver's response
to each block and is much faster. It still
performs error checking, but not error recovery.
Therefore it should only be used with an error-
correcting modem or on a direct connection between
computers.
When an error is encountered, the transfer will be
cancelled. Partial files will be kept. The "G"
method always uses CRC and 1k blocks.
Software (XON/XOFF) Flow Control may be required
by some remote systems and/or public networks. If
you get frequent errors when using the "G" method,
make sure Software Flow Control is on.
IMPORTANT: The macros that support the internal protocols are
set up for the most common situations. Many variations are
possible by modifying these macros. Please refer to descriptions
of the functions RXMOdem, RYMOdem, SXMOdem and SYMOdem in the
Macro Programming Guide for details.
==============================
In the Macro Programming Guide
==============================
A Macro Example in Detail
=========================
The following macro example from SAMPLES.MAC can be used to log
in to many types of Bulletin Board Systems. This is a Linked
Macro, so the label "login" would appear in the Dialing Directory
macro field for each system that uses it. When you dial and
connect to one of the systems, {COMMO} will automatically GOTO
the macro.
The subroutine "gls" (generic login subroutine) can also be
called from macros that perform mailruns and other BBS
operations.
Note that labels and functions may be placed side by side on the
same line (up to 255 characters). For purposes of this example
each item is placed on its own line.
The main routine at "login" performs some initial functions and
then calls the subroutine at "gls". The subroutine looks for
various prompts, responds to them and terminates after responding
to the "password" prompt.
{:login}
The entry point. All labels begin with a ":".
{capture y,c:\commo\commo.cap}
"y" means open the Capture File. The pathname of the
file is specified here, otherwise the current file
would be opened.
{asci ,}
Set ASCII Upload to "no pacing."
{call gls}
CALL the macro at "gls". When the subroutine executes
a RETUrn, control will come back here.
{}
STOP and resume manual operation in the Terminal
Screen. Without this STOP processing would continue
into subsequent macros. Remember that labels are
"passed over" during sequential macro processing.
{:gls}
The entry point of the "gls" subroutine.
{setlook 60,hng,10,|}
This function specifies parameters that go into effect
whenever a LOOKfor executes. It tells the Macro
Processor to wait up 60 seconds for the string (or
strings) and to GOTO the label "hng" if none of the
strings appear within that time. The timer is
restarted each time a LOOKfor begins to execute.
The SETLook also specifies that a "|" (carriage return)
should be sent to the modem whenever 10 seconds have
elapsed and no characters are received. This is used
to respond to prompts that are not explicitly specified
in CALOoks, LOOKfors, etc. (e.g., "Press any key to
continue").
Use this latter facility with care since a BBS may
spend time processing and not actually be expecting
input from the caller. The carriage returns sent will
accumulate and be used to satisfy later prompts,
causing things to get out of "sync." Adjust the 10
second timeout as needed.
{:li1}
{calo li1,li2,(enter)}
The CALOok remembers a string to look for, but does not
wait for the string (only a LOOKfor can do the actual
waiting). In this case the string "(enter)" is
remembered. The label "li2" is the macro to be CALLed
when the string appears. "li1" is the label to return
to when the macro executes a RETUrn.
When any of the remembered strings appear, the strings
are all "forgotten." Thus the CALOok is told to return
to "li1" where all the strings can be set up again.
{calo li1,li3,graphics (enter)}
{calo li1,li4,first name}
{calo li1,li5,last name}
{calo li1,li3,is this correct}
More CALOoks are used to set up more strings to look
for.
{golo li1,;passwor}
A GOLOok will set up a string and GOTO the label if the
string appears (only one label is used here). In this
example the specified string is to be ignored. This
was needed for a BBS that used the string
"first;last;password" prior to the actual password
prompt.
{lookfor password}
This is where the actual "looking" takes place.
Remember that CALOoks and GOLOoks only cause strings to
be remembered but do not actually wait for the strings.
The LOOKfor will wait for the string specified and also
any other remembered strings (up to 16 total). If the
string in the LOOKfor appears, control passes to the
next macro function. All strings are "forgotten" when
any one of them appears, or if the LOOKfor timer
expires.
"password" is assumed to be the last prompt in the
login sequence.
{send ~%_pas|}
Control then passes here and the string is sent to the
modem. The tilde (~) causes a half-second delay before
sending the password. The password in the Dialing
Directory entry was stored into the built-in variable
"_pas" when dialing began.
Finally, a carriage return (|) is sent.
{return}
This will RETUrn to the "login" macro.
{:li2}
{send ~|}
If a prompt requires a carriage return (|) to be sent,
the CALOok would set up to come here.
{return}
The return point ("li1") was the first argument of the
CALOok, so control returns there.
{:li3}
{send ~y|}
This is used to reply to prompts that are to be
answered with "y<cr>".
{return}
{:li4}
{send ~Fred|}
Response to "first name".
{return}
{:li5}
{send ~Brucker|}
Response to "last name".
{return}
------------------------------------
New or changed function descriptions
------------------------------------
_________
DECRement
_________
Default key: none
Description: Subtract a number from a numeric variable.
Examples:
{decr count} Subtract 1 from the variable "count".
{decr apples,200} Subtract 200 from "apples".
Numeric variables and the numbers to be subtracted may range from
0 to 65535. The default number is 1.
If the result is less than 0 or if either argument is out of
range, then the variable will be set to the string "ERROR".
If the variable is not numeric, the results will be
unpredictable.
See also INCRement.
____
DIAL
____
Default keys: Alt-D, Alt-N
Description: Open Dialing Directory, dial marked systems.
General form:
{DIAL tries,label1,label2}
tries The maximum number of dialing tries. If no
connection is established when the try count
is exhausted, the macro in the second
argument will be started. May be 0 to 999.
"0" means unlimited. Default is 0.
label1 A macro to GOTO if the try count in the first
argument is exhausted. If no macro is
specified or if the macro label is invalid,
control will pass to the next function.
Default is none.
If the "C" switch is used, the macro will be
CALLed. When a RETUrn is executed, control
will return to the DIAL function.
label2 A macro to GOTO when a response is matched
during the Inter-dial Delay. Response
strings are listed in the reserved variable
"_dialir" and are usually defined in the
Setup File.
If the "C" switch is used, the macro will be
CALLed. When a RETUrn is executed, control
will return to the DIAL function.
Switches:
C1 or C Specifies that macros will be started via
CALL (instead of GOTO). When the macros
execute a RETUrn, control returns to the DIAL
function and Multi Number Dialing will
resume.
The "C" switch applies to the Linked Macro
(from the Dialing Directory), the "tries
exhausted" macro and to the Inter-dial Delay
macro.
C0 Start dialing macros via GOTO (default).
Examples:
{dial} Open Dialing Directory window (similar
to Alt-D).
{dial ,} Multi Number Dial (similar to Alt-N).
{dial 25,abc} Multi Number Dial with try count.
{dial-C ,} Multi Number Dial, CALL Linked Macros.
{dial-c ,,inter} Multi Number Dial with Inter-dial Delay
macro.
Marking Numbers for Dialing
---------------------------
Numbers may be marked in one of several ways:
1) Manually in the Dialing Directory window.
2) By placing Dialing Strings on the {COMMO} command line.
3) Using the MARK macro function.
Marked numbers will be redialed in sequence. If a connection
occurs and a valid Linked Macro is specified in the Dialing
Directory, the macro will be started via GOTO (unless the "C"
switch is present). If no macro is specified in the Dialing
Directory, control is passed to the next function.
If no numbers are marked when executing the DIAL, control will
pass to the next function.
Automatic Resumption of Dialing
-------------------------------
Here are two methods for resuming at the end of a Linked Macro.
Both allow multiple systems to be called without operator
intervention.
1) Use the "C" switch on the DIAL function. Each Linked
Macro should end with a RETUrn which will transfer
control back to the DIAL. When all numbers have been
called, control will pass to the function following the
DIAL.
2) At the end of each Linked Macro (after logging off),
GOTO a macro such as this:
{:nocar} {pause 1} {ifcarrier nocar} {dial ,} {}
This ensures that carrier has dropped before DIALing
the next number. The PAUSe allows data to display on
the screen while waiting for carrier to drop.
Testing Success and Failure Results
-----------------------------------
Details about a successful or failed dialing attempt are
available in several reserved variables (see Appendix B "List of
Reserved Variables" for complete descriptions):
_dtc Dialing termination code
_dialrt Dialing response text
_mod Speed reported by modem (normally in the CONNECT
or CARRIER response)
After a successful attempt the variables "_dialrt" and "_mod" may
be tested in your Linked Macro. For example, if you expected a
high-speed connect and the speed reported was 2400 or 1200, then
you may want to hang up and try again later.
You can get control after each failed attempt by using "DIAL 1",
with or without a macro. For example:
1) {dial-c 1,nocon} ...
The Linked Macro and the "no connect" macro will be
CALLed (the "C" switch). The variables "_dtc" and
"_dialrt" may be tested in the macro at "nocon".
2) {dial 1} ...
Control will pass to the next function if a dialing
attempt fails or when no more systems are marked (test
"_dtc" to determine which).
If the testing indicates that the system should not be dialed
again (e.g., it did not answer, _dtc = 3), the UNMArk function
can be used with the "L" switch to unmark the last number dialed:
{unmark-l}.
Handling Incoming Calls
-----------------------
Most modems return the string "RING" when a call comes in. If
this happens during the Inter-dial Delay, you may choose to stop
dialing (to answer a voice call) or to send a brief message to a
modem caller (during a BBS event, for example).
Use "label2" on the DIAL function to process responses during the
Inter-dial Delay. For example:
{dial ,,incoming}
The macro at "incoming" will execute if the modem sends an Inter-
dial Delay response string.
See also: SETDial, MARK, UNMArk.
______
DIVIde
______
Default key: none
Description: Divide a numeric variable by a number.
Example:
{divi space,1024} Divide "space" by 1024.
Numeric variables may range from 0 to 65535, the divisors may
range from 1 to 65535. The default divisor is 1.
The named variable will be set to the quotient, the built-in
variable "_rem" will be set to the remainder.
If the divisor is zero or if either argument is out of range,
then the variable will be set to the string "ERROR".
If the variable is not numeric, the results will be
unpredictable.
_______
EXECute (excerpts pertaining to Swap to Disk)
_______
Default key: none
Description: Execute a DOS command.
Switches:
S1 or S Swap to Disk before executing the program
(see details below).
S0 Do not swap to disk (default).
Using the Swap to Disk Switch: EXEC-S
-------------------------------------
The "S" switch will direct {COMMO} to write the program and
associated data to the disk file specified with the Setup File
item "swp=" (under "Paths and Files"). This will free up between
50k and 180k of memory, depending on the sizes of your Scrollback
Buffer, Dialing Directory and Macro File.
If the Swap File cannot be opened or there is not enough disk
space for the swap, the EXECute (or SHELl) will be attempted
without swapping. When the program or shell exits back to
{COMMO}, the program and data will be restored from the disk
file. Any errors in this process will cause {COMMO} to exit to
DOS.
TIPS on using Swap to Disk:
> The serial port will be closed during the swap (normally it
is left open to receive characters during EXECute and
SHELl). To avoid losing any data swapping should be
initiated when the remote system is quiet (or when you are
offline).
> Use Swap to Disk when running major applications such as
external protocol drivers, offline mail readers, etc. Using
it with internal DOS functions (DEL, COPY, REN, etc.) or
very small programs is inefficient and unnecessary.
> If possible, specify the Swap File on a RAMDISK. This will
speed up the swap considerably. A ramdisk program is
supplied with DOS (RAMDRIVE.SYS or VDISK.SYS) or you can
obtain one from a BBS.
> Be sure to specify a complete pathname for the Swap File.
> Do not run any TSR (resident) programs when swapping is in
effect. Doing so may result in a swap error.
_________
INCRement
_________
Default key: none
Description: Add a number to a numeric variable.
Examples:
{incr count} Add 1 to the variable "count".
{incr oranges,1234} Add 1234 to "oranges".
Numeric variables and the numbers to be added may range from 0 to
65535. The default number is 1.
If the result is greater than 65535 or if either argument is out
of range, then the variable will be set to the string "ERROR".
If the variable is not numeric, the results will be
unpredictable.
See also DECRement.
________
MULTiply
________
Default key: none
Description: Multiply a numeric variable by a number.
Example:
{mult money,10} Multiply "money" by 10.
Numeric variables and the multipliers may range from 0 to 65535.
The default multiplier is 1.
If the result is greater than 65535 or if either argument is out
of range, then the variable will be set to the string "ERROR".
If the variable is not numeric, the results will be
unpredictable.
_______
RXMOdem
_______
Default key: none
Description: Receive a file using the Xmodem protocol.
Switches:
See RYMOdem (switches are the same).
Example:
{rxmo-ya c:\dl\file.zip} Receive "file.zip", overwrite
the file if it exists, sound
the alarm.
Only one file may be received with each RXMOdem function (the
file must be explicitly named, but need not be given the same
name as on the remote system).
See RYMOdem for tips that apply to both RXMOdem and RYMOdem.
See also SXMOdem, RYMOdem.
_______
RYMOdem
_______
Default key: none
Description: Receive files using the Ymodem Batch protocol.
Switches:
C1 or C Use CRC error correction (default).
C0 Use Checksum error correction.
G1 or G Use streaming (fast) transfer method.
IMPORTANT: Use only with error-correcting
modems or direct connections between
computers.
G0 Use normal (error correcting) transfer method
(default).
Y1 or Y Overwrite an existing file when a received
file has the same name (the existing file
will be erased).
Y0 Cancel the transfer if a received file has
the same name as an existing file (default).
D1 or D Cancel transfer if carrier detect is lost
(default).
D0 Ignore state of carrier detect.
A1 or A Sound the alarm at the end of the transfer.
A0 Do not sound the alarm (default).
W Wait for a keypress at end of transfer.
Wn Wait for "n" seconds, "n" may range from 0 to
999. Press a key to cancel the wait.
Note: Default (no "W" switch) is no wait.
Examples:
{rymo-ya %dldir} Receive files into the download
directory, overwrite a file if it
exists, sound the alarm.
{rymo-gw3} Receive files using the "G" method into
the current directory. Wait 3 seconds
before returning to the Terminal Screen.
Ymodem is a "batch" protocol that will receive multiple files.
Filenames are transmitted by the sender and are used to name
files at the receiving end. A filename "collision" will cause
the transfer to cancel unless the "Y" switch is used. File sizes
are also transmitted by the sender and are used to truncate the
file to the proper size.
TIPS on using RYMOdem and RXMOdem:
> The "G" method is specified by the receiver. Be sure that
the sender allows it before starting.
> Block size is established by the sender and may be changed
on a block-by-block basis (always 1024 when the "G" method
is used).
> Some conditions that will cancel a transfer:
1) 10 consecutive errors.
2) Any error when "G" method is used.
3) The file to be received already exists and the "Y"
switch is not present.
4) The sender has transmitted CAN (^X) characters.
> The Exit Code (test with IFER) will be set at the end of the
transfer. The Exit Code will also be stored in the variable
"_err". 0 means success, 1 means failure.
> If the Usage Log is enabled, an entry will be made after
each file is transferred (or if a transfer is cancelled).
See also SXMOdem, RYMOdem.
_______
SETDial
_______
Default key: none
Description: Set parameters for dialing.
Examples:
{setdial 60,15} Set the dialing cycle timer to 60
seconds and the Inter-dial Delay to
15 seconds.
{setd ,3} Change only the Inter-dial Delay
timer.
The first argument is the dialing cycle time limit. This is the
amount of time {COMMO} will allow after sending the dial command
to the modem. Range is from 1 to 999.
The second argument is the inter-dial delay timer. This is the
amount of time before {COMMO} dials the next number. Range is
from 1 to 999.
NOTE: Changes to dialing parameters override the Setup File
values and remain in effect until {COMMO} is exited.
See also DIAL.
_____
SHELl
_____
Default key: Alt-S
Description: Shell to DOS.
Switches:
S1 or S Swap to disk before shelling to DOS (see
details under EXECute, "Using the Swap to
Disk Switch").
S0 Do not swap to disk (default).
Examples:
{shell} No arguments.
{shell-s} Swap to disk before shelling to DOS.
______
SIGNal
______
Default key: none
Description: Set state of hardware signals.
Switches:
D1 or D Set DTR high.
D0 Set DTR low.
R1 or R Set RTS high.
R0 Set RTS low.
Example:
{signal-d0r1} Turn off DTR, turn on RTS.
The "D" and "R" switches are used to control the RS-232C signals
DTR (Data Terminal Ready) and RTS (Request To Send). The default
for each switch is to leave the signal unchanged. Use these with
care due to interaction with Hardware Flow Control, etc.
_______
SXMOdem
_______
Default key: none
Description: Send a file using the Xmodem protocol.
Switches:
See SYMOdem (switches are the same).
Example:
{sxmo-ka c:\ul\file.zip} Send "file.zip" using 1024
byte block size, sound the
alarm.
Only one file may be sent with each SXMOdem function.
See SYMOdem for tips that apply to both SXMOdem and SYMOdem.
See also RXMOdem, SYMOdem.
_______
SYMOdem
_______
Default key: none
Description: Send a file using the Ymodem Batch protocol.
Switches:
K1 or K Use 1024 byte block size (Xmodem-1k).
K0 Use 128 byte block size (default).
D1 or D Cancel transfer if carrier detect is lost
(default).
D0 Ignore state of carrier detect.
A1 or A Sound the alarm at end of transfer.
A0 Do not sound the alarm (default).
W Wait for a keypress at end of transfer.
Wn Wait for "n" seconds, "n" may range from 0 to
999. Press a key to cancel the wait.
Note: Default (no "W" switch) is no wait.
Examples:
{symo-ka %uldir\*.zip} Send all .ZIP files in the
upload directory using 1024
byte block size, sound the
alarm.
{symo-k c:\subdir\*.*,@c:\ul\file.lst,info.txt,a:*.qw?}
Send all files listed using
1024 byte block size.
Any combination of file specifications may be listed in the
SYMOdem function (separated with commas). These may include
wildcard specifiers (*,?), the indirect file specifier (@) and
any single files.
If a filespec is preceded with the "@" sign, it will be assumed
to be an "indirect file." This means that it is a text file
containing a list of filespecs. Filespecs should be listed one
per line and each line should end with a cr/lf. Each filespec
may contain wildcards. For example:
c:\subdir\*.*
info.txt
a:*.qw?
TIPS on using SYMOdem and SXMOdem:
> CRC vs. Csum mode is established by the receiver.
> Use of "G" method is established by the receiver.
> Some conditions that will cancel a transfer:
1) 10 consecutive errors.
2) Any error when "G" method is used.
3) The receiver has transmitted CAN (^X) characters.
> The Exit Code (test with IFER) will be set at the end of the
transfer. The Exit Code will also be stored in the variable
"_err". 0 means success, 1 means failure.
> If the Usage Log is enabled, an entry will be made after
each file is transferred (or if a transfer is cancelled).
See also RYMOdem, SXMOdem.
- end -
____________
{COMMO} (tm)
____________
"A New Standard in Telecommunications"
by
Fred P. Brucker
Post Office Box 9103
Santa Rosa, CA 95405
User Guide and Reference
Release 5.3
June 20, 1992
(C)Copyright 1989,1992 Fred P. Brucker All Rights Reserved
The {COMMO} program and associated on-disk documentation are the
property of the author and may not be sold without permission.
The Shareware version may be distributed, unaltered and as a
unit, via Electronic Bulletin Board Systems.
SHAREWARE DISTRIBUTORS and clubs, please see the file VENDOR.DOC
for distribution guidelines.
THE AUTHOR DOES NOT GUARANTEE THIS PROGRAM TO BE FREE FROM
DEFECTS AND MAY NOT BE HELD RESPONSIBLE FOR LOSS CAUSED BY SUCH.
YOUR USE OF THIS PROGRAM CONSTITUTES YOUR ACCEPTANCE OF THESE
TERMS.
DESQview is a trademark of Quarterdeck Office Systems
OmniView is a trademark of Sunny Hill Software
DoubleDOS is a trademark of SoftLogic Solutions, Inc.
HS/Link is a product of Samuel H. Smith
DSZ and GSZ are products of Omen Technology Inc.
MPt is a product of Matthew Thomas
LIST is a product of Vernon D. Buerg
The IBM PC is a product of IBM Corp.
MS-DOS is a trademark of MicroSoft Corp.
(C)Copyright 1989,1992 Fred P. Brucker All Rights Reserved
================================
{COMMO} Registration Information
================================
{COMMO} is a "SHAREWARE" product. You are entitled to evaluate it for
30 days. If it suits your needs and you would like to continue using
it, then you must pay the licensing fee. Please use the REGISTRATION
FORM on the next page.
When you REGISTER you will be licensed to use all future releases of
{COMMO}. You will never have to pay an "update" charge. You will also
receive instructions for removing the Shareware Notice at program
startup.
My (voice) TELEPHONE NUMBER for inquiries and support for registered
users is (707) 573-1065. Please restrict calls to business hours
(Mon-Fri, 9am-5pm, Pacific time).
Registered users will also receive priority support on Bulletin Boards,
CompuServe and GEnie (see READ.ME).
Call or write for pricing information on MULTI-USER (site) and
DISTRIBUTION licenses. Discounts are given on quantities greater than
10. See the file LICENSE.DOC for details.
All prices shown are US DOLLARS. Please remit US FUNDS on US BANK only.
NET 30 TERMS will be accepted on purchase orders totalling $100.00 or
more.
PAYMENT OPTIONS:
1) Payment by CHECK or MONEY ORDER: make payable to FRED P. BRUCKER.
Mail the Registration Form and payment to the address below.
2) Payment by CREDIT CARD: fill in the credit card information at the
bottom of the Registration Form. The following cards are accepted:
VISA, MASTERCARD, CARTE BLANCHE, DINERS CLUB, DISCOVER, JCB.
You can mail the Registration Form to the address below or:
Order by phone: (707) 573-1065, Mon-Fri, 9am-5pm, Pacific time.
Have your credit card ready when you call.
Order by E-mail on CompuServe (71021,356) or GEnie (F.BRUCKER1).
Upload the completed Registration Form as a message.
The company name on the charge will be "New Standard Software."
SEND TO: Fred P. Brucker
Post Office Box 9103
Santa Rosa, CA 95405
{COMMO} 5.3 SINGLE USER REGISTRATION FORM
Name _______________________________________________________________
Company name (if company address) ____________________________________
Address _______________________________________________________________
_______________________________________________________________
_______________________________________________________________
{COMMO} single user license, SPECIAL PACKAGE .... $50.00** $ __________
Includes: (1) Printed, bound, indexed manual.
(2) Latest release on diskette plus utilities
(COMMOPNS, MOSTHOST, CMC, etc., see READ.ME).
{COMMO} single user license, with DISKETTE ...... $40.00 $ __________
{COMMO} single user LICENSE alone ............... $35.00 $ __________
Registered users may order PRINTED MANUAL only .. $20.00** $ __________
Limit of one per license. Your serial no. _________
Registered users may order DISKETTE only ......... $5.00 $ __________
Limit of one per license. Your serial no. _________
ALL DISK ORDERS - Choose format: 5.25" ____ 3.5" ____
Next release (when available) ____
_or_ Current (latest) release ____
Subtotal $ __________
California residents add sales tax, 7.5% $ __________
(No tax when ordering license alone)
** SPECIAL PACKAGE OR MANUAL ORDER, ADD SHIPPING:
USA/Canada/Mexico ......... $3.00
All other countries ...... $10.00 $ __________
Total $ __________
Payment method: Check__ Money order__ Visa__ MasterCard__ PO__
Carte Blanche__ Diners Club__ Discover__ JCB__
CREDIT CARD INFORMATION:
Card No. ________ ________ ________ ________ Expires ____/____
Cardholder signature _____________________________________________
Cardholder name __________________________________________________
Daytime telephone (_____) _____ _______
{COMMO} (tm) User Guide and Reference 5
========
Contents
========
Program Description . . . . . . . . . . . . . . . . . . . . . 7
Principal Features . . . . . . . . . . . . . . . . . . . . . 8
The Best Way to Learn {COMMO} Quickly . . . . . . . . . . . . 11
Getting Started . . . . . . . . . . . . . . . . . . . . . . . 12
Quick Start Instructions . . . . . . . . . . . . . . . . 12
Preparing Your System . . . . . . . . . . . . . . . . . 14
Command Line Options . . . . . . . . . . . . . . . . . . 15
{COMMO} Support Files . . . . . . . . . . . . . . . . . 17
Saving the Support Files . . . . . . . . . . . . . . . . 18
Initialization Procedure . . . . . . . . . . . . . . . . 19
Terminal Screen . . . . . . . . . . . . . . . . . . . . 19
{COMMO} Key Commands . . . . . . . . . . . . . . . . . . . . 20
[Alt-A] ASCII Upload . . . . . . . . . . . . . . . . . 20
[Alt-B] Send Break Signal . . . . . . . . . . . . . . 22
[Alt-C] Clear Screen . . . . . . . . . . . . . . . . . 22
[Alt-D] Dialing Directory . . . . . . . . . . . . . . 22
Dialing Directory Entry Example . . . . . . . . . . 23
[Alt-G] Edit Setup File . . . . . . . . . . . . . . . 26
Predefining Variables with SET . . . . . . . . . . 26
Explanation of Setup File Items . . . . . . . . . . 27
[Alt-H] Hang Up . . . . . . . . . . . . . . . . . . . 42
[Alt-I] Screen Image Save . . . . . . . . . . . . . . 43
[Alt-K] Scrollback . . . . . . . . . . . . . . . . . . 43
[Alt-M] Macro Processor . . . . . . . . . . . . . . . 44
[Alt-N] Multi Number Dialing . . . . . . . . . . . . . 44
[Alt-O] Send Modem Initialization String . . . . . . . 45
[Alt-P] Set Terminal Parameters . . . . . . . . . . . 45
Parameter Descriptions . . . . . . . . . . . . . . 45
How to Set Terminal Parameters . . . . . . . . . . 47
[Alt-S] Shell to DOS . . . . . . . . . . . . . . . . . 48
[Alt-T] Set Toggles . . . . . . . . . . . . . . . . . 48
Sound Control Toggle . . . . . . . . . . . . . . . 49
AutoBaud Toggle . . . . . . . . . . . . . . . . . . 49
Local Echo Toggle . . . . . . . . . . . . . . . . . 50
Signal Lights Toggle . . . . . . . . . . . . . . . 50
[Alt-U] Utility Menu . . . . . . . . . . . . . . . . . 50
[Alt-W] Send Current Password . . . . . . . . . . . . 50
[Alt-X] Exit from {COMMO} . . . . . . . . . . . . . . 51
[Alt-1] Capture File Options . . . . . . . . . . . . . 51
[Alt-2] Print Log Toggle . . . . . . . . . . . . . . . 52
[Alt--] Chat Mode Toggle (Alt minus) . . . . . . . . 53
[Alt-=] Doorway Mode Toggle . . . . . . . . . . . . . 53
[F1] How to Use Online Help . . . . . . . . . . . . . 54
{COMMO} (tm) User Guide and Reference 6
Modifying the Help File . . . . . . . . . . . . . . 55
[PgUp]/[PgDn] Uploading/Downloading . . . . . . . . . . . . 56
Internal Protocols . . . . . . . . . . . . . . . . . . . 56
External Protocols . . . . . . . . . . . . . . . . . . . 57
Using DSZ or GSZ . . . . . . . . . . . . . . . . . . . . 58
Using HS/Link . . . . . . . . . . . . . . . . . . . . . 58
Using MPt . . . . . . . . . . . . . . . . . . . . . . . 59
Using OZBEXT . . . . . . . . . . . . . . . . . . . . . . 59
{COMMO} Auto Receive . . . . . . . . . . . . . . . . . . 59
Appendix A Setting Up Your Modem . . . . . . . . . . . . . 62
Answering a call from another computer . . . . . . . . . 64
Connecting two computers (null modem cable) . . . . . . 65
Appendix B {COMMO} and Multi-Tasking . . . . . . . . . . . 66
DESQview . . . . . . . . . . . . . . . . . . . . . . . . 66
OmniView . . . . . . . . . . . . . . . . . . . . . . . . 67
DoubleDOS . . . . . . . . . . . . . . . . . . . . . . . 67
Appendix C Flow Control . . . . . . . . . . . . . . . . . . 69
Appendix D ASCII Character Representation . . . . . . . . . 70
Appendix E Terminal Emulation . . . . . . . . . . . . . . . 72
Printer Support . . . . . . . . . . . . . . . . . . . . 73
ANSI-BBS Keyboard Support . . . . . . . . . . . . . . . 73
VT102 Keyboard Simulation . . . . . . . . . . . . . . . 73
Appendix F Usage Log Format . . . . . . . . . . . . . . . . 76
Appendix G Error Message Explanations . . . . . . . . . . . 77
{COMMO} (tm) User Guide and Reference 7
===================
Program Description
===================
{COMMO} is a very powerful, full-featured, telecommunications
program. It is small in size but large in function (written in
assembly language). The comprehensive macro programming (script)
language is capable of automating any process.
{COMMO} handles high speed modems with ease, is fully DESQview
aware and uses plain text support files (Setup File, Dialing
Directory and Macro File).
See the full list of features starting on the next page.
Minimum system configuration:
IBM PC compatible computer.
MS-DOS 2.1 or higher.
128k of memory.
One diskette drive.
A serial port or internal modem with an 8250, 16450 or 16550
series UART chip.
{COMMO} can be configured to work with any type of modem.
{COMMO} (tm) User Guide and Reference 8
==================
Principal Features
==================
{COMMO} is small in size, loads rapidly and performs all
functions with great speed.
The powerful Macro Processor allows you to:
1) Write macro "scripts" to automate many common
operations such as logging in, reading messages,
uploading/downloading. {COMMO} will perform these
tasks in the middle of the night while you sleep.
2) Assign Function Keys, Alt Keys, Keypad Keys, etc., to:
(a) send a string to the modem
(b) execute any DOS command
(c) start any macro
(d) initiate any {COMMO} function.
3) Edit all macros without exiting {COMMO}, using the
Internal Editor. Macros become effective immediately.
4) Call your computer from a remote location using
{COMMO}'s convenient Host Mode, written in {COMMO}'s
macro language.
The free-form Dialing Directory has space for hundreds of
entries. Multi Number Dialing is supported from the command
line. AutoBaud detect adjusts to the speed of the connection. A
macro may be linked to each directory entry.
Multi-tasking support. {COMMO} is fully DESQview aware, operates
in far less memory than comparable programs. Also supports
OmniView, DoubleDOS and others.
Swap to disk is optional when shelling to DOS or executing
external programs. The resident program kernel occupies less
than 2k of memory.
Built-in ANSI-BBS and VT102 emulation. Supports ANSI editing
functions, scrolling region, graphics character set, tab
set/clear, printing, modes, reports, etc. Complete auto-
switching VT102 keyboard support via Macro Processor.
ENQ/ACK terminal protocol support.
Built-in protocols include Ymodem Batch, Ymodem-G Batch,
Xmodem-1k, Xmodem-1k-G and Xmodem.
{COMMO} (tm) User Guide and Reference 9
ASCII Upload to send messages and text files. Features line
pacing and blank line expansion.
The Setup File, Dialing Directory and Macro File are plain text
files and may be edited with the full-function Internal Editor,
or with any external editor.
Any file up to 64k in size may be edited within {COMMO} using the
Internal Editor.
String search is available in all support file windows.
{COMMO} supports all text display modes, including 132 column
screens.
Character Translate Tables for both sending and receiving.
Tables can be modified dynamically via macros.
Split-screen Chat Mode for communicating with another computer
which is also running a terminal program. All program features
are available while in Chat Mode.
Doorway Mode lets you operate remote applications with full use
of your screen and keyboard.
{COMMO}'s Auto Receive feature lets you configure any eight
strings to automatically trigger any eight macros. Thus any
protocol with a "signature" can be set to start automatically.
Zmodem, HS/Link and MPt are pre-configured.
Support for any four serial ports. Port addresses and IRQ's are
configurable (including IRQ 8 to 15). Port speeds up to 115,200
bps (hardware dependent). Automatic support for NS16550A (or AF)
buffered UART chip.
Serial port signal lights may be displayed on the Status Line,
including send and receive. Very useful with internal modems.
Scrollback buffer up to 64k bytes gives instant replay of the
text that has scrolled off the screen.
Capture Log saves all text from the screen to a disk file. Three
different capture modes are available.
Screen Image Save writes the current screen to a disk file.
Print Log writes all text from the screen to the printer.
Usage Log records date, time, length of call and other
information about each call. Date of last call can be saved in
the Dialing Directory.
{COMMO} (tm) User Guide and Reference 10
Date and time formats used in logs and displays are configurable.
Support for visually impaired users with {COMMO}'s configurable
Speech Friendly Interface (set SFI=yes in COMMO.SET).
Special version available to support the HP 95LX palmtop
computer.
Support for the enhanced keyboard.
Extensive context-related Online Help.
And {COMMO} is elegant, easy to learn and fun to use!
{COMMO} (tm) User Guide and Reference 11
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-------------------------------------
The Best Way to Learn {COMMO} Quickly
-------------------------------------
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1) Read the section "Getting Started" which will get you up and
running.
2) Read Appendix A "Setting Up Your Modem" for some very
important instructions regarding your specific hardware.
3) Read through the section "{COMMO} Key Commands" to
familiarize yourself with {COMMO}'s commands and features.
4) Use Online Help as a reference while you use {COMMO}.
How is it pronounced??? Just like "comma" (,) except for the
last letter. It's technical jargon for "communications."
{COMMO} (tm) User Guide and Reference 12
===============
Getting Started
===============
NOTE: Refer to Appendix G for explanations of any error messages
you receive during your initial use of {COMMO}.
For greater detail, see the next section "Preparing Your System."
Quick Start Instructions
========================
1) If you have a hard drive, create a subdirectory named
"COMMO." Copy all of the files from the {COMMO} archive or
distribution diskette into this subdirectory.
If your system has only floppy drives, copy the {COMMO}
files to a formatted diskette.
Now change to the {COMMO} subdirectory or log in to the
diskette where you have copied the {COMMO} files.
2) Run the "New User's Guide" by typing "guide" at the DOS
prompt. Follow the instructions carefully. A macro will
automatically take you on a tour of some of {COMMO}'s main
features.
When you are in the Setup File you will be in {COMMO}'s
Internal Editor and you may change any portion of the file
using the arrow keys, PgUp, PgDn and other editing keys.
Press Alt-E for Edit Help to see a list of editing keys.
You may need to change some of the items to conform to your
system setup. Notice that {COMMO} only looks at the items
that are contained in curly braces: { }. All other text is
treated as commentary and is not used by the program.
Most items will not need to be changed until you are more
familiar with {COMMO}. For now, check the following:
The Default Dialing Parameters in the first item. Make
sure you have the correct port number (the third
field). If your modem is on COM2, change it to "2",
COM3 to "3", etc. Using COM2 it would look like this:
{2400,8n1,2,A,0}.
The Modem Initialization String. If you know the
commands for your own modem, make the necessary
adjustments. If you don't, then leave it like it is.
Refer to Appendix A for more information.
{COMMO} (tm) User Guide and Reference 13
The items under "Paths and Files" (page down to see
these).
Press [Esc] to save the file and continue the tour.
3) The next stop is the Dialing Directory. To alter an entry
or to add new ones, just press "E" to enter edit mode. This
is the same Internal Editor you used to modify the Setup
File. When you are finished making changes, press Esc to
bring back the Selector Bar. Then press Esc again to
continue.
4) Next you will see a sample menu created by the Macro
Processor. Press Enter to continue and return to the
Terminal Screen. Then exit {COMMO} with the Alt-X command.
5) From the DOS prompt type "commo<cr>" to restart the program.
The new Setup File items will now be in effect.
6) IMPORTANT! {COMMO}'s Auto Receive feature is set up to
automatically start the program DSZ.COM (from Omen
Technology) when the remote system sends a file using the
Zmodem protocol.
Do not request a file for downloading with Zmodem until you
have this program installed in a directory that is in your
DOS path (or in the current directory). If "Bad command or
filename" is displayed by DOS, just keep pressing Ctrl-X
until it stops. This message means you haven't installed
DSZ properly.
If things happen too quickly to see what is happening, you
can use EXECute Preview Mode, which will allow you see the
results of the command execution. Use Alt-T to toggle
Preview Mode on/off.
The same principle applies to any other protocol drivers
that you use, such as HS/Link, MPt, etc. If you don't have
any external protocol drivers installed, use the internal
Xmodem or Ymodem protocols.
7) When you see the Status Line at the bottom of the screen,
you are in the Terminal Screen. Now you may press Alt-D to
enter the Dialing Directory. Use the up and down arrow keys
to select a system to call and press Enter. {COMMO} will
begin dialing.
8) When a connection is made with a remote system, {COMMO} will
return to the Terminal Screen where you may interact with
the remote.
{COMMO} (tm) User Guide and Reference 14
NOTE: If your modem does not seem to operate properly (no
connection is made or the data is garbled), read Appendix A
"Setting Up Your Modem." You may need to change the Modem
Initialization String in the Setup File. If you change it,
you will need to exit {COMMO} and restart the program. Then
try dialing again.
Preparing Your System
=====================
The following sections give startup instructions in greater
detail.
Make sure that all of the files from the {COMMO} package are in
one directory or on one diskette. Four of these files are
required to run the {COMMO} program:
COMMO.COM the Program File
COMMO.SET the Setup File
COMMO.FON the Dialing Directory File
COMMO.MAC the Macro File
In addition, if Online Help is used (recommended):
COMMO.HLP the Online Help File
There are two ways to make sure that {COMMO} will be able to find
all of its files. The first method is the simplest and should be
used if you are not too familiar with DOS commands:
1) Make sure you are logged into the directory or disk drive
where the files are located. Then simply type "commo" at
the DOS prompt. If your files are in the directory
"C:\COMMO" you would type:
c:<cr>
cd \commo<cr>
commo<cr>
(<cr> is the [Enter] or Return key)
Or if the files are on a diskette in drive A you would type:
a:<cr>
commo<cr>
{COMMO} will remember where the files are, so you will be
able to change directory or drive later without concern.
{COMMO} (tm) User Guide and Reference 15
2) The second method is a little more advanced, but allows you
to run {COMMO} no matter what directory or drive you are
currently logged into:
Use the SET command in DOS to store the {COMMO} path into
the "environment." If you place this command in your
AUTOEXEC.BAT file you won't have to change directories or
diskettes to run {COMMO}. If your files are in the
directory "C:\COMMO" the command would be:
set commo=c:\commo
If the files are on the diskette in drive B the command
would be:
set commo=b:
Do not use any extra spaces in the SET command. And
remember to place the {COMMO} directory or drive in your
PATH command.
IMPORTANT! Be sure to check your "set commo=" command if
you install {COMMO} into a different directory or onto
another drive (or if you install a later release of the
program). If it points to the wrong directory, {COMMO} will
not operate properly. This is a common error and can cause
a lot of head scratching.
Command Line Options
====================
_______________
Dialing Strings
_______________
Dialing Strings are used to indicate numbers to dial at program
startup. If present, they must be placed before any command line
switches. {COMMO} will search the Dialing Directory for each
string and mark the first entry where a match is found (case is
ignored).
The strings may consist of any part of a Dialing Directory entry
line (usually part of the system name) and may be separated by
commas or spaces. The following characters may not appear in a
command line Dialing String: space, comma, slash (/), curly
braces.
After entries in the Dialing Directory are marked, {COMMO} will
check for a startup macro (specified on the command line or in
the Setup File). If a startup macro is present, it will be
{COMMO} (tm) User Guide and Reference 16
started. Otherwise Multi Number Dialing of the marked systems
will begin.
Examples:
commo telegodzilla joes-bbs 4567
commo zilla,joes,4567
IMPORTANT! The Modem Initialization String will normally be sent
before dialing begins. Your modem should be turned on and ready
to receive the command string before you start {COMMO}.
________
Switches
________
Case is ignored and the switches may be in any order (Dialing
Strings must precede them, however).
NOTE: Environment variables may also be used to communicate data
to {COMMO} at program startup. See the description of the
SETVariable function in the Macro Programming Guide.
/:label Startup Macro.
This switch can be used to override the "mac=" item in the
Setup File. The "label" is a one to eight character macro
label. If the label is found in the Macro File, macro
processing will be started. If the label is not found the
switch will be ignored.
/sfilename Alternate Setup File.
/dfilename Alternate Dialing Directory File.
/mfilename Alternate Macro File
Only the filename should be specified. The {COMMO} home
directory will be assumed for the path.
If an alternate Macro File is specified, it will become the
default Macro File. This means it will be reloaded when the
"R" switch is used with the MACLoad macro function.
/knn Scrollback Buffer size.
This switch will override the "sbs=" item in the Setup File.
"nn" is kilobytes and may be 0 to 64.
/vnnnnn Size of String Variable Space.
{COMMO} (tm) User Guide and Reference 17
The size of String Variable Space can be adjusted from 512
bytes to 65535 bytes. The default is 1536 bytes.
/i[y/n] Modem Initialization override.
Forces the Modem Initialization String to be sent ("/iy") or
not sent ("/in"). This will override the "min=" item in the
Setup File.
Example:
C:\COMMO> commo joes zilla /:mailrun /dother.dir /k25 /v2000 /in
Two systems will be marked in the Dialing Directory.
The macro "mailrun" will be started if it exists in the
Macro File.
The alternate Dialing Directory "other.dir" will be loaded.
The Scrollback Buffer will be set to 25k in size.
The size of String Variable Space is set to 2000 bytes.
The Modem Initialization String will not be sent.
{COMMO} Support Files
=====================
The {COMMO} files are standard ASCII text files and may be
modified with any editor (or word processor in "non-document"
mode). From within {COMMO} they may be edited with {COMMO}'s
Internal Editor.
The only control characters (below ASCII 28) allowed in the
support files are CR/LF pairs and an EOF at the end. {COMMO}'s
Internal Editor adheres to this rule. Control characters may be
represented as shown in Appendix D. For example, an ASCII 16
would be written as ^P.
Key definitions for the Internal Editor are given in Online Help.
A Color Chart will be displayed in the editor when F7 is pressed
(useful in the Setup File and for the DISPlay function in the
Macro File).
NOTE: {COMMO} generally retains the Dialing Directory and Macro
File in memory during program operation. If you use an external
editor to modify them while in the Shell to DOS (or using the
EXEC macro function), your changes could be lost. See "Saving
the Support Files" below.
{COMMO} (tm) User Guide and Reference 18
Following is a brief description of each file.
1) COMMO.SET. The Setup File contains settings for many
important parameters. The first time you run {COMMO} you
should use the Alt-G key command to edit this file to your
own needs. See "Alt-G Edit Setup File" for details on each
item.
2) COMMO.FON. The Dialing Directory File. This file contains
information about each system that you will be calling,
including the telephone number, password, Linked Macro and
Terminal Parameter overrides. Use the Alt-D key command to
dial numbers and to edit this file. Details are given in
the section "Alt-D Dialing Directory."
3) COMMO.MAC. The Macro File. Use the Alt-M key command to
select a macro for execution and to edit this file. A
complete description of {COMMO} macros is given in the Macro
Programming Guide. A summary of macro functions and key
designators is also given in Online Help.
4) COMMO.HLP. The Online Help File. This file contains the
information for {COMMO}'s context-related Online Help. See
"How to Use Online Help" later in this document.
Saving the Support Files
========================
Whenever a change is made to any file, the internal change flag
is set for that file (indicated by an "*" next to the column
number in the Internal Editor).
The Dialing Directory and/or Macro File will be saved
automatically when you exit {COMMO} (if the change flag is set).
The Setup File and other files that you may edit will be saved
when you press Esc to exit the editor.
You may press Alt-F in the Internal Editor to immediately save
any file.
If you do not wish to save your changes to the Dialing Directory
or Macro File, you may press Alt-Q while in the Internal Editor.
This will reset {COMMO}'s change flag and the file will not be
saved when exiting the program. Any subsequent changes to the
file will set the change flag again. Pressing Alt-Q while
editing any other file will simply cancel the edit.
{COMMO} (tm) User Guide and Reference 19
Initialization Procedure
========================
When {COMMO} begins running it will read and process the Setup
File, COMMO.SET. Then it will attempt to load into memory:
1) the Dialing Directory COMMO.FON
2) the Macro File COMMO.MAC
Any problems encountered will be reported. These problems must
be corrected before restarting the program.
Automatic modem initialization will occur if requested in the
Setup File with {min=yes}, or by the "/iy" command line switch.
Use the "/in" switch to suppress modem initialization if you are
already on line.
Please note that {COMMO} does NOT change the video display mode.
Instead {COMMO} can adapt to any text mode that is set when the
program is started. Check the items under "Video and Chat Mode"
in the Setup File for details. See also the section "[Alt-G]
Edit Setup File" later in this document.
If the display does not look right try executing the DOS command
"mode co80" or "mode bw80" prior to calling {COMMO}.
Terminal Screen
===============
The Terminal Screen allows you to see the characters coming in
from the serial port. Any characters that you type will be sent
out to the serial port. If you are connected to another system
you will be interacting with that system.
Keep in mind that you will also be interacting with {COMMO} and
with your own computer via key commands (Alt keys, for example).
These key commands have no effect on the remote system unless
they cause characters to be sent to the serial port (pressing
Alt-W to send your password, for example).
{COMMO} (tm) User Guide and Reference 20
====================
{COMMO} Key Commands
====================
The Alt Keys shown in this section are the built-in default key
assignments for the various {COMMO} commands. Once you are
familiar with these commands you may use the Macro Processor to
reassign any of the keys.
Keys used within the various command windows are properly
detailed in Online Help. Please press F1 from any command window
to invoke {COMMO}'s context-related help system.
Note that certain features are only available as macro functions.
Refer to the Macro Programming Guide for details.
======================
[Alt-A] ASCII Upload
======================
This command is used to send prepared messages or any text files
to the remote system. Enter the pathname of the file you wish to
send. Note that the input field will be blank unless a macro is
used to prompt with a path. The macro supplied in COMMO.MAC is:
{:ala} {ascii %uldir\} {} ASCII Upload with path
Notice the "\" following the path variable. It tells {COMMO} to
prompt for the filename. If you needed to specify a colon for
pacing (see below) you could change this to:
{:ala} {ascii %uldir\,:} {} ASCII Upload with path
There is no special error checking associated with ASCII Upload.
It is intended primarily for sending message responses and other
short text files. For longer files, binary files or compressed
files (.ARC, .ZIP) you will want to use error checking protocols
such as Xmodem, Zmodem, MPt, etc. See "Uploading / Downloading."
A number of parameters are used to control an ASCII Upload:
___________
Line Pacing
___________
IMPORTANT! Line Pacing is used to keep transmitted data
synchronized with received (echoed) data and is normally used
ONLY when the remote is sending a prompt for each line, usually
"nn:" or "nn?". "nn" is a line number and ":" or "?" is the
prompt or "pacing character."
{COMMO} (tm) User Guide and Reference 21
{COMMO} will wait up to 5 seconds for the pacing character, then
send the next line. If there is a 5 second delay between the
sending of each line, then either you have the wrong pacing
character or you don't need line pacing (you don't need it when
using a full-screen editor, for example).
At any time, the Spacebar may be pressed to force transmission of
the next line. This is very useful when you have set the wrong
pacing character or if you wish to send each line manually. In
the latter case, use any pacing character that is different from
the one in the line prompt.
To use line pacing, enter the pacing character when {COMMO} asks
for it in the ASCII Upload window. NOTE: The receive Translate
Table can affect the pacing character if receive translation is
ON.
The initial pacing character is configurable. See "[Alt-G] Edit
Setup File."
The pacing character may be any character including control
characters, e.g. "^m" or "|" for carriage return. See Appendix D
for details on how to represent special characters.
See also Appendix C "Flow Control."
________________
Character Pacing
________________
You may insert a delay between each character using the Inter-
Character Delay feature. This should only be used when the
remote is so slow that it drops characters. See "Set Terminal
Parameters" for details.
___________________
Stripping Linefeeds
___________________
Normally you will want to strip linefeeds from your outgoing
text. This will appear to the remote as if you are typing the
data. But if all your data displays on the same line at the
remote, then you must configure {COMMO} to send the linefeeds.
NOTE: This item is initialized in the Setup File.
{COMMO} (tm) User Guide and Reference 22
_____________________
Expanding Blank Lines
_____________________
You may configure {COMMO} to send a space character whenever a
blank line is encountered in the text file you are sending. This
will prevent your message from terminating prematurely if you are
sending to a BBS message editor. Blank line expansion is not
normally required when sending to a "full screen" BBS editor.
NOTE: This item is initialized in the Setup File.
===========================
[Alt-B] Send Break Signal
===========================
A one second Break Signal will be sent. This signal is used by
some systems to interrupt certain operations. Use it only when
the remote system directs you to do so.
======================
[Alt-C] Clear Screen
======================
The Terminal Screen will be cleared and the current colors will
be set to the Setup File defaults.
===========================
[Alt-D] Dialing Directory
===========================
The Dialing Directory is your data base of telephone numbers.
From the directory window you can select numbers to dial and also
update the directory using the Internal Editor.
Refer to Online Help for a complete description of the commands
available in the Dialing Directory window.
{COMMO} (tm) User Guide and Reference 23
_______________________________
Dialing Directory Entry Example
_______________________________
System Last Telephone System Linked Terminal
Name Called Number Password Macro Parameters
_____________ ________ __________ _________ ______ __________
File City BBS 02/14/92 {555-1234} {pword} {city} {}
NOTE: Any number of Variable Items may be added following the
Terminal Parameters item (see below).
IMPORTANT! Items in curly braces must be present (they are
positional). Items which are not used must have a null string {}
as a placeholder. You may omit null strings at the end of the
line.
Directory entries are limited to one per line. Lines may be up
to 255 characters in length. {COMMO}'s Internal Editor will
scroll horizontally to follow the cursor.
Comments may be placed anywhere outside the curly braces or on
separate lines.
______________________________
System Name File City BBS
______________________________
Up to 40 characters in length, it must NOT be enclosed in
curly braces. The System Name will be displayed on the
Status Line after connection, unless the Signal Lights
option is selected. It will also be part of a Usage Log
entry if the log is enabled.
______________________________________
Telephone Number {1-707-555-1234}
______________________________________
Spaces and hyphens are ignored by most modems. The Dialing
Prefix, Telephone Number and Dialing Suffix are strung
together to form a dialing command (may be up to 128
characters total). Refer to your modem manual for details
on dialing commands.
Normally the default Dialing Prefix (usually "ATDT") and the
default Dialing Suffix (usually "|") will be used. These
{COMMO} (tm) User Guide and Reference 24
are specified in the Setup File. You may also have any
number of alternate prefixes and suffixes by defining them
with SET items in the Setup File.
For example, if you wanted your prefix for a certain entry
to be "ATM1L3DT" (to turn on the modem speaker LOUD), you
could put this item in your Setup File:
{set spkrpref,ATM1L3DT} Loud speaker prefix
Then your entry might look like this:
File City {%spkrpref%555-1234} {pword} {city} {}
The prefix "spkrpref" will override the default prefix if it
is at the very beginning of the telephone number field
(immediately following the left curly brace). Similarly, an
override suffix may be specified if it is at the very end of
the field (immediately preceding the right curly brace).
Notice that these are variable names and must be bracketed
between "%" characters. Variables may be placed anywhere
else within the number field as well, but they will not
override the default prefix or suffix unless they are at the
very beginning or very end, respectively.
You may use variables defined with SET items in the Setup
File or variables set within macros.
_________________________________
System Password {mypassword}
_________________________________
A different Password String may be defined for each system
that you call. Passwords may be up to 64 characters in
length.
The Password String may be sent by pressing Alt-W or by
using the variable "_pas" in a SEND macro function.
Passwords are invisible in the Dialing Directory window, but
appear when you enter [E]dit mode.
Rules for writing passwords are in Appendix D.
{COMMO} (tm) User Guide and Reference 25
________________________
Linked Macro {city}
________________________
If a valid Linked Macro is specified, it will be started
when a connection is established with the remote system. If
no macro is specified (or the macro label is not found),
{COMMO} will enter the Terminal Screen.
___________________________
Terminal Parameters {}
___________________________
This item allows you to override any or all of the Default
Dialing Parameters for the current call.
The Dialing Default Parameters are initialized with the
"ddp=" item in the Setup File and may be changed during a
session with the Alt-P key command (press F2) or with the
DPARms macro function.
Prior to dialing each number, {COMMO} will set all current
Terminal Parameters to the Dialing Defaults. Then it will
set any overrides specified in this item.
The general form of this item is:
{speed,format,comport,terminal-type,delay}
For example, you might have "{,7,,V}", which would set the
Data Format to "7e1" and the Terminal-type to VT102, but
would use the Dialing Defaults for the other parameters.
See "Set Terminal Parameters" for a complete description of
each field. See also "AutoBaud Detect."
_________________________
Last Called 05/20/90
_________________________
If this item is present, {COMMO} will replace it with the
current date whenever a connection is made with the system.
It may appear anywhere on the entry line (outside the curly
braces). Place "00/00/00" to start it. The Dialing
Directory file will be saved to disk when you exit {COMMO}.
{COMMO} (tm) User Guide and Reference 26
_________________________________
Variable Items {name,string}
_________________________________
Any number of Variable Items may be included in a directory
entry and will be set just prior to dialing. The "string"
may not contain any variables. The first Variable Item must
follow the Terminal Parameters item (all other items must be
present as placeholders even if some are null). Example:
Joes-BBS {555-1234} {pword} {mac} {} {bbsid,joesbbs} ...
See also "[Alt-N] Multi Number Dialing."
=========================
[Alt-G] Edit Setup File
=========================
Pressing Alt-G allows you to edit the Setup File, COMMO.SET (see
"Internal Editor" in Online Help for details on editing). The
Setup File contains initial settings for many parameters used by
{COMMO}.
Items changed with the editor are not effective until the next
time you start the program. However, most items may be changed
with key commands and/or macro functions while the program is
running.
Each item in the Setup File is enclosed in curly braces. Items
are designated with three letter "keywords" and may be present in
any order. There are no "required" items. Most missing items
will take on the default values shown in the examples below (AUT
items and SET items have no default values).
All text outside the curly braces is commentary and is ignored by
{COMMO}. Avoid using curly braces other than to bracket setup
items.
Predefining Variables with SET
==============================
SET items predefine variables in {COMMO}'s String Variable Space.
The general form of a SET item is
{set name,string}.
name Any valid variable name.
{COMMO} (tm) User Guide and Reference 27
string A text string to assign to the name. The
string may not contain any variables.
Any number of SET items may appear in the Setup File. They may
be used later in macros, in telephone numbers, etc.
See the Macro Programming Guide for more information on
variables.
Explanation of Setup File Items
===============================
_________________________________________________________________
{ddp=2400,8n1,1,A,0} Default Dialing Parameters, set
when you dial:
(speed,format,port,terminal,delay).
These are also the current settings
when you start the program.
_________________________________________________________________
These values will be used as the current settings when
{COMMO} is started and each time dialing begins. Use the
"Terminal Parameters" item in the Dialing Directory to set
overrides when required. Use Alt-P or the macro function
DPARms to change dialing parameters at other times.
See "Set Terminal Parameters" for a complete description of
each field and how to change current parameters as well.
NOTE: PCjr users without the internal modem should specify
Com2.
______________________________________________
{min=yes} Send Modem Init String (yes/no)
______________________________________________
If "yes" this will instruct {COMMO} to send the Modem
Initialization String at program startup. You can override
this item with the "/iy" or "/in" command line switch.
{COMMO} (tm) User Guide and Reference 28
___________________________________________________
{set _modini,~AT S0=0 S7=180 E0 Q0 V1 X4 &C1 &D2 |}
Modem Init String (2400 bps and higher)
___________________________________________________
This item defines the reserved variable "_modini" (notice
that the string itself begins following the comma).
The Modem Initialization String is normally sent to your
modem when {COMMO} is started or when you press Alt-O.
If you are using a 1200 bps modem you should remove the "&C1
&D2" commands. In either case the "X" command may have to
be adjusted. See Appendix A "Setting Up Your Modem."
________________________________________________________
{sfc=yes} Software (XON/XOFF) Flow Control (yes/no)
{hfc=no} Hardware (RTS/CTS) Flow Control (yes/no)
________________________________________________________
These are used to control the flow of data between your
computer and the remote system. They prevent loss of data
when one end can send faster than the other end can process
the information. See Appendix C for details.
_________________________________________________________
{sld=no} Stop serial input during disk I/O (yes/no)
_________________________________________________________
This should be set to "yes" if your system drops characters
when a disk (hard or floppy) is accessed. The symptoms are
missing characters in the Terminal Screen when capture is on
or excessive CRC/csum errors during internal protocol file
transfers.
This is equivalent to what some programs call "handshake
slow." In {COMMO} it works in conjunction with Hardware
Flow Control (RTS/CTS), so both {COMMO} and your modem must
have Hardware Flow Control engaged.
If you use an external protocol driver be sure to set the
"handshake slow" parameter in that program as well.
{COMMO} (tm) User Guide and Reference 29
________________________________________________
{dex=no} Drop DTR and RTS on exit (yes/no)
________________________________________________
Leave this "no" if you want to exit {COMMO} and return while
still connected to a host. "Yes" will normally cause the
modem to hang up when exiting.
___________________________________________
{enq=no} Answer ENQ with ACK (yes/no)
___________________________________________
Some hosts send an ENQ control character (^E) periodically
and require that the terminal "answer back" with an ACK
(^F). Set this item to "yes" only if your host requires
this.
____________________________________________________
{ncr=} Macro to execute when carrier is lost
____________________________________________________
Specify a macro label here and {COMMO} will execute the
macro when carrier detect is lost. Example:
{ncr=carrlost}
IMPORTANT: This feature is enabled only when a connection
is made using {COMMO}'s Auto Dialer. Also, if carrier drops
while a macro is running or a command window is open (such
as the Dialing Directory or Capture File Options), the
carrier lost macro will not activate.
Be sure that you have your modem configured to provide the
carrier detect signal. See Appendix A for modem
information.
______________________________________________
{aut=pzbr,^xB00} Auto Receive, Zmodem
{aut=phbr,HS*^bR} Auto Receive, HS/Link
{aut=phbr,HS*^bQ} Auto Receive, HS/Link
{aut=pmpr,^v^h^vMPt} Auto Receive, MPt
______________________________________________
The general form for this item is: {aut=label,string}.
When the specified string (up to 32 characters, case
ignored) is received, the macro will be started.
{COMMO} (tm) User Guide and Reference 30
These are normally used for automatically starting
downloads, but may be used to trigger any macro upon
receiving any string.
Up to eight Auto Receive Strings may be specified. Operates
in Terminal Mode only (use GOLOok/LOOKfor in macros).
See the section "{COMMO} Auto Receive" for more details.
________________________________________________
{rtr=} Receive Translate Table initialization
{str=} Send Translate Table initialization
________________________________________________
These items are used to place values into the character
translation tables at program startup and, if desired, to
turn translation ON. Multiple receive or send items may be
present.
Character translation is used when you wish certain
characters to be changed into other characters as they are
received from, or as they are sent to, the remote system.
You may also cause received characters to be ignored.
Examples:
{rtr=y,7,0,36,156}
Turn ON receive translation ("y").
Change the bell character (ASCII 7) to null (ASCII
0, which will not display).
Change the "$" (ASCII 36) to ASCII 156.
{str=#26,97,65,42,43,#10,48,128}
Change 26 consecutive values starting at 97 to
consecutive values starting at 65. This will
change all lowercase letters (ASCII 97 to 122) to
uppercase letters (ASCII 65 to 90).
Change the "*" (ASCII 42) to a "+" (ASCII 43).
Change 10 consecutive values starting at 48 to
consecutive values starting at 128. This will
change the digits 0 through 9 (ASCII 48 to 57) to
ASCII 128 to 137.
The ON/OFF state of send translation will not be
changed (no "y" or "n" is present).
{COMMO} (tm) User Guide and Reference 31
A "y", to turn translation ON, must be the first argument,
if present. It may be used on any "rtr" or "str" item and
will apply to all 256 values in either the receive table or
the send table. Note that translation defaults to OFF when
{COMMO} is started.
Use a PAIR of arguments to change a single value.
Use THREE arguments to change a range of consecutive values
to another range of consecutive values. The "#" operator on
the first argument specifies the number of values to change,
followed by the starting values for each range.
The macro functions RTRAn and STRAn have similar argument
lists. In addition they allow you to restore each Translate
Table to default values and to turn translation ON and OFF
without disturbing the values in the tables. See the Macro
Programming Guide for more details.
_________________________________________
{com=1,3f8,4} Com1 port address/IRQ
{com=2,2f8,3} Com2 port address/IRQ
{com=3,3e8,4} Com3 port address/IRQ
{com=4,2e8,3} Com4 port address/IRQ
_________________________________________
These are the hardware serial port base address and IRQ
assignments. The settings shown are the most common, but
some serial adapters are different. The serial adapter
manual may give a range of addresses, for example "3f8-3ff."
Use the first value as the base address.
Port addresses are in hexadecimal and may range from 0 to
ffff. IRQ numbers are decimal and may range from 0 to 15
(avoid use of IRQ numbers that are used by system hardware,
e.g., 0, 1, 8, etc.). IRQ numbers from 8 to 15 are
available only on AT class machines.
__________________________________________
{abd=no} AutoBaud Detect on (yes/no)
__________________________________________
Determines the initial state of the AutoBaud toggle. See
"AutoBaud Detect" under "[Alt-T] Set Toggles."
{COMMO} (tm) User Guide and Reference 32
_________________________________________________________________
{cdm=yes} Clear dialing marks when saving directory (yes/no)
_________________________________________________________________
If this is "yes", dialing marks will not be written to disk
when saving the Dialing Directory file. Set it to "no" if
you wish the marks to be saved with the file (to be used in
the next session).
Note that changes to dialing marks (mark or unmark) will not
cause the file to be saved upon exit from {COMMO}. If no
other changes occur (such as Date Last Called), you must use
Alt-F in the Internal Editor to save the marks.
_______________________________________________
{set _dialpf,ATDT } Default Dialing Prefix
{set _dialsf, |} Default Dialing Suffix
_______________________________________________
These reserved variables define strings that will be used to
create the modem dialing command. The prefix, telephone
number and suffix will be strung together in that order and
sent to your modem when you dial.
Any number of additional prefixes and suffixes may be used
by including variables in the telephone number string (see
"[Alt-D] Dialing Directory" for details).
Use "ATDP" if you don't have a tone line. Use "ATDT9," to
get an outside line on a switchboard. The suffix is usually
just a carriage return (|). Your modem manual has
additional tips on dialing prefixes and suffixes.
_______________________________________________
{dct=45} Dialing cycle time-out (seconds)
_______________________________________________
The maximum time to wait before hanging up and redialing.
Adjust if your modem needs more time to complete a call.
_______________________________________________________
{idt=2} Delay between dialing attempts (seconds)
_______________________________________________________
Amount of time to wait between dialing attempts. Adjust to
give incoming calls a greater chance of getting through.
{COMMO} (tm) User Guide and Reference 33
____________________________________________________
{set _dialsr,CONNECT} Dialing success response(s)
{set _dialfr,BUSY,NO CARRIER,NO DIALTONE}
Dialing failure response(s)
{set _dialir,RING} Inter-dial response(s)
____________________________________________________
These reserved variables each define a list of response
strings that are returned by your modem during dialing
operations. Most "Hayes compatible" modems use similar
responses, but there may be subtle differences. Consult
your modem manual for details.
"Success" responses are received when the modem has
connected with a remote modem. "Failure" responses occur
when the number being called is busy, doesn't answer or when
something is wrong with the telephone line. {COMMO} will
automatically redial the number after a failed attempt.
Inter-dial Delay responses may occur during the delay
between dialing attempts, usually when someone is trying to
call you. These may be handled by using the Inter-dial
Delay macro label in the DIAL macro function. See the Macro
Programming Guide for details.
Some modems use a CARRIER response to indicate the modem
speed, e.g. CARRIER 2400. In this case using CARRIER
instead of CONNECT will improve the accuracy of the Usage
Log. In order to avoid confusion with a NO CARRIER
response, you should use:
{set _dialsr,CARRIER } Notice the space after CARRIER.
Do not include the speed in the CONNECT or CARRIER response
if you are enabling AutoBaud.
Responses are case sensitive and there should be no null
strings or extra spaces.
_____________________________________________________
{set uldir,c:\commo} Path to find uploads
{set dldir,c:\commo} Path to place downloads
_____________________________________________________
These variables are used in some of the macros in COMMO.MAC
and SAMPLES.MAC, primarily in the Uploading and Downloading
macros. They are not reserved variables, so you may change
their names.
{COMMO} (tm) User Guide and Reference 34
_______________________________________________________________
{set dszprog,DSZ.COM} Name of program in DSZ family that you
have (DSZ.COM, GSZ.EXE or DSZ.EXE)
_______________________________________________________________
This variable is used in macros that require an Omen
Technology external protocol driver program. Just enter one
of the three programs shown and the Zmodem macros will use
it (including those in the MOSTHOST).
_________________________________________________________
{set _uselog,c:\commo\commo.log} Pathname for Usage Log
_________________________________________________________
This is a reserved variable that tells {COMMO} where to find
your Usage Log. The Usage Log keeps a record of the calls
you make. If a valid pathname is specified, entries will be
made when:
1) You connect to a system.
2) You transfer a file using an internal protocol.
3) You disconnect (or exit {COMMO}).
IMPORTANT! In order for the log to function properly your
modem must be set to provide "true carrier detect" (see
Appendix A).
Use a null pathname or remove this item to disable the Usage
Log. A null pathname would look like this:
{set _uselog}
The Usage Log should be disabled when you are connecting
directly to another computer (with a null modem cable).
Specify the same log file as your external protocol driver
(e.g., DSZ.LOG or MPT.LOG) and you will have a complete
record of your calls, including upload/download statistics.
If a filename only (no path) is specified, the current
directory will be used. The pathname of an open Capture
File is not allowed.
See also Appendix F "Usage Log Format."
{COMMO} (tm) User Guide and Reference 35
_______________________________________________________
{cap=c:\commo\commo.cap} Pathname for Capture File
_______________________________________________________
This is the initial setting for the Capture File pathname.
It may be changed later with the Alt-1 key command or with
the CAPTure macro function (do not try to change the "_cap"
built-in variable with SETV).
If a filename only (no path) is specified, the current
directory will be used.
See also "Capture File Options."
____________________________________________________________
{scr=c:\commo\commo.scr} Pathname for Screen Image File
____________________________________________________________
This is the initial setting for the Screen Image File
pathname. It may be changed later with the Alt-I key
command, with the SCREen macro function, or from within the
Scrollback Buffer window (do not try to change the "_scr"
built-in variable with SETV).
If a filename only (no path) is specified, the current
directory will be used. The pathname of an open Capture
File is not allowed.
See also "Screen Image Save" and "Scrollback"
_____________________________________________
{swp=} Pathname for Swap to Disk File
_____________________________________________
This file will be used to save the program and data during a
Swap to Disk. You may optionally Swap to Disk when using
the Shell to DOS key command or the EXECute macro function.
It's a good idea to use a unique filename. For example:
{swp=c:\commo\swapfile.$$$}
IMPORTANT: You must also specify the "S" switch on any
EXECute or SHELl macro functions where swapping is desired.
Before using this feature, read the section "Using the Swap
to Disk switch, EXEC-S" under EXECute in the Macro
Programming Guide.
{COMMO} (tm) User Guide and Reference 36
________________________________________________
{ebl=yes} Expand blank lines (yes/no)
{slf=yes} Strip outgoing linefeeds (yes/no)
{pac=} ASCII Upload pacing character
________________________________________________
These items are used with the ASCII Upload feature.
Blank line expansion sends a space and a carriage return,
instead of just a carriage return for lines with no data.
This prevents BBS line editors from terminating prematurely.
Stripping linefeeds gives the data the appearance of being
entered manually. Linefeeds should not be stripped when the
remote is not in "edit" mode.
The pacing character shown is null (no pacing). To use a
":" for pacing, change the item to
{pac=:}
See "ASCII Upload" for more details.
__________________________________
{mac=} Startup macro label
__________________________________
This item indicates a macro to run when {COMMO} starts up.
The command line switch "/:" can be used to override it.
See "Command Line Options."
Example: {mac=begin}.
_______________________________________________
{edd=no} Enter Dialing Directory (yes/no)
_______________________________________________
If this is set to "yes" the Dialing Directory will be
entered when {COMMO} is started (if no Dialing Strings or
Startup Macro are present on the command line).
_____________________________________
{loc=no} Local Echo on (yes/no)
_____________________________________
If this is set to "yes" Local Echo will be on when {COMMO}
is started. See also "Alt-T Set Toggles."
{COMMO} (tm) User Guide and Reference 37
______________________________________
{sts=yes} Status Line on (yes/no)
______________________________________
If this is set to "yes" the Status Line will be on when
{COMMO} is started.
________________________________________
{sig=no} Signal Lights on (yes/no)
________________________________________
If this is set to "yes" Signal Lights will be on when
{COMMO} is started.
_________________________________________
{cpf=no} Capture File open (yes/no)
_________________________________________
If this is set to "yes" Capture will be open when {COMMO} is
started. See "Capture File Options."
____________________________________________________
{cpm=screen} Capture Mode (screen/filter/raw)
____________________________________________________
See "Capture File Options" for a description of each mode.
__________________________________________________
{tek=no} Test for enhanced keyboard (yes/no)
__________________________________________________
Set this to "yes" if your system supports the enhanced (101
key) keyboard. This will enable you to assign F11, F12 and
a number of other keys to your macros. See Appendix A
"Table of {COMMO} Key-labels" in the Macro Programming
Guide.
____________________________________________________________
{tsn=yes} Display time of day with System Name (yes/no)
____________________________________________________________
If this is "yes" the time of day will be displayed on the
right side of the Status Line. Set this to "no" if you want
the System Name given more space. Note that the time is
always shown when the Signal Lights are displayed.
{COMMO} (tm) User Guide and Reference 38
______________________________________________________________
{dat=mdy} Order of date parameters (m=month,d=day,y=year)
______________________________________________________________
This item allows you to specify any order for the three date
parameters. The default shown would display May 20, 1992 as
05/20/92. "ymd" would display as 92/05/20.
This format will appear in the Date Last Called field of the
Dialing Directory, the Usage Log and the built-in variable
"_dat".
_______________________________________
{tim=12} Time format (12/24 hour)
_______________________________________
You can specify 12 or 24 hour time format. 12 hour will add
"am" or "pm" as in "2:30 pm". 24 hour would show the same
time as "14:30".
The time format appears on the Status Line, in the Usage Log
and in the built-in variable "_tim".
_______________________________________
{snd=yes} Master Sound on (yes/no)
_______________________________________
If this is set to "yes" sound will be on when {COMMO} is
started. If "no" all sounds will be silenced.
________________________________________________
{dca=yes} Dialing connection alarm (yes/no)
________________________________________________
Controls the alarm that signals a connection when Auto
Dialing is used. The alarm will not be sounded when a valid
Linked Macro is specified in the Dialing Directory.
___________________________________________________
{afa=yes} ASCII Upload finished alarm (yes/no)
___________________________________________________
Controls the alarm that signals completion of an ASCII
Upload.
{COMMO} (tm) User Guide and Reference 39
______________________________________________________
{ers=yes} Make sounds on errors/warnings (yes/no)
______________________________________________________
This controls the special sounds made for certain errors and
warning messages.
____________________________________________________
{rng=3} Maximum number of alarm rings (1-999)
____________________________________________________
Sets the number of times the alarm will ring. You may press
a key at any time to stop the alarm.
_________________________________________________________
{sbs=10} Scrollback buffer size in kilobytes (0-64)
_________________________________________________________
The actual minimum size of the buffer (which {COMMO} will
compute) depends on the number of screen lines and columns.
For a 25x80 screen it will be about 4k bytes -- it will be
larger for screens with more lines and/or columns. This
includes room to save the current screen.
Setting the size to 0 disables the Scrollback feature. See
also "Scrollback."
______________________________________________________________
{adn=no} Auto-detect number of rows and columns (yes/no)
______________________________________________________________
{COMMO} will support 25 to 127 rows and 80 to 255 columns on
the display, but you MUST set the display into the proper
mode before starting the program (EGA/VGA adapters usually
come with utilities to set modes such as 50x80, 44x132,
etc.).
Set this item to "yes" if you want {COMMO} to automatically
obtain the current number of rows and columns from the
system. Most systems provide this information. If the
display is unsatisfactory, you may have to set it to "no."
NOTE: The cursor may not display properly in 43 line mode.
This is a problem with some EGA adapters.
{COMMO} (tm) User Guide and Reference 40
________________________________________________________
{ucw=18} Number of lines in upper Chat Mode window
________________________________________________________
This allows you to adjust the line "split" in Chat Mode.
The minimum number of lines in the upper or lower window is
three.
_______________________________________________________________
{swe=no} Send when Enter is pressed in Chat Mode (yes/no)
_______________________________________________________________
If "no" {COMMO} will send each character as you type it. If
"yes" {COMMO} will wait until you press Enter, then send all
that you have typed.
_________________________________________________
{sfi=no} Speech Friendly Interface (yes/no)
_________________________________________________
If this is "yes" {COMMO} will be much friendlier to users
with speech synthesizer boards (these enable blind users to
read the computer display). Terminal Screen data and many
error and information messages will be displayed using the
BIOS. Also, the up and down arrow keys move the cursor
instead of scrolling the screen in windows such as Online
Help, Scrollback and View String Variable Space.
______________________________________________________________
{bsc=no} Use BIOS for Terminal Screen scrolling (yes/no)
{sno=no} Snow checking on CGA adapter (yes/no)
______________________________________________________________
Change these video parameters only if necessary.
o BIOS scrolling enables external scrollback programs to
work, but is slower and may cause "flicker" in certain
displays.
o Snow checking will also slow the display, but will help
to eliminate the "snow" effect on CGA monitors.
{COMMO} (tm) User Guide and Reference 41
_________________________________________
{gdc=} Graphic display characters
_________________________________________
This item allows you to specify the graphic characters used
by {COMMO} to form the various display windows and is
provided for compatibility with display adapters used in
certain countries.
When using this item, eleven ASCII character codes may be
listed (omitted fields will revert to the defaults). Codes
are specified as decimal numbers from 1 to 255 (0, 10 and 13
are not allowed).
As an example, here is how the default characters would be
listed:
{gdc=213,184,212,190,205,179,185,204,176,250,177}
where:
213 = upper left box corner
184 = upper right box corner
212 = lower left box corner
190 = lower right box corner
205 = horizontal line
179 = vertical line
185 = left side of box title
204 = right side of box title
176 = file window title fill
250 = input fill and password hiding
177 = Online Help separator bar
______________________________________________
{ema=no} Enable mono attributes (yes/no)
______________________________________________
If this is "no" the default mono attributes will be used, no
matter what colors are set in the following items. Set it
to "yes" if you want to set your own monochrome attributes
(high intensity, reverse video, underline, etc.). This has
no effect on color displays.
{COMMO} (tm) User Guide and Reference 42
_________________________________________
{tsc=07} Terminal Screen colors
{slc=17} Status Line colors
{fwt=17} File window text colors
{fwb=70} File window border colors
{fws=3f} File window cursor colors
{swt=70} Small window text colors
{swb=17} Small window border colors
_________________________________________
Press F7 while editing the Setup File to pop up the color
chart. You may use it with color or monochrome displays.
NOTE: For the most accurate ANSI-BBS or VT102 terminal
emulation, the Terminal Screen colors should be set to {07}.
In many cases, {COMMO} uses this color when clearing
portions of the screen or when a "reset attributes" sequence
is received from the host.
"File windows" are full-screen windows such as the Dialing
Directory, Macro File, Scrollback Buffer, etc. "Small
windows" are the pop up windows such as Capture File Options
or ASCII Upload.
Colors should be set so that the different parts of the
screen contrast with each other. For example the Status
Line should be easily discernable from the rest of the
Terminal Screen. And the borders and Selector Bar should
stand out against the text portion of the file windows.
(End of Setup File items)
=================
[Alt-H] Hang Up
=================
Disconnects the call by dropping DTR. This will put the modem
"on-hook" if response to DTR is enabled (see Appendix A). If
your modem does not respond properly, you may define a macro to
send a "hang-up" command. For modems using the "AT" command set
the macro would look like this:
{:alh} {send ~~~+++~~~ATH|} {} Press Alt-H to hangup
This macro will run when Alt-H is pressed, but you may assign any
key you like.
{COMMO} (tm) User Guide and Reference 43
===========================
[Alt-I] Screen Image Save
===========================
The Screen Image Save is used to append all of the text currently
on the screen to a disk file. This is sometimes handier than
repeatedly opening and closing the Capture File.
TIPS on using Screen Image Save:
> The pathname may not be the same as the pathname of an open
Capture File.
> If the file cannot be opened, the old pathname is retained.
NOTE: The current Screen Image Save file is also used to save
blocks of text in the Scrollback feature.
See also "Capture File Options" and "Scrollback."
====================
[Alt-K] Scrollback
====================
Scrollback allows you to see what was previously on your screen.
Screen data is saved to a memory buffer (the size is defined in
the Setup File). Set the size to 0 to disable the feature
entirely.
A number of commands are available in Scrollback:
1) You may navigate as in the Online Help file -- scroll
up/down, page up/down, beginning/end of buffer, etc.
2) Use the String Search feature available in all {COMMO} file
windows.
3) Change the Screen Image Save pathname.
4) Write any part of the Scrollback buffer to the current
Screen Image Save file.
5) Exit and return to the same place the next time you call
Scrollback.
6) Jump directly to the Dialing Directory or Macro Processor
windows.
{COMMO} (tm) User Guide and Reference 44
=========================
[Alt-M] Macro Processor
=========================
The Macro Processor executes {COMMO} macros which are resident in
memory. Macros are loaded at program startup from a Macro File
(the default is COMMO.MAC, but an alternate file may be loaded
using the "/m" command line switch). A new Macro File can be
loaded at any time using the MACLoad macro function. The Macro
File is maintained with the Internal Editor.
IMPORTANT: Only macros resident in memory may be executed.
The Macro Programming Guide shows you how easily you can automate
program operations, link to external protocols (used for
Uploading/Downloading), assign keys and perform a myriad of other
functions.
See Online Help for details on operations within the Macro
Processor window.
==============================
[Alt-N] Multi Number Dialing
==============================
Any number of entries may be "marked" in the Dialing Directory,
then automatically dialed in sequence until a connection is
established. Multi Number Dialing may be initiated in one of
four ways:
1) Bring up the Dialing Directory window with Alt-D, then move
the Selector Bar to each desired entry and press [Space]
(repeat the procedure to unmark an entry). Press Alt-N to
begin dialing at the location of the Selector Bar.
2) Specify entries with Dialing Strings on the command line
used to run {COMMO} (see "Command Line Options"). Specified
entries will be marked and dialed in sequence when {COMMO}
is started.
3) Specify entries with Dialing Strings in a macro, using the
MARK function. Refer to the Macro Programming Guide.
4) Press Alt-N from the Terminal Screen. Dialing of marked
entries will resume with the next system in the sequence.
See also "[Alt-D] Dialing Directory" and the DIAL function in
the Macro Programming Guide.
{COMMO} (tm) User Guide and Reference 45
==========================================
[Alt-O] Send Modem Initialization String
==========================================
Pressing Alt-O at any time from the Terminal Screen will cause
the Modem Initialization String to be sent to the modem (if one
is defined). This is useful if your modem was powered off or if
the modem setup was changed.
=================================
[Alt-P] Set Terminal Parameters
=================================
The Terminal Parameters determine the method of transmission of
data to and from your computer. In {COMMO}, they are usually
displayed or defined with a string. For example:
{2400,8n1,1,A,0} Speed,format,port,terminal,delay.
{COMMO} keeps two complete sets of Terminal Parameters:
1) The CURRENT Parameters, always shown on the left side
of the Status Line. These reflect the current
settings.
2) The DEFAULT DIALING Parameters. These are used each
time a number is dialed, unless overridden by
parameters in the Dialing Directory. The Current
Parameters are changed to the Dialing Parameters (or
overrides) just before dialing.
Parameter Descriptions
======================
_____
Speed
_____
The rate at which data travels between your computer and your
modem (or remote system if no modem is used). It is specified as
"bits per second" or "bps." Allowable values are 300, 600, 1200,
2400, 4800, 9600, 19200, 38400, 57600, 115200. These may be
abbreviated to the first two characters in Terminal Parameter
strings.
See "AutoBaud Detect" for more information on setting the Speed.
{COMMO} (tm) User Guide and Reference 46
___________
Data Format
___________
This consists of three parts. Allowable values are:
character length: 7, 8
parity: [n]one, [e]ven, [o]dd, [m]ark, [s]pace
stop-bits: 1, 2
Examples:
7o2 7 bit characters, odd parity, 2 stop bits
8m1 8 bit characters, mark parity, 1 stop bit
The most common formats, "8n1" and "7e1", may be abbreviated to
"8" and "7" in Terminal Parameter strings, such as:
{2400,8,1,A,0}
___________
Serial Port
___________
The channel your computer uses to talk to the outside world. May
be 1, 2, 3 or 4 (for Com1, Com2, Com3 or Com4).
NOTE: PCjr users without the internal modem should specify Com2.
_______________________
Terminal Emulation Type
_______________________
{COMMO} supports the following terminal types:
ANSI-BBS (A) For calling most bulletin board systems.
VT102 (V) For calling certain mainframes and online
services.
TTY (T) For turning off almost all control functions
(lets you see ANSI control sequences).
TTY(40) (H) HP 95LX version only. Wraps terminal lines
at 40 columns. Use when the host cannot be
configured for 40 columns.
{COMMO} (tm) User Guide and Reference 47
_____________________
Inter-Character Delay
_____________________
This factor defines the amount of delay to insert between
characters transmitted by the SEND macro function and by ASCII
Upload. Use only when the remote is too slow to process the data
(drops characters).
Each unit is about 5 thousandths of a second (5 ms) on a 4.77 MHz
XT class machine. Faster machines require higher values -- on a
12 MHz AT each unit will only be about 1 ms.
For example, to delay 20 ms between characters (50 cps) use a
factor of:
4 on 4.77 MHz XT
16 on 12 MHz AT
27 on 20 MHz 386
The factor will also vary when you use multi-tasking software, so
adjust as necessary. The maximum delay allowed is one second.
How to Set Terminal Parameters
==============================
__________________________
With the Alt-P Key Command
__________________________
Alt-P may be used at any time to change the CURRENT Parameters or
the DEFAULT DIALING Parameters (use F2 to toggle between the two
sets). Remember that Current Parameters will be reset to the
Default Dialing Parameters whenever dialing begins.
________________________
In the Dialing Directory
________________________
Serial Port Parameters may be specified in a Dialing Directory
entry to OVERRIDE the Default Dialing Parameters. Specify only
values that are different. For example:
{,,3,V} A different serial port and terminal emulation is
required for this call.
{,7e1} Unusual format required.
{COMMO} (tm) User Guide and Reference 48
__________________________________________
Using the Macro functions PARMs and DPARms
__________________________________________
Use these to set Terminal Parameters during macro execution. See
the Macro Programming Guide for details.
======================
[Alt-S] Shell to DOS
======================
When you Shell to DOS {COMMO} remains resident in memory and you
may perform any DOS functions as you normally do. Since {COMMO}
is small in size, most of your memory is available when you use
this key command.
If you need additional memory you can use {COMMO}'s Swap to Disk
feature. To use this feature you will need to do two things:
1) Be sure that a Swap File is specified in your Setup
File (look for the "swp=" item under "Paths and
Files").
2) Enter the following simple macro in your Macro File:
{:als} {shell-s} {}
This macro will Shell to DOS using Swap to Disk when
you press Alt-S (by using a different key assignment,
Alt-S can still be used for Shell to DOS with no swap).
=====================
[Alt-T] Set Toggles
=====================
This key command is used to set a number of miscellaneous toggle
(yes/no) parameters. Some take effect while you are still in the
Set Toggles window -- others when you exit the window.
Some of the toggles will be described here. The others are
detailed in their respective sections of this document.
{COMMO} (tm) User Guide and Reference 49
Sound Control Toggle
====================
This is the Master Sound Control toggle. When sound is OFF all
alarms, sounds and beeps will be silenced. Alarms are
individually controlled with items in the Setup File and with the
"A" switch in EXECute macro functions.
AutoBaud Toggle
===============
AutoBaud Detect enables {COMMO} to automatically adjust to the
line speed of the system you are calling. You won't have to hang
up and call back when you get the wrong speed.
TIPS on using AutoBaud:
> Your modem must be set to return the connection speed
responses such as "CONNECT 1200" (see Appendix A "Setting Up
Your Modem").
> The Default Dialing Speed in the Setup File should be set to
your modem's highest speed.
____________________
Most 2400 bps modems
____________________
Toggle AutoBaud Detect to the ON state. Set the Default Dialing
Speed in the Setup File to 2400. The following modem responses
will cause the indicated actions:
CONNECT 2400 --> serial port remains at 2400 bps
CONNECT 1200 --> serial port adjusted to 1200 bps
CONNECT --> serial port adjusted to 300 bps
_________________
High-speed modems
_________________
Most high-speed modems require that the serial port be "locked"
at 19200 bps or 38400 bps. The modem will then automatically
adjust to the line (modem-to-modem) speed. In this case AutoBaud
must be turned OFF to prevent {COMMO} from changing the serial
port speed.
IMPORTANT! Check your modem manual for details.
{COMMO} (tm) User Guide and Reference 50
Local Echo Toggle
=================
Local Echo (sometimes called half-duplex) is normally used when
you connect to a host that does not echo (i.e., send back) what
you type. Also, {COMMO} will assume that the host is sending a
linefeed along with each carriage return.
Typed characters will be displayed directly to the screen.
Signal Lights Toggle
====================
Turns ON/OFF the "modem lights" display on the Status Line.
Shows the state of the RS-232C signals, including send and
receive.
This toggles the right half of the Status Line from the System
Name to the Signal Lights Display. See "What is on the Status
Line" in Online Help for a complete description of the Status
Line indicators.
======================
[Alt-U] Utility Menu
======================
The Utility Menu is supported by a macro in COMMO.MAC. It
contains a selection of features created by {COMMO} macros.
Example features include:
Edit any external text file less than 64k in size.
Run any macro by name (label).
Run the host mode macro, MOSTHOST.MAC.
Edit the host mode macro.
NOTE: The Utility Menu will not be available when another Macro
File has been loaded by the MACLoad macro function.
===============================
[Alt-W] Send Current Password
===============================
Each entry in the Dialing Directory can have its own Password
String. After dialing a number, the Alt-W key command will send
the current Password String to the remote system.
{COMMO} (tm) User Guide and Reference 51
For additional details on Passwords see "[Alt-D] Dialing
Directory."
===========================
[Alt-X] Exit from {COMMO}
===========================
This key command will cause {COMMO} to terminate, saving all
support files with outstanding changes.
You may configure {COMMO} to leave DTR high when exiting so that
you may exit and remain connected to a system (this is the
default, see "[Alt-G] Edit Setup File").
If you re-enter {COMMO} while still online you should use the
"/in" command line switch to prevent the Modem Initialization
String from being sent.
Alt-X may also be pressed from the Dialing Directory, Macro File
or Scrollback windows for a quick exit.
==============================
[Alt-1] Capture File Options
==============================
When Capture is OPEN all information written to your screen will
be saved to the designated disk file. This command allows you
to:
1) OPEN/CLOSE the Capture File.
2) Change to a different file.
3) Change the Capture Mode.
Data may be captured in one of three modes. The startup Capture
Mode is selected in the Setup File.
If the mode is set to SCREEN, data will be captured exactly
as it appears on the Terminal Screen. This mode greatly
improves the appearance of data captured from screens drawn
with ANSI positioning sequences (animation).
FILTER mode is used primarily when you need to capture lines
longer than the width of the screen (e.g., to be printed on
a wide carriage printer). ANSI control sequences will be
stripped out if ANSI-BBS or VT102 emulation is on.
Characters will be translated if the receive Translate Table
is on.
Use RAW mode when you want all data captured exactly as it
comes from the serial port. ANSI control sequences will not
{COMMO} (tm) User Guide and Reference 52
be stripped and length of lines will be preserved. This
mode can be used to capture ANSI animation and color to be
"played back" later.
TIPS on using the Capture File:
> IMPORTANT! When capturing to a floppy drive, the diskette
should not be removed until the Capture File is closed (this
also applies if the "disk full" message appears). DOS is
unaware of a disk change and may overwrite the replacement
disk.
> The old file will be closed if a new file is opened.
> If Capture Mode is set to SCREEN, text will be saved as it
scrolls OFF the screen. To prevent loss of data, the entire
screen will be saved in the following situations:
(1) whenever the screen is cleared
(2) Capture is closed with Alt-1
(3) {COMMO} is terminated
(4) the mode is changed from SCREEN to FILTER or RAW
> If Capture Mode is set to FILTER or RAW, text will be saved
as it arrives from the serial port.
See also "Screen Image Save."
==========================
[Alt-2] Print Log Toggle
==========================
Turns the Print Log ON/OFF. When ON all information written to
your screen will be printed to LPT1. Handy for getting hard-copy
of file lists, messages, etc.
TIPS on using the Print Log:
> Text is printed as it scrolls OFF the screen.
> To prevent loss of data, the entire screen will be printed
in the following situations:
(1) whenever the screen is cleared
(2) Print Log is turned off with Alt-2
(3) {COMMO} is terminated
> Flow Control should be used if your printer cannot keep up
with the incoming data (see Appendix C).
{COMMO} (tm) User Guide and Reference 53
==========================
[Alt--] Chat Mode Toggle (Alt minus)
==========================
Chat Mode is normally used when you wish to converse via
keyboard. The screen will be split with the upper portion showing
what the remote is sending, while the lower portion shows what
you type.
The method used to send typed characters is selected in the Setup
File under the section "Video and Chat Mode." The two possible
methods are:
1) Each character is sent as you type it. This method is
normally used when you are chatting with another person
who is also in Chat Mode.
2) All characters are sent at once when you press Enter
(up to 240 characters will be buffered). Use this
method when you are using a teleconferencing system or
"CB Simulator."
The number of lines in the upper and lower portions of the screen
(the "line split") may also be set in the "Video and Chat Mode"
section.
TIPS on using Chat Mode:
> Alt-- (Alt minus) is used to enter AND exit Chat Mode.
> All {COMMO} functions are available in Chat Mode except
Doorway Mode.
=============================
[Alt-=] Doorway Mode Toggle
=============================
Definition: "Extended keys" are function keys, Alt keys, cursor
keys, etc. In other words, keys that do not generate ASCII
characters.
In Doorway Mode all extended keys will send their key codes to
the remote (instead of activating {COMMO} functions). Thus
Doorway Mode can be used to operate most application software on
the remote system when used with a host program such as Marshall
Dudley's Doorway. In addition some BBS full-screen editors use
Doorway Mode.
{COMMO} (tm) User Guide and Reference 54
TIPS on using Doorway Mode:
> The Alt-= key is necessarily reserved for exiting Doorway
Mode and thus cannot be sent to the remote. Be sure to
configure remote applications accordingly.
> The display should be set to the number of lines expected by
the host program. Usually this is 25 lines of text. If
your display is not in the proper mode, the results will be
unpredictable.
> The Status Line is normally suppressed in Doorway Mode, but
may be turned on by using the "S" switch in a macro:
{:al=} {doorway-s} {}
The "s" switch is ignored when exiting Doorway Mode and the
Status Line will be restored to its previous state.
Remember that when the Status Line is on, there is one less
usable line on the Terminal Screen.
> If it is necessary to clear the screen or to reset the
terminal emulation mode parameters when starting Doorway
Mode, use a macro. For example:
{:al=} {clear} {parms ,,,a} {doorway} {}
This macro will execute when entering or exiting Doorway
Mode (Alt-= must be used to exit, but any key may be
assigned to enter Doorway Mode).
> For most applications you will want Terminal-Type set to
ANSI-BBS. It's a good idea to enter Doorway Mode before
starting the host program. The host may send commands to
initialize the terminal.
> If Software Flow Control is enabled, the ASCII character
values 17 and 19 (XON and XOFF) will not display. If these
characters are needed, Software Flow Control must be turned
off.
=============================
[F1] How to Use Online Help
=============================
A summary of {COMMO}'s operations is available by pressing F1.
The Online Help support file, COMMO.HLP, must be in the {COMMO}
home directory or you will get an error message.
This message will also be issued if there is not enough memory to
load the Online Help file. Note that the file is retained in
{COMMO} (tm) User Guide and Reference 55
memory until {COMMO} requires memory for some other program
function. It will automatically be re-read when necessary.
Once the Help window is entered you will see the Help control
keys listed at the bottom of the screen. At this point you may
obtain more detailed information about using Online Help by
typing "H".
Modifying the Help File
=======================
When you are familiar with {COMMO} you may wish to reduce the
size of the Help File. Feel free to edit this file -- you can
even set up your own menu.
The search keys are in the bars separating the topics. The
character following the "T" in the middle of the bar may be
changed to create your own key. Keep in mind that the context-
related Help uses topic characters that cannot be changed.
The HELP macro function enables you to assign a key to go
directly to any topic in Online Help. For example:
{:cf6} {help J} {}
will go to topic "TJ" when Ctrl-F6 is pressed. Use any single
character as the key (do not include the "T").
If you change the Help File, remember to keep a backup copy of
the original.
{COMMO} (tm) User Guide and Reference 56
====================================
[PgUp]/[PgDn] Uploading/Downloading
====================================
When you press PgUp or PgDn you will be presented with a menu
from which you may select a file transfer protocol. Protocols
provide the ability to transfer (send and receive) any type of
data using error detection and correction techniques.
The PgUp and PgDn menus are implemented using {COMMO}'s powerful
Macro Processor which enables you to execute internal and
external protocols easily and seamlessly. You may alter these
macros to suit your individual needs.
Internal Protocols
==================
{COMMO} provides a number of variations on the Xmodem and Ymodem
protocols which afford you varying degrees of convenience, speed
and security.
Xmodem is the most basic protocol, sending data one block at a
time and waiting for a response to each block. If the block was
received with errors, the receiver requests retransmission. A
filename must be supplied at both ends of the transfer (they need
not be the same).
Ymodem adds the capability of batch (multi-file) transfers. It
also sends the name and size of each file just prior to
transmission of the file (the receiver does not supply any
filenames).
NOTE: If an incoming filename matches an existing filename in
the target directory, the batch transfer will be cancelled. You
can force overwriting of like-named files by adding the "Y"
switch to the Ymodem macros.
There are a number of variations which apply to both Xmodem and
Ymodem. You should choose the best variations depending upon
which protocols are offered by the remote system you are calling
(and whether or not you have an error-correcting modem).
CRC This is a very reliable block-check method and
should be used whenever possible.
Csum This block-check method is not as reliable and
should not be used unless there is no other
option.
1k byte block size The larger block size is much more
efficient and is preferred unless
{COMMO} (tm) User Guide and Reference 57
noisy lines are causing a lot of
block retransmissions.
128 byte block size The small block size should be used
only when there is no other option
or on noisy lines.
G The "G" method eliminates the receiver's response
to each block and is much faster. It still
performs error checking, but not error recovery.
Therefore it should only be used with an error-
correcting modem or on a direct connection between
computers.
When an error is encountered, the transfer will be
cancelled. Partial files will be kept. The "G"
method always uses CRC and 1k blocks.
Software (XON/XOFF) Flow Control may be required
by some remote systems and/or public networks. If
you get frequent errors when using the "G" method,
make sure Software Flow Control is on.
IMPORTANT: The macros that support the internal protocols are
set up for the most common situations. Many variations are
possible by modifying these macros. Please refer to descriptions
of the functions RXMOdem, RYMOdem, SXMOdem and SYMOdem in the
Macro Programming Guide for details.
External Protocols
==================
The Macro File is pre-configured with macros that execute various
popular protocol "drivers" (external protocol programs). You may
add macros for any other protocol drivers that you need. See the
Macro Programming Guide for details on writing macros.
Protocols such as Zmodem, HS/Link and MPt offer convenience,
speed and reliability. They include features such as:
1) Automatic startup.
2) Transmission of file names, sizes and dates.
3) Batch (multiple file) transfers.
4) Resuming partial (failed) transfers.
5) Bi-directional transfers (HS/Link only)
External protocol drivers can be obtained from BBS's and other
sources. You can download them using {COMMO}'s internal
protocols.
{COMMO} (tm) User Guide and Reference 58
To install DSZ, HS/Link, MPt or OZBEXT, just place the executable
file (e.g., DSZ.COM, HSLINK.EXE, MPT.EXE, OZBEXT.EXE) in a
directory which is specified in your DOS path statement. If you
don't have a path statement in your AUTOEXEC.BAT file, place the
executable in your C:\COMMO directory. In the latter case,
change to this directory before you start {COMMO}.
Each of the protocol driver programs has additional features that
may be useful to you. Refer to the program's documentation for
more information.
Using DSZ or GSZ
================
NOTE: DSZ/GSZ are Shareware programs from Omen Technology. Like
{COMMO}, they must be registered for continued use (be aware that
some features are not enabled in the unregistered versions). DSZ
may almost always be found where you obtained {COMMO} and is
usually archived as DSZmmdd.ZIP (mmdd is a release date).
DSZ will transfer files using the popular Zmodem protocol.
The executable file to install is DSZ.COM.
GSZ is functionally equivalent to DSZ. In addition GSZ provides
an attractive graphic display of the file transfer in progress.
To use GSZ you need only change one item in the Setup File:
{set dszprog,GSZ.EXE}
The executable file to install is GSZ.EXE.
Using HS/Link
=============
HS/Link is a Shareware program that offers very fast file
transfers. The HS/Link protocol has all of the features of
Zmodem. In addition, it has bi-directional capability for
uploading and downloading simultaneously with a full-duplex modem
(make sure the remote system allows this feature before
attempting it).
When you select a download with HS/Link (or if it is started
automatically, see "Auto Receive"), you will be asked to enter a
"Filename to Upload" as well. Just press Enter for download
only.
The executable file to install is HSLINK.EXE.
{COMMO} (tm) User Guide and Reference 59
Using MPt
=========
MPt is a Shareware program that transfers files using the MPt
protocol (similar to Zmodem, but not compatible). It offers an
excellent graphic display during file transfers.
The executable file to install is MPT.EXE.
Using OZBEXT
============
OZBEXT is a file transfer program for CompuServe users (download
it from CIS in the IBMCOM forum under Protocols -- it is free for
personal use). This protocol offers much better network
throughput than Xmodem.
When you see the protocol selection menu on CompuServe, always
select the "B" or "B+" protocol (NOT "Quick B").
The executable file to install is OZBEXT.EXE.
{COMMO} Auto Receive
====================
This feature will automatically start a macro when a specified
string is received from the serial port and may be used for
starting downloads.
Up to 8 strings and respective macro labels may be defined in the
"Terminal and Modem" section of the Setup File. These are
preconfigured for the Zmodem, HS/Link and MPt protocol
"signature" strings, but you may change them or add new ones as
desired.
As an example, suppose one of the Auto Receive strings in your
Setup File is:
{pzbr,^XB00} Zmodem Auto Receive
This means that when the string "^XB00" is received, the macro at
label "pzbr" will be started. This string is the Zmodem
"signature" string and is sent repeatedly by the sender until the
receiver is ready to receive files.
In your Macro File you would have the corresponding macro:
Z BATCH {:pzbr} {exec %dszprog port %_por rz -mr %dldir} {}
{COMMO} (tm) User Guide and Reference 60
{COMMO} will execute the macro as soon as the signature string is
received (be patient, a BBS may take several seconds to load and
execute its own protocol program).
IMPORTANT! If you have not properly installed the protocol
program, the message "Bad command or file name" will be
periodically displayed by DOS. If this happens type Ctrl-X
repeatedly until the sender cancels the transfer.
TIPS on using Auto Receive:
> If the macro called by Auto Receive EXECutes a DOS command,
you may want to use EXECute Preview Mode for preliminary
testing. This will allow you to view the command before
execution and to see the results afterwards. Preview Mode
may be toggled on/off using the Alt-T key command.
> Auto Receive will not trigger on characters that are
displayed to the screen while a macro is running. If you
need to download within a macro, you should do a LOOKfor to
wait for the signature string, then CALL the download macro
(make sure you have a RETUrn at the end).
> Using short strings, such as "^E" for CIS B protocol may
result in unexpected triggering of the macro. This is
because other systems may send the same string for a
different purpose (to display a "club" symbol, for example).
Thus it may be necessary to disable a string at times or to
discontinue its use.
> A string may be disabled by removing the corresponding macro
label in the Macro File. This may degrade performance since
the Macro File must be scanned each time a "hit" occurs.
The best way is to remove the Setup File item.
> Auto Receive can be set up for protocols that do not send
signature strings, such as Xmodem, Ymodem, Ymodem-G, etc.
Use the prompt that the BBS sends just prior to the file
transfer. For example, "Start your Ymodem-G now." Note
that different systems may use different prompts.
> An Auto Receive string can be used to automatically continue
Multi Number Dialing after you disconnect (in manual mode).
Set one of the strings to:
{aut=nocar,^jNO CARRIER^m}
Then enter a macro in the Macro File:
{:nocar} {dial ,} {}
{COMMO} (tm) User Guide and Reference 61
When your modem sends "NO CARRIER" the macro will start.
Multi Number Dialing will resume if any more systems are
marked in the Dialing Directory.
See also "TIPS on creating LOOKfor strings" in the Macro
Programming Guide, under LOOKfor.
{COMMO} (tm) User Guide and Reference 62
========== =====================
Appendix A Setting Up Your Modem
========== =====================
Please be aware that there are many different modems in use and
that it is of the utmost importance that you configure your modem
to work correctly with {COMMO}. A few tips will be given here,
but they are no substitute for the detailed installation
instructions in your modem manual!
When {COMMO} is started, a command string called the Modem
Initialization String will be sent to the modem. You must make
certain that you have the correct string in your Setup File.
This string will perform part or all of the modem setup depending
on the type of modem. Examples will be given for the most common
types.
If your modem is external to your computer, be sure you have
followed the installation instructions carefully and that the
cable is connected to the computer's serial port. It is wise to
turn off power to the computer and the modem when connecting or
disconnecting any cables.
Also check the Default Dialing Parameters in the Setup File.
Make sure the serial port number is correct.
_______________
1200 bps Modems
_______________
Most 1200 bps modems have switches on them which must be set to
provide the proper interaction with your computer and with
{COMMO}. Consult your modem manual concerning these switches and
pay particular attention to the following:
1) Enable command recognition. Allows the modem to
recognize commands (dial, set registers, etc.). Must
be in the "enable" position or modem will be unusable.
2) Send result codes in English. This switch should be
set so that the modem will send verbal responses to
commands instead of numbers. This is usually
controlled by a command also (such as ATV1).
3) Respond to DTR (data terminal ready). This should NOT
be in the "ignore" or "on all the time" position. This
switch allows the computer to signal the modem to hang
up.
{COMMO} (tm) User Guide and Reference 63
4) Respond to carrier detect or "allow true carrier."
This should NOT be set to the "on all the time"
position.
Here is an example Modem Initialization String which will set up
a 1200 bps modem and override the switch settings (if possible):
{~AT S0=0 S7=60 E0 Q0 V1 X1 |}
The most important command to check is the "X" command, since its
function varies the most from modem to modem. The "X" command
determines which responses the modem will generate during dialing
(e.g. CONNECT, BUSY, etc.). It may also activate an additional
modem feature such as automatic redialing which will interfere
with {COMMO}'s own redialing procedure.
Your modem manual gives a description for each level of the "X"
command: X0, X1, X2, ... , etc. Generally you want to use the
highest level that does not activate undesirable features. If
you will be using {COMMO}'s AutoBaud feature you will need the
extended connect responses such as CONNECT 1200. Also the BUSY
response should be provided if possible. In any case you should
modify the Modem Initialization String to work with your
particular modem.
____________________________
2400, 9600, 14400 bps Modems
____________________________
Most of the information in the section above on 1200 bps modems
applies to higher speed modems as well. However, these modems
usually have software command settings to replace the switches.
These commands may be given every time you start {COMMO} or they
may be permanently remembered by modems which have "non-volatile"
memory.
It will be assumed here that the commands are given every time
you start {COMMO}. If you wish to place the settings in non-
volatile memory, consult your modem manual for instructions
(usually the "&W" command). Here is an example Modem
Initialization String for most higher speed modems:
{~AT S0=0 S7=180 E0 Q0 V1 X4 &C1 &D2 |}
See the comments above concerning the "X" command since they
apply to these modems as well.
IMPORTANT! Many modems that operate at 2400 bps and above
require additional commands to control features such as error
correction and data compression. Consult the modem manual for
details. Insert these commands into the above string.
{COMMO} (tm) User Guide and Reference 64
If you need to change the Modem Initialization String, edit the
Setup File with the Alt-G key command, then restart the program
to send the string to the modem.
Answering a call from another computer
======================================
The following information assumes that you are not using the
MOSTHOST or other {COMMO} host mode macro. If you use a host
macro, follow the instructions for installing and operating the
host.
There are two easy ways to use {COMMO} to answer when a friend or
associate calls you by computer. For best results, make sure you
are in Chat Mode. Press Alt-- (Alt minus) to enter/exit Chat
Mode.
1) While in Chat Mode or in the Terminal Screen, wait for the
phone to ring, then type "ATA<cr>" (upper case is not
necessary with many modems). Your modem should answer
immediately (go off hook) and begin handshaking with the
remote modem.
When you see the CONNECT message you are ready to
communicate. At this point you can type, send data with
macro keys, send a text file with ASCII Upload or send any
file with an internal or external protocol.
You can use a macro key to send the answer command to the
modem. For example, to send it by pressing F5, place the
following macro in your Macro File:
{:nf5} {send ATA|} {} Answer the phone!
When the telephone rings, press F5.
2) The other method involves setting your modem into Auto
Answer Mode. This method is useful in some situations, but
will cause the modem to answer whenever the phone rings.
This can be undesirable if you get a voice call.
To set Auto Answer just type "ATS0=1<cr>" (or make "S0=1"
part of your Modem Initialization String). This will tell
the modem to answer on ring "1" (adjust to as many rings as
desired). To turn off Auto Answer type "ATS0=0<cr>". These
may also be sent with macro keys.
{COMMO} (tm) User Guide and Reference 65
Connecting two computers (null modem cable)
===========================================
{COMMO} may be used on a "direct connection" between two
computers or between a computer and another serial device.
Connect the two serial ports with a "null modem" cable. Then
start the program on each computer, having selected the
appropriate Default Dialing Parameters in the Setup File(s).
The null modem cable should be designed so that the transmit line
on each end connects to the receive line on the other end. No
other signals are needed, but none of the RS-232C signals should
be left "floating." They should be tied high or low (or at least
grounded).
You may have to disable the Usage Log in the Setup File by
setting the path to null: {set _uselog}. The log is triggered by
changes in Carrier Detect and will slow things down if CD is
unpredictable.
{COMMO} (tm) User Guide and Reference 66
========== =========================
Appendix B {COMMO} and Multi-Tasking
========== =========================
________
DESQview
________
Special care has been taken to ensure that {COMMO} is compatible
with Quarterdeck Office Systems' DESQview(tm), a multi-tasking
supervisor. DESQview allows more than one program to execute at
the same time.
A sample Program Information File (CO-PIF.DVP) has been included
in the {COMMO} package for your convenience. This file is
installed as follows:
1) Copy the file to your DESQview directory (usually
C:\DV).
2) Run "Add a Program" (AP) from the "Open Window" menu.
3) Select "Other." Specify the DESQview directory as the
"Path."
4) Mark the {COMMO} entry, press Enter. "CO" should now
appear on your "Open Window" menu.
The CO-PIF.DVP file has been set up to define a 150k memory
window. The amount of memory actually required is affected by
the size of your COMMO.FON file, your COMMO.MAC file and the size
of your Scrollback buffer.
Test the size of the window by running DSZ, HS/Link, LIST, etc.,
from the Macro Processor or Shell to DOS. Be sure to test the
execution of external programs with a "wait" at the end (or use
EXECute Preview Mode) so that you can see any error messages (see
EXEC function).
CO-PIF.DVP can be changed with the "Change a Program" (CP)
command on the "Open Window" menu. You may also want to change
the directory information or other parameters.
TIPS on using {COMMO} with DESQview:
> For best performance the foreground and background "tick
counts" should both be 10 or less.
> If you switch to another task, do not attempt to access any
files which may be in use in the {COMMO} window. Examples
are the Capture File, the Screen Image File and files that
may be currently involved in a file transfer (upload or
download). The result may be a loss of part or all of the
data in the file. This is a general DESQview no-no. You
{COMMO} (tm) User Guide and Reference 67
may freely access these files in the Shell to DOS or Macro
Processor features of {COMMO} (within the same window).
> If the memory allocated to the window is too small, {COMMO}
will not be able to load the Online Help file. Since the
Online Help file is loaded only when requested, you needn't
be concerned if you don't intend to use it.
> The video display may seem less smooth in DESQview. This is
a result of {COMMO} using the fastest possible display
method, and is quite normal. This effect can be reduced by
specifying fewer clock ticks for foreground and background
(4 and 4 seems to work well).
> The Snow Checking option should not be used when {COMMO} is
run under DESQview. If you see "snow" type interference in
your CGA display, use DESQview's own snow checking (request
"synchronized access" in the Setup program).
________
OmniView
________
Display bleed-through may be avoided by telling OmniView that
{COMMO} "Supports TopView Functions" or by using the "/T" switch
on the OmniView command line.
See "TIPS on using {COMMO} with DESQview" in the previous
section, most of which apply to OmniView as well.
_________
DoubleDOS
_________
Color displays require the "DISPLAY = TEXT" option in
DDCONFIG.SYS. Run {COMMO} in the bottom partition -- about 130k
to 150k should suffice if you plan to use Online Help and/or
external protocols. Increase this size in proportion to the size
of your Scrollback buffer.
Some non-multi-tasker-aware, direct-screen-writing programs
executed with the Macro Processor or Shell to DOS may not display
properly. If this happens you may have to run {COMMO} in the top
partition.
Use the supplied DBLDANSI.SYS driver in place of your ANSI.SYS
for running other programs in this partition ({COMMO} doesn't use
it).
{COMMO} (tm) User Guide and Reference 68
With this setup you may run any non-graphics program in the top
partition, including direct screen writers.
Monochrome displays require the REFRESH option in DDCONFIG.SYS.
Refer to the DoubleDOS user's manual for information on this.
See "TIPS on using {COMMO} with DESQview" in the previous
section, most of which apply to DoubleDOS as well.
{COMMO} (tm) User Guide and Reference 69
========== ============
Appendix C Flow Control
========== ============
Flow Control is a signalling system used by communications
devices to prevent data from being transmitted faster than it can
be processed by the receiving system. This is especially
important when data is transferred at high speeds.
Flow Control is initialized in the Setup File and is used by
{COMMO} for both sending and receiving. You may specify Software
Flow Control, Hardware Flow Control or both. Changes may be made
at any time using the "[Alt-T] Set Toggles" key command (or with
the HFLOw and SFLOw macro functions) and will be effective
immediately.
Software Flow Control uses a control character called XOFF (or
^S) to signal the remote to pause. XON (^Q) is the signal to
"resume transmission." This is normally used only for ASCII
data, since these characters may appear randomly within binary
data. An XOFF pause will automatically be released in 20 seconds
if no XON is received. It will also be released if you type a
character in the Terminal Screen.
Hardware Flow Control uses the RTS/CTS lines in your RS-232C
(serial port) cable to signal pause/resume without interfering
with the data. It should only be used when you are connected to
a device which also recognizes RTS/CTS Flow Control (such as a
high-speed modem or another computer connected with a null modem
cable). A CTS-off (send) pause will not be released
automatically. Turn off Hardware Flow Control (using Alt-T) if
you need to override it.
TIPS on using Flow Control:
> Your modem must be properly initialized to utilize flow
control (consult the manual for details).
> Since Software Flow Control uses the XOFF (ASCII 19) and XON
(ASCII 17) characters, these will not display on the screen.
If it is necessary to display them, Software Flow Control
must be turned off.
> It is especially important to use Flow Control when the
Print Log is on, since data is usually received faster than
it can be printed. If you type a character to the remote
during a flow control pause, the remote may begin sending
again (some systems resume on any character, not just XON).
You may have to turn off the Print Log if this happens.
{COMMO} (tm) User Guide and Reference 70
========== ==============================
Appendix D ASCII Character Representation
========== ==============================
Sometimes it is necessary to enter control characters and other
special characters in the {COMMO} support files or as input to
{COMMO} key commands.
For example, a carriage return (typed with the Enter key) is used
to terminate your typed input. Therefore a carriage return must
be represented by some other character (or characters) in order
to be used as data.
The process of converting represented characters to actual
characters is done in many places in {COMMO}. Some examples are:
1) Strings sent to the modem. These include the Modem
Initialization String, dialing prefixes and suffixes,
telephone numbers, the Password String, strings defined
in macro functions such as SEND, SETLook (prompt
response), VTCUr and VTPAd.
2) Strings defined in other macro functions such as
LOOKfor, GOLOok, EXECute and DISPlay.
All control characters may be represented using the (^) caret
symbol (it is the shift character above the top row "6"). If you
need to send a caret, use two carets (^^).
For convenience, two "normal" characters have special meanings in
certain contexts:
The vertical bar (|) may be used to represent a carriage
return. If you need a vertical bar, use (^|). In the
EXECute function the vertical bar is never converted (it is
used by DOS as the "pipe" symbol).
The tilde (~) forces a one-half second delay when it is
encountered in a string that is being sent to the modem. If
you need a tilde, use (^~). This is effective only in
strings that are sent to the modem. In other strings the
tilde is used as a tilde.
Finally, curly braces { } are very special characters and may not
be used as data in the support files. They are represented as
follows, using parentheses:
Left curly brace ^(
Right curly brace ^)
Here is a list of some of the most common control characters and
how to represent them. Upper or lower case may be used.
{COMMO} (tm) User Guide and Reference 71
Carriage return ^M or |
Linefeed ^J
Formfeed ^L
Escape ^[
Bell ^G
XOFF ^S
XON ^Q
End of file ^Z
Here is a table of all ASCII control characters. Values are
decimal:
0 ... ^@ 7 ... ^G 14 ... ^N 21 ... ^U
1 ... ^A 8 ... ^H 15 ... ^O 22 ... ^V
2 ... ^B 9 ... ^I 16 ... ^P 23 ... ^W
3 ... ^C 10 ... ^J 17 ... ^Q 24 ... ^X
4 ... ^D 11 ... ^K 18 ... ^R 25 ... ^Y
5 ... ^E 12 ... ^L 19 ... ^S 26 ... ^Z
6 ... ^F 13 ... ^M 20 ... ^T 27 ... ^[
ASCII 28 to 31 and those in the extended graphic character set
(128 to 255), may be typed using the ALT-NUMERIC-KEYPAD method as
follows:
1. Hold down the Alt key (and keep it down).
2. Enter the ASCII code in decimal using the numeric
keypad keys (1, 2 or 3 digits are ok).
3. Release the Alt key.
{COMMO} (tm) User Guide and Reference 72
========== ==================
Appendix E Terminal Emulation
========== ==================
Terminal Emulation Type is indicated on the Status Line (in the
Terminal Parameters string). Available types are:
A ANSI-BBS Used on bulletin boards and other systems.
V VT102 Used on minicomputers and mainframes.
T TTY Supports only the basic control characters.
H TTY(40) HP 95LX version only. Wraps at 40 columns.
The Terminal Emulation Type (as defined by the Default Dialing
Parameter string) will be set whenever a system is dialed. It
may be changed temporarily using the Alt-P key command or the
PARMs macro function. The Default Dialing Parameters may be
changed using the Alt-P key command or the DPARms macro function.
TIPS on using terminal emulation:
> Whenever a change is made, a reset of mode parameters will
be performed. It is therefore important that the change be
made BEFORE (or at the time of) connecting with a host (mode
settings may be transmitted by the host).
> If some screens do not look right when VT102 emulation is
used, you may need to turn LINEWRAP off (it defaults to on).
> Linewrap may be turned on/off locally using the DISPlay
macro function. Place one of the following in your login
macro (or assign one of them to a key and execute it
manually):
{display ,,,^[[?7h} linewrap ON
{display ,,,^[[?7l} linewrap OFF
> If colors do not always look right, it may be necessary to
set the Terminal Screen colors in the Setup File to {07}.
See the note under "Colors" in the section "[Alt-G] Setup
File."
> Using the "H" emulation type with the HP 95LX version will
cause terminal lines to wrap at 40 columns. This is useful
when calling systems that do not support 40 column screens.
Note that the basic emulation in this mode is TTY and that
{COMMO} will not perform word wrapping (i.e., words may be
split).
{COMMO} (tm) User Guide and Reference 73
Printer Support
===============
{COMMO} supports the ANSI/VT102 printer functions, controlled by
the remote system.
The "Printer ON/OFF" function will turn {COMMO}'s Print Log
ON/OFF.
The "Dedicated Printing" function will send all input from
the serial port directly to the printer. This allows for
"transparent" transmission of printer data, including
control codes.
The "Print Screen" function will print the entire current
screen.
The printer should be on and ready to print when these functions
are used. When "Dedicated Printing" is active no characters will
be displayed on the screen.
ANSI-BBS Keyboard Support
=========================
The sample Macro File is set up so you can use the PC keypad keys
(arrow keys, PgUp, PgDn, etc.) with most BBS full-screen editors.
VT102 Keyboard Simulation
=========================
Two keyboard files, VT102-1.MAC and VT102-2.MAC, provide support
to simulate the VT102 keyboard. You may merge one of these into
COMMO.MAC if you intend to use VT102 all the time (replace the
ANSI-BBS keys). Be sure that you have no conflicting key-labels
(remember that {COMMO} will use the first occurrence of a key-
label).
Or you can use the MACLoad function in your login macro to load
the VT102 file automatically when you connect to the host. Use
the "R" switch to reload COMMO.MAC at disconnect. For example:
{macload-r vt102-1.mac}
Both files support the following PC keypad functions (^ indicates
the Ctrl key):
Four cursor (arrow) keys
Home - Home cursor
^Home - Insert line
PgUp - Page up
{COMMO} (tm) User Guide and Reference 74
^PgUp - Delete line
PgDn - Page down
^PgDn - Clear screen
End - End of line
Ins - Insert mode
Del - Delete
^bs - Ctrl backspace (delete)
VT102 numeric keypad keys are auto-switched by the host system
between numeric mode and application mode.
The four cursor keys are auto-switched between cursor mode and
application mode.
These files may be modified to create any keyboard support you
desire (see description of VTCUr and VTPAd functions in the
section "{COMMO} Macro Functions."
___________
VT102-1.MAC
___________
This file contains keyboard assignments that work best with the
enhanced keyboard (because of the separate cursor keys, etc.).
With Numlock ON the ten digits and period will simulate their
equivalent VT102 functions. In addition:
F1 to F4 simulate PF1 to PF4
Grey * is used for comma
Grey - is used for dash
Grey + is used for Enter
___________
VT102-2.MAC
___________
This file contains keyboard assignments that work best with the
83-key keyboard (because of the location of the function keys on
the left side).
The following diagram shows how the ten function keys (Fn) and
ten shifted function keys (SFn) relate to the VT102 keypad keys:
{COMMO} (tm) User Guide and Reference 75
F1= PF1 F2= PF2 SF1= PF3 SF2= PF4
F3= 7 F4= 8 SF3= 9 SF4= -
F5= 4 F6= 5 SF5= 6 SF6= ,
F7= 1 F8= 2 SF7= 3 SF8= Enter
F9= 0 F10= 0 SF9= . SF10= Enter
{COMMO} (tm) User Guide and Reference 76
========== ================
Appendix F Usage Log Format
========== ================
The {On} and {Off} entries are self-explanatory.
Here is an example of a file transfer entry:
{SX} 0 c:\ul\nlbbs.rep 1664 CRC 1024 G 0 errors
{SX} Send with Xmodem. {RX} is receive.
{SY} and {RY} are used for Ymodem.
0 Transfer successful (0) or failed (1).
c:\ul\nlbbs.rep Pathname of file.
1664 Bytes transferred.
CRC Block check method, CRC or csum.
1024 Largest block size used.
G Streaming method was used.
0 errors Total number of errors (corrected if
transfer was successful).
{COMMO} (tm) User Guide and Reference 77
========== ==========================
Appendix G Error Message Explanations
========== ==========================
If you get an error message that you don't understand, check
below for additional information.
________________________________
Sorry, out of memory
Not enough memory for Scrollback
________________________________
These messages may occur at program startup. Check the
following:
1) {COMMO} cannot allocate its internal buffers. You must
make more memory available.
2) {COMMO} cannot load the Dialing Directory and/or Macro
File. Try reducing the size of either of these files.
Removing comments may help. Or make more memory
available.
3) {COMMO} cannot allocate the Scrollback Buffer. Reduce
its size or make more memory available.
_______________________________
Cannot locate command processor
_______________________________
This is an unusual condition. Type "SET" at the DOS prompt
and be sure there is a "COMSPEC=" in the list. If there is,
make sure that COMMAND.COM is in the path specified.
_______________________
Not enough memory
Program file not found
Unable to execute shell
_______________________
A problem was encountered during Shell to DOS or EXEC:
1) There may not be enough memory to execute the command
processor or external program you have specified.
2) The program file you specified in an EXECute function
using the "D" switch cannot be located. Make sure you
specify the full path and filename.
{COMMO} (tm) User Guide and Reference 78
3) Some other system error condition may exist. Make sure
that COMMAND.COM is still available in the "COMSPEC="
path.
___________________________
Hardware flow control pause
___________________________
Hardware Flow Control is in effect and the remote system (or
your modem) has requested a pause. Try waiting a few
seconds for the pause to clear; if that fails you may have
to turn off Hardware Flow Control (use Alt-T, Set Toggles).
_________________________________________
File space full! Delete unnecessary text
_________________________________________
{COMMO} allows about 65,000 bytes when editing any file (the
Dialing Directory and Macro File occupy a common file
space). This limit may be reached when editing any of the
files with the Internal Editor. If this happens you must
reduce the size of the file in question. Try removing
comment lines and any other extraneous information.
This message may also be the result of loading a resident
program (TSR) in the Shell to DOS or via the EXEC macro
function. Other causes involve a corruption of DOS
parameters and require rebooting.
____________________________
Swap Failure, exiting to DOS
____________________________
This message will appear if {COMMO} cannot be fully restored
when returning from a Swap to Disk. This can result from
one of these conditions:
1) Unable to read the Swap File (file not found or
file is unreadable).
2) Unable to allocate the necessary memory (a TSR may
have been loaded above {COMMO}'s kernel).
_____________________
Dial command too long
_____________________
The dial command is limited to 128 characters.
{COMMO} (tm) User Guide and Reference 79
________________________
Unable to open file
Unable to open Help File
File not found
Path not found
Too many files
________________________
Check the following:
1) Your "SET COMMO=" command in your AUTOEXEC.BAT file.
It may be specifying the wrong directory.
2) That the path exists where the file should be.
3) That the file itself exists (this won't be the problem
if the file is being created).
4) Too many files may be open. You may need to increase
your FILES= parameter in CONFIG.SYS.
5) The Online Help File must be less than 64K bytes in
size.
6) You cannot use an open Capture File for any other
purpose.
____________________________________
Capture File Closed, disk is full!
Information not saved, disk is full!
____________________________________
The Capture File and Screen Image File should be edited
regularly to ensure that they are not occupying too much
disk space.
- end -
The contents of all files in the {COMMO} archives are:
(C)Copyright 1989,1992 Fred P. Brucker All Rights Reserved
-----------------------------
{COMMO} Licensing Information
-----------------------------
If you intend to use {COMMO} on more than one computer at your
location (including workstations on a Local Area Network), you
will need a Multi-User Site License.
If you want to distribute {COMMO} in conjunction with any other
product, you will need to file an application for a Distribution
License (or call me at 707-573-1065).
Sample licenses and an application form are shown on the following
pages.
------------------------------
Sample Multi-User Site License
------------------------------
Fred P. Brucker
P.O. Box 9103
Santa Rosa, CA 95405
Voice: (707) 573-1065
This Agreement is entered into, by and between Fred P. Brucker, an
individual, P.O. Box 9103, Santa Rosa, CA 95405, U.S.A.
(hereinafter referred to as the LICENSOR), and [your company name
and address], a [state] corporation, (hereinafter referred to as
the LICENSEE). The {COMMO} Telecommunications Software program
will hereinafter be referred to as the SOFTWARE.
LICENSOR hereby grants LICENSEE a multi-user site License to use
the SOFTWARE on [number of copies licensed] computers and/or
workstations.
This License grants perpetual use of the SOFTWARE at your site (or
sites) and is non-transferable. You may copy the SOFTWARE only
for installation on the number of computers and/or workstations
specified in this agreement. You may not distribute or resell the
SOFTWARE in any form to any third party.
The LICENSOR warrants that he is sole owner of the SOFTWARE and
has full power and authority to grant this License herein without
consent of any other party.
LICENSOR HEREBY DISCLAIMS ALL WARRANTIES RELATING TO THIS
SOFTWARE, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE. LICENSOR WILL NOT BE LIABLE FOR ANY SPECIAL,
INCIDENTAL, CONSEQUENTIAL, INDIRECT OR SIMILAR DAMAGES DUE TO LOSS
OF DATA OR FOR ANY OTHER REASON. IN NO EVENT SHALL LICENSOR'S
LIABILITY FOR ANY DAMAGES EVER EXCEED THE PRICE PAID FOR THE
LICENSE TO USE THE SOFTWARE, REGARDLESS OF THE FORM OF THE CLAIM.
THE PERSON USING THE SOFTWARE BEARS ALL RISK AS TO THE QUALITY AND
PERFORMANCE OF THE SOFTWARE.
This Agreement shall be construed and enforced in accordance with
the laws of the STATE OF CALIFORNIA. Any action or proceeding
brought by either party against the other arising out of or
related to this Agreement shall be brought only in a STATE or
FEDERAL COURT of competent jurisdiction located in Sonoma county,
California. The parties hereby consent to in personam
jurisdiction of said courts.
This Agreement can only be modified by mutual written consent of
both parties.
Company ___________________________________________
Address ___________________________________________
City, State, Zip ___________________________________________
Country ___________________________________________
Authorized signature ___________________________________________
Title ___________________________________________
Licensor ___________________________________________
Fred P. Brucker, {COMMO} author
---------------------------
Sample Distribution License
---------------------------
Fred P. Brucker
P.O. Box 9103
Santa Rosa, CA 95405
Voice: (707) 573-1065
This Agreement is entered into, by and between Fred P. Brucker, an
individual, P.O. Box 9103, Santa Rosa, CA 95405, U.S.A.
(hereinafter referred to as the LICENSOR), and [your company name
and address], a [state] corporation, (hereinafter referred to as
the LICENSEE). The {COMMO} Telecommunications Software program
will hereinafter be referred to as the SOFTWARE.
This Contract allows LICENSEE to DISTRIBUTE the SOFTWARE developed
by LICENSOR with products sold by LICENSEE. This Perpetual
License of the SOFTWARE by LICENSOR to LICENSEE is NON-EXCLUSIVE
and NON-TRANSFERABLE. LICENSEE shall pay LICENSOR at the price-
per-copy rate indicated in the following schedule. Copies must be
purchased PRIOR to distribution. All prices are US dollars:
Copies 1 to 10 $_______
Copies 11 to 100 _______
Copies 101 to 500 _______
Copies 501 to 1000 _______
Copies 1001+ _______
The LICENSOR warrants that he is sole owner of the SOFTWARE and
has full power and authority to grant this License herein without
consent of any other party.
LICENSOR HEREBY DISCLAIMS ALL WARRANTIES RELATING TO THIS
SOFTWARE, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE. LICENSOR WILL NOT BE LIABLE FOR ANY SPECIAL,
INCIDENTAL, CONSEQUENTIAL, INDIRECT OR SIMILAR DAMAGES DUE TO LOSS
OF DATA OR FOR ANY OTHER REASON. IN NO EVENT SHALL LICENSOR'S
LIABILITY FOR ANY DAMAGES EVER EXCEED THE PRICE PAID FOR THE
LICENSE TO USE THE SOFTWARE, REGARDLESS OF THE FORM OF THE CLAIM.
THE PERSON USING THE SOFTWARE BEARS ALL RISK AS TO THE QUALITY AND
PERFORMANCE OF THE SOFTWARE.
This Agreement shall be construed and enforced in accordance with
the laws of the STATE OF CALIFORNIA. Any action or proceeding
brought by either party against the other arising out of or
related to this Agreement shall be brought only in a STATE or
FEDERAL COURT of competent jurisdiction located in Sonoma county,
California. The parties hereby consent to in personam
jurisdiction of said courts.
This Agreement can only be modified by mutual written consent of
both parties.
Company ___________________________________________
Address ___________________________________________
City, State, Zip ___________________________________________
Country ___________________________________________
Authorized signature _______________________________Date________
Title ___________________________________________
Licensor _______________________________Date________
Fred P. Brucker, {COMMO} author/owner
----------------------------------------
{COMMO} Distribution License Application
----------------------------------------
Please answer all questions as accurately as possible. If
necessary, give estimates for projected quantities.
Name (title) ________________________________________
(Company name) ________________________________________
Address ________________________________________
City, State, Zip ________________________________________
Country ____________________________
Telephone ____________________________
State or country of incorporation: ______________________
Authorized signature ____________________________________
Name of product with which {COMMO} will be distributed
________________________________________________
Quantity of distribution: Estimated annual sales _______________
Number of years _______________
Unit price of product _______________
Please describe your product. Include the following information:
(1) purpose and operation
(2) how {COMMO} will be used
(3) description of targeted users
(4) what makes it unique in its marketplace
(Use additional sheets of paper)
____________
{COMMO} (tm)
____________
"A New Standard in Telecommunications"
by
Fred P. Brucker
Post Office Box 9103
Santa Rosa, CA 95405
Macro Programming Guide
Release 5.3
June 20, 1992
(C)Copyright 1989,1992 Fred P. Brucker All Rights Reserved
The {COMMO} program and associated on-disk documentation are the
property of the author and may not be sold without permission.
The Shareware version may be distributed, unaltered and as a
unit, via Electronic Bulletin Board Systems.
SHAREWARE DISTRIBUTORS and clubs, please see the file VENDOR.DOC
for distribution guidelines.
THE AUTHOR DOES NOT GUARANTEE THIS PROGRAM TO BE FREE FROM
DEFECTS AND MAY NOT BE HELD RESPONSIBLE FOR LOSS CAUSED BY SUCH.
YOUR USE OF THIS PROGRAM CONSTITUTES YOUR ACCEPTANCE OF THESE
TERMS.
DESQview is a trademark of Quarterdeck Office Systems
OmniView is a trademark of Sunny Hill Software
DoubleDOS is a trademark of SoftLogic Solutions, Inc.
HS/Link is a product of Samuel H. Smith
DSZ and GSZ are products of Omen Technology Inc.
MPt is a product of Matthew Thomas
LIST is a product of Vernon D. Buerg
The IBM PC is a product of IBM Corp.
MS-DOS is a trademark of MicroSoft Corp.
(C)Copyright 1989,1992 Fred P. Brucker All Rights Reserved
================================
{COMMO} Registration Information
================================
{COMMO} is a "SHAREWARE" product. You are entitled to evaluate it for
30 days. If it suits your needs and you would like to continue using
it, then you must pay the licensing fee. Please use the REGISTRATION
FORM on the next page.
When you REGISTER you will be licensed to use all future releases of
{COMMO}. You will never have to pay an "update" charge. You will also
receive instructions for removing the Shareware Notice at program
startup.
My (voice) TELEPHONE NUMBER for inquiries and support for registered
users is (707) 573-1065. Please restrict calls to business hours
(Mon-Fri, 9am-5pm, Pacific time).
Registered users will also receive priority support on Bulletin Boards,
CompuServe and GEnie (see READ.ME).
Call or write for pricing information on MULTI-USER (site) and
DISTRIBUTION licenses. Discounts are given on quantities greater than
10. See the file LICENSE.DOC for details.
All prices shown are US DOLLARS. Please remit US FUNDS on US BANK only.
NET 30 TERMS will be accepted on purchase orders totalling $100.00 or
more.
PAYMENT OPTIONS:
1) Payment by CHECK or MONEY ORDER: make payable to FRED P. BRUCKER.
Mail the Registration Form and payment to the address below.
2) Payment by CREDIT CARD: fill in the credit card information at the
bottom of the Registration Form. The following cards are accepted:
VISA, MASTERCARD, CARTE BLANCHE, DINERS CLUB, DISCOVER, JCB.
You can mail the Registration Form to the address below or:
Order by phone: (707) 573-1065, Mon-Fri, 9am-5pm, Pacific time.
Have your credit card ready when you call.
Order by E-mail on CompuServe (71021,356) or GEnie (F.BRUCKER1).
Upload the completed Registration Form as a message.
The company name on the charge will be "New Standard Software."
SEND TO: Fred P. Brucker
Post Office Box 9103
Santa Rosa, CA 95405
{COMMO} 5.3 SINGLE USER REGISTRATION FORM
Name _______________________________________________________________
Company name (if company address) ____________________________________
Address _______________________________________________________________
_______________________________________________________________
_______________________________________________________________
{COMMO} single user license, SPECIAL PACKAGE .... $50.00** $ __________
Includes: (1) Printed, bound, indexed manual.
(2) Latest release on diskette plus utilities
(COMMOPNS, MOSTHOST, CMC, etc., see READ.ME).
{COMMO} single user license, with DISKETTE ...... $40.00 $ __________
{COMMO} single user LICENSE alone ............... $35.00 $ __________
Registered users may order PRINTED MANUAL only .. $20.00** $ __________
Limit of one per license. Your serial no. _________
Registered users may order DISKETTE only ......... $5.00 $ __________
Limit of one per license. Your serial no. _________
ALL DISK ORDERS - Choose format: 5.25" ____ 3.5" ____
Next release (when available) ____
_or_ Current (latest) release ____
Subtotal $ __________
California residents add sales tax, 7.5% $ __________
(No tax when ordering license alone)
** SPECIAL PACKAGE OR MANUAL ORDER, ADD SHIPPING:
USA/Canada/Mexico ......... $3.00
All other countries ...... $10.00 $ __________
Total $ __________
Payment method: Check__ Money order__ Visa__ MasterCard__ PO__
Carte Blanche__ Diners Club__ Discover__ JCB__
CREDIT CARD INFORMATION:
Card No. ________ ________ ________ ________ Expires ____/____
Cardholder signature _____________________________________________
Cardholder name __________________________________________________
Daytime telephone (_____) _____ _______
{COMMO} (tm) Macro Programming Guide 5
========
Contents
========
Programming {COMMO} Macros . . . . . . . . . . . . . . . . . 8
Overview . . . . . . . . . . . . . . . . . . . . . . . . 8
Macro Structure . . . . . . . . . . . . . . . . . . . . 8
Macro Functions . . . . . . . . . . . . . . . . . . . . 9
Macro Labels . . . . . . . . . . . . . . . . . . . . . . 11
Macro Variables . . . . . . . . . . . . . . . . . . . . 12
How to Use Variables . . . . . . . . . . . . . . . . . . 13
Reserved Variables . . . . . . . . . . . . . . . . . . . 14
Executing Macros . . . . . . . . . . . . . . . . . . . . 15
Additional Macro Execution Rules . . . . . . . . . . . . 15
Cancelling a Macro . . . . . . . . . . . . . . . . . . . 16
A Macro Example in Detail . . . . . . . . . . . . . . . 16
Description of Functions (Alphabetical) . . . . . . . . . . . 20
ABAUd . . . . . . . . . . . . . . . . . . . . . . . . . 20
ALARm . . . . . . . . . . . . . . . . . . . . . . . . . 20
ASCIiup . . . . . . . . . . . . . . . . . . . . . . . . 21
AUTO . . . . . . . . . . . . . . . . . . . . . . . . . . 22
BEEP . . . . . . . . . . . . . . . . . . . . . . . . . . 23
BREAk . . . . . . . . . . . . . . . . . . . . . . . . . 23
CALL . . . . . . . . . . . . . . . . . . . . . . . . . . 23
CALOok . . . . . . . . . . . . . . . . . . . . . . . . . 24
CAPMode . . . . . . . . . . . . . . . . . . . . . . . . 24
CAPTure . . . . . . . . . . . . . . . . . . . . . . . . 25
CHATmode . . . . . . . . . . . . . . . . . . . . . . . . 25
CLEAr . . . . . . . . . . . . . . . . . . . . . . . . . 25
COMPare . . . . . . . . . . . . . . . . . . . . . . . . 26
CURSor . . . . . . . . . . . . . . . . . . . . . . . . . 27
DECRement . . . . . . . . . . . . . . . . . . . . . . . 27
DIAL . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Marking Numbers for Dialing . . . . . . . . . . . . 29
Automatic Resumption of Dialing . . . . . . . . . . 29
Testing Success and Failure Results . . . . . . . . 29
Handling Incoming Calls . . . . . . . . . . . . . . 30
DISPlay . . . . . . . . . . . . . . . . . . . . . . . . 31
DIVIde . . . . . . . . . . . . . . . . . . . . . . . . . 32
DOORway . . . . . . . . . . . . . . . . . . . . . . . . 32
DPARms . . . . . . . . . . . . . . . . . . . . . . . . . 33
EDIT . . . . . . . . . . . . . . . . . . . . . . . . . . 33
ELAPse . . . . . . . . . . . . . . . . . . . . . . . . . 34
EXECute . . . . . . . . . . . . . . . . . . . . . . . . 34
Using the Direct Switch: EXEC-D . . . . . . . . . . 36
Using the Swap to Disk Switch: EXEC-S . . . . . . . 36
EXECute Preview Mode . . . . . . . . . . . . . . . 37
EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . 38
GETString . . . . . . . . . . . . . . . . . . . . . . . 38
GOLOok . . . . . . . . . . . . . . . . . . . . . . . . . 40
{COMMO} (tm) Macro Programming Guide 6
GOTO . . . . . . . . . . . . . . . . . . . . . . . . . . 40
HANGup . . . . . . . . . . . . . . . . . . . . . . . . . 41
HELP . . . . . . . . . . . . . . . . . . . . . . . . . . 41
HFLOw . . . . . . . . . . . . . . . . . . . . . . . . . 41
HOLD . . . . . . . . . . . . . . . . . . . . . . . . . . 42
IFCArrier . . . . . . . . . . . . . . . . . . . . . . . 42
IFCOndition . . . . . . . . . . . . . . . . . . . . . . 43
IFERrorlevel . . . . . . . . . . . . . . . . . . . . . . 44
IFEXist . . . . . . . . . . . . . . . . . . . . . . . . 45
INCRement . . . . . . . . . . . . . . . . . . . . . . . 45
INITmodem . . . . . . . . . . . . . . . . . . . . . . . 46
INPUt . . . . . . . . . . . . . . . . . . . . . . . . . 46
INSTring . . . . . . . . . . . . . . . . . . . . . . . . 47
LENGth . . . . . . . . . . . . . . . . . . . . . . . . . 47
LIGHts . . . . . . . . . . . . . . . . . . . . . . . . . 48
LOCAlecho . . . . . . . . . . . . . . . . . . . . . . . 48
LOOKfor . . . . . . . . . . . . . . . . . . . . . . . . 48
MACLoad . . . . . . . . . . . . . . . . . . . . . . . . 50
MACRo . . . . . . . . . . . . . . . . . . . . . . . . . 51
MARK . . . . . . . . . . . . . . . . . . . . . . . . . . 52
MULTiply . . . . . . . . . . . . . . . . . . . . . . . . 53
NOCArrier . . . . . . . . . . . . . . . . . . . . . . . 53
NOOP . . . . . . . . . . . . . . . . . . . . . . . . . . 54
PARMs . . . . . . . . . . . . . . . . . . . . . . . . . 54
PASSword . . . . . . . . . . . . . . . . . . . . . . . . 54
PAUSe . . . . . . . . . . . . . . . . . . . . . . . . . 55
POPStack . . . . . . . . . . . . . . . . . . . . . . . . 55
PRINtlog . . . . . . . . . . . . . . . . . . . . . . . . 56
PUSHstack . . . . . . . . . . . . . . . . . . . . . . . 56
RCLOse . . . . . . . . . . . . . . . . . . . . . . . . . 57
READ . . . . . . . . . . . . . . . . . . . . . . . . . . 57
RETUrn . . . . . . . . . . . . . . . . . . . . . . . . . 58
ROPEn . . . . . . . . . . . . . . . . . . . . . . . . . 58
RTRAn . . . . . . . . . . . . . . . . . . . . . . . . . 59
RXMOdem . . . . . . . . . . . . . . . . . . . . . . . . 60
RYMOdem . . . . . . . . . . . . . . . . . . . . . . . . 60
SCREen . . . . . . . . . . . . . . . . . . . . . . . . . 62
SCROllback . . . . . . . . . . . . . . . . . . . . . . . 62
SEND . . . . . . . . . . . . . . . . . . . . . . . . . . 63
SETDial . . . . . . . . . . . . . . . . . . . . . . . . 63
SETEsc . . . . . . . . . . . . . . . . . . . . . . . . . 64
SETGet . . . . . . . . . . . . . . . . . . . . . . . . . 65
SETLook . . . . . . . . . . . . . . . . . . . . . . . . 66
SETVariable . . . . . . . . . . . . . . . . . . . . . . 68
SFLOw . . . . . . . . . . . . . . . . . . . . . . . . . 69
SHELl . . . . . . . . . . . . . . . . . . . . . . . . . 69
SIGNal . . . . . . . . . . . . . . . . . . . . . . . . . 70
SOUNd . . . . . . . . . . . . . . . . . . . . . . . . . 70
SPDCtrl . . . . . . . . . . . . . . . . . . . . . . . . 71
SPOCtrl . . . . . . . . . . . . . . . . . . . . . . . . 71
STATusline . . . . . . . . . . . . . . . . . . . . . . . 72
STOP . . . . . . . . . . . . . . . . . . . . . . . . . . 72
{COMMO} (tm) Macro Programming Guide 7
STRAn . . . . . . . . . . . . . . . . . . . . . . . . . 72
SUBString . . . . . . . . . . . . . . . . . . . . . . . 73
SXMOdem . . . . . . . . . . . . . . . . . . . . . . . . 74
SYMOdem . . . . . . . . . . . . . . . . . . . . . . . . 75
TOGGles . . . . . . . . . . . . . . . . . . . . . . . . 76
UNMArk . . . . . . . . . . . . . . . . . . . . . . . . . 76
VTCUr . . . . . . . . . . . . . . . . . . . . . . . . . 77
VTPAd . . . . . . . . . . . . . . . . . . . . . . . . . 77
WCLOse . . . . . . . . . . . . . . . . . . . . . . . . . 78
WOPEn . . . . . . . . . . . . . . . . . . . . . . . . . 78
WRITe . . . . . . . . . . . . . . . . . . . . . . . . . 79
Appendix A Table of {COMMO} Key-labels . . . . . . . . . . 80
Enhanced Keyboard Key-labels . . . . . . . . . . . . . . 81
Appendix B List of Reserved Variables . . . . . . . . . . . 82
Appendix C Macro Functions Listed by Class . . . . . . . . 84
{COMMO} (tm) Macro Programming Guide 8
==========================
Programming {COMMO} Macros
==========================
IMPORTANT! Please read the next few pages before you attempt to
write any macros! The rules for writing {COMMO} macros are few
in number, but must be followed carefully.
Examples of more complex macro programming are given in the
sample Macro File COMMO.MAC, in the supplied file SAMPLES.MAC and
in the Host Mode and Guide macros. A macro from SAMPLES.MAC is
discussed in detail at the end of this section.
The following pages assume familiarity with {COMMO}'s key
commands and with other features of the program. Since many
macro functions have corresponding key commands, duplicate
explanations will not be given here. Refer to the description of
the key command in the User Guide and Reference.
Overview
========
{COMMO}'s Macro File may contain any number of macros. The only
size limitation on the file is that the Dialing Directory and
Macro File combined must total 64k bytes or less.
Macros are "interpreted," which implies the following:
(1) Macros are not processed until they are executed.
(2) Only macros within the currently loaded Macro File are
available for use.
(3) Macros added or modified with the Internal Editor are
available immediately.
Alternate Macro Files may be loaded using the MACLoad function
(the original file is replaced and may be reloaded at a later
time).
Macro Structure
===============
Macros consist of a series of items enclosed in curly braces.
Items may be placed on the same line or on as many lines as
desired. The file is entirely free-form. Lines may be up to 255
characters in length and all text outside the curly braces is
commentary and is ignored by the Macro Processor.
There are two types of items: "functions" and "labels."
{COMMO} (tm) Macro Programming Guide 9
Functions are action items. Some are equivalent to {COMMO}
key commands, such as DIAL, while others are unique to the
macro language, such as SETVariable.
Labels are macro entry points and may be placed anywhere
within the Macro File.
Macro Functions
===============
Each macro function is described in detail later in this
document. See also Appendix C "Macro Functions Listed by Class."
The general form of any macro function is:
{name-switches arg1,arg2,...,argn}
name The function name describes the action to be
performed and consists of four or more
characters. Only the first four are
significant and case is ignored.
switches These are used to alter the operation of a
function. Each switch is a single letter and
may be followed by a numeric value, usually
"1" or "0" to indicate "yes" or "no"
respectively.
Switches have default interpretations when
the numeric value is omitted, or when the
switch is not present.
Switches must be separated from the name with
a hyphen (no intervening spaces). They may
be upper or lower case.
See individual function descriptions for
details (note that only certain functions
have switches).
args A SINGLE SPACE separates the arguments from
the function name and switches
Individual arguments are separated with
commas and may contain no extraneous spaces
(all spaces are significant).
NOTE: Curly braces may be represented within macro functions by
using ^( for { and ^) for }.
{COMMO} (tm) Macro Programming Guide 10
Examples:
{send Hi, how are you?}
This function sends the string "Hi, how are you?" to
the modem. SEND has only one argument -- the string to
send out. Since the string is the last argument, it
may contain commas and spaces. Quotes are not used to
define strings.
{ifcon-LE label1,label2}
The IFCOndition function tests for conditions set by
other functions, such as COMPare. Here two switches
are present, telling {COMMO} to test for less than or
equal:
L Test for "less than."
E Test for "equal."
The two arguments are labels to GOTO depending on the
conditions.
Notice that "name-switches" may be written in a number
of different ways:
ifco-LE ifcondition-EL ifcond-LE
{asci-S0E1 pathname}
The ASCII Upload function will send the file indicated
by "pathname." The switches override current settings
and tell {COMMO}:
S0 Do NOT strip linefeeds.
E1 DO expand blank lines (may also be written
"E").
{sound} {sound yes}
The first function will TOGGLE Master Sound ON/OFF
(since there is no argument). The second will turn the
sound ON.
One very important function is the STOP function. It is used to
terminate macro processing and may appear in either its long form
or short form:
... {stop} long form
... {} short form
{COMMO} (tm) Macro Programming Guide 11
Macro processing continues until a STOP function is executed. Be
sure to use one or processing will continue into the next macro
in the Macro File!
Macro Labels
============
Labels are identifiers consisting of one or more characters.
When a label is defined, it must be preceded by a colon.
References to labels, such as {goto label}, do not require the
colon.
IMPORTANT! {COMMO} always searches for labels from the beginning
of the Macro File. This means that if a label is duplicated
within the file, the first occurrence will be used.
Only the first eight characters in a label are significant. Case
is ignored. All characters are allowed in labels except the
following:
colon ":"
space " "
comma ","
slash "/"
curly braces "{" or "}"
Examples:
{:mailrun} {call login} ...
{:start-here} {:another.entry} {send Begin now!} ...
A number of three character labels are reserved and are called
"key-labels." When the corresponding key is pressed from the
Terminal Screen, {COMMO} will look for the key-label in the
current Macro File. If the key-label is found, macro processing
will begin at that location.
Any default key assignment may be overridden using a key-label.
For example, pressing Alt-D normally enters the Dialing
Directory. But suppose this line is in the Macro File:
{:ald} {clear} {}
Now pressing Alt-D will clear the screen.
See Appendix A "Table of {COMMO} Key-labels" for a complete list
of keys that may be assigned.
{COMMO} (tm) Macro Programming Guide 12
Macro Variables
===============
{COMMO} maintains a String Variable Space in which variables
appear in the form:
name,string
name An identifier consisting of one or more
characters of which only the first eight are
significant. Case is ignored. The following
are the ONLY valid characters that my be used
in a variable name:
"A" through "Z"
"a" through "z"
"0" through "9"
"_" underline.
All other characters will terminate the name.
string A text string. The string must not contain
any control characters below ASCII 28. If a
string is set to null (0 characters), it is
deleted from variable space.
NOTE: Any variable not defined is considered
to be null.
Strings consisting of only the digits 0-9 and
representing a decimal number from 0 to 65535
are also numeric variables (there is no other
difference between string and numeric
variables).
The maximum length of strings is 240
characters.
The String Variable Space may be viewed from within the Macro
Processor window by pressing "V". The amount of unused string
space is shown at the bottom of the screen.
Once a variable is defined, it remains in String Variable Space
until it is redefined or deleted (set to null). Therefore
variables should be deleted or re-used to prevent String Variable
Space from becoming full.
The default size of String Variable Space is 1536 bytes, but it
may be adjusted with the "/v" command line switch at program
startup. The valid range is from 512 bytes to 65535 bytes. See
also "Command Line Options" in the User Guide and Reference.
{COMMO} (tm) Macro Programming Guide 13
How to Use Variables
====================
{COMMO} variables are set (or "defined") by various macro
functions and by variable strings in a Dialing Directory entry.
Variables are used (or "referenced") in macro function arguments
and in the telephone number field of the Dialing Directory.
See also "Alt-D Dialing Directory" in the User Guide and
Reference.
When a variable name appears, the string assigned to the name is
substituted for the name. If the variable is null, then the name
is replaced with 0 characters. {COMMO} will expand the variables
in a macro function before processing it.
In order to distinguish variable names, they must be preceded
with a percent sign "%" (use two percent signs if a percent sign
is needed in the data).
The end of the variable name is indicated with another "%" or
with the first character that is not allowed in a name (see list
of characters above).
A variable definition example:
{setvar animal,Elephant} or {setvar %animal,Elephant}
Notice that the "%" is not required (but is permitted)
when the variable name is the first argument of a
function that defines, modifies or tests the value of a
variable. Other such functions include INPUt,
GETString, INCRement, DECRement, COMPare, SUBString,
INSTring, READ.
If the variable name in this situation needs to be a
variable, then use two percent signs:
{setv %%animal,Elephant}
Variable usage examples:
{setvar animal,Elephant}
{send %animal} Sends "Elephant" to the modem.
{send animal} Sends "animal".
{send %animal%s are large animals}
{COMMO} (tm) Macro Programming Guide 14
Sends "Elephants are large
animals". Note that the trailing
"%" is required here.
{setvar animal,Elephant}
{setv creature,animal}
{send creature} Sends "creature".
{send %creature} Sends "animal".
{setv %%creature,Giraffe}
{send %animal} Sends "Giraffe".
IMPORTANT! Variables may NOT be substituted within the function
name or switches. They may be substituted anywhere else, even
for the commas separating arguments.
Reserved Variables
==================
Certain variables have fixed names so that {COMMO} can find them
whenever they are needed. The names of these variables begin
with an underline character "_". There are two types of reserved
variables: "user-defined" and "built-in" (see Appendix B "List of
Reserved Variables" for a complete list).
USER-DEFINED reserved variables are defined in the same way that
you define ordinary variables -- in the Setup File using SET, or
in a macro using functions such as SETVariable, INPUt, etc.
These variables define strings used by certain program features.
For example, the pathname of the Usage Log is defined in the
Setup File as follows:
{set _uselog,c:\commo\commo.log}
BUILT-IN variables are defined by {COMMO} based on current system
parameters. Examples are:
_cap Current Capture File pathname
_tim Current time of day
Any variable that starts with the same four characters as a
built-in variable ("_" plus the next three) will be considered
the same variable. For example "_pas" may be written "_password"
and "_yea" may be written "_year".
{COMMO} will always search String Variable Space first when
looking up the value of any variable. This allows built-in
variables to be overridden, but only when using their four
character minimum names. For example, to override the serial
port number, you must use "_por", not "_port".
{COMMO} (tm) Macro Programming Guide 15
See Appendix B for a complete list of reserved variables.
Executing Macros
================
Macro execution may be started in any of the following ways:
1) Open the Macro Processor window by pressing Alt-M. Position
the Selector Bar at the desired starting point and press
[Enter]. The Macro Processor will begin processing at the
first macro label or function on the line.
NOTE: Macros started with the Selector Bar do not need
macro labels and may be started at any point within the
macro.
2) If a macro label is also a key-label, then you may press
that key from the Terminal Screen. Note that if the same
key-label appears more than once, the first occurrence will
be used.
3) A macro may be linked to a Dialing Directory entry (Linked
Macro). In this case {COMMO} will GOTO the macro when a
connection is established with that system (or optionally
CALL it, see the DIAL function).
4) A startup macro may be specified in the Setup File using the
"{mac=label}" item.
5) A startup macro may be specified on the command line with
the switch "/:label". This will override the Setup File
macro.
6) A macro may be an argument of another function such as CALL,
GOTO, DIAL or SETLook.
Some macro functions show their current action on the Status Line
at the bottom of the screen. In addition, a "face" character in
the middle of the Status Line indicates that a macro is
executing.
Additional Macro Execution Rules
================================
Characters may be typed to the serial port during functions that
wait (LOOKfor, GETString, PAUSe, HOLD, etc.). Command keys will
be ignored during macro processing.
The Macro Processor will execute functions IN SEQUENCE until one
of the following conditions occurs:
{COMMO} (tm) Macro Programming Guide 16
1) A CALL, GOTO, RETURn, STOP, EXIT, etc. is encountered.
2) Control is transferred to an alternate macro from certain
functions when a special condition occurs. An example of
this is the SETLook function. The alternate will execute
when a subsequent LOOKfor times out.
3) A macro error occurs. This will bring up the Macro
Processor window with the Selector Bar on the problem line.
The macro will be terminated.
4) The end of the Macro File is reached.
Cancelling a Macro
==================
The [Esc] key is used to terminate macro processing. To send an
<esc> code (ASCII 27) to the remote during macro execution
(without terminating the macro), press Ctrl-[ (Ctrl + left
bracket).
Current function execution may be terminated by pressing
[Ctrl-Break]. For example, this can be used to terminate a
LOOKfor, PAUSe or HOLD prematurely. Macro processing will
advance to the next function.
If a macro contains a function that brings up a {COMMO} window
(Dialing Directory, Capture File Options, etc.), then [Esc] will
exit the window and processing continues with the next function.
To terminate macro processing from a window, press [Ctrl-Break].
NOTE: The SETEsc function may be used to help prevent accidental
termination of macros.
A Macro Example in Detail
=========================
The following macro example from SAMPLES.MAC can be used to log
in to many types of Bulletin Board Systems. This is a Linked
Macro, so the label "login" would appear in the Dialing Directory
macro field for each system that uses it. When you dial and
connect to one of the systems, {COMMO} will automatically GOTO
the macro.
The subroutine "gls" (generic login subroutine) can also be
called from macros that perform mailruns and other BBS
operations.
{COMMO} (tm) Macro Programming Guide 17
Note that labels and functions may be placed side by side on the
same line (up to 255 characters). For purposes of this example
each item is placed on its own line.
The main routine at "login" performs some initial functions and
then calls the subroutine at "gls". The subroutine looks for
various prompts, responds to them and terminates after responding
to the "password" prompt.
{:login}
The entry point. All labels begin with a ":".
{capture y,c:\commo\commo.cap}
"y" means open the Capture File. The pathname of the
file is specified here, otherwise the current file
would be opened.
{asci ,}
Set ASCII Upload to "no pacing."
{call gls}
CALL the macro at "gls". When the subroutine executes
a RETUrn, control will come back here.
{}
STOP and resume manual operation in the Terminal
Screen. Without this STOP processing would continue
into subsequent macros. Remember that labels are
"passed over" during sequential macro processing.
{:gls}
The entry point of the "gls" subroutine.
{setlook 60,hng,10,|}
This function specifies parameters that go into effect
whenever a LOOKfor executes. It tells the Macro
Processor to wait up 60 seconds for the string (or
strings) and to GOTO the label "hng" if none of the
strings appear within that time. The timer is
restarted each time a LOOKfor begins to execute.
The SETLook also specifies that a "|" (carriage return)
should be sent to the modem whenever 10 seconds have
elapsed and no characters are received. This is used
{COMMO} (tm) Macro Programming Guide 18
to respond to prompts that are not explicitly specified
in CALOoks, LOOKfors, etc. (e.g., "Press any key to
continue").
Use this latter facility with care since a BBS may
spend time processing and not actually be expecting
input from the caller. The carriage returns sent will
accumulate and be used to satisfy later prompts,
causing things to get out of "sync." Adjust the 10
second timeout as needed.
{:li1}
{calo li1,li2,(enter)}
The CALOok remembers a string to look for, but does not
wait for the string (only a LOOKfor can do the actual
waiting). In this case the string "(enter)" is
remembered. The label "li2" is the macro to be CALLed
when the string appears. "li1" is the label to return
to when the macro executes a RETUrn.
When any of the remembered strings appear, the strings
are all "forgotten." Thus the CALOok is told to return
to "li1" where all the strings can be set up again.
{calo li1,li3,graphics (enter)}
{calo li1,li4,first name}
{calo li1,li5,last name}
{calo li1,li3,is this correct}
More CALOoks are used to set up more strings to look
for.
{golo li1,;passwor}
A GOLOok will set up a string and GOTO the label if the
string appears (only one label is used here). In this
example the specified string is to be ignored. This
was needed for a BBS that used the string
"first;last;password" prior to the actual password
prompt.
{lookfor password}
This is where the actual "looking" takes place.
Remember that CALOoks and GOLOoks only cause strings to
be remembered but do not actually wait for the strings.
The LOOKfor will wait for the string specified and also
any other remembered strings (up to 16 total). If the
string in the LOOKfor appears, control passes to the
next macro function. All strings are "forgotten" when
{COMMO} (tm) Macro Programming Guide 19
any one of them appears, or if the LOOKfor timer
expires.
"password" is assumed to be the last prompt in the
login sequence.
{send ~%_pas|}
Control then passes here and the string is sent to the
modem. The tilde (~) causes a half-second delay before
sending the password. The password in the Dialing
Directory entry was stored into the built-in variable
"_pas" when dialing began.
Finally, a carriage return (|) is sent.
{return}
This will RETUrn to the "login" macro.
{:li2}
{send ~|}
If a prompt requires a carriage return (|) to be sent,
the CALOok would set up to come here.
{return}
The return point ("li1") was the first argument of the
CALOok, so control returns there.
{:li3}
{send ~y|}
This is used to reply to prompts that are to be
answered with "y<cr>".
{return}
{:li4}
{send ~Fred|}
Response to "first name".
{return}
{:li5}
{send ~Brucker|}
Response to "last name".
{return}
{COMMO} (tm) Macro Programming Guide 20
=======================================
Description of Functions (Alphabetical)
=======================================
The purpose of this section is to show the syntax of each
function and the meaning of its arguments through examples. All
functions are listed here, but details on functions which are
also default key commands are found in The User Guide and
Reference under "{COMMO} Key Commands."
Function names are shown with their four-letter abbreviations in
uppercase.
For consistency, the following conventions are used in many
functions:
"y" or "yes" is used to indicate "yes", "on", "open", etc.
"n" or "no" is used to indicate "no", "off", "close", etc.
_____
ABAUd
_____
Default key: none
Description: Set AutoBaud toggle.
Examples:
{abaud} Toggle AutoBaud on/off
{abaud y} Turn on AutoBaud
{abaud n} Turn off AutoBaud
_____
ALARm
_____
Default key: none
Description: Ring the alarm.
Examples:
{alarm} Ring alarm, use ring count in Setup File.
{alarm 2} Ring alarm 2 times.
{COMMO} will wait until the alarm has stopped ringing before
proceeding to the next macro function (the alarm may be
terminated early by pressing a key).
{COMMO} (tm) Macro Programming Guide 21
_______
ASCIiup
_______
Default key: Alt-A
Description: Upload an ASCII (text) file.
General form:
{ASCIiup pathname[\],pace}
pathname The complete path and filename (if the
path is absent, the current directory
will be used).
If a "\" is placed at the end of the
pathname, the path will appear as a
prompt in the ASCII Upload window.
pace The pacing character to be used.
Switches:
E1 or E Expand blank lines. A space will be sent
when a zero-character line is encountered.
E0 Do not expand blank lines.
S1 or S Strip linefeeds from outgoing text.
S0 Do not strip linefeeds.
If a switch is absent, the current setting of
the toggle will be used. The toggles can be
set in the Setup File or by using the Alt-T
key command.
Switches apply to the current function only
and do not affect the setting of the toggles.
Examples:
{asci} Open ASCII Upload window.
{asci-S} Open ASCII Upload window,
strip linefeeds when file is
sent.
{asci %uldir%\} Open ASCII Upload window,
prompt with the current value
of the variable "uldir".
{COMMO} (tm) Macro Programming Guide 22
{asci c:\msgs\file.xyz,:} Upload "file.xyz." Use ":"
for pacing.
{asci-E0 c:\msgs\file.xyz} Upload "file.xyz." Use
current pacing character, do
not expand blank lines.
{asci c:\msgs\file.xyz,} Upload "file.xyz." Do not use
pacing.
{asci ,?} Set current pacing character
to "?"
{asci ,} Set current pacing to "no"
pacing.
The pacing character may be entered according to the rules shown
in Appendix D in the User Guide and Reference. For example, "^m"
or "|" may be used to represent the carriage return.
____
AUTO
____
Default key: none
Description: Maintain Auto Receive strings.
General form:
{AUTO label,string}
label Label to GOTO when the string is
received.
string String to look for, may be up to 32
characters.
Examples:
{auto} Clear all Auto Receive strings.
{auto zmodem,^XB00} Zmodem Auto Receive string.
Note that only 8 Auto Receive strings may be in effect at the
same time (including any strings defined in the Setup File).
Use this function with no arguments to clear all strings when
necessary.
See also "TIPS on creating LOOKfor strings" under LOOKfor.
{COMMO} (tm) Macro Programming Guide 23
____
BEEP
____
Default key: none
Description: Sound a beep.
Example:
{beep} No arguments.
_____
BREAk
_____
Default key: Alt-B
Description: Send a break.
Example:
{break} No arguments.
____
CALL
____
Default key: none
Description: Execute a macro subroutine.
Example:
{call abc} Execute subroutine abc.
CALL will push the location following the CALL function onto the
macro stack, then it will GOTO the label given in the argument.
When a RETUrn is executed, the location will be popped and
control will return to the function following the CALL.
Note that macros may be nested up to 32 deep.
See also RETUrn, PUSHstack, POPStack.
{COMMO} (tm) Macro Programming Guide 24
______
CALOok
______
Default key: none
Description: Set up an additional string to look for during a
subsequent LOOKfor function.
General form:
{CALOok label1,label2,string}
label1 The return point after label2 is CALLed.
label2 The label to CALL when "string" is received
from the serial port.
string The ASCII string to look for. The string
begins following the "," and is terminated by
the "}".
When the routine at "label2" executes a RETUrn, control will pass
to "label1". This is equivalent to:
{call label2} {:label1} ...
See LOOKfor for details, examples and tips on using CALOok.
See also: GOLOok, SETLook.
_______
CAPMode
_______
Default key: none
Description: Set Capture Mode.
Examples:
{capmode screen} Set Capture Mode to SCREEN.
{capmode filter} Set Capture Mode to FILTER.
{capmode raw} Set Capture Mode to RAW.
See also CAPTure.
{COMMO} (tm) Macro Programming Guide 25
_______
CAPTure
_______
Default key: Alt-1
Description: Capture File Options.
Examples:
{capture} Open Capture File Options
window.
{capture y} Open current Capture File.
{capture n} Close current Capture File.
{capt y,c:\commo\file.xyz} Open indicated Capture File.
{capt n,c:\dl\newfile.cap} Close current Capture File,
set new file as indicated.
NOTE: The current Capture File will always be closed when a new
file is opened.
See also CAPMode.
________
CHATmode
________
Default key: Alt-- (Alt minus)
Description: Set Chat Mode toggle.
Examples:
{chat} Toggle Chat Mode on/off.
{chat y} Turn on Chat Mode.
{chat n} Turn off Chat Mode
_____
CLEAr
_____
Default key: Alt-C
Description: Clear Terminal Screen to default colors.
Example:
{clear} No arguments.
{COMMO} (tm) Macro Programming Guide 26
_______
COMPare
_______
Default key: none
Description: Compare a string or numeric variable.
General form:
{COMPare name,string}
name The name of a variable.
string A string of ASCII characters.
Examples:
{comp pword,aardvark} Test if the variable "pword"
is set to "aardvark."
{comp pword} Test if "pword" is null.
{comp pword,} Test if "pword" is null.
{comp nmbr,5} Compare a numeric variable.
{comp abc,%xyz} Test if the variable "abc" is
equal to the variable "xyz."
A numeric variable is a string of ASCII digits, 0-9, forming a
positive integer in the range from 0 to 65535. If the number is
outside this range or contains non-numeric characters, the
results of the compare will be unpredictable.
COMPare will set flags which can be tested with the IFCOndition
function.
The Condition Flag will be set to "true" if the two
arguments are identical strings (case is ignored).
Otherwise it will be set to "false."
The Numeric Flag will be set to "equal", "less than" or
"greater than." This flag is unpredictable unless both
arguments are valid numeric variables.
A variable may be tested for being null (no entry in variable
space) by omitting the second argument (or by comparing to a null
variable).
See also IFCOndition.
{COMMO} (tm) Macro Programming Guide 27
______
CURSor
______
Default key: none
Description: Terminal Screen cursor on/off.
Examples:
{cursor} Toggle Terminal cursor on/off.
{curs y} Turn on Terminal Screen cursor.
{curs n} Turn off Terminal Screen cursor.
_________
DECRement
_________
Default key: none
Description: Subtract a number from a numeric variable.
Examples:
{decr count} Subtract 1 from the variable "count".
{decr apples,200} Subtract 200 from "apples".
Numeric variables and the numbers to be subtracted may range from
0 to 65535. The default number is 1.
If the result is less than 0 or if either argument is out of
range, then the variable will be set to the string "ERROR".
If the variable is not numeric, the results will be
unpredictable.
See also INCRement.
____
DIAL
____
Default keys: Alt-D, Alt-N
Description: Open Dialing Directory, dial marked systems.
General form:
{DIAL tries,label1,label2}
tries The maximum number of dialing tries. If no
connection is established when the try count
{COMMO} (tm) Macro Programming Guide 28
is exhausted, the macro in the second
argument will be started. May be 0 to 999.
"0" means unlimited. Default is 0.
label1 A macro to GOTO if the try count in the first
argument is exhausted. If no macro is
specified or if the macro label is invalid,
control will pass to the next function.
Default is none.
If the "C" switch is used, the macro will be
CALLed. When a RETUrn is executed, control
will return to the DIAL function.
label2 A macro to GOTO when a response is matched
during the Inter-dial Delay. Response
strings are listed in the reserved variable
"_dialir" and are usually defined in the
Setup File.
If the "C" switch is used, the macro will be
CALLed. When a RETUrn is executed, control
will return to the DIAL function.
Switches:
C1 or C Specifies that macros will be started via
CALL (instead of GOTO). When the macros
execute a RETUrn, control returns to the DIAL
function and Multi Number Dialing will
resume.
The "C" switch applies to the Linked Macro
(from the Dialing Directory), the "tries
exhausted" macro and to the Inter-dial Delay
macro.
C0 Start dialing macros via GOTO (default).
Examples:
{dial} Open Dialing Directory window (similar
to Alt-D).
{dial ,} Multi Number Dial (similar to Alt-N).
{dial 25,abc} Multi Number Dial with try count.
{dial-C ,} Multi Number Dial, CALL Linked Macros.
{dial-c ,,inter} Multi Number Dial with Inter-dial Delay
macro.
{COMMO} (tm) Macro Programming Guide 29
Marking Numbers for Dialing
---------------------------
Numbers may be marked in one of several ways:
1) Manually in the Dialing Directory window.
2) By placing Dialing Strings on the {COMMO} command line.
3) Using the MARK macro function.
Marked numbers will be redialed in sequence. If a connection
occurs and a valid Linked Macro is specified in the Dialing
Directory, the macro will be started via GOTO (unless the "C"
switch is present). If no macro is specified in the Dialing
Directory, control is passed to the next function.
If no numbers are marked when executing the DIAL, control will
pass to the next function.
Automatic Resumption of Dialing
-------------------------------
Here are two methods for resuming at the end of a Linked Macro.
Both allow multiple systems to be called without operator
intervention.
1) Use the "C" switch on the DIAL function. Each Linked
Macro should end with a RETUrn which will transfer
control back to the DIAL. When all numbers have been
called, control will pass to the function following the
DIAL.
2) At the end of each Linked Macro (after logging off),
GOTO a macro such as this:
{:nocar} {pause 1} {ifcarrier nocar} {dial ,} {}
This ensures that carrier has dropped before DIALing
the next number. The PAUSe allows data to display on
the screen while waiting for carrier to drop.
Testing Success and Failure Results
-----------------------------------
Details about a successful or failed dialing attempt are
available in several reserved variables (see Appendix B "List of
Reserved Variables" for complete descriptions):
_dtc Dialing termination code
{COMMO} (tm) Macro Programming Guide 30
_dialrt Dialing response text
_mod Speed reported by modem (normally in the CONNECT
or CARRIER response)
After a successful attempt the variables "_dialrt" and "_mod" may
be tested in your Linked Macro. For example, if you expected a
high-speed connect and the speed reported was 2400 or 1200, then
you may want to hang up and try again later.
You can get control after each failed attempt by using "DIAL 1",
with or without a macro. For example:
1) {dial-c 1,nocon} ...
The Linked Macro and the "no connect" macro will be
CALLed (the "C" switch). The variables "_dtc" and
"_dialrt" may be tested in the macro at "nocon".
2) {dial 1} ...
Control will pass to the next function if a dialing
attempt fails or when no more systems are marked (test
"_dtc" to determine which).
If the testing indicates that the system should not be dialed
again (e.g., it did not answer, _dtc = 3), the UNMArk function
can be used with the "L" switch to unmark the last number dialed:
{unmark-l}.
Handling Incoming Calls
-----------------------
Most modems return the string "RING" when a call comes in. If
this happens during the Inter-dial Delay, you may choose to stop
dialing (to answer a voice call) or to send a brief message to a
modem caller (during a BBS event, for example).
Use "label2" on the DIAL function to process responses during the
Inter-dial Delay. For example:
{dial ,,incoming}
The macro at "incoming" will execute if the modem sends an Inter-
dial Delay response string.
See also: SETDial, MARK, UNMArk.
{COMMO} (tm) Macro Programming Guide 31
_______
DISPlay
_______
Default key: none
Description: Display a string to the screen.
General form:
{DISPlay row,col,attr,string}
row The row where the string will display.
col The column where the string will display.
attr The attribute (colors) of the string.
string The text of the string (no quotes).
Examples:
{display 12,20,17,Hello!} Display "Hello!" at row 12,
column 20. Colors are white
on blue.
{disp ,,,Hello, again.^m^j} Display "Hello, again." at the
current cursor using the
current attribute, followed by
a cr/lf.
{disp 3,40} Position the cursor at row 3,
column 40.
TIPS on using DISPlay:
> The attribute is specified in the same manner as the colors
in the Setup File (press F7 in the Internal Editor to
display the Color Chart).
> Setting background colors to high intensity values will
cause blinking (for example, using "9" instead of "1" will
still give a blue background but the foreground character
will blink).
> After the string is displayed, the previous Terminal Screen
attribute will be restored.
> Conversion is performed on the string according to the rules
in Appendix D in the User Guide and Reference.
{COMMO} (tm) Macro Programming Guide 32
______
DIVIde
______
Default key: none
Description: Divide a numeric variable by a number.
Example:
{divi space,1024} Divide "space" by 1024.
Numeric variables may range from 0 to 65535, the divisors may
range from 1 to 65535. The default divisor is 1.
The named variable will be set to the quotient, the built-in
variable "_rem" will be set to the remainder.
If the divisor is zero or if either argument is out of range,
then the variable will be set to the string "ERROR".
If the variable is not numeric, the results will be
unpredictable.
_______
DOORway
_______
Default key: Alt-=
Description: Toggle Doorway Mode.
Switches:
S1 or S Status Line on when entering Doorway Mode.
S0 Status Line off (default).
M0 Do not display Doorway enter/exit messages.
M1 Display enter/exit messages (default).
Examples:
{doorway} Toggle Doorway Mode on/off.
{door-S} Status Line on when entering Doorway
Mode.
{doorway-M0} Do not display enter/exit messages.
The "S" switch is ignored when exiting Doorway Mode (the Status
Line will be restored to its prior state).
{COMMO} (tm) Macro Programming Guide 33
______
DPARms
______
Default key: Alt-P
Description: Set Default Dialing Terminal Parameters
General form:
{DPARms speed,format,comport,terminal-type,delay}
speed The bps rate: 2400, 9600, etc.
format The data format: 8n1, 7e1, etc.
comport The serial port number: 1, 2, 3 or 4.
terminal The terminal-type: A, V or T.
delay The inter-character delay factor: 0-999.
Examples:
{dparms 2400,8,1,,20} Set 2400 bps, 8n1, Com1, delay =
20.
{dparms ,,4,V} Set Com4 VT102.
{dparms 19200,7o1} Set 19200 bps, 7o1.
Note that omitted parameters are not changed.
See also PARMs.
____
EDIT
____
Default key: none
Description: Edit an external file.
Example:
{edit c:\autoexec.bat} Edit AUTOEXEC.BAT file.
EDIT may be used to edit any text file up to 64k in length. The
rules are the same as for editing a support file with the
Internal Editor.
TIPS on using EDIT:
> Control characters (below ASCII 28) may not be typed.
{COMMO} (tm) Macro Programming Guide 34
> Any data beyond the last cr/lf pair will be removed prior to
editing. A cr/lf pair will be added, if necessary, to
ensure at least one line in the file.
> The file will be saved unconditionally when Alt-F is pressed
or conditionally (if changes were made) when Esc is pressed.
The file is "saved in place" (no backup).
______
ELAPse
______
Default key: none
Description: Reset the elapsed timer to 0 minutes.
Example:
{elap} No arguments.
The elapsed timer is automatically reset whenever dialing begins
and when a connection is made with a remote system.
_______
EXECute
_______
Default key: none
Description: Execute a DOS command.
Switches:
A1 or A Sound the alarm at the end of command
execution.
A0 Do not sound the alarm (default).
D1 or D Execute an external program directly, without
use of the command processor (see details
below).
D0 Use the command processor (default).
N1 or N Do not clear the screen before execution.
This is useful when running programs that
clear or rewrite the screen. Also for simple
DOS functions like changing directories,
renaming files, etc.
N0 Clear the screen (default).
{COMMO} (tm) Macro Programming Guide 35
S1 or S Swap to Disk before executing the program
(see details below).
S0 Do not swap to disk (default).
W Wait for a key press before restoring the
Terminal Screen. This is useful if you need
to see the results of the command execution.
Wn Wait for "n" seconds, "n" may range from 0 to
999. Press a key to cancel the wait.
Note: Default (no "W" switch) is no wait.
Examples:
{exec-AW3 dsz port %_por speed %_spe sz %uldir%\%file}
{COMMO} will prepare the DSZ command by expanding the
"%" variables, then call DOS to execute the program.
See the section "Macro Variables" for complete details
on variable substitution.
The alarm will sound at completion (the "A" switch) and
{COMMO} will wait for three seconds (the "W3" switch)
before restoring the Terminal Screen.
{execute-DN c:\utils\list.com %_cap}
The LIST program will be directly executed with the
current Capture File pathname as a command line
argument. The screen will not be cleared (LIST will
rewrite the screen). {COMMO} will return immediately
to the Terminal Screen when LIST exits.
The EXECute function enables you to "build" a command to be
executed by DOS. The DOS command processor (COMMAND.COM) is
normally used (see below), which implies that you may specify any
command as you would type it from the DOS prompt.
Thus you can execute batch files and internal DOS commands (REN,
DEL, etc.). Also you can omit command paths and extensions (if
the command is in your PATH or in the current directory).
Character conversion is performed in the EXECute function. This
enables you to specify control characters. For example:
{exec echo ^L> prn} Send a formfeed to the printer
{COMMO} (tm) Macro Programming Guide 36
See Appendix D in the User Guide and Reference for details on
conversion. Note that the vertical bar "|" is NOT translated to
a carriage return in the EXECute function.
Using the Direct Switch: EXEC-D
-------------------------------
Use this switch to execute .EXE and .COM programs without the use
of the command processor (usually COMMAND.COM).
The program's Exit Code (called ERRORLEVEL in batch files) is
saved and may be tested with the IFERrorlevel function. The Exit
Code is also available in the variable "_err".
There are several advantages to using the "D" switch:
1) Only the memory needed to run the program is required (the
command processor requires that about 32k be available, even
if the program being run is much smaller).
2) About 4k of memory is saved by not having a copy of the
command processor resident when the program is running.
3) The program executes faster, since COMMAND.COM is not loaded
from disk.
4) The program's Exit Code is preserved and may be tested with
the {COMMO} IFERrorlevel function.
Two important rules must be followed when using the "D" switch:
1) The full pathname of the program file must be specified,
including the path where the file resides on disk and the
file extension. For example:
{exec-D c:\util\list.com file.txt}
2) Only .EXE and .COM files may be run (batch files and
internal DOS commands cannot be executed without
COMMAND.COM).
Using the Swap to Disk Switch: EXEC-S
-------------------------------------
The "S" switch will direct {COMMO} to write the program and
associated data to the disk file specified with the Setup File
item "swp=" (under "Paths and Files"). This will free up between
50k and 180k of memory, depending on the sizes of your Scrollback
Buffer, Dialing Directory and Macro File.
{COMMO} (tm) Macro Programming Guide 37
If the Swap File cannot be opened or there is not enough disk
space for the swap, the EXECute (or SHELl) will be attempted
without swapping. When the program or shell exits back to
{COMMO}, the program and data will be restored from the disk
file. Any errors in this process will cause {COMMO} to exit to
DOS.
TIPS on using Swap to Disk:
> The serial port will be closed during the swap (normally it
is left open to receive characters during EXECute and
SHELl). To avoid losing any data swapping should be
initiated when the remote system is quiet (or when you are
offline).
> Use Swap to Disk when running major applications such as
external protocol drivers, offline mail readers, etc. Using
it with internal DOS functions (DEL, COPY, REN, etc.) or
very small programs is inefficient and unnecessary.
> If possible, specify the Swap File on a RAMDISK. This will
speed up the swap considerably. A ramdisk program is
supplied with DOS (RAMDRIVE.SYS or VDISK.SYS) or you can
obtain one from a BBS.
> Be sure to specify a complete pathname for the Swap File.
> Do not run any TSR (resident) programs when swapping is in
effect. Doing so may result in a swap error.
EXECute Preview Mode
--------------------
Use the Set Toggles key command, Alt-T, to turn on "EXECute
Preview Mode." This mode is used to test your DOS commands and
performs the following steps for each EXECute function:
1) The command will be displayed after expanding variables and
converting control characters.
2) You will be given an opportunity to cancel the command
before it is executed.
3) Following execution {COMMO} will wait before restoring the
Terminal Screen. This lets you see any error messages that
the command may have displayed.
{COMMO} (tm) Macro Programming Guide 38
____
EXIT
____
Default key: Alt-X
Description: Exit {COMMO}.
General form:
{EXIT number}
number The return code to be passed to DOS. It may
be tested with the IF ERRORLEVEL batch
command. Range is 0 to 255.
Switches:
D1 or D Drop DTR and RTS. Dropping DTR will cause
the modem to disconnect if it has been
properly initialized. See Appendix A in the
User Guide and Reference.
D0 Do not drop DTR and RTS.
If the switch is absent, the current setting
of the toggle will be used. The toggle can
be set in the Setup File or by using the Alt-
T key command.
Examples:
{exit} No arguments (return code = 0).
{exit 3} With return code.
{exit-D} Drop DTR and RTS.
_________
GETString
_________
Default key: none
Description: Input a string from the modem to a variable.
General form:
{GETString name,count,label}
name The name of the variable to which the string
will be assigned.
{COMMO} (tm) Macro Programming Guide 39
count The maximum number of data characters
allowed. A carriage return will always
terminate input. May be 1 to 240. Default
is 240.
label A macro to GOTO if a carriage return is
received and no characters have been entered
(the string will be assigned as null). If
this argument is omitted, control will pass
to the next function.
Switches:
A1 or A "Append" mode. Characters will be appended
to the variable. If the current length of
the variable is greater than the count in the
second argument, a count of 240 will be
assumed.
A0 The variable will be replaced (default).
H1 or H "Hotkey" mode. When the maximum number of
characters has been entered, control will
pass to the next function.
H0 Ignore all input after the maximum has been
entered, except backspace and carriage return
(default).
P1 or P "Password" mode. Asterisks will be echoed to
the remote and local terminals in place of
the received characters (Echo Status will be
honored, see SETGet).
P0 Characters are echoed as received (default).
Examples:
{setget 60,timeout,y,^m^j} Set GETString parameters.
{gets fonum,12,badinput} Get input to "fonum."
{gets-p pword,20} Get a password.
TIPS on using GETString:
> The only control characters allowed (below ASCII 28) are
carriage return (ASCII 13) and backspace (ASCII 8). Other
control characters should be entered as ^J for linefeed,
etc. See Appendix D in the User Guide and Reference.
{COMMO} (tm) Macro Programming Guide 40
> Destructive backspace processing is supported for editing
purposes.
> GETString supports "tandem" input. Characters entered at
either end will be input to the string (and displayed at
both ends if echo is on (see SETGet). Turn on Local Echo to
see text locally that is sent to the remote with SEND,
ASCIiup, etc.
> Use the "H" switch and a character count of 1 for "hotkeys."
> Turn off echo in the SETGet while waiting for the modem to
answer (in host mode). Some modems react poorly to
characters being echoed when they are generating a response
(such as "RING").
> Incoming characters displayed during a GETString function
are not seen by subsequent CALOok/GOLOok/LOOKfor functions.
See also SETGet.
______
GOLOok
______
Default key: none
Description: Set up an additional string to look for during a
subsequent LOOKfor function.
General form:
{GOLOok label,string}
label A label to GOTO when "string" is received
from the serial port.
string The ASCII string to look for. The string
begins following the "," and is terminated by
the "}".
See LOOKfor for details, examples and tips on using GOLOok.
See also: CALOok, SETLook.
____
GOTO
____
Default key: none
Description: Transfer control to a macro label.
{COMMO} (tm) Macro Programming Guide 41
Example:
{goto mail_run} Control transferred to label
"mail_run".
______
HANGup
______
Default key: Alt-H
Description: Disconnect by dropping DTR.
Examples:
{hangup} Prompt user for disconnect.
{hangup y} Disconnect without prompting.
____
HELP
____
Default key: F1
Description: Open Online Help window.
Example:
{help} Display key command help
{help x} Display topic "TX"
Any single character may be specified. {COMMO} will prefix it a
"T" and search for the topic code. You may create your own
Online Help file. See "Modifying the Help File" in The User
Guide and Reference.
_____
HFLOw
_____
Default key: none
Description: Set Hardware Flow Control toggle.
Examples:
{hflow} Toggle Hardware Flow Control on/off.
{hflow y} Turn on Hardware Flow Control.
{hflow n} Turn off Hardware Flow Control.
{COMMO} (tm) Macro Programming Guide 42
____
HOLD
____
Default key: none
Description: Hold until specified time of day (24 hour format).
Examples:
{hold 3:30} Hold until 3:30 am.
{hold 16:10} Hold until 4:10 pm.
{hold 0:00} Hold until midnight.
NOTE: Incoming characters displayed during a HOLD function are
not seen by subsequent CALOok/GOLOok/LOOKfor functions.
_________
IFCArrier
_________
Default key: none
Description: Test for presence of carrier detect signal.
General form:
{IFCArrier true,false}
true A label to GOTO if carrier is detected.
false A label to GOTO if carrier is not
detected.
NOTE: The default when either label is omitted is to pass
control to the next function.
Example:
{ifcarrier c10,c20}
Tip on using IFCArrier:
> When using a loop to wait for a change in carrier detect,
you should include a short pause in the loop if you want
characters to display. The following sequence will display
incoming characters while waiting for carrier detect to
drop:
... {:cd1} {pause 1} {ifcarrier cd1} ...
{COMMO} (tm) Macro Programming Guide 43
___________
IFCOndition
___________
Default key: none
Description: Test for conditions set by other functions.
General form:
{IFCOndition true,false}
true A label to GOTO if the Condition Flag is
true.
false A label to GOTO if the Condition Flag is
false.
NOTE: The default when either label is omitted is to pass
control to the next function.
Switches:
none Test the current state of the Condition Flag.
E1 or E Test for numeric equality. A numeric string
contains only the digits 0-9 and is in the
range 0 to 65535.
L1 or L Numeric test -- if first COMPare argument is
less than the second.
G1 or G Numeric test -- if first COMPare argument is
greater than the second.
Examples:
{compare var1,message} Compare and set Condition
{ifcondit match,nomatch} Flag. GOTO "match" if the
variable "var1" is set to
"message," to "nomatch" if it
is not.
{compare value,200} Compare and set conditions.
{ifcon-GE toobig,aok} GOTO "toobig" if "value" is
greater than or equal to 200,
else GOTO "aok."
{instring zipcode,90} Test if "zipcode" contains
{ifcon yes,no} the digits "90". If "true"
GOTO "yes", if "false" GOTO
"no".
{COMMO} (tm) Macro Programming Guide 44
Switches may be used in any combination. If any numeric switches
are present, the Condition Flag is not tested.
The difference between testing for string equality and numeric
equality is shown in this example:
The strings "05" and "5" are different text strings, but are
numerically equal.
____________
IFERrorlevel
____________
Default key: none
Description: Test the Exit Code set by certain functions.
General form:
{IFERrorlevel number,true,false}
number A number from 0 to 255. It will be
compared to the last Exit Code that was
set.
true A label to GOTO if the Exit Code is
greater than or equal to "number."
false A label to GOTO if the Exit Code is less
than "number."
NOTE: The default when either label is omitted is to pass
control to the next function.
Example:
{iferror 1,abc,def} GOTO "abc" if Exit Code is
greater than or equal to 1.
Else GOTO def.
TIPS on using IFERrorlevel:
> The Exit Code is set by certain functions (e.g., EXECute-D,
SHELl, RXMOdem, SXMOdem) and should normally be tested
immediately following execution of those functions.
> EXECute without the "D" switch or Shell to DOS will normally
set the Exit Code to 0.
{COMMO} (tm) Macro Programming Guide 45
> Many programs return an Exit Code greater than 0 when the
result is unsuccessful. DSZ, for example, will return an
Exit Code of 1 if the file transfer has failed.
> The value of the Exit Code is also stored in the string
variable "_err" and may be tested with COMPare.
_______
IFEXist
_______
Default key: none
Description: Test for existence of a disk file or files.
General form:
{IFEXist pathname,true,false}
pathname A DOS pathname. If the path is omitted,
the current directory will be used. If
wildcards are used the "true" condition
will hold if any files match the
specification.
true A label to GOTO if the file exists.
false A label to GOTO if no files match.
NOTE: The default when either label is omitted is to pass
control to the next function.
Examples:
{ifex a:file.xyz,,m20} GOTO "m20" if not found.
{ifex c:\data\words.txt,345} GOTO "345" if found.
{ifex c:\ul\*.rep,a01,a02} Using a wildcard.
_________
INCRement
_________
Default key: none
Description: Add a number to a numeric variable.
Examples:
{incr count} Add 1 to the variable "count".
{incr oranges,1234} Add 1234 to "oranges".
{COMMO} (tm) Macro Programming Guide 46
Numeric variables and the numbers to be added may range from 0 to
65535. The default number is 1.
If the result is greater than 65535 or if either argument is out
of range, then the variable will be set to the string "ERROR".
If the variable is not numeric, the results will be
unpredictable.
See also DECRement.
_________
INITmodem
_________
Default key: Alt-O
Description: Send Modem Initialization String.
Example:
{init} No arguments
_____
INPUt
_____
Default key: none
Description: Input a string from the keyboard.
General form:
{INPUt name,prompt}
name The name of a string variable. The current
value of this variable will appear in the
input line.
prompt A prompt string that will appear in the input
window border.
Example:
{input upfile,Enter a filename:} Input a string to
the variable
"upfile."
If 0 data characters are entered, the variable will be set to
null.
{COMMO} (tm) Macro Programming Guide 47
NOTE: If Esc is pressed, macro processing will be terminated
unless an exit label has been defined with SETEsc.
________
INSTring
________
Default key: none
Description: Find a string within a string, return its
position.
General form:
{INSTring name,string}
name The name of a variable (string to search in).
string The string to search for.
Example:
{inst line,abc} The variable "line" is searched for the
string "abc".
INSTring will set the following:
1) The Condition Flag will be set to "true" if the string
is found, to "false" if the string is not found. Test
with IFCOndition, no switches.
2) The starting position of the string will be returned in
the built-in variable "_pos" (first character is "1").
"_pos" will be set to zero if the string is not found.
______
LENGth
______
Default key: none
Description: Determine the length of a string.
Examples:
{leng %line} Find the length of the string in
the variable "line".
{leng %line1%%line2} Find the combined length of "line1"
and "line2".
The length will be returned in the built-in variable "_len". If
the string is null, the length will be set to zero.
{COMMO} (tm) Macro Programming Guide 48
______
LIGHts
______
Default key: Alt-0
Description: Set Signal Lights toggle.
Examples:
{lights} Toggle Signal Lights on/off.
{lights y} Turn on Signal Lights.
{lights n} Turn off Signal Lights.
_________
LOCAlecho
_________
Default key: none
Description: Set Local Echo toggle.
Examples:
{local} Toggle Local Echo on/off.
{local y} Turn on Local Echo.
{local n} Turn off Local Echo.
_______
LOOKfor
_______
Default key: none
Description: Look for strings in the modem input stream.
LOOKfor may be used in conjunction with CALOok and GOLOok to scan
for up to 16 strings at the same time. When CALOok and GOLOok
set up additional strings to look for, the actual "looking" does
not take place until the LOOKfor executes.
Parameters controlling LOOKfor are set with the SETLook function
and may be changed at any time with another SETLook. See the
description of the SETLook function for details.
Examples using LOOKfor only:
{lookfor first name?} Look for the string "first name?"
{look ^(COMMO^)} Look for the string "{COMMO}".
{COMMO} (tm) Macro Programming Guide 49
When the string comes in, control will pass to the next
function.
Example construct using CALOok/GOLOok/LOOKfor:
{setlook 60,hng,3,n|}
...
{:m_1234}
{golook aaa,string1}
{calook m_1234,bbb,string2}
{calook m_1234,ccc,string3}
{golook ,string4}
{lookfor string5} {send answer5} {goto ddd}
{:aaa} {hangup y} {goto cancel}
{:bbb} {send answer2} {return}
{:ccc} {send answer3} {call subr} {return}
{:ddd} ...
In this example {COMMO} will look for five strings. When
any string comes in, the LOOKfor is terminated (all strings
are cancelled). It may be set up again by going back to
"m_1234".
The GOLOok function for string1 will GOTO "aaa" when the
string comes in. In the example control will pass to
"cancel".
If string2 or string3 come in the CALOok functions will set
"m_1234" as the return point and then CALL "bbb" or "ccc"
respectively. When these routines RETUrn, control returns
to "m_1234" and the five string LOOKfor will be set up
again.
The GOLOok for string4 has a null label and control will
pass to the function following the LOOKfor if that string
comes in. The "," must be present.
If string5 comes in, control will also pass to the function
following the LOOKfor.
TIPS on creating LOOKfor strings:
> There should be just one space following the LOOKfor
function name. Any spaces beyond this point are part of the
string. The string ends at the right curly brace.
> CALOok/GOLOok/Auto Receive strings begin immediately after
the comma. There should be no spaces unless they are part
of the string.
{COMMO} (tm) Macro Programming Guide 50
> Strings may be up to 32 characters in length (control
characters like "^M" count as one). Upper/lower case is
ignored.
> ANSI control sequences are filtered if ANSI or VT102
emulation is enabled.
> Remember that short strings may not be unique enough, long
strings may not match due to line noise.
> Rules for representing special characters in
CALOok/GOLOok/LOOKfor/Auto Receive strings are given in
Appendix D in the User Guide and Reference.
Additional TIPS:
> CALOok and GOLOok functions should immediately precede a
LOOKfor (no string compares actually occur until the LOOKfor
executes). Up to 15 CALOok/GOLOok strings may be used for a
total of up to 16 strings to scan for.
> FILTER Capture Mode should be used to determine the exact
prompt to look for. The LOOKfor sees the incoming data
exactly as it is captured when FILTER mode is set.
> If two or more strings cause a match at the same time, the
LAST such string listed is the one acted upon. For example,
if "abcdef" and "def" are listed and "abcdef" comes in.
> Since the LOOKfor is terminated whenever any of the strings
come in (or when the LOOKfor timeout expires), this
structure is unrestricted -- that is, CALLs, GOTOs, other
CALOok/GOLOok/LOOKfor constructs, etc., may be used freely
in any of the branches.
See also: CALOok, GOLOok, SETLook.
_______
MACLoad
_______
Default key: none
Description: Load a new Macro File.
Switches:
R1 or R Specifies that COMMO.MAC will be reloaded
when carrier detect is lost. Normally this
would occur at the end of the call.
{COMMO} (tm) Macro Programming Guide 51
R0 Do not reload COMMO.MAC when carrier is lost
(default).
General form:
{MACLoad filename,label}
filename The new Macro File. Do NOT specify a
path; the {COMMO} home directory will be
used.
label A label to GOTO when the new file is
loaded. Optional.
Examples:
{macload-R vt102-1.mac} Load vt102-1.mac, reload
COMMO.MAC at the end of the
call.
{macl newmac.fil,abc} Load newmac.fil, start macro
"abc" in the new file.
IMPORTANT! The new Macro File must reside in the {COMMO} home
directory (do not specify a path).
The current file will be saved to disk if changes are
outstanding. The new file is then loaded in place of the current
one (all macros are replaced).
MACLoad should be the last function in a macro, since control is
not returned.
_____
MACRo
_____
Default key: Alt-M
Description: Open Macro Processor window.
Examples:
{macro} Open window at current position.
{macro menu1} Open window at "menu1."
NOTE: The MACRo function always terminates the macro that is
currently executing.
A string argument may be included to facilitate the creation of
menus within the Macro File. The first occurrence of the
{COMMO} (tm) Macro Programming Guide 52
argument string will become the top line of the display when the
window is opened.
The Selector Bar will be positioned on the first screen line that
has a left curly brace, if any.
Here is an example of how to structure a menu using MACRo:
| (this is past col. 80)
| menu111
Name of Menu |
|
|
Selection 1 | {exec ... } {}
Selection 2 | {exec ... } {}
Selection 3 | {exec ... } {}
| {:af1} {macro menu111}
The upper line with "menu111" will be the top line of the screen.
Pressing Alt-F1 will bring up the menu with the Selector Bar on
Selection 1.
Remember that the function itself will be found in the search
since it contains the string.
____
MARK
____
Default key: none
Description: Mark Dialing Directory entries for dialing.
Example:
{mark joes-bbs,file-city} Mark entries for dialing.
Dialing Strings may be separated by spaces or commas.
{COMMO} will search the Dialing Directory for each string and
mark the first entry where a match is found. Case is ignored.
The strings may consist of any part of a Dialing Directory entry
line (including strings contained within curly braces), but must
NOT contain any spaces, commas or curly braces.
See also: DIAL, UNMArk.
{COMMO} (tm) Macro Programming Guide 53
________
MULTiply
________
Default key: none
Description: Multiply a numeric variable by a number.
Example:
{mult money,10} Multiply "money" by 10.
Numeric variables and the multipliers may range from 0 to 65535.
The default multiplier is 1.
If the result is greater than 65535 or if either argument is out
of range, then the variable will be set to the string "ERROR".
If the variable is not numeric, the results will be
unpredictable.
_________
NOCArrier
_________
Default key: none
Description: Sets/resets a macro to execute when carrier detect
is lost.
Examples:
{nocar carrlost} GOTO the label "carrlost" when the
carrier detect signal drops.
{nocar} Turn off the carrier lost label.
IMPORTANT: This feature is enabled only when a connection is
made using {COMMO}'s Auto Dialer. Also, if carrier drops while a
macro is running or a command window is open (such as the Dialing
Directory or Capture File Options), the carrier lost macro will
not activate.
Be sure that you have your modem configured to provide the
carrier detect signal. See Appendix A in the User Guide and
Reference for modem information.
{COMMO} (tm) Macro Programming Guide 54
____
NOOP
____
Default key: none
Description: No-op function, does nothing
Example:
{noop} No arguments.
_____
PARMs
_____
Default key: Alt-P
Description: Set Current Terminal Parameters
General form:
{PARMs speed,format,comport,terminal-type,delay}
speed The bps rate: 2400, 9600, etc.
format The data format: 8n1, 7e1, etc.
comport The serial port number: 1, 2, 3 or 4.
terminal The terminal-type: A, V or T.
delay The inter-character delay factor: 0-999.
Examples:
{parms 2400,8,1,,20} Set 2400 bps, 8n1, Com1, delay =
20.
{parms ,,4,V} Set Com4 VT102.
{parms 19200,7o1} Set 19200 bps, 7o1.
IMPORTANT: Omitted parameters are not changed.
See also DPARms.
________
PASSword
________
Default key: Alt-W
Description: Send current password.
Example:
{COMMO} (tm) Macro Programming Guide 55
{password} No arguments.
The current password is obtained from the Dialing Directory entry
whenever a number is dialed. If no password is specified no
characters will be sent.
_____
PAUSe
_____
Default key: none
Description: Pause for up to 999 seconds.
Example:
{pause 25} Pause for 25 seconds.
NOTE: Incoming characters displayed during a PAUSe function are
not seen by subsequent CALOok/GOLOok/LOOKfor functions.
________
POPStack
________
Default key: none
Description: Pop an element from the macro stack.
Switches:
C1 or C Clear all elements from the stack.
C0 Pop the top element (default).
Examples:
{pops} Pop the top element.
{pops-c} Clear the stack.
POPStack throws away the top element on the macro stack. This
element would have been used by the next RETUrn function.
See PUSHstack for a more complete description of the use of this
function.
See also CALL, RETUrn.
{COMMO} (tm) Macro Programming Guide 56
________
PRINtlog
________
Default key: Alt-2
Description: Set Print Log toggle.
Examples:
{print} Toggle Print Log on/off.
{print y} Turn on Print Log.
{print n} Turn off Print Log.
_________
PUSHstack
_________
Default key: none
Description: Push a return point onto the macro stack.
Examples:
{push} Push the current location.
{push abc} Push the location "abc".
When there are no arguments, the location pushed is the location
of the PUSHstack function itself (i.e., it will be executed again
when a RETUrn is encountered).
Explanation: Whenever a CALL is executed, the location of the
function following the CALL (the "return point") is "pushed" onto
the macro stack. When a subsequent RETUrn is executed, the
location at the top of the stack is "popped" and control is
transferred to that location. This allows "nesting" of CALLs and
RETUrns.
PUSHstack will push a return point onto the macro stack without
transferring control to the location (control continues in
sequence). A subsequent RETUrn will transfer control to the
location that was pushed.
POPStack will remove the top stack element without transferring
control to it (control continues in sequence).
See also CALL, RETUrn.
{COMMO} (tm) Macro Programming Guide 57
______
RCLOse
______
Default key: none
Description: Close the read file.
Example:
{rclose} No arguments.
NOTE: The read file will be closed automatically in the
following situations:
1) When an attempt is made to read past the end of the
file.
2) When the macro terminates (STOP, EXIT, etc.).
See also ROPEn, READ.
____
READ
____
Default key: none
Description: Read a line from the read file to a variable.
Example:
{read nextline} Read the next line in the file into
the variable "nextline."
TIPS on reading files:
> Each READ will get another line until the end of the file is
encountered, at which time control will GOTO the label
specified when the file was opened. If no label was
specified (or the label is invalid) control continues in
sequence.
> ALL control characters (below ASCII 28) will be discarded,
including the carriage return/linefeed that terminates the
line.
> A file must be open for reading or a macro error will
result.
See also ROPEn, RCLOse
{COMMO} (tm) Macro Programming Guide 58
______
RETUrn
______
Default key: none
Description: Return from a CALLed macro.
Example:
{return} No arguments.
This function will return control to a location determined by the
last CALL or PUSHstack function. See PUSHstack for a more
complete description of CALL and RETUrn.
NOTE: If a RETUrn is encountered and no CALL or PUSHstack has
been executed, a STOP will occur. This is useful in macros that
are CALLed and are also used standalone (such as protocol file
transfer macros).
See also CALL, PUSHstack, POPStack.
_____
ROPEn
_____
Default key: none
Description: Open a file for reading.
General Form:
{ROPEn name,label}
name The name of a string variable.
label A label to GOTO when a READ is attempted at
the end of the file.
Example:
{ropen c:\bbs\file.txt,nomore} Open the file and set the
label "nomore" to GOTO
when the end of the file
is reached.
TIPS on using ROPEn:
> Only one file may be opened for reading (and one for
writing).
{COMMO} (tm) Macro Programming Guide 59
> The file will be automatically closed when the end of the
file is encountered during a READ (whether or not a label is
specified). An RCLOse is not needed in this situation.
See also READ, RCLOse.
_____
RTRAn
_____
Default key: none
Description: Maintain Receive Translate Table.
Switches:
I1 or I Initialize Receive Translate Table to default
values (consecutive 0 to 255).
I0 Do not initialize (default).
Examples:
{rtran y} Turn receive translation ON.
{rtran-i n} Initialize the table and turn it
OFF.
{rtran 26,0} Change ASCII 26 to null (ASCII 0,
which will not display).
{rtran-i y,#8,224,240} Initialize the table, turn receive
translation ON, change ASCII 224 to
240, 225 to 241, ..., 231 to 247.
{rtran} Toggle receive translation ON/OFF.
{rtran #13,65,78,#13,78,65,#13,97,110,#13,110,97}
ROT13 translation. This swaps the
first 13 letters of the alphabet
for the second 13.
Rules for RTRAn arguments are the same as for the {rtr=} item in
the Setup File. In addition, "n" may be used as the first
argument to turn receive translation OFF at any time.
See "Edit Setup File" in the User Guide and Reference for details
and more examples.
TIPS on using RTRAn:
{COMMO} (tm) Macro Programming Guide 60
> Some control characters are unaffected by translation when
certain features are enabled. Examples: XON (17) and XOFF
(19) are not translated when Software Flow Control is on.
ENQ (5) is not translated when ENQ/ACK emulation is on.
> When the Capture Mode is set to RAW, data will be captured
prior to translation. FILTER and SCREEN captures will
contain translated data.
> LOOKfor will always see translated data. Use FILTER Capture
Mode to see what LOOKfor sees.
> In GETString, incoming data (as well as locally typed
characters) will be translated with the Receive Translate
Table (it may be necessary to turn receive translation off
during certain GETString functions).
See also STRAn.
_______
RXMOdem
_______
Default key: none
Description: Receive a file using the Xmodem protocol.
Switches:
See RYMOdem (switches are the same).
Example:
{rxmo-ya c:\dl\file.zip} Receive "file.zip", overwrite
the file if it exists, sound
the alarm.
Only one file may be received with each RXMOdem function (the
file must be explicitly named, but need not be given the same
name as on the remote system).
See RYMOdem for tips that apply to both RXMOdem and RYMOdem.
See also SXMOdem, RYMOdem.
_______
RYMOdem
_______
Default key: none
Description: Receive files using the Ymodem Batch protocol.
{COMMO} (tm) Macro Programming Guide 61
Switches:
C1 or C Use CRC error correction (default).
C0 Use Checksum error correction.
G1 or G Use streaming (fast) transfer method.
IMPORTANT: Use only with error-correcting
modems or direct connections between
computers.
G0 Use normal (error-correcting) transfer method
(default).
Y1 or Y Overwrite an existing file when a received
file has the same name (the existing file
will be erased).
Y0 Cancel the transfer if a received file has
the same name as an existing file (default).
D1 or D Cancel transfer if carrier detect is lost
(default).
D0 Ignore state of carrier detect.
A1 or A Sound the alarm at the end of the transfer.
A0 Do not sound the alarm (default).
W Wait for a keypress at end of transfer.
Wn Wait for "n" seconds, "n" may range from 0 to
999. Press a key to cancel the wait.
Note: Default (no "W" switch) is no wait.
Examples:
{rymo-ya %dldir} Receive files into the download
directory, overwrite a file if it
exists, sound the alarm.
{rymo-gw3} Receive files using the "G" method into
the current directory. Wait 3 seconds
before returning to the Terminal Screen.
Ymodem is a "batch" protocol that will receive multiple files.
Filenames are transmitted by the sender and are used to name
files at the receiving end. A filename "collision" will cause
the transfer to cancel unless the "Y" switch is used. File sizes
are also transmitted by the sender and are used to truncate the
file to the proper size.
TIPS on using RYMOdem and RXMOdem:
> The "G" method is specified by the receiver. Be sure that
the sender allows it before starting.
{COMMO} (tm) Macro Programming Guide 62
> Block size is established by the sender and may be changed
on a block-by-block basis (always 1024 when the "G" method
is used).
> Some conditions that will cancel a transfer:
1) 10 consecutive errors.
2) Any error when "G" method is used.
3) The file to be received already exists and the "Y"
switch is not present.
4) The sender has transmitted CAN (^X) characters.
> The Exit Code (test with IFER) will be set at the end of the
transfer. The Exit Code will also be stored in the variable
"_err". 0 means success, 1 means failure.
> If the Usage Log is enabled, an entry will be made after
each file is transferred (or if a transfer is cancelled).
See also SXMOdem, RYMOdem.
______
SCREen
______
Default key: Alt-I
Description: Screen Image Save.
Examples:
{screen} Open Screen Image Save window.
{screen y} Append screen image to current
file.
{screen y,commo.scr} Append screen image to indicated
file. (and change current
pathname).
{screen n,c:\file.xyz} Change current screen image
pathname (don't save screen to
file).
__________
SCROllback
__________
Default key: Alt-K
Description: Display Scrollback Buffer
Example:
{scroll} No arguments.
{COMMO} (tm) Macro Programming Guide 63
____
SEND
____
Default key: none
Description: Send a string to the modem (serial port).
Examples:
{send Fred|~~Brucker|~~%_pass%|}
Send my first and last name with
carriage returns and 1 second delays,
then send the current password and a
<cr>.
{send ^[^[} Send two <esc> characters.
{send } Send a space (there must be two spaces,
the first is the separator).
{send %line} Send the string in the variable "line".
NOTE: See Appendix D in the User Guide and Reference for
information on how to represent any character in a SEND function.
_______
SETDial
_______
Default key: none
Description: Set parameters for dialing.
Examples:
{setdial 60,15} Set the dialing cycle timer to 60
seconds and the Inter-dial Delay to
15 seconds.
{setd ,3} Change only the Inter-dial Delay
timer.
The first argument is the dialing cycle time limit. This is the
amount of time {COMMO} will allow after sending the dial command
to the modem. Range is from 1 to 999.
{COMMO} (tm) Macro Programming Guide 64
The second argument is the inter-dial delay timer. This is the
amount of time before {COMMO} dials the next number. Range is
from 1 to 999.
NOTE: Changes to dialing parameters override the Setup File
values and remain in effect until {COMMO} is exited.
See also DIAL.
______
SETEsc
______
Default key: none
Description: Define a label to GOTO when Esc is pressed.
General form:
{setesc label}
label A label to GOTO when the user presses Esc
during macro execution.
Switches:
P1 or P The user will be prompted with, "A macro is
running. Terminate it?." If the user
answers "no," macro processing will continue
as if nothing had happened. If "yes,"
processing will GOTO the label. If the label
does not exist, a STOP will be executed. P1
is the default.
P0 The user will not be prompted. Processing
will GOTO the label if it exists, else a STOP
will be executed.
Examples:
{setesc finish} GOTO label, with prompt.
{sete-p0 done} GOTO label, without prompt.
{setesc} Reset to no label (STOP on Esc).
This function is used to "capture" the Esc key during macro
execution, especially when a MACLoad is used to load a new Macro
File. It will help prevent accidental macro terminations.
The macro at the label would typically reload COMMO.MAC, thus
restoring the user's familiar environment.
{COMMO} (tm) Macro Programming Guide 65
NOTE: In the various command windows, Esc is normally used to
exit the window. Use Ctrl-Break to bring up the prompt.
______
SETGet
______
Default key: none
Description: Set parameters for GETString functions.
General form:
{SETGet seconds,label,y/n/l,string}
seconds GETString timeout. If a character is not
entered in the specified amount of time, the
macro in the second argument will be started.
May be 0 to 999. Default is 0 (disabled).
label Timeout macro. Macro to GOTO if the time in
the first argument expires. If no macro is
specified or if the macro label is invalid,
control will pass to the function following
the GETString. Default is no macro.
Note that if the timer expires no variable
assignment will be made. Any previous
assignment will be unaltered.
y/n/l Echo Status. If this is "yes", characters
entered at the local or remote terminals will
be echoed back to the remote and displayed
locally. This is the default.
If "no", characters will not be echoed to
either location.
If "local", characters will be displayed
locally, but not echoed to the remote. This
should be used when the remote is a host
system.
IMPORTANT! This setting is independent of
Local Echo. Turn on Local Echo if necessary
for local display of data transmitted with
SEND, ASCIiup, etc.
string Terminator response. This string will be
sent and/or displayed locally (in accord with
the Echo Status) when a carriage return is
received (input terminated). This is
{COMMO} (tm) Macro Programming Guide 66
typically a carriage return/linefeed. May be
up to 32 characters. Default is no string.
Example:
{setg 120,noget,y,^m^j} Set GETString parameters.
The SETGet function will set parameters for all subsequent
GETString functions. It may be executed at any time to modify
the parameters.
When macro processing terminates, the parameters will be reset to
the default values.
Default arguments are: GETString timeout 0 (disabled)
Timeout macro none
Echo status y (echo on)
Terminator response none
IMPORTANT! Null arguments in the SETGet function will be set to
these defaults.
See also: GETString.
_______
SETLook
_______
Default key: none
Description: Set parameters for LOOKfor functions.
General form:
{SETLook seconds,label,seconds,string}
seconds LOOKfor timeout. Maximum time in seconds to
look for a string. If the string is not
found in the allotted time, the macro in the
second argument will be started. May be 0 to
999. Default is 0 (disabled).
label Timeout macro. Macro to GOTO if the time in
the first argument expires. If no macro is
specified or if the macro label is invalid,
control will pass to the function following
the LOOKfor.
seconds Prompt timeout. During a LOOKfor function
unwanted prompts may appear like "Press any
key" or "More [Y/n]", etc. This argument is
{COMMO} (tm) Macro Programming Guide 67
the time in seconds to wait at a prompt (no
input from the modem) before sending the
string in the fourth argument. Usually you
would send "|" or "n|".
When the response string is sent the timer is
restarted, allowing any number of prompts to
be satisfied (until the LOOKfor itself is
satisfied or times out).
The timer will also be restarted if any keys
are typed while waiting. This allows a
manual response to a prompt which the macro
does not handle.
IMPORTANT! The prompt timeout should be long
enough (or disabled entirely) to prevent the
response from being sent when there is a long
delay without a prompt. This might occur
right after connection while the BBS software
is loading or when a "door" program is
loading.
Failure to heed this warning will result in
"n" responses to "First name?" and other
undesirable effects.
May be 0 to 999. Default is 0 (disabled).
string Prompt response. String to send when the
time in the third argument runs out. May be
up to 32 characters. Default is no string.
Example:
{setl 60,abc,4,n|} Set LOOKfor parameters
The SETLook function will set parameters for subsequent LOOKfor
functions and may be executed at any time to modify the
parameters.
When macro processing terminates, the parameters will be reset to
the default values.
Default arguments are: LOOKfor timeout 0 (disabled)
Timeout macro none
Prompt timeout 0 (disabled)
Prompt response none
IMPORTANT! Null arguments in the SETLook function will revert to
these defaults.
{COMMO} (tm) Macro Programming Guide 68
See also: LOOKfor, CALOok, GOLOok.
___________
SETVariable
___________
Default key: none
Description: Assign a string to a variable name.
General form:
{SETVariable name,string}
name The name of the variable to which the string
will be assigned.
string The string may be the name of another {COMMO}
variable or an environment variable. In
these cases further expansion is controlled
by switches (see below).
Switches:
E1 or E This switch indicates that the second
argument is a DOS environment variable. If
it is not found in the environment, the
{COMMO} variable will be set to NULL.
Note that environment variable names are CASE
SENSITIVE (they are usually upper case).
E0 Normal variable (default).
S1 or S This switch will cause "double expansion" of
the second argument (indirect variable).
First {COMMO} will substitute any variables
indicated by "%" signs. The resulting string
(which must NOT begin with a "%") will then
be treated as a variable name and expanded
again.
This facility may be used to create a
"subscript."
S0 Single expansion (default).
Examples:
{setv net,nodeid} Assign the string "nodeid" to
the variable name "net".
{COMMO} (tm) Macro Programming Guide 69
{setv nodeid,dirasnt} Assign the string "dirasnt" to
the variable name "nodeid".
{setv-s bbs,nodeid} Assuming the above examples
have been executed, this will
set the variable "bbs" to
"dirasnt".
{setv-s board,%net} Assuming the above examples
have been executed, this will
set the variable "board" to
"dirasnt".
{setv-s xxx,yyy%index} Suppose the variable "index"
has the value "3". It will be
expanded first, then "yyy3"
will be expanded and its value
assigned to "xxx".
{setv-e abc,TABLE} Assuming a "SET TABLE=" DOS
command has been executed
prior to running {COMMO}, the
variable "abc" will be set to
the environment string.
{setv abc} or {setv abc,} Set the variable "abc" to null
(it will be deleted from
variable space).
_____
SFLOw
_____
Default key: none
Description: Set Software Flow Control toggle.
Examples:
{sflow} Toggle Software Flow Control on/off.
{sflow y} Turn on Software Flow Control.
{sflow n} Turn off Software Flow Control.
_____
SHELl
_____
Default key: Alt-S
Description: Shell to DOS.
{COMMO} (tm) Macro Programming Guide 70
Switches:
S1 or S Swap to disk before shelling to DOS (see
details under EXECute, "Using the Swap to
Disk Switch").
S0 Do not swap to disk (default).
Examples:
{shell} No arguments.
{shell-s} Swap to disk before shelling to DOS.
______
SIGNal
______
Default key: none
Description: Set state of hardware signals.
Switches:
D1 or D Set DTR high.
D0 Set DTR low.
R1 or R Set RTS high.
R0 Set RTS low.
Example:
{signal-d0r1} Turn off DTR, turn on RTS.
The "D" and "R" switches are used to control the RS-232C signals
DTR (Data Terminal Ready) and RTS (Request To Send). The default
for each switch is to leave the signal unchanged. Use these with
care due to interaction with Hardware Flow Control, etc.
_____
SOUNd
_____
Default key: none
Description: Set Master Sound toggle.
Examples:
{sound} Toggle Master Sound on/off.
{sound y} Turn on Master Sound.
{sound n} Turn off Master Sound.
{COMMO} (tm) Macro Programming Guide 71
_______
SPDCtrl
_______
Default key: none
Description: Serial port display control.
Examples:
{spdc y} Serial port display is ON.
{spdc n} Serial port display is OFF.
This function will suppress display of any data received from the
serial port. It can be used when a "clean" display is desired
during automated procedures.
TIPS on using SPDCtrl:
> Serial port display can be suppressed only while a macro is
running (it will be restored to ON at macro termination).
> ANSI control sequences are not processed while the display
is OFF (Terminal Emulation effectively reverts to TTY).
> LOOKfor will function normally, but remember that ANSI
sequences are not stripped. Make a manual run using TTY
emulation to see what the LOOKfor will see.
> SCREEN Capture Mode will not capture any of the incoming
data. Use RAW mode or FILTER mode instead (FILTER capture
will be affected by the Translate Table, but will still
contain ANSI sequences).
_______
SPOCtrl
_______
Default key: none
Description: Serial port output control.
Examples:
{spoc y} Serial port output is ON.
{spoc n} Serial port output is OFF.
This function will inhibit any data from being sent to the serial
port. All other program operations will be normal. It is used
for "local mode" in host macros (no data is sent to the modem).
{COMMO} (tm) Macro Programming Guide 72
Serial port output can be inhibited only while a macro is running
(it will be restored to ON at macro termination).
__________
STATusline
__________
Default key: none
Description: Set Status Line toggle.
IMPORTANT! The Status Line is {COMMO}'s instrument panel. You
should not turn it off until you are familiar with operating the
program.
Examples:
{statusline} Toggle Status Line on/off.
{status y} Turn on Status Line.
{status n} Turn off Status Line.
When the Status Line is off (not visible), the bottom line of the
display becomes part of the Terminal Screen.
The STATusline function is ignored while in Chat Mode.
____
STOP
____
Default key: none
Description: Halt macro execution.
Examples:
{stop} No arguments.
{} Short form.
STOP always returns {COMMO} to manual operation in the Terminal
Screen. It should be used to end login macros.
_____
STRAn
_____
Default key: none
Description: Maintain Send Translate Table.
Switches:
{COMMO} (tm) Macro Programming Guide 73
I1 or I Initialize Send Translate Table to default
values (consecutive 0 to 255).
I0 Do not initialize (default).
Examples:
{stran y} Turn send translation ON.
{stran-i n} Initialize the table and turn it OFF.
{stran-i y,92,47} Initialize the table, turn send
translation ON, change "\" to "/".
{stran} Toggle send translation ON/OFF.
{stran #13,65,78,#13,78,65,#13,97,110,#13,110,97}
ROT13 translation. This swaps the first
13 letters of the alphabet for the
second 13.
Rules for STRAn arguments are the same as for the {str=} item in
the Setup File. In addition, "n" may be used as the first
argument to turn send translation OFF at any time.
See "Edit Setup File" in the User Guide and Reference for details
and more examples.
TIPS on using STRAn:
> Some control characters are unaffected by translation when
certain features are enabled. Examples: XON (17) and XOFF
(19) are not translated when Software Flow Control is on.
When ENQ/ACK emulation is on, an ACK sent in response to an
ENQ will not be translated.
> In GETString, data echoed to the modem (and displayed
locally) will be translated with the Send Translate Table
(it may be necessary to turn send translation off during
certain GETString functions).
See also RTRAn.
_________
SUBString
_________
Default key: none
Description: Move a substring to a variable.
General form:
{COMMO} (tm) Macro Programming Guide 74
{SUBString name,start,count,string}
name The name of the variable to which the
substring will be assigned.
start The starting character number (first
character is "1"). If it is negative,
{COMMO} will count in from the end of the
string.
If it is too large and positive, the
substring will be null.
If it is too large and negative, the
substring will start at the beginning of the
string.
count The number of characters to use. If the
number is too large, {COMMO} will use as many
as possible. If the count is 0, the
substring will be null.
string The string to use.
Examples:
{subs var-sub,2,4,abcdefgh} Set "var-sub" to "bcde".
{subs newvar,-5,20,abcdefgh} Set "newvar" to "defgh".
_______
SXMOdem
_______
Default key: none
Description: Send a file using the Xmodem protocol.
Switches:
See SYMOdem (switches are the same).
Example:
{sxmo-ka c:\ul\file.zip} Send "file.zip" using 1024
byte block size, sound the
alarm.
Only one file may be sent with each SXMOdem function.
See SYMOdem for tips that apply to both SXMOdem and SYMOdem.
{COMMO} (tm) Macro Programming Guide 75
See also RXMOdem, SYMOdem.
_______
SYMOdem
_______
Default key: none
Description: Send a file using the Ymodem Batch protocol.
Switches:
K1 or K Use 1024 byte block size (Xmodem-1k).
K0 Use 128 byte block size (default).
D1 or D Cancel transfer if carrier detect is lost
(default).
D0 Ignore state of carrier detect.
A1 or A Sound the alarm at end of transfer.
A0 Do not sound the alarm (default).
W Wait for a keypress at end of transfer.
Wn Wait for "n" seconds, "n" may range from 0 to
999. Press a key to cancel the wait.
Note: Default (no "W" switch) is no wait.
Examples:
{symo-ka %uldir\*.zip} Send all .ZIP files in the
upload directory using 1024
byte block size, sound the
alarm.
{symo-k c:\subdir\*.*,@c:\ul\file.lst,info.txt,a:*.qw?}
Send all files listed using
1024 byte block size.
Any combination of file specifications may be listed in the
SYMOdem function (separated with commas). These may include
wildcard specifiers (*,?), the indirect file specifier (@) and
any single files.
If a filespec is preceded with the "@" sign, it will be assumed
to be an "indirect file." This means that it is a text file
containing a list of filespecs. Filespecs should be listed one
per line and each line should end with a cr/lf. Each filespec
may contain wildcards. For example:
c:\subdir\*.*
info.txt
a:*.qw?
{COMMO} (tm) Macro Programming Guide 76
TIPS on using SYMOdem and SXMOdem:
> CRC vs. Csum mode is established by the receiver.
> Use of "G" method is established by the receiver.
> Some conditions that will cancel a transfer:
1) 10 consecutive errors.
2) Any error when "G" method is used.
3) The receiver has transmitted CAN (^X) characters.
> The Exit Code (test with IFER) will be set at the end of the
transfer. The Exit Code will also be stored in the variable
"_err". 0 means success, 1 means failure.
> If the Usage Log is enabled, an entry will be made after
each file is transferred (or if a transfer is cancelled).
See also RYMOdem, SXMOdem.
_______
TOGGles
_______
Default key: Alt-T
Description: Set various toggle parameters.
Example:
{toggles} Open Set Toggles window.
______
UNMArk
______
Default key: none
Description: Unmark Dialing Directory entries.
Switches:
L1 or L Unmark last-dialed entry only.
L0 Unmark all or listed entries (default).
Examples:
{unmark joes-bbs,file-city} Unmark listed entries.
{unmark} Unmark all entries.
{unmark-L} Unmark last-dialed entry.
{COMMO} (tm) Macro Programming Guide 77
NOTE: When the "L" switch is present, any Dialing Strings listed
will be ignored.
Dialing Strings may be separated by spaces or commas.
{COMMO} will search the Dialing Directory for each string and
unmark the first entry where a match is found. Case is ignored.
The strings may consist of any part of a Dialing Directory entry
line (including strings contained within curly braces), but must
NOT contain any spaces, commas or curly braces.
See also: DIAL, MARK.
_____
VTCUr
_____
Default key: none
Description: Define a VT102 cursor (arrow) key.
Example:
{vtcur ^[[A|^[OA} Define up-arrow key strings.
The first string is sent when cursor mode is active; the second
string is sent when application mode is active (these modes are
controlled by the host).
The two strings must be separated by a "|". Use "^m" for
carriage return if necessary.
See also VTPAd.
_____
VTPAd
_____
Default key: none
Description: Define a VT102 keypad key.
Example:
{vtpad 5|^[Ou} Define keypad "5" key strings.
The first string is sent when numeric mode is active; the second
string is sent when application mode is active (these modes are
controlled by the host).
{COMMO} (tm) Macro Programming Guide 78
The two strings must be separated by a "|". Use "^m" for
carriage return if necessary.
See also VTCUr.
______
WCLOse
______
Default key: none
Description: Close the write file.
Example:
{wclose} No arguments.
NOTE: The write file will be closed automatically when the macro
terminates (STOP, EXIT, etc.).
See also WOPEn, WRITE.
_____
WOPEn
_____
Default key: none
Description: Open a file for writing.
Switches:
A1 or A Open the file in "append" mode. New lines
written to the file will be added at the end.
If the file doesn't exist, it will be
created.
A0 Open the file in "create" mode. If the file
exists, it will be erased (default).
Examples:
{wopen c:\bbs\file.txt} Open the file in create mode.
{wopen-a c:\data\word.fil} Open the file in append mode.
TIP on using WOPEn:
> Only one file may be opened for writing (and one for
reading).
See also WRITe, WCLOse.
{COMMO} (tm) Macro Programming Guide 79
_____
WRITe
_____
Default key: none
Description: Write a string to the write file.
Examples:
{write %nextline} Write the contents of the variable
"nextline" to the write file.
{write} Write a carriage return/linefeed
only (blank line) to the file.
{write %num%> } Write the contents of "num"
followed by a ">" and a space.
TIPS on writing to files:
> A file must be open for writing or a macro error will
result.
> The string will be written as one line, terminated by a
carriage return/linefeed.
> Control character conversion is NOT performed on the write
string.
> A macro error will result if the disk is full.
See also WOPEn, WCLOse
{COMMO} (tm) Macro Programming Guide 80
========================================
Appendix A Table of {COMMO} Key-labels
========================================
Key-labels are also macro labels with the added advantage that
the macro can be started by pressing the associated key from the
Terminal Screen. Most "extended" keys may be assigned this way.
If the same key-label appears more than once, the first
occurrence will be used. Note that key-labels are case
insensitive. The caret (^) indicates the Ctrl key.
Enhanced keyboard key-labels are listed below.
Key Name Key-label Key Name Key-label
________ _________ ________ _________
Normal-F1 nf1 ... Normal-F10 nf0
Ctrl-F1 cf1 ... Ctrl-F10 cf0
Shift-F1 sf1 ... Shift-F10 sf0
Alt-F1 af1 ... Alt-F10 af0
Alt-A ala ... Alt-Z alz
Alt-1 al1 ... Alt-0 al0
Alt = al= Alt - al-
Escape esc Grey * gr*
Grey - gr- Grey + gr+
Backspace bsp ^Backspace cbs
Tab tab Shift-tab stb
Enter ent ^Enter cen
Home hom End end
PgUp pgu PgDn pgd
Up-Arrow upa Down-Arrow dna
Left-Arrow lfa Right-Arrow rta
Insert ins Delete del
^Home chm ^End cnd
^PgUp cpu ^PgDn cpd
^Right-Arrow cra ^Left-Arrow cla
Keypad-0 kp0 ... Keypad-9 kp9
Keypad-. kp. ^PrtSc cpr
{COMMO} (tm) Macro Programming Guide 81
Enhanced Keyboard Key-labels
============================
IMPORTANT! To use the following keys you must tell {COMMO} to
test for the enhanced keyboard. The item {tek=yes} must appear
in your Setup File.
Normal-F11 nfa Normal-F12 nfb
Ctrl-F11 cfa Ctrl-F12 cfb
Shift-F11 sfa Shift-F12 sfb
Alt-F11 afa Alt-F12 afb
Alt-[ al[ Alt-] al]
Alt-; al; Alt-' al'
Alt-, al< Alt-. al.
Alt-/ al/ Alt-\ al\
Alt-* al* Alt-` al`
Center Key cky
The Center Key is the Keypad 5 with Numlock off.
The keys in the second group may also work with the 83-key
keyboard if your BIOS supports the enhanced keyboard.
{COMMO} (tm) Macro Programming Guide 82
=======================================
Appendix B List of Reserved Variables
=======================================
USER-DEFINED Reserved Variables
-------------------------------
_modini Modem Initialization String
_dialpf Default dialing prefix
_dialsf Default dialing suffix
_dialsr Dialing success response(s)
_dialfr Dialing failure response(s)
_dialir Inter-dial Delay response(s)
_dialrt Dialing response text, available (1) after a
dialing attempt if _dtc = 1 or 2, or (2) in
the Inter-dial Delay macro.
_uselog Pathname of Usage Log
BUILT-IN Variables
------------------
_hom {COMMO} home directory: c:\commo\, etc.
_set Filename of Setup File, usually COMMO.SET
_fon Filename of Dialing Directory, usually COMMO.FON
_mac Filename of default Macro File, usually COMMO.MAC
_cap Current Capture File pathname
_scr Current Screen Image File pathname
_err Errorlevel from last EXEC-D or internal file
transfer protocol
_pos Position in string
_len Length of string
_por Current serial port number: 1, 2, etc.
_spe Current serial port speed: 2400, 9600, etc.
_mod Last speed reported by modem
_nci Number of characters in input buffer (received and
not yet displayed)
_dtc Dialing termination code (available after each
dialing attempt). Values are:
0 = no systems were marked
1 = successful connection
2 = failure response received
3 = timed out
4 = operator intervention
_rem Remainder from last DIVIde
_pas Current Password String
_ela Elapsed time in minutes
_dat Full date (format defined in Setup File)
{COMMO} (tm) Macro Programming Guide 83
_mon Month, mm
_day Day of the month, dd
_yea Year, yy
_dwn Numeric day of the week: 1=Mon, ... , 7=Sun
_dwt Text day of the week: Mon, Tue, ...
_tim Full time (format defined in Setup File)
_24h 24 hour, hh
_12h 12 hour, hh
_amp Am/pm indicator, xm
_min Minute, mm
_sec Second, ss
_row Current cursor row
_col Current cursor column
{COMMO} (tm) Macro Programming Guide 84
============================================
Appendix C Macro Functions Listed by Class
============================================
Variable manipulation
---------------------
SETVariable Assign a string to a variable name
INCRement Increase a numeric variable
DECRement Decrease a numeric variable
MULTiply Multiply a numeric variable
DIVIde Divide a numeric variable
INSTring Find a string within a string
SUBString Move a substring to a variable
LENGth Determine the length of a string
Looking for text
----------------
AUTO Auto Receive
SETLook Set LOOKfor parameters
CALOok Additional string to look for
GOLOok Additional string to look for
LOOKfor Look for string from port
File Input/Output
-----------------
ROPEn Open a file for reading
READ Read from a file to a variable
RCLOse Close the read file
WOPEn Open a file for writing
WRITe Write to a file from a variable
WCLOse Close the write file
Dialing/connect/disconnect
--------------------------
SETDial Set dialing timers
DIAL Dialing Directory
DPARms Set dialing default parameters
HANGup Drop DTR to hangup
MARK Mark numbers for dialing
UNMArk Unmark Dialing Directory entries
ABAUd AutoBaud toggle
Modem control
-------------
PARMs Set current terminal parameters
LOCAlecho Local Echo toggle
INITmodem Send modem init string
{COMMO} (tm) Macro Programming Guide 85
HFLOW Hardware flow control
SFLOw Software flow control
BREAk Send Break
LIGHts Signal Lights toggle
SIGNal Set state of hardware signals
SPOCtrl Serial port output control
Send/receive data
-----------------
ASCIiup ASCII Upload
SEND Send a text string
CAPMode Set Capture Mode
CAPTure Capture File Options
SETGet Set GETString parameters
GETString Get a string from the modem
RXMOdem Receive a file using Xmodem
SXMOdem Send a file using Xmodem
RYMOdem Receive a file using Ymodem
SYMOdem Send a file using Ymodem
PASSword Send current password
RTRAn Maintain receive Translate Table
STRAn Maintain send Translate Table
VTCUr VT102 cursor key strings
VTPAd VT102 keypad key strings
Testing
-------
COMPare Compare a variable to a string
IFCOndition Test conditions set by COMPare
IFERrorlevel Test if Exit Code number
IFEXist Test for existence of file(s)
IFCArrier Test for presence of carrier detect
Macro control
-------------
CALL Execute a macro
RETUrn Return from a CALL
PUSHstack Push a location to the macro stack
POPStack Pop from the macro stack
GOTO Transfer control to a label
STOP Stop macro processing
MACLoad Load a new Macro File
PAUSe Pause for interval 1-999 second
HOLD Hold until specified 24 hr time
NOCArrier Set a label to GOTO when carrier is lost
SETEsc Set a label to GOTO on Esc
Video/sound related
-------------------
{COMMO} (tm) Macro Programming Guide 86
CLEAr Clear Screen
CURSor Terminal Screen cursor toggle
DISPlay Display a string to the screen
SCREen Screen Image Save
SPDCtrl Serial port display control
STATusline Status Line on/off toggle
SOUNd Master Sound toggle
ALARm Ring the alarm
BEEP Sound a beep
Miscellaneous
-------------
CHATmode Chat Mode toggle
DOORway Doorway Mode toggle
ELAPse Reset the elapsed timer
EDIT Edit a file
EXECute Execute a DOS command
EXIT Exit {COMMO}
HELP Online Help topic
INPUt Input from the keyboard
MACRo Macro Processor window
NOOP No-op function, does nothing
PRINtlog Print Log toggle
SCROllback Display Scrollback Buffer
SHELl Shell to DOS
TOGGles Set Toggles
- end -
{COMMO} 4.xx to 5.xx Upgrade Guide
----------------------------------
Upgrading is very easy if you follow the instructions below. These changes
will bring you up to date. Then you will probably want to take advantage of
the new features to greatly increase the power of your macros.
Configuration File
------------------
COMMO.CFG has been replaced with COMMO.SET. All items in this new file are
"keyworded." This means that in the future you will only have to add an item
or two to become current. You won't have to redo the entire file any more.
The easiest way to upgrade to the new Setup File is to print out your
Configuration File. Then start {COMMO} 5.xx and press Alt-G to edit the Setup
File. Change any items as needed, then exit and restart {COMMO} (the Setup
File is processed only at startup now).
Dialing Directory
-----------------
You will only need to change your Dialing Directory if you have used any
alternate Dialing Prefixes -- #1, #2, #3 or #4.
The Dialing Prefix items in the Configuration File are gone, but you may now
establish String Variables to have as many prefixes (or suffixes) as desired.
For example, suppose you had this in 4.xx:
23 * {AT U1 DT} Dial Prefix #2
and you had a Dialing Directory entry:
Joes-BBS {#2 555-1234} {pword} ...
In 5.xx you would put the following in your Setup File:
{set prefix2,AT U1 DT} Alternate prefix
You could use a variable name of your choice instead of "prefix2."
Finally, in your Dialing Directory change the entry to:
Joes-BBS {%prefix2% 555-1234} {pword} ...
Macro File
----------
Macro labels (they used to be called macro-id's) must now begin with a colon
(:). They may also be made up of one or more characters, of which the first
eight are significant.
So just change all your macro labels from {abc} to {:abc}, etc., for now.
The password must now be specified with the built-in variable "_pas". So just
replace all occurrences of "#" with "%_pas".
The EXECute "%" parameters have all been replaced with String Variables or
with Function Switches. Here is a list of parameters and what to change them
to:
Old Parameter Change to
------------- ---------
%a Use "A" switch: EXEC-A ...
%w Use "W" switch: EXEC-W ...
%p %_port (or %_por)
%s %_speed (or %_spe)
%m %_modem (or %_mod)
%c %_cap
%u String variable, "%uldir" for example.
%d String variable, "%dldir" for example.
%k Control character, e.g. change "%k^L" to just "^L".
%i Use INPUt function prior to EXEC. See example
below.
EXED and EXEN are no longer valid functions and must be specified with
Function Switches. Change EXED to EXEC-D and EXEN to EXEC-N.
Note that Function Switches may be used in any combination. Here is an
example of a macro to upload a file using Zmodem with DSZ:
ZMODEM batch {:af2} {setv file,%uldir\}
{input file,Enter a filename to UPLOAD}
{exec-AWD c:\proto\DSZ.com port %_port sz -m %file} {}
This sets the temporary variable "file" to the upload directory "uldir". The
INPUt function will display the current value of "file" in the input line
(with the cursor at the end).
Then DSZ will be run (direct, because of the "D" switch). The contents of the
variable "file" will be used for the filename. After DSZ executes, the alarm
will sound ("A" switch) and {COMMO} will wait for a key press ("W" switch) so
you can see the results.
A few other functions now have Function Switches to replace other parameters:
Change To
------ --
{dial 5,abc,c} {dial-C 5,abc}
{macload other.mac,abc,r} {macload-R other.mac,abc}
{doorway s} {doorway-S}
Key Changes
-----------
A number of key commands now have different default keys. These new keys may
conflict with existing macros, so check them carefully. Here is a list of the
changes:
Old key New key Key Command
------- ------- -----------
Alt-H F1 Online Help
Alt-Q Alt-H Hang Up Modem
Alt-U Alt-N Multi Number Dial
Alt-L Alt-P Set Terminal Parameters
Alt-P Alt-W Send Password String
Alt-3 Alt-T Master Sound toggle
Alt-4 Alt-T AutoBaud toggle
Alt-5 Alt-T Local Echo toggle
Alt-0 Alt-T Signal Lights toggle
- end -
The contents of all files in the {COMMO} archives are:
(C)Copyright 1989,1992 Fred P. Brucker All Rights Reserved
--------------------------------
{COMMO} Distribution Information
--------------------------------
ELECTRONIC BULLETIN BOARD systems (BBS's, including ONLINE
COMMERCIAL SERVICES) may distribute the {COMMO} Shareware packages
(all files in the original archives must be present and
unaltered).
PC user groups, computer clubs and COMMERCIAL DISTRIBUTORS of
Shareware may distribute {COMMO} (standard version and HP 95LX
version) on diskette and/or CD ROM if the following conditions are
met:
1) ALL files contained in the original {COMMO} archives (as listed
in READ.ME and READ95.ME) must be distributed INTACT and
UNMODIFIED. They must be contained on their own diskette or
within their own archive or subdirectory.
2) The charge for distribution must be no more than $10.00 per
diskette (plus shipping and handling; does not apply to CD
ROM).
3) Your literature must contain a clear and prominent explanation
of the SHAREWARE CONCEPT and state that a SHAREWARE FEE is to
be paid to the author if the program is used beyond the trial
period.
Any other means of distribution without express written permission
is strictly prohibited.
P C - S I G
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Welcome to the world of Shareware, state of the art software you can
actually try before you buy.
Shareware, a term coined in the early eighties, refers to the method of
distribution chosen by the software authors. With shareware, you can
receive a program and put it through its paces without having to pay for
it. If you find the program useful, and choose to keep the program, then
you pay a modest registration fee to the author.
For the last nine years, PC-SIG has been providing shareware and public
domain software to its customers and members. Since 1982 PC-SIG has
developed an unprecedented library of shareware programs, constantly
updated, consistently strong in every category. Our library of
shareware contains over 2700 titles divided into 120 logical categories.
Every program we add to the library is thoroughly reviewed and tested to
insure that each one meets the high standards of reliability and value we
insist upon and you expect. As a result, our library doesn't contain
every shareware program available, just those that really work.
PC-SIG has grown into the premier distributor of shareware and and
shareware information by producing shareware collections on CD-ROM,
publishing an encyclopedia of shareware, and by publishing Shareware
Magazine, a bi-monthly magazine distributed world-wide.
Quality and support - guaranteed. All of our programs are guaranteed
virus free. We've isolated our systems and check every program
submitted to insure that no viruses make their way to your computer or
ours.
Our support staff is available by phone as well as on our BBS to help
you with questions about installation and operation of PC-SIG's
products.
Through our network of international distributors, PC- SIG strives to
bring you the most current, exciting, technically advanced software
available as shareware.
If you can't find the software you need in PC-SIG's library, it may well
not exist.
To order the latest in Shareware, in the U.S.A: Call (800) 245-6717
Outside the U.S.A. call (408) 730-9291 for the name of the dealer in
your country.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
S H A R E W A R E M A G A Z I N E
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Shareware Magazine has distinguished itself as the only internationally
distributed periodical devoted to the use and business of shareware.
Shareware Magazine provides detailed reviews of new products,
hard-hitting comparisons of shareware programs with regular retail
software, and timely information about changes in the industry and the
latest technology.
Intriguing columnists and regular features add to the excitement. The
beginners section sheds light on new user's concerns regarding
everything from choosing the right operating system to alleviating the
intimidation of using on-line systems.
Educational sections focus on how low cost shareware can aid in
classroom learning, curriculum development, and as a forum for
discussing the impact of computers and technology in schools.
Graphics Gallery renders expert advice and suggestions on how to better
work with graphics, desktop publishing, CAD systems, and the Windows
environment.
Programmers benefit from others experience in developing new programs or
polishing existing ones as well as choosing the right programming
language.
And columnists provide that subjective component, sometimes
controversial, that calls for a closer look at the way we compute and
how shareware effects what we do.
Published bimonthly, Shareware Magazine is available on a subscription
or at your local newsstand or computer bookstore. In conjunction with
PC-SIG, there are special benefits for subscribers as well as
opportunities for discount purchases from PC-SIG.
To Order, in the U.S.A.: Call 800-245-6717 and ask Customer Service.
Outside the U.S.A. call (408) 730-9291 for the name of the dealer in
your country.
[B]
FROM: ___________________________
___________________________
___________________________
[A] [B]
___________________________
PC-SIG Inc.
[A] [B]
1030-D East Duane Avenue
Sunnyvale California
94086
Fold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fold
HOW TO USE THIS RETURN ENVELOPE
1. Place any other pages underneath this page.
2. Using the Fold lines (above) as a guide, fold this flap under.
3. Fold the address flap so it covers this flap.
4. Tape or staple the envelope at the two spots marked [A].
5. Slip in any other enclosures (business cards, cheques, etc.).
6. Tape or staple the envelope at the spots marked [B].
THANKS FOR TAKING THE TIME TO PRINT THIS FORM -*- MAIL YOUR ORDER TO:
PC-SIG Inc. 1030-D East Duane Avenue Sunnyvale CA 94086
---------------------------------------------------------------------
Do not mail cash. Please allow four weeks for processing.
---------------------------------------------------------------------
Check the items desired:
PC-SIG Disks - Member $2.49 for 5.25" or $2.99 for 3.5"
Non-member $3.25 for 5.25" or $3.75 for 3.5"
_____ _____ _____ _____ _____ _____ _____ _____ _____
_____ _____ _____ _____ _____ _____ _____ _____ _____
_____ _____ _____ _____ _____ _____ _____ _____ total ______
One year subscription to Shareware Magazine $12.95 ______
Super Saver Membership $34.95 ______
(includes a 1 year subscription to Shareware Magazine )
(also The Encyclopedia of Shareware, and 5 free disks )
The Encyclopedia of Shareware special price at $14.95 ______
The Essential Home & Business Collection for $59.00 ______
*** PC-SIG Library on CD-ROM 11th Edition *** $159.00 ______
NEW LOWER PRICE!
Upgrade to the 11th Edition from ANY previous edition
of the PC-SIG Library on CD-ROM! $85.00 ______
Upgrade from ANY other shareware CD-ROM just $99.00 ______
Subtotal ______
If you want 3-1/2 inch disks please add .25 cents per disk ______
Shipping and Handling $4.00
California residents add 8.25% sales tax ______
TOTAL ______
If you have any comments or suggestions, please let us know!
To order by phone with VISA or MASTERCARD call (800)245-6717
Ask for operator #2316
*****
TO PRINT THIS ORDER FORM, PRESS ANY KEY AND
THEN "Quit" ONCE TO RETURN TO THE MAIN MENU.
SELECT "Print Reply Form."
Volume in drive A has no label
Directory of A:\
PKUNZIP EXE 23528 3-15-90 1:10a
COMMO53 ZIP 185208 6-20-92 5:50p
PCOMM170 ZIP 59628 5-22-92 5:12p
CDROM TXT 3972 6-24-92 1:25p
SHAREMAG TXT 1837 1-21-92 6:11a
PCSIG TXT 2335 1-21-92 6:09a
GO EXE 26022 1-10-92 12:14p
GO-FORM DAT 3109 6-29-92 3:26p
GO-STRT DAT 536 8-31-92 9:01a
SIGORDER TXT 3332 6-25-92 2:28p
LIST COM 20951 9-05-90 8:04a
11 file(s) 330458 bytes
26624 bytes free