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
Wrap
Text File
|
2000-06-30
|
7KB
|
127 lines
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.