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 / CPMHELP / HJELP.LBR / HJELP.DQC / HJELP.DOC
Text File  |  2000-06-30  |  7KB  |  127 lines

  1.  
  2. HJELP is an outgrowth of numerous HELP programs, although the specific
  3. model is the program HELP8080.ASM from SIG/M 122.03, which forms a part
  4. of the collection of utilities for Richard Conn's ZCPR2. The orientation
  5. of these predecessors was toward electronic browsing. In its simplest
  6. form, such a program was little more than CP/M's TYPE, with provision to
  7. halt after the number of lines that would fill a screen so that the text
  8. that was displayed did not have to be read on the run or be detained with
  9. elaborate finger acrobatics using ^S. Later, arrangements were made to
  10. skip portions of the text that the viewer did not want to see, and finally
  11. a tree structure was created so that overlays could be used and much more
  12. selective arrangements of text could be provided.
  13.  
  14. Recently there has been much emphasis on squeezing files, and on packing
  15. them into libraries. Squeezing is particularly attractive for HELP files
  16. because they tend to occupy a considerable amount of disk space, which
  17. eventually becomes saturated in whatever system. By applying a simple
  18. Huffman code to their predominantly lower case ASCII text, they usually
  19. can be reduced to about two-thirds of their original volume. The program
  20. HJELP.ASM which was issued as SIG/M xxx.xx was modified from the above
  21. mentioned HELP8080.COM to work directly from squeezed files, which were
  22. unsqueezed directly from memory as required to type them at the console.
  23. -
  24. Libraries offer two advantages towards compactifying information stored on
  25. a disk. The most apparent advantage is the elimination of the loose ends
  26. that result when a file does not completely fill the eight or sixteen or
  27. more sectors which are allocated to a CP/M group. The LU utility reduces
  28. this wastage to a single sector, which is advantageous when several rather
  29. small files are combined in a single library.
  30.  
  31. A more important advantage, although it is less obvious at first sight,
  32. is that a library requires but a single entry in CP/M's main directory,
  33. because it contains its own directory internally. For disks of large
  34. capacity, the management of the directory becomes a severe problem, and
  35. is a fundamental limitation on the applicability of CP/M as presently
  36. conceived.
  37.  
  38. HJELP has been extended to work with a suite of HELP files, some or all of
  39. which belong to the same library. HJELP can then make more effective use of
  40. memory by dividing a HELP file up into more overlays, without paying the price
  41. of proliferating directory entries for each overlay. There is still a price
  42. which is paid when the library's internal directory has to be translated into
  43. disk sectors relative to CP/M's directory. It is easiest to read up to the
  44. desired library entry sequentially, but it would be even better to be able to
  45. calculate the exact position and start reading from it immediately.
  46. -
  47. A notation is needed for members of library files. The one chosen for HJELP
  48. resembles the scheme used to adjoin area codes to telephone numbers. Thus
  49.  
  50.         (LIBRARY) FILE.EXT
  51.  
  52. states that FILE.EXT is a member of LIBRARY.LBR, whose implicit extension
  53. is .LBR, but could be anything else. Spaces are permitted after the right
  54. parenthesis to improve legibility.
  55.  
  56. For example, in this HELP file, the listings of HJELP for the Intel 8080
  57. and for the Intel 8086 have been incorporated into the file for purposes
  58. of reference by inserting information sections of the following form:
  59. (note that space has been saved by squeezing them)
  60.  
  61.  :: (HJELP) HJELP.AQM
  62.  :: (HJELP) HJELP.AQ6
  63.  
  64. To keep them from being interpreted as subfiles, and thus having their
  65. first lines listed as a menu (or else having to place an extraneous colon
  66. at their head), they must begin with some control character. A carriage
  67. return, signifying an initial blank line, will do.
  68.  
  69. -
  70. HJELP can use a HELP library in several ways. The file that we are now using
  71. is called HJELP.HLP. The command line
  72.  
  73.         HJELP HJELP
  74.  
  75. will search for it and load it if it is present on the disk. In this mode
  76. of operation, the file HJELP.HLP may refer to as many additional flies or
  77. libraries as desired by designating them as information sections in the
  78. usual manner. To ensure their presence on the same disk, concurrently with
  79. HJELP.HLP itself, we could create a library called HJELP.LBR, include
  80. HJELP.HLP in it as a member, and issue the command line
  81.  
  82.         HJELP (HJELP)
  83.  
  84. The same idea can be applied to any other file name; thus HJELP (X) would
  85. suppose that X.LBR contains the HELP file X.HLP and any other additional
  86. files needed for internal reference. Consequently a very elaborate HELP
  87. system can be devised, which will still take up only one directory entry.
  88.  
  89. HJELP alone, according to our custom, will produce a tutorial message
  90. containing advice on how to use it; however the message is internal, not
  91. loaded from a disk. This behaviour is different from ZCPR2 HELP.
  92. -
  93. HJELP has additional characteristics. Used in conjunction with three of
  94. Vector Graphic's "dense graphics" boards, a RGB display can be created
  95. which can be used to illustrate the remainder of the text in the HELP file.
  96. Alternatively, a HELP file can be created that will serve as a description
  97. of an accompanying video display. The information section must then define
  98. the color images, which can also be taken as squeezed files from the same
  99. library. The format is
  100.  
  101.  :: R=(L)WH.VGR R-(L)RED.VGR G=(L)BL.VGR G+(L)GREEN.VGR B=(L)BLUE.VGR
  102.  
  103. In this example, the library L.LBR contains color images RED.VGR,
  104. GREEN.VGR, BLUE.VGR, BL.VGR and WH.VGR, which evidently have not been
  105. squeezed. WH is a white image, BL a black image. The three operation
  106. symbols =, +, and - indicate that the image is to be loaded as is, or
  107. else ored into a previous image, or complemented with the previous image.
  108. There are altogether three alternatives for an information section. It
  109. can define a color composite, it can load a file for consultation, or it
  110. can define a whole new HELP file. All three can be combined, but only one
  111. of the latter two alternatives makes sense at a time. They are distinguished
  112. by whether the cited file begins with a control character, or alternatively,
  113. with a colon or some other character. A colon or control character designates
  114. a once-only text file, otherwise it is a new menu-driven HELP file.
  115. -
  116.  
  117. The color capabilities will only be interesting for those systems which have
  118. memory mapped graphics, color or monochrome. In those cases the assembly
  119. listing will have to be consulted to define the memory areas into which the
  120. images are to be loaded.
  121.  
  122. Even with out the video graphics capability, HJELP will be very useful for
  123. organizing and presenting a large collection of data in an orderly manner.
  124. It will be most useful when the information has been prepared in panel sized
  125. installments organized in a combination of sequential and tree format.
  126.  
  127.