home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / ZCPR33 / S-Z / ZCOLUMNS.LBR / FOREVERZ.4Z7 / FOREVERZ.487
Text File  |  2000-06-30  |  14KB  |  255 lines

  1.                             FOREVER Z
  2.  
  3. Z-SYSTEM column #2 appearing in Morrow Owners Review,
  4. April/May 1987
  5.  
  6. (c) 1987 Rick Charnes, all rights reserved
  7.  
  8. by Rick Charnes
  9.  
  10.      By now many of you are well on the way toward creatingáì
  11. elegant command scripts for your menus and exploring the manyáì
  12. ways to make beautiful screen displays.  The menu utilitiesáì
  13. (VFILER, VMENU, MENU) are interesting: while many of us wereáì
  14. running CP/M we denigrated programs that relied heavily on menus.áì
  15. "Menus are for beginners!" we insisted.  But in Z-System the moreáì
  16. you use them the more you see how helpful they are, how much timeáì
  17. and energy they save in doing repetitious tasks.  The differenceáì
  18. between CP/M programs that display menus and Z-System menus youáì
  19. create yourself is the latter's ability to run detailed 200-áì
  20. character command lines at the touch of a key.  Most CP/M menusáì
  21. execute but a single command in this manner.
  22.  
  23.      In this regard I think I didn't stress enough in my lastáì
  24. column the importance of getting a copy of Echelon's DEMO.LBR asáì
  25. the very first step towards exploring Z-System's menuáì
  26. possibilities.  I recommend this as the first thing a newcomer toáì
  27. our operating system do.  I remember that fateful day when Iáì
  28. finally had Z-System installed for the first time.  I sat back,áì
  29. looked at what I had done, and thought, "OK, now - what do I do?" áì
  30. The suggestion was made to me that I take a look at DEMO.LBR. áì
  31. This library started me on my way and it's been a trusty guideáì
  32. ever since.  So many of my menus now, 9 months later, are derivedáì
  33. ultimately from those in this extraordinary file.  It comesáì
  34. complete with 10-page documentation (you print it out yourself),áì
  35. and is the perfect introduction to 1) seeing the beauty andáì
  36. extraordinary utility of menus, and 2) learning how easy andáì
  37. enjoyable it is to create your own, using those provided here asáì
  38. your model.  Be sure to pick up a copy from the bulletin boardáì
  39. nearest you, or direct from Echelon.
  40.  
  41.      I would like to mention a few other sources of Z-Systemáì
  42. information that I have found immeasurably helpful in my ownáì
  43. education.  First and foremost are products from Echelon, Inc. atáì
  44. 885 N. San Antonio Road, Los Altos, CA 94022.   I urge all usersáì
  45. of Z to subscribe to their stylish and lively fortnightly Z-Newsáì
  46. containing much information about new CP/M-compatible hardwareáì
  47. (and don't think it doesn't exist!), Z-System tips, announcementsáì
  48. and discussion of new programs, letters from readers,áì
  49. philosophical ruminations, etc.  It's the essential way to keepáì
  50. up with the latest developments in our Z-System world.  Iáì
  51. recommend it to every user without exception.  Echelon's newáì
  52. catalog is also out, which discusses each of their products fromáì
  53. a personalized point of view.  It's beautifully done and presentsáì
  54. Z-System from a broad historical perspective.  Lastly, theáì
  55. invaluable accompaniment to the Z-System User's Guide which mostáì
  56. of you have is ZCPR3: The Manual, available from MOR for $20. áì
  57. This is a reference manual rather than a guide, and describesáì
  58. each utility in painstaking detail, picking up where The User'sáì
  59. Guide leaves off.
  60.  
  61.      Now to HSH.COM, the amazing command recall and editingáì
  62. program.  "HSH.COM" stands for "History SHell," and that'sáì
  63. exactly what it is.  It remembers the "history" of all theáì
  64. commands you've entered and stores them in a file.  It's aáì
  65. "shell" because it envelopes all your other operations, remainingáì
  66. in the background until you need it, with no functional reductionáì
  67. in TPA.  Who among us has never typed a line such as: "NWáì
  68. LOBELTR.TXT" only to realize that the "B" was supposed to haveáì
  69. been a "V"?  In CP/M all the letters after the "B" are lost.  Youáì
  70. have no choice but to backspace and erase until you get to theáì
  71. "B", this time enter "V", and retype the rest.  If, however, ináì
  72. your STARTUP alias you loaded HSH, you can cursor to the leftáì
  73. with ^S or ^A to move to the offending letter, delete it with ^Gáì
  74. and replace it with "V", and return.  This feature is especiallyáì
  75. valuable in Z-System where we are allowed command lines of up toáì
  76. 200 characters in both a menu script and directly from theáì
  77. command line.
  78.  
  79.      This isn't the half of it.  I've found its most usefuláì
  80. feature to be command line recall.  When we are doing work fromáì
  81. the command line that entails frequent repetition of filenamesáì
  82. and commands, we are able to "recall" previously issued commands. áì
  83. They can then either be reissued as is or edited and then run. áì
  84. The author has kindly relied on the Wordstar/Newword cursoráì
  85. movement commands with which we're familiar.  To recall aáì
  86. previous command we type ^E until we get to the command weáì
  87. desire.  To move forward in our command "history" we type ^X. áì
  88. When we find the command we want, <CR> will send it to theáì
  89. operating system, or we can edit it and send it out again.
  90.  
  91.      I keep HSH in operation at all times.  It is available onáì
  92. our MOR BBS (415/654-3798) or Z-Nodes everywhere free of charge,áì
  93. courtesy of its author Michael Rubenstein.  It is a brilliantáì
  94. piece of work and adds an additional level of elegance to ouráì
  95. computing.
  96.  
  97.      Another superb program which I wanted to cover, justáì
  98. released in 1987, is ZPATCH.  This is a patching utility thatáì
  99. leaves ZAP, the program many of us previously used, in the dust.áì
  100. It is also a shell, which has a special meaning in this context. áì
  101. Remember, a shell sets itself up below your normal operations. áì
  102. Any time you choose to exit another program, you are alwaysáì
  103. returned to the shell.  Because of this feature ZPATCH has aáì
  104. power and flexibility that no comparable CP/M program such as ZAPáì
  105. or EDFILE can match.
  106.  
  107.      Suppose you have found a certain patch you want to make toáì
  108. VFILER.COM, for instance to allow for immediate execution ofáì
  109. macros 0-9 without hitting the "macro" lead-in character.  Youáì
  110. know the patch address for this byte is 011Ah.  From the Z-Systemáì
  111. command line enter "ZPATCH VFILER".  Once you are inside ZPATCHáì
  112. the actual commands for patching are very similar to any of theáì
  113. CP/M programs such as the two mentioned above.  But here's theáì
  114. rub.  Once you have made the patch and saved to disk, hit "X" toáì
  115. eXecute.  Voila!  The program VFILER is automatically run, witháì
  116. your new values in effect.  You can of course test it now to makeáì
  117. sure the changes you have made work as you wish.  Now: when youáì
  118. are finished testing, exit VFILER the way you would normally. áì
  119. ZPATCH once again takes over.  You see its "strike any key"áì
  120. message and when you do so you find yourself back in ZPATCH.  Ifáì
  121. you wish to correct the changes you made the first time or toáì
  122. patch new locations you may do so all without leaving thisáì
  123. wonderful shell we have created.  You can loop back and fortháì
  124. between patching and running as many times as you like until youáì
  125. have your program exactly as you like it.  No commands need beáì
  126. typed on your part; the entire routine is held "on the shelláì
  127. stack" and is taken care of by the operating system.  This useráì
  128. as opposed to programmer use of the shell stack is one of theáì
  129. superior elements of Z-System over CP/M.
  130.  
  131.      But that's not the end of ZPATCH's shell nature.  Suppose ináì
  132. the middle of patching you realize you're not sure of the rightáì
  133. addresses to change.  You remember they're all explained in theáì
  134. HELP file for VFILER, VFILER.HLP.  But what a shame it would beáì
  135. to have to leave ZPATCH.  Simply hit "Z".  This will return youáì
  136. to the Z-System command line but still from within the ZPATCHáì
  137. shell (a similar feature is available by typing "Z" in VFILER asáì
  138. well.)  You may then enter "HELP VFILER" (or any other Z-Systemáì
  139. command line) as if you were at your regular operating systemáì
  140. prompt.  HELP.COM will load your help file; you may read it, noteáì
  141. the patching address, and exit.  Here, rather than returning toáì
  142. your Z-System command line as you would normally, you will beáì
  143. presented with ZPATCH's familiar "strike any key."  You do so andáì
  144. you're immediately back to the precise location and screen ináì
  145. ZPATCH from which you left off.
  146.  
  147.      ZPATCH is quite an extraordinary program and is availableáì
  148. through all the usual channels.  By the way, for keeping up witháì
  149. the latest programs I must emphasize here the importance ofáì
  150. having and using a modem for any serious work in Z-System.
  151.  
  152.      I'd like to delve into a topic which is covered only in theáì
  153. most cursory manner in the Z-System User's Guide, Extendedáì
  154. Command Processing (ECP), which is especially important on floppyáì
  155. disk systems.  This feature has no parallel in CP/M.  Suppose youáì
  156. issue a command "COPY LETTER1 C:LETTER2" while logged on to B0:. áì
  157. In CP/M, if you have no program called COPY.COM that's the end ofáì
  158. it.  But not in Z-System; this is where the ECP comes into play. áì
  159. The ECP then looks for a file called CMDRUN.COM.  This file canáì
  160. be any executable program, renamed to CMDRUN.COM. Whatever thisáì
  161. file may be it then is executed.  Most people use a programáì
  162. called ARUNZ.COM.  ARUNZ stands for Alias RUN Z-System (run anáì
  163. alias) and is a real star in our repertoire.  It provides us aáì
  164. way to put all our aliases into a single supplementary file whicháì
  165. we create, called ALIAS.CMD.
  166.  
  167.      What is the advantage of this?  On a floppy disk system aáì
  168. single alias existing as its own COM file occupies a minimum ofáì
  169. 2k in disk space and 4k on a hard disk.  This is an inefficientáì
  170. use of space considering that the maximum length of an alias isáì
  171. 200 characters.  With your word processor you create a file whicháì
  172. you name ALIAS.CMD.  Into this file you then put as many aliasesáì
  173. as you like, each horizontal entry representing one alias.  Eacháì
  174. should occupy one physical line only and the individual commandsáì
  175. within an alias must be separated by semicolons, just as within aáì
  176. menu command script.  The lines themselves may extend to a rightáì
  177. margin of 200, and should begin with the name of the alias.
  178.  
  179.      Suppose you wanted to put the COPY alias that I describedáì
  180. last time into your ALIAS.CMD rather than as a "free-standing"áì
  181. COM file taking up disk space.  Your entry in ALIAS.CMD wouldáì
  182. read:
  183.  
  184.                     COPY CP $1=$2
  185.  
  186. Then when you issued your command "COPY LETTER1 C:LETTER2" youráì
  187. CCP would first look for a regular program named COPY.COM and notáì
  188. finding one would surrender control to the ECP which is hereáì
  189. ARUNZ.COM.  It in turn then passes control, complete with youráì
  190. parameters, to its auxiliary file ALIAS.CMD, and finding youráì
  191. entry will successfully execute the copy.  This entire processáì
  192. takes place very quickly, occupying just a very slight amount ofáì
  193. time greater than it would with a single program called COPY.COM.
  194.  
  195.      The possibilities are endless.  You can put as many of youráì
  196. aliases as you wish into your ALIAS.CMD and save an amazingáì
  197. amount of space, especially crucial on a floppy disk.  A niceáì
  198. variation would be:
  199.  
  200.           COPY ECHO COPYING FILE "$1" TO "2"...;CP $1=$2
  201.  
  202. to give yourself some friendly "status reporting."
  203.  
  204.      Don't forget about our memory-resident flow control, alwaysáì
  205. crucial with aliases and menu scripts.  Remember how "if", "else"áì
  206. and "fi" (endif) work together.  The following is typical:
  207.  
  208.               IF condition x exists
  209.               (do such and such command)
  210.               ELSE      ;or else if condition x does NOT exist
  211.               (do such and such OTHER command)
  212.               FI        ;it must be terminated in this manner
  213.  
  214.      A good example here, building on our alias above, would beáì
  215. to first check to see if our file existed at all.  This is done ì
  216. with the EXIST option of IF (a resident command).  The followingáì
  217. would be our ALIAS.CMD entry:
  218.  
  219. COPY IF EXIST $1;ECHO COPYING FILE "$1" TO $2...;CP $2=$1; >>
  220. ELSE;ECHO FILE "$1" DOES NOT EXIST
  221.  
  222. Each entry is separated by semicolons.  If the file does notáì
  223. exist, we are told so by means of an ECHO'ed message.
  224.  
  225.      In closing, I must mention something in our Morrow Z-Systemáì
  226. world that is most exciting.  Many of you have been hearing aboutáì
  227. the new Hitachi HD64180 chip, an 8-bit CP/M compatibleáì
  228. microprocessor capable of addressing 512k bytes of memory.  Alláì
  229. our familiar CP/M and Z-System programs can run on this chip atáì
  230. approximately twice the speed.  Several machines are now beingáì
  231. manufactured that use this chip such as the Micromint SB180 andáì
  232. the Deep Thought DT42.  We in the Morrow community may soon haveáì
  233. the opportunity to install an HD64180 to our existing computer byáì
  234. means of an add-on board made by a company called M.A.N. Systems. áì
  235. An operating system capable of multi-tasking and taking fulláì
  236. advantage of the 64180 is still under development at Echelon, butáì
  237. until then we would be able to use the extra memory primarily asáì
  238. a RAMdisk.
  239.  
  240.      There is one hitch, however: M.A.N. Systems has requestedáì
  241. that we do the necessary revisions to the Morrow BIOS.  We areáì
  242. looking for assembly language programmers willing to tackle theáì
  243. task.  Interested parties should contact me through the MORáì
  244. office.
  245.  
  246.      Lastly, don't forget the Morrow auto-install Z-System diskáì
  247. packages are now available and shipping from MOR in both floppyáì
  248. and hard disk versions, as well as the group discount for theáì
  249. Mini-Winie hard disk.  Running Z-System on a hard disk is a sightáì
  250. to behold... By the way, with purchases of these disks MOR is nowáì
  251. including my home phone number as a reference, and please feeláì
  252. free to call if you have any questions.
  253.  
  254.      Learn, experiment, and be amazed.  Z see you next time...
  255.