home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / cpm86 / modem840.lbr / MDM840.DQC / mdm840.doc
Text File  |  1985-02-09  |  42KB  |  985 lines

  1.  
  2.                 MDM840
  3.  
  4.              (NOTES ON HOW TO USE)
  5.  
  6.     MDM840 is the 8086 version of the popular CPM-80 program
  7.     MDM7xx ( Copyright 1983,1984, Irvin M. Hoff W6FFC )
  8.  
  9.     This documentation has been altered in parts to reflect the
  10.     operation of MDM840, however in most part is the original
  11.     documentation for MDM740.
  12.  
  13.     Translation to 8086 code by Alex Soya, P.O. Box 121,
  14.     Melbourne Beach, Fl. 32951.
  15.  
  16.     Please report any problems with MDM8xx to Alex Soya via
  17.     Melbourne RCPM, (305) 2597955
  18.  
  19.  
  20.                   27 Sep 1984
  21.  
  22.  
  23.                 MDM840
  24.  
  25.              (NOTES ON HOW TO USE)
  26.  
  27.               Copyright 1983,1984
  28.  
  29.  
  30.               Irvin M. Hoff W6FFC
  31.  
  32.                    7 May 1984
  33.  
  34.                MDM840 additions 27 Sep 1984
  35.  
  36.  
  37. NOTE:  MDM840 SUPPORTS AUTO-DIALING AND AUTOMATIC CONTINUOUS REDIALING
  38.        FOR THE FOLLOWING MODEMS:
  39.  
  40.             SIGNALMAN ANCHOR MARK XII
  41.             HAYES SMARTMODEM 300 OR 1200 MODEMS
  42.             U. S. ROBOTICS 300/1200 MODEM
  43.             PMMI 103 S-100 PLUG-IN MODEM
  44.  
  45.     IT CAN STILL BE EASILY USED WITH OTHER EXTERNAL MODEMS
  46.     ITH MANUAL DIALING SUCH AS THE BELL 212A, RACAL-VADIC,
  47.     ETC.  IT SUPPORTS UP TO TWO LONG-DISTANCE DIALING SYSTEMS
  48.     (SUCH AS 'MCI', 'SPRINT', 'TYMNET', ETC. FOR TOUCH-TONE
  49.     DIALING SYSTEMS.
  50.  
  51.  
  52. INTRODUCTION:
  53. ------------
  54.  
  55.      MDM840 enables a computer to communicate with another computer.
  56. This is normally done by using standard telephone lines but with special
  57. audio tones sending serial data.  Two common speeds are used, depending
  58. on the facilities available -- 300 Baud or 1200 Baud.  A "modem" is used
  59. which provides these audio tones.  This is an acronym for "modulator and
  60. demodulator".  The one section (modulator) provides the audio tones for
  61. sending over the telephone line and the other section (demodulator) then
  62. converts those audio tones back to digital pulses the computer uses to
  63. receive the incoming data.
  64.  
  65.      The modem itself is a hardware utility, usually costing around $75
  66. to $200 for a typical 300 Baud device and from $250 to $800 for a system
  67. offering 1200 Baud as well as 300 Baud.  Some of these (such as the PMMI
  68. S-100 modem board) plug directly into the computer itself, while others
  69. are totally independent of the computer and use an interconnect cable
  70. (usually a RS-232 type) to control the external modem.    A Bell 212A is
  71. an excellent example of this type modem.  Other examples would include
  72. the Racal-Vadic, Hayes Smartmodem, U. S. Robotics, Signalman Anchor, etc.
  73.  
  74.      The program discussed in this guide allows each computer involved
  75. to directly control its own modem, converting DC pulses into audio tones
  76. which are sent to (or received from) the telephone line.  (The standard
  77. 1200 baud transmissions use "DPSK" (dibit phase shift keying) instead of
  78. "AFSK" (audio frequency shift keying).
  79.  
  80.      For short distances, no modems are required as the computer can
  81. provide the necessary digital voltages.  This discussion is centered
  82. around systems intended for use over distances ranging from several
  83. miles to literally around the world.
  84.  
  85.  
  86.  
  87. FEATURES:
  88. --------
  89.  
  90.      A program to communicate with another computer can range from very
  91. simple to very complex.  MDM840 is one of the more complex such programs
  92. available today.  It started in 1977 as a relatively simple program.  It
  93. was called MODEM at that time.    It was intended to be used primarily as
  94. a means of exchanging programs with other people in other cities.  Since
  95. that time a number of other (very useful) features have been added, in
  96. addition to improved methods of program transfer.  A list of some of the
  97. features offered by this particular program include:
  98.  
  99.   1)  Ability to talk with another computer via keyboard at each end.
  100.       (Called the "terminal mode".)
  101.   2)  Ability to operate a remote mainframe computer such as TYM-SHAR,
  102.       or special data bank systems now commonplace.  This includes
  103.       "bulletin board" systems for receiving, sending or just read-
  104.       ing messges or other types of information.
  105.   3)  Ability to upload (send) or download (receive) programs from other
  106.       computers whether TYM-SHAR, data banks, remote hobby systems
  107.       or just another individual in another location.
  108.   4)  Ability to copy incoming information on a printer.  If the print-
  109.       er is too slow to copy the data directly, the extra characters
  110.       back into a large storage buffer until they can be printed.
  111.   5)  Ability to copy incoming data into memory for automatic transfer
  112.       to a disk file.
  113.   6)  Accomodates any computer clock speed up to 25.5 MHz. in 0.1 Mhz.
  114.       increments for uniform results.  (The clock speed is actually
  115.       of modest interest, it is only used for setting timing loops.)
  116.   7)  Advanced type of error detection (CRC or Cyclic Redundancy Check)
  117.       using automatically generated high-speed lookup tables.
  118.   8)  Ability to send any of 11 different pre-programmed function keys.
  119.       (These keys are very easy to reset, using a special external
  120.       program.)
  121.   9)  Automatic disconnect from the telephone line when using CTL-N, or
  122.       "X" as an option during file transfer.  Two other disconnect
  123.       commands with the PMMI modem.
  124.  10)  Additional features of special interest to those using the PMMI
  125.       103 S-100 plug-in modem, the U. S. Robotics 300/1200, the
  126.       Anchor Signalman Mark XII, the Hayes Smartmodem 300 or 1200
  127.       or other "Hayes-compatible" modems.  Those features basically
  128.       include automatic dialing and redialing (if requested) until
  129.       the other computer finally answers.
  130.  
  131.            a) Automatic selection of a particular phone number from
  132.           a library of names and numbers.  (These phone numbers
  133.           can be very easily changed by using a special external
  134.           program.)
  135.            b) Automatic dialing for alternate long-distance systems
  136.           (where auto-dialing touch-tone modems are used).
  137.            c) Entry of a hand-typed number.  Although it might be as
  138.           simple to manually dial the number as hand-type it, it
  139.           can then be automatically redialed indefinitely.
  140.            d) Auto-linking of 1-32 different numbers for continuous
  141.           dialing until one of the group is available.
  142.            e) Choice of beeping continuously when connected to get
  143.           the operator's attention, or beep one time and go to
  144.           terminal mode immediately to catch UNIX or IBM signon
  145.           messages that assume you can copy when connected.
  146.  
  147.  
  148. USING THE PROGRAM THE FIRST TIME:
  149. --------------------------------
  150.  
  151.      For now, we shall assume the program is ready to use on your equip-
  152. ment.  (Normally the user must make some modest changes to the program
  153. before it can be used.    This includes changing the port numbers and some
  154. other personal options.  These will be covered later in the section that
  155. describes how to adapt it to your equipment.)
  156.  
  157.      When the program is brought up is shows this display (if using the
  158. PMMI modem):
  159.  
  160.       MDM840 - (type M for Menu)
  161.       Version for PMMI S-100 modem starting at port: C0H
  162.  
  163.       B>>COMMAND: x
  164.  
  165.        The cursor stops at point "x:" waiting for some sort of command.
  166. Typing a "M" followed immediately by a RETURN, shows the first page of
  167. a 4-page help guide.  If you do not have a PMMI modem, you would have
  168. seen this (or a customized heading for your particular equipment):
  169.  
  170.       MDM840 - (type M for Menu)
  171.       Version for Non-Pmmi modem
  172.  
  173.       B>> COMMAND:
  174.  
  175.      In this case only a 3-page help guide is used, since the 4th page
  176. is used to assist those with the PMMI modem.  It tells them a little
  177. about changing from originate to answer mode, how to change Baud rates,
  178. how to disconnect, etc.
  179.  
  180.      Several commands are similar to those already used for CP/M, such
  181. as 'ERA', 'DIR' and the ability to change disk drives and user areas.
  182. This adds tremendous flexibility while remaining in the modem command
  183. mode.  To change disk drives, just say:
  184.  
  185.       B>>COMMAND: A: <RET>
  186.  
  187.      and you are in the same user area on the A: drive.  You can also
  188. say:
  189.       A>>COMMAND: A: 12 <RET>
  190.  
  191.      to change user areas.  When finished (using this example), say:
  192.  
  193.       A12>>COMMAND: CPM  <RET>
  194.  
  195.      and you will go back to CP/M with the original driver and user area.
  196.  
  197. OPTIONS:
  198. -------
  199.  
  200.      There are 6 primary options and 13 secondary options that may be
  201. typed on the command line.  In additon there are over 35 commands ranging
  202. from single character to three characters that can be used (such as DIR,
  203. ERA, LOG, etc.)  Those are listed on the menu.    (The exact number varies
  204. depending on whether you have the PMMI modem, etc.)
  205.  
  206.  
  207.      Primary Options:     E, L, M, R, S, T
  208.       E = Echo mode (special type of full duplex)
  209.       L = Local modem (no remote echo, half duplex)
  210.       M = Menu display showing features that are available
  211.       R = Receive a file from remote facility
  212.       S = Send a file to a remote facility
  213.       T = Terminal mode (full duplex, echo provived remotely)
  214.  
  215.      Secondary Options:  A, B, D, J, O, Q, R, S, V, X, 0, 1
  216.       A = Answer mode (used only by PMMI modems)
  217.       B = Batch mode -- allows automatic multiple file transfer
  218.         (This is normally only used from modem-to-modem as
  219.         no RCP/M system supports batch mode file transfers.)
  220.       D = Disconnect when done, stay in MDM840
  221.       J = Command mode when finished with a file transfer
  222.       O = Originate mode (used only by PMMI modems)
  223.       Q = Quiet mode, special purpose feature rarely used except if
  224.          operating through a "BYE" program.
  225.       R = Receive data shown on CRT during file transfer
  226.       S = Send data shown on CRT during file transfer
  227.       V = Visual inspection of an ASCII file being transferred.  Not
  228.          often used as most ASCII files are now "squeezed" for
  229.          minimum transfer time and disk space.
  230.       X = Exit to CP/M  when finished, disconnect from phone line
  231.       0 = Odd parity (PMMI modem)
  232.       1 = Even parity (PMMI modem)
  233.  
  234.  
  235.      Although you can get the following information from the help guide
  236. in MDM840 itself, showing it here will allow us to discuss the various
  237. features in somewhat better detail.
  238.  
  239.      (*) INDICATES PMMI, ANCHOR, HAYES AND US ROBOTICS ALL APPLY.
  240.  
  241. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  242.  
  243.  
  244. THE HELP GUIDE, PAGE 1:
  245. ----------------------
  246.  
  247.          Single Letter Commands
  248.  
  249. ?  - Display current settings
  250. ^  - Function key intercept character, then (0-9)
  251. M  - Display the menu
  252. E  - Terminal mode with echo
  253. L  - Terminal mode with local echo
  254. T  - Terminal mode
  255.     For copying text to disk use T (or E or L) FILENAME.TYP
  256.     Start or Stop toggles described on subsequent screen.
  257. R  - Receive CP/M file using Christensen Protocol
  258. S  - Send CP/M file using Christensen Protocol
  259.     COMMAND: R (or S) FILENAME.TYP
  260.     R and S can use the following subcommands:
  261.        B  - Bulk transfer using wildcards (e.g., *.*)
  262.        D  - Disconnect when done, return to command mode
  263.        Q  - Quiet mode (no messages to console)
  264.        V  - View <R> or <S> bytes on console
  265.        X  - When done, disconnect, go to CP/M
  266.  
  267.      The single letter commands may also be used on the
  268.      command line when the program is initially executed.
  269.  
  270. Hit any KEY to CONTINUE
  271.  
  272. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  273.  
  274.  
  275. DISCUSSION OF HELP GUIDE PAGE 1:
  276. -------------------------------
  277.  
  278.      There are basically three types of commands that may be used with
  279. this program:
  280.          1)  Single-letter commands shown on page one.
  281.          2)  Three-letter commands shown on page 2, and
  282.          3)  Control-<char.> commands shown on page 3.
  283.  
  284.      Going down the list:
  285.  
  286.   ? - shows current parameters.  As these are closely tied in with some
  287.       of the other options, we shall show a typical example later
  288.       in this discussion.
  289.   ^ - shows the function key intercept character.  This may be easily
  290.       changed using an external program.  (You may prefer 'escape'
  291.       or some seldom used control-character.)
  292.  
  293.       NOTE:  typing this character while in the command mode will
  294.          display all the programmable function key definitions
  295.          with the exception of the log-on string which uses
  296.          CTL-L.
  297.  
  298.   M - shows the menu a page at a time.    You may abort after any page is
  299.       shown with a control-C.
  300.   E - terminal mode with echo.    When talking with another terminal also
  301.       also using MDM840 (or a comparable program), one of you must
  302.       send an "echo-back" so you can both see what the other person
  303.       is typing.  This is needed for full-duplex operation.  Usually
  304.       the person originating the call will type "E" instead of "T".
  305.       However either may do this.  If "both" use the echo mode, the
  306.       program usually starts typing a string of feedback characters
  307.       since both computers are re-sending the same character over
  308.       and over.  You can stop this by just returning to command mode
  309.       (type control-E) and then retyping "T" rather than "E".
  310.   L - terminal mode with local echo.  Shows what you are typing but does
  311.       not send an echo of the other person's typing back to him.
  312.       Can be used at both ends, in place of one person using "E".
  313.       Both "E" and "L" are useful at times for some types of modems
  314.       that do not use full-duplex, or for some main frame units that
  315.       run half-duplex.  The combination of "T", "E" and "L" gives an
  316.       excellent choice to use on various systems.  Normally the "T"
  317.       mode is sufficient except when talking with another person and
  318.       then the "E" mode at one end or "L" mode at both ends will
  319.       provide normal results.  If the remote system does not supply
  320.       a LF after a CR, you can get that from the 'TLF' command.
  321.   T - puts the program directly into "terminal mode", allowing it to
  322.       send from the keyboard to the other computer, and to copy any-
  323.       thing coming from the other computer with the exception of
  324.       file transfers (use "R" to receive those).
  325.   R - used only for receiving files from the other computer.  These are
  326.       usually sent in binary form with either checksum verification
  327.       or more commonly, CRC (Cyclic Redundancy Checking).  If ready
  328.       to receive another file, you have several choices, depending
  329.       on the program used by the other computer.   After notifying
  330.       him you are ready (or will be very shortly), you can type:
  331.  
  332.            B>>COMMAND: R HELLO.DOC <RET>
  333.  
  334.       and when he starts to send, you will receive the program which
  335.       then goes directly to the disk.  You could also have said:
  336.  
  337.            B>>COMMAND: RB <RET>
  338.  
  339.       This is called the "Batch mode" and is an extremely useful way
  340.       to receive programs automatically, from another computer using
  341.       a similar program.  He will use the batch mode for sending the
  342.       programs and that automatically provides the file names at the
  343.       receiving end.  In this manner, large numbers of programs can
  344.       be transferred completely automatically, including full disks.
  345.       (Assuming you care to pay the toll calls for the time it will
  346.       take!)
  347.  
  348.       NOTE:  The ideal way to receive batch mode would be:
  349.  
  350.            B>>COMMAND: RB <RET>
  351.  
  352.          since you may not know in advance how many programs he
  353.          will be sending.
  354.  
  355.            NOTE:  While receiving a file, any errors will be shown
  356.               on the console CRT, indicating that portion of the
  357.               program is being repeated.  If the file finishes
  358.               transferring normally, it will have been received
  359.               error-free.  Those error notices are merely to let
  360.               the user know a momentary problem caused a resend.
  361.               The error messages indicate phone line quality.
  362.  
  363.   S - used only to end programs.  Similar to "R" but sends instead of
  364.       receives.  If the other system is ready to receive, you could
  365.       then type:
  366.  
  367.            B>>COMMAND: S HELLO.DOC <RET>
  368.  
  369.       It will tell you how many records are involved and how many
  370.       minutes and seconds it will take to send the program.  If the
  371.       other system is ready to receive, it starts the transfer,
  372.       showing how many records have been sent.  If any errors occur
  373.       during transmission, it shows what they are and counts them.
  374.       It will resend any records not correctly received at the other
  375.       computer.  If too many consecutive errors occur (normally set
  376.       at 10), the transfer is terminated.  The 'batch mode' may also
  377.       be used for sending:
  378.  
  379.            B>>COMMAND: SB HELLO.*         (sending batch mode)
  380.  
  381.       will send all files starting with HELLO, or can send just one
  382.       file, or can send several non-related files in this manner:
  383.  
  384.            B>>COMMAND: SB HELLO.DOC XDIR.COM TERM.*
  385.  
  386.       etc.    Be sure to put a space between the various files.  You
  387.       can include the 'X' option:
  388.  
  389.            B>>COMMAND: SBX HELLO.* MDM840.LBR MDM840.AQ6
  390.  
  391.       When the file transfer is completed it disconnects from the
  392.       phone line and reverts to CP/M.  This allows you to be absent
  393.       when the file is finished, offering an advantage when sending
  394.       lengthy files.
  395.  
  396. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  397.  
  398.  
  399. THE HELP GUIDE, PAGE 2:
  400. ----------------------
  401.  
  402.         Three Letter Commands
  403.  
  404. CPM - Exit from this program to CP/M
  405. DIR - List directory and space free (may specify drive)
  406. ERA - Erase file (may specify drive)
  407. LOG - Change default drive/user no. (specify drive/user)
  408.       and reset disks.    e.g. LOG A0: or LOG B: (user # unchanged)
  409. SPD - Set speed of file output in terminal mode
  410. TIM - Select Baud rate for "time-to-send" message
  411. TCC - Toggle CRC/Checksum mode on receive
  412. TLC - Toggle local command immediate or after CTL-
  413. TLF - Toggle LF after CR in "L" or "T" mode for a disk file
  414. TRB - Toggle rubout to backspace conversion
  415. TXO - Toggle XOFF testing in terminal mode file output
  416. NUM - List remote systems
  417. SET - Set modem baud rate
  418. BYE - Disconnect, then return to CP/M
  419. CAL - Dial number
  420. DSC - Disconnect from the phone line
  421.  
  422.       The following are terminal text buffer commands:
  423.  
  424. DEL - Delete memory buffer and file
  425. WRT - Write memory buffer to disk file
  426.  
  427. Hit any KEY to CONTINUE
  428.  
  429. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  430.  
  431.  
  432. DISCUSSION OF HELP GUIDE, PAGE 2:
  433. --------------------------------
  434.  
  435.   CPM - This returns to normal CP/M use, abandoning MDM840.  It does not
  436.       do a warm reboot unless selected on your overlay, saving time.
  437.  
  438.       CAUTION: It does not disconnect the modem from the phone line,
  439.            which allows intentional return to CP/M temporarily.
  440.  
  441.   DIR - Enables the user to see the library of any disk without needing
  442.       to return to CP/M first.  Can be adjusted when installing the
  443.       program to show 3, 4, or 5 groups depending on the width of
  444.       your CRT display.  Normally set to 5 for 80-column displays.
  445.       Shows the amount of disk spacing remaining on the logged-in
  446.       default drive.  (You must log in any drive you wish to write
  447.       on, or to see the correct free disk space remaining.)  See the
  448.       LOG feature below.
  449.   ERA - Enables the user to erase any files from any disk without the
  450.       need to return to CP/M first.  Wild cards (* and ?) accepted.
  451.   LOG - When a new disk is inserted, you can see the directory and read
  452.       files from it but cannot write to it without getting a "BDOS
  453.       ERR".  This command allows you to log in a new disk so you can
  454.       immediately write on it without first returning to CP/M for a
  455.       warm boot.  You can select drive and user number.  (This also
  456.       enables DIR to show the correct free disk space remaining.)
  457.       You can say:
  458.              LOG <RET> for same drive, user area, new disk
  459.              LOG A
  460.              LOG A:
  461.              LOG A14     (user areas are 0-15)
  462.              LOG A11:
  463.  
  464.   SPD - Sets the delay between characters and/or delay between lines in
  465.       the "T" mode when using control-T to upload a pre-typed file.
  466.       Since most bulletin boards and TYM-SHAR systems normally use
  467.       line editors that require a delay after they have received a
  468.       line, you can add delay between characters (in increments of
  469.       10 ms.) and/or enter delay between lines (in increments of 100
  470.       ms.).  This is preset for most systems at 50 and 500 ms.  They
  471.       can be changed at any time.  Current values can be checked by
  472.       using the  " ? " command.
  473.   TIM - This option lets you set the file transfer time from 110 Baud to
  474.       9600 Baud.  You can preset it (when installing the program) to
  475.       the value normally used, but at times it is nice to be able to
  476.       conveniently change the time shown to a different rate.  Some
  477.       initialization routines (discussed in the install section) can
  478.       make this change automatically.  This command does not show if
  479.       using the PMMI* board as the speed is automatically changed to
  480.       agree with the current Baud rate selection.  It also does not
  481.       show if the custom overlay uses the SET command to choose var-
  482.       ious Baud rates as the transfer time is changed automatically.
  483.   TCC - Most modem programs originally used simple checksum verification
  484.       of received sectors.    Most now use Cyclic Redundancy Checking
  485.       which finds certain transmission errors the simple checksum
  486.       system might overlook.  This toggle allows the user to select
  487.       checksum for those systems known to not offer CRC.  When set
  488.       normally to CRC, the program automatically switches to check-
  489.       sum after trying several times to use CRC.
  490.   TLC - Nearly all computers use "control-characters" to do various
  491.       tasks such as move the cursor around, clear the screen, reboot
  492.       the system, etc.  You might want to send a control-E character
  493.       to the local computer and not have it go to the remote system
  494.       at the same time.  Say a moment later you would like to send a
  495.       control-E only to the remote computer.  You would do this:
  496.  
  497.            control-E          (goes to local computer only)
  498.            control-^ control-E    (goes to the remote computer only)
  499.  
  500.       You can reverse the TLC toggle causing this response:
  501.  
  502.            control-E          (goes to remote computer only)
  503.            control-^ control-E    (goes to the local computer only)
  504.  
  505.       All other control-chars. would operate in a similar manner.
  506.       This gives extra flexibility in using this program for special
  507.       systems like TYM-SHAR, etc.
  508.  
  509.       NOTE:  If using control-^ is awkward, you can pick a different
  510.          character when installing the program initially.
  511.  
  512.   TLF - If sending a file while in terminal mode (via CTL-T option) most
  513.       mainframe computers will not want you to send a line feed.  As
  514.       all editors include the LF after CR, you have the option with
  515.       this toggle of sending or not sending a line feed.  If typing
  516.       manually in the "T" mode, you can get a line feed with CTL-J.
  517.       It is automatically included after CR with "L" or "E" modes.
  518.   TRB - Allows the rubout char. to be changed to backspace if desired.
  519.   TXO - Used when uploading pre-typed text files to other systems such
  520.       as TYM-SHAR or bulletin boards, etc.    Most of those have line
  521.       editors that take a moment to move the line you just finished
  522.       from their edit buffer into memory.  The XOFF character halts
  523.       your system from sending until it is ready for a new line.
  524.       Used only in the terminal mode.
  525.   NUM - Not shown if using PMMI*.  This shows the non-PMMI* people the
  526.       phone library numbers which can be used for manual dialing.
  527.   SET - Not shown if using PMMI, or if SETUPR is set to "NO" (indicating
  528.       no user routine in the overlay for choosing different speeds.)
  529.   BYE - Disconnects the modem from the phone line, closes any file that
  530.       may be open and returns to CP/M.
  531.   CAL - PMMI* command, shows the phone library for auto-dialing.  If not
  532.       using a PMMI*, this will not be shown, instead NUM is shown.
  533.       It displays the telephone library.  (Non-PMMI users will find
  534.       the NUM display beneficial as it can display useful phone num-
  535.       bers for manual dialing.)
  536.  
  537.     NOTE:  Use the phone number overlay to easily change the numbers
  538.            that are stored.  This overlay also accesses up to two
  539.            alternate long distance dialing systems for the touch-
  540.            tone auto-dialing modems.  You can also use an external
  541.            program called M7LIB to rapidly change any phone numbers.
  542.  
  543.   DSC - Disconnects the modem from the phone line whenever selected.
  544.   DEL - If copying incoming information into memory, and you decide you
  545.       do not want to bother saving it to disk after all, this closes
  546.       (and then deletes) the disk file you had opened.
  547.   WRT - saves what you have been copying to the disk file already opened
  548.       for that purpose.  When returning from the "T" mode to command
  549.       mode, a warning is shown that you may lose what has been saved
  550.       unless you use WRT (write to disk).
  551.  
  552. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  553.  
  554.  
  555. THE HELP GUIDE, PAGE 3:
  556. ----------------------
  557.  
  558.   Local Commands while in Terminal Mode
  559.  
  560.   CTL-@  - Send a break tone for 300 ms.
  561.   CTL-B  - Change Baud rate (PMMI only)
  562.   CTL-E  - Exit to command mode
  563.   CTL-L  - Send log-on message
  564.   CTL-N  - Disconnect from the phone line
  565.   CTL-P  - Toggle printer
  566.   CTL-Y  - Start copy into buffer
  567.   CTL-R  - Stop copy into buffer
  568.  
  569.         Start & Stop may be toggled as often as desired.
  570.         A ":" at start of line indicates buffer is copying.
  571.         XOFF automatically used to stop input when writing
  572.            full buffer to disk, XON sent to resume.
  573.  
  574.   CTL-T  - Transfer ASCII file to remote
  575.  
  576.   CTL-^  - Send local control character to remote
  577.  
  578. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  579.  
  580.  
  581. DISCUSSION OF HELP GUIDE, PAGE 3:
  582. --------------------------------
  583.  
  584.   CTL-@  - Sends a break character to the other computer.  Used in some
  585.          TYM-SHAR systems, etc.  (Used only in PMMI mode)
  586.   CTL-B  - PMMI command, changes the Baud rate from 110-710, in addition
  587.          changes the file transfer time accordingly.
  588.   CTL-E  - Returns to command modem from "T", "L", "E" modes.
  589.   CTL-L  - Will send the log-on message if TRANLOGON is set YES and a
  590.          message has been included in the LOGON area.  Can use this
  591.          feature to sign on various bulletin board systems, although
  592.          that would require an identical password on each.
  593.   CTL-N  - Disconnect the modem from the phone line.  (CTL-D had been
  594.          used for this command, but it was too easy to accidently
  595.          type CTL-D when expecting to hit CTL-S or CTL-E or CTL-X.
  596.          You can easily change this to whatever you like in the
  597.          overlay you use for your equipment.)
  598.   CTL-P  - Toggles the printer on-off.    Very useful feature.  Similar to
  599.          normal control-P but in this case if the modem is running
  600.          faster than normal printer speed, the characters just back
  601.          into a special buffer while the printer tries to catch up.
  602.          Most dot matrix printers are considerably faster than most
  603.          telephone modems, however.  Can be toggled at any time you
  604.          are in the "T", "L" or "E" modes.    Often used to copy items
  605.          from bulletin boards, etc. that are not worth permanently
  606.          saving on disk.
  607.   CTL-Y  - Used only in terminal mode.    If a file was opened prior to
  608.          going to "T" (terminal) mode, nothing will be saved until
  609.          control-Y is typed.  This places a ";" (semicolon) at the
  610.          start of each new line, indicating the memory is "hot" and
  611.          is now copying for saving to a file.  You can toggle this
  612.          off by using control-R.
  613.  
  614.        NOTE:  To open a file use:  COMMAND: T FILENAME.EXT <cr> and
  615.           then CTL-Y and CTL-R will control what is copied to
  616.           be placed in that file.
  617.  
  618.   CTL-R  - Stops the copy into memory, shuts off the ";" at start of
  619.          each line.  These two commands (CTL-Y to start, and CTL-R
  620.          to stop) control what is being saved.  When returning to
  621.          command (via CTL-E), you will then be warned to save the
  622.          information to disk via the WRT command or it will likely
  623.          be lost.  (You may never use CTL-R although CTL-Y is re-
  624.          quired to commence saving to memory for the disk file you
  625.          previously opened.)
  626.  
  627.             (These commands -- CTL-P, CTL-Y and CTL-R give
  628.             MDM840 tremendous versatility.  You can copy
  629.             incoming data either to disk or to printer (or
  630.             both).  My own printer is a 300 Baud Teletype
  631.             Corporation Model 43, yet it works great when I
  632.             am using the Bell 212A at 1200 Baud.  The printer
  633.             falls behind, but misses nothing as it eventually
  634.             catches up with the contents of the large buffer.)
  635.  
  636. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  637.  
  638.  
  639. THE HELP GUIDE, SPECIAL PMMI PAGE:
  640. ---------------------------------
  641.  
  642.       Additional Subcommands for PMMI Modems
  643.  
  644. Modem control:
  645.   A - Answer tone for send or receive
  646.   O - Originate tone for send or receive
  647.  
  648. Parity options:
  649.   1 - Set and check for odd parity
  650.   0 - Set and check for even parity
  651.      Both ends must be capable of these options
  652.      which are available only in R and S modes.
  653.      The parity checking will be part of the
  654.      file transfer protocol.
  655.  
  656. Speed Options:
  657.       After entering your primary and secondary options,
  658.       you can set the modem speed by placing a "." after
  659.       the options followed by the speed e.g., 300, 1200.
  660.  
  661.       EXAMPLE:    SBOT.600 will set the modem for 600 baud
  662.  
  663.  
  664. Hit any KEY to CONTINUE
  665.  
  666. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  667.  
  668.  
  669. DISCUSSION OF HELP GUIDE, SPECIAL PMMI PAGE:
  670. -------------------------------------------
  671.  
  672.      When using MDM840 with the PMMI board, you will either dial out or
  673. (far less likely) answer some incoming call.  Since the unit will be in
  674. "originate mode" about 98% of the time, it is set to automatically come
  675. up in the originate mode at default speed (300 Baud) whenever a call has
  676. been completed.  If you want to use answer mode, you need to use the "A"
  677. command.  If a speed is not included, it will stay at the default speed.
  678.  
  679.      Until a connection has been made, there are no tones applied to the
  680. line.  Originate tones at 300 Baud are automatically added at that time.
  681.  
  682.      In addition to telling the PMMI modem if it should use originate or
  683. answer tones, you can tell it what Baud rate to use.  A typical command
  684. (once connection is made to another modem) would be:
  685.  
  686.            B>>COMMAND: O.600 <RET>
  687.  
  688.      This puts the tones on the phone line for originate and at the
  689. same time sets the PMMI board for 600 Baud.   Another typical response
  690. might be:
  691.  
  692.            B>>COMMAND: RAB.450 <RET>
  693.  
  694.      This places the answer tones on the phone line, sets the program
  695. for receiving batch mode at 450 Baud.  It returns to the terminal mode
  696. when the transfer is completed.
  697.  
  698.      Other optional PMMI commands seem self-explanatory, such as dis-
  699. connect, etc.
  700.  
  701. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  702.  
  703.  
  704. PMMI, ANCHOR, HAYES AND ROBOTICS AUTO-DIALING AND AUTO-REDIALING:
  705. ----------------------------------------------------------------
  706.  
  707.      There are several very useful and versatile features offered for
  708. the PMMI, Anchor, Hayes and Robotics users.  These include alternate
  709. long distance dialing systems.
  710.  
  711.      There are several ways to auto-dial.
  712.  
  713.       1) from the command line
  714.       2) from the phone number library line
  715.  
  716.      In addition you can auto-redial from either of these lines.  Once
  717. the number has auto-dialed and there is no answer, it will ask you if
  718. you want it to continuously auto-redial until it does receive an answer
  719. (or you decide to abort).
  720.  
  721.      To get the phone library, type CAL <ret> on the command line.  You
  722. then normally just type the alphabetic character at the start of the ap-
  723. propriate line.  It will show the number being dialed.    You can also do
  724. this from the main command line if you know in advance what alphabetic
  725. character is associated with that particular number:
  726.  
  727.            B>>COMMAND: CAL P <RET>
  728.  
  729.      This calls up the "P" line in the library and dials that number,
  730. then if busy asks if you want it to continue redialing.  You can use:
  731.  
  732.            B>>COMMAND: CAL 313-749-6569 <RET>
  733.  
  734.      and it will dial the number specified.  You can then do either of
  735. these on the library command line, as well.  This gives a tremendous
  736. versatility.
  737.  
  738. NOTE:    To access the alternate long distance dialing systems (up to two
  739.     are offered), use the phone number overlay and fill in the infor-
  740.     mation regarding your access number, billing number, etc.  It
  741.     will then show how to enter a special character ahead of each
  742.     phone number where alternate long distance system is desired.
  743.     This only works where touch-tone systems are in use.
  744.  
  745.  
  746. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  747.  
  748. AUTO-LINKING PHONE NUMBERS:
  749. --------------------------
  750.  
  751.      If the number you want to dial is busy, you would like to have it
  752. automatically redialed until it answers.  However, you might like to
  753. call any of a group of numbers and be happy to take whichever one first
  754. becomes available.  Auto-linking allows a group of numbers to be listed
  755. and they are then continuously dialed one after the other, until one is
  756. available.
  757.  
  758.      MDM840 permits from 1-32 numbers to be linked together in any way.
  759. There are two options:
  760.  
  761.        B>>COMMAND: CAL A,D,R,3,Z         1)
  762.        B>>COMMAND: CAL F,             2)
  763.  
  764.        B>>COMMAND: CAL A/D/R/3/Z         3)
  765.        B>>COMMAND: CAL F/             4)
  766.  
  767.        B>>COMMAND: CAL A,D,A,R,A,3,A,Z   5)
  768.  
  769.        B>>COMMAND: CAL F             6)
  770.  
  771.  
  772.     1) using a comma (,) will beep continuously when connected to
  773.        the first available number - touching any key stops the beep
  774.        and goes to terminal mode.
  775.  
  776.     2) just the one number is linked to itself and redials until
  777.        connected.  Beeps continuously until stopped with any key.
  778.  
  779.     3) using a slash (/) will beep only once when connected and then
  780.        automatically go directly to terminal mode - this is useful
  781.        where some mainframes such as IBM and UNIX send a logon note
  782.        assuming you are already able to copy as soon as connected.
  783.  
  784.     4) just the one number is linked to itself and redials until
  785.        connected.  Beeps only once and goes to terminal mode.
  786.  
  787.     5) illustrates how one number can be given top priority.
  788.  
  789.     6) system used previously - if connected on first try, beeps one
  790.        time and jumps directly to terminal mode.  If no connection,
  791.        asks the operator if he wants to try again or try continuous-
  792.        ly until a connected is made - at which time it beeps until a
  793.        key is depressed.
  794.  
  795. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  796.  
  797.  
  798. CASCADING COMMANDS:
  799. ------------------
  800.  
  801.      Several commands may be used on the same line.  Ones normally used
  802. are:  A, B, D, E, J, L, O, Q, R, S, T, V, X (and Baud rate if PMMI).
  803.  
  804.      A typical PMMI selection might be: RABQJ.300
  805.  
  806.      The commands have been listed previously but will be listed here
  807. again:
  808.  
  809.     A) answer tones for PMMI S-100 modem, puts tones online.
  810.     B) batch mode  (must be used at both ends if used at all)
  811.         (usually only available modem-to-modem with operators
  812.         present at each end.)
  813.     E) echo mode for conversing with a system not offering echo.
  814.     J) will return you to the command mode after a file transfer.
  815.     L) local echo shows what you are sending if no remote echo.
  816.     O) originate tones for PMMI S-100 modem, puts tones online.
  817.     Q) quiet mode, suppresses messages on local console.
  818.     R) receive file transfers with CRC or checksum protocol.
  819.     S) send file transfers, also shows transfer time.
  820.     T) terminal mode - operates computer at other end like a remote
  821.           terminal.  Also stands for "text mode".  When in "T" mode
  822.           you can copy incoming to printer or to disk, and send pre-
  823.           typed ASCII text files via CTL-T.
  824.     V) visual -- lets you see incoming ASCII files while being sent
  825.           to the disk system.
  826.  
  827.     NOTE:  The Baud rate is only used for the PMMI S-100 modem.
  828.            Many of the custom overlays allow use of the SET
  829.            command to change Baud rate with non-PMMI modems.
  830.  
  831. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  832.  
  833.  
  834. TYPICAL PARAMETERS SHOWN BY THE "?" COMMAND:
  835. -------------------------------------------
  836.  
  837. B>>COMMAND: ? <RET>
  838.  
  839. Mode: CRC
  840. Rub is backspace
  841. Printer buffer is OFF
  842. Modem speed is 300 baud
  843. Terminal mode file buffer is inactive
  844. Unused portion of buffer is 16384 bytes
  845. Use CTL-^ to send local command to remote
  846. LF NOT sent after CR in "L" or "T" for a disk file
  847. XOFF testing NOT used in terminal mode file output
  848. XON NOT automatically tested after CR in terminal mode file output
  849.  
  850. Char. delay (terminal file mode) is:  50 ms. per character
  851. Line  delay (terminal file mode) is: 500 ms. per character
  852.  
  853. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  854.  
  855.  
  856. DISCUSSION OF TYPICAL PARMETERS SHOWN BY THE "?" COMMAND:
  857. --------------------------------------------------------
  858.  
  859.      By this time, most of these parameters are self-explanatory.  They
  860. primarily show how the options and toggles have been set.  The user can
  861. check on any of the major parameters at any time by:
  862.  
  863.       1) Typing control-E to return to command mode and
  864.       2) Typing  ?    to see the list of current parameters.
  865.  
  866. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  867.  
  868.  
  869. FUNCTION KEYS:
  870. -------------
  871.  
  872.      There are 10 function keys which may be easily programmed with an
  873. external file called M8FNK.CMD in just a few moments.    It makes the
  874. changes directly to the MDM840.CMD file.  (There is an additional CTL-L
  875. log-on selection that is programmable in your overlay.)
  876.  
  877.      To view the contents of the function keys, type 'M' for menu while
  878. on the command line and it will show the character currently used for
  879. the function key intercept.  (It will be '^' unless you select another.)
  880. You could then type that character (followed by <CR>) on the command
  881. line and it will display the entire contents of the function keys.
  882.  
  883. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  884.  
  885.  
  886. CHANGING THE PHONE NUMBER LIBRARY:
  887. ---------------------------------
  888.  
  889.      The phone numbers in the library may be easily changed using an
  890. external file called M8LIB.CMD.  This permits any of the 36 phone num-
  891. bers to be changed in only a few seconds.  It works directly on the
  892. MDM840.CMD file.  If extensive changes are to be made, you may prefer
  893. to use an overlay file called M8NM-40.A86.  This permits using your
  894. editor to make quick and selective changes, or to substitute an entire
  895. new library.  (You may need to add or remove things like '1-' for long
  896. distance dialing in your area.)  That file also is used to set the
  897. alternate long-distance dialing routines for SPRINT, MCI, TYMNET, etc.
  898.  
  899. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  900.  
  901. RETRY OPTION:
  902. ------------
  903.  
  904.      The consecutive error limit has been set to 10.  When transferring
  905. files from RCPM systems their XMODEM program aborts should this limit be
  906. reached.  Each overlay has an option previously called ACKNAK.    This has
  907. bee renamed to RETRY.  It should be set NO if working RCPM systems or
  908. other computers with a program similar to MDM7.
  909.  
  910.      If using large mainframe computers (such as ARPANET), they do get
  911. busy at times and will not accept additional information.  This may give
  912. timeout errors at your end, but not at the mainframe.  If RETRY is set
  913. YES, after 10 consecutive errors it then asks if you wish to reset the
  914. error counter and keep trying.    It should take some 100 seconds to get
  915. 10 consecutive errors in this situation.
  916.  
  917. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  918.  
  919.  
  920. INSTALLING THE PROGRAM:
  921. ----------------------
  922.  
  923.      Although this is obviously the very first thing that needs to be
  924. done, it was saved until last for several reasons.  The most important
  925. of these was the need to first explain what some of the options will do
  926. when selected.
  927.  
  928.      By this time the user should have a fairly good idea what options
  929. would work best for him.  When looking at the beginning of the program
  930. where the these are selected, it should now be rather easy to pick the
  931. ones that are most useful.
  932.  
  933.      There are various ways to change the program to suit a specific
  934. user.  You are offered several methods.  The "easy way" is to get the
  935. MDM840.H86 file plus the appropriate overlay for your computer.  You
  936. then edit the overlay (if needed) to suit your local needs, assemble it
  937. to get a .H86 file then use the simple instruction and PIP.CMD to com-
  938. bine the standard MDM840.H86 file with your overlay.  The front end of
  939. each overlay contains all the information in the front of the MDM840
  940. source code itself. By using PIP as follows: PIP MDM.H86=MDM840.H86,M8OVL-1.H86
  941. (M8OVL-1 is the overlay for your computer and may have a different name.)
  942. the front end information is actually appended to the main MDM840.H86 file
  943. and later overlayed by using GENCMD to generate the MDM.CMD file as follows:
  944. GENCMD MDM 8080 CODE[MFF0].  You now have the MDM.CMD file which you
  945. can run by typing: MDM
  946.  
  947.      Generally no changes need to be made in specific overlays unless
  948. you have some particular requirement different from others using the
  949. same equipment.  (Such as the log-on message, for example.)  You may
  950. also wish to say "YES" to the AUTODIAL question, which might be cur-
  951. rently set "NO".
  952.  
  953.      The "hard way" would be to get the 180k MDM840.A86 source code and
  954. then edit it to suit.  This is likely to be quite unsatisfactory for most
  955. users as it will not contain the information peculiar to your computer
  956. (which is in the individual overlay you select otherwise.)
  957.  
  958.      Thus various methods are available, one of which should provide the
  959. easiest method for your system.
  960.  
  961. NOTE:    Although designed with special emphasis on the auto-dialing and
  962.     redialing capability of the PMMI, Anchor, Hayes or Robotics, it
  963.     works quite well on non-PMMI modems.  In the author's system a
  964.     stock Bell 212A Dataphone is used together with a normal serial
  965.     I/O that can be programmed to easily switch from 300 to 1200 bps.
  966.     A great variety of other computers and modems can use this same
  967.     program quite easily.  This is likely the most versatile phone
  968.     modem programs currently available for CP/M users.
  969.  
  970.  
  971. OUR THANKS TO:
  972. -------------
  973.  
  974.      A great number of people have contributed to the growth of this
  975. program since 1977.  Two people have been particularly helpful to me in
  976. developing the MDM700 series modem programs:  Keith Petersen (W8SDZ)
  977. and Frank Gaude' (ex-K6IBE).  Their help and interest have been greatly
  978. appreciated.
  979.  
  980.      We hope this verstile program will give you hours of enjoyment and
  981. fulfill your modem needs.
  982.  
  983.                      - Irv Hoff W6FFC
  984. 
  985. easiest