home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol093 / modem798.his < prev    next >
Encoding:
Text File  |  1984-04-29  |  18.9 KB  |  443 lines

  1.     TITLE    'History file for CP/M MODEM program VERSION 7.97'
  2.  
  3.             *****************************
  4.  
  5. ;12/27/82   Made the following changes:
  6. ;        1. Fixed MSPEED references and transmission time
  7. ;           calculations to work up to 9600 baud.
  8. ;        2. Changed 'CPM' command to 'END'.
  9. ;        3. Added logic so that if MODEM is executed with
  10. ;           a command line option, it exits to the operating
  11. ;           system when that operation completes.  If no options
  12. ;           appear on the CCP command line, MODEM operates as
  13. ;           before, prompting for commands and returning to
  14. ;           MODEM's prompt upon completion. This is consistent
  15. ;           with most other utilities and makes it possible to
  16. ;           run MODEM from a SUBMIT file.
  17. ;        4. Eliminated extra call to JMP$INITMOD in INITADR.
  18. ;        5. Added LXI SP,STACK at RESTART: to make things
  19. ;           more bullet-proof.
  20. ;        6. Re-enabled 'B' suboption on invocation.
  21. ;        7. INITMOD and SETUPR are now called with DE pointing
  22. ;           to CMDBUF+1.  This makes it possible for custom
  23. ;           routines in overlay file to scan buffer for options.
  24. ;        8. File send can be aborted by ^X from remote while
  25. ;           awaiting initial NAK.
  26. ;        9. Time estimate and file size are always printed for
  27. ;           single file transfer, even if Q mode.
  28. ;           10. If the .BAK creation option is enabled, it applies
  29. ;           to both single file and batch receives, and the
  30. ;           "Duplicate file - delete?" question is not asked.
  31. ;           11. Help menus and LOG command can be aborted by ^C.
  32. ;
  33. ;                            Bruce R. Ratoff
  34.  
  35. ;12/20/82   Added help screen for PMMI.            R. L. Plouffe
  36.  
  37. ;12/17/82   Made the following changes:
  38. ;
  39. ;        1. Fixed initial timeout delay on receiving a file,
  40. ;        2. Revised XOFF/XON testing routines,
  41. ;        3. Revised routines for terminal mode file output rates,
  42. ;        4. Revised routine to change user number to allow
  43. ;           better checking of input errors,
  44. ;        5. Suppressed user 0 display after default drive message,
  45. ;        6. Changed timing routines to allow up to 8 MHz clock,
  46. ;        7. Added routines to memory buffer printer.
  47. ;                            P. L. Kelley
  48.  
  49. ;12/12/82   Revised send file message in library and reformatted library.
  50. ;                            I. M. Hoff
  51.  
  52. ;12/04/82   Added routines to change user number and display user number
  53. ;        after default drive message.        G. Kantor
  54.  
  55. ;11/30/82   Made the following changes:
  56. ;
  57. ;        1. Put SECTNOE in proper location,
  58. ;        2. Added optional XOFF/XON testing to terminal mode
  59. ;           file output routines,
  60. ;        3. Added MSPEED setting to PMMI baud rate routines,
  61. ;        4. Fixed quiet mode,
  62. ;        5. Expanded command line again to help novices,
  63. ;        6. Changed to XMODEM routine for receiver to
  64. ;           request CRC mode from sender and added routine
  65. ;           to switch to checksum mode after 6 timeouts.
  66. ;                    P. L. Kelley and R. L. Plouffe
  67.  
  68. ;11/26/82   Replaced "CDD" command with "LOG", and fixed associated code.
  69. ;        Replaced "CUR" with "?" for easier working of a much used
  70. ;        function. Shortened command line, same info in less space.
  71. ;           Normal changes to menus done to reflect new commands.
  72. ;                            Mark J. Pulver
  73.  
  74. ;11/18/81  Combined 11/08/82 and 11/10/82.
  75. ;
  76. ;       Made the following changes:
  77. ;
  78. ;         1.    Added optional routine to overlay file to clear screen
  79. ;         and home cursor on paging of menu etc.,
  80. ;         2. Changed printer toggle to terminal mode command and made
  81. ;         optional with overlay file,
  82. ;         3. Changed routines to set MSPEED when changing buad rate with
  83. ;         SET command,
  84. ;         4. Added more information to display of current settings
  85. ;         and used calls to save space,
  86. ;         5. Fixed and shortened bytes free routine,
  87. ;         6. Shortened and separated LIB SENDTIME routine into two parts
  88. ;         so that it can be used in display of current settings,
  89. ;         7. Made echo mode part of normal terminal mode to save space
  90. ;         and make all terminal mode commands available in echo mode,
  91. ;         8. Fixed PMMI BYE routine so that it works with overlay file,
  92. ;         9. Eliminated F command as redundant, DIR FOO (where FOO is a
  93. ;         nonexistent file) accomplishes the same thing.
  94. ;                                ;P.L.Kelley
  95.  
  96. ;11/10/82  Combined MODEM771 and MODEM780 (F. Gaude) as follows:
  97. ;
  98. ;         1. Used erase file function in 780,
  99. ;         2. Used 780 code to make display of error count start at 1
  100. ;         and changed display to decimal,
  101. ;         3. Used 780 idea for throttled output on terminal mode
  102. ;         transfer of text file to remote but wrote new routines
  103. ;         including one for user to set speed,
  104. ;         4. Moved disk reset to DIR routine as in 780,
  105. ;         5. Used 780 code to give kbytes free on DIR command but
  106. ;         modified to give kbytes free on requested drive instead
  107. ;         of default drive.
  108. ;
  109. ;       Made the following changes:
  110. ;
  111. ;         1. Eliminated IMSAI front panel routines,
  112. ;         2.    Changed so PMMI control-D (disconnect) checks for file
  113. ;         open on returning to menu mode,
  114. ;         3. Fixed file display on bulk transfer so that spaces are
  115. ;         eliminated and period is inserted if required,
  116. ;         4. Changed M(enu) to H(elp) command,
  117. ;         5. Added code to allow echo mode to use optional toggling of
  118. ;         send linefeed after carriage return,
  119. ;         6. Added toggling of Checksum/CRC modes on file receive,
  120. ;         7. Added optional code to clear to end of screen on next line
  121. ;         from current cursor position when returning from terminal
  122. ;         mode, this eliminates jumbled screen when working remote
  123. ;         which positions cursor.
  124. ;                                ;P.L.Kelley
  125.  
  126. ;11/08/82   4 new commands added. "?" will show the status of various
  127. ;        options. "LOG" will allow the current disk to be changed, 
  128. ;        "LOG drive" will change the default drive. This tends to 
  129. ;        be redundant with "RST", but I've left RST in for those
  130. ;        who are used to it. "LST" will toggle echoing to the LST
  131. ;        device on and off. "LOC" will toggle local echo on and off.
  132. ;        The latter should be used to replace the "E" option, again
  133. ;        left in for compatability. 
  134. ;
  135. ;        A long standing bug in the dial routines has been fixed. If
  136. ;        one had answered "Y" or "C" to the "...Redial..." question,
  137. ;        You would find that yourself dialing whatever was in menu
  138. ;        position "C". This would only happen if the number to be 
  139. ;        called was entered on the command line, and not if chosen
  140. ;        from the menu, this came from the "C" in "CAL". A second bug
  141. ;        showed up when "N" was answered to the same prompt, the modem
  142. ;        would be left off hook.
  143. ;
  144. ;        The logic for a menu choice has been changed, the menu is
  145. ;        now displayed before the modem grabs the line. This way, you
  146. ;        have time to make a selection before a Ma Bell time out.
  147. ;
  148. ;        Buffer activity logic has been added to the command line, 
  149. ;        which has also been made a bit more brief.
  150. ;
  151. ;        Menus have been changed to reflect the new options, and
  152. ;        some cosmetics have been changed.
  153. ;
  154. ;                Mark J. Pulver   AIMS  (312) 789-0499
  155. ;                         24hrs / 7 Days  PMMI
  156. ;
  157.  
  158. ;11/02/82  Shows the time to send a file.  (Routine was placed in
  159. ;        MODEM791.LIB).  Set MSPEED to the speed you normally use.
  160. ;        Currently set at 300 Baud.  Can reset at any time using the
  161. ;        menu.                    - Irv Hoff
  162.  
  163. ;10/20/82  Made the following changes:
  164. ;
  165. ;        1. New 'F' command shows free disk space on default drive
  166. ;        and resets drive to prevent R/O errors when attempting
  167. ;        to upload to default disk.
  168. ;        2. Requesting DIR also shows free disk space and resets the
  169. ;        current drive. (From F. Gaude's 780).
  170. ;        3. Heading automatically tells if set for PMMI Modem or not.
  171. ;        (Previously always indicated it was PMMI-only.)
  172. ;        4. Grouped all TRUE/FALSE statements together.
  173. ;        5. Put 'PMMIBYTE' immediately after ORG 0100H.
  174. ;        6. Increased checksum timeout to original value (10 seconds)
  175. ;        to agree with CRC timeout.  This should allow adequate
  176. ;        time for slow disk systems to write.
  177. ;                            - Irv Hoff
  178.  
  179. ;10/16/82  Made the following changes:
  180. ;
  181. ;        1. Added optional toggling of send linefeed after carriage
  182. ;        return,
  183. ;        2. Added optional local command to send logon,
  184. ;        3. Added routines to give message on execution concerning
  185. ;        the system for which the program has been configured.
  186. ;                                ;P.L.Kelley
  187.  
  188. ;10/10/82  Rename fix log to MODEM770.HIS. Modifiers of MODEM7
  189. ;       should update this file with fix information and change
  190. ;       version number.                    ;PLK
  191.  
  192. ;10/10/82  Made the following changes:
  193. ;
  194. ;        1. Corrected bug in routine to check local command
  195. ;        to set baud rate,
  196. ;        2. Corrected bug in NEWFILE routine,
  197. ;        3. Reordered the configuration section to make it
  198. ;        easier to change,
  199. ;        4. Introduced two optional toggles:
  200. ;        a. backspace to rub - on/off,
  201. ;        b. send local command to remote unless special character/
  202. ;           use local command locally unless special character,
  203. ;        5. Give new configuration message on toggles,
  204. ;        6. If text file open give message on exiting terminal mode
  205. ;        about possible buffer loss,
  206. ;        7. Give error message on reset disk to R/W attempt when file
  207. ;        open,
  208. ;        8. Give error message if no file open when DEL, NOL or
  209. ;        WRT attempted,
  210. ;        9. Give error message if command invalid,
  211. ;       10. Move PMMI dialing routines so they also can be overlaid
  212. ;        by non-PMMI user routines.            ;P.L.Kelley
  213.  
  214. ;10/01/82  Again moved fix log to MODEM7XX.HIS            ;PLK
  215.  
  216. ;10/01/82  Made changes to outer shell to make program more "user
  217. ;       friendly", as follows:
  218. ;
  219. ;        1. Menu now has three screens of instructions,
  220. ;        2. if NOT PMMI then PMMI instructions eliminated from Menu,
  221. ;        3. eliminated XPR mode - replaced with M prompt from
  222. ;        Menu command line,
  223. ;        4. Menu display routine gets user chosen values for local
  224. ;        commands,
  225. ;        5. added Menu command to reset disks to R/W,
  226. ;        6. added Menu command to display phone numbers for non-PMMI
  227. ;        users,
  228. ;        7. added Menu command for non-PMMI users to employ routine
  229. ;        from user overlay to reset modem ports.
  230. ;
  231. ;       Made following additions to user overlay options:
  232. ;
  233. ;        1. added table of local command values,
  234. ;        2. added option to convert backspace to rub,
  235. ;           3. added option for transmit local character unless
  236. ;        preceded by special character,
  237. ;        4. added parameter to test for existence of user overlay
  238. ;        routine to reset modem ports from Menu.
  239. ;
  240. ;       Made changes to main line routine checks of user overlay as
  241. ;       follows:
  242. ;
  243. ;        1. get local command values,
  244. ;        2. test for convert backspace to rub option,
  245. ;        3. not use disconnect local command if non-PMMI user,
  246. ;        4. always check overlay for IMSAI before front panel output,
  247. ;        5. test whether local command must be preceded by special
  248. ;        character.
  249. ;
  250. ;       Also, wrote overlay file entitled M769CNFG.ASM which user can
  251. ;        edit to:
  252. ;
  253. ;        1. change the modem ports,
  254. ;        2. change options as appropriate to his system,
  255. ;        3. change other options to suit his taste,
  256. ;        4. include an optional routine to initalize his modem
  257. ;        on execution of MODEM7,
  258. ;        5. include an optional routine to reset his modem from
  259. ;        the Menu.
  260. ;            (Examples of 4 and 5 are given in the
  261. ;               file for the case of the H89.)
  262. ;                                ;P.L.Kelley
  263.  
  264. ;08/14/82  Changed timeout in RCVSQ to 10 seconds instead of 3 secs.
  265. ;       to allow time for loading of large buffers before deciding
  266. ;       to switch to checksum mode.                ;RLP
  267.  
  268. ;07/04/82  Changes in 'S2' area.  When in "T" mode, a CTL-Y allows copy
  269. ;          into the file, CTL-K stops copy into the file.  'MENU2:' area
  270. ;          shows these controls.  EQU tables more logically arranged at
  271. ;          beginning.  Extensive changes for more uniform appearance.
  272. ;                                                               ;IMH    
  273.  
  274. ;05/29/82  Moved fix log to history file.  MODEM7xx.HIS
  275.                                RLP
  276.  
  277. ;05/29/82  Fixed SAVCCP option when set to false.  RLP
  278.  
  279. ;05/21/82  Fixed minor bug at DISCON1 by changing JMP MENU1 to
  280. ;JMP MENU so that recovery is correct from a control-X interrupt
  281. ;AFTER auto dialling a number.            RLP
  282.  
  283. ;05/16/82  Added RCVFIL1 label so that switch between CRC mode
  284. ;and CHECKSUM mode is done only on the first file transfer in
  285. ;batch mode. Else the program hangs up on the second file transfer
  286. ;if the sending end is not CRC capable.  Also added 'BYE' command
  287. ;to MODEM command line which disconnects (hangs up) the modem line
  288. ;and re-boots your computer.  (Good to arrange it to do a turnkey
  289. ;start of 'BYE' so ready for next call). You must have the coldboot
  290. ;prom address entered for your system at label CLDBOOT.
  291. ;Changes marked ;@FIX7.61 or ;@7.63
  292. ;                    R. L. Plouffe        
  293.  
  294. ;04/29/82  Changes at TERM, START1 and OPTCK marked by ; @7.61
  295. ;fix a bug that causes abort at the end of a file transfer if
  296. ;the ogiginate 'O' or the answer 'A' character was not entered
  297. ;after the 'T' term character when switching between term and
  298. ;menu. Now the ogiginate or answer character has to only be 
  299. ;entered once when comunications is first established. Also
  300. ;changed the MACLIB mico to MODEM75. Added CR,LF to the NEWBAUD
  301. ;message.
  302. ;                    R.L.Berg
  303. ;
  304. ;4/12/82  Merged in changes/enhancements from versions 7.32
  305. ;and 7.4 and MODEM75.FIX.  This should hopefully give us one
  306. ;"master" version again.  B. R. Ratoff
  307. ;Summary:
  308. ; @7.32 - Delay loop at DILAGN1 to allow "smart" terminals time
  309. ;         to process bell character.
  310. ;
  311. ; @MODEM75.FIX - Maintain originate mode on RET command after
  312. ;         transferring files (at TERM:).  Restore option tables correctly
  313. ;         on control-D command (at DIR).  Issue "file open" message on
  314. ;         receive (at RCVC3).
  315. ; @7.41 - Make CRC/checksum switching on Receive automatic....
  316. ;         assumes CRC and defaults to checksum on timeout.
  317. ;
  318. ;2/20/82  Changes at TERM and START1 marked by ; @7.5 fix a
  319. ;long standing bug in MODEM7x that causes abort at the end of a
  320. ;batch file transfer or an attempt to transfer a non-existent
  321. ;file.  The call to NOPARIT in DONETCE caused a computer that was
  322. ;in answer mode (but not explicitly by command option) to switch
  323. ;to originate mode thus causing the two ends to no longer communicate
  324. ;with each other.  Also added SAVCCP byte and code to prevent
  325. ;overwriting of the CCP at the users option.       R. L. Plouffe 
  326. ;
  327. ;1/23/82  The following changes have been made in this version.
  328. ;                            RLP
  329. ;Extensive cleanup of the file including colons after all labels
  330. ;for easier search with screen editor for the purposes of debug.
  331. ;Also set file capture mode so as not to overwite the CCP and
  332. ;changed EXIT to return to the CCP instead of doing warm boot.
  333. ;
  334. ;TERML routine fix:
  335. ;Added Rick Kawala's fix so that fewer framing errors will occur
  336. ;with hosts that send out characters with high bit set.
  337. ;
  338. ;CAL command fix:
  339. ;   All versions of MODEM7 including MODEM73 are supposed to be
  340. ;able to accept "CAL n" (where n is either a library letter or
  341. ;a phone-number string) as a valid form of the CAL command.  In
  342. ;fact, however, the "n" will simply be ignored.  This is because
  343. ;routine DIALPL checks for a command length >= 4 as a signal to
  344. ;skip the library display, but the menu routine, after
  345. ;recognizing CAL, sets the length to 1 so the L in CAL doesn't
  346. ;look like an illegal secondary option.
  347. ;   The following kludge repairs this defect.  In routine
  348. ;DIALPL, two lines above label DIALPL0, change CMDBUF+5 to
  349. ;CMDBUF+6.  Also, in routine GETCMD, three lines above label
  350. ;NXTOPT2, change MVI A,1 to MVI A,20H and change the next line
  351. ;from STA CMDBUF+1 to STA CMDBUF+4.  This makes the command
  352. ;look to the option processor like "CA  n", and since A is a
  353. ;legal secondary option (which in this case is never used) the
  354. ;line passes muster.  If an actual telephone number is used,
  355. ;you have to type an extra blank: CAL  000-0000, whereas
  356. ;with library numbers one blank only must be typed: CAL A.
  357.  
  358. ;12/16/81 Removed stack imbalance bug at COLONB by adding
  359. ;      a JMP BRK1. Change is marked by ;@   R. L. Plouffe
  360.  
  361. ;11/21/81  Fixed code so byte received is on same line when
  362. ;       messages "XXH RCD, NOT SOH" or "XXH RCD, NOT ACK"
  363. ;          are displayed. Also changed stack size to 50H.
  364. ;       (P.L.Kelley)
  365.  
  366. ;10/29/81 Changed receive sector routine so that on the first
  367. ;time through when CRC is being used, it only waits 3 seconds
  368. ;to receive the SOH after sending the initial 'C'.  If a
  369. ;character is not received within 3 seconds, then a NAK is
  370. ;sent and this program switches to CHECKSUM mode.  The sending
  371. ;of the NAK causes XMODEM or MODEM to start sending the file
  372. ;using checksum checking.  This allows the CRC MODEM7 program
  373. ;to be used with versions of XMODEM, MODEM, and MODEM7 that
  374. ;do not use CRC, even when MODEM7 has specified a CRC
  375. ;transmission. (John Mahr)
  376. ;
  377. ;10/18/81 Added CRC option. This is another secondary option
  378. ;that is specified by giving a 'C'.
  379. ;    MODEM RC.600 fn.ft
  380. ;    MODEM ROC.300 fn.ft etc.
  381. ;    note: cannot have more than 6 secondary options.
  382. ;When the file receive cmd. specifies CRC, the ltr. 'C' is
  383. ;sent in place of the initial NAK. This signals the sender
  384. ;(XMODEM54 or equiv.) that CRC is in effect. The sending 
  385. ;program will repalce the checksum with the CRC 2 bytes.
  386. ;CRC will give better than a 99.99% probability that there
  387. ;are no data errors. Code copied from MODEM213, thanks to
  388. ;John Mahr and Paul Hansknecht for the implementation. (WDE)
  389.  
  390. ;10/11/81 Add first NAK to RCVFIL to speed up start
  391. ;Removed monitor scroll from good block messages
  392. ;CTL-^ forces send of next char in T mode (for ctl-E,ctl-D) (WDE)
  393.  
  394. ;07/05/81 Added BRR ctrl char chgs, my number list (Bill Earnest)
  395.  
  396. ;06/05/81 Deleted some unneeded messages in the dial routines. (Bob Clyne)
  397.  
  398. ;05/31/81 Added detection of framing, overrun, and parity errors for
  399. ;      Receive file routine. (A modified version of the routines in
  400. ;      MODEM V2.06)
  401.  
  402. ;      Added provisions to send and receive either even or odd parity
  403. ;      bit with PMMI modem in the 'S'end or 'R'eceive file modes - resets
  404. ;      to no parity in other modes. Use of the parity feature will slow
  405. ;      transfers slightly due to the extra (parity) bit being sent with
  406. ;      each character. Also this is the only program that I KNOW OF that
  407. ;      actually sends, or sets up the PMMI to receive, the parity bit.
  408. ;      Both ends must be set to the same parity for it to work. Parity
  409. ;      is invoked by adding a '0' (ASCII) for even parity or a '1' (ASCII)
  410. ;      for odd parity to the 'S'end or 'R'eceive command string eg. R0.600.
  411.  
  412. ;      Changed timing for sending 'B'reak in the terminal mode.
  413.  
  414. ;      Changed the code so that the 'M'enu command works from the keyboard
  415. ;      even when in XPR (expert) mode.
  416.  
  417. ;      Added display of hex in addition to decimal numbers for file length
  418. ;      and sector numbers.
  419.  
  420. ;      Removed provision for remote cancel of file transfers in the 'S'end
  421. ;      and 'R'eceive modes to prevent line noise from aborting a transfer.
  422. ;      (Bob Clyne)
  423.  
  424.  
  425. ;02/15/81 Patched in the ringback routines from DIAL6/23. It doesn't
  426. ;      seem to be able to recognize when the other phone is ringing
  427. ;      though so it is a little shakey.
  428.  
  429. ;      Put in routines to calculate file sizes and sector numbers in
  430. ;      decimal.
  431.  
  432. ;      Put in code to transmit a "BREAK" with a PMMI for use with
  433. ;      computers which use BREAK instead of Control S to suspend
  434. ;      output. Control P is now the baudrate change request key
  435. ;      and Control @ is the BREAK key.. (Bob Clyne)
  436.  
  437.  
  438. ;12/18/80 Changed disconnect timing.
  439.  
  440. ;10/26/80  Minor revision to allow 25-second 'wait' after PMMI
  441. ;       autodial -- longer time required for Chicago CBBS*.  Jim Mills.
  442. ;       * CBBS is a trademark of Ward Christensen and Randy Suess.
  443.