home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / jsage / zsus / z3help / z.lbr / ZMP.HZP / ZMP.HLP
Encoding:
Text File  |  1991-11-18  |  12.9 KB  |  303 lines

  1. ;
  2.  
  3.                        ZMP - A ZMODEM Program for CP/M
  4.  
  5.                        Version 1.4 -- 12 November 1988
  6.                            Developed from HMODEM II
  7.                                 by Ron Murray
  8.  
  9.  
  10.    1    Overview            2    Operation           3    Customization 
  11.  
  12.    B    Send break to modem             M    Toggle memory capture mode 
  13.    C    Configure system                P    Toggle printer             
  14.    D    Get disk directory              Q    Quit                       
  15.    F    File operations                 R    Receive a file             
  16.    H    Get instructions                S    Send a file                
  17.    I    Initiate phone call (dial)      X    Hangup                     
  18.    K    Display keyboard macros         Y    Print screen               
  19.    L    Change line parameters          Z    Clear local screen         
  20. :1
  21.  
  22.    ZMP is  a  communications/file  transfer program  for CP/M  which  performs
  23. Xmodem,  Xmodem-1k (often erroneously  called Ymodem),  true Ymodem and Zmodem
  24. file transfer protocols.   Although tested with Z80DOS,  ZRDOS,  and CP/M 2.2,
  25. there seems  to  be no reason why it shouldn't work with CP/M 3  as well.  The
  26. only requirements are a Z80 processor,  a computer running CP/M in  one of its
  27. various guises,  with at least 45k  of TPA (but the  more the better!),  and a
  28. modem.
  29.  
  30.    When you try to pack this many features into one program, you end up with a
  31. pretty large file.   The big problem occurs when file transfers are attempted:
  32. unless you have at least 4-8k  of buffer size,  you might  as well  use xmodem
  33. protocol.  The approach taken in ZMP is to use overlays for various functions,
  34. accepting the time taken to load these from disk.   Thus performance will vary
  35. depending on your disk setup:  if you have  a hard disk and  a fast processor,
  36. you will likely not notice the difference.  
  37.  
  38.  
  39.    In order to produce a program which would work with most CP/M systems,  the
  40. Zmodem protocol performed by ZMP is fairly simple.   The transmit section uses
  41. 'Full Streaming  with Reverse Interrupt',  as Chuck Forsberg  calls  it in his
  42. description  of the Zmodem protocol.   This means that,  if your system can do 
  43. serial I/O and disk I/O at the same time, ZMP does not take advantage of this.
  44. The receive section  uses 'Segmented Streaming.'   This means that the receive
  45. program tells  the transmit  program  how  big its  buffer  is.   The transmit
  46. program then sends just that much data, then waits for an acknowledge from the
  47. receiver.   Errors may occur  if too much  data is sent  in this case, but the
  48. protocol should recover and the file will be received intact (we hope!).
  49.  
  50.    The string  which ZMP passes  to the receiving program to interrupt in case 
  51. of errors is likewise simple.   Basically it causes  the receiving  program to
  52. send a Ctrl-C character and then wait for one second.   The receiver will then
  53. send its ZRPOS string,  by which time ZMP, as the transmitter, should be ready
  54. to receive it.
  55. :2
  56.  
  57. Operation:
  58.  
  59.    The following files must  be on the same disk and user area,  which must be
  60. specified in your customization overlay:
  61.  
  62.    ZMCONFIG.OVR -- the configuration overlay
  63.    ZMINIT.OVR   -- the initialization overlay
  64.    ZMTERM.OVR   -- the terminal overlay
  65.    ZMXFER.OVR   -- the file transfer overlay
  66.    ZMP.HLP      -- the help file (recommended)
  67.  
  68.    Start the program with ZMP.  The screen should clear,  then a title message
  69. is printed,  then ZMP  enters terminal  mode.   You may type esc-H for help at 
  70. this point.  When you first run the program, the first thing you need to do is
  71. to enter the configuration  overlay (type esc-C) and set  all the defaults and
  72. others  to suit  your system  as required.   When  you exit the  configuration 
  73. program,  answer 'Y' to  the 'Make changes permanent?' question.   ZMP.FON and 
  74. ZMP.CFG will  be produced  on your  disk,  in the same drive/user area  as the 
  75. above files.  Type esc-H for a display of options available.
  76. :3
  77.  
  78. Customization:
  79.  
  80.    ZMP must  be customized to suit your system.   This involves overlaying the
  81. un-installed  copy  of  ZMP.COM (ZMPX.COM) with  a  user-written  installation
  82. overlay.   There is  a blank overlay file  in the distribution library.   This
  83. value is set  at  0145 hex,  and should stay there permanently.   See the file
  84. ZMP-OVL.UPD for more details on how to set up an overlay.
  85. :b
  86.  
  87. Send Break to Modem:
  88.  
  89.  
  90.    If your overlay has been set up to send a break command to your UART,  this
  91. command will  perform  this function.   (Some remote systems  also  may need a 
  92. break sent to them during Zmodem transfers).
  93. :C
  94.  
  95. Configure System:
  96.  
  97.    This function is designed to  set system defaults, save phone numbers, etc.
  98. Changing baud rates,  etc. for a particular call  are better  handled with the
  99. escape-L option.   If you answer Y  or y  to  the  'make  changes  permanent?' 
  100. question,  the  new configuration will  be saved in  a ZMP.CFG  file,  and the
  101. phone numbers in a ZMP.FON file for later use.   The .CFG file is read,  if it
  102. exists, when ZMP is first started.
  103.  
  104.    The following Configuration Menu is displayed:
  105.  
  106.         A - Edit long distance access number
  107.         K - Edit keyboard macros
  108.         L - Set line parameters
  109.         M - Set modem parameters
  110.         P - Edit phone number list
  111.         S - Set system parameters
  112.         T - Set file transfer parameters
  113.         Z - Exit
  114. :D
  115.  
  116. Get Disk Directory:
  117.  
  118.    
  119.    Gets a directory of  the current  drive and  user area.  Change  to another
  120. with the escape-F command, described below.   The directory will be sorted and
  121. will include  drive/user area  that there  is insufficient memory available to
  122. sort them.   In this case an unsorted directory,  without file sizes,  will be
  123. printed.
  124. :F
  125.  
  126. Disk/File operations:
  127.  
  128.    This command is used to change the current drive/user area, to reset a disk
  129. in the current drive, and to view, erase,  print  or rename files.   There are
  130. also options to give a directory of the current drive/user area, and to supply
  131. a  new  filename for  the capture file.   The filename may specify a different
  132. drive/user area than the current one.
  133.  
  134.    The following File and Disk Command Menu is displayed:
  135.  
  136.         C - Change disk in default drive
  137.         D - Directory of current disk
  138.         E - Erase file on default drive
  139.         F - Change default name of capture file (currently ZMP.LOG)
  140.         L - Log into new du: (currently B0:)
  141.         P - Print a file on default drive
  142.         R - Rename a file on default drive
  143.         V - View a file on default drive
  144.         Z - Exit
  145. :H
  146.  
  147.  
  148. Get Help:
  149.  
  150.  
  151.    Prints the ZMP.HLP file.  You may then either type CR to return to terminal
  152. mode, or enter the required function key.
  153. :I
  154.  
  155.  
  156. Initiate Phone Call:
  157.  
  158.  
  159.    Reads the ZMP.FON file, if any,  and prints it.   Then you  are asked which
  160. number you want.  Enter the identifying letter of the number you wish to call.
  161. You can also enter numbers not in the list.  Multiple numbers can be called by
  162. entering them separated with commas.   Dialling will then commence,  and  will
  163. continue until one of the numbers answers, or until you abort the process with
  164. the escape key.  Note that the baud rate used for the call is that in the .FON
  165. file for  that number,  or the current one if the new number is entered.  This
  166. function works best if the  strings in the .CFG file have been set up for your
  167. modem, and the initialization string  sent to  the modem  sets it into verbose
  168. mode the status messages.
  169. :K
  170.  
  171.  
  172. Display/Keyboard Macros
  173.  
  174.    The configuration  module allows  up  to 10 macro  keys  to be defined, and 
  175. these  are  recalled by  typing  message followe  by the  numbers  0-9.   This 
  176. function prints the current assignments.
  177. :L
  178.  
  179. Change Line Settings:
  180.  
  181.    This function allows temporary changes of  baud rate,  stop bits,  and data
  182. bits.   There is also  an option  to  operate  terminal  mode  in  full duplex
  183. (locally typed chars are sent but not displayed  on  the screen),  half duplex
  184. (locally typed chars are sent and also displayed on the screen),  or echo mode
  185. (as  for half duplex,  but  received chars  are echoed to the remote system as
  186. well as being displayed.  Don't  run  two computers  in  an  echo  mode unless
  187. you're bored.  There are also options to  allow/disallow  control  chars above
  188. CR to be displayed in terminal mode, to strip the parity bit in terminal mode,
  189. and to re-initialize the UART and modem at the current baud rate.
  190.  
  191.    Like IMP, ZMP uses location 003C hex  to store a value corresponding to the
  192. present baud  rate.   Then,  if  you leave ZMP  and later re-enter,  it checks
  193. location 003C.   If it contains a legal value,  then that baud rate is set for
  194. you, else it sets the default baud rate as selected in the .CFG file.
  195. :M
  196.  
  197.  
  198. Toggle Capture Mode in Memory:
  199.  
  200.  
  201.    Received characterss will  be saved in  a buffer and saved in  a file named 
  202. 'ZMP.LOG' when  the buffer fills  or when  the command  is  entered  again.  A 
  203. Ctrl-S/Ctrl-Q sequence is  sent to  the  remote  computer while  the buffer is
  204. being saved in an attempt to stop it sending more data.
  205. :P
  206.  
  207.  
  208. Toggle Printer:
  209.  
  210.  
  211.    This is similar to the 'M' command,  except incoming characters are sent to
  212. the printer.   This  functions best  if your  system performs  the  BIOS 'List
  213. Status' function correctly.
  214. :Q
  215.  
  216.  
  217. Quit the Program:
  218.  
  219.  
  220.    Obvious.  You will be asked if this  is really  what  you want.   Any entry
  221. other than N or n will exit to CP/M. 
  222. :R
  223.  
  224. Receive a File:
  225.  
  226.    You will be asked which protocol you  wish to use.   The default is ZMODEM.
  227. The <X>modem option will alow  either 128-byte  blocks (standard XMODEM) or 1k
  228. blocks (XMODEM-1k),  since this is decided by the transmit end.   Note that if 
  229. an attempt is made to receive  a file which has the same name as a file on the
  230. current drive/user area,  the current one  will be renamed to .BAK and the new
  231. one will then be received normally.
  232.  
  233.    Note that  the byte count  on the  screen is not kept  up-to-date on Zmodem
  234. receive.   This is  because the data  arrives non-stop  and there is simply on 
  235. time  available with non-interrupt driven computers to update the screen.   An
  236. update is performed if errors occur,  and when the computer pauses to write to
  237. the disk.
  238.  
  239.    Starting with version 1.4,  Zmodem file receive will commence automatically
  240. upon recept of the sender's ZRQINIT string.   Thus all you need  to do is have
  241. the sender initiate the transfer,  select the drive and user area you wish the
  242. files to be received on, and wait...
  243.  
  244.  
  245. The following status window is displayed in Receive File Mode:
  246.  
  247.                   RECEIVE FILE Mode:  Press ESC to Abort...
  248.  
  249.                   +---------------------------------------+
  250.                   |            Protocol:                  |
  251.                   |            Filename:                  |
  252.                   |           File Size:                  |
  253.                   |         Block Check:                  |
  254.                   |       Transfer Time:                  |
  255.                   |   Bytes Transferred:                  |
  256.                   |  Blocks Transferred:                  |
  257.                   |     Sectors in File:                  |
  258.                   |         Error Count:                  |
  259.                   |        Last Message:                  |
  260.                   +---------------------------------------+
  261. :s
  262.  
  263. Send a File:
  264.  
  265.    Operation is similar to the receive function.  Additional options available
  266. are ASCII send and  the capability of distinguishing between normal Xmodem and
  267. Xmodem-1k.   In Ymodem and Zmodem modes, wildcard filenames and multiple file-
  268. names are allowed.   Multiple filenames should be entered separated by spaces.
  269. In  all  cases,  files on  different  drive/user  areas may  be  specified  by 
  270. supplying a ZCPR3-style DU: prefix (e.g., C7:NEATPROG.WOW).
  271.  
  272.    Byte count information  is displayed  in Zmodem  mode  on  transmit.   This 
  273. causes noticeable  breaks between packets,  but it  is felt  that this is out-
  274. weighed by the usefulness of the information.  ZMP's Zmodem mode is capable of
  275. CRC-32 operation, although CRC-16 mode is used if the receiver is incapable of
  276. CRC-32.   Some other terminal programs,  however, do strange things when faced
  277. with a receiving program which claims it can do CRC-32.   If this happens, the
  278. configuration function  (esc-C from terminal mode) has  an  option  to disable 
  279. CRC-32.
  280. :x
  281.  
  282.  
  283. Hangup:
  284.  
  285.  
  286.    This function causes the modem to disconnect from the phone line.
  287. :y
  288.  
  289.  
  290. Print Screen:
  291.  
  292.  
  293.    Allows the current screen to be dumped to printer.   Note that this must be
  294. supported in the overlay:  most terminals are incapable of this function.  The
  295. standard overlay prints 'This function not supported.'  
  296. :z
  297.  
  298.  
  299. Clear Screen:
  300.  
  301.  
  302.    Allows the screen to be cleared.  Useful if if fills with rubbish.
  303.