1 Laser
The Talaris 1200 (also called QMS Lasergrafix 1200) is a laser printer
with user-programmable capabilities.  It can print with multiple
character sets and graphics.  It is in room 215 A.

DEFAULT FONT IS S612 PORTRAIT  (index number 1204)
2 Documentation
Documentation on the laser printer is available for use while
in the System Manager's office.
2 Queue
To show the jobs on the Laser Printer queue:
Format:
	QLASER
2 Printing
Format:
	LASER file-spec

The Talaris (QMS) has LANDSCAPE and PORTRAIT orientations for printing.
At other sites LANDSCAPE is the default print mode.
But at our site, we use PORTRAIT mode to
be more compatable with the NEC spinwriters.
3 Qualifiers
/SETUP
See HELP LASER PRINTING FONTS
3 NEC_emulation
    There is a Diablo emulation and a Qume emulation built into the
Laser Printer.  Fortunately the NEC also emulates a Diablo printer, so
you can incorporate a simple character sequence at the beginning of your
file that will turn on Diablo emulation and print your file as if
it were on the NEC including interpreting escape sequences that do
super and subscripts and underlining.
    You must insert the following lines before your text.

^PY^-
^IWD1^-

NOTE: the character ^ is a real printing character (usually SHIFT-6)
      and does NOT indicate a control characater !
The first line turns on QUIC mode so the printer understands the second
line.  The second line turns on Diablo emulation keeping the current
position on the page.  A zero instead of a one will position to
'top left corner of page'.
    An added bonus is that you will be able to use the ^IS command to
change fonts.  But to use the equivalent of control characters in the
font, you must turn the emulation off since the emulation ignores
the control characters like a Diablo would.  E.g. hex 1B is lower case
sigma in the TeX math italic font 3018.  So to make a "W subscript sigma"
W^IS3018<ESC>U^IWE1^-^$1B^IWD1^-<ESC>D^IS1204
Where "^$1B" indicates the sigma and the rest changes fonts and turns
off and on the emulation, and does the subscript and returns to normal
line position and font.

At the end of your file, include the lines

^IWE1^-
^-^PN^-

The first turns off Diablo emulation, the second turns off QUIC mode.
4 Tabs
The NEC emulation does not interpret TABs unless you set tab stops.
<ESC>1 will set a tab at current position.
On the VAX, normally set every 8 spaces e.g. at location 9,17, etc.
4 Pitch
The Diablo mode apparently assumes 10 pitch.  Our NECs are normally
 12 pitch.  To set a fixed pitch, use the normal Diablo (and NEC)
'set Horizontal Motion Index' escape sequence command <ESC><US>,
followed by a character whose ascii value is the number of
1/120 ths of an inch desired as character spacing minus one.  E.g.
<ESC><US><VT>    will cause printing at 12 characters per inch since
ascii value of 'Vertical Tab' character is 11 .
You don't use the ^ICnnnn command at all !
<US> is ASCII character decimal 31 and you can insert it using
the 'SPECINS' keypad function in EDT.  On a VT100,
GOLD 31(not on keypad) GOLD keypad3
Similarly, the <VT> is character 11
GOLD 11 GOLD keypad3
4 Proportional_fonts
To enable proportional spacing (apparently works even on fixed-pitch fonts)
use the normal Diablo (and NEC) escape sequence commands
<ESC>P
to turn on proportional spacing and
<ESC>Q
to turn it off.  You can get <ESC> in EDT by pressing the ESC key twice.
4 RUNOFF
If you are using RUNOFF, remember that all special characters such as
<ESC> and ^ must be in sections delimited by the
.LITERAL and
.END LITERAL commands in order to be passed through RUNOFF unchanged.
.CC may be ok for <ESC>
 _  may be ok for ^
Remember also that RUNOFF expects fixed-pitch fonts.
4 Margins
To clear the left margin, you should include
<ESC><CR>P
in your file.  Read about EDT's SPECINS keypad function to insert the
carriage return.  In summary, GOLD 13(not on keypad) GOLD keypad3 .
3 Example
See the file ULIB:[WORDPROC]LASERNEC.QMS .  It contains escape sequences,
so be sure to use EDT or another editor that does not modify them.
You can print it on the laser printer by
LASER  ULIB:[WORDPROC]LASERNEC.QMS
3 Fonts
The VMS version 4.0 font daemon, a font management program for the laser
printer, allows access to Device Control Libraries.  The device control 
libraries contain the SETUP commands to direct the printer for various 
fonts, orientations, and line spacings for a whole document.  You can
additionally embed QUIC commands in your text to set fonts temporarily.

The user may include a /SETUP=module  qualifier on the print command to
invoke a command string from the Device Control Library.  The command
should take the form:

		$ LASER/SETUP=S612P  file-spec

to produce output in the SANS SERIF text style, 6 lines per inch, 12 
characters per inch, and PORTRAIT orientation.

The laser printer supports hundreds of fonts however not all fonts are
supported in Device Control Libraries.  Any fonts we have can be included.
MAIL your requests to MANAGER.  The current list includes:

 /SETUP=     Font     Text Style              Pitch    LPI    Orientation

! R35P        1112     Roman Titles              5       3     Portrait
! R35L        1112     Roman Titles              5       3     Landscape
 R610P       1100     Roman                    10       6     Portrait
! RS610P      1101     Roman Slanted            10       6     Portrait
! RB610P      1102     Roman Bold               10       6     Portrait
 R612P       1103     Roman                    12       6     Portrait
 R612L       1103     Roman                    12       6     Landscape
! RS612P      1105     Roman Slanted            12       6     Portrait
! RB612P      1104     Roman Bold               12       6     Portrait
 R814P       1117     Roman                    14       8     Portrait
 R814L       1117     Roman                    14       8     Landscape
! S35P        1216     Sans Serif Titles         5       3     Portrait
! S35L        1216     Sans Serif Titles         5       3     Landscape
 S610P       1200     Sans Serif               10       6     Portrait
! SS610P      1201     Sans Serif Slanted       10       6     Portrait
! SB610P      1202     Sans Serif Bold          10       6     Portrait
! SI610P      1203     Sans Serif Italic        10       6     Portrait
 S612P       1204     Sans Serif               12       6     Portrait
 S612L       1204     Sans Serif               12       6     Landscape
! SS612P      1205     Sans Serif Slanted       12       6     Portrait
! SB612P      1206     Sans Serif Bold          12       6     Portrait
! SI612P      1207     Sans Serif Italic        12       6     Portrait
 S814L       1217     Sans Serif               14       8     Landscape
! LG612P      11002    Letter Gothic            12       6     Portrait
 ACS12P      7037     Sans Serif Proportional  12       6     Portrait

 Note: proportional fonts typically will not line up on tabs etc. so
       their use can be difficult without a typesetting program like TEX
       or MASS-11.

TEX$FONTS: is a directory with TeX fonts.
SYS_ODD: is a directory with odd fonts like chinese, caligraphic script.
  University of Washington logo is character A in the UW font, index 9000
  e.g.  \font\uwlogo=uw
        \centerline{\uwlogo A}
  or in QUIC
        ^IS9000A
2 Logo
  University of Washington logo is character A in the UW font, index 9000
  e.g.  \font\uwlogo=uw
        \centerline{\uwlogo A}
  or in QUIC
        ^IS9000A
2 Fonts
See also HELP LASER MAGNIFICATIONS, HELP LASER PRINTING FONTS.
Fonts are described by .TFM files containing information about the
sizes of characters so TEX can calculate positions,
and by .FXL or .FXP files with the actual images of the characters for
use by the Laser Printer.

The 'font daemon' built into the software automatically downloads the
proper fonts when needed and deletes unneeded fonts to make room.

Fonts are ordinary text files containing HEX dump representations
of the characters, so you can conceivably modify or create your own.
You should avoid conflicts with Talaris software by using index numbers
 9000-9999.  We have already created one:
  University of Washington logo is character A in the UW font, index 9000
  e.g. in TeX
        \font\uwlogo=uw
        \centerline{\uwlogo A}
  or in QUIC
        ^IS9000A
2 Letterhead
A Physics Department letterhead overlay is now available as overlay 4.
Its format may change slightly on user demand.
Invoke it with the command ^DOR4^Z embedded in your print file.
You may also have to turn on QUIC RIP mode with the ^PY^-  command...
                      note blank line      
^PY^-                 nothing else on this line   starts QUIC mode
^DOR4^Z               recall overly 4
^-^PN^-               return to line-printer mode (sometimes use this)
Note that the caret character is SHIFT-6 on most keyboards
and does NOT indicate a control character.  These first and last lines
must start with the first character on the line.
You can also embed this command in TeX by editing the .QMS file.
You can also embed this command in RUNOFF by including in a .LITERAL
section or editing the .MEM file
( this is is more difficult since you must turn on 'free format'
and be sure to SPECINS a <CR><LF> at the end of each line so the edited
section matches the other lines in the RUNOFF file).
2 Magnifications
All magnifications do not contain the same fonts, so look in the
corresponding directory to see if the font you want is available.
Normal fonts are in directories referenced by logical names of the form
SYS_AMnnnn:     (except SYS_AM: where magnification 1000 is)
where nnnn is the magnification.  For example, to see the fonts available
in magnification 1200
DIRECTORY  SYS_AM1200:
will display the filenames of the available fonts.  These names
are trivially related to the TEX names for the fonts.

Available magnifications currently on the system:
 1000     NOTE:  1000 is in directory SYS_AM:
 1095
 1200
         NOTE:  1315 is NOT available.
 1440
 1728
 2074
 2488
 2986
 3583
 4300
 5160

SYS_ODD: is a directory with odd fonts like chinese, caligraphic script.
  They are only availble in magnification 1000.
  University of Washington logo is character A in the UW font, index 9000
  e.g.  \font\uwlogo=uw
        \centerline{\uwlogo A}
2 TEX82
TEX82 for the Laser Printer.

Format:

TEX  file-spec     (assumes .TEX)
    produces .DVI file

QTEX  file-spec    (assumes .DVI)
    asks several easy questions (usually answer with carriage return)
    produces .QMS file 

    Optional graphics inclusion post-processor
                             (see HELP LASER TEX82 QPOST)
                             QPOST  file-spec    (assumes .QMS)
                                 produces  QMSP'filename'.POST  file

LASER/DELETE  file-spec.QMS    (else assumes .LIS)
                        or   LASER  QMSP'filename'.POST
    produces output on the Laser Printer.

To define these commands, put the line
$ @DRC1:[TALARIS.TEX82]TEX.COM
into your LOGIN.COM command procedure file.

NOTE: 1315 magnification is not available, use 1200 or 1440.
	Magnification can only be set inside TEX.
        See TEX$INPUTS:TW.TEX to increase character size without
        magnifying the whole page.
See HELP WORDPROC TEX82 for other information about TEX.
 (not yet modified for the Laser Printer)
3 Paper_size
Legal-size ( 11" x 14" ) paper trays are available.  To use TeX with
large paper, use up to
\vsize=14.0truein
Then edit your .QMS file to insert ^IF1X1X^IB40150 ( sometime after
the ^F command on the second line ) to use the bottom paper tray and
to set the bottom margin for 40150 dots down ( use of dots is set by QTEX
in the ^ISYNTAX command ).
3 QPOST
Graphics inclusion post-processor for .QMS files.
It will include plots into TeX files.
Format:
       QPOST file-spec     (default file-type .QMS)

You must
\input grafix
in your TeX source file and use the \grafix or \grafixnobox macro
to reserve space for and name the graphics file.

Graphics files created with the QMSPLOT package are suitable for
inclusion as long as they use the normal CALCOMP-compatable calls.
PL is ok.  Unified Graphics and TopDraw Tektronix 4010 sequential
files should be ok via the TEKLASER conversion program.
Output filename is QMSP'file-spec' with default file-type .POST .
If you specify an input file-type, then the output file-type is the same.

If you use \magnification macro, you must pass 'true' dimensions to
the \grafix macro (at least for a while).
4 Overlay_Type
verbatim
  instead of being used as a filename, the characters in parameter 4
  are included into the QMS file verbatim.  This can cause real problems
  and should not be attempted except under the most special necessity.
  TeX is likely to insert extra characters and do other obnoxious things
  destroying the desired effect.

page
  QPOST attempts to overlay file on top of the current page.
  Beware this one too.  You must be careful to keep the result from
  looking like garbage.  This type has been used to include a Landscape
  page into a Portrait document.

vector
  The normal and easiest overlay type.  QPOST scales and positions the
  plot into a reserved area, preserving its height/width ratio.
  Effectively, the plot is shrunk uniformly until it completely fits
  into the reserved area.  Thus it works best if the reserved area
  has approximately the correct height/width ratio.

vectorrub
  Another easy-to-use overlay type.  Identical to 'vector' except
  horizontal and vertical are scaled separately so the plot
  always completely fills the reserved area, even if some (or lots)
  of distortion is necessary.  This is 'vector rubber' overlay type.
4 \grafix
\grafix vertical_size,horizontal_size,overlay_type,{file-spec},page
   where vertical_size is the vertical space to reserve
         horizontal_size is the horizontal space to reserve
         overlay_type is one of  verbatim, page, vector, vectorrub
         file-spec is a VMS filename (include directory specification
                   if necessary) for the file to include.  This should
                   typically be a .QMS file output from QMSPLOT.
                   The curly brackets should only be necessary if
                   the filename has a comma (and then you are in
                   real trouble anyway).
         page      is the page number desired in the included file

NOTE: the 'page' parameter is not yet supported.  Plots must be on the
  first page of the plot file.
      inches, points, centimeters are the only supported dimensions
      and the in, pt, or cm  dimension indicator must be included
      as in all TeX size specifications.
5 Example
The following includes a plot in an area 2.1 inches high
by 6.5 centimeters across from the OVERLAY.QMS file
in the current directory with a surrounding ruled box.

\grafix 2.1in,6.5cm,vector,{overlay.qms},1
5 Overlay_Type
verbatim
  instead of being used as a filename, the characters in parameter 4
  are included into the QMS file verbatim.  This can cause real problems
  and should not be attempted except under the most special necessity.
  TeX is likely to insert extra characters and do other obnoxious things
  destroying the desired effect.

page
  QPOST attempts to overlay file on top of the current page.
  Beware this one too.  You must be careful to keep the result from
  looking like garbage.  This type has been used to include a Landscape
  page into a Portrait document.

vector
  The normal and easiest overlay type.  QPOST scales and positions the
  plot into a reserved area, preserving its height/width ratio.
  Effectively, the plot is shrunk uniformly until it completely fits
  into the reserved area.  Thus it works best if the reserved area
  has approximately the correct height/width ratio.

vectorrub
  Another easy-to-use overlay type.  Identical to 'vector' except
  horizontal and vertical are scaled separately so the plot
  always completely fills the reserved area, even if some (or lots)
  of distortion is necessary.  This is 'vector rubber' overlay type.
4 \grafixnobox
\grafixnobox
\grafixnobox vert_size,horiz_size,overlay_type,{file-spec},page
   where vert_size is the vertical space to reserve
         horiz_size is the horizontal space to reserve
         overlay_type is one of  verbatim, page, vector, vectorrub
         file-spec is a VMS filename (include directory specification
                   if necessary) for the file to include.  This should
                   typically be a .QMS file output from QMSPLOT.
                   The curly brackets should only be necessary if
                   the filename has a comma (and then you are in
                   real trouble anyway).
         page      is the page number desired from the included file

NOTE: the 'page' parameter is not yet supported.  Plots must be on the
  first page of the plot file.
     inches points and centimeters are the only supported dimensions
     and the in, cm, pt dimension indicator must be included
     as in all TeX size specifications.
5 Example
The following includes a plot in an area 2.5 inches high
by 600 points across without a surrounding ruled box.

\grafixnobox 2.5in,600pt,vector,{overlay.qms},1
5 Overlay_Type
verbatim
  instead of being used as a filename, the characters in parameter 4
  are included into the QMS file verbatim.  This can cause real problems
  and should not be attempted except under the most special necessity.
  TeX is likely to insert extra characters and do other obnoxious things
  destroying the desired effect.

page
  QPOST attempts to overlay file on top of the current page.
  Beware this one too.  You must be careful to keep the result from
  looking like garbage.  This type has been used to include a Landscape
  page into a Portrait document.

vector
  The normal and easiest overlay type.  QPOST scales and positions the
  plot into a reserved area, preserving its height/width ratio.
  Effectively, the plot is shrunk uniformly until it completely fits
  into the reserved area.  Thus it works best if the reserved area
  has approximately the correct height/width ratio.

vectorrub
  Another easy-to-use overlay type.  Identical to 'vector' except
  horizontal and vertical are scaled separately so the plot
  always completely fills the reserved area, even if some (or lots)
  of distortion is necessary.  This is 'vector rubber' overlay type.

3 LTEX
		   LTEX.COM
  Interfaces to TEX82, EDT, and QTEX, running these programs with the
  appropriate file names.
  Format:
           LTEX  [[[texfile]  edtfile]  parameters]

  where the parameters are, in order, the name of the file to be 
  TEXed, the name of the file to be EDTed, and the parameters if any.
  If neither file names nor parameters are  
  given, both the old parameters and the old file names will be used.

  All three parameters will be saved and reused when LTEX.COM runs again.

  Printer parameters can be saved and set.  The batch queue can be set
  inside LTEX using the Mode command.  See HELP inside LTEX.
  
  This command is defined by the TEX.COM that defines all the other
  TeX commands.
4 Mode
The speed and cost of using TeX can be traded off by using the Mode
command inside LTEX.  An M at the main menu puts you in the Mode menu.
You can select interactive, fast$batch, SYS$BATCH or SLO$BATCH on the
big VAX, or the MicroVAX's SYS$BATCH.
4 MicroVAX
Use the Mode command at the main menu to select the MicroVAX batch
queue.  Sending to the MicroVAX takes some setup time so it might be
slow for very small jobs.  The U (queue) command will display
the MicroVAX batch queue if you are in MicroVAX mode.  That takes
about 10 seconds of setup time so should be avoided.
You will receive a MAIL message from the batch job on the MicroVAX
when it is done.  The output files will already be in your directory
if all went well.
3 Letterformat
!
The TeXbook Appendix E describes a business letter formatting package.
See TEX$INPUTS:LETTERFMT.TEX  and  LETTER.TEX
It must be copied and modified for your own use.
3 Twelve_point
There is an input file to define the normal TeX fonts as 12 point.
Put the lines
\input tw
\twelvepoint
at the beginning of your file to enable and invoke 12 point character sets.
There is another macro defined there as well, to return to 10 point.
\tenpoint
in case you want smaller type temporarily.
Beware: these commands work retroactively for the entire current paragraph
so be careful to use only at the beginning of a paragraph.
2 QUIC_RIP
The language actually understood by the Laser Printer controller is QUIC RIP.
There is a manual available for reading while in the Manager's office.
Some interesting features include circle-drawing commands, pattern fills,
forms construction commands, overlays, and repeat commands.

All functions can be done in this language directly by you hardy souls.
2 MASS11
Mass-11 should soon output to the laser printer.
2 Other_Lasers
!
The Locke computer center in Health Sciences and  Physics has a QMS 1200
Laser Printer. You can transfer TeX .DVI files created on the Physics 
VAX to that computer for high quality printing or print them on ours.
See the documents in the SYS$ULIB:[TEX82.LOCKE] directory for transfer
to the LOCKE. Queue the print job to our laser printer by typing laser
<file.ext>.
2 Plotting
Plotting on the Laser Printer can be accomplished several ways.
The printer supports Tektronix Plot10 graphics and has a library
of CALCOMP and Versatec compatable routines called QMSPLOT.

UNIFIED GRAPHICS does NOT WORK yet.  It is written for a different
laser printer, but its Tektronix output files may be convertable
see HELP LASER PLOT10.

3 AIPS
An AIPS plot file  can be plotted on the laser with the AIPS command GO QMSPL
using the standard output schemes (within AIPS).  see HELP QMSPL within AIPS
for more information.
3 PL_MONGO
The PL(MONGO) package now can output to the Laser Printer.
See the PL expert Mike Fich (username FICH) for details.
3 PLOT10
Tektronix Plot10 plot files can be converted and plotted on the laser
printer.
Format:
	TEKLASER  [file-spec]
!		(It'll ask you a bunch of self explanatory questions
!		about scaling, paper size and pen width.
!		Just hit carriage returns.)

Print the resulting file on the Laser Printer
        LASER/DELETE  QMS002.QMS

To enable this command, put the line
$ SET COMMAND  SYS$ULIB:[TALARIS.QMSPLOT.FILTERS.TXFLTR]TXFLTR.CLD
into your LOGIN.COM command procedure file.

This works at least for TOPDRAW and Unified Graphics Tektronix output
sequential files (device SEQ4010).  Default file-spec is UGDEVICE.DAT .
4 Qualifiers
/LINE_WIDTH 
    sets predominant line width

/REDUCE=n   
    n is a reduction factor

/DEBUG      
    displays extra information
3 Printronix
Output from the Printronix plotting package is convertable to
Laser Printer form.  But relinking programs to use the QMSPLOT 
routines is much more efficient.
     Format:
             RUN SYS$ULIB:[TALARIS.QMSPLOT.FILTERS.PXFLTR]PXFLTR.EXE

BEWARE: this program is expensive since it converts pixel by pixel,
not vector by vector.  It is MUCH better to relink the original program
to the QMSPLOT library if at all possible.
3 Topdraw
TOPDRAW (Unified Graphics) output can be displayed on the Laser Printer by
outputting a Tektronix sequential file by either

  1) including a 'set device 4013 sequential' in your source, or
  2) invoking Topdrawer by 'TD <filename> 4010 SEQ' and having no
     'set device' in the source.

and using the
TEKPLOT PLOT10 conversion program to convert the file for Laser printing
by issuing the DCL level commands

TEKLASER
LASER/DEL QMS002.QMS
DELETE UGDEVICE.DAT,TD.LIS

See HELP LASER PLOT PLOT10 to define TEKLASER.
3 Unified
Unified Graphics output can be displayed on the Laser Printer by
outputting a Tektronix sequential file (device SEQ4010) and using the
TEKPLOT PLOT10 conversion program to convert the file for Laser printing.
See HELP LASER PLOT PLOT10.
See also HELP LASER PLOT TOPDRAW.
3 QMSPLOT
The QMSPLOT library of plotting subroutines is the basic graphics 
support for the Talaris (QMS) laser printer.  QMSPLOT routines 
are compatable with the CALCOMP Host Computer Basic Software
and Versaplot and Printronix plotting packages.  In addition it
has routines allowing access to special features of this printer.

The QMSPLOT library is LINKed to your program with:

	LINK myprog,QMSPLOT/LIB

After your program runs:

	$ LASER/DELETE  QMS002.QMS

4 Bugs
Initial pen position is indeterminate.  You should position the pen
with a CALL PLOT(X,Y,3) with pen up to your initial position.
CALCOMP compatable libraries usually start at position zero,zero but
this package starts at the maximum X,Y coordinates ever reached during
the whole plot.  This is also true after CALL PLOT(X,Y,-999).
4 Summary
AXIS   --*set up axis.

BAR    -- draw a bar with or without hatching

CIRCL  -- draw an arc which may be extended to a circle

CURVE  --*generate a smooth continuous curve

DASHL  -- draw a dashed line

DASHP  -- draw dash line

FACTOR -- set up scaling factor

FILCLS -- close a file.

FILNAM -- generate file name.

FILOPN -- open a file.

FILREW -- rewind a file.

GETBYT -- convert a integer number to bytes.

GETHEX -- get hexadecimal digit.

GETREC -- read a buffer

GRID   -- draw linear grids

LANDS  -- set landscape mode

LEGAL  -- set legal size paper

LETTER -- set letter size peper

LINE   --*draw a solid line

NEWPEN --*change pen number

NUMBER -- plot numbers

OFFSET -- set up offsets and scaling factors

PIE    -- draw Pie Chart.

PIXEL  -- dump pixel data

PLOT   --*plot a point

PLOTS  --*initialize plotting package

POLY   -- draw equilateral polygons

PORTR  -- set portrait mode

PUTREC -- put records to a file

QMSDRV -- Main driver for QMS printer

QMSEND -- put QMS printer out of free format

QMSINI -- initialize QMS printer

QMSOUT -- output a buffer to qms file

QMSPIE -- draw pie charts.

QMSPXL -- output pixel data to the plot file

QMSQUC -- output a character string to the plot fi

QMSTON -- output TONE entry to QMS file.

QUIC   -- output a string to QMS printer

QVECT  -- turn vector graphics mode on/off

RECT   -- draw rectangles

SCALE  --*set up scaling

SYMBOL --*draw symbols

SYMINI -- contains data for each symbol

TONE   --*shade users defined polygonal areas.

TTONE  --*fill enclosed area.

WHERE  --*get current pen position

4 AXIS  





          Purpose of the Module
            This routine sets up the axis as specified by user.





          Note
            None



          Linkage
            Called By:

                     -None-

            Calls To:

                     NUMBER     PLOT       SYMBOL     



          Common Block Utilization
            /CONST /        Used  Changed     Not Used

                  DTR        ** 

                  HSYMBL     ** 

                  IHGPEN                       **

                  ILWPEN                       **

                  PI                           **

                  RTD                          **

                  TWOPI                        **





          Parameters
            XPAGE      = X-coordinate of start of axis

            YPAGE      = Y-corrdinate of start of axis

            ITITLE()   = Character string to describe axis

            NTITLE     = Number of characters in string - on clockwise side

                         of axis (normal for X) + on counter clockwise side

                         of axis (normal for Y)

            AXSLEN     = Length of axis

            ANGLE      = Angle of axis to X-axis of paper 0.0 for X-axis

                         90.0 for Y-axis

            AXSMIN     = Coordinate of minimum tick on axis

            AXSDLT     = Distance between ticks

4 BAR   





          Purpose of the Module
            This routine draws a bar with or without hatching, the bar could be

            drawn at any angle.





          Note
            The increment between hatch lines may not be exactly 1/NP.  An

            adjustment is made so that all hatching is uniform and NP is not

            exceeded.  The diagonal is always plotted if IHAT not equal 1.  To

            prevent overinking and other problems of calrity, hatch lines which

            are nearly coincident are not plotted.



          Linkage
            Called By:

                     -None-

            Calls To:

                     PLOT       RECT       



          Common Block Utilization
            /CONST /        Used  Changed     Not Used

                  DTR        ** 

                  HSYMBL                       **

                  IHGPEN                       **

                  ILWPEN                       **

                  PI                           **

                  RTD                          **

                  TWOPI                        **





          Parameters
            X          = The lower left X-coordinate of the bar, in inches

            Y          = The lower left Y-coordinate of the bar, in inches

            ANGLE      = The angle, in degrees, at which the base of the bar

                         is to be drawn

            HEIGHT     = The height of the main bar, in inches

            WIDTH      = The width of the bar, in inches

            SHDHGT     = The dimension in inches of the shaded part of the

                         bar, which is hatched according to the IHAT code.

                          SHDHGT may equal HEIGHT, if desired, to cause the

                         full bar to be hatched.

            *IHAT      = The hatched code.  The hatching produced is

                         parallel to a diagonal of the shaded bar.  IHAT=1

                         draw bar only, no hatch lines.  IHAT=2 The diagonal

                         extends from the lower left to the upper right

                         corner.  IHAT=3 The diagonal extends from the upper

                         left to the lower right corner.  IHAT=4 Hatch both

                         ways, resulting in a lattice pattern.

            NP         = The number of lines of hatching per inch along the

                         base.





4 CIRCL 





          Purpose of the Module
            This routine draws an arc which may be extended to form a circle or

            spiral.





          Note
            The radius angles THETAI and THETAF may be positive or negative.  If

            THETAI is less than THETAF, the arc is drawn in a counterclockwise

            direction.  If THETAI is greater than THETAF, the arc is drawn in

            clockwise direction.



          Linkage
            Called By:

                     -None-

            Calls To:

                     PLOT       WHERE      



          Common Block Utilization
            -None-





          Parameters
            YP         = Y-coordinate of the arc'sstarting point in inches.

            THETAI     = Radius angle from the X-axis, for the start of the

                         arc, in degrees.

            THETAF     = Radius angle from the X-axis, for the end of the

                         arc, in degrees.

            RADI       = The arc's starting radius, measured from (XP,YP),

                         in inches.

            RADF       = The arc's ending radius, measured from (XP,YP),

                         in inches.

            DASH       = The code used to specify the type of line desired,

                         DASH = 0.0   a solid arc is drawn,

                         DASH > 0.0   a dashed arc is drawn.

            XP         = 





4 CURVE 





          Purpose of the Module
            This subroutine is used to generate a smooth continuous curved line

            through a series of user-defined coordinate data points.  The

            coordinate data points may be scaled or unscaled, and the generated

            line may be dashed or solid.  The algorithm employed is invariant

            under axis rotation and uses local procedures for incrementally

            approximating smooth curve.



          Linkage
            Called By:

                     -None-

            Calls To:

                     PLOT       



          Common Block Utilization
            -None-





          Parameters
            X()        = Array of x-coordinate data points to be joined by a

                         smooth curve

            Y()        = Array of y-coordinate data points to be joined by a

                         smooth curve

            NP         = The number of coordinate points in X and Y.  -NP

                         indicates that scale factors are located as the

                         last two elements of each data array.  +NP

                         indicates that the coordinate points are already

                         scaled for plotting.

            DELTA      = The segment length for the incremental

                         approximation of the curve.  +DELTA

                         indicates that the curve is to be generated with a

                         solid line.  -DELTA indicates that the curve is to

                         be generated with dashed lines of abs(DELTA)

                         length.





4 DASHL 





          Purpose of the Module
            This routines draws a dashed line by connecting points given by

            passed parameters





          Note
            This routine expects XMIN, DX, YMIN, and DY to be stored in

            X(N*K+1), X(N*K+1+K), Y(N*K+1), and Y(N*K+1+K) respectly.  If the

            SCALE subroutine is not used, the user must place the adjusted

            minimum values and adjusted delta values in the specified elements

            of the arrays.  A dashed line with dashes 0.1 inches long is drawn

            connecting sequential points.



          Linkage
            Called By:

                     -None-

            Calls To:

                     DASHP      PLOT       



          Common Block Utilization
            -None-





          Parameters
            X()        = Array of unscaled abscissa values

            Y()        = Array of unscaled ordinate values

            N          = Number of points in the array

            K          = Repeat cycle of a mixed array (normally = 1)





4 DASHP 





          Purpose of the Module
            This routine draws a dashed line from the pen's present position to

            the specified point.



          Linkage
            Called By:

                     DASHL      

            Calls To:

                     PLOT       WHERE      



          Common Block Utilization
            -None-





          Parameters
            XP         = X - Coordinate of the point to which the dashed

                         line is to be drawn

            YP         = Y - Coordinate of the point to which the dashed

                         line is to be drawn

            DELTA      = The length of each dash and of the space between

                         dashes





4 FACTOR





          Purpose of the Module
            This routine sets up the scaling factor for overall plot





          Note
            None



          Linkage
            Called By:

                     -None-

            Calls To:

                     -None-



          Common Block Utilization
            /SCALEF/        Used  Changed     Not Used

                  SCLFAC             **





          Parameters
            RFACT      = Scale factor





4 FILCLS





          Purpose of the Module
            This routine closes a file opened by unit IUNIT with option to

            delete if desired.



          Linkage
            Called By:

                     QMSDRV     

            Calls To:

                     -None-



          Common Block Utilization
            -None-





          Parameters
            IFLAG      = =1  Close only.

                         =2  Close and delete only.

            IUNIT      = Logical unit number.

            *IERR      = Error flag.





4 FILNAM





          Purpose of the Module
            This routine generates a unique file name based on files extension.



          Linkage
            Called By:

                     PLOTS      QMSDRV     

            Calls To:

                     -None-



          Common Block Utilization
            -None-





          Parameters
            IEXT       = Extension and first three letters of the file.

            IFILE      = Full file name.





4 FILOPN





          Purpose of the Module
            This routine opens a file with various options.  An error is
            returned if file cannot be opened.





          Note
            Note that the filename.ext is only ten characters in length, If

            changed other routine that are using this routine should also be

            modified to reflect the change.



          Linkage
            Called By:

                     PIXEL      PLOTS      QMSDRV     QUIC       

            Calls To:

                     -None-



          Common Block Utilization
            /DEBUG /        Used  Changed     Not Used

                  IDEBUG     ** 

            /IOUNIT/        Used  Changed     Not Used

                  ITTY       ** 

                  LU                           **

                  LU1                          **

                  LUPXL                        **

                  LUQUC                        **





          Parameters
            IFLAG      = =1  Open new file unformatted.

                         =2  Open old file unformatted.

                         =3  Open new file formatted.

                         =4  Open old file formatted.

            IUNIT      = Logical unit number.

            IFILE      = Full file name.

            *IERR      = Error flag, set if file cannot be opened





4 FILREW





          Purpose of the Module
            This routine rewinds a file opened by unit IUNIT.



          Linkage
            Called By:

                     PLOT       QMSDRV     

            Calls To:

                     -None-



          Common Block Utilization
            /IOUNIT/        Used  Changed     Not Used

                  ITTY       ** 

                  LU                           **

                  LU1                          **

                  LUPXL                        **

                  LUQUC                        **

            /DEBUG /        Used  Changed     Not Used

                  IDEBUG     ** 





          Parameters
            IUNIT      = Logical unit number.

4 GETBYT





          Purpose of the Module
            This routine converts a word to eight four bit bytes.





          Note
            This routine assumes that the word is 32 bits long, and its defined

            in the parameter statement.



          Linkage
            Called By:

                     QMSPXL     

            Calls To:

                     -None-



          Common Block Utilization
            -None-





          Parameters
            IWORD      = Integer number to be converted.

            *IBYTE()   = Array of four bit bytes.

4 GETHEX

          Purpose of the Module
            This routine retreives corresponding hexadecimal digit from the data

            table.



          Note
            The integer number must be in the range of 0-15.



          Linkage
            Called By:

                     QMSPXL     

            Calls To:

                     -None-



          Common Block Utilization
            -None-



          Parameters
            IBYTE      = Integer number to retreive hexadecimal digit for.

            *JHEX      = Hexadecimal digit in a1 format.

4 GETREC

          Purpose of the Module
            This routine reads a buffer from intermediate file.  The buffer is

            multiple of LENREC words/record.



          Linkage
            Called By:

                     QMSPXL     QMSQUC     

            Calls To:

                     -None-



          Common Block Utilization
            /CONST /        Used  Changed     Not Used

                  DTR                          **

                  HSYMBL                       **

                  IHGPEN                       **

                  ILWPEN                       **

                  PI                           **

                  RTD                          **

                  TWOPI                        **

            /HARD  /        Used  Changed     Not Used

                  ILFLIP                       **

                  INPWID                       **

                  INXPOS                       **

                  INYPOS                       **

                  IPFLP1                       **

                  IPFLP2                       **

                  IPIEPN                       **

                  IPPEN                        **

                  IQPEN                        **

                  ITPEN                        **

                  LENREC     ** 

                  LNQREC                       **

                  MAXPAT                       **

                  NBINCH                       **

            /IOUNIT/        Used  Changed     Not Used

                  ITTY       ** 

                  LU                           **

                  LU1                          **

                  LUPXL                        **

                  LUQUC                        **

            /DEBUG /        Used  Changed     Not Used

                  IDEBUG     ** 



          Parameters
            IUNIT      = Input unit number

            *IARRAY()  = Array to receive data

            *NARRAY    = Number of words read

4 GRID  

          Purpose of the Module
            This routine draws a linear grid of any size.  It draws NSPX+1 lines

            in X-direction and NSPY+1 in the Y-direction.



          Linkage
            Called By:

                     -None-

            Calls To:

                     PLOT       



          Common Block Utilization
            -None-



          Parameters
            XP         = X-coordinate of the grids lower left corner

            YP         = Y-coordinate of the grids lower left corner

            DX         = The number of inches, between grid lines in the

                         X-direction

            DY         = The number of inches, between grid lines in the

                         Y-direction

            NSPX       = The number of spaces between lines in the

                         X-direction

            NSPY       = The number of spaces between lines in the

                         Y-direction

4 LANDS 

          Purpose of the Module
            This routine sets flag to put QMS printer in landscape mode while

            plotting.



          Linkage
            Called By:

                     -None-

            Calls To:

                     -None-



          Common Block Utilization
            /FLIP  /        Used  Changed     Not Used

                  IFLIP              **

                  ILAND              **

                  ILEG                         **

                  ILET                         **

                  INOCLP                       **

                  IPORT              **

            /HARD  /        Used  Changed     Not Used

                  ILFLIP     ** 

                  INPWID                       **

                  INXPOS                       **

                  INYPOS                       **

                  IPFLP1                       **

                  IPFLP2                       **

                  IPIEPN                       **

                  IPPEN                        **

                  IQPEN                        **

                  ITPEN                        **

                  LENREC                       **

                  LNQREC                       **

                  MAXPAT                       **

                  NBINCH                       **

4 LEGAL 

          Purpose of the Module
            This routine sets flag for QMS driver to indicate that there is

            legal size paper in the printer.



          Linkage
            Called By:

                     -None-

            Calls To:

                     -None-



          Common Block Utilization
            /FLIP  /        Used  Changed     Not Used

                  IFLIP                        **

                  ILAND                        **

                  ILEG               **

                  ILET               **

                  INOCLP                       **

                  IPORT                        **

4 LETTER

          Purpose of the Module
            This routine sets flag for QMS driver to indicate that there is

            letter size paper in the printer.



          Linkage
            Called By:

                     -None-

            Calls To:

                     -None-



          Common Block Utilization
            /FLIP  /        Used  Changed     Not Used

                  IFLIP                        **

                  ILAND                        **

                  ILEG               **

                  ILET               **

                  INOCLP                       **

                  IPORT                        **

4 LINE  

          Purpose of the Module
            This routines draws a solid line by connecting points given by

            passed parameters



          Note
            This routine expects XMIN, DX, YMIN, and DY to be stored in

            X(N*K+1), X(N*K+1+K), Y(N*K+1), and Y(N*K+1+K) respectly



          Linkage
            Called By:

                     -None-

            Calls To:

                     PLOT       SYMBOL     



          Common Block Utilization
            /CONST /        Used  Changed     Not Used

                  DTR                          **

                  HSYMBL     ** 

                  IHGPEN                       **

                  ILWPEN                       **

                  PI                           **

                  RTD                          **

                  TWOPI                        **



          Parameters
            X()        = Array of unscaled abscissa values

            Y()        = Array of unscaled ordinate values

            N          = Number of points in the array

            K          = Repeat cycle of a mixed array (normally = 1)

            J          = > 0 symbol and line = 0 line only < 0 symbol only

            L          = Number of symbol

4 NEWPEN

          Purpose of the Module
            This routine changes pen width and type



          Note
            This routine only check the range for QMS printer which is

            ILWPEN-->IHGPEN If IPNUM is lower than ILWPEN or greater than IHGPEN

            then it is set to lower or upper limit.



          Linkage
            Called By:

                     TONE       

            Calls To:

                     PLOT       



          Common Block Utilization
            /CONST /        Used  Changed     Not Used

                  DTR                          **

                  HSYMBL                       **

                  IHGPEN     ** 

                  ILWPEN     ** 

                  PI                           **

                  RTD                          **

                  TWOPI                        **



          Parameters
            *IPNUM     = Pen number

4 NUMBER

          Purpose of the Module
            This routine plots floating point data.  One number is plotted for

            each call to NUMBER.



          Linkage
            Called By:

                     AXIS       

            Calls To:

                     SYMBOL     WHERE      



          Common Block Utilization
            -None-



          Parameters
            X          = X-coordinate of number relative to most recent

                         origin

            Y          = Y-coordinate of number relative to most recent

                         origin

            HGHT       = Height of number

            Z          = Number (floating point)

            ANGLE      = Orientation angle for the number

            N          = Number of decimal digits for output.  -1 will

                         suppress the decimal point

4 OFFSET

          Purpose of the Module
            This routine sets the offsets and scaling factors to be used by PLOT

            for IPEN values of +12, -12, +13, -13.  PLOT will compute new

            coordinates when called this way from user specified coordinates as

            follows:  XNEW = (XOLD - XOFSET) / XFACTR.  YNEW = (YOLD - YOFSET) /

            YFACTR.



          Note
            These factors are inverse ratios of size in that a factor of 2 makes

            the computed coordinate one-half its normal value.



          Linkage
            Called By:

                     -None-

            Calls To:

                     -None-



          Common Block Utilization
            /OFSET /        Used  Changed     Not Used

                  IOFF               **

                  XFAC               **

                  XOFF               **

                  YFAC               **

                  YOFF               **



          Parameters
            XOFSET     = X - coordinate offset

            XFACTR     = X - coordinate scaling factor

            YOFSET     = Y - coordinate offset

            YFACTR     = Y - coordinate scaling factor

4 PIE   

          Purpose of the Module
            This subroutine draws high quality Pie Chart with shaded wedges,

            descriptive legends and exploded slices.  Pie Chart wedges of

            variable radius, and width can easily be located anywhere on the

            print page, can be exploded out from the other wedges, and can be

            shaded with any of 24 avaiable patterns, and a legend can be printed

            for each wedge.



          Note
            The angles are measured clockwise.  The legend text string should be

            no more than 20 bytes long.  The legend text string can be embeded

            with any of the QUIC features available.  Each pie can have upto 10

            wedges, and each plot file can have upto 10 pie's.  See QMS

            PROGRAMMING MANUAL for more information on some of the parameters.



          Linkage
            Called By:

                     -None-

            Calls To:

                     PLOT       



          Common Block Utilization
            /PIEVAR/        Used  Changed     Not Used

                  NPIE               **

                  IPIEPT()           **

                  IPIETX()           **

                  IPIEWG()           **

                  PIEEND()           **

                  PIEEXP()           **

                  PIERAD()           **

                  PIESTA()           **

                  PIEXLG()           **

                  PIEYLG()           **

            /HARD  /        Used  Changed     Not Used

                  ILFLIP                       **

                  INPWID                       **

                  INXPOS                       **

                  INYPOS                       **

                  IPFLP1                       **

                  IPFLP2                       **

                  IPIEPN     ** 

                  IPPEN                        **

                  IQPEN                        **

                  ITPEN                        **

                  LENREC                       **

                  LNQREC                       **

                  MAXPAT                       **

                  NBINCH                       **



          Parameters
            XC         = X-coordinate of Pie Chart center in inches.

            YC         = Y-coordinate of Pie Chart center in inches.

            RADIUS()   = Radius of Pie Chart in inches for Ith wedge.

            ANGSTA()   = Starting angle in degrees for Ith wedge.

            ANGEND()   = Ending angle in degrees for Ith wedge.

            EXPDIS()   = Explosion distance of Ith wedge in inches from the

                         Pie Chart center.

            IPATRN()   = Fill-Pattern number for Ith wedge.  Range 00 to 24.

            ITEXT()    = Legend description text (a character string of 20

                         bytes max.) printed to the right of a legend box

                         for Ith wedge.

            XLEGND()   = X-coordinate of a legend box for Ith wedge in

                         inches.

            YLEGND()   = Y-coordinate of a legend box for Ith wedge in

                         inches.

            *NWEDGE    = Number of wedges, if negative no legend is drawn.

4 PIXEL 

          Purpose of the Module
            This routine creates the pixel data for the QMS printer.



          Linkage
            Called By:

                     -None-

            Calls To:

                     FILOPN     PLOT       PUTREC     WHERE      



          Common Block Utilization
            /HARD  /        Used  Changed     Not Used

                  ILFLIP                       **

                  INPWID                       **

                  INXPOS                       **

                  INYPOS                       **

                  IPFLP1                       **

                  IPFLP2                       **

                  IPIEPN                       **

                  IPPEN      ** 

                  IQPEN                        **

                  ITPEN                        **

                  LENREC                       **

                  LNQREC                       **

                  MAXPAT                       **

                  NBINCH     ** 

            /PXLBUF/        Used  Changed     Not Used

                  NPBUF              **

            /IOUNIT/        Used  Changed     Not Used

                  ITTY                         **

                  LU                           **

                  LU1                          **

                  LUPXL      ** 

                  LUQUC                        **

            /IOFILE/        Used  Changed     Not Used

                  IPLTFL     ** 

                  IPXLFL     ** 

                  IQMSFL     ** 

                  IQUCFL     ** 



          Parameters
            NWIND      = Window length in bits

            ISTR()     = Array of words to dump

            NSTR       = Number of words in array

            IDX        = Width of pixel in dots

            IDY        = Height of pixel in dots

4 PLOT  

          Purpose of the Module
            This routine plots single point



          Note
            None



          Linkage
            Called By:

                     AXIS       BAR        CIRCL      CURVE      DASHL

                     DASHP      GRID       

                     LINE       NEWPEN     PIE        PIXEL      POLY       QUIC

                     RECT       

                     SYMBOL     TONE       TTONE      

            Calls To:

                     FILREW     PLOTS      QMSDRV     



          Common Block Utilization
            /OFSET /        Used  Changed     Not Used

                  IOFF       ** 

                  XFAC       ** 

                  XOFF       ** 

                  YFAC       ** 

                  YOFF       ** 

            /SCALEF/        Used  Changed     Not Used

                  SCLFAC     ** 

            /IOUNIT/        Used  Changed     Not Used

                  ITTY                         **

                  LU         ** 

                  LU1                          **

                  LUPXL      ** 

                  LUQUC      ** 

            /IOFILE/        Used  Changed     Not Used

                  IPLTFL     ** 

                  IPXLFL     ** 

                  IQMSFL     ** 

                  IQUCFL     ** 

            /QUCBUF/        Used  Changed     Not Used

                  NQUIC      ** 

            /PXLBUF/        Used  Changed     Not Used

                  NPBUF      ** 

            /CURRXY/        Used  Changed     Not Used

                  CURRX              **

                  CURRY              **

            /OLDXY /        Used  Changed     Not Used

                  OLDX               **

                  OLDY               **

            /BUFFER/        Used  Changed     Not Used

                  NBUF               **

                  IBUF()             **

            /MINMAX/        Used  Changed     Not Used

                  XMAXDV     ** 

                  XMAXUU             **

                  XMINUU             **

                  YMAXDV     ** 

                  YMAXUU             **

                  YMINUU             **

            /FLIP  /        Used  Changed     Not Used

                  IFLIP                        **

                  ILAND                        **

                  ILEG                         **

                  ILET                         **

                  INOCLP                       **

                  IPORT                        **

            /PAGE  /        Used  Changed     Not Used

                  IPAGE              **

                  NPAGE                        **



          Parameters
            XCOORD     = X-coordinate

            YCOORD     = Y-coordinate

            IPEN       = Pen control,+999 end of plots,+10 eject page,

                         +3 Move to (XCOORD,YCOORD) pen up,+2 move to

                         (XCOORD,YCOORD) pen down,-2 move to

                         (XCOORD,YCOORD) pen down set origin to

                         (XCOORD,YCOORD),-3 move to (XCOORD,YCOORD) pen

                         up set origin to (XCOORD,YCOORD), +22 End of plot,

                         -22 End of plot, +23 End of plot, -23 End of plot,

                         -999 End of plot frame; re-initialize plotting,

                         +12 Draw to offset/scaled (XCOORD,YCOORD),

                         -12 Draw to offset/scaled (XCOORD,YCOORD), re-origin,

                         +13 Move to offset/scaled (XCOORD,YCOORD),

                         -13 Move to offset/scaled (XCOORD,YCOORD), re-origin.

4 PLOTS 

          Purpose of the Module
            This routine initializes plotting package by initializing common

            blocks



          Note
            None



          Linkage
            Called By:

                     PLOT       

            Calls To:

                     FILNAM     FILOPN     



          Common Block Utilization
            /IOUNIT/        Used  Changed     Not Used

                  ITTY               **

                  LU                 **

                  LU1                **

                  LUPXL              **

                  LUQUC              **

            /IOFILE/        Used  Changed     Not Used

                  IPLTFL     ** 

                  IPXLFL     ** 

                  IQMSFL     ** 

                  IQUCFL     ** 

            /OFSET /        Used  Changed     Not Used

                  IOFF               **

                  XFAC               **

                  XOFF               **

                  YFAC               **

                  YOFF               **

            /FLIP  /        Used  Changed     Not Used

                  IFLIP              **

                  ILAND              **

                  ILEG               **

                  ILET               **

                  INOCLP             **

                  IPORT              **

            /SCALEF/        Used  Changed     Not Used

                  SCLFAC             **

            /CURRXY/        Used  Changed     Not Used

                  CURRX              **

                  CURRY              **

            /BUFFER/        Used  Changed     Not Used

                  NBUF               **

                  IBUF()                       **

            /OLDXY /        Used  Changed     Not Used

                  OLDX               **

                  OLDY               **

            /MINMAX/        Used  Changed     Not Used

                  XMAXDV             **

                  XMAXUU             **

                  XMINUU             **

                  YMAXDV             **

                  YMAXUU             **

                  YMINUU             **

            /QUCBUF/        Used  Changed     Not Used

                  NQUIC              **

            /BYTE  /        Used  Changed     Not Used

                  NBYTE              **

            /HARD  /        Used  Changed     Not Used

                  ILFLIP             **

                  INPWID             **

                  INXPOS             **

                  INYPOS             **

                  IPFLP1             **

                  IPFLP2             **

                  IPIEPN             **

                  IPPEN              **

                  IQPEN              **

                  ITPEN              **

                  LENREC             **

                  LNQREC             **

                  MAXPAT             **

                  NBINCH             **

            /PXLBUF/        Used  Changed     Not Used

                  NPBUF              **

            /CONST /        Used  Changed     Not Used

                  DTR                **

                  HSYMBL             **

                  IHGPEN             **

                  ILWPEN             **

                  PI                 **

                  RTD                **

                  TWOPI              **

            /DEBUG /        Used  Changed     Not Used

                  IDEBUG             **

            /TEXT  /        Used  Changed     Not Used

                  ITEXT      ** 

          Parameters
            DUMMY1     = dummy   for compatability with CALCOMP
            DUMMY2     = dummy   for compatability with CALCOMP
            IA         = Logical unit number for output

4 POLY  

          Purpose of the Module
            This routine draws equilateral polygons.



          Linkage
            Called By:

                     -None-

            Calls To:

                     PLOT       



          Common Block Utilization
            /CONST /        Used  Changed     Not Used

                  DTR        ** 

                  HSYMBL                       **

                  IHGPEN                       **

                  ILWPEN                       **

                  PI                           **

                  RTD                          **

                  TWOPI      ** 



          Parameters
            XP         = X - Coordinate of the polygons starting point.

            YP         = Y - Coordinate of the polygons starting point.

            SLNGTH     = The length of a side of the polygon.

            NSIDES     = The number of sides of the polygon.

            ANGLE      = The angle, in degrees from the X-axis of the first

                         side of the polygon.

4 PORTR 

          Purpose of the Module
            This routine sets flag to put QMS printer in portrait mode while

            plotting.



          Linkage
            Called By:

                     -None-

            Calls To:

                     -None-



          Common Block Utilization
            /FLIP  /        Used  Changed     Not Used

                  IFLIP              **

                  ILAND              **

                  ILEG       ** 

                  ILET                         **

                  INOCLP                       **

                  IPORT              **

            /HARD  /        Used  Changed     Not Used

                  ILFLIP                       **

                  INPWID                       **

                  INXPOS                       **

                  INYPOS                       **

                  IPFLP1     ** 

                  IPFLP2     ** 

                  IPIEPN                       **

                  IPPEN                        **

                  IQPEN                        **

                  ITPEN                        **

                  LENREC                       **

                  LNQREC                       **

                  MAXPAT                       **

                  NBINCH                       **

4 PUTREC

          Purpose of the Module
            This routine will output multiple 128 word records to intermediate
            file.  The number of words and records are written at beginning of

            each buffer.



          Linkage
            Called By:

                     PIXEL      QUIC       

            Calls To:

                     -None-



          Common Block Utilization
            /HARD  /        Used  Changed     Not Used

                  ILFLIP                       **

                  INPWID                       **

                  INXPOS                       **

                  INYPOS                       **

                  IPFLP1                       **

                  IPFLP2                       **

                  IPIEPN                       **

                  IPPEN                        **

                  IQPEN                        **

                  ITPEN                        **

                  LENREC     ** 

                  LNQREC                       **

                  MAXPAT                       **

                  NBINCH                       **



          Parameters
            IUNIT      = Output unit number

            IARRAY()   = Array of words to output

            NARRAY     = Number of words to output

4 QMSDRV

          Purpose of the Module
            This is the main driver for QMS printer.  It scans intermediate file

            for pen commands and writes them output to a file in QMS format.

            QMS printer is also turned on and off at the beginning and ending.



          Linkage
            Called By:

                     PLOT       

            Calls To:

                     FILCLS     FILNAM     FILOPN     FILREW     QMSEND

                     QMSINI     QMSOUT     

                     QMSPIE     QMSPXL     QMSQUC     QMSTON     



          Common Block Utilization
            /IOUNIT/        Used  Changed     Not Used

                  ITTY       ** 

                  LU         ** 

                  LU1        ** 

                  LUPXL      ** 

                  LUQUC      ** 

            /IOFILE/        Used  Changed     Not Used

                  IPLTFL     ** 

                  IPXLFL     ** 

                  IQMSFL     ** 

                  IQUCFL     ** 

            /FLIP  /        Used  Changed     Not Used

                  IFLIP      ** 

                  ILAND                        **

                  ILEG                         **

                  ILET                         **

                  INOCLP                       **

                  IPORT                        **

            /MINMAX/        Used  Changed     Not Used

                  XMAXDV                       **

                  XMAXUU                       **

                  XMINUU                       **

                  YMAXDV                       **

                  YMAXUU             **

                  YMINUU             **

            /QUCBUF/        Used  Changed     Not Used

                  NQUIC      ** 

            /HARD  /        Used  Changed     Not Used

                  ILFLIP                       **

                  INPWID                       **

                  INXPOS                       **

                  INYPOS                       **

                  IPFLP1                       **

                  IPFLP2                       **

                  IPIEPN     ** 

                  IPPEN      ** 

                  IQPEN      ** 

                  ITPEN      ** 

                  LENREC                       **

                  LNQREC                       **

                  MAXPAT     ** 

                  NBINCH                       **

            /PXLBUF/        Used  Changed     Not Used

                  NPBUF      ** 

            /BYTE  /        Used  Changed     Not Used

                  NBYTE                        **

            /EJECT /        Used  Changed     Not Used

                  IEJECT             **

            /DEBUG /        Used  Changed     Not Used

                  IDEBUG     ** 

            /PAGE  /        Used  Changed     Not Used

                  IPAGE      ** 

                  NPAGE              **

            /PIEVAR/        Used  Changed     Not Used

                  NPIE       ** 

                  IPIEPT()                     **

                  IPIETX()   ** 

                  IPIEWG()                     **

                  PIEEND()                     **

                  PIEEXP()                     **

                  PIERAD()                     **

                  PIESTA()                     **

                  PIEXLG()                     **

                  PIEYLG()                     **

4 QMSEND

          Purpose of the Module
            This routine output a command to take QMS printer out of free format

            and vector graphics mode.



          Linkage
            Called By:

                     QMSDRV     

            Calls To:

                     QVECT      



          Common Block Utilization
            /IOUNIT/        Used  Changed     Not Used

                  ITTY                         **

                  LU                           **

                  LU1        ** 

                  LUPXL                        **

                  LUQUC                        **

            /EJECT /        Used  Changed     Not Used

                  IEJECT     ** 

            /TEXT  /        Used  Changed     Not Used

                  ITEXT      ** 

4 QMSINI

          Purpose of the Module
            This routine initializes QMS printer by outputing certain commands.



          Linkage
            Called By:

                     QMSDRV     

            Calls To:

                     -None-



          Common Block Utilization
            /IOUNIT/        Used  Changed     Not Used

                  ITTY                         **

                  LU                           **

                  LU1        ** 

                  LUPXL                        **

                  LUQUC                        **

            /FLIP  /        Used  Changed     Not Used

                  IFLIP              **

                  ILAND      ** 

                  ILEG       ** 

                  ILET                         **

                  INOCLP                       **

                  IPORT      ** 

            /MINMAX/        Used  Changed     Not Used

                  XMAXDV                       **

                  XMAXUU     ** 

                  XMINUU     ** 

                  YMAXDV                       **

                  YMAXUU     ** 

                  YMINUU     ** 

            /HARD  /        Used  Changed     Not Used

                  ILFLIP                       **

                  INPWID     ** 

                  INXPOS     ** 

                  INYPOS     ** 

                  IPFLP1                       **

                  IPFLP2                       **

                  IPIEPN                       **

                  IPPEN                        **

                  IQPEN                        **

                  ITPEN                        **

                  LENREC                       **

                  LNQREC                       **

                  MAXPAT                       **

                  NBINCH                       **

4 QMSOUT

          Purpose of the Module
            This routine outputs a NBUF byte record to the qms file.  After

            outputing the buffer is reset to blanks.



          Linkage
            Called By:

                     QMSDRV     QMSPXL     QMSQUC     

            Calls To:

                     -None-



          Common Block Utilization
            -None-



          Parameters
            IUNIT      = Output logical unit number.

            *IBUF      = Buffer to be output.

            NBUF       = Number of characters in buffer.

4 QMSPIE

          Purpose of the Module
            This subroutine is the driver for drawing pie charts.



          Linkage
            Called By:

                     QMSDRV     

            Calls To:

                     QVECT      



          Common Block Utilization
            /PIEVAR/        Used  Changed     Not Used

                  NPIE                         **

                  IPIEPT()   ** 

                  IPIETX()   ** 

                  IPIEWG()   ** 

                  PIEEND()   ** 

                  PIEEXP()   ** 

                  PIERAD()   ** 

                  PIESTA()   ** 

                  PIEXLG()   ** 

                  PIEYLG()   ** 

            /IOUNIT/        Used  Changed     Not Used

                  ITTY                         **

                  LU                           **

                  LU1        ** 

                  LUPXL                        **

                  LUQUC                        **

            /FLIP  /        Used  Changed     Not Used

                  IFLIP      ** 

                  ILAND                        **

                  ILEG                         **

                  ILET                         **

                  INOCLP                       **

                  IPORT                        **

          Parameters
            IXC        = X--coordinate of the center of the IRECth pie.

            IYC        = Y--coordinate of the center of the IRECth pie.

            IREC       = Pie number.

4 QMSPXL

          Purpose of the Module
            This routine reads the intermediate pixel file and output the data

            to the plot file.



          Linkage
            Called By:

                     QMSDRV     

            Calls To:

                     GETBYT     GETHEX     GETREC     QMSOUT     QVECT      



          Common Block Utilization
            /IOUNIT/        Used  Changed     Not Used

                  ITTY                         **

                  LU                           **

                  LU1        ** 

                  LUPXL      ** 

                  LUQUC                        **

            /PXLBUF/        Used  Changed     Not Used

                  NPBUF                        **

4 QMSQUC

          Purpose of the Module
            This routine reads the intermediate quic file and output a string to

            the plot file.



          Linkage
            Called By:

                     QMSDRV     

            Calls To:

                     GETREC     QMSOUT     QVECT      



          Common Block Utilization
            /IOUNIT/        Used  Changed     Not Used

                  ITTY                         **

                  LU                           **

                  LU1        ** 

                  LUPXL                        **

                  LUQUC      ** 

            /BYTE  /        Used  Changed     Not Used

                  NBYTE      ** 

4 QMSTON 
          Purpose of the Module
            This subroutine outputs a TONE entry to QMS file.  First the vector

            graphics mode is turned off, and after outputing the TONE entry

            vector graphics is turned back on again.



          Linkage
            Called By:

                     QMSDRV     

            Calls To:

                     -None-



          Common Block Utilization
            /IOUNIT/        Used  Changed     Not Used

                  ITTY                         **

                  LU                           **

                  LU1        ** 

                  LUPXL                        **

                  LUQUC                        **



          Parameters
            IX         = X-coordinate in thousands inches.

            IY         = Y-coordinate in thousands inches.

            IPAT       = Area fill pattern number, see QMS manual for more

                         info.

4 QUIC  

          Purpose of the Module
            This routine outputs string to QMS printer as it is passed by the
            user.



          Linkage
            Called By:

                     -None-

            Calls To:

                     FILOPN     PLOT       PUTREC     WHERE      



          Common Block Utilization
            /BYTE  /        Used  Changed     Not Used

                  NBYTE                        **

            /QUCBUF/        Used  Changed     Not Used

                  NQUIC              **

            /HARD  /        Used  Changed     Not Used

                  ILFLIP                       **

                  INPWID                       **

                  INXPOS                       **

                  INYPOS                       **

                  IPFLP1                       **

                  IPFLP2                       **

                  IPIEPN                       **

                  IPPEN                        **

                  IQPEN      ** 

                  ITPEN                        **

                  LENREC                       **

                  LNQREC                       **

                  MAXPAT                       **

                  NBINCH                       **

            /IOUNIT/        Used  Changed     Not Used

                  ITTY                         **

                  LU                           **

                  LU1                          **

                  LUPXL                        **

                  LUQUC      ** 

            /IOFILE/        Used  Changed     Not Used

                  IPLTFL     ** 

                  IPXLFL     ** 

                  IQMSFL     ** 

                  IQUCFL     ** 




          Parameters
            ISTR()     = String to be output (less than or equal to 132 chars)

            NSTR       = Number of words in string

4 QVECT 



          Purpose of the Module
            This routine turns vector graphics mode on/off, depending on the

            argument.



          Linkage
            Called By:

                     QMSEND     QMSPIE     QMSPXL     QMSQUC     

            Calls To:

                     -None-



          Common Block Utilization
            /IOUNIT/        Used  Changed     Not Used

                  ITTY                         **

                  LU                           **

                  LU1        ** 

                  LUPXL                        **

                  LUQUC                        **



          Parameters
            IVEC       = =1 Turn vector graphics ON,

                         =2 Turn vector graphics OFF.

4 RECT  
          Purpose of the Module
            This routine draws rectangles, given starting position, height,

            width, and the angle at which to draw.



          Linkage
            Called By:

                     BAR        

            Calls To:

                     PLOT       



          Common Block Utilization
            /CONST /        Used  Changed     Not Used

                  DTR        ** 

                  HSYMBL                       **

                  IHGPEN                       **

                  ILWPEN                       **

                  PI                           **

                  RTD                          **

                  TWOPI                        **





          Parameters
            XP         = X - coordinate in inches, of the rectangles lower

                         left corner

            YP         = Y - coordinate in inches, of the rectangles lower

                         left corner

            HEIGHT     = Height of the rectangles in inches

            WIDTH      = Width of the rectangles in inches

            ANGLE      = The angle in degrees, from X-axis at which the

                         rectangles base is to be drawn

            IPEN       = The pen code used while moving to the rectangles

                         starting position. If =3, the pen is up for the

                         move.  If =2, the pen is down for the move.

4 SCALE 
          Purpose of the Module
            This routine computes the min, and dx of passed values for LINE and

            AXIS



          Note
            None



          Linkage
            Called By:

                     -None-

            Calls To:

                     -None-



          Common Block Utilization
            -None-



          Parameters
            *X()       = Array of data to be scanned for maxmum and minimum

                         values.  Adjusted minimum value stored in X(N*K+1).

                         Adjusted dx(max-min) stored in X(N*K+K+1).

            S          = Length over which this data is to be plotted.

            N          = Number of data points in the array X.

            K          = Repeat cycle of mixed array (normally = 1).

4 SYMBOL



          Purpose of the Module
            This routine produces plot annotation at any angle and in any size.



          Linkage
            Called By:

                     AXIS       LINE       NUMBER     

            Calls To:

                     PLOT       SYMINI     WHERE      



          Common Block Utilization
            /CONST /        Used  Changed     Not Used

                  DTR        ** 

                  HSYMBL                       **

                  IHGPEN                       **

                  ILWPEN                       **

                  PI                           **

                  RTD                          **

                  TWOPI                        **

            /INISYM/        Used  Changed     Not Used

                  INISYM     ** 

            /SYMCMN/        Used  Changed     Not Used

                  LSTAND()   ** 

            /BYTE  /        Used  Changed     Not Used

                  NBYTE      ** 

            /CURRXY/        Used  Changed     Not Used

                  CURRX                        **

                  CURRY                        **



          Parameters
            XA         = X-coordinate of the lower left-hand corner (before

                         character rotation)

            YA         = Y-coordinate of the lower left-hand corner (before

                         character rotation)

            HEIGHT     = Height, in inches, of the character to be plotted.

                          The width of character, including spacing, is

                         normally the same as the height.

            ISYMBL()   = Text, in internal computer representation (usally

                         A-type format), to be used as annotation.  The

                         characte must be left justified in a single

                         variable, in array, or a hollerith literal. Each

                         symbol also could be accessed by just inputing the

                         symbol number (0-127).

            ANGLE      = Angle, in degrees from the X-axis, at which the

                         annotation is to be plotted.

            NSYMBL     = Number of characters to be plotted from ISYMBL.  If

                         NSYMBL=0, one alphanumeric character is produced,

                         using a single character which is in the first

                         element of ISYMBL.  If NSYMBL=-1, the pen is up

                         during the move, after which a single symbol is

                         produced.  If NSYMBL=-2, the pen is down during the

                         move, after which a single symbol is produced.

4 SYMINI
          Purpose of the Module
            This routine contains data for each symbol



          Note
            There are 127 characters in a full symbol set.  Each symbol has upto

            20 pen moves to draw (60 values).  The data is stored as x-value,

            y-value, and ipen in the data statements.



          Linkage
            Called By:

                     SYMBOL     

            Calls To:

                     -None-



          Common Block Utilization
            /INISYM/        Used  Changed     Not Used

                  INISYM             **

            /SYMCMN/        Used  Changed     Not Used

                  LSTAND()   ** 

4 TONE  



          Purpose of the Module
            This subroutine erforms patterned shading of user defined polygonal

            areas.



          Linkage
            Called By:

                     -None-

            Calls To:

                     NEWPEN     PLOT       TTONE      



          Common Block Utilization
            /CONST /        Used  Changed     Not Used

                  DTR                          **

                  HSYMBL                       **

                  IHGPEN                       **

                  ILWPEN                       **

                  PI                           **

                  RTD                          **

                  TWOPI                        **



          Parameters
            X()        = X-coordinate data arrays which define the areas to

                         be shaded.

            Y()        = Y-coordinate data arrays which define the areas to

                         be shaded.

            NE()       = A integer array which designates the number of

                         (X,Y) elements which define a particular area.

                          (e.g. NE(1) specifies the number of coordinates

                         for area one, NE(2) specifies the number of

                         coordinates for area two, etc.

            NA         = The number of areas defined within X and Y.  (array

                         NE must contain NA elements).

            IDRAW      = 

            IERASE     = 

            *IERROR    = 

4 TTONE 



          Purpose of the Module
            This subroutine fills enclosed area with a user defined pattern.


          Note
            The area must be enclosed, and the point (X,Y) should be inside the

            enclosed area anywhere.



          Linkage
            Called By:

                     TONE       

            Calls To:

                     PLOT       



          Common Block Utilization
            /HARD  /        Used  Changed     Not Used

                  ILFLIP                       **

                  INPWID                       **

                  INXPOS                       **

                  INYPOS                       **

                  IPFLP1                       **

                  IPFLP2                       **

                  IPIEPN                       **

                  IPPEN                        **

                  IQPEN                        **

                  ITPEN      ** 

                  LENREC                       **

                  LNQREC                       **

                  MAXPAT                       **

                  NBINCH                       **



          Parameters
            X          = X-coordinate in inches.

            Y          = Y-coordinate in inches.

            IPAT       = A area fill pattern number, see QMS manual for more

                         info.

4 WHERE 



          Purpose of the Module
            This routine returns the current x and y pen position along with

            scaling factor



          Note
            None



          Linkage
            Called By:

                     CIRCL      DASHP      NUMBER     PIXEL      QUIC

                     SYMBOL     

            Calls To:

                     -None-



          Common Block Utilization
            /CURRXY/        Used  Changed     Not Used

                  CURRX      ** 

                  CURRY      ** 

            /SCALEF/        Used  Changed     Not Used

                  SCLFAC     ** 



          Parameters
            *XP        = Present X-coordinate.

            *YP        = Present Y-coordinate.

            *SC        = Present scale factor.

                    KEY FOR VARIABLE TYPE:
                                           I = INTEGER

                                           L = LOGICAL

                                           R = REAL

                                           C = CHARACTER

                                           D = DOUBLE PRECISION

                                           X = COMPLEX

4 COMMON_BUFFER
     COMMON_BUFFER -- Output buffer for intermediate file.

           COMMON /BUFFER/ IBUF(128), NBUF

     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     IBUF                           PLOT     Output buffer.

                                              

     NBUF                           PLOT     Number of entries in IBUF.

                                    PLOTS     

4 COMMON_BYTE  

     BYTE -- Stores number of bytes per word                                                                      



           COMMON /BYTE  / NBYTE



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     NBYTE                  QMSQUC  PLOTS    Number of bytes per word.

                            SYMBOL            

                                              

4 COMMON_CONST 

                COMMON /CONST / DTR, RTD, HSYMBL, ILWPEN,

               1                IHGPEN, PI, TWOPI



          VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



          DTR                    AXIS    PLOTS     

                                 BAR               

                                 POLY              

                                 RECT              

                                 SYMBOL            

                                                   

          HSYMBL                 AXIS    PLOTS     

                                 LINE              

                                                   

          IHGPEN                 NEWPEN  PLOTS     

                                                   

          ILWPEN                 NEWPEN  PLOTS     

                                                   

          PI                             PLOTS     

                                                   

          RTD                            PLOTS     

                                                   

          TWOPI                  POLY    PLOTS     

4 COMMON_CURRXY

     CURRXY -- Current position of pen.                                                                           



           COMMON /CURRXY/ CURRX, CURRY



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     CURRX                  WHERE   PLOT     Present X-coordinate.

                                    PLOTS     

                                              

     CURRY                  WHERE   PLOT     Present Y-coordinate.

                                    PLOTS     

                                              

4 COMMON_DEBUG 

                COMMON /DEBUG / IDEBUG



          VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



          IDEBUG                 FILOPN  PLOTS     

                                 FILREW            

                                 GETREC            

                                 QMSDRV            

                                                   

4 COMMON_EJECT 

                COMMON /EJECT / IEJECT



          VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



          IEJECT                 QMSEND  QMSDRV    

                                                   

4 COMMON_FLIP  

     FLIP -- Common to flip x-values                                                                              



           COMMON /FLIP  / IFLIP, ILET, ILEG, ILAND, IPORT, INOCLP



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     IFLIP                  QMSDRV  LANDS     

                            QMSPIE  PLOTS     

                                    PORTR     

                                    QMSINI    

                                              

     ILAND                  QMSINI  LANDS     

                                    PLOTS     

                                    PORTR     

                                              

     ILEG                   PORTR   LEGAL     

                            QMSINI  LETTER    

                                    PLOTS     

                                              

     ILET                           LEGAL     

                                    LETTER    

                                    PLOTS     

                                              

     INOCLP                         PLOTS     

                                              

     IPORT                  QMSINI  LANDS     

                                    PLOTS     

                                    PORTR     

4 COMMON_HARD  

     HARD -- Hard coded values                                                                                    



           COMMON /HARD  / ILFLIP, IPFLP1, IPFLP2, LENREC, INXPOS,

          1                LNQREC, INYPOS, INPWID, IQPEN, IPPEN,

          2                ITPEN, NBINCH, MAXPAT, IPIEPN



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     ILFLIP                 LANDS   PLOTS     

                                              

     INPWID                 QMSINI  PLOTS    Initial pen width.

                                              

     INXPOS                 QMSINI  PLOTS    Initial x-position.

                                              

     INYPOS                 QMSINI  PLOTS    Initial y-position.

                                              

     IPFLP1                 PORTR   PLOTS    Letter size paper in portrate mode flipping value.

                                              

     IPFLP2                 PORTR   PLOTS    Legal size paper in portrate mode flipping value.

                                              

     IPIEPN                 PIE     PLOTS    Non-standard call to PLOT pen offset value for

                            QMSDRV           pie calls.

                                              

     IPPEN                  PIXEL   PLOTS    Non-standrad call to PLOT pen offset value for

                            QMSDRV           pixel calls.

                                              

     IQPEN                  QMSDRV  PLOTS    Non-standard call to PLOT pen offset value for

                            QUIC             quic calls.

                                              

     ITPEN                  QMSDRV  PLOTS    Non-standard call to PLOT pen offset value for

                            TTONE            tone calls.

                                              

     LENREC                 GETREC  PLOTS    Length of record to dump for routine GETREC,

                            PUTREC           PUTREC, QMSDRV.

                                              

     LNQREC                         PLOTS     

                                              

     MAXPAT                 QMSDRV  PLOTS     

                                              

     NBINCH                 PIXEL   PLOTS    Number of bits per inch.

4 COMMON_INISYM

     INISYM -- Common block to store flag for SYMBOL routine                                                      



           COMMON /INISYM/ INISYM



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     INISYM                 SYMBOL  SYMINI   Flag to indicate that SYMINI has been called.

4 COMMON_IOFILE

                CHARACTER*10 IPXLFL, IQUCFL, IPLTFL, IQMSFL

                COMMON /IOFILE/ IPXLFL, IQUCFL, IPLTFL, IQMSFL



          VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



          IPLTFL                 PIXEL             

                                 PLOT              

                                 PLOTS             

                                 QMSDRV            

                                 QUIC              

                                                   

          IPXLFL                 PIXEL             

                                 PLOT              

                                 PLOTS             

                                 QMSDRV            

                                 QUIC              

                                                   

          IQMSFL                 PIXEL             

                                 PLOT              

                                 PLOTS             

                                 QMSDRV            

                                 QUIC              

                                                   

          IQUCFL                 PIXEL             

                                 PLOT              

                                 PLOTS             

                                 QMSDRV            

                                 QUIC              

                                                   

4 COMMON_IOUNIT

     IOUNIT -- Input/output logical unit numbers.                                                                 



           COMMON /IOUNIT/ LU, LUPXL, LU1, LUQUC, ITTY



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     ITTY                   FILOPN  PLOTS     

                            FILREW            

                            GETREC            

                            QMSDRV            

                                              

     LU                     PLOT    PLOTS    Input/output logical unit number for intermediate

                            QMSDRV           file.

                                              

     LU1                    QMSDRV  PLOTS     

                            QMSEND            

                            QMSINI            

                            QMSPIE            

                            QMSPXL            

                            QMSQUC            

                            QMSTON            

                            QVECT             

                                              

     LUPXL                  PIXEL   PLOTS     

                            PLOT              

                            QMSDRV            

                            QMSPXL            

                                              

     LUQUC                  PLOT    PLOTS     

                            QMSDRV            

                            QMSQUC            

                            QUIC              

                                              

4 COMMON_MINMAX

     MINMAX -- Stores minimum and maximum values of current plot.                                                 



           COMMON /MINMAX/ XMINUU, XMAXUU, YMINUU, YMAXUU,

          1                XMAXDV, YMAXDV



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     XMAXDV                 PLOT    PLOTS    Maximum value of X-coordinate of device.

                                              

     XMAXUU                 QMSINI  PLOT     Maximum value of X-coordinate.

                                    PLOTS     

                                              

     XMINUU                 QMSINI  PLOT     Minimum value of X-coordinate.

                                    PLOTS     

                                              

     YMAXDV                 PLOT    PLOTS    Maximum value of Y-coordinate of device.

                                              

     YMAXUU                 QMSINI  PLOT     Maximum value of Y-coordinate.

                                    PLOTS     

                                    QMSDRV    

                                              

     YMINUU                 QMSINI  PLOT     Minimum value of Y-coordinate.

                                    PLOTS     

                                    QMSDRV    

                                              

4 COMMON OFSET 

     OFSET -- Stores offsets and scaling factors                                                                  



           COMMON / OFSET / XOFF, XFAC, YOFF, YFAC, IOFF



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     IOFF                   PLOT    OFFSET   Flag to indicate that OFFSET has been called

                                    PLOTS     

                                              

     XFAC                   PLOT    OFFSET   X - coordinate scaling factor

                                    PLOTS     

                                              

     XOFF                   PLOT    OFFSET   X - coordinate offset

                                    PLOTS     

                                              

     YFAC                   PLOT    OFFSET   Y - coordinate scaling factor

                                    PLOTS     

                                              

     YOFF                   PLOT    OFFSET   Y - coordinate offset

                                    PLOTS     

                                              

4 COMMON_OLDXY 

     OLDXY -- Old position of pen.                                                                                



           COMMON /OLDXY / OLDX, OLDY



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     OLDX                           PLOT     Old X-coordinate.

                                    PLOTS     

                                              

     OLDY                           PLOT     Old Y-coordinate.

                                    PLOTS     

4 COMMON_PAGE  

                COMMON /PAGE  / NPAGE, IPAGE



          VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



          IPAGE                  QMSDRV  PLOT      

                                                   

          NPAGE                          QMSDRV    

                                                   

4 COMMON_PIEVAR

     PIEVAR -- Pie variables.                                                                                     



           COMMON / PIEVAR / PIERAD(10,10), PIESTA(10,10), PIEEND(10,10),

          1                  PIEEXP(10,10), PIEXLG(10,10), PIEYLG(10,10),

          2                  IPIEPT(10,10), IPIETX(10,10), IPIEWG(10),

          3                  NPIE

           CHARACTER*20 IPIETX



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     IPIEPT                 QMSPIE  PIE      Fill-Pattern number for Ith Pie Jth wedge.

                                             Range 00 to 24.

     IPIETX                 QMSDRV  PIE      Legend description text (a character

                            QMSPIE           string of 20 bytes max.) printed to

                                             the right of a legend box for Ith Pie Jth

                                             wedge.

     IPIEWG                 QMSPIE  PIE      Number of wedges in Ith Pie-Chart.

                                              

     NPIE                   QMSDRV  PIE      Number of Pie's.

                                              

     PIEEND                 QMSPIE  PIE      Ending angle in degrees for Ith

                                             Pie Jth wedge.

     PIEEXP                 QMSPIE  PIE      Explosion distance of Ith Pie Jth wedge

                                             in inches from the Pie Chart center.

     PIERAD                 QMSPIE  PIE      Radius of the pie chart in inches for

                                             Ith Pie Jth wedge.

     PIESTA                 QMSPIE  PIE      Starting angle in degrees for

                                             Ith Pie Jth wedge.

     PIEXLG                 QMSPIE  PIE      X-coordinate of a legend box for

                                             Ith Pie Jth wedge in inches.

     PIEYLG                 QMSPIE  PIE      Y-coordinate of a legend box for Ith

                                             Pie Jth wedge in inches.

4 COMMON_PXLBUF

     PXLBUF -- Pixel data buffer


           COMMON /PXLBUF/ NPBUF



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     NPBUF                  PLOT    PIXEL    Number of calls to PIXEL routine.

                            QMSDRV  PLOTS     

                                              

4 COMMON_QUCBUF

     QUCBUF -- Stores quic calls in buffer                                                                        



           COMMON /QUCBUF/ NQUIC



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     NQUIC                  PLOT    PLOTS    Number of QUIC calls.

                            QMSDRV  QUIC      

                                              

4 COMMON_SCALEF

     SCALEF -- Current scaling factor.                                                                            



           COMMON /SCALEF/ SCLFAC



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     SCLFAC                 PLOT    FACTOR   Scaling factor.

                            WHERE   PLOTS     

4 COMMON_SYMCMN

     SYMCMN -- Common block to hold symbols data                                                                  



           COMMON /SYMCMN/ LSTAND(200,60)



     VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



     LSTAND                 SYMBOL           Full set of standard symbols. stored in as x-value,

                            SYMINI           y-value, and ipen for each move for each character.

                                              

4 COMMON_TEXT  

                COMMON /TEXT  / ITEXT

                CHARACTER*29 ITEXT



          VARIABLE  TYPE - UNITS USED    CHANGED  DESCRIPTION



          ITEXT                  PLOTS             

                                 QMSEND            

