		MADAM7  INSTRUCTIONS

		  C O N T E N T S

	I.   Running it - commands

	II.  Parameters and defaults

	III. Dialing a number

	IV.  Receiving files

		1.  Text files

		2.  Program files (Xmodem)

	V.   Sending files

		1.  Text files

		2.  Program files (Xmodem)

	VI.  Modifying MADAM7.COM

		1.  Time to wait for answer

		2.  CRC/CHECKSUM

		3.  Libraries

	VII. Function Keys

	VIII. Known Problems


--------------------------------------------------------------------


I.   From the A> prompt in CP/M, you run MADAM7 by typing MADAM7<ret>
.  The program has an options field which determines the actions that
MADAM7 will take when it gains control of your ADAM.  These options 
are the terminal controls (T, L, and E) and the modem control codes
(O and A) - all of which will be explained later.  You use the options
field in the following example:

		A>MADAM7 TA<ret>

This command will cause MADAM7 to load and run.  The program would
start

	1.  In <T>erminal mode
	2.  Modem on-line in <A>nswer mode

The general syntax is MADAM7 (Term. opt.)(Modem opt.)
and you do NOT have to use both options.


II.  For a hard copy of most commands, hit Cntrl-P (to turn on your
printer), run MADAM7, and at the COMMAND prompt, type M<ret> for the
menu.  You can get a copy of the current parameters by 
leaving the printer on and typing ?<ret>.  Reboot to kill printer.
Keep this copy of the menu handy for reference.  You can see the
menu even when online by typing Cntrl-E from terminal mode and then
using the M command.

There are two undocumented modem control codes: <O>riginate and
<A>nswer.  Entering either command with a terminal option will put
the modem on-line in the mode selected.

The terminal codes are

	T  - <T>erminal mode

	L  - <L>ocal echo of characters

 	E  - <E>cho characters to remote

T is also called "full duplex".  This is the setting you will use
with Compuserve and most BBS's.  L is called "half-duplex".  This 
can be used when you are chatting modem-to-modem OR you can select
E.  If you select E, your terminal will behave just like a BBS, and
the party you are talking to will be able to leave his settings at
normal (full duplex).  You can change between modes at any time by
hitting Cntrl-E to go to COMMAND mode and selecting whichever option
you want.  Please note that the modem option does not change unless
either you change it or command DSC for disconnect.

To summarize, the allowable options are

			YOU		THEM


	ADAM-to-BBS   T(O or A) -->    ?

	ADAM-to-ADAM  L(O or A) -->  L(A or O)

	ADAM-to-ADAM  E(O or A) -->  T(A or O)

	ADAM-to-ADAM  T(O or A) -->  E(A or O)

File commands will be given in Section IV and V.

The DIR command of MADAM7 is not the built in CP/M DIR command.
This one will tell you how much space is left on your disc or tape.
If there is NOT enough space for the file you want, change disks
and (from COMMAND mode) type LOG (Drive):

The LOG command resets the discs just like typing a Cntrl-C under
CP/M.  Failure to LOG in a new disc will result in the usual 
screwup if you try to write to the disc (BDOS err on A: R/O)!

TCC is the command which switches MADAM7's error-checking method
under the Xmodem protocol.  If you type ?<ret> you will see that
the default is CRC (Cyclic Redundancy Check).  Smartlink (and some
other boards) use a method called CHECKSUM.  If you try to download
a file using Xmodem and get a lot of "+++Timeout x+++" messages,
you are probably using the wrong error checking for that board.

Make a note of the fact, and when the transfer aborts, hit Cntrl-E
to get to COMMAND mode and type TCC<ret> before trying the transfer
again.  Actually, after 6 tries, MADAM7 will automatically switch
FOR you...but the board will probably have aborted the transfer
by THAT time!  Incidentally, if you are in the wrong mode when you
try to send a file, MADAM7 will sense this and switch immediately!

If you find that the majority of your time is spent on boards that
use CHECKSUM, you may want to change the default value of MADAM7.
See Section VI.

There are a number of commands.  Many will be dealt with in the
appropriate sections.  Some will be left to your experimentation.


III.  Calling and answering calls.  Let's deal with the easy one 
first.  Assuming MADAM7 is running and is in COMMAND mode.  A call 
comes in and you wish to answer on ADAM.  Simply type EA<ret>.
The A is <A>nswer mode.  The <E>cho option is selected because most
systems calling you will NOT be on half-duplex and the E option
will make your computer work with another set to full duplex.  If
the OTHER guy gets double letters, either he has to switch to full
duplex, or you have to switch to L.  To do the latter, type Cntrl-
E<ret> L<ret>

To dial the phone with MADAM7 manually, use the <CAL> command followed
by the number.  Even long distance - CAL 12015551212<ret>.  This will
put ADAM on-line in <O>riginate mode and dial the numbers.  You may
put dashes in for readability if you like (1-201-555-1212).  MADAM7
will ignore them.  If your telephone system needs pauses, use one
or more commas - for example:  CAL 1,800,,201,555,1212<ret>.  I suggest
you disconnect your phone line and listen to the faint 'clicks' of the
ADAMlink modem relay to see what difference this makes.

When MADAM7 dials a number, it waits about 5 seconds for the phone to
answer and put a carrier on the line.  If this doesn't happen, you will
see the prompt "Re-dial (C/Y/N/Q)?" <Y>es will redial the number once
and reprompt.  <N>o and <Q>uit do the same thing (<Q> is really <Q>uiet
for Hayes use).  Entering <C>ontinuous will cause MADAM7 to redial
until it is answered or you terminate with Cntrl-X.  If 5 seconds is 
NOT long enough for your phone system, see the modification under
Section VI to get more wait time.

Type the CAL command by itself to see the built-in number library.  
Section VI tells you how to change it.  When you look at the library
you will be prompted what to do, but there are two interesting options.

MADAM7 will accept a group of library numbers to be chain-dialed.  That
is, the program will dial all the numbers, one after another, until one
of them answers.  It is a continuous circle that continues until 
answered, you hit Cntrl-X, or the power fails!  The WAY you connect the
numbers to be chained is important, too.

You connect numbers with either a "," or a "/".  This would look like
either CAL A,B,C<ret> or CAL A/B/C.  Both characters will cause a chain
dial.  The only difference is what happens when ADAM gets an answer 
from another computer.  If you have chained numbers with a slash (/), 
when ADAM connects, it will beep ONCE and switch immediately to
<T>erminal mode to pick up the board's sign-on message.

If you connect library numbers with a comma (,), then when ADAM 
connects, it will beep CONTINUOUSLY until you press any key to go
to <T>erminal mode (and stop the noise).  This means that you can
turn the sound up loud and go about your business while waiting for
ADAM to get through to a busy BBS for you.

You canNOT chain manually-entered numbers, but you CAN activate
the continuous redial option on one library number - just follow
it with a "," or a "/" depending on what option you want.  

Cntrl-X aborts while dialing or while waiting for a connection.  
Once the connection is made, you must use the DSC command (from
COMMAND mode, of course).


IV.  Receiving files.

     1.  Text files.  MADAM7 has a built-in text file capability.
This comes in handy for copying text from BBS's or keeping a record
of a communication.  One handy use is to call a BBS and capture a
directory listing.  Then you can print it out and study it at your
own speed (and without toll charges)!

To create a text file, hit Cntrl-E<ret> and from COMMAND mode, type
T (or L or E) filename.ext<ret>  MADAM7 will switch to the selected
mode and inform you that the file is open and there is memory buffer
available.  While in <T>erminal mode, you start and stop copy into 
the buffer by using Cntrl-Y to start and Cntrl-R to stop.  When the
buffer is open, you will see a semicolon (;) at the start of each
line just as a reminder to you.  

Should you hit a part you don't want to copy, use Cntrl-R.  You can
use the control keys during the transfer as often as you like.  If you
attempt any other operation, MADAM7 will remind you that there is 
a file open and buffer used and ask you to either <DEL>ete it or 
<WRT> it to disc or tape.

The TXO command is used  to set the X-on/X-off parameters for text
transfer.  If will prompt you, and you should experiment to see 
what settings match the boards you use.

	2.  Xmodem transfers.  Most of the file transfers people 
are interested in are Xmodem transfers.  These check to be sure
that the file transfer is accurate by using either CRC or CHECKSUM.
A discussion of this is found in Section I.  You must match the 
board you are transferring files to or from.  If you get a lot of
"+++Timeout x+++" messages, you need to switch methods by going to
COMMAND mode and entering TCC<ret>.

To receive a file with this method, first get the remote system
ready to send, then type Cntrl-E for COMMAND mode and enter R(option)
filename.ext.  MADAM7 will go to work and issue running progress 
reports.  The options are

	B  -  <B>lock transfer using wildcards
	      most systems don't permit this
	      since a *.* would rape the entire
	      system (and tie up the line forever)

	D  -  <D>isconnect when done.  Very useful
	      if you're transferring a big file late
	      at night

	Q  -  <Q>uiet mode.  No progress reports

	V  -  <V>iew bytes on screen

	X  -  When done, disconnect and e<X>it to CP/M

The option MUST be selected on the original command line, you cannot
go back and put it in or take it out later because you change your
mind.  Hanging up abruptly will crash some BBS's with early BBS 
programs, so be courteous and don't use this too much.  I have done
some fairly long programs overnight with it and it works well!

Once you type a command starting with R, you are putting the computer
under Xmodem control.  Recapturing it during a file receive is
difficult, but if you hit enough keys, you may be able to abort.  If
you CAN get back to <T>erminal mode, usually enough Cntrl-X's, Cntrl-
C's or a few BREAKS (Cntrl-2) will do it.  If the program aborts, it
will delete the file itself to save you the trouble.


V.   Sending files.

	1.  Text files.  When you are in <T>erminal mode (or E or L),
type Cntrl-T<ret>.  MADAM7 will prompt you for the filename to be sent.
You will need to have already set your options using the TXO command.
These options will have to match the board you are using.  I suggest
creating a dummy text file (small) and experimentally uploading it
until you find which settings work with your board.  The settings have
to do with the X-on/X-off protocol you have probably seen referred to.
Again, you must set your options BEFORE the transfer.

	2.  Xmodem transfers.  Please see the preceeding section for 
the Xmodem options.  The general command is S(option) filename.ext.
MADAM7 will sense whether the receiving computer is using CRC or
CHECKSUM checking and will immediately make the appropriate adjustment.
It is usually easier to abort a send than a receive.  Just keep hitting
Cntrl-X and return and you will eventually regain control.  MADAM7 
issues running progress reports on file transfers.


VI.  Modifications.

	1.  Time to wait for answer.  This gives trouble for a lot of
people.  Basically, you want this to be as short as possible, since
this is ALSO how long MADAM7 will wait before it redials a busy number.
The code that determines this time is found at location 060B.  The 
default is 32(hex).  This is 50 decimal and means a wait time of 5
seconds.  Using DDT to enter a 64 here will increase you to 10 seconds.
FF would cause you to wait almost 30 seconds.  Possibly your phone
system is this bad, but this will mean the continuous redial is of
little value.

	2.  CRC default.  If you spend a lot of time on a board with
CHECKSUM error-checking, you can change the code at 010F.  FF is a
CRC default.  Enter a 00 for CHECKSUM.

	3.  MADAM7 contains two libraries.  One is of telephone
numbers.  To change this, download M7LIB.COM from Compuserve or any
local RCP/M.  This program makes it simple to do.

The second library is the Function Key library.  You change this with
M7FNK.COM.  Look for it where you find M7LIB.COM.  They hang around
together a lot.

VII.  Function Keys.  Irv Hoff has created a library inside MADAM7 where
you can store ten combinations of keystrokes which can be sent with 
just two keys.  Type ^<ret> to see what's in your Function Key library.
When you are on-line, you can send those characters just by pressing
^(key)<ret>.  On my disc, ^9<ret> types my name.  Useful for logons.
^0 says "Nice chatting...see you again soon!"  Any combination of keys 
that you use a lot can be put in the function key library.  I urge you
NOT to put various passwords in there!

VIII. Known problems.  Most have been addressed earlier.  Forgetting to
change from CRC to CHECKSUM is the most common.  The need for more
wait time is another.  I have worked with some folks who kept getting
aborted transfers.  ALL of these occurred while copying to datapacks
that were nearly full.  The hypothesis is that while the ddp is racking
from one end to another hunting for a free block, the sending computer
times out and stops the transfer.  In every case referred to me, 
starting a transfer with an empty ddp (or using a disc drive) has cured
this mysterious malady!

I have had MADAM7 come up with a lot of garbage that couldn't be read.
Apparently it is caused by a bad load and can only be cured by 
resetting the system and reloading MADAM7.  If you are on-line, and
don't want the modem to disconnect, be sure to use the command option
MADAM7 TO<ret>.  If you do this, the modem will remain on-line for you.

Should anyone need help in addition to this file, please post a note
to me on the ADAMSmartlink.

John Moore
1970 Fisher Tr., N.E.
Atlanta, GA 30345
