Date : Tue, 12 Jun 1984 08:15:00-EDT
From : Robert L. Plouffe <PLOUFF@Mit-Mc.ARPA>
Subject: MODM700
There will be a new release of MODEM7 software w/source
to the public domain. It is fully tested with a Hayes modem
now and some local testing with PMMI modems is going on this
week. It will be initially released to the INFO-MODEM7 list
for comment and/or Beta testing, followed by full release in
a few weeks. Work to be done is some documentation, minor clean
up, and testing. My time is limited so be patient.
The source contains the following info regarding improvements.
NOTICE: This is a new fork in the MODEM7 generic series and
contains many new features and improvements. See detail below.
Especially see the special configuration requirement necessary
to obtain the features listed in 2 below under New Features.
The purpose of this effort is to return the source code for MODEM7,
in its latest revised and improved state, back to the "public-domain"
where it rightfully belongs. Bob Plouffe --June 12, 1984
************
New features are:
1. Wild cards (*) in file names, as well as multiple file names (in send),
automatically place the transfer protocol into batch mode. Can still use
'B' option but is not necessary.
2. Uses Carrier Detect lead on modem to do various things...
a. Avoid re-initializing modem and port to default speed
if carrier is already ON when executing the program -- so
you can go out to cp/m and then back to MODM700 without
affecting your modem parameter settings.
b. Reset modified modem command prompt if carrier is off.
See 3 below for modified command prompt.
c. Prevents DIAL (CALL) command from working at either end
if already connected as indicated by presence of carrier.
d. Allows for compatibility with remote automatic answering
software that requires that the Carrier Detect lead in the
RS232 interface follow the presence or absence of carrier.
NOTE: You must have a routine in your overlay for checking
the status of the CARRIER DETECT lead for these three features
(a,b & c) to work as advertised. You will need to get to that
through a special jump which you must add to the overlay at
the label JMP$CHKCD. The routine in your overlay must return
the Z flag set if carrier is absent and NZ if it is on.
You may modify any of the M7 overlays to include this jump
and routine without affecting their use for MDM7XX. On a Hayes
SmartModem set switch 6 to ON or UP in order for Carrier Detect
to be active (else it is tied high permanently). All other
switch settings should be the Factory Settings as listed in
Table 1 on page 2-6 of the manual. The ORG for JMP$CHKCD is
145H, so place a jump to your routine at that location in
your overlay. There are 3 NOP's there now, so just replace
them with the JMP. If you have a PMMI modem, the correct routine
is already in this source so you won't have to do anything.
3. The end that dials a connection and gets connected has its
command line prompt modified to say "Enter LOCAL Command" instead
of just "Enter Command". Thus you can always tell which end is
giving you the command prompt as you proceed and switch between
Command mode and Terminal mode.
4. Any command that can be executed from the Modem command line
can also be executed from the CP/M command line by entering the
command after the program name. This includes dialing a number
or a library ID.
5. Length of dialing command from either the CP/M command line
or the Modem command line is no longer restricted to 3 letters.
You can now use 'C', 'CALL', 'CAL', or 'DIAL'. Also the position
of the command and the number (either one or both) is no longer
critical on the command line within the limits normally imposed
by CP/M.
6. The above freedom for other commands and their command tails
(if any) also apply.
7. New command interpreter that avoids 'INLNCOMP' routine.
Scans legal commands first and then looks for legal options (which
are retained from previous versions). Many synonyms for commands
are allowed such as the example above for dialing. The list also
includes 'SEND', 'RCV', `RECEIVE', 'STAT', 'SAVE', 'CAPTURE', etc.
8. The modem-end that initiates the connection returns to Terminal
mode automatically after getting connected and/or after file trans-
fers are completed. No need for 'T' on the command line for this to
happen. The other end automatically returns to Command mode.
9. Automatic disconnect of phone line in batch mode if more than 3
attempts to receive or send a file name upon detection of file name
errors or timeouts. You can now safely go to bed and let it run to
completion without worrying if it will crash and keep your long-distance
connection up if file name errors occur. The 'D' option already provides
for disconnect upon completion or if too many errors on sector sending
or receiving.
10. Extensive clean-up of messages to operator in batch mode. No more
nonsense like 'Awaiting name NAK'. Now sends the message "Waiting..."
instead and, when the NAK does get received it says "Sending file name"
which is actually what is going on and more meaningful to the user.
This is only an example and there are others. Like, it says "File name
received" instead of "Awaiting file name" and does it only when the file
name has been received. This avoids the extra "Awaiting file name"
message at the end of file transfers in batch. Ditto was done for the
messaging in sending of file names also.
11. You can toggle between 'Q'uiet mode and verbose-reporting during
file transfers by entering a control-V at the keyboard. Thus if you
are using the 'V'iew option for either S, R or both to see characters
being transferred (including protocol characters), this useful toggle
will prevent the 'verbose-reporting' from interfering and confusing
the viewing on the screen. Alternatively, it can be used simply to
toggle 'Q' mode on and off even if not in the 'V' mode. This toggle
will work only at the end making a phone connection and not at the
end that may answer under 'BYE'.
12. All of the syntax of MODEM7xx, MDM7xx etc that derive from the
original MODEM2/MODEM7 is retained in addition to the new commands
and syntax options.
13 Last but not least, the program does not build a table of
file names any more for sending in batch mode. It searches (next),
after each file transfer, for files specified BOTH as wild cards and
as individual file names (including their drive designation) for all
name specifications entered on the modem command line. This will
continue indefinitely until no more files can be found from the file
name specifications (or until the receiving end exhausts disk space).
Thus, the program is NO LONGER limited to just 64 files in batch.
************