Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-05 - decus/20-0152/105doc.rno
There are 2 other files named 105doc.rno in the archive. Click here to see a list.
.page size 58,65
.FLAGS UNDERLINE.hd.t VT105 FORTRAN Graphing Package
.subtitle
.c; ABSTRACT
.AP
 The VT105 Graphics Package consists of 44 FORTRAN subroutines, 3 MACRO 
subroutines and
13 demonstration programs.  The graphics subroutines perform the necessary
functions that enable you to use the VT105 as a graphics terminal; the
demonstration programs include examples of some of the graphics subroutines.
The package also includes three spline fitting routines that enable you
to draw smooth nonlinear curves for data where relationships cannot be
easily defined mathematically.
 The package is distributed on a single magnetic tape, 1600 bpi, 9-track,
in 10/20 BACKUP/INTERCHANGE format.
.pg.BLANK 10
 The information in this document is subject to change without notice and
should not be construed as a commitment by Digital Equipment Corporation.
Digital Equipment Corporation assumes no responsibility for any errors that
may appear in this document.
 No responsibility is assumed for the use or reliability of software on
equipment that is not supplied by Digital or its affiliated companies.
.SKIP 15
 The following are trademarks of Digital Equipment Corporation:
.BLANK 2
.NO FILL.ts 10,27,45
	DIGITAL	OMNIBUS	FLIP CHIP
	DEC	MASSBUS	DECtape
	DECUS	UNIBUS	DECwriter
	PDP	DECnet	VT
	VAX	DIBOL	RSX
	DECsystem-10	IAS	PDT
	DECSYSTEM 20	RSTS	VMS
.FILL.ts8,16,24
.pg
.hl1 INTRODUCTION
The VT105 Graphics Package consists of 44 FORTRAN subroutines, 3 MACRO 
subroutines and 13
demonstration programs.  The graphics subroutines perform the necessary
functions that enable you to use the VT105 as a graphics terminal. The
demonstration programs include examples of how to use some of the graphics subroutines.
.hl1 GRAPHICS SUBROUTINES
This section lists the graphics subroutines in alphabetical order and presents a brief description of each routine.
 Three of the routines, SPFIT, SPGET and SPLPLT, enable you to draw a smooth
nonlinear curve through data whose relationships cannot be easily defined
mathematically.  The procedure is called spline fitting.
.hl2 ADOC
ADOC contains comments on the graphics subroutines.  GRDOC is not executable.
.hl2 BOUNDS
BOUNDS finds the minimum and maximum value of a real array or an integer array.
.hl2 GRAPHM
GRAPHM displays a graph in either the static or stripchart mode.
.hl2 GRAPHS
GRAPHS displays a graph in the static mode (no stripcharting).
.hl2 GRCLN
GRCLN erases the terminal screen prior to using any graphic routine.
.hl2 GRFRAM
GRFRAM constructs the graph frame.
.hl2 GRHLIN
GRHLIN places a horizontal line at a specified location on the vertical axis.
.hl2 GRINDX
GRINDX stores the cursor position for a maximum of 10 points.
.hl2 GRINIT
GRINIT initializes the information buffer, IBUF.  IBUF stores data passed between subroutines.
.hl2 GRLM
GRLM updates X-axis labels during Strip-Chart mode graphing.
.hl2 GRMARK
GRMARK positions or erases graph markers.
.hl2 GRPNTM
GRPNTM displays a graph point by point in the stripchart mode.
.hl2 GRPNTS
GRPNTS displays a graph point by point in the static mode.
.hl2 GRREGN
GRREGN specifies the region in which a graph will be displayed.  Three regions 
are recognized:  upper half, lower half, full screen.
.HL2 GRSCAL
GRSCAL enters user specified scaling factors into the IBUF array.
.hl2 GRSHAD
GRSHAD sets or changes the shade line.
.hl2 GRVIEW
GRVIEW turns a graph on or off.
.hl2 INDX
INDX locates a character within a string for the GRINDX subroutine.
.hl2 OUTSTR
OUTSTR is a MACRO subroutine that outputs character strings without FORTRAN 
output overhead.
.hl2 NEREAD
NEREAD is a MACRO subroutine that reads a single character from the terminal 
without echoing it.
.hl2 SLEEP
SLEEP is a MACRO subroutine that returns after a specified time.
.hl2 SPFIT
SPFIT generates the moment spline coefficients.
.hl2 SPGET
SPGET computes a point interpolated on a spline curve for any given X point.
.hl2 SPLPLT
SPLPLT produces a moving window spline fit and displays the fit.
.hl2 VTCLR
VTCLR erases the screen of all graphics and text displays, and then it
positions the cursor in the home poisiton.
.hl2 VTBRIT
VTBRIT sets the terminal to a light background.
.hl2 VTDARK
VTDARK sets the terminal to a dark background.
.hl2 VTDBLW
VTDBLW changes a line to either double or single width.
.hl2 VTELIN
VTELIN erases either all of a part of a line.
.hl2 VTERAS
VTERAS erases either all or a portion of the screen.
.hl2 VTHOME
VTHOME moves the cursor to the home positon.
.hl2 VTHTXT
VTHTXT displays a string with the first character positioned in a
specified row and column.
.hl2 VTJUMP
VTJUMP sets the terminal to the jump scroll mode.
.hl2 VTLED
VTLED controls the LED display on the keyboard.
.hl2 VTMCUR
VTMCUR moves the cursor to a specified row and column.
.hl2 VTMODE
VTMODE sets the mode in which characters appear on the screen.
.hl2 VTROLL
VTROLL sets the terminal scroll area.
.hl2 VTRSTC
VTRSTC restores the saved cursor position and graphic rendition.
.hl2 VTSAVC
VTSAVC saves the current cursor position and graphic rendition.
.hl2 VTSCRL
VTSCRL sets the terminal to the smooth scroll mode.
.hl2 VT52
VT52 set the terminal in VT52 mode.
.hl2 VT80C
VT80C sets the terminal to the 80 column mode.
.hl2 VT100
VT100 set the terminal in VT100 mode.
.hl2 VT132C
VT132C sets the terminal to the 132 column mode.
.hl1 demonstration programs
.hl2 SPLPLT
PROGRAM SPLPLT demonstrates the spline curve subroutine, SPLPLT.
.hl2 TEST2
PROGRAM TEST2 displays four graphs using the GRAPHS routine.  The graphs
are: graph 0 with shading, graph 0 in upper area, graph 1 in lower area, and graph 1 with autoscaling.
.hl2 TEST3
PROGRAM TEST3 displays four graphs using the GRAPHM routine.  the graphs are:
graph 0 with shading, graph 0 with stripcharting, graph 0 with stripcharting
and autoscaling and graph 0 with stripcharting in upper area.
.hl2 TEST4
PROGRAM TEST4 demonstrates the point plot routine, GRPNTS and the horizontal line routine, GRHLIN.
.HL2 TEST5
PROGRAM TEST5 demonstrates turning graphs on and off using GRVIEW.
.HL2 TEST6
PROGRAM TEST6 demonstrates shading lines on a graph using GRSHAD.
.HL2 TEST7
PROGRAM TEST7 demonstrates storing the cursor positions using GRINDX.
.HL2 TEST8
PROGRAM TEST8 demonstrates storing the cursor positions using GRINDX with the X array default option.
.hl2 TEST9
PROGRAM TEST9 demonstrates how to place the cursor using GRMARK.
.hl2 PEAK6
PROGRAM PEAK6 draws curve (the sum of 6 gaussian curves) in the upper display area.  GRINDX is then used to define a window within 
that curve.  The autoscaling feature of GRAPHS is used to display the expanded contents of the window in the lower display area.
.HL1 Building the library
To build the VT105 Graphics Library, do the following:
.ls.le;Mount the VT105 Graphics Package distribution tape (tape is in BACKUP/INTERCHANGE mode).
.le;Copy the tape into an account on the DECsystem 10 or DECSYSTEM 20.
.le;Edit SLEEP.MAC, OUTSTR.MAC and NEREAD.MAC.  Select DEC 10 or DEC 20 assembly by assigning the 
symbol FT10 or FT20 to 1 and the other to 0.
.le;Execute the command files by entering (on DECSYSTEM 20):
.bl.LS .LE;SUBMIT BUILD	(Builds subroutine library)
.le;SUBMIT COMPIL	(Builds demonstration programs)
.els
.le;Execute the command files by entering (on DECsystem 10):
.bl.LS .LE;DO BUILD	(Builds subroutine library)
.le;DO COMPIL	(Builds demonstration programs)
.le;DO VT105	(Runs some of the demonstration programs)
.els.els
.NOTE
If your system does not support the MIC program, use the command "SUBMIT"
instead of "DO".
.en
 BUILD creates a subroutine library, GRLIB.REL, which you can link with your FORTRAN program to create an executable image
containing VT105 graphing code.  Because the VT105 subroutines call each other, you must pass the library to the linker twice:
.bl.LS .LE;RUN LINK
.LE;*TEST2,GRLIB/S,GRLIB/S/G
.LE;*^C
.LE;SAVE
.ELS
.HL1 RUNNING the demonstration programs
.note
The VT105 subroutines may output very long strings of ASCII characters to the 
terminal while in Graphics Mode.  To prevent the operating system sending 
extraneous carriage returns and line feeds which will cause undefined display 
problems, SET TTY NO CRLF and SET TTY PA 0 on the DECsystem 10 (TERM WI 0 and 
TERM PAG 0 on the 
DECSYSTEM 20) prior to executing a program using the subroutines.
.en
.hl2
To execute the demonstration programs TEST2, TEST3, TEST4, TEST5, TEST6 and
TEST9 enter:
 RUN "PRONAME" <ret>
.bl
where: "PRONAME" is the program name.
.hl2
To execute the demonstration program SPLPLT
enter:
.b.ls .le;number of data pairs (maximum is 20)
.le;the x,y pairs
.le;window size for the spline fit (range is 4-20)
.els.hl2
To exectute the demonstrations programs TEST7 or TEST8 enter:
 RUN TEST7 <RET>
 or
 RUN TEST8 <RET>
 After the routine completes the display, you can move the cursor with the
arrow keys. To store the current cursor position in a array press any of the number keys.  To exit from the program enter a <ret>.
 The program will display the array that contains the cursor positions.
.hl2
To execute the demostration program PEAK6 enter:
 RUN PEAK6 <RET>
 After the routing completes the display, you can move the cursor with the --> and <-- arrow keys.  Select a left (press the "1" 
key to store location) and a right (press "2") end for a window.  Press <RETURN> to display the expanded window.
.pg
.hl1 subroutine bounds
BOUNDS finds the minimum and maximum value of a real array or an integer array.
 ^&Form\&
 CALL BOUNDS (ITYPE,ARRAY,XMAX,XMIN,NPTS)
 or
 CALL BOUNDS (ITYPE,d,d,d,NPTS,IARRAY,IMAX,IMIN)
 ^&Arguments\&
.ls.le;ITYPE	denotes the array data type:
.BL.ls.le;if the array is real
.le;if the array is integer
.els.le;ARRAY	is the name of a real array
.le;XMAX	is the maximum value of a real array
.le;XMIN	is the minimum value of a real array
.le;NPTS	is the number of points in an array
.le;IARRAY	is the name of an integer array
.le;IMAX	is the maximum value of an integer array
.le;IMIN	is the minimum value of an integer array
.le;d	is a dummy variable
.els
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
.b.ls.le;TEST2
.le;TEST3
.le;TEST4
.le;TEST6
.le;TEST9
.els.pg
.hl1 subroutine graphm
GRAPHM displays a graph in the stripchart mode.
 ^&Form\&
 CALL GRAPHM (IBUF,MODE,X,Y,NPTS,SHADE,IGR,FACTOR)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer
.le;MODE	is used to enable or disable display features.
.bl.i 15;Option	Value
.bl.ls.le;FRAME		##1
.le;HORIZONTAL LINES	##2
.le;SHADING		##4
.le;MOVE		#16
.le;AUTOSCALING		#32
.le;UNITS		#64
.le;MARKERS		128
.els.note
HORIZONTAL LINES can be used if FRAME is selected.
.en.le;X	is the array for the horizontal axis.  
.le;Y	is the array for the vertical axis.  
.le;NPTS	is the number of points to be plotted.
.le;SHADE	is the position on the vertical axis (expressed in user values) at
which shading is to be done.  
.le;IGR	is the graph number, either 0 or 1.  
.le;FACTOR	is the multiplier used to provide scaling for the horizontal
axis.  The computation is (number of points) * (FACTOR).
.els
 ^&Restrictions\&
 None.
 ^&Related Test Programs\&
 TEST3
.pg
.hl1 subroutine GRAPHS
GRAPHS displays a graph in the static mode (no stripcharting).  GRAPHS takes
less memory than GRAPHM.
 ^&Form\&
 CALL GRAPHS (IBUF,MODE,X,Y,NPTS,SHADE,IGR,FACTOR)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer.
.le;MODE	is used to enable or disable display features.
.bl.i 15;Option	Value
.bl.ls.le;FRAME		##1
.le;HORIZONTAL LINES	##2
.le;SHADING		##4
.le;AUTOSCALING		#32
.le;UNITS		#64
.le;MARKERS		128
.els.le;X	is the array for the horizontal axis.  
.le;Y	is the array for the vertical axis.  
.le;NPTS	is the number of points to be plotted.
.le;SHADE	is the position on the vertical axis (expressed in user values) at
which shading is to be done.  
.le;IGR	is the graph number, either 0 or 1.  
.le;FACTOR	is the multiplier used to provide scaling for the horizontal
axis.  The computation is (number of points) * (FACTOR).
.els
 ^&Restrictions\&
 GRAPHS does not have a MOVE option.
 ^&Related Test Programs\&
.b.ls.le;SPLPLT
.le;TEST2
.le;TEST4
.le;TEST5
.le;TEST6
.le;TEST7
.le;TEST8
.le;TEST9
.els.pg
.hl1 subroutine grcln
GRCLN erases the terminal screen prior to using any graphic routine.
 ^&Form\&
 CALL GRCLN (IBUF,IGRAPH)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer.
.le;IGRAPH	is the region code.  If IGRAPH=0, the region for graph 0 will be
cleared. If IGRAPH=1, the region for graph 1 will be cleared.
.els
 ^&Restrictions\&
 None.
 ^&Related Test Programs\&
.b.ls.le;SPLPLT
.le;TEST4
.els.pg
.hl1 subroutine GRDOC
GRDOC includes comments for the graphics subroutines.
 ^&Form\&
 CALL GRDOC
 ^&Arguments\&
 None
 ^&Restrictions\&
 GRDOC is not executable and will return with no action.
 ^&Related Test Programs\&
 None
.pg
.hl1 subroutine GRFRAM
GRFRAM constructs the graph frame.  It constructs the following: top
and bottom horizontal lines, the vertical bars on the sides of the graph.
It also places the dot for a graph on a line coincident with the bottom 
vertical line and finally it labels the graph on the horizontal and
vertical axis.
 ^&Form\&
 CALL GRFRAM (IBUF,IGRAPH,MODE)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer
.le;IGRAPH	is the graph region; either 0 or 1.
.le;MODE	is used to enable or disable display features.
.bl.i 15;Option	Value
.bl.ls.le;FRAME		##1
.le;HORIZONTAL LINES	##2
.le;SHADING		##4
.le;MOVE		#16
.le;AUTOSCALING		#32
.le;UNITS		#64
.le;MARKERS		128
.els.els
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 TEST4
.pg
.hl1 subroutine GRHLIN
GRHLIN places a horizontal line at a specified location on the vertical axis.
 ^&Form\&
 CALL GRHLIN (IBUF,USER,IGR)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer
.le;USER	is the horizontal line position in user values.
.le;IGR	is the graph number; either 0 or 1. 
.els
 ^&Restrictions\&
 Before using GRHLIN, the graph must have been scaled; either by using
a previous graph call or by calling GRSCAL.
 ^&Related Test Programs\&
 TEST4
.pg
.hl1 subroutine GRINDX
GRINDX stores the cursor position for a maximum of 10 points.
 ^&Form\&
 CALL GRINDX (IBUF,X,NPTS,ARRAY,IGR)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer
.le;X	is the array for the x-axis.
.le;NPTS	is the number of points in the array.
.le;ARRAY	is the 10 element array which contains the cursor positions.
.le;IGR	is the graph number; either 0 or 1.  
.els
 ^&Restrictions\&
 The cursor positions are numbered 1 through 0, 0 is the tenth point.
Cursor positioning is performed using the <-- and --> cursor control
keys.
 ^&Related Test Programs\&
.b.ls.le;TEST7
.le;TEST8
.le;PEAK6
.els.pg
.hl1 subroutine GRINIT
GRINIT initializes the information buffer IBUF.
 ^&Form\&
 CALL GRINIT (IBUF)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer
.els
 ^&Restrictions\&
 None.
 ^&Related Test Programs\&
.b.ls.le;SPLPLT
.le;TEST4
.els.pg
.hl1 subroutine GRMARK
GRMARK positions or erases the cursor.
 ^&Form\&
 CALL GRMARK (IBUF,X,MODE,IGR)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer
.le;X	is the x-axis position of the cursor
.le;MODE	MODE=0 to erase, MODE=1 to place the cursor.
.le;IGR	is the graph number; either 0 or 1.  
.els
 ^&Restrictions\&
 None.
 ^&Related Test Programs\&
 TEST9
.pg
.hl1 subroutine GRPNTM
GRPNTM displays a graph of X,Y points in the stripchart mode.
 ^&Form\&
 CALL GRPNTM (IBUF,MODE,X,Y,IGR,FACTOR)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer
.le;MODE	is used to enable or disable display features.
.bl.i 15;Option	Value
.bl.ls.le;MOVE	#16
.els.le;X	is the horizontal X-axis point.
.le;Y	is the vertical Y-axix point.  
.le;IGR	is the graph number; either 0 or 1.  
.le;FACTOR	is a multiplier used to scale the horizontal axis while
in the strip chart mode.  The computation is (number of points) * (FACTOR)
.els
 ^&Restrictions\&
 None.
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine GRPNTS
GRPNTS displays a graph of X,Y points in the static mode (no stripcharting).
 GRPNTS takes less memory than 	GRPNTM.
 ^&Form\&
 CALL GRPNTS (IBUF,MODE,X,Y,IGR)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer
.le;MODE	is unused, supplied for GRPNTM compatability.
.le;X	is the horizontal X-axis point.
.le;Y	is the vertical Y-axix point.  
.le;IGR	is the graph number; either 0 or 1.  
.le;FACTOR	is the multiplier used to provide scaling for the horizontal
axis.  The computation is (number of points) * (FACTOR).
.els
 ^&Restrictions\&
 Use GRSHAD if shading is desired.  GRPNTS does not have the MOVE option.
 ^&Related Test Programs\&
 TEST4
.pg
.hl1 subroutine GRREGN
GRREGN specifies the region in which a graph will be displayed.  Three regions
are provided: full screen, upper half, lower half.
 ^&Form\&
 CALL GRREGN (IBUF,IGRAPH,IRGN)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer
.le;IGRAPH	is the graph number; either 0 or 1.  
.le;IRGN	is the region code.
.i 15;Option	Value
.ls.le;Upper display area	1
.le;Lower display area	2
.le;Full display area	3
.els.els
 ^&Restrictions\&
 None.
 ^&Related Test Programs\&
.b.ls.le;SPLPLT
.le;TEST2
.le;TEST3
.le;TEST4
.le;TEST5
.els.pg
.hl1 subroutine GRSCAL
GRSCAL enters scaling factors into the IBUF array.
 ^&Form\&
 CALL GRSCAL (IBUF,XMIN,XMAX,YMIN,YMAX,IGRAPH)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer
.le;XMIN	is the minimum value of the X-axis
.le;XMAX	is the maximum value of the X-axis
.le;YMIN	is the minimum value of the Y-axis
.le;YMAX	is the maximum value of the Y-axis
.le;IGRAPH	is the graph number; either 0 or 1.  
.els
 ^&Restrictions\&
 If autoscaling is used for the same graph after GRSCAL has been
called, the scaling data will be lost.
 ^&Related Test Programs\&
.b.ls.le;SPLPLT
.le;TEST4
.els.pg
.hl1 subroutine GRSHAD
GRSHAD sets the shade line or changes it for any of the graph modes.  It must
be used if shading in point plot mode is used.
 ^&Form\&
 CALL GRSHAD (IBUF,SHADE,IGR)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer
.le;SHADE	is the point on the vertical axis (expressed in user values) at which
shading is to be done.  
.le;IGRAPH	is the graph number; either 0 or 1.  
.els
 ^&Restrictions\&
 None.
 ^&Related Test Programs\&
 TEST6
.pg
.hl1 subroutine GRVIEW
GRVIEW turns a graph on or off.  It is used when two graphs occup the same
plotting region and you want to see them individually.
 ^&Form\&
 CALL GRVIEW (IBUF,IARG,IGRAPH)
 ^&Arguments\&
.ls.le;IBUF	is the 30 element information buffer
.le;IARG	is the ON/OFF option.
.bl.i15;Option	Value
.bl.ls.le;Turn graph off	0
.le;Turn graph on	1
.els.le;IGRAPH	is the graph number; either 0 or 1.  
.els
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 TEST5
.pg.hl1 subroutine SPFIT
SPFIT generates the moment spline coefficients for a set of data points.
 The subroutine is based on the following paper by R.F. Davis:
Technical Memorandum, File No. TM 512.3531-02, July 23, 1968, Ordnance
Research Laboratory.
 ^&Form\&
 CALL SPFIT (N,X,F,Y,EL,A,B,C)
 ^&Arguments\&
.ls.le;N	is the number of data points
.le;X	is the independent variable array
.le;F	is the array containing the spline curve coefficients
.le;Y	is the dependent variable array
.le;EL,A,B,C	are working arrays used by the routine
.els
 ^&Restrictions\&
 The values of the independent variable array must be ordered in ascending
sequence.
 The following DIMENSION statement must be included in the main program:
.bl.i10;DIMENSION X(n),Y(n),F(n),EL(n),A(n),B(n),C(n)
 where n must be greater than
or equal to the number of points to be spline fit.
 ^&Related Test Programs\&
 None.
.pg.hl1 subroutine SPGET
SPGET computes a point interpolated on a spline curve for any given X point.
 The subroutine is based on the following paper by R.F. Davis:
Technical Memorandum, File No. TM 512.3531-02, July 23, 1968, Ordnance
Research Laboratory.
 ^&Form\&
 CALL SPGET (N,X,F,Y,EL,AX,AF,APR,ADPF)
 ^&Arguments\&
.ls.le;N	is the number of data points
.le;X	is the independent variable array
.le;F	is the array containing the spline curve coefficients
.le;Y	is the dependent variable array
.le;EL	is a working array used by the routine
.le;AX	is the X point for which the interpolation will be performed
.le;AF	is the corresponding Y value from the spline curve
.le;APR	is the first derivative value at the point AX, AF of the spline curve
.le;ADPF	is the second derivative value at the point AX, AF of the spline curve
.els
 ^&Restrictions\&
 The values of the independent variable array must be ordered in ascending sequence.
 The original arrays of points and spline curve coefficients must be
transferred to the subroutine.  The subroutine will return the value of Y
with the value of the first and second derivative of the interpolated point.
Space must be provided for these values even though they may not be needed.
 ^&Related Test Programs\&
 None.
.pg.hl1 subroutine SPLPLT
SPLPLT produces a moving window spline fit and displays the fit over each data
interval.  In normal practice the spline fit is performed for an entire set in
one pass and yields one set of coefficients.  If the data set is large, the
process produces an unacceptable curve.  To solve the problem, SPLPLT divides
the data set into smaller ones.  To avoid creating disjoint curves, SPLPLT
treats the data with a moving window and evaluates and plots only the center
interval of the window.
 SPLPLT also determines the minimum and maximum values for the curve.
 ^&Form\&
 CALL SPLPLT (IBUF,N,X,Y,NUM,IPLOT,YMIN,YMAX,XINC,MODE,IGR)
 ^&Arguments\&
.ls.le;IBUF	is the information buffer
.le;N	is the number of data points in each of the X and Y arrays
.le;X	is the independent variable array
.le;Y	is the dependent variable array
.le;NUM	is the size of the spline fit window.  It must be >= 4 and
<= 20
.le;IPLOT	is the plotting argument:  0 for no plotting, 1 for plotting
.le;YMIN	is the minimum Y value of splined data returned by the routine
.le;YMAX	is the maximum Y value of splined data returned by the routine
.le;XINC	is the step size used for the X-axis
.le;MODE	is used to enable or disable display features
.bl.i15;Option	Value
.ls.le;FRAME		##1
.le;HORIZONTAL LINES	##2
.le;SHADING		##4
.le;MOVE		#16
.le;AUTOSCALING		#32
.le;UNITS		#64
.le;MARKERS		128
.els.le;IGR	is the graph number; either 0 or 1.  There is no default.
.els.note
The default for MODE is 227 (FRAME, HORIZONTAL LINES, AUTOSCALING, UNITS, and MARKERS).
 HORIZONTAL LINES can be used if FRAME is selected.
.en
 ^&Restrictions\&
 The values of the independent variable array must be ordered in ascending
sequence.
 ^&Related Test Programs\&
 SPLPLT
.pg.hl1 subroutine vtclr
VTCLR erases the terminal screen of all graphics and text displays, and then
it positions the cursor in the home (upper left hand corner) position.
 ^&Form\&
 CALL VTCLR
 ^&Arguments\&
 None
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine VTBRIT
VTBRIT sets the terminal to a light background.
 ^&Form\&
 CALL VTBRIT
 ^&Arguments\&
 None
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vtdark
VTDARK sets the terminal to a dark background.
 ^&Form\&
 CALL VTDARK
 ^&Arguments\&
 None
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vtdblw
VTDBLW changes a line to either double width or single width.
 ^&Form\&
 CALL VTDBLW (IROW,IARG)
 ^&Arguments\&
.ls.le;IROW	is the row number
.le;IARG	is the change argument; either 0 for single width, or 1 for
double width
.els
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vtelin
VTELIN erases all of part of a line.
 ^&Form\&
 CALL VTELIN (IARG,LINE)
 ^&Arguments\&
.ls.le;IARG	is the erase argument
.bl.i15;Option		Value
.bl.ls.le;Erase from the cursor	0
.le;to the end of the line
.bl.le;Erase from the start of	1
.le;the line to the cursor
.br.le;Erase the entire line	2
.els
.le;LINE	is the line number
.els
 ^&Restrictions\&
 Use LINE only for the IARG=2 option.  VTELIN affects the line the
cursor is on for IARG=0 or IARG=1 options.
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vteras
VTERAS erases either all or a portion of the screen.
 ^&Form\&
 CALL VTERAS (IARG)
 ^&Arguments\&
.ls.le;IARG	IS THE ERASE ARGUMENT
.Bl.i15;Option		Value
.bl.ls.le;Erase from the cursor to	0
.le;the end of the screen
.bl.le;Erase from start of screen	1
.le;to cursor
.bl.le;Erase entire screen and	2
.le;reset to single width
.els.els
 ^&Restrictions\&
 None
 ^&Relsted Test Programs\&
 None
.pg.hl1 subroutine vtgcur
VTGCUR finds the current row and column position of the cursor.
 ^&Form\&
 CALL VTGCUR (IROW,ICOL)
 ^&Arguments\&
.ls.le;IROW	is the current row position of the cursor
.le;ICOL	is the current column position of the cursor
.els
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vthome
VTHOME moves the cursor to the home position.
 ^&Form\&
 CALL VTHOME
 ^&Arguments\&
 None
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vthtxt
VTHTXT displays a string with the first character positioned in a specified
row and column.
 ^&Form\&
 CALL VTHTXT (IDSPLY,IROW,ICOL,TEXT)
 ^&Arguments\&
.ls.le;IDSPLY	is the display mode.
.bl.i15;Option	Value
.bl.ls.le;No effect		0
.le;Bold		1
.le;Underscore		2
.le;Blink		4
.le;Reverse		8
.els
.le;IROW	is the row number to display the first character.
.le;ICOL	is the column number to display the first character.
.le;TEXT	is the character string to display.  It may be a literal
string or a CHARACTER data type variable.
.els
 Sum the IDSPLY option values to obtain a combination of options.
 ^&Restrictions\&
 none
 ^&Related Test Programs\&
.b.ls.le;TEST2
.le;TEST3
.le;TEST5
.le;TEST6
.els.pg.hl1 subroutine VTJUMP
VTJUMP sets the terminal to jump scroll mode.
 ^&Form\&
 CALL VTJUMP
 ^&Arguments\&
 None
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vtled
VTLED controls the LED display on the keyboard.
 ^&Form\&
 CALL VTLED (IARG)
 ^&Arguments\&
.ls.le;IARG	is the LED control argument
.bl.i15;Option	Value
.ls.le;All LEDs off		0
.le;LED 1 on		1
.le;LED 2 on		2
.le;LED 3 on		3
.le;LED 4 on		4
.els.els
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vtmcur
VTMCUR moves the cursor to a specified row and column.
 ^&Form\&
 CALL VTMCUR (IROW,ICOL)
 ^&Arguments\&
.ls.le;IROW	is the row position
.le;ICOL	is the column position
.els
 ^&Restrictions\&
 VTMCUR doesn't check the validity of the row and column positions.
 ^&Related Test Programs\&
.b.ls.le;SPLPLT
.le;TEST4
.els.pg.hl1 subroutine vtmode
VTMODE sets the mode in which characters appear on the screen.
 ^&Form\&
 CALL VTMODE (IDSPLY)
 ^&Arguments\&
.ls.le;IDSPLY	is the display mode.
.bl.i15;Option	Value
.ls.le;No effect		0
.le;Bold		1
.le;Underscore		2
.le;Blink		4
.els.els
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vtroll
VTROLL sets the terminal scroll area.
 ^&Form\&
 CALL VTROLL (ITOP,IBOT)
 ^&Arguments\&
.ls.le;ITOP	is the top of the roll area
.le;IBOT	is the bottom of the roll area
.els
 ^&Restrictions\&
 Legal values for ITOP are greater than or equal to 1.  Legal values for
IBOT are less than or equal to 24.  If ITOP <= IBOT the routine takes
no action.
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vtrstcur
VTRSTCUR restores the saved cursor position and graphic rendition.
 ^&Form\&
 CALL VTRSTC
 ^&Arguments\&
 None
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vtsavcur
VTSAVCUR saves the current cursor position and graphic rendition.
 ^&Form\&
 CALL VTSAVC
 ^&Arguments\&
 None
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vtscrl
VTSCRL sets the terminal to the smooth scroll mode.
 ^&Form\&
 CALL VTSCRL
 ^&Arguments\&
 None
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vt80c
VT80C sets the terminal to the 80 column mode.
 ^&Form\&
 CALL VT80C
 ^&Arguments\&
 None
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
.pg.hl1 subroutine vt132c
VT132C sets the terminal to the 132 column mode.
 ^&Form\&
 CALL VT132C
 ^&Arguments\&
 None
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None
 ^&Restrictions\&
 None
 ^&Related Test Programs\&
 None