home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug135.arc / IMP.DZC / IMP.DOC
Text File  |  1979-12-31  |  39KB  |  904 lines

  1.  
  2.  
  3.                  IMP
  4.  
  5.             (NOTES ON HOW TO USE)
  6.  
  7.             Copyright 1985, 1987
  8.  
  9.              Irvin M. Hoff W6FFC
  10.  
  11.                 01 June 1987
  12.  
  13.  
  14.  
  15. INTRODUCTION:
  16. ------------
  17.  
  18.          NOTE:  THIS PROGRAM SUPPORTS ANY 1200 OR
  19.             2400 BPS MODEM INTENDED FOR AUTO-
  20.             DIALING WITH THE 'AT' PROTOCOL OR
  21.             THE RACAL-VADIC PROTOCOL. IT ALSO
  22.             SUPPORTS THE  PROMETHEUS PROMODEM
  23.             EXTENDED-'AT' 1200 BPS PROTOCOL.
  24.  
  25.  
  26.      NOTE:    IMP v245 adds break capability.  Use ESC Q.
  27.         It also adds the 'TIG' toggle command to
  28.         display all incoming control characters if
  29.         needed for a remote editor.
  30.  
  31.  
  32.     The IMP modem program enables a computer to communicate with
  33. another computer.  This is normally done by using standard telephone
  34. lines but with special audio tones sending serial data.  Three common
  35. speeds are used, depending on the facilities available -- 300, 1200 or
  36. 2400 bps.  ('bps' stands for bits per second.  One character is 10 bits
  37. normally.  It may be 11 bits if two stop pulses are used.)
  38.  
  39.  
  40. WHAT IS A MODEM?
  41. ---------------
  42.     A "modem" is provides these audio tones.  This is an acronym for
  43. "modulator and demodulator".  The one section (modulator) provides the
  44. audio tones for sending over the telephone line and the other section
  45. (demodulator) then converts those audio tones back to digital pulses the
  46. computer uses to receive the incoming data.
  47.  
  48.     The modem itself is a hardware utility, usually costing around
  49. $50 to $125 for a typical 300 baud device and from $80 to $250 for a
  50. system offering 1200 bps as well as 300 baud.    The newest modems add
  51. 2400 bps and currently can be obtained from $200 to "way on up".  (The
  52. so-called "list prices" are rarely paid even with single-unit purchases.)
  53.  
  54.     Some modems are intended for plugging directly into the computer
  55. while a vast majority used with CP/M computers are external devices that
  56. attach to the computer through a serial I/O connector.    These are often
  57. designed to sit under the phone itself to minimize the space required.
  58. An external modem has several advantages as most have numerous indicator
  59. lamps telling the user what is happening.  This also makes it far more
  60. simple to use the modem on any of several computers the user may have.
  61. (It also makes it a lot easier to adjust the loudspeaker volume control
  62. than on an internal unit.)
  63.  
  64.  
  65. AUTO-STEPDOWN, A NEW MODEM FEATURE
  66. --------------------------------
  67.     The newer 300/1200/2400 bps intelligent modems have the ability
  68. to determine the maximum speed (baudrate) at which the system they are
  69. calling can use.  They adjust themselves accordingly, without operator
  70. intervention or knowledge.  They send a "result code" back to the local
  71. computer telling it what speed they now have.  This information can be
  72. used to automatically set the local computer to the same speed.  A mes-
  73. sage is displayed telling the operator what speed he has.
  74.  
  75.     If the operator has a reason for using less than the maximum
  76. speed to which another system might respond, he can initially restrict
  77. the modem from attempting to connect at a faster speed.  Example, Compu-
  78. serve has modems that will answer at either 1200 or 300 bps.  If reading
  79. and answering messages "on line in real time" many callers prefer to use
  80. 300 baud (they cannot type even that fast) rather than 1200 bps which is
  81. nearly twice the cost.    (They also have 2400 bps modems but those are
  82. frequently on an independent phone line not used for 300 or 1200 bps.)
  83.  
  84.     IMP takes advantage of this automatic stepdown feature.  It has
  85. the modem attempt to connect at 2400 bps.  If that is unavailable at the
  86. answering end, the modem tries for 1200 bps.  When connected, IMP shows
  87. the speed currently in use and automatically adjusts the local I/O to
  88. match.    (IMP is the first and currently the only free modem program to
  89. take advantage of this new modem feature.)
  90.  
  91.     The operator can easily select the "SET" command should he wish
  92. to override the automatic "start trying at 2400" and have a specific
  93. speed dialed (such as 300 baud for Compuserve for hand typing messages
  94. at lower cost, etc.)  The automatic feature is reinstated by either
  95. using the "SET" command for 2400, or merely calling up the modem program
  96. from the disk once more.
  97.  
  98.     Note: The US Robotics Courier auto-steps from 2400 to 1200 but
  99. not to 300, as do most of the other new modems with 2400 bps.  This is
  100. no loss, really, as few people using 2400 would call into a system only
  101. having 300 bps.
  102.  
  103.  
  104. PURPOSE
  105. -------
  106.      The program discussed in this guide allows each computer involved
  107. to directly control its own modem, converting DC pulses into audio tones
  108. which are sent to (or received from) the telephone line.  (The standard
  109. 1200 baud transmissions use "DPSK" (dibit phase shift keying) instead of
  110. "AFSK" (audio frequency shift keying).
  111.  
  112.      For short distances, no modems are required as the computer can
  113. provide the necessary digital voltages.  This discussion is centered
  114. around systems intended for use over distances ranging from several
  115. miles to literally around the world.
  116.  
  117.  
  118. FEATURES:
  119. --------
  120.      A program to communicate with another computer can range from very
  121. simple to very complex.  Although IMP has a number of quite useful fea-
  122. tures (some of which other modem programs do not currently offer) it is
  123. one of the easier programs to learn and use.  A list of some of the
  124. features offered by this particular program include:
  125.  
  126.   1)  Ability to talk with another computer via keyboard at each end.
  127.       (Called the "terminal mode".)
  128.   2)  Ability to operate a remote mainframe computer such as TYM-SHAR,
  129.       or special data bank systems now commonplace.  This includes
  130.       "bulletin board" systems for receiving, sending or just read-
  131.       ing messges or other types of information.
  132.   3)  Ability to upload (send) or download (receive) programs from other
  133.       computers whether TYM-SHAR, data banks, remote hobby systems
  134.       or just another individual in another location.
  135.   4)  Ability to automatically transfer a group of files (called "batch
  136.       mode".  Two popular methods included, KMD batch mode and the
  137.       older MODEM7 batch mode.  (Only the KMD type is supported by
  138.       RCPM or RAS systems, the MODEM7 batch type can be used when
  139.       in contact with another individual that only has the MODEM7
  140.       type.)
  141.   5)  Ability to copy incoming information on a printer.  If the print-
  142.       er is too slow to copy the data directly, the extra characters
  143.       back into a large storage buffer until they can be printed.
  144.   6)  Ability to copy incoming data into memory for automatic transfer
  145.       to a disk file.
  146.   7)  Accomodates any computer clock speed up to 25.5 MHz. in 0.1 Mhz.
  147.       increments for uniform results.  (The clock speed is actually
  148.       of modest interest, it is only used for setting timing loops.)
  149.   8)  Advanced type of error detection (CRC or Cyclic Redundancy Check)
  150.       using automatically generated high-speed lookup tables.
  151.   9)  Ability to send any of 10 different pre-programmed function keys.
  152.       (These keys are very easy to reset, using either of two exter-
  153.       programs provided.)  An 11th key is available for log-on use.
  154.  11)  Ability to send a 'break tone' to control mainframe reset and for
  155.       use with PC Pursuit to disable the '<ret> @ <ret>' disconnect.
  156.       This uses ESC Q, can be set otherwise in the overlay.
  157.  10)  Automatic disconnect from the telephone line when using ESC N, "D"
  158.       or "Z" as an option during file transfer.
  159.  11)  Automatic or manual 1k protocol for increased throughput and effi-
  160.       ciency over the 128 character blocks long associated with such
  161.       programs.  (Effectively gains 10% at 1200 bps and 20% if using
  162.       2400 bps.)
  163.  12)  Supports 1200 or 2400 bps modems using the Racal-Vadic or 'AT'
  164.       protocol developed by Hayes.    These features basically include
  165.       automatic dialing and redialing until the system being called
  166.       finally answers.
  167.  
  168.            a) Automatic selection of a particular phone number from
  169.           a library of names and numbers.  (These phone numbers
  170.           can be very easily changed by using either of two ex-
  171.           ternal programs that are provided.)
  172.            b) Automatic dialing for alternate long-distance systems
  173.           (where auto-dialing touch-tone modems are used).
  174.            c) Entry of a hand-typed number.  Although it might be as
  175.           simple to manually dial the number as hand-type it, it
  176.           can then be automatically redialed indefinitely.
  177.            d) Auto-linking of 1-32 different numbers for continuous
  178.           dialing until one of the group is available.
  179.            e) Choice of beeping continuously when connected to get
  180.           the operator's attention, or beep one time and go to
  181.           terminal mode immediately to catch UNIX or IBM signon
  182.           messages that assume you can copy when connected.
  183.            f) Automatically adjusts the terminal speed to that of
  184.           system answering the phone.
  185.  
  186.  
  187. USING THE PROGRAM THE FIRST TIME:
  188. --------------------------------
  189.      For now, we shall assume the program is ready to use on your equip-
  190. ment.  (Installing the appropriate overlay to achieve this result will
  191. be discussed later.)
  192.  
  193.  
  194.       IMP v245 modem pgm (type M for Menu)
  195.       Copyright (c) 1985, 1987 Irvin M. Hoff
  196.       Version for Datapoint 1560 modem port 28H
  197.       Modem speed is: 2400 bps
  198.  
  199.       B>>COMMAND: x
  200.  
  201.  
  202.     (Your version would look different at line 3 once the
  203.     appropriate overlay was added and the baudrate might
  204.     show 1200 if you do not have 2400 bps available.)
  205.  
  206.  
  207.        The cursor stops at point "x:" waiting for some sort of command.
  208. Typing a "M" followed immediately by a RETURN, shows the first page of
  209. a 3-page help guide.
  210.  
  211.      Several commands are similar to those already used for CP/M, such
  212. as 'ERA', 'DIR' and the ability to change disk drives and user areas.
  213. This adds tremendous flexibility while remaining in the modem command
  214. mode.  To change disk drives, just say:
  215.  
  216.       B>>COMMAND: A: <ret>
  217.  
  218.      and you are in the same user area on the A: drive.  You can also
  219.      say:
  220.  
  221.       A>>COMMAND: A12: <ret>
  222.  
  223.      to change user areas.  When finished (using this example), say:
  224.  
  225.       A12>>COMMAND: CPM  <ret>
  226.          or
  227.       A12>>COMMAND: BYE  <ret>
  228.  
  229.      and you will go back to CP/M with the original drive and user area.
  230.  
  231.  
  232. OPTIONS:
  233. -------
  234.      There are 6 primary options and 9 secondary options that may be
  235. typed on the command line.  In addition there are other numerous commands
  236. ranging from single character to three characters that can be used (such
  237. as DIR, ERA, LOG, etc.)  Those are listed on the menu.
  238.  
  239.      Primary Options:     E, L, M, R, S, T
  240.       E = Echo mode (special type of full duplex)
  241.       L = Local modem (no remote echo, half duplex)
  242.       M = Menu display showing features that are available
  243.       R = Receive a file from remote facility
  244.       S = Send a file to a remote facility
  245.       T = Terminal mode (full duplex, echo provived remotely)
  246.  
  247.      Secondary Options:  A, B, D, J, O, Q, R, S, V, X, Z
  248.       B = Batch mode -- allows automatic multiple file transfer
  249.         Most RCPM systems now use KMD in place of the older
  250.         XMODEM program.  KMD offers YMODEM-type batch mode.
  251.         This can also simplfy single-file transfers since
  252.         the filename only needs to be typed at one end.  It
  253.         also permits using "wildcards" which makes it easier
  254.         to type filenames.  Batch mode is also useful from
  255.         modem-to-modem (as when talking to a friend, etc.).
  256.       D = Disconnect when done, stay in IMP
  257.       K = Manually initiates 1k protocol in send mode
  258.       Q = Quiet mode, special purpose feature rarely used except if
  259.          operating through a "BYE" program.
  260.       R = Receive remote file (8-bit binary)
  261.       S = Send file to remote system (8-bit binary)
  262.       V = Visual inspection of an ASCII file being transferred.  Not
  263.          often used as most ASCII files are now "crunched" for
  264.          minimum transfer time and disk space.
  265.       X = Inhibits automatic 1k request, transfers 128 char. blocks
  266.       Z = Exit to CP/M  when finished, disconnect from phone line
  267.  
  268.  
  269.      Although you can get the following information from the help guide
  270. in IMP itself, showing it here will allow us to discuss the various fea-
  271. tures in somewhat better detail.
  272.  
  273.  
  274. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  275.  
  276.  
  277. THE HELP GUIDE, PAGE 1:
  278. ----------------------
  279.  
  280.           Single Letter Commands
  281.  
  282.  ?  - Display current settings
  283. ESC - Function key intercept character, then (0-9)
  284.  M  - Display the menu
  285.  E  - Terminal mode with echo
  286.  L  - Terminal mode with local echo
  287.  T  - Terminal mode
  288. ^Z  - Clears screen (command mode only)
  289.  R  - Receive an 8-bit binary CP/M file
  290.  S  - Send an 8-bit binary CP/M file
  291.  
  292.     COMMAND: R (or S) FILENAME.TYP
  293.     R and S can use the following subcommands:
  294.        B  - Batch transfer, can use wildcards (e.g., *.*)
  295.        D  - Disconnect when done, return to command mode
  296.        K  - Manual request for 1k transmissions
  297.        Q  - Quiet mode (no messages to console)
  298.        V  - View ASCII files on CRT during a file transfer
  299.        X  - Inhibits auto 1k request to sender
  300.        Z  - When done, disconnect, go to CP/M
  301.  
  302.     For copying text to disk use T (E or L) FILENAME.TYP
  303. [more]
  304.  
  305.  
  306.      (The single letter commands may also be used on the
  307.      command line when the program is initially executed.)
  308.  
  309. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  310.  
  311.  
  312. DISCUSSION OF HELP GUIDE PAGE 1:
  313. -------------------------------
  314.  
  315.      There are basically three types of commands that may be used with
  316. this program:
  317.          1)  Single-letter commands shown on page one.
  318.          2)  Three-letter commands shown on page 2, and
  319.          3)  Control-<char.> commands shown on page 3.
  320.  
  321.      Going down the list:
  322.  
  323.   ? - shows current parameters.  As these are closely tied in with some
  324.       of the other options, we shall show a typical example later
  325.       in this discussion.
  326.  ESC - shows the function key intercept character.  This may be easily
  327.       changed by selecting a different character at the 'EXTCHR'
  328.       option in the overlay.  (Byte 0114h.)
  329.  
  330.       NOTE:  typing ESC <ret> while in the command mode will display
  331.          all the programmable function key definitions with the
  332.          exception of the log-on string which uses ESC L.
  333.  
  334.   M - shows the menu a page at a time.    You may abort after any page is
  335.       shown, with a CTL-C.
  336.   E - terminal mode with echo.    When talking with another terminal also
  337.       also using IMP (or a comparable program), one of you must send
  338.       an 'echo' back so you can both see what the other person is
  339.       typing.  This is needed for full-duplex operation.  Usually
  340.       the person originating the call will type "E" instead of "T".
  341.       However either may do this.  If "both" use the echo mode, the
  342.       program usually starts typing a string of feedback characters
  343.       since both computers are re-sending the same character over
  344.       and over.  You can stop this by just returning to command mode
  345.       (type control-E) and then retyping "T" rather than "E".
  346.   L - terminal mode with local echo.  Shows what you are typing but does
  347.       not send an echo of the other person's typing back to him.
  348.       Can be used at both ends, in place of one person using "E".
  349.       Both "E" and "L" are useful at times for some types of modems
  350.       that do not use full-duplex, or for some main frame units that
  351.       run half-duplex.  The combination of "T", "E" and "L" gives an
  352.       excellent choice to use on various systems.  Normally the "T"
  353.       mode is sufficient except when talking with another person and
  354.       then the "E" mode at one end or "L" mode at both ends will
  355.       provide normal results.  If the remote system does not supply
  356.       a LF after a CR, you can get that from the 'TLF' command.
  357.   T - puts the program directly into "terminal mode", allowing it to
  358.       send from the keyboard to the other computer, and to copy any-
  359.       thing coming from the other computer with the exception of
  360.       file transfers (use "R" to receive those).
  361.   R - used only for receiving files from the other computer.  These are
  362.       usually sent in binary form with either checksum verification
  363.       or more commonly, CRC (Cyclic Redundancy Checking).  If ready
  364.       to receive another file, you have several choices, depending
  365.       on the program used by the other computer.   After notifying
  366.       him you are ready (or will be very shortly), you can type:
  367.  
  368.            B>>COMMAND: R HELLO.DOC <ret>
  369.  
  370.       and when he starts to send, you will receive the program which
  371.       then goes directly to the disk.  You could also have said:
  372.  
  373.            B>>COMMAND: R <ret>    or   RB <ret>  if you prefer
  374.  
  375.       This is called the "Batch mode" and is an extremely useful way
  376.       to receive programs automatically, from another computer using
  377.       a similar program.  He will use the batch mode for sending the
  378.       programs and that automatically provides the file names at the
  379.       receiving end.  In this manner, large numbers of programs can
  380.       be transferred completely automatically, including full disks.
  381.       (Assuming you care to pay the toll calls for the time it will
  382.       take!)
  383.  
  384.       NOTE:  The method used to receive batch mode would be:
  385.  
  386.            B>>COMMAND: R <ret>    (also RB <ret> may be used)
  387.  
  388.          since you may not know in advance how many programs he
  389.          will be sending.
  390.  
  391.            NOTE:  While receiving a file, any errors will be shown
  392.               on the console CRT, indicating that portion of the
  393.               program, if being repeated.  If the file finishes
  394.               transferring normally, it will have been received
  395.               error-free.  Those error notices are merely to let
  396.               the user know a momentary problem caused a resend.
  397.               The error messages indicate phone line quality.
  398.  
  399.   S - used only to send programs.  Similar to "R" but sends instead of
  400.       receives.  If the other system is ready to receive, you could
  401.       then type:
  402.  
  403.            B>>COMMAND: S HELLO.DOC <ret>
  404.  
  405.       It will tell you how many records are involved and how many
  406.       minutes and seconds it will take to send the program.  If the
  407.       other system is ready to receive, it starts the transfer,
  408.       showing how many records have been sent.  If any errors occur
  409.       during transmission, it shows what they are and counts them.
  410.       It will resend any records not correctly received at the other
  411.       computer.  If too many consecutive errors occur (normally set
  412.       at 10), the transfer is terminated.  The 'batch mode' may also
  413.       be used for sending:
  414.  
  415.            B>>COMMAND: SB HELLO.*         (sending batch mode)
  416.  
  417.       will send all files starting with HELLO, or can send just one
  418.       file, or can send several non-related files in this manner:
  419.  
  420.            B>>COMMAND: SB HELLO.DOC XDIR.COM TERM.*
  421.  
  422.       etc.    Be sure to put a space between the various files.  You
  423.       can include the 'Z' option:
  424.  
  425.            B>>COMMAND: SBZ HELLO.* IMP740.LBR I2LIB.COM
  426.  
  427.       When the file transfer is completed it disconnects from the
  428.       phone line and reverts to CP/M.  This allows you to be absent
  429.       when the file is finished, offering an advantage when sending
  430.       lengthy files.
  431.  
  432. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  433.  
  434.  
  435. THE HELP GUIDE, PAGE 2:
  436. ----------------------
  437.  
  438.         Three Letter Commands
  439.  
  440. BYE - Disconnect, then return to CP/M
  441. CAL - Dial number
  442. CPM - Exit from this program to CP/M
  443. DIR - List directory and space free (may specify drive)
  444. DSC - Disconnect from the phone line
  445. ERA - Erase file (may specify drive)
  446. LOG - Change default drive/user no. (specify drive/user)
  447.       and reset disks.    e.g. LOG A0: or LOG B: (user # unchanged)
  448. SET - Set modem baud rate
  449. SPD - Set file output speed in terminal mode
  450. TBM - Toggle MODEM7/KMD batch mode selection
  451. TCC - Toggle CRC/Checksum mode on receive
  452. TIG - Toggle 'ignore CTL character' on/off
  453. TLF - Toggle LF after CR in "L" or "T" mode for a disk file
  454. TRB - Toggle rubout to backspace conversion
  455.  
  456.       The following are terminal text buffer commands:
  457.  
  458. DEL - Delete memory buffer and file
  459. WRT - Write memory buffer to disk file
  460.  
  461. [more]
  462.  
  463. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  464.  
  465.  
  466. DISCUSSION OF HELP GUIDE, PAGE 2:
  467. --------------------------------
  468.  
  469.   BYE - Disconnects the modem from the phone line, closes any file that
  470.       may be open and returns to CP/M.
  471.   CAL - Displays the telephone library.
  472.  
  473.      NOTE:    Use the phone number overlay I2NM-2 to easily change the
  474.         numbers that are stored.  This overlay also accesses up
  475.         to two alternate long distance dialing systems for the
  476.         touch-tone auto-dialing modems.  You can also use an ex-
  477.         ternal program called I2LIB to rapidly change any phone
  478.         numbers.
  479.  
  480.   CPM - This returns to normal CP/M use, abandoning IMP.
  481.  
  482.       CAUTION: It does not disconnect the modem from
  483.            the phone line, which allows intentional
  484.            return to CP/M temporarily.
  485.  
  486.   DIR - Enables the user to see the library of any disk without needing
  487.       to return to CP/M first.  Shows the amount of disk spacing
  488.       remaining on the logged-in default drive.  (You must log in
  489.       any drive you wish to write on, or to see the correct free
  490.       disk space remaining.)  See the LOG feature below.
  491.   DSC - Disconnects the modem from the phone line whenever selected.
  492.   ERA - Enables the user to erase any files from any disk without the
  493.       need to return to CP/M first.  Wild cards (* and ?) accepted.
  494.   LOG - When a new disk is inserted, you can see the directory and read
  495.       files from it but cannot write to it without getting a "BDOS
  496.       ERR".  This command allows you to log in a new disk so you can
  497.       immediately write on it without first returning to CP/M for a
  498.       warm boot.  You can select drive and user number.  (This also
  499.       enables DIR to show the correct free disk space remaining.)
  500.       You can say:
  501.             LOG <ret>  for same drive, user area, new disk
  502.             LOG A
  503.             LOG A:
  504.             LOG A14    (user areas are 0-15)
  505.             LOG A11:
  506.  
  507.   SET - Allows the user to change baudrates when desired.  If using a
  508.       2400 bps modem with automatic stepdown, this would rarely be
  509.       used.
  510.   SPD - Sets the delay between characters and/or delay between lines in
  511.       the "T" mode when using ESC F upload a pre-typed file.  Since
  512.       most bulletin boards and TYM-SHAR systems normally use line
  513.       editors that require a delay after they have received a line,
  514.       you can add delay between characters (in increments of 4 ms.)
  515.       and/or enter delay between lines (in increments of 100 ms.)
  516.       This is preset for most systems at 2 and 200 ms.  They can be
  517.       changed at any time.    Current values can be checked by using
  518.       the  " ? " command.
  519.   TBM - Toggle batch mode from KMD (default) to MODEM7.  The primary
  520.       difference is the way the file name is sent.    The older MODEM7
  521.       method sends each character separately, expecting the other
  522.       computer to echo each character.  Checksum is used to verify
  523.       the file name.  The KMD method sends a special 128 byte block
  524.       with the file name and the length of the file.  This is not
  525.       only far better for use with mainframe and networking systems,
  526.       but also informs the operator receiving the file how long it
  527.       will be.  (The KMD method then automatically goes to 1k mode.)
  528.       The chaces are excellent you will never need the MODEM7 type.
  529.   TCC - Most modem programs originally used simple checksum verification
  530.       of received sectors.    Most now use Cyclic Redundancy Checking
  531.       which finds certain transmission errors the simple checksum
  532.       system might overlook.  This toggle allows the user to select
  533.       checksum for those systems known to not offer CRC.  When set
  534.       normally to CRC, the program automatically switches to check-
  535.       sum after trying several times to use CRC.
  536.   TIG - Toggles the 'IGNRCTL' flag in the overlay.  This is usually set
  537.       to ignore incoming control characters other than those needed,
  538.       such as CR, LF, backspace, etc.  This minimizes unwanted char-
  539.       acters sometimes received in noisy conditions which can create
  540.       undesired effects.  Can be toggled to receive ALL incoming CTL
  541.       characters for the occasional use of an editor requiring them.
  542.   TLF - If sending a file while in terminal mode (via ESC F option) most
  543.       mainframe computers will not want you to send a line feed.  As
  544.       all editors include the LF after CR, you have the option with
  545.       this toggle of sending or not sending a line feed.  If typing
  546.       manually in the "T" mode, you can get a line feed with CTL-J.
  547.       It is automatically included after CR with "L" or "E" modes.
  548.   TRB - Allows the rubout char. to be changed to backspace if desired.
  549.       Can be set in overlay to default either way you prefer.  Set
  550.       to 'backspace' in distributed overlay copies.
  551.   DEL - If copying incoming information into memory, and you decide you
  552.       do not want to bother saving it to disk after all, this closes
  553.       (and then deletes) the disk file you had opened.
  554.   WRT - saves what you have been copying to the disk file already opened
  555.       for that purpose.  When returning from the "T" mode to command
  556.       mode, a warning is shown that you may lose what has been saved
  557.       unless you use WRT (write to disk).
  558.  
  559.       NOTE: An open file is automatically written to disk
  560.         should you use BYE or CPM commands to leave the
  561.         program.  This prevents accidental loss of data
  562.         intended to be saved.
  563.  
  564.  
  565. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  566.  
  567.  
  568. THE HELP GUIDE, PAGE 3:
  569. ----------------------
  570.  
  571.   Local Commands while in Terminal Mode
  572.  
  573.   ESC E  - Exit to command mode
  574.   ESC F  - Send file to remote system
  575.   ESC L  - Send log-on message
  576.   ESC N  - Disconnect from the phone line
  577.   ESC P  - Toggle printer on (or off)
  578.   ESC Q  - Send break tone
  579.   ESC Z  - Clears screen, terminal mode
  580.  
  581.   ESC R  - Stop copy into buffer
  582.   ESC Y  - Start copy into buffer
  583.  
  584.         Start & Stop may be toggled as often as desired.
  585.         A ";" at start of line indicates buffer is copying.
  586.         X-off automatically used to stop input when writing
  587.            full buffer to disk, X-on sent to resume.
  588.  
  589.  
  590.   >>COMMAND:
  591.  
  592. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  593.  
  594.  
  595. DISCUSSION OF HELP GUIDE, PAGE 3:
  596. --------------------------------
  597.  
  598.   ESC E  - Returns to command modem from "T", "L", "E" modes.
  599.   ESC F  - Sends an ASCII file to the remote terminal, X-on and X-off
  600.          automatically used.  Optional delays available.
  601.   ESC L  - Will send the log-on message if one has been included in the
  602.          LOGON area of the overlay.  (This is intended only to send
  603.          a phrase of ASCII characters, not intended as a substitute
  604.          for "script" commands.)
  605.   ESC N  - Disconnect the modem from the phone line.
  606.          (You can easily change this to whatever you like in the
  607.          overlay you use for your equipment.)
  608.   ESC Q  - Sends a 300 ms. break tone.    Sometimes required by mainframe
  609.          computers to reset.  Used by PC Pursuit to disable the
  610.          '<ret> @ <ret>' disconnect command, etc.
  611.   ESC P  - Toggles the printer on-off.    Very useful feature.  Similar to
  612.          normal control-P but in this case if the modem is running
  613.          faster than normal printer speed, the characters just back
  614.          into a special buffer while the printer tries to catch up.
  615.          Especially beneficial when using 2400 bps as few printers
  616.          can keep up at that speed.  Can be toggled at any time you
  617.          are in the "T", "L" or "E" modes.    Often used to copy items
  618.          from bulletin boards, etc. that are not worth permanently
  619.          saving on disk.
  620.  
  621.          Note:    Some computers, such as the Commodore
  622.             Commodore C128 cannot use the printer
  623.             and the modem at the same time.
  624.  
  625.   ESC Z  - Clears the screen in terminal mode.    (CTL-Z normally used but
  626.          that goes on out the terminal to the remote system.)
  627.   ESC Y  - Used only in terminal mode.    If ESC R is used to temporarily
  628.          stop copying incoming text to memory, ESC Y restarts this
  629.          feature.  When copying to memory, a ';' appears in the
  630.          first column of each line.
  631.  
  632.        NOTE:  To open a file use:  COMMAND: T FILENAME.EXT <ret> and
  633.           then ESC R and ESC Y will control what is copied for
  634.           saving to disk.
  635.  
  636.   ESC R  - Stops the copy into memory, shuts off the ";" at start of
  637.          each line.  These two commands (ESC Y to start, and ESC R
  638.          to stop) control what is being saved.  When returning to
  639.          command (via ESC E), you will then be warned to save the
  640.          information to disk via the WRT command or it will likely
  641.          be lost.  (You may never use ESC R or ESC Y and just use
  642.          your editor on that file later to discard unwated magerial.
  643.  
  644.  
  645. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  646.  
  647.  
  648. AUTO-DIALING AND AUTO-REDIALING:
  649. ----------------------------------------------------------------
  650.  
  651.      There are several ways to auto-dial.
  652.  
  653.       1) from the command line
  654.       2) from the phone number library line
  655.  
  656.      In addition you can auto-redial from either of these lines.  Once
  657. the number has auto-dialed and there is no answer, it will ask you if
  658. you want it to continuously auto-redial until it does receive an answer
  659. (or you decide to abort).
  660.  
  661.      To get the phone library, type CAL <ret> on the command line.  You
  662. then normally just type the appropriate character at the start of the
  663. line.  It will show the number being dialed.  You can also do this from
  664. the main command line if you know in advance what character is used for
  665. that particular number:
  666.  
  667.            B>>COMMAND: CAL P <ret>
  668.  
  669.      This calls up the "P" line in the library and dials that number,
  670. then if busy asks if you want it to continue redialing.  You can use:
  671.  
  672.            B>>COMMAND: CAL 313-749-6569 <ret>
  673.  
  674.      and it will dial the number specified.  You can then do either of
  675. these on the library command line, as well.  This gives a tremendous
  676. versatility.
  677.  
  678. NOTE:    To access the alternate long distance dialing systems (up to two
  679.     are offered), use the phone number overlay and fill in the in-
  680.     formation regarding your access number, billing number, etc.  It
  681.     will then show how to enter a special character ahead of each
  682.     phone number where alternate long distance system is desired.
  683.     This only works where touch-tone systems are in use.
  684.  
  685.  
  686. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  687.  
  688. AUTO-LINKING PHONE NUMBERS:
  689. --------------------------
  690.  
  691.      If the number you want to dial is busy, you would like to have it
  692. automatically redialed until it answers.  However, you might like to
  693. call any of a group of numbers and be happy to take whichever one first
  694. becomes available.  Auto-linking allows a group of numbers to be listed
  695. and they are then continuously dialed one after the other, until one is
  696. available.
  697.  
  698.      IMP permits from 1-32 numbers to be linked together in any manner.
  699. There are two options:
  700.  
  701.        B>>COMMAND: CAL A,D,R,3,Z         1)
  702.        B>>COMMAND: CAL F,             2)
  703.  
  704.        B>>COMMAND: CAL A/D/R/3/Z         3)
  705.        B>>COMMAND: CAL F/             4)
  706.  
  707.        B>>COMMAND: CAL A,D,A,R,A,3,A,Z   5)
  708.  
  709.        B>>COMMAND: CAL F             6)
  710.  
  711.  
  712.     1) using a comma (,) will beep continuously when connected to
  713.        the first available number - touching any key stops the beep
  714.        and goes to terminal mode.
  715.  
  716.     2) just the one number is linked to itself and redials until
  717.        connected.  Beeps continuously until stopped with any key.
  718.  
  719.     3) using a slash (/) will beep only once when connected and then
  720.        automatically go directly to terminal mode - this is useful
  721.        where some mainframes such as IBM and UNIX send a logon note
  722.        assuming you are already able to copy as soon as connected.
  723.  
  724.     4) just the one number is linked to itself and redials until
  725.        connected.  Beeps only once and goes to terminal mode.
  726.  
  727.     5) illustrates how one number can be given top priority.
  728.  
  729.     6) system used previously - if connected on first try, beeps one
  730.        time and jumps directly to terminal mode.  If no connection,
  731.        asks the operator if he wants to try again or try continuous-
  732.        ly until a connected is made - at which time it beeps until a
  733.        key is depressed.
  734.  
  735. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  736.  
  737.  
  738. CASCADING COMMANDS:
  739. ------------------
  740.  
  741.      Several commands may be used on the same line.  Ones normally used
  742. are:  B, D, E, K, L, Q, R, S, T, V, X and Z
  743.  
  744.      The commands have been listed previously but will be listed here
  745. again:
  746.  
  747.     B) batch mode  (must be used at both ends if used at all)
  748.         (usually only available modem-to-modem with operators
  749.         present at each end.)
  750.     D) disconnets the phone, returns to CP/M after a file transfer
  751.     E) echo mode for conversing with a system not offering echo.
  752.     K) used to manually request 1k transmissions on systems not
  753.         having automatic 1k transmissions.
  754.     L) local echo shows what you are sending if no remote echo.
  755.     Q) quiet mode, suppresses messages on local console.
  756.     R) receive file transfers (8-bit binary)
  757.     S) send file transfers, also shows transfer time.
  758.     T) terminal mode - operates computer at other end like a remote
  759.           terminal.  Also stands for "text mode".  When in "T" mode
  760.           you can copy incoming to printer or to disk, and send pre-
  761.           typed ASCII text files via ESC F.
  762.     V) visual -- lets you see incoming ASCII files while being sent
  763.         to the disk system.
  764.     X) inhibits automatic request for 1k transmissions
  765.     Z) disconnects the phone, returns to command mode after a file
  766.         tranfer.
  767.  
  768. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  769.  
  770.  
  771. TYPICAL PARAMETERS SHOWN BY THE "?" COMMAND:
  772. -------------------------------------------
  773.  
  774. B>>COMMAND: ? <ret>
  775.  
  776. Mode: CRC
  777. KMD batch mode
  778. Rub is backspace
  779. Printer buffer is OFF
  780. Modem speed is: 1200 bps
  781. Incoming control characters received
  782. Terminal mode file buffer is inactive
  783. Unused portion of buffer is 16384 bytes
  784. Use ESC before local command in terminal mode
  785. XOFF testing used in terminal mode file output
  786. LF NOT sent after CR in "L" or "T" for a disk file
  787.  
  788. Char. delay (terminal file mode) is:   2 ms. per character
  789. Line  delay (terminal file mode) is: 200 ms. per character
  790.  
  791. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  792.  
  793.  
  794. DISCUSSION OF TYPICAL PARMETERS SHOWN BY THE "?" COMMAND:
  795. --------------------------------------------------------
  796.  
  797.      By this time, most of these parameters are self-explanatory.  They
  798. primarily show how the options and toggles have been set.  The user can
  799. check on any of the major parameters at any time by:
  800.  
  801.       1) Typing ESC E to return to COMMAND: mode and
  802.       2) Typing  ?    to see the list of current parameters.
  803.  
  804. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  805.  
  806.  
  807. FUNCTION KEYS:
  808. -------------
  809.  
  810.      There are 10 function keys which may be easily programmed with an
  811. external file called I2FUNC.COM in just a few moments.    It makes the
  812. changes directly to the IMP.COM file.  (There is an additional ESC L
  813. log-on selection that is programmable in your overlay.)
  814.  
  815.      To view the contents of the function keys, type 'M' for menu while
  816. on the command line and it will show the character currently used for
  817. the function key intercept.  (It will be ESC unless you select another.)
  818. You could then type that character (followed by <ret>) on the command
  819. line and it will display the entire contents of the function keys.
  820.  
  821.      NOTE:    ESC L gives the string of characters set
  822.         into the 'LOGON:' area of the overlay.
  823.         This can be used for a variety of uses.
  824.         You can readily program that for whatever
  825.         purpose you wish.
  826.  
  827. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  828.  
  829.  
  830. CHANGING THE PHONE NUMBER LIBRARY:
  831. ---------------------------------
  832.  
  833.      The phone numbers in the library may be easily changed using an
  834. external file called I2LIB.COM.  This permits any of the 36 phone num-
  835. bers to be changed in only a few seconds.  It works directly on the
  836. IMP.COM file.  If extensive changes are to be made, you may prefer
  837. to use an overlay file called I2NM-2.ASM.  This permits using your
  838. editor to make quick and selective changes, or to substitute an entire
  839. new library.  (You may need to add or remove things like '1-' for long
  840. distance dialing in your area.)  That file also is used to set the
  841. alternate long-distance dialing routines for SPRINT, MCI, TYMNET, etc.
  842. It can also be used for changing the function key assignments.    (You
  843. can even imbed control characters into function key assignments using
  844. the I2NM-2.ASM file.)
  845.  
  846. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  847.  
  848. RETRY OPTION:
  849. ------------
  850.  
  851.      The consecutive error limit has been set to 10.  When transferring
  852. files, if this limit is reached, the file transfer will be aborted.
  853.  
  854. -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -    -   -
  855.  
  856.  
  857. INSTALLING THE PROGRAM:
  858. ----------------------
  859.  
  860.      Although this is obviously the very first thing that needs to be
  861. done, it was saved until last for several reasons.  The most important
  862. of these was the need to first explain what some of the options would
  863. do when selected.
  864.  
  865.      By this time the user should have a fairly good idea what options
  866. would work best for him.  When looking at the beginning of the program
  867. where the these are selected, it should now be rather easy to pick the
  868. ones that might need to be changed for a particular preference.  You may
  869. be using a 2400 bps modem and find the overlay was set for 1200, etc.
  870.  
  871.      There are various ways to change the program to suit a specific
  872. user.  You are offered several methods.  The "easy way" is to get the
  873. IMP.COM file plus the appropriate overlay for your computer.  You then
  874. edit the overlay (if needed) to suit your local needs, assemble it to
  875. get a .HEX file then use the simple instruction and MLOAD.COM to combine
  876. the standard IMP.COM file with your overlay.  The front end of each
  877. overlay contains all the information on how to accomlish this.
  878.  
  879.      Generally no changes need to be made in specific overlays unless
  880. you have some particular requirement different from others using the
  881. same equipment.  (Such as the log-on message, for example.)
  882.  
  883.      You can also use DDT to change specific bytes without editing and
  884. assembling.
  885.  
  886. NOTE:    Although designed with special emphasis on the auto-
  887.     dialing and redialing capability of 1200 or 2400 bps
  888.     modems using the Racal-Vadic or Hayes 'AT' protocol,
  889.     the program may be used with other modems where the
  890.     operator manually dials the number, then changes to
  891.     terminal mode after connecting his modem.
  892.  
  893.  
  894. SUMMARY
  895. -------
  896.  
  897.      We hope this verstile program will give you hours of enjoyment and
  898. fulfill your modem needs.  It is particularly useful with the 2400 bps
  899. modems that have automatic stepdown.
  900.  
  901.                     - Irv Hoff W6FFC
  902.                       (415) 948-2513 PRACSA RCPM
  903.                       (415) 948-2166 voice
  904.