home *** CD-ROM | disk | FTP | other *** search
-
- HJELP is an outgrowth of numerous HELP programs, although the specific
- model is the program HELP8080.ASM from SIG/M 122.03, which forms a part
- of the collection of utilities for Richard Conn's ZCPR2. The orientation
- of these predecessors was toward electronic browsing. In its simplest
- form, such a program was little more than CP/M's TYPE, with provision to
- halt after the number of lines that would fill a screen so that the text
- that was displayed did not have to be read on the run or be detained with
- elaborate finger acrobatics using ^S. Later, arrangements were made to
- skip portions of the text that the viewer did not want to see, and finally
- a tree structure was created so that overlays could be used and much more
- selective arrangements of text could be provided.
-
- Recently there has been much emphasis on squeezing files, and on packing
- them into libraries. Squeezing is particularly attractive for HELP files
- because they tend to occupy a considerable amount of disk space, which
- eventually becomes saturated in whatever system. By applying a simple
- Huffman code to their predominantly lower case ASCII text, they usually
- can be reduced to about two-thirds of their original volume. The program
- HJELP.ASM which was issued as SIG/M xxx.xx was modified from the above
- mentioned HELP8080.COM to work directly from squeezed files, which were
- unsqueezed directly from memory as required to type them at the console.
- -
- Libraries offer two advantages towards compactifying information stored on
- a disk. The most apparent advantage is the elimination of the loose ends
- that result when a file does not completely fill the eight or sixteen or
- more sectors which are allocated to a CP/M group. The LU utility reduces
- this wastage to a single sector, which is advantageous when several rather
- small files are combined in a single library.
-
- A more important advantage, although it is less obvious at first sight,
- is that a library requires but a single entry in CP/M's main directory,
- because it contains its own directory internally. For disks of large
- capacity, the management of the directory becomes a severe problem, and
- is a fundamental limitation on the applicability of CP/M as presently
- conceived.
-
- HJELP has been extended to work with a suite of HELP files, some or all of
- which belong to the same library. HJELP can then make more effective use of
- memory by dividing a HELP file up into more overlays, without paying the price
- of proliferating directory entries for each overlay. There is still a price
- which is paid when the library's internal directory has to be translated into
- disk sectors relative to CP/M's directory. It is easiest to read up to the
- desired library entry sequentially, but it would be even better to be able to
- calculate the exact position and start reading from it immediately.
- -
- A notation is needed for members of library files. The one chosen for HJELP
- resembles the scheme used to adjoin area codes to telephone numbers. Thus
-
- (LIBRARY) FILE.EXT
-
- states that FILE.EXT is a member of LIBRARY.LBR, whose implicit extension
- is .LBR, but could be anything else. Spaces are permitted after the right
- parenthesis to improve legibility.
-
- For example, in this HELP file, the listings of HJELP for the Intel 8080
- and for the Intel 8086 have been incorporated into the file for purposes
- of reference by inserting information sections of the following form:
- (note that space has been saved by squeezing them)
-
- :: (HJELP) HJELP.AQM
- :: (HJELP) HJELP.AQ6
-
- To keep them from being interpreted as subfiles, and thus having their
- first lines listed as a menu (or else having to place an extraneous colon
- at their head), they must begin with some control character. A carriage
- return, signifying an initial blank line, will do.
-
- -
- HJELP can use a HELP library in several ways. The file that we are now using
- is called HJELP.HLP. The command line
-
- HJELP HJELP
-
- will search for it and load it if it is present on the disk. In this mode
- of operation, the file HJELP.HLP may refer to as many additional flies or
- libraries as desired by designating them as information sections in the
- usual manner. To ensure their presence on the same disk, concurrently with
- HJELP.HLP itself, we could create a library called HJELP.LBR, include
- HJELP.HLP in it as a member, and issue the command line
-
- HJELP (HJELP)
-
- The same idea can be applied to any other file name; thus HJELP (X) would
- suppose that X.LBR contains the HELP file X.HLP and any other additional
- files needed for internal reference. Consequently a very elaborate HELP
- system can be devised, which will still take up only one directory entry.
-
- HJELP alone, according to our custom, will produce a tutorial message
- containing advice on how to use it; however the message is internal, not
- loaded from a disk. This behaviour is different from ZCPR2 HELP.
- -
- HJELP has additional characteristics. Used in conjunction with three of
- Vector Graphic's "dense graphics" boards, a RGB display can be created
- which can be used to illustrate the remainder of the text in the HELP file.
- Alternatively, a HELP file can be created that will serve as a description
- of an accompanying video display. The information section must then define
- the color images, which can also be taken as squeezed files from the same
- library. The format is
-
- :: R=(L)WH.VGR R-(L)RED.VGR G=(L)BL.VGR G+(L)GREEN.VGR B=(L)BLUE.VGR
-
- In this example, the library L.LBR contains color images RED.VGR,
- GREEN.VGR, BLUE.VGR, BL.VGR and WH.VGR, which evidently have not been
- squeezed. WH is a white image, BL a black image. The three operation
- symbols =, +, and - indicate that the image is to be loaded as is, or
- else ored into a previous image, or complemented with the previous image.
- There are altogether three alternatives for an information section. It
- can define a color composite, it can load a file for consultation, or it
- can define a whole new HELP file. All three can be combined, but only one
- of the latter two alternatives makes sense at a time. They are distinguished
- by whether the cited file begins with a control character, or alternatively,
- with a colon or some other character. A colon or control character designates
- a once-only text file, otherwise it is a new menu-driven HELP file.
- -
-
- The color capabilities will only be interesting for those systems which have
- memory mapped graphics, color or monochrome. In those cases the assembly
- listing will have to be consulted to define the memory areas into which the
- images are to be loaded.
-
- Even with out the video graphics capability, HJELP will be very useful for
- organizing and presenting a large collection of data in an orderly manner.
- It will be most useful when the information has been prepared in panel sized
- installments organized in a combination of sequential and tree format.
-