from: Dennis V. Jensen
Ames Laboratory
310 Metallurgy
Ames, Iowa 50011 515/294-4823
subject: HGraf3 - An HGraph DECUS Release for REGIS.
The initial DECUS release of HGraph was at the Fall
1983 Symposium. Release one was coded entirely in DEC
Fortran 66 compatible code. The second release was
distributed at the Spring 1984 symposium. Included in
the second release was a new WRTSTR (extracted as
WRTST2.*) which would generate characters as vectors
(stroke font); it was not dependent on any particular
terminal's character generator. Also, included was a
cubic spline interpolation line drawing routine
(extracted as SMOOTH.*) which was compatible with the
DASHLN calling convention. HGR550 files on this
distribution are the same as the second release (Hgraf2)
files which support the Visual 550 (TEK4014 compatible)
and the Bausch and Lomb DMPL plotters.
This third release includes support for REGIS
compatible terminals. It was initially developed for
the VT-125 terminal although it should work with other
REGIS compatible terminals. Refer to the VT125.DOC file
for information on which modules were modified to adapt
Hgraph to this terminal; it includes insights as to the
conversion for other terminals if users would like to
make changes. The HGR125 files support a REGIS terminal
and the Bausch and Lomb DMPL plotters.
Hgraph is coded in FLECS. This structured Fortran
code is contained in the .FLX files. The FLECS
generated Fortran 66 code is in the .FOR files. The
HGraph document is in the HGraph.DOC file with the
associated Runoff file as HGraph.RNO. An RT-11 FLECS
translator FLECS.* (RE: RT SIG Fall 81 Tape) is also
included for reference. Refer to the VAX Fall 82 SIG
Tape [VAX82B.FORDAERO.UTIL.FORDUTIL] (or something to
this effect) for a VMS FLECS translator. Other Flecs
translators are available from SIG tapes and the DECUS
library.
PLOT3D.FOR is included as a separate file. A FLECS
version is not included as it does not exist. PLOT3D is
known to have bugs, but will work for many of the 3D
plots you may wish to do. Although considerable
HGraf3 - HGraph DECUS Release - REGIS support. PAGE 2
development is occuring at the Ames Laboratory on the 2D
versions of HGraph, no additional work is currently
planned for the 3D code; PLOT3D should be treated as
unsupported.
In general, you will find that the source code is
quite transportable to other operating systems,
especially if you transport the .FOR files. Hgraph was
designed to provide graphics support on small systems
but is quite extendable to larger systems.
You can look forward to a new interactive graphics
editor called UGraph which is based on Hgraph. It is
menu driven and requires no programming. It
unfortunately is getting larger though and is being
developed on the VAX. An overlayed version for small
systems may be possible, though. It is running in test
mode now and will likely be available in the Spring of
1985.
The following notes relate primarily to Hgraph on
RT-11 (small) systems. They are included as they may
help you isolate setup problems:
When using HGRAPH it is common to encounter the
message "LINK-F-Library list overflow". Increase the
library list size with the /P switch when linking. For
example:
r link
prog/P:400=prog,sy:hgraph
A commonly occuring run-time error when using
HGRAPH is "?MON-F-Trap to 4 NNNNNN" or "Stack Overflow".
This message likely indicates a lack of program stack
space. The solution is to increase the amount of
program stack space using the /B linker option. For
example:
r link
prog/B:1400/P:400=prog,sy:hgraph
The default value of B is 1000 octal. This problem will
undoubtedly be encountered when using threaded code.
All code included in this distribution is in the
public domain and may not be marketed for profit. It
may be altered without the explicit permission of the
authors. Any corrections or significant modifications
to HGraph are of interest to the authors and may be
communicated to the address above. The authors and
their employers assume no responsibility for the
correctness or the appropriatness of the software
included in this distribution.