Recent Revision History
-----------------------

This file contains a list of changes to the current release and also to one or
more previous releases.  If you have used {COMMO} before, please make sure you
are aware of the many changes and improvements.

See the file 70INFO.DOC for important announcements and {COMMO} product
information.

IMPORTANT!  {COMMO} registration eliminates the startup delay and makes you
eligible for full technical support.


-----------                                                 ---------------
{COMMO} 7.0                                                 August 24, 1996
-----------                                                 ---------------

Bugs Fixed
----------

When arguments were used with the BEEP function, the "BEEPing" message on the
Status Line would not always go away when the BEEP was finished.

Compiling a source Macro File larger than 65510 bytes caused a system crash.

The sound on the INFOrm function didn't always work correctly after
using the "S2" switch.


Improvements/Changes
--------------------

{COMMO} now supports external communications drivers that use the standard INT
14 interface.  These include various FOSSIL drivers, network communications
drivers, Internet protocol drivers and the BIOS in your computer (which was
the original INT 14 interface).

  See the new Appendix L for instructions on using the INT 14 interface.

You can now set any port speed that is valid for your serial port (or internal
modem).  If you try to set an invalid speed, {COMMO} will set the nearest
valid speed.  Note that the two character speed abbreviations are no longer
allowed (i.e., 57 will now be 57 bps, not 57600).

  You can also change the serial port "frequency" (for most PC hardware, this
  is 115200, which is the default).  This parameter may be specified in the
  "com=" item in COMMO.SET or with the PARMs-C macro function.  For example:
  {com=4,2e8,3,256000}.  This value must be the speed that results when the
  Baud Rate Divisor is equal to one (this is usually the crystal frequency
  divided by 16).  It may be as high as 40,000,000 bps (approx.).

16 serial ports (COM1 to COM16) are now supported.  All ports beyond COM4
default to {com=n,3f8,4}.  Change these as necessary by adding {com=...} items
in COMMO.SET.  Note that the {com=...} item is ignored when using an external
communications driver (INT 14).

The Alt+P key command now presents the Terminal Parameters in string format
and allows you to edit them directly.

You can now specify the size of Variable Space in the Setup File.  The new
item (in the Miscellaneous section) is:

  {vsp=3}               Variable Space size in kilobytes (1-64)

  Note that the value is now in kilobytes instead of bytes.

  IMPORTANT!  The /v command line switch must now be in kilobytes as well.

The SETEsc function has a new switch "K".  "K0" causes {COMMO} to ignore all
typed keys except Ctrl-Break.  "K1" (the default) allows all keys again.

  If a macro label is included with SETEsc, the macro will be executed when
  Ctrl-Break is pressed (no warning message).  Otherwise Ctrl-Break causes the
  macro to STOP.  In either case, the keyboard is active again as soon as
  Ctrl-Break is pressed.

  Example: {sete-k0 label}.

  NOTE:  System keys such as Ctrl+Alt+Del, Shift+PrtSc, NumLock, etc., are not
  affected (they remain active).

Two built-in variables have been added:

  _cfs          Capture File status: 0=closed, 1=open
  _elt          Elapsed timer in clock ticks (18ths of a second)

{COMMO} now has a B Plus protocol overlay for use on CompuServe.  The file
BPLUS1.POV must be in your {COMMO} directory.  New macros are included in
COMMO.MAC to support this.  See "Uploading / Downloading" in COMMO.DOC for
important details (this protocol is not very speech friendly.)

There is a new option "auto" for the "min=" item in COMMO.SET.  This setting
will cause the Modem Init String to be sent only if Carrier Detect is OFF at
program startup.  The /in or /iy switches will override the setting.

  {min=auto}             Send Modem Init String (auto/yes/no)

A switch "N" on the SETLook function provides an important new feature.  You
can now set a label to GOTO if no data comes in from the serial port for a
specified amount of time.  See SETLook in MACRO.DOC.

The INPUt macro function has a new switch "Lnnn" which defines the length of
the input field.  "nnn" can range from 1 to 120; values outside this range (or
no switch) will default to 60.

The Alt+U Utility Menu has a new item "U" to unload the current auxiliary
Macro File.

The SCREen macro function no longer displays a "saving" message (the message
is still displayed in manual mode).  This will speed up macros that use this
function to extract data from the screen.

In Zmodem {COMMO} will now skip incoming files whose names are not DOS
compatible.  Previously, the rest of the batch would be cancelled when such a
filename was received.

In ANSI-BBS and TTY emulation modes {COMMO} will now wrap to column 1 when a
character is displayed in the last column on the screen.  Previously the
cursor would remain in the last column until another character or positioning
command was received.  This change brings {COMMO} into line with more recent
industry standards.  Note that VT102 emulation works as before.

  Certain display situations will improve, but in rare instances you may
  notice double spacing or screen scrolling where there was none before.  This
  is normal and must be corrected at the host (which can turn off linewrap,
  if necessary; see Appendix E).

The restriction that port addresses must be 200h or greater has been
eliminated.  Use addresses below 200h with caution.

The key-label "art" has been replaced with "aen" (Alt+Enter).  Macros that use
"art" will have to be changed to "aen".


Speech Friendly Interface
-------------------------

The "sfi" item in COMMO.SET can now be set to "expert."  The "yes" option
("novice") will speak additional information, primarily when windows pop up.

The Online Help file and the .DOC files are more speech friendly.  Brackets
have been removed from key names (for example Alt+A instead of [Alt-A]).  Most
keys are now shown on separate lines in COMMO.HLP.

The Alt+L Capture File menu has a new selection "G" to get the current Capture
File status.  It'll tell you the filename and whether the file is open or
closed.

A message announcing Chat Mode on/off will now be given when Speech is on.


-----------                                               -----------------
{COMMO} 6.6                                               December 16, 1995
-----------                                               -----------------

Bugs Fixed
----------

If no SETGet was executed, {COMMO} would sometimes send a garbage terminator
response at the end of a GETString.

The edit option on the Utility Menu was not allowing a new file to be created.

The "N" switch on EXECute was being ignored if the "S" switch was present.

When saving the screen, {COMMO} was sometimes getting more video data than
necessary (certain Windows video drivers were upset by this).

The progress indicator wasn't working properly in Ymodem and Zmodem
"mini-batch mode" (where each file is sent as a separate batch).

The "no carrier" macro feature was causing certain macro functions (LOOKfor,
GETString, PAUSe, HOLD, ASCIiup) to "fall through" when carrier dropped and no
macro label was set.  Now the function will continue as usual unless a label
has been set.

The hardware interrupt (IRQ) was not always being masked properly when exiting
{COMMO} if Shell to DOS or EXECute were used (didn't affect most systems).


Improvements/Changes
--------------------

* The five Terminal Parameters in the {ddp=...} item in COMMO.SET may now be
specified as separate items (this should make it easier for new users).  The
new COMMO.SET reflects this change (note that "ddp" is still valid).

* Modem messages received during a successful dialing attempt can now be
displayed to the screen (and captured if applicable) after the connection is
established.  This is controlled by a new item in COMMO.SET "dcm=".  Set it to
"yes" to display the messages.

* A new variation "S2" has been added to the "S" switch on the SETVariable
macro function.  It tells {COMMO} to expand all variables in the second
argument (as usual), then expand the second argument again.  This allows
variables that are contained within variables to be expanded.

  Note that this differs from SETV-S (or S1) which expands the original
  string, then treats the expanded string as a variable name, which is then
  expanded.

* The SEND function now has a "W" switch:

  W or W1 is the default and tells {COMMO} to wait until all characters have
  been sent out the port before proceeding to the next macro function (same as
  before).

  W0 tells {COMMO} to queue the string to the transmit buffer and proceed
  without waiting.  If the transmit buffer is full (about 2k) {COMMO} will
  wait until the entire string has been queued to the buffer before
  preceeding.  Note that tildes and the Inter-character Delay are ignored in
  this mode.

  {send-w} or {send} (no arguments) will cause a wait until there are no
  characters left in the transmit buffer.  So you can use SEND-W0 a number of
  times, then {send-w} to wait (if synchronization is necessary).  This will
  result in faster transmission than waiting after each SEND.

* In the MENU function a new user-defined variable "_mhelp" can be set to a
label (similar to "_menter").  {COMMO} will GOTO the label if F1 is pressed.
This allows "1" or "A" to be used for a separate menu selection.  Note that if
"_mhelp" isn't defined, the first label in the "_mlabel" string will be used
if F1 is pressed (same as before).

* In the ASCII Upload window you no longer have to enter the Line Pacing
character each time.  You can just press Enter to send the file.  Or you can
press Alt-L if you want to change the pacing character.

* ASCII files received with Zmodem will now be converted to the PC end-of-line
convention (cr/lf) if so requested by the remote system.  You can get your
remote Unix system to make the request by using the command "sz -a" to send
the file(s).

* INFOrm-S2 will now make the fail sound.

* There is a new switch "C" on the PARMs macro function that lets you change
serial ports while specifying a new hardware port address and IRQ.

  The arguments for PARMs-C are the same as for the {com=...} item in the
  Setup File.  For example {parm-c 3,3e8,5} will activate COM3 at base address
  03e8 and IRQ 5.

  This feature can be used to write a macro that locates which port the modem
  is connected to.

  Note: port addresses are now limited from 0200 to ffff (hex);  IRQ's are now
  limited from 2 to 15.  Values outside these ranges will be ignored (old
  value stays in effect).

* A new switch "M" on the SHELl and EXECute macro functions is used to control
the "Swapping to Disk" message (when the "S" switch is used).  Use "M0" to
suppress the message.

* When uploading files you can now type in a new starting disk and/or
directory for the file selector ("sel_up" must be set to "no" in COMMO.SET).
This was accomplished by changes to the "gfnu" and "select" macros in
COMMO.MAC).

* You can now clear part or all of the macro Variable Space.  SETV-R will
clear to the end of Variable Space starting with the variable named in the
function.  SETV-R0 will clear all variables in Variable Space.

* A new built-in variable "_vsp" indicates the number of unused bytes in
Variable Space.

* Ring Indicate (I) is no longer included in the Signal Lights.

* The serial port startup and shutdown routines have been further refined to
deal with strange UARTs.


Speech Friendly Interface
-------------------------

* A new selection "S" has been added to the Alt-U utility menu.  Pressing "S"
will toggle speech mode on or off.  Sounds will be made to indicate the new
setting.

* A new macro in COMMO.MAC lets you press Alt-L to bring up an alternative
menu for Capture Options.  This new menu should be easier for speech users.

* The hardware cursor will now respond to the up and down arrow keys in menus
created by the MENU function (and the Toggles menu).  This should make the
menus more speech friendly.

* The hardware cursor will now be positioned properly when entering the Online
Help, Scrollback and the Variable Space windows.  This should provide a more
consistent speech interface.


-----------                                                   -------------
{COMMO} 6.5                                                   July 15, 1995
-----------                                                   -------------

Bugs Fixed
----------

The external editor feature was causing system instability (e.g., crashes) if
the file had first been modified by the Internal Editor, but not saved with
Alt-F (causing an automatic save).

The remaining files field in the protocol window was going negative (seen as
65535) if the remote erroneously reported 0 files left.  Now it will behave as
in single file mode.

In Zmodem it was possible to get into an indefinite loop where {COMMO} would
request retransmission of a bad header and the remote would send the bad
header repeatedly.  There was no way out of this loop unless the remote
corrected the header or stopped sending.  Now {COMMO} will time out or you can
press Esc.

Updating the hardware cursor position every clock tick was causing a problem
for some speech users.  It will now be updated only when it moves.

When {sld=yes} was set, RTS was not being dropped during certain (rare) disk
accesses.

The Y and/or Z modem batch info was erroneous when files were received from
certain Ymodem or Zmodem drivers.

Zmodem would wait indefinitely at the end of a received file when the sender
was a certain (unknown) Zmodem driver.

If the incoming file in a Zmodem download was equal or shorter in size to an
existing file with the same name, the file date was set to the date of the
incoming file.

If {COMMO} was left running for days and a Zmodem upload was aborted at the
start of a file, a "divide overflow" system crash could occur.

There was a rare condition where the elapsed timer would increase by 1440
minutes at the stroke of midnight (reported under Win 3.11).


Improvements/Changes
--------------------

* Some exciting new features have been added to the Alt-U Utility Menu,
including:

  Add an entry to the Dialing Directory.  This prompts you for the required
  information and automatically adds the entry to the end of your directory.

  Set terminal emulation on the fly.  This will switch to VT102, VT220 or PINE
  emulation, loading the appropriate keyboard file.

  Modify a Variable.  This allows you to change a number of common variable
  items, such as the download path (for the current session).

* The SELECT macro (for selecting files to upload) has been modified to use
the new FILE-S function (see below).  This allows files to be selected from a
listing window that operates much like the Dialing Directory (keys for
tagging, searching and navigating are the same).  Items:

  Tagged filenames are written to {SEND}.LST as with the old SELECT macro.

  Use the [Enter] key to change directories, [V] to change disk drives, [E] to
  edit/view the current list, [F] to change the filespec and [F10] to finish
  (begin upload).  Press F1 in the Select window for a complete list of keys.

  A new color item in the Setup File defines the colors for the new window:

    {kfs=70,1b,30}         File Selector window colors

  ASCII Upload has been added to the PgUp upload menu, allowing the use of
  SELECT.

  SELECT should be much more speech friendly now.

* A new switch "S" on the FILE macro function will display a listing of files
that match the given filespec.  FILE-S will exit with the Exit Code set to
indicate the action taken by the user (see MACRO.DOC for details).  Note that
FILE-S just displays filenames and writes to the .LST file.  Other operations,
such as changing the path, must be done by the macro.

* The Alt-T key has been added to the Dialing Directory (and Select window) to
tag all entries.

* A new item "esp" has been added to the Setup File.  Use this item to control
{COMMO}'s TSR interference elimination logic.  This can produce dramatic
improvements when certain TSR programs are loaded (such as screen readers used
with speech synthesizers).

* The external editor feature will now save any files (Dialing Directory and
Macro File(s)) with outstanding changes and release all of the files from
memory before calling your editor.  This allows you to edit any or all of the
files while in your editor, makes more memory available to run your editor and
eliminates fragmentation of memory when the files are reloaded.

* A switch "B" has been added to the SEND macro function.  This switch
specifies "byte mode" in which characters are represented as decimal or hex
numbers, separated by commas.  Hex numbers are preceded by a "0" and all
characters from 0 to 255 may be sent.  There is no conversion, no translation
and no local echo.  For example:

  {send-b 123,043,04f,77,04d,79,07d}    Send "{COMMO}"

* GETString-R (raw mode) will input a single character and convert it to a
decimal number string.  For example, if an "A" comes in, the variable will be
set to "65".  If a <cr> comes in, the variable will be set to "13".  All 256
character values are allowed.

* A switch "E" has been added to the NOCArrier function.  This switch enables
the "no carrier" logic as if a connection had been made after dialing.  Note
that a label may be specified along with the switch, but absence of a label
will not cancel an existing label (as it would if the switch wasn't present).

* A new alarm sound has been created for processes that fail.  For example, if
an internal protocol file transfer fails, this new sound will be used instead
of the familiar ringing sound (if the alarm is requested).  Also, a new switch
"F" on the ALARm function will cause this new sound to be made.  The protocol
macros in COMMO.MAC have been updated to use the new sound.

* The Kermit external protocol macros have been changed to use a longer packet
length and to pass the port address and IRQ to MSKERMIT.  The macros will also
create .INI command files to reduce the size of the DOS command line.

* The low level serial port routines have been modified to help prevent port
lockups that occur with some older UARTs.

* Characters typed in Chat Mode (with Send on Enter set) are no longer
converted.  I.e., you can type a "|" and {COMMO} will send a "|", not a
carriage return.

* A minimal DOS critical error handler has been implemented.  It uses DOS'
handler (Abort, Retry, Fail, etc.), but disallows the Abort option, converting
it to Fail instead.  This prevents sudden exits from {COMMO} that bypass
{COMMO}'s normal shutdown (which could lead to a system crash).

                               -end-
