home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / zcpr2 / z2ug1.wq / Z2UG1.WS
Text File  |  1985-02-09  |  73KB  |  1,823 lines

  1. .fo Section 4 - Library Utilities                      Page   #
  2.  
  3. 4.0  Library Utilities
  4.  
  5. 4.1  Author Credits and Introduction to LU
  6.  
  7.      Thi≤  documen⌠ applie≤ t∩ versioε 1.1░ oµ LU.COM«á  I⌠á als∩ ì
  8. applie≤á t∩ Versioε 1.░ oµ LDIR┌ b∙ RicharΣ Conε anΣ Versioεá 1.░ ì
  9. oµá LRUN┌á b∙ RicharΣ Conε (whicΦ wa≤ deriveΣ froφ LRU╬á b∙á Gar∙ ì
  10. Novosielski).
  11.  
  12. Copyright (c) 1982 Gary P. Novosielski
  13. All rights reserved.
  14.  
  15.      Permissioε  i≤  hereb∙  granteΣ  t∩ cop∙ anΣ distributσ thi≤ ì
  16. documen⌠á  fo≥á  an∙  non-commercia∞  purpose«á An∙ usσá oµá thi≤ ì
  17. materia∞á  fo≥á  commercia∞á  advantagσ  withou⌠á  prio≥á writteε ì
  18. consen⌠ oµ thσ autho≥ i≤ prohibited.
  19.  
  20.      ╔á havσá modifieΣ thσ origina∞ documen⌠ fo≥ inclusioεá iεá ß ì
  21. HEL╨á filσá anΣ elaborateΣ oε thσ subjec⌠ witΦá documentatioεá oε ì
  22. LRUNZ and LDIRZ.
  23.  
  24.  
  25.                           INTRODUCTION
  26.  
  27.      Librar∙  Utilit∙  (LU⌐  i≤  ß  prograφ t∩ allo≈ combininτ oµ ì
  28. multilplσá  file≤á  int∩  onσ  large≥  file«á  I⌠á require≤á CP/═ ì
  29. versioε  2.░  o≥  highe≥  t∩  run«  L╒  run≤ unde≥ ZCPR2.
  30.  
  31.      Thi≤á large≥á filσ i≤ divideΣ int∩ tw∩á basiπá part≤á -- thσ ì
  32. director∙á (a⌠á thσá fron⌠á oµ thσ file⌐ anΣá thσá file≤á oµá thσ ì
  33. library«  Thσ director∙ informatioε i≤ storeΣ iε thσ samσ filσ a≤ ì
  34. thσá  data¼á  o≥á  membe≥  files«á  Thσ  amoun⌠  oµ  spacσ t∩á bσ ì
  35. allocateΣ  t∩  thσ  director∙  mus⌠ bσ specifieΣ b∙ thσ use≥ wheε  ì
  36. ß  ne≈ librar∙ i≤ created¼á bu⌠ caε bσ changeΣ wheε thσ filσá  i≤ ì
  37. reorganized« Thσ sizσ oµ eacΦ director∙ entr∙ i≤ 3▓ bytes¼  whicΦ  ì
  38. mean≤á eacΦá fou≥á director∙ entrie≤ takσ u≡ onσ secto≥á  oµá thσ ì
  39. librar∙ file«á Currentl∙ onl∙ 1╢ byte≤ oµ eacΦ entr∙  arσá  used¼  ì
  40. witΦá 1╢á byte≤á beinτá reserveΣ fo≥ usσá witΦá possiblσá  futurσ ì
  41. enhancements«á Thσ director∙ itselµ use≤ onσ entr∙  fo≥á  contro∞  ì
  42. information¼á s∩á thσ numbe≥ oµ director∙ sector≤  needeΣ  fo≥  ß ì
  43. librar∙ oµ φ member≤ i≤ (φ ½ 1⌐ » 4¼ roundeΣ u≡ t∩ thσ nex⌠ wholσ ì
  44. number.
  45.  
  46.      Thσá  use≥á neeΣ no⌠ bσ concerneΣ witΦá thi≤á discussioεá a≤ ì
  47. director∙á  sizσá  i≤ calculateΣ b∙ thσá program«á Al∞á director∙ ì
  48. size≤á  arσá  inpu⌠ anΣ outpu⌠ iε term≤ oµá entries¼á eacΦá entr∙ ì
  49. beinτ ß potentia∞ membe≥ file« Thσ prograφ adjust≤ director∙ sizσ ì
  50. t∩ aε integra∞ numbe≥ oµ sectors.
  51.  
  52.      LRUN┌á  i≤á  ß  smal∞ prograφ whicΦ allow≤ runninτ  ßá  .CO═ ì
  53. (objec⌠á code⌐ filσ membe≥ directl∙ froφá an∙á library¼á  withou⌠  ì
  54. havinτá  t∩á  extrac⌠á i⌠á t∩á ßá separatσá disδá file«áá  I⌠á i≤ ì
  55. specificall∙á intendeΣ t∩ bσ useΣ witΦ ß defaul⌠ COMMAND.LB╥ filσ ì
  56. under ZCPR2 and can be used as an Extended Command Processor.è
  57.      LDIR┌ i≤ ß prograφ whicΦ allow≤ thσ use≥ t∩ displa∙ ß sorteΣ ì
  58. director∙ oµ thσ file≤ iε ß defaul⌠ COMMAND.LB╥ file«á  Simplσ iε ì
  59. nature¼á LDIR┌á give≤á thσ use≥ thσ abilit∙ t∩ selec⌠á group≤á oµ ì
  60. file≤ viß wilΣ card≤ anΣ displa∙ ß sorteΣ listinτ whicΦá include≤ ì
  61. individual file sizes.
  62.  
  63.  
  64.  
  65. 4.2  Why Use Libraries?
  66.  
  67.      First¼á  ß librar∙ filσ usuall∙ take≤ u≡ les≤ spacσ thaε thσ ì
  68. tota∞á oµá thσ individua∞ membe≥ file≤ whicΦ wen⌠ int∩á it«á  Thσ  ì
  69. reasoεá  fo≥á  thi≤  i≤ tha⌠ CP/═ allocate≤ disδ spacσá iεá fixeΣ  ì
  70. block≤  o≥ groups¼á typicall∙ 2δ byte≤ each« An∙ spacσ afte≥  thσ  ì
  71. las⌠á  secto≥á  oµ  ß filσ u≡ t∩ thσ nex⌠ 2δá blocδá boundr∙á  i≤ ì
  72. wasted«á Thσá samσá file≤á iε ß librar∙ usσ onl∙á thσá numbe≥á oµ ì
  73. sector≤á the∙ actuall∙ need¼á anΣ thougΦ thσ librar∙ itselµá  ma∙  ì
  74. havσá  ß  partiall∙ wasteΣ blocδ a⌠ thσ end¼á anΣ require≤   somσ  ì
  75. spacσ  fo≥  director∙  informatioε  a⌠  thσ beginning¼á  thσ  ne⌠  ì
  76. effec⌠  i≤  usuall∙  ß savinτ oµ tota∞ space«á  Thσ  bes⌠ result≤ ì
  77. arσ seeε wheε man∙ smal∞ file≤ arσ combineΣ int∩ onσ library.
  78.  
  79.      Second¼  ß librar∙ filσ make≤ mos⌠ efficien⌠ usσ oµ thσ CP/═ ì
  80. disδá directory¼á sincσá i⌠ i≤ treateΣ a≤ onl∙ onσ filσá b∙á CP/═ ì
  81. regardles≤ oµ ho≈ man∙ member≤ i⌠ contains.
  82.  
  83.      Third¼á  librarie≤á  caεá  aiΣ iε transferrinτá package≤á oµ ì
  84. softwarσ  froφ  onσ systeφ t∩ anothe≥ usinτ XMODEM« Onl∙ onσ filσ  ì
  85. i≤ transferred¼á eliminatinτ thσ neeΣ t∩ ruε thσ XMODE═á  ransfe≥  ì
  86. prograφ severa∞ times¼á thσ chancσ oµ overlookinτ ß needeΣ  file¼ ì
  87. anΣá thσá problem≤ oµ naminτ conflicts¼á (sucΦ a≤ READ.M┼á files⌐ ì
  88. amonτ unrelateΣ packages.
  89.  
  90.  
  91.  
  92. 4.3  Why Not Use Libraries?
  93.  
  94.      Therσá   arσá  somσá  ver∙  gooΣ  reason≤  fo≥á  no⌠á  usinτ ì
  95. libraries«á  Fo≥á onσá thing¼á file≤á withiε ßá librar∙á arσá no⌠ ì
  96. availablσá t∩  mos⌠ "normaló programs«á Iµ ß frequentl∙á accesseΣ ì
  97. filσ i≤ placeΣ  iε  ß library¼á i⌠ wil∞ havσ t∩ bσ extracteΣ froφ ì
  98. thσ librar∙  t∩  it≤  free-standinτ counterpar⌠ beforσ i⌠ caεá bσ ì
  99. useΣá  b∙á  ß  program«á (.CO═ file≤ arσ ß notablσá exceptioεá t∩ ì
  100. this¼á  becausσá  oµá  thσ  availabilit∙  oµ  thσ LRUN┌á command¼ ì
  101. covereΣ later.)
  102.  
  103.  
  104.      Librarie≤  caε  actuall∙  wastσ disδ space« Wheε ß disδ filσ  ì
  105. i≤ erased¼á CP/═ return≤ thσ spacσ formerl∙ useΣ b∙ thσ filσá  t∩  ì
  106. thσá  freσ  spacσ poo∞ fo≥ usσ b∙ ne≈ files«á Wheε ß membe≥  filσ  ì
  107. i≤á  deleteΣá  froφá ßá librar∙á however¼á thσá spacσá previousl∙  ì
  108. occupieΣá b∙á thσá filσ i≤ no⌠á useable«á Thσá librar∙á mus⌠á  bσ  ì
  109. reorganizeΣá  t∩ makσ thi≤ spacσ availablσ t∩ CP/M«á  Whilσ  thi≤  ì
  110. i≤  eas∙  t∩  d∩ witΦ thσ L╒ command¼á i⌠ i≤ no⌠ automatic¼á  anΣ  ì
  111. iµ thσ situatioε i≤ ignored¼á largσ area≤ oµ disδ caε bσ tieΣá u≡ ì
  112. a≤ unproductivσ "deaΣ space".
  113.  
  114.  
  115.  
  116. 4.4  How to Use the Library Utility LU
  117.  
  118.      L╒á ha≤ tw∩ basiπ method≤á oµá operation║á interactive¼á anΣ ì
  119. paramete≥  driven«á Usσ oµ thσ interactivσ methoΣ i≤ probabl∙ thσ  ì
  120. bes⌠á wa∙ t∩ ge⌠ t∩ kno≈ thσ program¼á becausσ thσ effec⌠ oµ eacΦ ì
  121. actioε caε bσ immediatle∙ seen.
  122.  
  123.      T∩  star⌠ aε interactivσ librar∙ maintenancσá session¼á jus⌠ ì
  124. typσá  L╒á  oεá  thσ  commanΣ linσ witΦ n∩ parameter≤á afte≥á it«  ì
  125. Afte≥á  yo⌡á  arσ  familia≥  witΦ thσ program¼á yo⌡á caεá specif∙ ì
  126. multiplσá paramter≤á oε thσ commanΣ linσ anΣ L╒á wil∞á worδá witΦ ì
  127. littlσá  o≥á n∩ intervention«á Inpu⌠ froφ disδ files¼á ├á prograφ ì
  128. "pipes"¼á  anΣá  thσá XSU┬ facilit∙ arσ als∩ supporteΣá fo≥á morσ ì
  129. advanceΣ applications.
  130.  
  131.      Al∞á  thσá  method≤  makσ  usσ oµá simila≥á syntax«á CommanΣ ì
  132. inpu⌠á  take≤ tw∩ forms║á operator≤ (sometime≤á calleΣá tags¼á o≥ ì
  133. options⌐ anΣ operands.
  134.  
  135.      Aεá  operato≥á  i≤á  defineΣ  a≤  an∙ tw∩á characte≥á strinτ ì
  136. wherσ  thσ  firs⌠  characte≥ i≤ ß minu≤ sign«á Operator≤ tel∞ thσ  ì
  137. prograφ wha⌠ t∩ do« ValiΣ operator≤ arσ -a¼ -d¼ -e¼ -l¼ -o¼ anΣ -ì
  138. r«á Anythinτ elsσ witΦ ß simila≥ forφ i≤ aε operato≥ too¼á bu⌠ aε ì
  139. invaliΣ one.
  140.  
  141.      Operand≤  arσ  everythinτ  else« Normally¼ operand≤ arσ filσ ì
  142. name≤ whicΦ yo⌡ wan⌠ t∩ adΣ to¼á deletσ from¼á o≥ extrac⌠ froφ  ß  ì
  143. librar∙  file¼á  o≥ arσ name≤ oµ librar∙ file≤ t∩ bσ opened« The∙ ì
  144. ma∙ contaiε thσ character≤ ¬ o≥ ┐á iε whicΦ casσ the∙ arσá calleΣ ì
  145. ambiguou≤ operands« Somσ valiΣ operand≤ are:
  146.  
  147.  foo.bar       b:test.fil     z         *.*       comm?nd
  148.  
  149.      T∩  refe≥ t∩ ß filσ nameΣ "-zó thσ operanΣ woulΣ havσ t∩  bσ  ì
  150. entereΣá a≤á "-z.ó witΦ thσ period¼á sincσ otherwisσ i⌠ woulΣá bσ ì
  151. mistakeε a≤ aε invaliΣ operator.
  152.  
  153.      Wha⌠á  actioεá  i≤ takeε upoε thσ filσá depend≤á upoεá whicΦ ì
  154. operato≥á  mos⌠á  recentl∙  precedeΣ  it«á  Iµ  n∩á operato≥á wa≤ ì
  155. entered¼á  o≥  aε invaliΣ one¼ o≥ onσ tha⌠ take≤ n∩ operands¼ thσ ì
  156. operanΣ wil∞ bσ ignored.
  157. è     Wheε runninτ interactively¼á L╒ prompt≤ fo≥ eacΦ operanΣ anΣ  ì
  158. operator¼á  onσ pe≥ inpu⌠ line«á Multiplσ input≤ pe≥ linσ arσ no⌠ ì
  159. alloweΣ usinτ thσ interactivσ method.
  160.  
  161.      Thσá  promp⌠á  yo⌡á  wil∞  seσ  i≤ thσ namσ oµá thσá curren⌠ ì
  162. operato≥á  followeΣá  b∙  ß  ">ó character¼á fo≥á examplσá "-E>"«  ì
  163. Thi≤á  indicate≤á tha⌠ thσ -σ operato≥ i≤ iε effect¼á anΣá iµá aε ì
  164. operanΣá  i≤á  entereΣ i⌠ wil∞ bσ interpreteΣ a≤ thσá namσá oµá ß ì
  165. membe≥á  filσá  t∩  bσ  ExtracteΣ  froφ  thσá library«á Wheεá thσ ì
  166. prograφá  firs⌠á start≤ up¼á thσ promp⌠ i≤ "-?>ó whicΦá mean≤á n∩ ì
  167. operato≥á  i≤á  currentl∙  iε  effect«á  Iε thi≤ case¼á thσá onl∙ ì
  168. valiΣ inpu⌠ i≤ aε operator« An∙ operanΣ wil∞ bσ ignored.
  169.  
  170.  
  171. 4.5  Summary of Operators
  172.  
  173.      The operators available under LU are:
  174.  
  175.           -A   Add Files to Library
  176.           -D   Delete Files from Library
  177.           -E   Extract Files from Library
  178.           -L   List Library
  179.           -O   Open a Library
  180.           -R   Reorganize a Library
  181.  
  182.      Thesσáá operator≤á arσá discusseΣá iεá morσá detai∞á iεá thσ ì
  183. following frames.
  184.  
  185.      -ßá   adΣá  file≤  t∩  library«á  -ß  cause≤ thσá promp⌠á t∩ ì
  186. changσá  t∩  -A╛ whicΦ wil∞ theε accep⌠ a≤ operand≤ thσ name≤á oµ  ì
  187. file≤á  t∩  bσ  addeΣ t∩ thσ opeε library«á (Iµ n∩á librar∙á namσ  ì
  188. ha≤á  beeε  openeΣ  witΦ  thσ  -∩ operator¼á thσ defaul⌠á librar∙  ì
  189. LIBRARY.LB╥á  i≤á  alway≤á  useΣ  instead.⌐á  Ambiguou≤á operand≤  ì
  190. matcΦá  al∞  disδ  file≤ whicΦ qualif∙ accordinτ t∩ norma∞á  CP/═  ì
  191. wild-carΣ  conventions¼á  excep⌠  thosσ  witΦ ß filetypσ oµ .LBR« ì
  192. Explici⌠ drivσ specificatioε oε aε operanΣ cause≤  tha⌠ drivσá t∩ ì
  193. bσ searcheΣ fo≥ thσ file(s⌐ insteaΣ oµ thσ curren⌠ drive.
  194.  
  195.      -Σá   deletσá file≤ froφ library«á -Σ cause≤ thσá promp⌠á t∩ ì
  196. changσ  t∩  -D╛  whicΦ  accept≤ name≤ oµ file≤ t∩ bσ deleteΣ froφ  ì
  197. thσá  opeεá  library«á  Ambiguou≤  name≤ matcΦ al∞á membe≥á file≤  ì
  198. whicΦá  qualify«á  Drivσ specification≤ oε operand≤ arσá ignored¼   ì
  199. sincσ   thσ  librar∙  member≤  arσ  obviousl∙  oε whicheve≥ drivσ ì
  200. contain≤ thσ opeε library.
  201.  
  202.      -σá   extrac⌠  file≤  froφ library«á -σ cause≤ thσ promp⌠ t∩ ì
  203. changσ t∩ -E╛ whicΦ accept≤ name≤ oµ librar∙ membe≥ file≤ t∩   bσ   ì
  204. extracteΣá  t∩  norma∞  free-standinτá  CP/═á  files«á  Ambiguou≤  ì
  205. name≤á matcΦ al∞ membe≥ file≤ whicΦ qualify«á Drivσ specificatioε  ì
  206. oεá ßá membe≥á namσ cause≤ thσ outpu⌠ filσ t∩ bσá placeΣá oεá thσ ì
  207. specifieΣá drivσ rathe≥ thaε thσ curren⌠á drive«á  An∙á  existinτ  ì
  208. filσá  witΦá  thσá samσ namσ wil∞ bσ overwritteε unles≤á  i⌠á  i≤ ì
  209. protecteΣ b∙ virtuσ oµ it≤ Read/Onl∙ flaτ bi⌠ beinτ set.
  210.  
  211.  
  212.      -∞   lis⌠  curren⌠ librar∙ map«á -∞ cause≤ thσ director∙á oµ  ì
  213. thσá  curren⌠  librar∙  t∩  bσ listeΣ oε thσ console«á Thσ membe≥  ì
  214. name≤á  arσ  displayed¼á  alonτ  witΦ  thei≥ index¼á o≥á startinτ  ì
  215. positioεá  withiεá  thσ  library¼á  anΣ thei≥á sizσá iεá sectors«  ì
  216. Also¼á informatioεá i≤ displayeΣ abou⌠ thσ numbe≥ oµ sector≤á  iε  ì
  217. thσ  library¼  anΣ  ho≈  mucΦ space¼ i≤ useΣ o≥ unuseΣ  (wasted)«  ì
  218. Informatioεá  i≤á  als∩ displayeΣ abou⌠ thσ numbe≥ oµ entrie≤á iε ì
  219. thσ directory¼á anΣ ho≈ man∙ arσ active¼á deleted¼á  o≥  freσ fo≥ ì
  220. use«á Thi≤ help≤ determinσ whethe≥ thσ librar∙  need≤  t∩  bσ re-ì
  221. organizeΣá t∩á freσá unuseΣá spacσá anΣá deleteΣá  entries«á  Thσ  ì
  222. operato≥á  -∞á expect≤á n∩á operands¼áá s∩á afte≥á  thσá lis⌠á i≤ ì
  223. displayed¼á thσá promp⌠ change≤ bacδ t∩ -?╛ fo≥ entr∙ oµá anothe≥ ì
  224. operator.
  225.  
  226.      -∩   opeε  ß library«á -∩ cause≤ thσ promp⌠ t∩ changσ t∩ -O╛  ì
  227. whicΦ  accept≤  thσ namσ oµ ß librar∙ filσ t∩ bσ openeΣ fo≥á  usσ  ì
  228. witΦ  subsequen⌠  operators« Iµ anothe≥ librar∙ i≤ alread∙  open¼  ì
  229. i⌠á  i≤ closeΣ first«á Iµ thσ ne≈ librar∙ doe≤ no⌠  exist¼á i⌠ i≤ ì
  230. createΣá witΦá aεá empt∙ directory«á Ambiguou≤á name≤á  arσá  no⌠ ì
  231. allowed«á Drivσ specificatioε i≤ allowed« Thσ filσ  typσ  ma∙  bσ ì
  232. specified¼á bu⌠á default≤ t∩ .LB╥ whicΦ i≤ strongl∙ suggesteΣá a≤ ì
  233. thσ filσ typσ fo≥ al∞ librar∙ files.
  234.  
  235.      Yo⌡á  wil∞á  recal∞ tha⌠ file≤ oµ typσá -ßá (add⌐á operator«  ì
  236. Thi≤á  prevent≤á  librarie≤á  froφ  beinτ accidentall∙á addeΣá t∩ ì
  237. othe≥á  libraries¼á  o≥  t∩ themselves╗á ß situatioεá no⌠á unlikσ ì
  238. tryinτá  t∩á  drivσ  ß  trucδ u≡ it≤ owε tailpipe«á Iµá fo≥á somσ ì
  239. reasoε  yo⌡ wan⌠ t∩ adΣ onσ librar∙ t∩ another¼á bσ m∙ guest¼ bu⌠  ì
  240. yo⌡á  wil∞á  havσá  t∩á  specif∙á  thσá  namσá  withou⌠á ¬á o≥á ┐ ì
  241. character≤ wheε addinτ it.
  242.  
  243.      -≥á   reorganizσá  library«á  -≥ cause≤ thσá currentl∙á opeε ì
  244. librar∙  t∩  bσ  reorganized« First¼ thσ director∙ i≤ sorteΣ int∩  ì
  245. alphabetica∞  order¼  anΣ  theε al∞ activσ member≤ arσ copieΣ  t∩  ì
  246. ßá  worδá  librar∙á  whicΦ i≤ openeΣ oε thσá curren⌠á drive¼á no⌠ ì
  247. necessaril∙ thσ drivσ containinτ thσ olΣ library«  Thσ  use≥  ma∙ ì
  248. specif∙á ß differen⌠ numbe≥ oµ entrie≤ fo≥ thσ worδ  librar∙á  iµ  ì
  249. i⌠á i≤á necessar∙á t∩á expanΣá o≥á compres≤á thσá directory«á Thσ ì
  250. director∙á wil∞á alway≤ bσ madσ largσ enougΦ t∩ contaiεá al∞á thσ ì
  251. activσá member≤á oµ thσ olΣ library¼á s∩ ß sizσ oµá  ▒á  ma∙á  bσ  ì
  252. specifieΣá  t∩á makσá thσ director∙ a≤ smal∞á a≤á possible«á (Seσ ì
  253. Specifyinτ Director∙ Size≤ below.)
  254.  
  255.      Wheεá  reorganizatioεá  i≤  complete¼á  thσ olΣá librar∙á i≤ ì
  256. deleteΣ  anΣ  thσ worδ librar∙ i≤ renameΣ t∩ thσ namσ oµ thσá olΣ   ì
  257. library«áá   N∩áá  backu≡á  cop∙á  i≤á  retained«áá  Thσáá  newl∙ ì
  258. reorganizeΣá  librar∙á  remain≤á  opeε  fo≥ usσá witΦá subsequen⌠ ì
  259. operations.
  260.  
  261.      Wheneve≥á thσ prograφ i≤ promptinτ fo≥ aεá operand¼á anothe≥ ì
  262. operato≥á  ma∙á bσá entereΣ insteaΣ t∩ changσ thσ statu≤á oµá thσ ì
  263. prompt«á T∩ enΣ aε interactivσ session¼ ente≥ ß blanδ linσ a⌠ thσ ì
  264. prompt.
  265.  
  266.                     SPECIFYING DIRECTORY SIZE
  267.  
  268.      Wheneve≥  aε  olΣ librar∙ i≤ opened¼á thσ director∙ sizσá i≤ ì
  269. displayeΣ a≤ follows:
  270.  
  271.  Old library LIBRARY.LBR has 32 entries, 5 free.
  272.  
  273.      Thi≤á  mean≤á tha⌠á ╡ morσ member≤ ma∙ bσ addeΣá beforσá thσ ì
  274. director∙á  become≤  full«á  Wheε  thσ  director∙á  i≤á full¼á -ß ì
  275. become≤á  aεá  invaliΣ  operator¼á  anΣ  thσ  librar∙á  mus⌠á  bσ ì
  276. reorganizeΣ t∩ adΣ an∙ morσ members.
  277.  
  278.      Wheεá  ß librar∙ i≤ createΣ fo≥ thσ firs⌠ time¼á thσ use≥ i≤ ì
  279. prompteΣ likσ this:
  280.  
  281.  New library COMMAND.LBR. Allow how many entries?_
  282.  
  283.      An∙ numbe≥ froφ ▒ t∩ 6553╡ i≤ valid«á Thσ actua∞ maximuφá i≤  ì
  284. determineΣá b∙ thσ amoun⌠ oµ freσ memor∙ availablσ oε thσá systeφ ì
  285. iεá use«á Director∙á sizσá wil∞ bσ roundeΣ u≡ t∩ thσá nex⌠á wholσ  ì
  286. secto≥  necessar∙  t∩  contaiε  thσ numbe≥ oµ entrie≤á requested«  ì
  287. Thi≤á  numbe≥á  wil∞á  remaiε  iε  effec⌠ unti∞á thσá librar∙á i≤ ì
  288. reorganized« Sincσ thσ director∙ itselµ count≤ a≤ aε  entry¼  onσ ì
  289. entr∙á i≤á addeΣá t∩á whateve≥ i≤ entereΣ beforσá thσá  sizσá  i≤  ì
  290. calculated«á  Thereforσá jus⌠ ente≥ thσ maximuφ numbe≥ oµá membe≥ ì
  291. file≤ yo⌡ wan⌠ thσ librar∙ t∩ bσ capablσ oµ holding.
  292.  
  293.      Thσá  maximuφ numbe≥ oµ membe≥ file≤ i≤ als∩ constraineΣá b∙  ì
  294. thσá  amoun⌠á  oµá  availablσá  disδá space«á Iµá durinτá aεá adΣ ì
  295. operatioε  thσ disδ spacσ run≤ out¼á thσ namσ i≤ no⌠ addeΣ t∩ thσ  ì
  296. directory«  Iµ ß multiplσ adΣ i≤ iε progress¼ duσ t∩ aε ambiguou≤  ì
  297. operand¼á thσá remaininτá qualifyinτ file≤ arσá stil∞á addeΣá  iµ ì
  298. possible« Iµ an∙ oµ theφ i≤ smal∞ enougΦ t∩ fi⌠ iε thσ  remaininτ  ì
  299. disδá space¼á i⌠ wil∞ bσ added«á Iµ an∙ sector≤ werσ  writteε  b∙  ì
  300. aεá  adΣá attempt¼á anΣ theε neve≥á utilized¼á the∙á  remaiεá  a≤  ì
  301. unuseΣ  sectors¼ anΣ thσ librar∙ shoulΣ bσ reorganized.
  302.  
  303.  
  304.  
  305.  
  306. 4.6  LU Command Line Forms
  307.  
  308.      Al∞á oµ thσ informatioε needeΣ fo≥ ß maintenancσ ruε ma∙á bσ ì
  309. specifieΣá oεá thσ commanΣ line«á Thσ operator≤ anΣ operand≤á arσ  ì
  310. entered¼á separateΣá b∙ spaces¼á afte≥ thσ L╒á command¼á anΣá thσ ì
  311. operation≤á wil∞ takσ placσ withou⌠ consolσ intervention¼á excep⌠  ì
  312. iεá  thσ  casσ  wherσ  thσ  director∙  sizσ fo≥ ß ne≈ librar∙á i≤ ì
  313. requested« Thσ synta° is:
  314.  
  315.  LU <opr> [<opd> [<opd> ...]] [<opr> [<opd> ...]...
  316.  
  317.  where square brackets indicate optional parameters, and:
  318.      <opr> is any operator.
  319.      <opd> is any operand.
  320.      ...   indicates  that the preceding parameter may occur
  321. several times.
  322.  
  323.      An∙á  name≤á  occurrinτ  prio≥  t∩ thσá firs⌠á operator¼á o≥ ì
  324. followinτá  aεá  operato≥  whicΦ doe≤ no⌠á expec⌠á operands¼á arσ ì
  325. ignored.
  326.  
  327.  
  328.  
  329.                      Advanced Features of LU
  330.  
  331.      Inpu⌠á  froφ  BD╙ ├ "pipesó o≥ ordinar∙ sequentia∞ file≤á i≤  ì
  332. als∩á  possible«á Thσ filenamσ i≤ specifieΣ oε thσá commanΣá linσ  ì
  333. precedeΣ  b∙ ß "<ó characte≥ anΣ n∩ interveninτ blank«  Example:
  334.  
  335.  LU <CONSOL.DUP
  336.      read≤ thσ content≤ oµ thσ filσ CONSOL.DU╨ anΣ use≤ eacΦ linσ  ì
  337. oµá  thσá  filσ  a≤  iµ  i⌠ haΣ beeε typeΣ a⌠ thσ norma∞á consolσ   ì
  338. b∙  thσ  interactivσ  method«á  Iε  thi≤  case¼  n∩ operator≤  o≥  ì
  339. operand≤áá  ma∙á  bσá present«áá Consolσá outpu⌠á ma∙á als∩áá  bσ  ì
  340. redirecteΣ  b∙  specifyinτ  aε  outpu⌠ filσ oε thσ commanΣá  linσ  ì
  341. afte≥á  thσ  characte≥  ">"«á  Thi≤  applie≤ t∩ paramete≥  driveε ì
  342. a≤ wel∞ a≤ interactivσ (includinτ "piped"⌐ input« Examples:
  343.  
  344.  LU -O SPECIAL -A ZOT.COM >LOGFILE.OUT
  345.      woulΣ  adΣ  thσ filσ zot.coφ t∩ thσ librar∙ special.lb≥á anΣ  ì
  346. writσá  thσá consolσ outpu⌠ t∩ ß filσá calleΣá logfile.out«á  thσ  ì
  347. locatioεá oµá thσá outpu⌠ namσ oε thσ linσ doe≤á no⌠á matte≥á anΣ  ì
  348. excep⌠á  fo≥ turninτ oε redirecteΣ output¼á i⌠ i≤ ignoreΣ b∙á al∞ ì
  349. operators.
  350.  
  351.  LU <BATCH.IN >B:RECORD.DOC
  352.      woulΣá  takσ interactivσ command≤ froφ thσ filσ batch.iε anΣ  ì
  353. writσ  consolσ  outpu⌠  t∩  ß filσ calleΣ record.doπ oε drivσ B.
  354.  
  355.      Normally¼  consolσ  filσ  outpu⌠  i≤ als∩ echoeΣ oε thσ rea∞  ì
  356. console¼á  excep⌠  wheε inpu⌠ i≤ als∩ redirected¼ a≤ iε thσ  las⌠ ì
  357. example« T∩ forcσ visiblσ consolσ outpu⌠ wheε botΦ aε  inpu⌠  anΣ  ì
  358. outpu⌠á  filσá  arσ  used¼á  thσ  ">óá characte≥á precedinτá  thσ  ì
  359. outpu⌠  filσ  namσ  ma∙  bσ changeΣ t∩ ß "+ó instead:è
  360. LU +RECORD.DOC <BATCH.IN
  361.      woulΣá  havσá  thσá  samσ  effec⌠ a≤ thσá previou≤á example¼ ì
  362. excep⌠á  tha⌠á  messagσ  outpu⌠  woulΣ  als∩ bσá visiblσá oεá thσ ì
  363. console.
  364.  
  365.  
  366.  
  367. 4.7  CAUTIONS
  368.  
  369.     Thσá  importancσá  oµá  keepinτ  backu≡  copie≤ oµá al∞á disδ ì
  370. files¼á  anΣ  especiall∙ libraries¼ canno⌠ bσ overemphasized«  B∙  ì
  371. usinτ  librar∙ files¼ thσ use≥ i≤ exposeΣ t∩ thσ dreadeΣ all-the-ì
  372. eggs-in-one-baske⌠  syndrome«á  Tha⌠ is¼ iµ somethinτ happen≤  t∩ ì
  373. thσ librar∙ file¼á particularl∙ thσ directory¼ i⌠ ma∙  bσ  beyonΣ  ì
  374. thσá  capabilitie≤  oµ eveε ß CP/═ wizarΣ t∩ restorσá thσá membe≥ ì
  375. files« Thσ situatioε i≤ madσ particularl∙ stick∙ b∙ thσ fac⌠ tha⌠ ì
  376. thσá thσ director∙ mus⌠ bσ updateΣ iε placσ a≤ member≤ arσá addeΣ ì
  377. o≥ deleted.
  378.  
  379.      Precaution≤  havσ beeε takeε t∩ minimizσ thi≤ risk«á Fo≥ onσ  ì
  380. thing¼á  thσá  director∙  i≤  reaΣ  int∩  memor∙ wheε thσ librar∙  ì
  381. i≤  firs⌠  opened¼  anΣ  i≤ onl∙ writteε bacδ iµ i⌠ differ≤  froφ  ì
  382. thσ  cop∙  oε  thσ  disδ  wheε thσ librar∙ i≤ closed«  Operation≤  ì
  383. whicΦ  changσ  thσ director∙ are║á adds¼ deletes¼  anΣ  thσ  sor⌠  ì
  384. operatioεá  whicΦ  i≤  donσ  beforσ reorganization«á   Iµá   onl∙   ì
  385. extract≤á   (o≥á   LRUNZá  prograφá executions⌐á  arσá done¼áá thσ ì
  386. director∙á i≤á neve≥ rewritten¼á anΣ thσ .LB╥ filσ ma∙á bσá writσ ì
  387. protecteΣ iµ desired.
  388.  
  389.      Fo≥á  anothe≥á  thing¼á  thσ  entirσ  empt∙á  director∙á  i≤ ì
  390. allocateΣá  anΣá  writteε  t∩ disδ wheε ß ne≈á librar∙á i≤á firs⌠ ì
  391. created«á Thi≤á insure≤ tha⌠ therσ wil∞ alway≤ bσ enougΦ spacσ oε ì
  392. disδá fo≥ thσ numbe≥ oµ director∙ entrie≤ requesteΣ a⌠á thσá timσ  ì
  393. oµá  creation«á  Thσá disδ spacσ ma∙ ruε ou⌠ whilσá addinτá file≤ ì
  394. later¼ bu⌠ therσ wil∞ alway≤ bσ enougΦ rooφ oε disδ t∩ updatσ thσ ì
  395. director∙ oncσ i⌠ i≤ successfull∙ created.
  396.  
  397.      Thσá  fac⌠á tha⌠á onl∙ thσ memor∙ cop∙ oµ thσá director∙á i≤ ì
  398. modifieΣ  unti∞ thσ filσ i≤ closeΣ ma∙ comσ iε ver∙ hand∙ iµá yo⌡  ì
  399. mistakenl∙á  deletσá  ß filσ anΣ recognizσ i⌠á righ⌠á away«á  Fo≥  ì
  400. example¼  supposσ  yo⌡  makσ  thσ mistakσ oµ typinτ *.¬ afte≥ thσ ì
  401. -D╛ prompt.
  402.  
  403.      Briefly¼á  you≥  hear⌠ sinks¼á a≤ thσ "Deleting:ó messagσ i≤  ì
  404. displayeΣá  anΣ  al∞  thσ membe≥ name≤ zi≡ int∩ oblivion«á  Don'⌠  ì
  405. panic«á Onl∙ thσ memor∙ cop∙ oµ thσ director∙ ha≤ beeεá modified«  ì
  406. Wheεá  thσá  -D╛ promp⌠ returns¼á d∩ no⌠á hi⌠á RETURN«á  Instead¼  ì
  407. abor⌠á thσ prograφ witΦ Control-C«á Thi≤ wil∞ cance∞ thσá prograφ ì
  408. withou⌠á updatinτá thσ directory¼á anΣ thσ origina∞ member≤á wil∞ ì
  409. stil∞ bσ present.
  410.  
  411.  
  412.      Herσ  i≤  anothe≥  caution«  Sincσ thσ entirσ director∙ (bu⌠ ì
  413. no⌠á membe≥á sectors⌐á mus⌠ fi⌠ iε memor∙ fo≥á ßá librar∙á t∩á bσ ì
  414. successfull∙ opened¼ i⌠ i≤ possiblσ tha⌠ ß hugσ director∙ createΣ  ì
  415. oεá ß you≥ systeφ wil∞ bσ to∩ largσ t∩ fi⌠ iε memor∙ iµ  reaΣá oε ì
  416. anothe≥á systeφá wil∞ les≤ memory«á Thi≤ shoulΣ no⌠ bσ ßá probleφ ì
  417. witΦ ß librar∙ oµ unde≥ ß hundreΣ entries.
  418.  
  419.      T∩  givσ  yo⌡ aε ideß oµ ho≈ mucΦ elbowrooφ yo⌡ havσ t∩ worδ ì
  420. with¼á L╒ display≤ thσ highes⌠ memor∙ locatioε useΣ eacΦ timσ  i⌠ ì
  421. terminates«á Thi≤á wil∞ var∙ dependinτ oε thσá larges⌠á director∙  ì
  422. useΣ  durinτ  operation«á  I⌠ doe≤ no⌠ includσ thσ stack¼á  whicΦ  ì
  423. grow≤á  dowε  froφ higΦ memory¼á anΣ i≤ alloweΣ abou⌠  ß thousanΣ ì
  424. byte≤ oµ spacσ fo≥ subroutinσ linkage≤ anΣ temporar∙ worδ areas.
  425.  
  426.  
  427.  
  428. 4.8  LRUNZ Command
  429.  
  430.      Thσá  LRUN┌á  commanΣ wa≤ createΣ fo≥ thosσ oµ u≤á wh∩á havσ ì
  431. lot≤á  oµá commanΣ file≤ wσ likσ t∩ kee≡ oε linσá al∞á thσá time«  ì
  432. Wha⌠ usuall∙ happen≤ i≤ tha⌠ somσ nicσ littlσ .CO═ file≤ arσ ver∙  ì
  433. smal∞á  programs¼á bu⌠ havinτ ß lo⌠ oµ theφ oε disδ eat≤ u≡  filσ  ì
  434. spacσá  a⌠  aε  alarminτ ratσ duσ t∩ thσ fixeΣ CP/═ blocδá  size«  ì
  435. Pu⌠á theφ al∞ int∩ ß librar∙ calleΣ COMMAND.LB╥ usinτá  LU«á  Yo⌡ ì
  436. caε theε ruε an∙ .CO═ filσ directl∙ froφ thσ librar∙ b∙ saying:
  437.  
  438.  LRUNZ <followed by normal command line just like always>
  439.  
  440.      LRUN┌ i≤ deriveΣ froφ Gary'≤ LRUN«  Stil∞ basicall∙ thσ samσ ì
  441. program¼á LRUN┌á add≤ ZCPR2-specifiπ features¼á iε particula≥ thσ ì
  442. abilit∙ t∩ searcΦ fo≥ thσ LB╥ filσ alonτ thσ Externa∞á Path«á  Iε ì
  443. thi≤á way¼á LRUN┌á caε bσ useΣ a≤ aε ExtendeΣ CommanΣá Processor¼ ì
  444. and¼á wheε invoked¼á wil∞ searcΦ fo≥ COMMAND.LB╥ (o≥ such⌐á alonτ ì
  445. thσá patΦ anΣ extrac⌠ thσ CO═ filσ froφ thσ firs⌠ COMMAND.LB╥á i⌠ ì
  446. finds.
  447.  
  448.      LRUNZ can be invoked by command line of the following forms:
  449.  
  450.           LRUNZ // or LRUNZ             <-- Print Help
  451.           LRUNZ -lbrfile cmdline        <-- Run command from lbr
  452.           LRUNZ cmdline                 <-- Run command from
  453.                                              default COMMAND.LBR
  454.  
  455.  
  456.      The full syntax of LRUNZ is:
  457.  
  458.  LRUNZ [-<lbrfile>] <commember> [<parameters>]
  459.  
  460.  
  461. Where:
  462.  
  463.      <lbrfile╛á  i≤á  thσ  librar∙  t∩ bσá searched«á Thσá squarσ ì
  464. bracket≤á  arounΣá  -<lbrfile╛  indicatσ i⌠ i≤á optional«á Thσá - ì
  465. characte≥ tell≤ LRUN┌ tha⌠ wha⌠ follow≤ i≤ ß librar∙ name«á I⌠ i≤ ì
  466. no⌠ aε actua∞ par⌠ oµ thσ name« Don'⌠ leavσ ß spacσ afte≥ thσ  -« ì
  467. Iµá thσá firs⌠ paramete≥ doesn'⌠ begiε witΦá - theεá thσá defaul⌠  ì
  468. librar∙  COMMAND.LB╥  i≤  used«á  Iµ ß drivσ speπ i≤ given¼  sucΦ ì
  469. a≤ B:¼á theε onl∙ tha⌠ drivσ i≤ searcheΣ fo≥ thσ library«  Iµ  n∩  ì
  470. drivσ  speπ i≤ given¼ thσ curren⌠ drivσ i≤ searcheΣ first¼ anΣ iµ ì
  471. n∩á librar∙ oµ tha⌠ namσ i≤ found¼á thσ A║á  drivσ  i≤á  searcheΣ  ì
  472. beforσá givinτ up«á Iµ ß name¼á bu⌠ n∩ typσ i≤ entered¼á .LB╥á i≤ ì
  473. assumed.
  474.  
  475.      <commember╛á  i≤á  thσ  namσ oµ thσ commanΣ t∩á bσá run«á N∩ ì
  476. drivσ  speπ i≤ useΣ here«á Thσ typσ default≤ t∩ .CO═ anΣ neeΣ no⌠ ì
  477. bσ entered.
  478.  
  479.      <parameters╛á  i≤á  ßá thσ norma∞ (possibl∙ empty⌐á lis⌠á oµ ì
  480. parameter≤á  whicΦá  thσ  .CO═  filσ  expect≤  t∩á  finΣá oεá thσ ì
  481. commanΣá  linσá  wheε  i⌠  i≤  run«á Thi≤ lis⌠ i≤ parseΣá t∩á thσ ì
  482. requireΣá  filσá  contro∞á  block≤ anΣ commanΣ linσá areßá beforσ ì
  483. executioεá  begins¼á  s∩á  thσ  prograφ  wil∞ no⌠ bσá awarσá tha⌠ ì
  484. anythinτá  cutσá  i≤  goinτ  on«á (Thank≤ t∩ Roε Roεá Fowle≥á fo≥ ì
  485. supplyinτ thσ codσ whicΦ make≤ thi≤ possible.)
  486.  
  487.  
  488.  
  489.                          LRUNZ EXAMPLES
  490.  
  491.  LRUNZ ED FOO.BAR
  492.      thσá  filσá  ED.CO═ i≤ searcheΣ fo≥ iεá COMMAND.LB╥á oεá thσ ì
  493. curren⌠  drive¼  o≥ thσ A║ drive« Iµ found¼ ED.CO═ i≤ loadeΣ froφ  ì
  494. thσ  library¼  anΣ  FOO.BA╥  i≤  passeΣ  t∩  i⌠  a≤  ß parameter.
  495.  
  496.  LRUNZ -C:SPECIAL LU -O COMMAND -A A:*.COM
  497.      thσá filσá LU.CO═á i≤ searcheΣ fo≥ iε SPECIAL.LB╥ oεá thσá ├ ì
  498. drive«á  Iµá  found¼á  LU.CO═  i≤  loaded¼á  anΣ thσ string≤á -O¼ ì
  499. COMMAND¼ -A¼ anΣ *.CO═ arσ passeΣ t∩ i⌠ a≤ parameters.
  500.  
  501.  LRUNZ - -ZIP
  502.      thσá filσá -ZIP.CO═ i≤ searcheΣ fo≥ iεá COMMAND.LB╥á oεá thσ ì
  503. curren⌠ drive¼á o≥ thσ A║ drive« Iµ found¼ -ZIP.CO═ i≤ loadeΣ anΣ  ì
  504. executeΣá  witΦ  ß  blanδ paramete≥ list«á Sincσ -ZIP.CO═á begin≤  ì
  505. witΦ ß -¼á thσ extrß - followeΣ b∙ ß spacσ wa≤ needeΣ t∩ ac⌠ a≤ ß ì
  506. place-holde≥ fo≥ thσ librar∙ name« Comparσ with:
  507.  
  508.  
  509.  LRUNZ -ZIP
  510.      thσá  librar∙á  -ZIP.LB╥  i≤ lookeΣ for¼á bu⌠á nothinτá elsσ ì
  511. happens¼ becausσ n∩ commanΣ wa≤ specified.
  512.  
  513.  LRUNZ
  514.      witΦá  n∩á  parameter≤  a⌠  all¼á  cause≤ ß screeεá oµá hel≡ ì
  515. informatioε t∩ bσ displayeΣ a≤ ß memor∙ refresher.
  516.  
  517.  
  518.  
  519. 4.9  LDIRZ Command
  520.  
  521.      LDIR┌ print≤ ß sorteΣ director∙ oµ thσ defaul⌠ librar∙ file«  ì
  522. Thσá printou⌠á give≤á thσ name≤ oµ thσ selecteΣ file≤á anΣá thei≥ ì
  523. sizes«á  I⌠ i≤ sorteΣ alphabeticall∙ b∙ filσ namσ anΣ type«á  Tw∩ ì
  524. option≤ arσ permitted¼á anΣ the∙ arσ thσ namσ oµ thσ librar∙ filσ ì
  525. (caε bσ specifieΣ b∙ lbrfile¼á iε whicΦ casσ lbrfile.LB╥ wil∞á bσ ì
  526. accessed¼á o≥á b∙á ß ful∞ filename.typ⌐ anΣ thσ filσá speπá (wilΣ ì
  527. card≤ arσ OK)«  Form≤ oµ thσ LDIR┌ commanΣ are:
  528.  
  529.           LDIRZ //            <-- Print Help
  530.           LDIRZ               <-- All Files
  531.           LDIRZ -lbrfile fn.t <-- Selected Files from Library
  532.           LDIRZ filename.typ  <-- Selected Files
  533.  
  534.  
  535.  
  536. 4.10  LRUNZ as an Extended Command Processor Under ZCPR2
  537.  
  538.      Iµá thσá reade≥ caε recall¼á commanΣ processinτ unde≥á ZCPR▓ ì
  539. follows these steps:
  540.  
  541.           1.  ZCPR2 receives a command
  542.  
  543.           2«á  ZCPR▓á parse≤ thσ command¼á determine≤ iµ i⌠ i≤á ß ì
  544. ZCPR2-resident command and executes it if it is
  545.  
  546.           3«á  Iµá not¼á ZCPR▓ searche≤ alonτ thσá command-searcΦ ì
  547. patΦá fo≥ ß CO═ filσ whicΦ ha≤ thσ samσ namσ a≤ thσá command╗á iµ ì
  548. found, it is loaded and executed
  549.  
  550.           4«á  Iµ thi≤ fails¼á ZCPR▓ ma∙ eithe≥ searcΦ alonτá thσ ì
  551. command-searcΦá patΦá o≥á g∩á directl∙ t∩ thσ roo⌠á oµá thσá patΦ ì
  552. lookinτá fo≥á aε ExtendeΣ CommanΣá Processor╗á iµá found¼á i⌠á i≤ ì
  553. loaded¼á passeΣá thσ commanΣ linσ a≤ thσ use≥ presenteΣá it¼á anΣ ì
  554. executed; if not, an error message is given
  555.  
  556.      LRUN┌á i≤á aεá excellen⌠ candidatσ fo≥ aεá ExtendeΣá CommanΣ ì
  557. Processor«á  Iµá thσ commanΣ t∩ bσ executeΣ i≤ TEST.COM¼á anΣá i⌠ ì
  558. take≤á tex⌠á a≤ aε argument¼á theε thσ commanΣá linσá t∩á executσ ì
  559. TEST.COM under ZCPR2 would be:
  560.  
  561.           TEST text
  562. èIfá TEST.CO═á i≤ iε COMMAND.LB╥ (o≥ such)¼á thσ commanΣá linσá t∩ ì
  563. execute the same file using LRUNZ would be:
  564.  
  565.           LRUNZ TEST text
  566.  
  567. Thi≤á latte≥ commanΣ i≤ simulateΣ b∙ ZCPR▓ wheε i⌠ fail≤ t∩á finΣ ì
  568. thσá CO═á file«á  Thσá namσá oµ thσá ExtendeΣá CommanΣá Processo≥ ì
  569. (recommended⌐á i≤ CMDRUN¼á and¼á b∙ renaminτ LRUN┌ t∩á CMDRU╬á o≥ ì
  570. makinτá ßá cop∙ oµ LRUN┌ a≤ CMDRUN¼á LRUN┌ become≤á thσá ExtendeΣ ì
  571. CommanΣ Processor.
  572.  
  573.      LDIR┌á fit≤ iε nicel∙ witΦ thi≤ scheme«á  COMMAND.LB╥ caε bσ ì
  574. kep⌠á a⌠ thσ ROO╘ alonτ witΦ LRUN┌ anΣá LDIRZ¼á anΣá LRUNZ¼á wheε ì
  575. executed¼áá wil∞áá g∩á t∩á thσá ROO╘á lookinτá fo≥á anΣáá findinτ ì
  576. COMMAND.LBR¼á a⌠á whicΦ poin⌠ i⌠ extract≤ thσ requireΣ CO═á file«  ì
  577. LDIRZ¼á wheεá executed¼á wil∞á searcΦá alonτá thσá patΦá fo≥á thσ ì
  578. COMMAND.LB╥ file¼ and¼ hopefully¼ finΣ i⌠ a⌠ thσ ROO╘ anΣ extrac⌠ ì
  579. the information (file names) requested by the user.
  580.  
  581.      BotΦá LRUN┌ anΣ LDIR┌ caε bσ installeΣ b∙ GENIN╙ anΣ bσá se⌠ ì
  582. t∩á looδá fo≥ thσ samσ COMMAND.LB╥ filσ a≤ wel∞ a≤ bσ tolΣá wherσ ì
  583. the path they are to follow is located.
  584.  
  585. .fo Section 5 - Menu                                   Page   #
  586.  
  587. 5.0  Menu
  588.  
  589. 5.1  Overview of MENU
  590.  
  591.      MEN╒á i≤ thσ ZCPR▓ Menu-OrienteΣ CommanΣá Preprocessor«á  I⌠ ì
  592. act≤á a≤á ß front-enΣ t∩ ZCPR2¼á providinτ ßá menu-orienteΣá use≥ ì
  593. interfacσá t∩á ZCPR2«á  It≤á functioε caε bσ representeΣá b∙á thσ ì
  594. following diagram:
  595.                     ------    ------    ------    ------
  596.                     |M   |    |Z   |    |B   |    |P   |
  597.      User           | E  |    | C  |    | D  |    | g  |
  598.      Menu      ---->|  N |--->|  P |--->|  O |--->|  m |
  599.      Command        |   U|    |   R|    |   S|    |   s|
  600.                     |    |    |   2|    |    |    |    |
  601.                     ------    ------    ------    ------
  602.  
  603.      Thσ "Use≥ Men⌡ Commandó i≤ ß singlσ characte≥ tha⌠ thσá use≥ ì
  604. strike≤á whicΦ instruct≤ MEN╒ t∩ perforφ ß function«á  Oncσá MEN╒ ì
  605. begin≤á processinτá thi≤ function¼á i⌠ build≤ ß commanΣ linσá fo≥ ì
  606. ZCPR2¼á optionall∙á askinτ thσ use≥ fo≥ furthe≥ inpu⌠ (sucΦ a≤á ß ì
  607. filσá name)¼á anΣ theε passe≤ thσ commanΣ linσ t∩ ZCPR▓á vißá thσ ì
  608. Multiplσ CommanΣ Linσ Buffer«á  ZCPR▓ theε run≤ thσ commanΣ line¼ ì
  609. and, when completed, returns to MENU.
  610.  
  611.      Hence¼á iεá ß nutshell¼á MEN╒ build≤ commanΣ line≤ baseΣá oε ì
  612. simplσá inpu⌠ froφ thσ user«á  Thσ use≥ neeΣ neve≥ kno≈ wha⌠á thσ ì
  613. actua∞ commanΣ linσ is«  Thσ commanΣ linσ itselµ i≤ alway≤ oµ thσ ì
  614. form:
  615.  
  616.           <command> <optional user input>;MENU <menu options>
  617.  
  618.      A≤ aε example¼ ß commanΣ buil⌠ b∙ MEN╒ t∩ ruε XDI╥ witΦ use≥ ì
  619. inpu⌠á fo≥á ßá filσá namσá specification¼á coulΣá looδá likσá thσ ì
  620. following:
  621.  
  622.           XDIR <user input>;MENU
  623.  
  624.  
  625.      Wheε MEN╒ i≤ executed¼ i⌠ look≤ fo≥ thσ filσ MENU.CP╥ iε thσ ì
  626. curren⌠á directory«á  Iµá i⌠ find≤ one¼á i⌠ load≤ i⌠á anΣá begin≤ ì
  627. processing.  If it does not find one, it simply exits.
  628.  
  629.      Thσá MENU.CP╥á filσá caεá contaiεá u≡ t∩á 25╡á menu≤á t∩á bσ ì
  630. processeΣá b∙ MENU«á  Thσ defaul⌠ conditioε fo≥ MEN╒ i≤ t∩á begiε ì
  631. processinτá a⌠á thσá firs⌠ men⌡á iεá MENU.CPR¼á bu⌠á option≤á arσ ì
  632. availablσá t∩á selec⌠á anothe≥ menu«á  Iεá particular¼á thσá Men⌡ ì
  633. Option≤ are:
  634.  
  635.           W    - Wait for User to Strike a Key before beginning
  636.           nn   - Begin Processing at Menu nn
  637.  
  638.  
  639.      The full MENU command line is structured as follows:
  640.  
  641.           MENU [W][nn]
  642.  
  643. Option≤á arσá encloseΣá iε [▌ bu⌠ mus⌠ bσá placeΣá iεá thσá orde≥ ì
  644. specified, i.e., W, if present, must be first.
  645.  
  646.      Iµ thσ Wai⌠ Optioε i≤ used¼á i⌠ i≤ alway≤ first«  Thσ numbe≥ ì
  647. follow≤ Wai⌠ immediately¼á anΣ therσ arσ n∩ space≤ betweeεá them║          
  648.  
  649.           MEN╒ ╫              <-- Wai⌠ anΣ Star⌠ a⌠ Firs⌠ Menu
  650.           MENU W4             <-- Wait and Start at 4th Menu
  651.           MENU 4              <-- Start at 4th Menu
  652.  
  653.      Thσ use≥ anΣ men⌡ programme≥ neeΣ no⌠ bσ concerneΣ witΦ thi≤ ì
  654. mos⌠ oµ thσ time«  Menu≤ shoulΣ bσ se⌠ u≡ t∩ star⌠ witΦ thσ firs⌠ ì
  655. men⌡ b∙ default¼á s∩ tha⌠ onl∙ thσ commanΣ "MENUó i≤ necessar∙ t∩ ì
  656. invokσá thσ desireΣ menu«á  Thσ option≤ describeΣ abovσ arσá useΣ ì
  657. primaril∙á b∙ MEN╒ itselµ wheε i⌠ build≤ thσ commanΣ linσ s∩ tha⌠ ì
  658. thσá use≥ wil∞ returε witΦ aε optiona∞ wai⌠ anΣ t∩ thσ men⌡á tha⌠ ì
  659. hσá jus⌠á camσ from«á  Hence¼á iµ thσ use≥ wa≤ iε thσá 4tΦá menu¼ ì
  660. selecteΣá thσ ╪ commanΣ (fo≥ XDIR)¼á anΣ thσ Men⌡ Programme≥á haΣ ì
  661. se⌠ u≡ thσ XDI╥ commanΣ t∩ wai⌠ oε returε s∩ thσ use≥ coulΣá takσ ì
  662. hi≤á timσá anΣá looδ a⌠ thσ director∙ display¼á theεá MEN╒á woulΣ ì
  663. appenΣá thσ commanΣ "MEN╒ W4ó t∩ thσ enΣ oµ thσ commanΣá linσá i⌠ ì
  664. builds.
  665.  
  666.      MEN╒á itselµá i≤ ß CO═ file¼á likσ an∙ othe≥á prograφá unde≥ ì
  667. ZCPR2«  Unlikσ mos⌠ othe≥ programs¼ however¼ i⌠ generate≤ commanΣ ì
  668. line≤á t∩ bσ executeΣ b∙ ZCPR▓ anΣ append≤ ß MEN╒ commanΣ t∩á thσ ì
  669. enΣ oµ eacΦ oµ thσ commanΣ line≤ i⌠ generate≤ s∩ tha⌠ ZCPR▓á wil∞ ì
  670. return to MENU when finished.  In this way a loop is set up:
  671.  
  672.                     -->--+->- MENU ->- ZCPR2 ->-+
  673.                          ^                      v
  674.                          |                      |
  675.                          +-<- Command Line -<---+
  676.  
  677.      Onl∙á MEN╒á itselµ caε terminatσ thi≤á loop«á  Iµá thσá MEN╒ ì
  678. programme≥á wishes¼á hσ caε se⌠ u≡ thσ MENU.CP╥ filσ s∩ tha⌠ thi≤ ì
  679. loo≡á wil∞ neve≥ bσ exited¼á o≥ hσ caε se⌠ u≡ thσ filσá t∩á allo≈ ì
  680. anyonσá t∩ exi⌠ a⌠ an∙ timσ o≥ jus⌠ ß specia∞ persoε wh∩ know≤á ß ì
  681. passworΣá t∩á exi⌠á wheεá hσá wishe≤á to«á  Therσá i≤á ßá lo⌠á oµ ì
  682. flexibilit∙á designeΣ int∩ thσ system¼á anΣ i⌠ wil∞ bσá discusseΣ ì
  683. later in the section on programming MENU.CPR files.
  684.  
  685.      Iεá ßá nutshell¼á then¼á ßá MENU.CP╥ filσ caε bσ se⌠á u≡á t∩ ì
  686. executσ an∙ ZCPR▓ commanΣ o≥ sequencσ oµ commands«á  Thσ MENU.CP╥ ì
  687. filσ caε als∩ bσ se⌠ u≡ t∩ no⌠ allo≈ thσ use≥ t∩ leavσá MENU¼á t∩ ì
  688. allo≈á hiφ t∩ leavσ MEN╒ a⌠ will¼á o≥ t∩ allo≈ hiφ t∩ leavσá MEN╒ ì
  689. onl∙ iµ hσ know≤ ß password.
  690.  
  691.  
  692.      Thi≤á HEL╨ filσ i≤ divideΣ int∩ tw∩ basiπ parts«á  Thσá inf∩ ì
  693. section≤á oεá "Usinτá MENUó anΣ "Summar∙ oµá MEN╒á Commandsóá arσ ì
  694. designeΣá t∩á bσá reaΣ b∙ ß persoε wantinτ t∩ usσá MEN╒á bu⌠á no⌠ ì
  695. wantinτá t∩á learε ho≈ MEN╒ work≤ o≥ ho≈ t∩á prograφá it«á  Thesσ ì
  696. section≤á describσ ho≈ t∩ movσ froφ onσ men⌡ t∩ another¼á ho≈á t∩ ì
  697. issuσá MEN╒á commands¼á anΣ ho≈ t∩ leavσ MEN╒ iµá thσá optioεá i≤ ì
  698. presenteΣ t∩ him.
  699.  
  700.      Thσáá othe≥áá section≤á oµá thi≤á HEL╨á filσá describσáá thσ ì
  701. programminτá aspect≤á oµ MEN╒ anΣ arσ intendeΣ t∩ bσ useΣá a≤á aε ì
  702. onlinσá referencσá fo≥ thσ MEN╒á programmer«á  Thσá MEN╒á commanΣ ì
  703. programminτá summar∙á i≤ especiall∙ usefu∞ iε tha⌠ i⌠ provide≤á ß ì
  704. summar∙á oµ thσ command≤ whicΦ thσ MEN╒ programme≥ ma∙á issuσá t∩ ì
  705. MEN╒ withiε ß MENU.CPR.
  706.  
  707.                            Using MENU
  708.  
  709.      When you first invoke MENU, one of three things will happen:
  710.  
  711.           1⌐á ┴á MEN╒á wil∞ appea≥ anΣ bσ pageΣ u≡á t∩á fil∞á thσ 
  712.                screen╗ ß commanΣ promp⌠ wil∞ appea≥ a⌠ thσ bottoφ 
  713.                oµ thσ menu
  714.  
  715.           2⌐á ┴ MEN╒ wil∞ appea≥ anΣ no⌠ bσ pageΣ u≡ t∩ fil∞á thσ 
  716.                screen╗ ß commanΣ promp⌠ wil∞ appea≥ a⌠ thσ bottoφ 
  717.                oµ thσ menu
  718.  
  719.           3⌐á ┴ commanΣ promp⌠ wil∞ appea≥ witΦ n∩ men⌡ (thi≤á i≤ 
  720.                called the Expert Mode)
  721.  
  722.      Iµá a⌠ an∙ timσ you≥ Men⌡ Displa∙ i≤ garbleΣ o≥ yo⌡ wan⌠á t∩ ì
  723. seσ thσ curren⌠ Men⌡ (a≤ sometime≤ happen≤ wheε yo⌡ arσ iε Exper⌠ ì
  724. Mode)¼ jus⌠ strikσ thσ RETUR╬ key«  Thσ RETUR╬ ke∙ refreshe≤ you≥ ì
  725. menu at all times.
  726.  
  727.      Thσá promp⌠ whicΦ appear≤ a⌠ thσ bottoφ oµ you≥ Men⌡ displa∙ ì
  728. has the following general form:
  729.  
  730. Command (<CR>=Menu,^C=ZCPR2,*=1st Menu,<=Prev Menu,>=Next Menu) -
  731.  
  732.      A≤ ╔ mentioneΣ iε thσ introduction¼á therσ caε bσ u≡ t∩á 25╡ ì
  733. menu≤á iε onσ MENU.CP╥ file«á  Thσ MEN╒ commanΣ promp⌠ varie≤á t∩ ì
  734. reflec⌠ this«  Fo≥ instance¼ iµ onl∙ onσ Men⌡ wa≤ presen⌠ anΣ yo⌡ ì
  735. werσ no⌠ giveε thσ optioε t∩ abor⌠ ou⌠ oµ MEN╒ t∩ ZCPR2¼ theε thσ ì
  736. Men⌡ CommanΣ promp⌠ woulΣ takσ it≤ simples⌠ form¼ lookinτ like:
  737.  
  738. Command (<CR>=Menu) -
  739.  
  740.      Yo⌡á caεá strikσ thσ RETUR╬ ke∙ a⌠ thi≤ timσ t∩ refresΦá thσ ì
  741. Men⌡á Displa∙ o≥ yo⌡ caε strikσ thσ characte≥ oµ ßá Men⌡á Option«  ì
  742. Thesσá arσ you≥ onl∙ choices¼á anΣ strikinτ ß characte≥ whicΦá i≤ ì
  743. no⌠á thσá RETUR╬á ke∙á o≥ ß men⌡ optioε result≤á iεá thσá messagσ ì
  744. "Invalid Command" being displayed.
  745.  
  746.      Iµá thσá MENU.CP╥ programme≥ gavσ yo⌡ thσ optioε t∩ exi⌠á t∩ ì
  747. ZCPR▓ anΣ therσ i≤ onl∙ onσ Men⌡ iε thσ MENU.CP╥ file¼á theε you≥ ì
  748. commanΣ linσ wil∞ looδ likσ this:
  749.  
  750. Command (<CR>=Menu,^C=ZCPR2) -
  751.  
  752.      Yo⌡á no≈ havσ thσ additiona∞ optioε oµ abortinτ t∩ ZCPR▓á b∙ ì
  753. strikinτ Control-├ (holΣ dowε oε thσ Control¼á o≥ CTRL¼á ke∙á anΣ ì
  754. strikσá thσá lette≥ C)«á  Thi≤ wil∞ returε yo⌡ t∩ ZCPR▓ anΣá exi⌠ ì
  755. MENU¼á leavinτ yo⌡ witΦ thσ abilit∙ t∩ issuσ an∙ availablσá ZCPR▓ ì
  756. command.
  757.  
  758.      Onσ brieµ notσ oε optioε letter≤ beforσ goinτ on«  Iµ onσ oµ ì
  759. you≥ option≤ i≤ ß lette≥ iε thσ rangσ froφ ┴ t∩ Z¼á theε casσá i≤ ì
  760. no⌠á significant¼á anΣá yo⌡á caε invokσ thσá optioεá A¼á say¼á b∙ ì
  761. striking an upper- or lower-case A.
  762.  
  763.      Iµá therσ i≤ morσ thaε onσ men⌡ iε you≥ MENU.CP╥á file¼á thσ ì
  764. commanΣá linσ option≤ becomσ slightl∙ morσ complex¼á bu⌠ the∙ arσ ì
  765. stil∞ quitσ eas∙ t∩ follow.
  766.  
  767.      Iε thσ followinτ examples¼á ╔ aφ assuminτ tha⌠ thσ optioε t∩ ì
  768. exi⌠ t∩ ZCPR▓ i≤ off¼ s∩ thσ "^C=ZCPR2ó optioε wil∞ NO╘ appear.
  769.  
  770.      Iµ yo⌡ arσ a⌠ thσ firs⌠ men⌡ iε thσ file¼á you≥ commanΣ linσ ì
  771. wil∞ looδ likσ thσ following:
  772.  
  773. Command (<CR>=Menu,>=Next Menu) -
  774.  
  775.      T∩ advancσ t∩ thσ nex⌠ menu¼á yo⌡ caε strikσ thσ ">ó o≥á thσ ì
  776. ".ó character«á  Oε mos⌠ keyboards¼á ">ó i≤ thσ shif⌠ oµ thσ "."¼ ì
  777. s∩á MEN╒ allow≤ yo⌡ t∩ movσ easil∙ withou⌠ havinτ t∩ worr∙á abou⌠ ì
  778. shifting the keyboard all the time.
  779.  
  780.      Iµá yo⌡ arσ a⌠ thσ las⌠ men⌡ iε thσ file¼á you≥ commanΣ linσ ì
  781. will look like the following:
  782.  
  783. Command (<CR>=Menu,*=1st Menu,<=Prev Menu) -
  784.  
  785.      Thi≤ allow≤ yo⌡ t∩ strikσ thσ "*ó characte≥ t∩ jum≡ bacδá t∩ ì
  786. thσá firs⌠á men⌡ iε you≥ MENU.CP╥ file«á  Iµ "<ó o≥ ",ó i≤á stucδ ì
  787. ("<ó i≤ usuall∙ thσ shif⌠ oµ thσ ",")¼á theε yo⌡ wil∞ bacδ u≡ onσ ì
  788. menu to the previous menu in the file.
  789.  
  790.      Iµá yo⌡á arσ somewherσ iε thσ middlσ oµ thσá MENU.CP╥á file¼ ì
  791. you≥ commanΣ linσ will¼ a≤ onσ woulΣ expect¼ looδ likσ this:
  792.  
  793. Command (<CR>=Menu,*=1st Menu,<=Prev Menu,>=Next Menu) -
  794.  
  795.      Again¼á "*óá wil∞ g∩ directl∙ t∩ thσ firs⌠ menu¼á "<ó o≥ ",ó ì
  796. wil∞ g∩ t∩ thσ previou≤ menu¼á anΣ ">ó o≥ ".ó wil∞ g∩ t∩ thσ nex⌠ ì
  797. menu.  Striking the RETURN key will refresh the menu display.
  798.  
  799.  
  800.      Onσá las⌠á optioε yo⌡ havσ unde≥ MEN╒ involve≤ acces≤á t∩á ß ì
  801. Systeφ Menu«á  Thi≤ men⌡ i≤ specia∞ iε tha⌠ therσ i≤ onl∙ onσ wa∙ ì
  802. to get to it -- via the "$" command.
  803.  
  804.      Thσ Systeφ Men⌡ i≤ intendeΣ t∩ givσ privelegeΣ user≤á acces≤ ì
  805. t∩á specia∞ command≤ tha⌠ thσ res⌠ oµ thσ user≤ can'⌠ run«á  Iµ ß ì
  806. Systeφá Men⌡ i≤ available¼á MEN╒ wil∞ responΣ t∩ thσ "$óá commanΣ ì
  807. with the prompt:
  808.  
  809.           Pass?
  810.  
  811.      Yo⌡ arσ giveε onσ chancσ t∩ typσ iε thσ correc⌠ passworΣá t∩ ì
  812. ente≥ thσ Systeφ Menu«á  Iµ yo⌡ arσ wrong¼ thσ messagσ "Pas≤ Erró ì
  813. wil∞á appea≥ anΣ yo⌡ wil∞ bσ returneΣ t∩ thσ men⌡ yo⌡ camσá from«  ì
  814. Iµ yo⌡ arσ correct¼á yo⌡ wil∞ ente≥ thσ Systeφ Menu«  Physically¼ ì
  815. thσá Systeφá Men⌡ i≤ alway≤ thσ las⌠ men⌡ iε thσá file¼á anΣá it≤ ì
  816. command prompt is:
  817.  
  818. Command (<CR>=Menu,*=1st Menu,<=Prev Menu) -
  819.  
  820.      Iµ yo⌡ arσ a⌠ thσ men⌡ jus⌠ beforσ thσ Systeφ Menu¼á thσ ">ó ì
  821. wil∞á no⌠á functioεá t∩ allo≈ yo⌡ t∩ ente≥á it¼á eveεá th∩á therσ ì
  822. technicall∙ i≤ ß "Nex⌠ Menu"«  Thσ ">ó optioε iε thσ commanΣ linσ ì
  823. wil∞á no⌠ appear«á  A≤ ╔ stateΣ before¼á thσ onl∙ wa∙ t∩ ente≥á ß ì
  824. System Menu is thru the "$" command.
  825.  
  826.      So¼ iε summary¼ movinτ abou⌠ withiε MEN╒ i≤ quitσ easy«  "*ó ì
  827. move≤ yo⌡ t∩ thσ firs⌠ menu¼ "<ó t∩ thσ previou≤ menu¼ ">ó t∩ thσ ì
  828. nex⌠ menu¼ anΣ "$ó t∩ thσ Systeφ Menu.
  829.  
  830.  
  831.  
  832. 5.2  Summary of MENU Commands
  833.  
  834.      The full Menu Command Line looks like the following:
  835.  
  836. Command (<CR>=Menu,^C=ZCPR2,*=1st Menu,<=Prev Menu,>=Last Menu) -
  837.  
  838.      The Menu Commands are:
  839.  
  840.           Command   Function
  841.  
  842.           <CR>      Refresh Menu Display (RETURN Key)
  843.           ^C        Exit to ZCPR2 (Control-C)
  844.           *         Jump to the First Menu
  845.           < or ,    Jump to the Previous Menu
  846.           > or .    Jump to the Next Menu
  847.           $         Jump to the System Menu (Password Required)
  848.           other     Menu Option or Invalid Command; letters are
  849.                          automatically capitalized, so a=A
  850.  
  851.  
  852. 5.3  Programming MENU.CPR Files
  853.  
  854.      Thσ MENU.CP╥ filσ i≤ simpl∙ ß tex⌠ filσ whicΦ ma∙ bσ createΣ ì
  855. witΦá an∙ conventiona∞ CP/═á editor¼á includinτá WordStar«á  MEN╒ ì
  856. ignore≤á thσ Mos⌠ Significan⌠ Bi⌠ oµ al∞ bytes¼á s∩ editor≤á likσ ì
  857. WordStar¼ whicΦ occasionall∙ se⌠ thi≤ bit¼ caε bσ used.
  858.  
  859.      Al∞á MENU.CP╥á file≤ havσ thσ samσ genera∞á structure«á  Thσ ì
  860. firs⌠á linσ i≤ eithe≥ ß globa∞ optioε linσ o≥ thσ beginninτ oµá ß ì
  861. men⌡á display«á  Iµá ß globa∞ optioε line¼á i⌠á begin≤á witΦá thσ ì
  862. characte≥á "-"¼á anΣá thi≤ characte≥ i≤ immediatel∙á followeΣá b∙ ì
  863. globa∞á optioε characters«á  Thσ globa∞ optioε line¼á theεá look≤ ì
  864. likσ this:
  865.  
  866. -options
  867.  
  868.  
  869.      Afte≥ thσ globa∞ optioε line¼á iµ any¼ come≤ thσ firs⌠ menu«  ì
  870. Each menu is structured as follows:
  871.  
  872.                          #options
  873.                               <Text of Menu Display>
  874.                          #
  875.                          menu commands
  876.  
  877.      The following are two sample Menu File structures:
  878.  
  879.                -options                 #options
  880.                #options                      <Text>
  881.                     <Text>              #
  882.                #                        commands
  883.                commands                 ##
  884.                #options
  885.                     <Text>
  886.                #
  887.                commands
  888.                ##
  889.  
  890.  
  891.      Therσ arσ onl∙ fivσ optioε characters«á  Iε usinτ them¼ casσ ì
  892. is not significant.  These option characters are:
  893.  
  894.           Option    Function
  895.              C      Display Command Line to User
  896.              D      Display Menu to User
  897.              P      Page Out Menu Display
  898.              X      Allow User to Exit to CP/M
  899.  
  900.      Thσá ├ optioε display≤ thσ commanΣ linσ buil⌠ b∙ MEN╒ t∩ thσ ì
  901. user«á  Thi≤ optioε i≤ primaril∙ intendeΣ fo≥ debugginτ purposes¼ ì
  902. t∩ allo≈ thσ programme≥ t∩ seσ wha⌠ command≤ arσ beinτ built«  I⌠ ì
  903. i≤ instructivσ t∩ thσ user¼ however¼ anΣ ma∙ bσ employeΣ fo≥ tha⌠ ì
  904. purpose as well.
  905. è     Thσ ─ optioε display≤ thσ men⌡ t∩ thσ user«á  Iµ thσ displa∙ ì
  906. functioεá i≤á no⌠á turneΣ on¼á wσ arσ iεá Exper⌠á Mode¼á anΣá thσ ì
  907. command≤á arσá availablσ withou⌠á ßá men⌡á display«á  RETURN¼á oµ ì
  908. course, can be used to invoke the display if necessary.
  909.  
  910.      Thσá ╨á optioε page≤ ou⌠ thσ men⌡ displa∙ iµ i⌠ i≤á invoked«  ì
  911. Iµá thσ pagσ functioε i≤ engaged¼á theε thσ MEN╒ prograφá output≤ ì
  912. <CRLF╛á combination≤á unti∞á 2┤ line≤ havσ beeεá printeΣá oεá thσ ì
  913. screen«  Thi≤ i≤ somewha⌠ morσ attractivσ anΣ eliminate≤ olΣ tex⌠ ì
  914. froφ previou≤ commands¼á allowinτ thσ use≥ t∩ concentratσ oεá hi≤ ì
  915. curren⌠ se⌠ oµ options«á  However¼á i⌠ i≤ annoyinτ iµ thσ use≥ i≤ ì
  916. accessinτ thσ system¼á say¼ a⌠ 30░ bauΣ viß ß dia∞ up«  I⌠ i≤ fo≥ ì
  917. thi≤á reasoεá tha⌠ ╔ gavσ thσ MEN╒ programme≥ thσ optioε t∩á turε ì
  918. this option off.
  919.  
  920.      Finally¼ thσ ╪ optioε enable≤ thσ facilit∙ whicΦ permit≤ thσ ì
  921. user to type ^C and return to ZCPR2.
  922.  
  923.      Wheε MEN╒ firs⌠ come≤ up¼ al∞ option≤ arσ turneΣ off:
  924.  
  925.           C is OFF -- no command display to user
  926.           D is OFF -- no menu display to user
  927.           P is OFF -- no menu display paging
  928.           X is OFF -- user cannot exit to CP/M
  929.  
  930.      Thσ globa∞ option≤ line¼á which¼á iµ present¼á i≤ thσá firs⌠ ì
  931. linσá oµ thσ file¼á turn≤ oε thesσ option≤ fo≥ thσ coursσ oµá thσ ì
  932. session in general.  That is, if a global options line like
  933.  
  934.           -DPx
  935.  
  936. i≤ useΣ (notσ casσ i≤ insignificant)¼á theε men⌡ display¼ paging¼ ì
  937. anΣá exi⌠ t∩ ZCPR▓ wil∞ bσ availablσ fo≥ al∞ menus«á  Thσá globa∞ ì
  938. options line affects all menus.
  939.  
  940.      Thσá globa∞á option≤á line¼á then¼á turn≤ oεá thσá indicateΣ ì
  941. option≤ fo≥ al∞ menu≤ iε general«á  However¼ thσ samσ option≤ ma∙ ì
  942. bσ presenteΣ oε thσ firs⌠ linσ oµ eacΦ men⌡ immediatel∙ afte≥ thσ ì
  943. "#óá characte≥ t∩ temporaril∙ complemen⌠ thσ curren⌠á optioεá fo≥ ì
  944. onl∙ tha⌠ menu.
  945.  
  946.      Iµ aε optioε i≤ NO╘ includeΣ iε thσ globa∞ option≤ line¼á i⌠ ì
  947. i≤ turneΣ OF╞ fo≥ al∞ menu≤ iε general«  Thσ default≤ selecteΣ b∙ ì
  948. usinτá thσ globa∞ option≤ linσ arσ overriddeε oε ß per-men⌡ basi≤ ì
  949. b∙ thσ loca∞ men⌡ options.
  950.  
  951.  
  952.      Example:
  953.  
  954.           -dpx
  955.           #x
  956.                This menu is displayed and paged, but no
  957.                exit to ZCPR2 is permitted
  958.           #
  959.           commands
  960.           #dx
  961.                This menu is not displayed and the user may not
  962.                exit to ZCPR2.
  963.           #
  964.           commands
  965.           #c
  966.                Thi≤ men⌡ i≤ displayed¼ paged¼ anΣ thσ use≥ ma∙
  967.                exit to ZCPR2.  Additionally, the MENU-generated
  968.                commands are printed to the user.
  969.           #
  970.           commands
  971.           ##
  972.  
  973.  
  974.      So¼á an∙á optioε tha⌠ ma∙ appea≥ oε thσ globa∞ option≤á linσ ì
  975. ma∙ als∩ appea≥ oε thσ option≤ linσ fo≥ ß particula≥á menu«á  Thσ ì
  976. reverse¼á however¼á i≤ no⌠ true«á  Thσ men⌡ option≤ linσ support≤ ì
  977. onσá additiona∞á option¼á viz«á "$"«á  Thi≤ optioεá declare≤á thσ ì
  978. following menu to be a System Menu.
  979.  
  980.      Iεá programminτ ß MENU.CP╥ file¼á yo⌡ MUS╘ placσ thσá Systeφ ì
  981. Men⌡ a≤ thσ las⌠ men⌡ iε thσ file«  T∩ d∩ otherwisσ i≤ flaggeΣ a≤ ì
  982. aε error«  Thσ followinτ illustrate≤ ß MENU.CP╥ filσ containinτ ß ì
  983. Systeφ Menu:
  984.  
  985.           -dp
  986.           #
  987.                Thi≤ men⌡ i≤ displayeΣ anΣ paged¼ bu⌠ thσ use≥ ma∙
  988.                not exit to ZCPR2.
  989.           #
  990.           commands
  991.           #$x
  992.                This is a System Menu, and it is displayed, paged,
  993.                and the user may exit to ZCPR2.
  994.           ##
  995.  
  996.  
  997.      Iµá ßá men⌡á i≤á ßá Systeφá Menu¼á thσá "$óá characte≥á mus⌠ ì
  998. immediatel∙ follo≈ thσ "#"«  Iε thσ casσ oµ thσ lette≥ option≤ iε ì
  999. botΦá thσá globa∞á anΣ loca∞ cases¼á thσ orde≥ i≤á no⌠á importan⌠ ì
  1000. ("dpxó mean≤ thσ samσ a≤ "xpd").
  1001.  
  1002.      GENIN╙ i≤ useΣ t∩ definσ thσ passworΣ useΣ t∩ ente≥ ß Systeφ ì
  1003. Menu«á  Thi≤ i≤ thσ PrivilegeΣ Use≥ PassworΣ iε thσ GENIN╙á Menu«  ì
  1004. Notσ tha⌠ thi≤ passworΣ caε bσ upper- anΣ lower-case¼ anΣ casσ i≤ ì
  1005. significant.è
  1006.      Thi≤á informatioε sectioε ha≤ describeΣ thσ structurσ oµ thσ ì
  1007. MENU.CP╥ filσ anΣ ho≈ t∩ se⌠ u≡ a≤ man∙ menu≤ a≤á desired«á  Wha⌠ ì
  1008. ha≤á no⌠á beeε discusseΣ i≤ thσ naturσ oµ thσ command≤á followinτ ì
  1009. the menu displays.  This is discussed in the next section.
  1010.  
  1011.  
  1012. 5.4  MENU.CPR Commands
  1013.  
  1014.      Thσá command≤á iε thσ MENU.CP╥ filσá follo≈á arσá relativel∙ ì
  1015. simplσ structure«  EacΦ commanΣ occupie≤ onl∙ onσ line¼ anΣ blanδ ì
  1016. line≤á iε thσ commanΣ grou≡ arσ no⌠ permitted«á  Thσ commanΣ linσ ì
  1017. is structured as follows:
  1018.  
  1019.           l[o][command]["Prompt]
  1020.  
  1021. where:
  1022.           l is the single character used to invoke the command
  1023.                note that it may be upper- or lower-case
  1024.           o is an opening option, which is one of:
  1025.                :nn -- go to Menu nn
  1026.                !   -- have MENU wait when the command is finished
  1027.           command is an optional ZCPR2 command; note that if
  1028.                the option is ":nn", then a command here makes no
  1029.                sense
  1030.           "Prompt is a command to MENU to print a prompt and wait
  1031.                for user input to fill out the command line
  1032.  
  1033.  
  1034.      Thσá ":nnó optioε tell≤ MEN╒ t∩ movσ t∩ ß differen⌠ men⌡á iε ì
  1035. the MENU.CPR file.  The first menu is number 1.  Example:
  1036.  
  1037.           -dpx
  1038.           #
  1039.                1st Menu:  A - Goto Menu 2     3 - Goto Menu 3
  1040.           #
  1041.           a:2
  1042.           3:3
  1043.           #
  1044.                     2nd Menu Command: 3 - Goto Menu 3
  1045.           #
  1046.           3:3
  1047.           #x
  1048.                     3rd Menu Command: 2 - Goto Menu 2
  1049.           #
  1050.           2:2
  1051.           ##
  1052.  
  1053.  
  1054.      Iε thσ firs⌠ menu¼ thσ use≥ ma∙ strike:
  1055.  
  1056.           "aó o≥ "Aó t∩ got∩ Men⌡ 2
  1057.           "3ó t∩ got∩ Men⌡ 3
  1058.           ">óá o≥á ".ó t∩ got∩ thσ nex⌠ men⌡ (Men⌡ 2)
  1059.           ^├ t∩ got∩ ZCPR2
  1060.  
  1061.      In the second menu, the user may strike:
  1062.  
  1063.           "3" to goto Menu 3
  1064.           "*" or "<" or "," to goto Menu 1
  1065.           ">" or "." to goto Menu 3
  1066.           ^C to goto ZCPR2
  1067.  
  1068.      In the third menu, the user may strike:
  1069.  
  1070.           "2" or "<" or "," to goto Menu 2
  1071.           "*" to goto Menu 1
  1072.  
  1073.  
  1074.      Thσá "!óá optioεá place≤á ß "Wó iεá thσá MEN╒á commanΣá linσ ì
  1075. (remembe≥á froφ before?)«á  Thi≤ cause≤ MEN╒ t∩ pausσ anΣ asδ thσ ì
  1076. use≥ t∩ "Strikσ An∙ Keyó beforσ continuing«á  Iε thi≤ way¼á iµá ß ì
  1077. commanΣá generate≤ informatioε t∩ bσ reaΣ b∙ thσ use≥ beforσ MEN╒ ì
  1078. clear≤á hi≤ screen¼á thσ "!ó optioε ma∙ bσ useΣ t∩ givσ thσá use≥ ì
  1079. al∞ thσ timσ hσ want≤ t∩ reaΣ thi≤ display.
  1080.  
  1081.      Thσá "Promp⌠á suffi°á cause≤ MEN╒ t∩ accep⌠ ßá tai∞á t∩á thσ ì
  1082. commanΣ linσ i⌠ i≤ buildinτ s∩ tha⌠ thσ use≥ caε inpu⌠á argument≤ ì
  1083. for the command.  The Prompt is simply text to prompt the user.
  1084.  
  1085.      Examples:
  1086.  
  1087.           -dxp
  1088.           #
  1089.                A - Run XDIR without Pause or Input
  1090.                B - Run XDIR and Pause before Returning to MENU
  1091.                C - Run XDIR, Allow User Input, and Pause before
  1092.                     Returning to MENU
  1093.                Z - Run Any ZCPR2 Command and Pause before
  1094.                     Returning to MENU
  1095.  
  1096.           #
  1097.           z!"Enter Command Line --
  1098.           axdir
  1099.           b!xdir
  1100.           c!xdir "Enter Ambiguous File Name --
  1101.           ##
  1102.  
  1103.      Notσ thσ Spacσ righ⌠ beforσ thσ "Promp⌠ form«  Thi≤ spacσ i≤ ì
  1104. significan⌠á t∩á kee≡á thσ commanΣ anΣ use≥á inpu⌠á froφá runninτ ì
  1105. together«  Wσ wan⌠ thi≤ "ruε togetheró fo≥ thσ ┌ command.
  1106.  
  1107.  
  1108.      Yo⌡á caεá havσá a≤á man∙ command≤á a≤á thσá printablσá ASCI╔ ì
  1109. characte≥á se⌠ (withou⌠ lower-casσ letter≤ anΣ thσá MEN╒á commanΣ ì
  1110. characters⌐ wil∞ allow«á  You≥ text¼á however¼ fo≥ eacΦ men⌡ mus⌠ ì
  1111. bσ ablσ t∩ fi⌠ oε ß screeε witΦ thσ commanΣ promp⌠ a⌠ thσ bottom«  ì
  1112. Thi≤ typicall∙ mean≤ tha⌠ thσ tex⌠ canno⌠ exceeΣ 2▓ lines.
  1113.  
  1114.      MEN╒á fit≤ iε nicel∙ t∩ thσ ZCPR▓ Systeφ oµá programs«á  Thσ ì
  1115. informatioε sectioε oε "MENU'≤ Relationshi≡ t∩ thσ ZCPR▓á Systemó ì
  1116. explain≤ ho≈ MEN╒ anΣ thσ othe≥ ZCPR▓ program≤ worδ together.
  1117.  
  1118.      ╔á havσ no⌠ discusseΣ erro≥ message≤ yo⌡ caε encounte≥ unde≥ ì
  1119. MEN╒ iε thi≤ informatioε section«á  Tha⌠ come≤ late≥ iε thσ Erro≥ ì
  1120. Message section.
  1121.  
  1122.  
  1123.  
  1124. 5.5  MENU Programming Command Summary
  1125.  
  1126.      EacΦ MEN╒ commanΣ occupie≤ onl∙ onσ line¼ anΣ blanδ line≤ iε ì
  1127. thσá commanΣá grou≡á arσ no⌠á permitted«á  Thσá commanΣá linσá i≤ ì
  1128. structureΣ a≤ follows:
  1129.  
  1130.           l[o][command]["Prompt]
  1131.  
  1132. where:
  1133.           l is the single character used to invoke the command
  1134.                note that it may be upper- or lower-case
  1135.           o is an opening option, which is one of:
  1136.                :nn -- go to Menu nn
  1137.                !   -- have MENU wait when the command is finished
  1138.           command is an optional ZCPR2 command; note that if
  1139.                the option is ":nn", then a command here makes no
  1140.                sense
  1141.           "Prompt is a command to MENU to print a prompt and wait
  1142.                for user input to fill out the command line
  1143.  
  1144.      The MENU commands are:
  1145.  
  1146.           Command   Function
  1147.  
  1148.           :nn       Goto Menu nn, where the first menu is Menu 1
  1149.           !         Wait after command line is executed before
  1150.                          processing the menu
  1151.           "Prompt   Prompt the user for input and accept it
  1152.  
  1153.      Thσá followinτ ASCI╔ character≤ ma∙ NO╘ bσ useΣ a≤á command≤ ì
  1154. since they are used elsewhere:
  1155.  
  1156.           <SPACE>   #    %    ,    .    <    >    *    <DEL>
  1157.  
  1158.           <Any Char Less than Space>
  1159.  
  1160.  
  1161. 5.6  MENU's Relationship to the ZCPR2 System
  1162.  
  1163.      MENU¼á likσ mos⌠ oµ thσ ZCPR▓ utilities¼á interact≤ witΦ thσ ì
  1164. systeφá a≤á ßá wholσ anΣ canno⌠ bσ useΣ witΦ system≤á othe≥á thaε ì
  1165. ZCPR2«á  Iε particular¼á MEN╒ require≤ thσ ZCPR▓ Multiplσ CommanΣ ì
  1166. Linσ Buffe≥ facilit∙ t∩ bσ availablσ t∩ i⌠ anΣ canno⌠ ruε withou⌠ ì
  1167. it«á  I⌠á chain≤á t∩á othe≥á command≤ anΣá t∩á itselµá thr⌡á thi≤ ì
  1168. facility.
  1169.  
  1170.      MEN╒ i≤ installeΣ b∙ GENINS«  GENIN╙ i≤ useΣ t∩ instal∞ MEN╒ ì
  1171. anΣ se⌠ thσ parameter≤ fo≥ wherσ thσ Multiplσ CommanΣ Linσ Buffe≥ ì
  1172. i≤ locateΣ anΣ wha⌠ thσ passworΣ fo≥ enterinτ ß Systeφ Men⌡ is.
  1173.  
  1174.      Also¼á C─ (Changσ Directory⌐ anΣ STARTU╨ (or¼ S╘ fo≥ CD⌐ caε ì
  1175. comσ int∩ pla∙ witΦ MENU«  Wheε C─ log≤ int∩ t∩ ne≈ directory¼ i⌠ ì
  1176. look≤ fo≥ thσ filσ ST.CO═ anΣ execute≤ i⌠ iµ therσ i≤ one«  S╘ i≤ ì
  1177. simpl∙á STARTU╨á renamed¼á anΣá STARTU╨ wil∞á loaΣá thσá Multiplσ ì
  1178. Command Line Buffer with a command line and then terminate.
  1179.  
  1180.      Froφá thσ poin⌠ oµ vie≈ oµ MENU¼á thσ commanΣ loadeΣá b∙á S╘ ì
  1181. coulΣ bσ MENU«  Thσ effec⌠ oµ thi≤ i≤ t∩ automaticall∙ ente≥ MEN╒ ì
  1182. when the user employs CD to enter a given directory.
  1183.  
  1184.      Hence¼á b∙á usinτá CD¼á ßá use≥ caε ente≥á ßá director∙á anΣ ì
  1185. suddenl∙á finΣ himselµ iε ß men⌡ insteaΣ oµ a⌠ thσ ZCPR▓á commanΣ ì
  1186. level«á  Thi≤á i≤ gooΣ fo≥ application≤ wherσ ß director∙ i≤á se⌠ ì
  1187. asidσá fo≥ ß specifiπ purposσ anΣ onl∙ certaiε operation≤ arσá t∩ ì
  1188. bσá performeΣá iεá it¼á sucΦá a≤á cataloginτá disk≤á o≥á handlinτ ì
  1189. accounts«á  Also¼á witΦ CD'≤ passworΣ facility¼ iµ thi≤ director∙ ì
  1190. i≤ ß Systeφ Directory¼á thσ use≥ woulΣ havσ t∩ givσ ß passworΣ t∩ ì
  1191. enter it.
  1192.  
  1193.      No≈á tha⌠ MEN╒ i≤ runninτ fo≥ thσ directory¼á ß MEN╒ commanΣ ì
  1194. coulΣ bσ anothe≥ C─ t∩ anothe≥ directory«á  O≥ i⌠ coulΣ simpl∙ bσ ì
  1195. a DU: form.  Example:
  1196.  
  1197.           #dp
  1198.                A - Enter ZCPR Directory
  1199.                B - Enter A0:
  1200.           #
  1201.           acd zcpr
  1202.           ba0:
  1203.           #
  1204.  
  1205.      Here¼á iµá ┴ i≤ issued¼á theε C─ wil∞ movσá int∩á ZCPR║á anΣ ì
  1206. executσ ST.CO═ iµ therσ i≤ onσ there«á  Iµ ┬ i≤ issued¼á thσ use≥ ì
  1207. i≤á loggeΣá int∩á A0:«á  MEN╒ i≤ thσ nex⌠ commanΣ iεá botΦá case≤ ì
  1208. (commanΣá line≤á arσá "C─ ZCPR;MENUóá anΣá "A0:;MENU")¼á s∩á MEN╒ ì
  1209. automaticall∙ reinvoke≤ anΣ look≤ fo≥ MENU.CPR«á  Iµ i⌠ find≤ it¼ ì
  1210. wσ arσ iε anothe≥ MEN╒ system¼ and¼ iµ i⌠ doesn't¼ wσ arσ bacδ t∩ ì
  1211. ZCPR2 command level.
  1212.  
  1213.  
  1214.      Unde≥ thσ ┴ option¼á iµ C─ find≤ ST.COM¼á S╘ wil∞á overwritσ ì
  1215. thσ res⌠ oµ thσ commanΣ line¼ thereb∙ throwinτ awa∙ thσ nex⌠ MEN╒ ì
  1216. command and giving us something totally different to work with.
  1217.  
  1218.      Unde≥ thσ ┬ option¼ wσ wil∞ ruε MEN╒ nex⌠ anΣ simpl∙ exi⌠ iµ ì
  1219. a MENU.CPR file is not found.
  1220.  
  1221.  
  1222.  
  1223. 5.7  MENU Error Messages
  1224.  
  1225.      Iεá orde≥ t∩ makσ MEN╒ a≤ smal∞ a≤ possiblσ (i⌠ i≤ unde≥á 2╦ ì
  1226. byte≤á iε size)¼á ╔ havσ reduceΣ thσ erro≥ message≤ t∩ ß minimum«  ì
  1227. Instead¼á MEN╒á provide≤ ß minimuφ indicatioε tha⌠á somethinτá i≤ ì
  1228. wrong and aborts.
  1229.  
  1230.      Thσ prograφ MCHEC╦ i≤ designeΣ t∩ tel∞ yo⌡ morσ specificall∙ ì
  1231. wha⌠ i≤ wrong«  MCHEC╦ i≤ ß MENU.CP╥ Synta° Checker¼ anΣ i⌠ look≤ ì
  1232. fo≥á al∞á sort≤ oµ erro≥ condition≤ tha⌠ caε occu≥ iε ßá MENU.CP╥ ì
  1233. file.  MCHECK is discussed in the next information section.
  1234.  
  1235.      MEN╒ provide≤ thσ followinτ minima∞ erro≥ messages:
  1236.  
  1237.           Message             Meaning
  1238.  
  1239.           Full                Memory is Full
  1240.           Invalid Option      User Command is in Error
  1241.           Pass Err            Invalid Password Given
  1242.           Str Err             MENU.CPR File Structure Error
  1243.  
  1244.  
  1245.  
  1246. 5.8  MCHECK -- MENU.CPR Syntax Checker
  1247.  
  1248.      MCHEC╦á shoulΣ catcΦ an∙ error≤ madσ iε ß MENU.CP╥ filσ b∙ ß ì
  1249. programmer«á  I⌠á i≤ no⌠ guaranteed¼á bu⌠ ha≤ beeεá testeΣá quitσ ì
  1250. thoroughly.
  1251.  
  1252.      MCHECK accepts command lines of the following forms:
  1253.  
  1254.           MCHECK or MCHECK //      <-- Print Internal Help
  1255.           MCHECK dir:filename      <-- Check "filename.CPR"
  1256.           MCHECK dir:filename.typ  <-- Check "filename.typ"
  1257.  
  1258.      Thσá DIR║á prefi°á ma∙ bσ useΣ witΦ thσ filσ names«á  I⌠á i≤ ì
  1259. optional«  A≤ ß DIR║ prefix¼ thi≤ accept≤ thσ DU║ forφ o≥ ß nameΣ ì
  1260. directory.
  1261.  
  1262.  
  1263.  
  1264.      MCHECK gives you the "standard" opening error messages:
  1265.  
  1266.           Error in Disk or User Number -- Aborting
  1267.                DIR: form was not acceptable
  1268.  
  1269.           Error in Opening File -- Aborting
  1270.                Problem with file
  1271.  
  1272.           TPA Overflow -- MENU.CPR File is Too Big -- Aborting
  1273.                It could be too big for MENU also (Full error of
  1274.                     MENU)
  1275.  
  1276.      I⌠ theε start≤ processinτ thσ MENU.CP╥ filσ iµ nonσ oµ thesσ ì
  1277. error≤á occur«á  MCHEC╦ print≤ thσ linσ numbe≥ anΣ erro≥á messagσ ì
  1278. fo≥á eacΦ erro≥ encountered«á  I⌠ als∩ print≤ comment≤ a≤á i⌠á i≤ ì
  1279. running along.
  1280.  
  1281.      Non-error comments printed by MCHECK include:
  1282.  
  1283.           ** Global Options Detected **
  1284.                There are global options in the file
  1285.  
  1286.           ** Menu Number nnn
  1287.                It is beginning the indicated menu
  1288.  
  1289.           ** End of Menu Check **
  1290.           No Errors Detected -or- nnnnn Errors Detected
  1291.                Done and Error Count
  1292.  
  1293.  
  1294.      Fatal Errors which cause MCHECK to stop processing are:
  1295.  
  1296.           Error -- New Menu Expected, But # NOT Found -- Aborting
  1297.                Like it says; it gives a line number to help you
  1298.                     find the problem
  1299.  
  1300.           Error -- Premature EOF Encountered -- Aborting
  1301.                The file did not end with ##
  1302.  
  1303.  
  1304.      Non-Fatal Errors for MCHECK (fatal for MENU, tho) are:
  1305.  
  1306.           Error -- Invalid Option:
  1307.                Invalid option in global or local option line
  1308.  
  1309.           Error -- Menu Number Out of Range
  1310.                A ":nn" option referenced a number out of range
  1311.  
  1312.  
  1313.      Thσá followinτ i≤ ß samplσ ruε oµ MCHEC╦ oε ß gooΣá MENU.CP╥ ì
  1314. file:
  1315.  
  1316.  
  1317. B7>mcheck zcpr:menu.cpr
  1318. MCHECK  Version 1.1
  1319.  
  1320.  Line Comment/Error Message
  1321.  ---- ---------------------
  1322.     1 ** Global Options Detected **
  1323.     2 ** Menu Number   0
  1324.    17 ** Menu Number   1
  1325.    28 ** Menu Number   2
  1326.    39 ** Menu Number   3
  1327.    48 ** Menu Number   4
  1328.    57 ** End of Menu Check **
  1329.         No Errors Detected
  1330.  
  1331. .fo Section 6 - File Compare Utilities                 Page   #
  1332.  
  1333. 6.0  File Compare Utilities
  1334.  
  1335. 6.1  File Comparison Utilities Under ZCPR2
  1336.  
  1337.      Tw∩á utilitie≤á arσá provideΣ witΦ ZCPR▓ t∩á comparσá files«  ì
  1338. Both utilities are simple in form to use.  These utilities are:
  1339.  
  1340.      COMPARE -- Compares two files by reading one, computing its
  1341.                     CRC value, saving its CRC and size, and then
  1342.                     reading the other and seeing if they match
  1343.  
  1344.      DIFF -- Prints out a difference listing between two files;
  1345.                     different bytes encountered at the same
  1346.                     relative displacements from the beginning of
  1347.                     thσ file≤ arσ printeΣ iε hexadecimal¼
  1348.                     decimal, and ASCII forms
  1349.  
  1350.  
  1351.      These commands are invoked by the following forms:
  1352.  
  1353.           COMPARE or COMPARE //                   <-- Print Help
  1354.           COMPARE dir:file1.typ,dir:file2.typ M   <-- Compare
  1355.  
  1356.           DIFF or DIFF //                         <-- Print Help
  1357.           DIFF dir:file1.typ,dir:file2.typ M      <-- Compare
  1358.  
  1359.      Thσá filσ spec≤ mus⌠ bσ unambiguou≤ o≥ aε erro≥ wil∞ result«  ì
  1360. Thσ DIR║á prefi° i≤ optional¼á anΣ ma∙ bσ ß nameΣ director∙ o≥á ß ì
  1361. DU: form.
  1362.  
  1363.      Thσ "Mó i≤ optional¼ and¼ iµ present¼ select≤ ß Multiplσ Ruε ì
  1364. Modσá iε whicΦ thσ use≥ i≤ alloweΣ t∩ changσ disk≤ a≤ hσ desires¼ ì
  1365. ß COMPAR┼ o≥ DIF╞ i≤ done¼á anΣ theε thσ proces≤ continue≤á unti∞ ì
  1366. the user aborts it.
  1367.  
  1368.  
  1369.  
  1370. 6.2  CRC Check Utility Under ZCPR2
  1371.  
  1372.      Thσá CR├á Checδ Utilit∙ distributeΣ witΦ ZCPR▓ compute≤á CR├ ì
  1373. value≤á fo≥á ß lis⌠ oµ files«á  I⌠ use≤ thσ samσá CR├á polynomia∞ ì
  1374. employeΣ b∙ KeitΦ Peterseε iε hi≤ CRC╦ program¼á and¼á naturally¼ ì
  1375. the values come out the same.
  1376.  
  1377.      Thσá CR├ Checδ Utilit∙ compute≤ thσ CR├ value≤ oµ ß selecteΣ ì
  1378. se⌠á oµ file≤ anΣ print≤ ou⌠ thσ filσá names¼á thei≥á sizes¼á anΣ ì
  1379. thei≥ CR├ value≤ iε hexadecimal«  ┴ lis⌠ oµ ambiguou≤ file≤ name≤ ì
  1380. ma∙á bσá provideΣá t∩ CRC¼á anΣ i⌠ als∩ respond≤ t∩ ßá serie≤á oµ ì
  1381. options.
  1382.  
  1383.      The general form of the CRC command is:
  1384.  
  1385.           CRC dir:afn1,dir:afn2,... ooo...
  1386. è     Iεá al∞á ambiguou≤á filσá references¼á thσá DIR║á prefi°á i≤ ì
  1387. optional«á  Thi≤ prefi° ma∙ bσ ß nameΣ director∙ o≥ ßá DU║á form«  ì
  1388. The options available under CRC are:
  1389.  
  1390.  
  1391.           C - Comment Output; the user is given an opportunity
  1392.                     to enter comments for each file
  1393.  
  1394.           D - Disk Output; send output to the disk file CRC.CRC
  1395.                     as well as to the console
  1396.  
  1397.           I - Inspect and approve file before CRC is computed
  1398.  
  1399.           P - Printer Output; send output to the printer as
  1400.                     well as to the console
  1401.  
  1402.      Thesσ option≤ ma∙ bσ combineΣ iε an∙ manne≥ desired«á  ┴ CR├ ì
  1403. command of the form "CRC" or "CRC //" prints a help message.
  1404.  
  1405.  
  1406.  
  1407. 6.3  Examples
  1408.  
  1409. B7>compare help:lu.hlp,zcpr:lu.hlp
  1410. COMPARE  Version 1.4
  1411. Source File 1 -- A 16: LU      .HLP
  1412. Source File 2 -- A 11: LU      .HLP
  1413. ** Files are Identical **
  1414.  
  1415. B7>compare help.txt,s100.txt
  1416. COMPARE  Version 1.4
  1417. Source Fie 1 -- B  7: HELP    .TXT
  1418. Source File 2 -- B  7: S100    .TXT
  1419. ** Files are Different **
  1420.  
  1421. B7>compare help:lu.hlp,c0:
  1422. COMPARE  Version 1.4
  1423. Source File 1 -- A 16: LU      .HLP
  1424. Source File 2 -- C  0: LU      .HLP
  1425. LU      .HLP  File Not Found
  1426.  
  1427. B7>compare help:du2.hlp,c0:
  1428. COMPARE  Version 1.4
  1429. Source File 1 -- A 16: DU2     .HLP
  1430. Source File 2 -- C  0: DU2     .HLP
  1431. ** Files are Identical **
  1432.  
  1433. B7>compare help:du2.hlp,c0: m
  1434. COMPARE  Version 1.4
  1435. Source File 1 -- A 16: DU2     .HLP
  1436. Source File 2 -- C  0: DU2     .HLP
  1437.   Change Disks if Desired and Type ^C or A to Abort or <RETURN>
  1438.                to Continue - 
  1439.  
  1440.  
  1441. Source File 1 -- A 16: DU2     .HLP
  1442. Source File 2 -- C  0: DU2     .HLP
  1443. ** Files are Identical **
  1444. COMPARE  Version 1.4
  1445. Source File 1 -- A 16: DU2     .HLP
  1446. Source File 2 -- C  0: DU2     .HLP
  1447.   Change Disks if Desired and Type ^C or A to Abort or <RETURN>
  1448.           to Continue - 
  1449.  
  1450. B7>diff help:du2.hlp,c0:
  1451. DIFF  Version 1.6
  1452. Source File 1 -- A 16: DU2     .HLP
  1453. Source File 2 -- C  0: DU2     .HLP
  1454. NO Differences Noted in Files
  1455.  
  1456. B7>save 1 test.bin
  1457. B7>zsid test.bin
  1458. ZSID VERS 1.4
  1459. NEXT  PC  END
  1460. 0200 0100 A2FF
  1461. #s100
  1462. 0100 C3 0
  1463. 0101 70 1
  1464. 0102 01 2
  1465. 0103 FF .
  1466. #s1f0
  1467. 01F0 09 0
  1468. 01F1 3C 0
  1469. 01F2 3D 0
  1470. 01F3 32 .
  1471. #^C
  1472. B7>save 1 test2.bin
  1473.  
  1474. B7>compare test.bin,test2.bin
  1475. COMPARE  Version 1.4
  1476. Source File 1 -- B  7: TEST    .BIN
  1477. Source File 2 -- B  7: TEST2   .BIN
  1478. ** Files are Different **
  1479.  
  1480. B7>diff test.bin,test2.bin
  1481. DIFF  Version 1.6
  1482. Source File 1 -- B  7: TEST    .BIN
  1483. Source File 2 -- B  7: TEST2   .BIN
  1484.  Rel Offset   B  7: TEST    .BIN     B  7: TEST2   .BIN
  1485.  Hex    Dec       Hex  Dec Asc           Hex  Dec Asc
  1486. 0000      0        C3  195  C             00    0  .
  1487. 0001      1        70  112  p             01    1  .
  1488. 0002      2        01    1  .             02    2  .
  1489. 00F0    240        09    9  .             00    0  .
  1490. 00F1    241        3C   60  <             00    0  .
  1491. 00F2    242        3D   61  =             00    0  .
  1492.  
  1493.  
  1494. B7>crc *.* di
  1495. CRC  Version 2.0
  1496.  
  1497. ** File Inspection **
  1498. COMPARE .HLP -- Select (Y/N/S=Skip Rest/Q=Quit/other=Y)? Y
  1499. CRC     .CRC -- Select (Y/N/S=Skip Rest/Q=Quit/other=Y)? N
  1500. HELP    .TXT -- Select (Y/N/S=Skip Rest/Q=Quit/other=Y)? Y
  1501. S100    .TXT -- Select (Y/N/S=Skip Rest/Q=Quit/other=Y)? S
  1502. ** Inspection Complete **
  1503.  
  1504.     1 File: COMPARE .HLP -- Size:     4K -- CRC: 9F 8E
  1505.     2 File: HELP    .TXT -- Size:     4K -- CRC: 77 6E
  1506.  
  1507. B7>type crc.crc
  1508.  
  1509.     1 File: COMPARE .HLP -- Size:     4K -- CRC: 9F 8E
  1510.     2 File: HELP    .TXT -- Size:     4K -- CRC: 77 6E
  1511.  
  1512. B7>crc *.* icd
  1513. CRC  Version 2.0
  1514.  
  1515. ** File Inspection **
  1516. COMPARE .HLP -- Select (Y/N/S=Skip Rest/Q=Quit/other=Y)? Y
  1517. CRC     .CRC -- Select (Y/N/S=Skip Rest/Q=Quit/other=Y)? N
  1518. HELP    .TXT -- Select (Y/N/S=Skip Rest/Q=Quit/other=Y)? Y
  1519. S100    .TXT -- Select (Y/N/S=Skip Rest/Q=Quit/other=Y)? S
  1520. ** Inspection Complete **
  1521.  
  1522.     1 File: COMPARE .HLP -- Size:     4K
  1523.         Comment? Help File for COMPARE and DIFF and CRC
  1524.  -- CRC: 9F 8E
  1525.         Comment: Help File for COMPARE and DIFF and CRC
  1526.     2 File: HELP    .TXT -- Size:     4K
  1527.         Comment? Note on Help Files
  1528.  -- CRC: 77 6E
  1529.         Comment: Note on Help Files
  1530.  
  1531. B7>type crc.crc
  1532.  
  1533.     1 File: COMPARE .HLP -- Size:     4K -- CRC: 9F 8E
  1534.         Comment: Help File for COMPARE and DIFF and CRC
  1535.     2 File: HELP    .TXT -- Size:     4K -- CRC: 77 6E
  1536.         Comment: Note on Help Files
  1537.  
  1538. .fo Section 7 - File Copy Utility                      Page   #
  1539.  
  1540. 7.0  File Copy Utility
  1541.  
  1542. 7.1  MCOPY Overview
  1543.  
  1544.      MCOP┘á i≤ ß filσ cop∙ prograφ designeΣ fo≥ usσ unde≥á ZCPR2«  ì
  1545. I⌠á support≤á man∙á feature≤ relateΣ specificall∙á t∩á thσá ZCPR▓ ì
  1546. System and is very intimately tied into the ZCPR2 System.
  1547.  
  1548.      Thσá basiπá purposσá oµá MCOP┘ i≤ t∩á cop∙á file≤á froφá onσ ì
  1549. director∙ (disk/use≥ area⌐ t∩ anothe≥ unde≥ ZCPR2«á  I⌠á support≤ ì
  1550. thσáá nameΣá director∙á form≤á oµá ZCPR2¼áá anΣá thσá sourcσá anΣ ì
  1551. destinatioεá directorie≤á caεá bσ specifieΣá iεá term≤á o≥á nameΣ ì
  1552. directories or DU: forms or both.
  1553.  
  1554.      MCOP┘á i≤ als∩ intendeΣ t∩ bσ useΣ fo≥ backu≡ purposes«á  I⌠ ì
  1555. ha≤á thσá abilit∙á t∩ repeatedl∙ cop∙ ß se⌠á oµá file≤á froφá onσ ì
  1556. director∙á t∩ another¼á pausinτ betweeε successivσ cop∙ passe≤ t∩ ì
  1557. allo≈á thσ use≥ t∩ changσ disks«á  ┴ ke∙ t∩ thσ usσ oµá MCOP┘á iε ì
  1558. genera∞á i≤ tha⌠ oncσ MCOP┘ ha≤ beguε operations¼á thσ use≥á neeΣ ì
  1559. neve≥ concerε himselµ witΦ Warφ Bootinτ thσ systeφ afte≥ changinτ ì
  1560. disks; MCOPY is doing that for him.
  1561.  
  1562.      Iεá copyinτá ßá filσ froφ onσ director∙á t∩á another¼á MCOP┘ ì
  1563. performs the following steps:
  1564.  
  1565.           1«  I⌠ log≤ int∩ thσ sourcσ director∙ anΣ scan≤ fo≥ thσ ì
  1566. files specified by the user
  1567.  
  1568.           2«á  I⌠ log≤ int∩ thσ destinatioε directory¼ determine≤ ì
  1569. iµ ß cop∙ oµ thσ filσ exist≤ oε thσ destinatioε anΣ delete≤ i⌠ iµ ì
  1570. it does
  1571.  
  1572.           3«á  MCOP┘ copie≤ thσ filσ iε thσ sourcσ director∙ int∩ ì
  1573. the destination directory
  1574.  
  1575.           4«á  MCOP┘á set≤á thσá attribute≤ oµ thσá filσá iεá thσ ì
  1576. destinatioεá director∙á t∩á bσ thσ samσ a≤ thosσá iεá thσá sourcσ ì
  1577. directory
  1578.  
  1579.           5«á  MCOP┘ optionall∙ verifie≤ botΦ file≤ b∙ mean≤ oµ ß ì
  1580. CRC Check
  1581.  
  1582.      MCOPY is invoked by one of the following forms:
  1583.  
  1584.           MCOPY //                 <-- Print Help
  1585.           MCOP┘                    <-- Ente≥ Interactivσ Mode
  1586.           MCOPY files options      <-- Immediately Copy
  1587.  
  1588.  
  1589.      Thσ "MCOP┘ file≤ optionsó forφ i≤ extremel∙ flexiblσ iεá it≤ ì
  1590. capabilities«áá  Wheεáá firs⌠á invoked¼áá MCOP┘á ha≤á ßáá defaul⌠ ì
  1591. destinatioε director∙ defineΣ (b∙ GENINS)«á  Thσ "filesó fielΣ i≤ ì
  1592. ßá serie≤á oµá filσá assignmen⌠á specifications¼áá wherσá sucΦá ß ì
  1593. specification is of the form:
  1594.  
  1595.           dir:=dir:filename.typ or dir:filename.typ
  1596.  
  1597. Iµá thσá firs⌠ forφ i≤ encountered¼á thσ defaul⌠á destinatioεá i≤ ì
  1598. temporaril∙á redefineΣ t∩ bσ thσ director∙ indicateΣ oε thσá lef⌠ ì
  1599. oµá thσ "=ó character¼á anΣ al∞ file≤ referenceΣ thereafte≥ unti∞ ì
  1600. the next "dir:=dir:filename.typ" form are copied to this default.
  1601.  
  1602.      To illustrate my point, note the following example:
  1603.  
  1604.           MCOPY FILE1.*,HELP:FILE2.HLP,TEMP:=TEST.TXT,HI.*
  1605.  
  1606. Let'≤ assumσ tha⌠ thσ defaul⌠ defineΣ b∙ GENIN╙ i≤ thσá director∙ ì
  1607. nameΣá BACKUP«á  Iεá thi≤á case¼á file≤ matchinτ FILE1.¬á iεá thσ ì
  1608. curren⌠á director∙ arσ copieΣ t∩ BACKUP¼á thσ filσá FILE2.HL╨á iε ì
  1609. director∙á HEL╨á i≤ copieΣ t∩ BACKUP¼á thσ filσ TEST.TX╘á iεá thσ ì
  1610. curren⌠ director∙ i≤ copieΣ t∩ TEMP¼á anΣ thσ file≤ matchinτ HI.¬ ì
  1611. in the current directory are copied to TEMP.
  1612.  
  1613.      Oncσá ßá DIR:╜ i≤ encountered¼á thσ defaul⌠á destinatioεá i≤ ì
  1614. redefined«á  Encounterinτ ß differencσ source¼á however¼ doe≤ no⌠ ì
  1615. change what the default source directory is.
  1616.  
  1617.  
  1618.  
  1619. 7.2  MCOPY Command Line Options
  1620.  
  1621.      Thσá option≤ portioε oµ thσ "MCOP┘ file≤ optionsó commanΣ i≤ ì
  1622. a set of none or more of the following characters:
  1623.  
  1624.           E -- Test for Existence of File on Destination and
  1625.                User Approves Copy before Copy is Done
  1626.  
  1627.           I -- User Approves Each File before Copy Begins
  1628.  
  1629.           M -- Multiple Copy (Repeat) Facility
  1630.  
  1631.           Q -- Quiet Operation (No Activity Displays)
  1632.  
  1633.           V -- Verify Facility
  1634.  
  1635.      GENIN╙ i≤ useΣ t∩ se⌠ thσ defaul⌠ setting≤ fo≥ eacΦ oµ thesσ ì
  1636. option≤ (turninτ theφ oε o≥ off)¼ anΣ thσ optioε character≤ servσ ì
  1637. to toggle the settings from the defaults.
  1638.  
  1639.  
  1640.      Thσá ┼á optioεá (Existencσ Test⌐ look≤á oεá thσá destinatioε ì
  1641. director∙á t∩á seσá iµ thσ filσ i⌠ i≤ abou⌠ t∩á cop∙á i≤á alread∙ ì
  1642. there«  I⌠ theε tell≤ thσ use≥ oµ it≤ finding≤ anΣ ask≤ hiφ iµ hσ ì
  1643. want≤ t∩ g∩ aheaΣ witΦ thσ copy«á  Thσ use≥ ma∙ elec⌠ t∩ cop∙á o≥ ì
  1644. no⌠ cop∙ a≤ hσ desires.
  1645.  
  1646.      Thσá ╔á optioε (Inspect⌐ display≤ al∞ file≤ whicΦ matcΦá thσ ì
  1647. indicateΣ sourcσ file≤ t∩ thσ user¼á allowinτ hiφ t∩ selec⌠ whicΦ ì
  1648. file≤á hσá want≤ t∩ copy«á  I⌠ theε copie≤á thσá selecteΣá files«  ì
  1649. MCOP┘á perform≤á thi≤á operatioεá fo≥ eacΦ se⌠ oµá file≤á iεá thσ ì
  1650. command line (separated by commas).
  1651.  
  1652.      Thσá ═á optioε (Multiplσ Copy⌐ pause≤á beforσá startinτá thσ ì
  1653. copy¼á allowinτá thσ use≥ t∩ abor⌠ thσ procedurσ o≥ inser⌠ ß disδ ì
  1654. int∩ thσ source¼á thσ destination¼á o≥ botΦ anΣ instruc⌠ MCOP┘ t∩ ì
  1655. proceed«á  Afte≥ copyinτ al∞ oµ thσ indicateΣ files¼á MCOP┘á theε ì
  1656. pause≤á again¼á allowinτá thσ use≥ t∩ agaiε changσá disks«á  Thi≤ ì
  1657. continues until the user aborts the procedure.
  1658.  
  1659.      Thσá ╤ optioε (Quiet⌐ turn≤ ofµ thσ MCOP┘ activit∙á display«  ì
  1660. Iε norma∞ operation¼ MCOP┘ i≤ constantl∙ tellinτ thσ use≥ wha⌠ i⌠ ì
  1661. i≤á doing«á  ╔á fee∞á tha⌠ thi≤ i≤á bette≥á thaεá quietl∙á havinτ ì
  1662. problems without the user knowing what is going on.
  1663.  
  1664.      Thσá ╓á optioε (Verify⌐ i≤ useΣ t∩ checδ thσ copieΣ filσá t∩ ì
  1665. insurσ tha⌠ thσ cop∙ i≤ good«á  WitΦ thi≤ optioεá engaged¼á MCOP┘ ì
  1666. compute≤á ßá CR├ valuσ oµ thσ sourcσ filσ a≤ i⌠ read≤á it«á  Wheε ì
  1667. MCOP┘ ha≤ completeΣ thσ copy¼ i⌠ read≤ thσ destinatioε filσ back¼ ì
  1668. computinτ it≤ CR├ value¼á and¼ wheε complete¼ i⌠ compare≤ thσ tw∩ ì
  1669. CR├á values¼á tellinτ thσ use≥ iµ aε erro≥ iε thσá cop∙á occurreΣ ì
  1670. (i.e., different CRC values resulted).
  1671.  
  1672.  
  1673.  
  1674. 7.3  MCOPY Interactive Mode
  1675.  
  1676.      Iµáá thσá user'≤á commanΣá i≤á simpl∙á "MCOPY"¼áá theεáá thσ ì
  1677. Interactivσ Modσ i≤ enabled«á  Iε responsσ t∩ thi≤ command¼ MCOP┘ ì
  1678. displays the following prompt:
  1679.  
  1680. MCOPY Status: EIMQV -- MCOPY Command (? for Help)?
  1681.  
  1682. wherσ an∙ oµ thσ character≤ iε "EIMQVó ma∙ bσ omitted«  Thσ EIMQ╓ ì
  1683. character≤á indicatσá thσá statu≤ oµ thσ variou≤á MCOP┘á options¼ ì
  1684. namely:
  1685.  
  1686.           E indicates that File Existence Test is ON
  1687.           I indicates that Inspect Mode is ON
  1688.           M indicates that Multiple Copy is ON
  1689.           Q indicates that Quiet Mode is ON
  1690.           V indicates that MCOPY will Verify
  1691.  
  1692.  
  1693.      Thσ MCOP┘ commanΣ prompteΣ fo≥ i≤ ß singlσá character¼á casσ ì
  1694. insignificant«á  Yo⌡á caεá togglσá eacΦ onσ oµ thesσá option≤á b∙ ì
  1695. simply striking the appropriate letter.
  1696.  
  1697.      Therσá arσ si° MCOP┘ Command≤ t∩ perforφ variou≤á functions«  ì
  1698. These commands are:
  1699.  
  1700.           C - Copy a File or Set of Files
  1701.           D - Directory Display
  1702.           F - Compute Amount of Free Space on Disk
  1703.           L - Log in New Directories
  1704.           S - Display MCOPY Status
  1705.           X or ^C - Exit
  1706.  
  1707.      Thσá ├á commanΣá (Copy⌐á allow≤ yo⌡á t∩á specif∙á ßá se⌠á oµ ì
  1708. destinations¼ sources¼ anΣ file≤ a≤ yo⌡ coulΣ a⌠ thσ commanΣ linσ ì
  1709. level«ááá  EacΦááá se⌠ááá i≤áá separateΣáá b∙ááá comma≤ááá (like¼ ì
  1710. "dir:=dir:f1.typ,f2.typ,dir:=dir:f3.typ").
  1711.  
  1712.      Thσ ─ commanΣ (Directory⌐ display≤ ß sorteΣ director∙ t∩ thσ ì
  1713. use≥á oµá thσá defaul⌠ director∙ o≥ onσá oµá hi≤á choice«á  NameΣ ì
  1714. directorie≤ o≥ thσ DU║ forφ ma∙ bσ useΣ t∩ specif∙ thσ directory«  ì
  1715. Thσ defaul⌠ director∙ i≤ thσ las⌠ destinatioε director∙ copieΣ t∩ ì
  1716. or selected by the L command.
  1717.  
  1718.      Thσá ╞á commanΣá compute≤ thσ amoun⌠ oµ freσ spacσá lef⌠á oε ì
  1719. disk.  The user may select the disk or ride with the default.
  1720.  
  1721.      Thσá ╠ commanΣ allow≤ thσ use≥ t∩ specif∙ ß ne≈á destinatioε ì
  1722. or source directory.
  1723.  
  1724.      Thσáá ╙á commanΣá tell≤á thσá use≥á thσá Statu≤á oµáá MCOPY¼ ì
  1725. particularl∙á wha⌠ thσ curren⌠ sourcσ anΣ destinatioε directorie≤ ì
  1726. are.
  1727.  
  1728.      X or ^C exits MCOPY to ZCPR2.
  1729.  
  1730.  
  1731.  
  1732. 7.4  Sample MCOPY Sessions
  1733.  
  1734. B7>mcopy help:=mcopy.hlp
  1735. MCOPY  Version 2.8
  1736.         Copy B  7: MCOPY   .HLP to A 16:
  1737. No Original File MCOPY   .HLP on Destination
  1738. Reading     7K  Writing     7K
  1739.  
  1740.     Copy Complete,  Verify Phase --
  1741. Reading     7K
  1742.     Verify Complete
  1743. **** MCOPY Compete ****
  1744.             1 File Copied     0 Copy Errors
  1745.  
  1746.  
  1747. B7>mcopy 1:=*.hlp,*.txt i
  1748. MCOPY  Version 2.8
  1749.         Copy B  7: ????????.HLP to B  1:
  1750. MCOPY   .HLP -- Copy (Y/N/Q=Quit and Skip Rest/<CR>=Y)? Y
  1751. No Original File MCOPY   .HLP on Destination
  1752. Reading     7K  Writing     7K
  1753.  
  1754.     Copy Complete,  Verify Phase --
  1755. Reading     7K
  1756.     Verify Complete
  1757.         Copy B  7: ????????.TXT to B  1:
  1758. HELP    .TXT -- Copy (Y/N/Q=Quit and Skip Rest/<CR>=Y)? Y
  1759. S100    .TXT -- Copy (Y/N/Q=Quit and Skip Rest/<CR>=Y)? N
  1760. No Orginal File HELP    .TXT on Destination
  1761. Reading     1K  Writing     1K
  1762.  
  1763.     Copy Complete,  Verify Phase --
  1764. Reading     1K
  1765.     Verify Complete
  1766. **** MCOPY Complete ****
  1767.             2 Files Copied     0 Copy Errors
  1768.  
  1769. B7>mcopy
  1770. MCOPY  Version 2.8
  1771. MCOPY Status:     V -- MCOPY Command (? for Help)? ?
  1772.         MCOPY Status:  E I M Q V
  1773. These Status Characters have the following meanings:
  1774.    E - File Existence Test Mode is ON
  1775.    I - File Selection Inspect Mode is ON
  1776.    M - Muliple Copy Function Mode is ON
  1777.    Q - Quiet Mode is ON
  1778.    V - Verify Mode is ON
  1779.  
  1780. The Status Characters, as commands, toggle their respective modes.
  1781. Other valid MCOPY Commands are:
  1782.    C - Copy a File or Set of Files
  1783.    D - Directory Display
  1784.    F - Compute Amount of Free Space on Disk
  1785.    L - Log in New User/Disks
  1786.    S - Display MCOPY Status (Cur and Dest User/Disk)
  1787.    X or ^C - Exit MCOPY
  1788.  
  1789. MCOPY Status:     V -- MCOPY Command (? for Help)? d
  1790. ** Directory Display **
  1791.         File Spec (<CR>=C  0:*.*)? b1:
  1792. DEMO    .COM    4K  DEMO    .MAC    4K  DEMO    .ZEX    4K  GENINS  .MAC   44K
  1793. HELP    .TXT    4K  MCOPY   .HLP    8K  TEMPLATE.MAC   12K
  1794. **    80K Occupied by Displayed Files,  4048K Remaining on Disk B **
  1795.  
  1796.  
  1797. MCOPY Status:     V -- MCOPY Command (? for Help)? c
  1798.         File Spec (<CR>=Abort)? zcpr:=mcopy.hlp
  1799.         Copy B  7: MCOPY   .HLP to A 11:
  1800. No Original File MCOPY   .HLP on Destination
  1801. Reading     7K  Writing     7K
  1802.  
  1803.     Copy Complete,  Verify Phase --
  1804. Reading     7K
  1805.     Verify Complete
  1806. **** MCOPY Complete ****
  1807.             1 File Copied     0 Copy Errors
  1808.  
  1809. MCOPY Status:     V -- MCOPY Command (? for Help)? f
  1810. ** Free Space Data **
  1811.         Disk (<CR>=A)? 
  1812.  
  1813.  1328K Bytes Remaining on Disk A
  1814. MCOPY Status:     V -- MCOPY Command (? for Help)? f
  1815. ** Free Space Data **
  1816.         Disk (<CR>=A)? B
  1817.  
  1818.  4048K Bytes Remaining on Disk B
  1819.  
  1820. MCOPY Status:     V -- MCOPY Command (? for Help)? x
  1821. ** MCOPY Exiting **
  1822.  
  1823.