home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / modems / modem2 / modem.doc < prev    next >
Text File  |  1994-07-13  |  7KB  |  217 lines

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