[net.micro.cpm] MODM700

PLOUFF@Mit-Mc.ARPA (06/12/84)

From:  Robert L. Plouffe <PLOUFF@Mit-Mc.ARPA>


   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. 

			************