

   KK   KK   11   EEEEEE  LL
   KK  KK   111   EE      LL                                 K1EL Systems
   KKK       11   EEEE    LL     ===> M2MTNC                   Limited
   KK  KK    11   EE      LL                                     1997
   KK   KK  1111  EEEEEE  LLLLLL



Mouse To Morse TNC - Version 1.9      1997         All Rights Reserved.
Shareware



Table Of Contents

Abstract.................................................2
1.0 Introduction.........................................2
2.0 User Interface Overview..............................2
2.1 Control Keys.........................................4
2.2 Transmit Buffer Editing..............................5
3.0 Status Line..........................................6
3.1 Help Lines...........................................6
4.0 Alias Strings........................................6
5.0 Connection Walk Through..............................7
6.0 Mail Services........................................8
7.0 Installation and Configuration.......................9
8.0 M2M Compatibility....................................11
9.0 Morse Code Table.....................................12
10.0 Closing Remarks.....................................14































M2MTNC ver 1.5  User's Guide--------------------- Page 1

Abstract

Mouse to Morse TNC is a special terminal package for MSDOS computers that
allows a blind or deaf blind ham to operate amateur packet radio. Due to
the nature of packet radio, data throughput is quite slow. This allows a
user to read the incoming data with a Morse code interface. M2MTNC is an
implementation of this concept. It runs on any MSDOS platform and requires
only a Microsoft compatible mouse. It can be configured to run on any
serial port with any TAPR style packet TNC such as a Kantronics KPC3, MFJ
1270, or an AEA PK232. M2MTNC currently has many users and is a very
practical means for handicapped persons to access the world of VHF packet
radio.


1.0 Introduction

M2M grew out of another shareware program called M2M which allows a handi-
capped person to read an MSDOS computer screen by selectively scanning the
display with a mouse and getting a Morse code output of the selection.  M2M
is a TSR that runs in the background and allows the handicapped user access
to a wide variety of MSDOS applications. As that project progressed, many
other dedicated uses of the M2M technology have been examined and one that
has turned out to be very practical is amateur packet radio. M2MTNC is the
resulting application. While the interface may seem complicated at first,
once learned it has many advantages over other adaptive programs, most
notably low cost and portability. It may seem impractical to use Morse code
for reading packet transmissions but on 1200 baud networks an adept user
can easily exchange mail, explore nodes, and read BBS systems. Of course
M2MTNC is not practical for reading large documents on line but it provides
a means for capturing large files and reading them off line.

The Morse output is sent to the computer's speaker as a keyed tone.  To
send data the user simply uses the computer's keyboard like any other
packet radio operator. If desired the computer's speaker leads can be
connected to an external tactile transducer which would be used by a deaf-
blind operator.


2.0 User Interface Overview

There are three parts of the user interface, the display presentation, the
mouse, and the keyboard. Each one will be covered in detail in this
section.

The display interface consists of three display lines, the receive data
line (RxLine), the status line, and the transmit data line (TxLine).
Although the typical MSDOS computer has 25 display lines, the user's scope
is confined to these three lines. It is a simple matter to move between the
three lines and view any single one at any time. M2MTNC has a large receive
memory buffer holding approximately 400,000 characters broken up into 4500
lines of text. (the exact amount depends on the available memory in the
computer) Incoming data from the packet TNC is stored in this receive
buffer. The user has control over which line of the receive buffer is
currently loaded in the RxLine for reading. How this works will be
discussed in a later section.

The status line contains pertinent data regarding the operational status of
M2MTNC. For example, it tells if and to whom the TNC is connected to, the
amount of free memory, mail status, and error status.


M2MTNC ver 1.5  User's Guide--------------------- Page 2


The TxLine is an editable line buffer where outgoing commands and text are
entered for transmission to the packet TNC. It was necessary to keep this
buffer separated from the receive buffer to avoid confusion to the user in
actual packet operation. Once a line is entered it is not actually sent
until the ENTER key is hit. This allows the user to edit TxLine and make
changes or correct a mistake. The TxLine supports word wrap so the user
doesn't have to count characters to prevent accidentally going past the end
of a line. When the end of a line is crossed, the current line will be sent
to the packet TNC and the last word of the line will be placed at the
beginning of a new line and text entry can continue without interruption.

In actual use the receive buffer is continually, albeit sporadically, being
loaded with data received from the packet TNC. Unless the user has some
kind of control over the display, this data will scroll by and the user
will very quickly lose their place and become frustrated. In the M2MTNC
design all incoming data is buffered in the receive buffer but not called
to the RxLine until the user requests it. This gives them time to read and
understand each line before examining the next. As a user becomes familiar
with the operation of a packet node they more or less know what to expect
and some lines can be skipped over after reading the first few characters
in the line. If the user wants to scroll back a few lines and re-read
something that, of course, is supported also. The mouse is the primary
interface that is used to move around in a buffer, although all mouse
functions can be emulated by the keyboard if desired.

As previously mentioned, the mouse is used for scanning and reading a
display line. As the mouse scans across a line the characters it crosses
over are output in Morse. The mouse is locked to one line at a time so that
only horizontal movement is allowed. In addition, characters are only
output as the mouse cursor moves from left to right, the normal reading
direction. If the user wants to back up and review a word they simply move
the mouse back a bit and then move forward again. The mouse can scan ahead
of the Morse output, the overflow is stored in the Morse output buffer and
each character will be sent in the order they were scanned.

The mouse buttons provide a quick way to select which line of the receive
buffer will be loaded into RxLine. The left button scrolls the text buffer
forward one line and the right button scrolls it back. After a scroll the
mouse cursor is moved to the left most character position. In addition, any
characters queued in the Morse buffer are cleared out and the buffer is
ready to accept new characters. If the user tries to scroll before the
first line or past the last line in the receive buffer they will be
signaled with a single dit. By sequencing mouse buttons either the first or
last line in the receive buffer can be selected. By holding the left button
and then pressing the right button the first line in the buffer will be
loaded. Holding the right and pressing the left will load the last line in
the buffer.

The computer keyboard is utilized for both entering data to send over the
air, and to control the operation of M2MTNC. The alpha-numeric keys operate
in a normal way, what is typed will go into the TxLine in preparation for
sending. As mentioned above, text will only be sent to the packet TNC after
either the enter key is hit, or the line wraps past the end.

There are two means of controlling M2MTNC from the keyboard, by function
keys and by 'hot' keys. The function keys are the twelve keys labeled F1
through F12. A detailed list of the function key assignments is found in
the next section. The hot keys are covered in the M2M compatibility


M2MTNC ver 1.5  User's Guide--------------------- Page 3

section. These keys are holdovers from the M2M application which can work
in conjunction with M2MTNC. For compatibility reasons, it makes sense to
keep the key assignments the same between the two applications. There are
several new hot key assignments that relate mostly to editing in the
transmit buffer. These keys are covered in the Transmit Buffer Editing
section.


2.1 Control Keys

There are many control functions implemented via the keyboard. All of the
function keys F1 through F12 are assigned to control functions. Here is a
list of the F key assignments and a description of each function:

F1: Read a MSDOS text file into the receive buffer for reading. After F1 is
pressed the user is prompted on the status line (and in Morse code) to
enter a file name. Full file path description is supported so the source
file can be on any disk or directory in the system. Note, however, that the
buffer is cleared before the file is read. This means that anything in the
buffer will be lost. If the requested file is not found the user is alerted
with both a Morse and a text error message.

F2: Write the contents of the receive buffer to a disk file. As with F1,
the user is prompted for a file name to write the buffer to. If the file
exists the user will be notified to prevent inadvertently overwriting an
existing file. If a disk full condition occurs the user is notified of that
as well.

F3: This key is used to select one of the three display lines for reading.
Every time F3 is hit the selection advances one step through the three
available lines. A Morse letter is output letting the user know which line
they are on. On program startup, RxLine is selected by default. When F3 is
pressed the status line is selected. Pressing F3 again will select TxLine,
and finally if F3 is pressed a third time selection will return to RxLine.
A Morse S is sent when moving to the status line, a T is sent when moving
to TxLine, and an R is sent when moving to the RxLine. Note that the status
and transmit buffers are single lines and cannot be scrolled like the
receive buffer can. If the mouse buttons, or either the up or down keys,
are pressed while on these lines the letter E will be sent in Morse, the
Morse buffer is cleared, and the cursor will be moved to the left most
character position.

F4: Help selection. The status line is a multi-purpose window. Besides the
status information mentioned previously the user can request two different
help lines which give a brief list of the function key bindings. F4 works
like F3 in that every time it's pressed the line cycles through the status,
help 1 and help 2 lines. The user is prompted by a Morse character every
time the status line is changed, S for status, 1 for help one, and 2 for
help two.

F5: This key simply clears the receive buffer. It is useful for mail appli-
cations which will be discussed in detail in the Mail Services section.
Care must be taken with this key since once the buffer is cleared the
contents of the buffer cannot be recovered.

F6: Sometimes it is useful to know the position of the mouse cursor in the
receive buffer in the event the user would like to return to that position
at a later time.  When F6 is hit, the line number that is in RxLine and the
X position of the mouse are sent in numeric Morse. A single dit (E) is used


M2MTNC ver 1.5  User's Guide--------------------- Page 4

as a number delimiter. For example, if RxLine is displaying receive buffer
line 57 and the mouse cursor is on the 15th character in that line, 57e15
would be sent in Morse.

F7: This is a status inquiry key that is used to check on TNC connected
status.  If F7 is hit, either a Morse C or N will be sent back. A C means
that M2MTNC is actively connected to a node. An N means there is no
connection. This is useful to check if a node connection has been lost for
some reason.

F8: This is another inquiry key that may be the most useful function key.
Since text lines are only scrolled under control of the user, a means must
be provided to let the user know when new text is available to read. For
example, lets say that the user has just entered a command to connect to a
node. It may take several seconds for the node to respond, and when it does
it may send many lines. The user wants to know when new lines come in, but
wants to be able to read them one at a time. The F8 key is used to check if
there are new lines in the buffer ahead of the current position. When F8 is
pressed one of three letters will be returned in Morse. An L means that
there is more text on the current line to the right of the current cursor
position. A Y means there is new text on the next line, and an N means that
no new text has arrived yet.

F9/F10: It is important from a comfort standpoint to be able to change the
pitch of the Morse code output. F9 is used to raise the pitch and F10 is
used to lower the pitch. There are practical upper and lower limits to the
pitch and once they are reached they can't be moved further.

F11/F12: These two keys are used to control the off line mail editing
portion of M2MTNC. Since this is a complex feature it will be left for
discussion in the Mail Services section.

There are other special keys which perform functions in M2MTNC. They are:

TAB: Send a ^C to the packet TNC, this is the standard way of returning a
TAPR style TNC to command mode.

CTL-Z: Used to get TNC out of KISS mode (rarely used in normal operation).

ALT-F9: Send DAYTIME string to set a TAPR style TNC's internal clock using
the MSDOS computer's time clock.

Arrow Keys:  These can be used instead of the mouse to scroll lines through
RxLine, or move the mouse right or left a single character at a time.

PGUP, PGDN, Home and End keys also allow the user to move around the buffer
either a page (16 rows) at a time, or to the beginning or end of the
receive buffer.


2.2 Transmit Buffer Editing

Several hot keys are provided for transmit buffer editing. Since the
transmit line is only sent when the enter key is hit, a line can be
reviewed and changed before being sent. Remember that to read the TxLine
buffer the mouse cursor must be moved there. Following is a table of the
editing keys and their function:

   INS:       Toggle between insert and overwrite edit mode.


M2MTNC ver 1.5  User's Guide--------------------- Page 5

   BACKSPACE: Move the TxLine cursor left and delete character.
   CTL-D:     Delete the character to the right of the Tx cursor.
   CTL-K:     Clear line from cursor position to end of line.
   CTL-A:     Move TxLine cursor to the beginning of the line.
   CTL-E:     Move TxLine cursor to the end  of the line.
   CTL-B:     Move TxLine cursor left one character.
   CTL-F:     Move TxLine cursor right one character.
   CTL-Y:     Copy RxLine to TxLine.

CTL-Y is useful for grabbing a line from the receive buffer to either reuse
or edit for reuse. Remember that all lines sent from the transmit buffer
are echoed back to the receive buffer from the TNC.

Notes: CTL- means to hold the control key down while pressing the character
shown. For example CTL-K means to hold the control key down while pressing
either upper or lower case K.

To keep things simple, most user's rarely review or edit TxLine in active
use. This is because they take advantage of the automatic line feature
which allows them to forget about where they are in a line and just type
away. They just leave the mouse cursor on the RxLine buffer and monitor
data returned from the packet TNC.


3.0 Status Line

Following are several status line examples.

DISC:0         NM  12:33:36  SYSOK  NS        0%  INS
DISC:0         NM  12:33:36  SYSERR NS        0%  INS
CONN:DERFLD    NM  12:33:36  SYSOK  NS       12%  INS
CONN:DERFLD K1EL WA1ZEM  NM  12:33:36  SYSOK  NS    37%  INS

The first field of the status line denotes whether the TNC is in the
connect or disconnect state. The second field shows the name of the node
the TNC is connected to, 0 means none. If there are multiple connects they
are listed in order. The third field shows the status of the off line mail
composer. NM means there is no mail ready to send, it changes to CM while
composing mail, and MR when mail is ready to send. SYSOK states that TNC is
operating normally, if TNC runs out of memory or some other major problem
occurs it will change to SYSERR. If this occurs M2MTNC will continue to
operate but most likely the buffer is full and should be cleared.  The NS
stands for no scroll mode which is the normal intended mode. If ALT-F1 is
hit, M2MTNC will run in autoscroll mode which makes it behave in a full
screen mode like any other TNC terminal program. (it is a very good one !).
The next field displays the amount of receive buffer that has been used.
Finally the last field tells whether TxLine is in insert or overwrite edit
mode.


3.1 Help Lines

Following are the help lines as they appear in the status window. For the
most part they are self explanatory and are shown here only for reference.

F1/Rd F2/Wr F3/Stat F4/Help F5/Clr F6/Pos : ^A-Beg ^E-End ^D-Del ^B<- ^F->

F7/Conn F8/More F9/Up F10/Dn F11/Cm F12/Sm : ^K-ClrLine ^Y-Cut to TxBuf



M2MTNC ver 1.5  User's Guide--------------------- Page 6

4.0 Alias Strings

There is a short cut feature called aliases which allow the user to
maintain a file of often used text strings along with quick aliases that
can be used as shorthand to call up the larger string. Aliases are kept in
a file called ALIAS.TBL which should reside in the same directory as
M2MTNC.EXE. The file can be edited with any text editor and must have the
following form:

steve-K1EL@WA1WOK.NH.USA.NOAM
gary-WA1ZEM@W1XM.ME.USA.NOAM
cd-c derfld
cb-c bruns
sh-sp n1uzt

New entries can be added to the file with any text editor. The string to
the left of the - is the short hand alias, to the right the associated
string. To use an alias simply enter a left angle bracket < followed by the
alias. Then enter the right angle bracket >. Immediately after entering the
right angle bracket the alias will be replaced by the desired string.

Here some usage examples:

Hi Jim, Here is Steve's packet address <steve>.

The resulting string will be:

Hi Jim, Here is Steve's packet address K1EL@WA1HZK.NH.USA.NOAM.

Note that an alias doesn't have to be a word, it can be a single letter or
number or any combination, the idea is to save keystrokes. There is no
limitation to the number of aliases in the alias.tbl file, but there are
two restrictions,  the size of the replacement string must be less than 60
letters, and the - character can't be used in an alias. If an alias is
issued near the end of a line the alias replacement may wrap to the next
line. This can be confusing if the user is not expecting it. When it wraps,
the previous line will have been sent to the TNC. The alias replacement
will be the first word(s) on the new line. If the user enters an alias that
cannot be found in the table a Morse NF will be sent to alert the user. If
the uer would like to use different alias marking characters than < and >
they can be specified in the config.tnc file (see section 7.0).


5.0 Connection Walk Through

In this section a typical connection to a node will be described to give a
flavor for how M2MTNC is actually used in real life.

A good place to start is to read the packet TNC's sign on message that it
send when it is powered on. Start M2MTNC first and then turn on the packet
TNC. M2MTNC will receive the signon message and hold the data until the
user requests it. The F8 key should be used to determine when there is data
in the buffer to read. When there is, a line of data can be called up by
hitting the left mouse button. Use the mouse to scan across the line and
read it in Morse. After a line has been read either hit the left mouse
button again or hit F8. It is always safer to hit F8 since sometimes a node
will respond with half of a line, pause, and then send the remainder of the
line plus a new line. In this case by using F8 M2MTNC would have responded



M2MTNC ver 1.5  User's Guide--------------------- Page 7

with an L signifying there is new data on the current line and the user
would know to scan further across the line to pick it up.

After the signon message the packet TNC will issue a prompt string. The
most common is:
cmd:
If this doesn't happen hit the TAB key which will send a CTL-C to the TNC
and that should force it to command mode and issue the cmd: prompt. Once
the prompt appears, any of the TNC commands can be issued to check on the
status of the TNC. For example issuing a MYCALL command will cause the TNC
to echo back the user's callsign. Note the the TAB key can be hit at
anytime to bring the TNC to command mode. Also note that the colon
character will be sent in
Morse as dah-di-dah-di-dit.

To connect to a node simply enter a connect command, here is a typical
connect command which requests connection to a node named DERFLD:

cmd:c derfld

To continue the example, after a pause the TNC should return with the
message:

cmd:*** CONNECTED to DERFLD

Now the status line will be updated to reflect connected status along with
the callsign of the connected party. In addition, the letter C will be
output in Morse. Now any of the nodes commands can be issued and the user
is on their way.

To disconnect from a node the general proceedure is to enter a B command.
After the node disconnects M2MTNC will send the letter D to the user in
Morse.

A good suggestion is to practice accessing the TNC locally first to get the
feel for the interface and how things respond. Most TNCs have a built in
BBS which is a superb way to practice sending and receiving mail. Once the
user is confident that they can handle the interface it is time to go live
and get some experience with real life connections.

The biggest worry is being disconnected because of time-outs. Let's face it
this interface will be slower than most but with a little practice, and the
use of off line mail editing, a user of M2MTNC should be able to operate
efficiently. A good technique is to capture some data in the receive
buffer, a message list for example, and then log off to read it. If
something of interest is found the user can then log back on and request to
read a particular item and then log back off again. This is the most node
friendly practice to follow. As for navigating through nodes and exploring,
the user should be able to keep up with with the data flow especially after
they become familiar with packet node operation.

I exchange packet mail daily with a deaf-blind friend (Gary WA1ZEM) who is
using M2MTNC with great success. He has no trouble composing and sending
mail as well as checking into a local DX cluster or BBS.


6.0 Mail Services




M2MTNC ver 1.5  User's Guide--------------------- Page 8

Since a primary use of packet radio is sending packet mail, an off line
mail facility is provided. The user can either send mail from a disk file
or from a mail buffer within M2MTNC. To send mail from a file the user
would log on to a BBS, as they normally would, and enter the desired send
command. For example:

cmd:c derfld
cmd:*** CONNECTED to DERFLD
bbs
DERFLD:WA1HZK-5} Please wait, trying WA1WOK-2
DERFLD:WA1HZK-5} Connected to BBSWOK:WA1WOK-2
[RLI-19.4-HIX$]
K1EL de WA1WOK: at 0000 gmt on 970529 B,D,H,?,I,J,K,L,N,R,S,T,U,V,W >
sp k1el
Enter Subject of Message:
Test Message
Enter message. Control-z (or /EX) to end, it will be message 18683

The user responds by entering a subject, and then the BBS will ask for the
body of the message. At that point the user hits the F12 key and M2MTNC
will prompt for a file name to send. The user enters it and the mail is
sent automatically. The user must wait until the entire message has been
sent before they can do anything else. As each line is sent to the packet
TNC it is echoed back into the receive buffer. When the entire message has
been sent an EM is sent in Morse and RxLine is automatically advanced to
the next line after the echoed mail message. At that point the user should
use the F8 key to tell when the BBS has responded and accepted the message.
A /ex is automatically appended to the message so that need not be sent or
added to the composed mail file.

An alternate way of preparing mail off line is to use M2MTNC in a special
editing mode which allows the use to put a message into receive buffer
memory and then send it from there after logging into a BBS. Here is the
procedure to follow to use this feature. Note that M2MTNC must be in the
disconnected state to use the mail edit mode. To begin, the F11 key is hit
which places M2MTNC in compose mail mode (A CM will appear on the status
line and be sent in Morse). Next the user enters a message, it will go into
the TxLine where it can be edited a line at a time. When a return is hit
the line is transferred into the receive buffer in a specially marked
region. When all the lines have been entered the F12 key is hit which ends
compose mode and an MR is placed in the status line and sent in Morse.
Since the mail message is stored in the receive buffer it can be reviewed,
if desired, before sending it. To send it the user logs onto a BBS and
repeats the procedure described for file sendin, but instead of hitting F12
to send the message, the F11 key is hit. This sends the mail right from the
receive buffer. As before the EM Morse prompt and F8 are used to gauge the
progress of the mail transfer.

There are advantages to each method. The file method allows the user to
edit mail with an editor that they may be familiar with and can enter a
message easily. The buffer method is convenient since the user doesn't nahe
to leave M2MTNC. Disadvantages of buffer mode are that only a single mail
message can be prepared at a time, and once a line leaves TxLine and is
placed in the recieve buffer the user cannot modify it.


7.0 Installation and Configuration




M2MTNC ver 1.5  User's Guide--------------------- Page 9

There are no special requirements for installation, just place M2MTNC in
its own directory along with the configuration file CONFIG.TNC. The
configuration file is read by M2MTNC when the program starts up and sets
the defaults for operation. CONFIG.TNC is a simple text file which must
reside in the same directory as M2MTNC.EXE. Following is a list of the
entries in CONFIG.TNC and their significance:

autolog 1
extended 0
lowcase 0
slowmorse 0
tonefreq 32
splitfreq 34
ascroll 1
asyncon 1
baudrate 9600
comport 2
parity 0
databits 8
stopbits 1
begalias <
endalias >

The first word on each line is the function and the numeral is the control
for that option. A zero means the function is disabled, a 1 means enabled.
Other values are specific to the function and will be discussed below.

autolog:  Controls the automatic saving of the receive buffer to a file at
program exit. The name of the automatic file is autolog.txt.

extended: Specifies whether the extended Morse charter set including all
punctuation should be sent. See the section 8.0 on M2M for more details.

lowcase: Specifies whether to change the Morse pitch tone when lower case
characters are sent.

slowmorse: Specifies the Morse sending speed a parameter of zero means data
will be sent at 7 WPM. a 1 selects 18 WPM.

tonefreq: This specifies the default frequency for the Morse tone pitch.
The  bigger the number the lower the tone. The value must be less than 255.

splitfreq: Specifies the relative difference between the two tones for
lowcase shift. This only has significance if lowcase is enabled.

ascroll: If this is set to 1 then M2MTNC will operate like a standard TNC
terminal and will automatically scroll the receive buffer when new data is
received from the TNC.

asyncon: This should always be set to one, it is used for debugging M2MTNC
without requiring connection to packet TNC.

baudrate: The parameter specifies the standard baud rate for the TNC
connection.

comport: The parameter specifies the PC serial port that will be used for
connection to the packet TNC. A 1 selects COM1:, a 2 selects COM2:, etc.




M2MTNC ver 1.5  User's Guide-------------------- Page 10

parity: Specifies whether parity is enabled for the communication port
selected by comport (1 for yes).

databits: Specifies the number of bits per data word (7 or 8)

stopbits: Specifies number of stop bits (1 or 2)

begalias: The ASCII character that marks the beginning of an alias string.

endalias: The ASCII character that marks the end of an alias string.

A sample CONFIG.TNC file is included with the distribution and is set up
for normal ooperation. The user can use it as and worry about customization
at a later time. M2MTNC will run on practically any PC configuration, it
does require a Microsoft compatible mouse and mouse driver which must be
installed before starting M2MTNC. All standard video displays are
supported, monochrome, CGA, and VGA, although a video display is not even
required for operation. M2MTNC only uses base memory up to 640K so extented
or expanded memory is not required. It will perform efficiently, even on an
8088 PC.


8.0 M2M Compatibility

For reference purposes the M2M documentation is presented here. The hot key
assignments are identical for M2MTNC. Also some features not described
previously are covered here.

M2M is a tiny model TSR occupying about 8K bytes of memory. When it loads
it prints out a startup banner and is ready to use. The mouse cursor is
separate from the normal DOS cursor and is only visible when the mouse is
moved. After a couple of seconds of mouse inactivity the cursor will
disappear until the mouse again moves. The initial cursor position is at
the bottom left of the screen. By sliding the mouse to the right the mouse
block cursor will appear and scan across the text line. Morse code output
will commence as you move over sendable text. The text is buffered which
allows you to move ahead without loosing any text you pass over.

Notice that the mouse cursor is vertically locked to the text line, this
allows you to comfortably read without worrying about inadvertently jumping
up or down a line. Also notice that text will only be picked up as you move
from left to right. This allows you to back up and revisit order. To move
the mouse cursor up or down you use the mouse buttons.

Here is a list of mouse button actions and their result:

    Click Left Button          Move up one line
    Click Right Button         Move down one line
    Click Both, left 1st       Move to top of screen    (Home)
    Click Both, right 1st      Move to bottom of screen (End)

When you move the mouse cursor up or down it will be set to the left most
character position and the Morse buffer is cleared. You can use this to
your advantage, if you want to quickly clear the buffer and go to the start
of a line press the left button, release, and then the right button. If you
try to move above the top line or below the bottom line of the display M2M
will output a single 'DIT'. The Home and End movements use a combination of
two button clicks. To move home first press the left mouse button and hold
it down, then press the right button and the cursor will move the top line.


M2MTNC ver 1.5  User's Guide-------------------- Page 11

Remember that the MSDOS cursor is never affected by mouse cursor moves,
they are completely separate. The mouse cursor is only used by M2M to scan
text for morse code output and does this in a transparent, non-obtrusive
way.

There are several hot keys that are assigned to special M2M options:

    SHIFT-CTRL-A     Increase morse output frequency
    SHIFT-CTRL-Z     Decrease morse output frequency
    SHIFT-CTRL-Q     Move mouse cursor to MSDOS cursor
    SHIFT-CTRL-D     Output the MSDOS cursor position col.row in morse
    SHIFT-CTRL-E     Output the Mouse cursor position col.row in morse
    SHIFT-CTRL-S     Toggle morse speed 9/18 WPM
    SHIFT-CTRL-X     Toggle extended character set enable
    SHIFT-CTRL-W     Tone shift on lower case

To activate the function press the left shift key, the control key, and the
action key (ex. A to increase frequency) all at the same time.

Only two morse code speeds are supported, 9 wpm and 18 wpm. Speed selection
is done via a hot key which is a toggle similar to extended character set
selection. The hot key is CTL-SHIFT-S for (S)peed.

A handy feature allows the mouse cursor to be moved to the MSDOS cursor
position. This is very useful when using an editor or other test entry
software and you want to move the viewing scope to where you are typing.
The cursor move is activated by the hot key CTL-SHIFT-Q for (Q)uick move.

The current MSDOS cursor position can be output at any time by hitting the
CTL-SHIFT-D key. The position will be output in row<e>column format. For
example if the cursor is on the tenth row and the seventeenth character,
when you hit CTL-SHIFT-D the morse buffer will be cleared and then 10e17
will be sent. The position of the mouse cursor is not affected by this hot
key. The mouse cursor position is output using the CTL-SHIFT-E hot key.


The hot key CTL-SHIFT-W enables a mode whereby lower case characters will
be sent at a lower tone frequency. This allows the user to easily
distinguish between upper and lower case characters. The hot key is a
toggle similar to extended and speed function select.

The mouse buttons can be sequenced in a special way to provide a short cut
to move the mouse cursor to the top or bottom of the display. By pressing
and holding the left button and then pressing the right button, the mouse
cursor will move to the top of the display. The opposite action will move
the mouse cursor to the bottom of the display.

The ALT and CTL keys can be used in conjunction with the cursor buttons to
provide additional features. If the CTL key is held and the left button
pressed and held M2M will output a single dit for each character the mouse
slides over and a dah for spaces. The output will occur for both right and
left cursor moves. If the CTL key and right button is pressed and held the
cursor can be moved across a line and morse output is squelched. These two
functions are provided to help a user move into a line without having to
read the whole thing. Note that once the desired mouse button is pressed
and held the CTL key can be released and the "sliding" mode will stay in
effect as long as the mouse button is pressed.




M2MTNC ver 1.5  User's Guide-------------------- Page 12

If the ALT key and the left button is pressed the mouse cursor will move to
the MSDOS cursor position (this acts just like the SHIFT-CTRL-Q hot key).
If the ALT key and right button is pressed the position of the mouse cursor
is output (this acts just like the SHIFT-CTRL-E hot key).


9.0 Morse Code Table

Following is the character set assignments:

    !   exclamation point  DI-DI-DI-DAH-DI        extended
    "   double quote       DAH-DI-DI-DAH-DAH      extended
    #   number sign        DAH-DAH-DAH-DAH        extended
    $   dollar sign        DI-DAH-DAH-DI-DAH      extended
    %   percent sign       DAH-DAH-DAH-DI-DAH     extended
    &   ampersand          DI-DAH-DI-DI-DI        extended
    '   apostrophe         DI-DI-DI-DI-DI-DI      extended
    (   left parenthesis   DAH-DI-DAH-DAH-DI      extended
    )   right parenthesis  DAH-DI-DAH-DI-DAH      extended
    *   asterisk           DI-DI-DI-DAH-DI-DAH    extended
    +   plus sign          DI-DAH-DI-DAH-DI       extended
    ,   comma              DAH-DAH-DI-DI-DAH-DAH  normal
    -   dash bar           DAH-DI-DI-DI-DAH       normal
    .   period             DI-DAH-DI-DAH-DI-DAH   normal
    /   forward slash      DAH-DI-DI-DAH-DIT      normal
    0   zero               DAH-DAH-DAH-DAH-DAH    normal
    1   one                DI-DAH-DAH-DAH-DAH     normal
    2   two                DI-DI-DAH-DAH-DAH      normal
    3   three              DI-DI-DI-DAH-DAH       normal
    4   four               DI-DI-DI-DI-DAH        normal
    5   five               DI-DI-DI-DI-DIT        normal
    6   six                DAH-DI-DI-DI-DIT       normal
    7   seven              DAH-DAH-DI-DI-DIT      normal
    8   eight              DAH-DAH-DAH-DI-DIT     normal
    9   nine               DAH-DAH-DAH-DAH-DIT    normal
    :   colon              DAH-DI-DAH-DI-DI       extended
    ;   semicolon          DI-DAH-DI-DI-DAH       extended
    <   left arrow         DAH-DAH-DI-DI-DAH      extended
    =   equals             DI-DAH-DI-DAH          extended
    >   right arrow        DAH-DAH-DI-DAH-DAH     extended
    ?   question           DI-DI-DAH-DAH-DI-DIT   normal
    @   at sign            DI-DI-DAH-DAH          normal
    A a                    DI-DAH                 normal
    B b                    DAH-DI-DI-DIT          normal
    C c                    DAH-DI-DAH-DIT         normal
    D d                    DAH-DI-DIT             normal
    E e                    DIT                    normal
    F f                    DI-DI-DAH-DIT          normal
    G g                    DAH-DAH-DIT            normal
    H h                    DI-DI-DI-DIT           normal
    I i                    DI-DIT                 normal
    J j                    DI-DAH-DAH-DAH         normal
    K k                    DAH-DI-DAH             normal
    L l                    DI-DAH-DI-DIT          normal
    M m                    DAH-DAH                normal
    N n                    DAH-DIT                normal
    O o                    DAH-DAH-DAH            normal
    P p                    DI-DAH-DAH-DIT         normal
    Q q                    DAH-DAH-DI-DAH         normal


M2MTNC ver 1.5  User's Guide-------------------- Page 13

    R r                    DI-DAH-DIT             normal
    S s                    DI-DI-DIT              normal
    T t                    DAH                    normal
    U u                    DI-DI-DAH              normal
    V v                    DI-DI-DI-DAH           normal
    W w                    DI-DAH-DAH             normal
    X x                    DAH-DI-DI-DAH          normal
    Y y                    DAH-DAH-DI-DAH         normal
    Z z                    DAH-DAH-DI-DIT         normal
    [ left bracket         DAH-DAH-DI-DI-DI-DAH     extended
    \ path slash           DAH-DAH-DAH-DI           extended
    ] right bracket        DAH-DAH-DI-DI-DI-DAH-DAH extended
    ^ carat                DI-DI-DAH-DAH-DI         extended
    _ underscore           DI-DI-DI-DAH-DAH-DAH-DI  extended
    ` tick                 DI-DI-DI-DAH-DAH-DI-DI   extended
    { left brace           DI-DAH-DAH-DAH-DAH-DAH   extended
    | vertical bar         DI-DAH-DAH-DAH-DAH-DI    extended
    } right brace          DAH-DAH-DAH-DAH-DAH-DI   extended
    ~ tilde                DI-DI-DAH-DAH-DAH-DI     extended


On start-up the normal character set is activated. The extended character
set is enabled using the CTL-SHIFT-X hot key. This is a toggle, hit it once
and it enables extended, hit it again it disables and so on. Note that M2M
ignores all characters outside the valid range of printable characters,
that being any characters with values less than hex 20 and greater than hex
7e.


10.0 Closing Remarks

If you find this program useful a $10.00 fee is requested to help cover
the many hours of design and testing.  The source in Microsoft-C is
available upon special request to the author:

    Steven T. Elliott K1EL
    7 Carleton Road
    Mont Vernon, NH 03057 USA
    tel: 603 673 8092
    e-mail: k1el@aol.com

Please feel free to share unmodified copies of this program and
documentation with others.  Any suggestions or comments can be sent
to the above address and would be greatly appreciated.

I would like to express thanks to co-developer Gary C. Stephens WA1ZEM for
his assistance in testing and designing this software package.


GL de K1EL


    Appendix - Revision History and Known Bugs

Known Bugs: Connection order vs. disconnection in the status line






M2MTNC ver 1.5  User's Guide-------------------- Page 14
