home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG040.ARK / MODEM4.DOC < prev    next >
Text File  |  1984-04-29  |  7KB  |  221 lines

  1. DOCUMENTATION ON THE MODEM PROGRAM AS OF 01/12/80    V4
  2.         ----------------
  3.  
  4. MODEM.ASM is a multi-function communications program
  5. for use with the CP/M operating system.  Its primary
  6. function is the transfer of files between CP/M systems.
  7. The transfer is accomplished via a block mode, with
  8. headers and checksums to ensure data validity.  Automatic
  9. retry, up to 10 times, is attempted for every sector
  10. transmitted.  The user is given an option to quit, or
  11. retry after 10 consecutive errors occur.
  12.  
  13. Also supported is a terminal mode which allows the computer
  14. to function as a terminal to a time sharing system, CBBS,
  15. etc, and a similar program, but which echos all received
  16. characters, such that two people running MODEM can com-
  17. municate keyboard-to-keyboard, one running in terminal
  18. mode, and one running in echo mode.  This is frequently
  19. done to "test the line" or to see how high a baud rate
  20. can be supported before beginning file transfers.
  21.  
  22. Planned future enhancements include the ability to place
  23. data received (while in terminal mode) into memory, and
  24. write it out to a disk file.
  25.  
  26. As "delivered" the program supports a PMMI S-100 modem
  27. at primary address 0C0H, and will run unmodified if this
  28. is what you have.  Keith Peterson added equates for the
  29. Hayes, and a serial modem.
  30.  
  31.         ----------------
  32.  
  33. The program is named MODEM4.ASM (or COM) on the disk,
  34. to indicate that it is an extension of the MODEM.ASM which
  35. was distributed on the CP/M user's group disk 25, and the
  36. MODEM2 which is/was distributed by PMMI itself.   It is
  37. expected that the user will rename it back to MODEM once
  38. any earlier versions of this program are erased.
  39.  
  40. COMMAND FORMAT:
  41.  
  42.     MODEM option
  43.  or    MODEM option.baudrate
  44.  or    MODEM option fn.ft
  45.  or    MODEM option.baudrate fn.ft
  46.  
  47. "option" consists of a single character PRIMARY OPTION,
  48. and 0, 1, or more characters of SECONDARY OPTIONS.
  49.  
  50. fn.ft is the filename to be received or sent
  51.  
  52.         PRIMARY OPTIONS:
  53.  
  54. S:    To send a file
  55. R:    To receive a file
  56. T:    Terminal - i.e. the system being communicated with
  57.     must echo
  58. E:    Terminal mode but with echo - this would be used when 2
  59.     people using the MODEM program are talking keyboard to
  60.     keyboard - one uses MODEM t, the other, MODEM E.
  61. D:    Disconnect the phone (if your MODEM supports this)
  62. H:    Help (prints usage documentation)
  63. X:    Prints usage examples
  64.  
  65.  
  66.         SUB-OPTIONS:
  67.  
  68. Q:    A 'Q' may be appended to either 'S' or 'R' to
  69.     transfer 'quietly' i.e. w/ no console I/O.
  70.  
  71.     This is for several purposes:  1) if you
  72.     have a slow terminal (such as a tty),
  73.     you must use the q option;  2) if you are
  74.     using this program on a "remote" CP/M system,
  75.     in which the "remote console" is the same as
  76.     the line for sending a file, then you must use
  77.     MODEM sq or rq to suppress the console msgs.
  78.  
  79.  
  80. S, R, T, C, (or Q) may be followed by the following
  81.     if your MODEM is capable of supporting these:
  82.     (the program currently supports the PMMI).
  83.     If anyone adds the IDS or HAYES, please
  84.     send me a list of equates and changes.
  85.     (address in MODEM.asm file)
  86.  
  87. O:    go to originate mode
  88. A:    go to answer mode
  89. D:    disconnect (otherwise, keeps the line)
  90.  
  91. note 'O' and 'A' are n-o-t defaulted (i.e. send
  92.     to originate), etc.  When using MODEM to send
  93.     files under a remote console program, use
  94.     the Q option, but O-M-I-T the O or A - this
  95.     will leave the modem (if PMMI) in the same mode
  96.     as before.  Otherwise, the ability of the modem
  97.     to hang up on loss of carrier will be lost, since
  98.     the MODEM program grabs the line and doesn't leave
  99.     it able to hang up on loss of carrier.  This is
  100.     because MODEM was written as an ATTENDED program,
  101.     and only by proper use will work adequately under
  102.     a remote console program (such as BYE).
  103.  
  104.     Ex:    MODEM sq.600 b:foo.asm
  105.  
  106.     Note the baud rate defaults to 300, so if you
  107.     want to transfer at another rate, don't forget
  108.     the .600 or whatever.
  109.  
  110. R:    Show characters as received
  111. S:    Show characters as sent
  112. V:    View the file (suppresses non-error
  113.         status messages)
  114.  
  115. T:    Go to terminal mode after file transfer
  116. E:    Go to echo mode after file transfer
  117. D:    Disconnect after program execution
  118.  
  119.         EXAMPLES:
  120.  
  121. send 'test.fil' in originate mode, 'quietly',
  122. disconnect after transfer
  123.  
  124.     MODEM SOQD test.fil
  125.  
  126. receive 'test.fil' in answer mode at 450 baud,
  127. and don't disconnect after.
  128.  
  129.     MODEM RA.450 test.fil
  130.  
  131. Suppose you have sent 1 or more files already,
  132. did not 'D' (disconnect) and want to send
  133. or receive another, just:
  134.  
  135.     MODEM S test.fil
  136.  
  137. (note this defaults to 300, so s.450 or whatever
  138. if that is the rate you were going at)
  139.  
  140. After transferring the last file, use the D sub-option
  141. (MODEM sod.450 name) or re-type the MODEM command with
  142. the D primary option 
  143.  
  144.     MODEM D
  145.  
  146. to disconnect the phone.
  147.  
  148. ------------------------------------------------
  149.  
  150. In the process of re-writing the MODEM program
  151. for the variable-baud-rate PMMI (and adding the
  152. functions for answer, orig, disconnect, view, etc),
  153. the following "historical" prolog was deleted.
  154. (..and the file was > 32K).  It is reproduced here
  155. to give credit where credit due: 
  156.  
  157.  
  158.     09/23/77
  159. First written by Ward Christensen
  160.  
  161.     09/26/77
  162. Add error$limit equ (WLC)
  163.  
  164.     10/01/77
  165. Change exit$char from ctl-c to ctl-e for use
  166. w/timesharing computers (WLC)
  167.  
  168.     10/10/77
  169. Correct to send any length file (WLC)
  170.  
  171.     11/20/78
  172. Change send wait for ack time to 8 sec. for
  173. slower disk systems.  Add control-X abort so
  174. receiving station can stop send.  Add abort
  175. test to send and receive for local cancel.
  176. By Keith Petersen, W8SDZ
  177.  
  178.     12/03/78
  179. Add 16-sector buffer for less disk activity.  This
  180. version typed by keith petersen, from information
  181. supplied by Jim Bell, K4FUP
  182.  
  183.     01/05/79
  184. Correct error in receive file routine which did
  185. 'ACK' when sector number was wrong.  Add wait
  186. routine to hold sending of file until receive end
  187. is ready.  by Keith Petersen, W8SDZ
  188.  
  189.     02/19/79
  190. Change receive wait time to 8 seconds to allow for
  191. slower disk systems.  Climinate multiple cancel on
  192. aborting.  Add conditional assembly for clock
  193. frequency > 2.0 mhz. by Keith Petersen
  194.  
  195.     04/11/79
  196. Change send, receive, and eof ack wait times to
  197. 10 seconds to allow for slower disk systems.
  198. Change send wait time to 80 seconds to allow
  199. receiving end more time to come up.  By
  200. Keith Petersen, W8SDZ.
  201.  
  202.     04/23/79
  203. By Ward Christensen:  put in PMMI variable baud
  204. rate select, originate, answer, quiet, disconnect;
  205. delete sense sw codes;  add view, help, examples,
  206. etc.  Change garbage char collection to "in" instr.
  207. not "recv".  Add quit/retry from 12/78 vers which
  208. Keith didn't have.  Un-do the 1/5/79 correction,
  209. allowing the receiver to ack if a duplicate
  210. block is sent, such as might happen if the
  211. receiver's original ack was garbaged.
  212.  
  213.     04/25/79
  214. From Keith Petersen W8SDZ: add technique of de-
  215. leting garbage characters to avoid problems with
  216. line glitches.
  217.  
  218.     04/28/79
  219. Re-write program, making it more structured, and
  220. better commented. Ward C.
  221.