This information is extracted from Vol. 1., No. 2 of GENEVA NEWS,
published by Camden Communications Inc., copyright (c) 1985.

                                  MEX

MEX, a sophisticated terminal and file transfer program for CP/M-80
computers, was written by Ron Fowler.  It's part of a series of
developments originating from the MODEM telecommunication standard
designed by Ward Christensen --others being MODEM7 and XMODEM.  The
powerful and flexible features that MEX offers are ideal for
sophisticated computer users.  They're also easy to use for the non-
specialist.

                           NEEDING DIRECTION

MEX's help facility is a multi-level reference for nearly all on-line
problems.  The first level is a simple quick-reference guide to the
MEX's commands.  It doesn't go into detail, but is ideal for a fast
memory jog for infrequently used functions.  The second help level
describes the purpose and syntax of each MEX command.  This is
implemented as a CP/M random access file, resulting in short access
times.  The third help utility is a complete 76K manual formatted for
printing using WordStar.  The document is well-written and is virtually
all the user will need to begin telecommunicating with MEX.

                          SPEAK THE LANGUAGE

MEX supports three file transfer methods: Christensen protocol
(popularly called MODEM or XMODEM), CompuServe "A" and straight ASCII.
The first two protocols are implemented according to informal industry
standards --no surprises there.  The ASCII transfer is well thought-out
and is easy to use for most purposes.  During ASCII data capture,
incoming text is automatically stored in an in-memory buffer.  When the
buffer fills, it's dumped to disk and the buffer is filled again.  In
order to prevent loss of incoming data, MEX sends out an XOFF (Ctrl-S)
character when the buffer is nearly full, and waits for the sending
computer to stop sending data before writing the data to disk.  When
the data is safely on disk, MEX transmits XON (Ctrl-Q) to request that
the remote computer resume.  ASCII capture can be toggled on and off at
will during a terminal session.  The ASCII text may be echoed to the
serial printer as well as saved to disk.  MEX buffers text internally
as it is sent to the printer --avoiding data loss with slow printers.

                         DON'T TOUCH THAT DIAL

Assuming that the your computer is connected to an auto-dial modem,
MEX will dial and re-dial the telephone as required.  MEX dials single
numbers or can be given a list of telephone numbers to call until one
responds with a carrier.  This feature is useful with multiple-number
timeshare services: If one local number's busy, try another.  MEX
produces an audible tone to alert the user that a connection has been
made.  Another labor-saving tool is the built-in telephone library.
The number of phone numbers is limited only by available memory.  The
phone number library is maintained by MEX itself, not by an external
program.  To facilitate ease of use, the telephone numbers can be
associated with a name that is at least somewhat descriptive of the
number.  In addition to the telephone library, MEX maintains a list of
"keystrings," which can be transmitted with just two keystrokes.  In
terminal mode, pressing a pre-determined escape key plus any other key
sends the sequence, which may be a system ID or password, or any often-
used instruction.  Carriage-returns and control codes may be included
in the keystring sequence.  Both the phone number library and the
keystring library may be written to disk or maintained in RAM.

                           FOLLOWING THE MAP

One of the most sophisticated facilities in MEX is the scripting
facility.  Anything that can be done from the keyboard can be done from
command files that MEX reads and executes.  In addition to the normal
commands to go into terminal mode, dial numbers or toggle output to a
file or printer, MEX supports a number of commands that are
specifically designed for use with script files.  These commands allow
automatic dialing of a system, waiting for a specific input from that
remote computer, capturing messages waiting to a disk file, transfering
other disk files and breaking the connection --all without operator
intervention.

                        IT'S THE LOCAL DIALECT

MEX allows complete control over communications parameters, which the
documentation calls STAT values.  When transmitting straight ASCII
text, the following values may be selected: delay between characters,
wait after carriage return, remote acknowledgment code and time to
allow before signalling timeout.  The exact clock rate of the computer
may also be specified, so as to help MEX trim its timing loops for
greater precision.  Another STAT variable is the search path for the
HELP documentation.  This tells MEX whether the file is in RAM or on a
physical disk.  Other option settings include page length and line
length and even the length of time the built-in tone should sound when
terminal contact has been made.

                           LOCAL AUTHORITIES

Two of MEX's unique features are DEBUG and EXTEND modes.  DEBUG
displays all text received in hexadecimal format -- not in character
ASCII form.  This is useful for debugging communications software on
the remote computer.  EXTEND increases the size of MEX's instruction
set by making script files execute automatically when their names are
entered.  This allows the user to define specialized commands which can
perform specific tasks.  An example might be LOGTIM, which would go
through a complete timeshare system dialing and logon process.

                          JUST CLONING AROUND

The CLONE command saves a new version of MEX on disk or in RAM with
defaults set to MEX's current values.  Using CLONE, separate versions
of MEX can exist, each with its customized STAT values, keystrings and
telephone libraries.  MEX can also be instructed to execute a script
file each time it's run.  This default file contains commands that are
always executed, such as modem initialization strings.  This is useful
if the MEX implementation is in a read-only-memory (ROM) chip, and thus
can't be CLONEd.

                        PUTTING IT ALL TOGETHER

MEX distributed in two pieces.  The first is the general CP/M MEX.COM
program.  This handles everything except actual character input and
output (I/O) and modem control.  The CP/M program is distributed as a
binary .COM file.  Actual communications are handled by a hardware-
specific assembler file which can be customized by users.  The overlay
file is to be assembled by the ASM program and integrated with the
MEX.COM file with MLOAD.COM (included with MEX.COM).  There any many
hardware-specific overlays.

                              JUST FOR US

MEX and all of its overlays are in the public domain --i.e., free to
the user.  Don't equate price with value, as MEX is one of the most
powerful communications packages available for any computer.  Exactly
where can you get MEX?  There are a number of places you can try.
There are literally hundreds of Remote CP/M and other bulletin board
systems around the country that have MEX and some of its overlays
available for free downloading.

The current public domain version of MEX is version 1.14.

David B. Kozinn is the author of the MXO-PX.ASM hardware overlay for
the Geneva computer.  He's an avid Geneva owner and firmly believes
that the Geneva is "the way to go."

-Ed
