`
`EXHIBIT 1018
`
`Page 1 of 100
`
`
`
`MatrixlPlotter Programming
`HP 9831A Desktop Computer
`
`Hewlett-Packard Calculator Products Division
`P.o. Box 301, Loveland, Colorado 80537, Tel. (303) 667-5000
`(For World-wide Sales and Service Offices see back of manual.)
`Copyright by HewleU-Packard Company 1977
`
`Page 2 of 100
`
`
`
`Page 3 of 100
`
`Page 3 of 100
`
`
`
`
`
`
`
`HP Computer Museum
`www.hpmuseum.net
`
`For research and education purposes only.
`
`Page 4 of 100
`
`
`
`Table of Contents
`
`Chapter 1:
`
`Introduction
`
`Description of ROMs
`Inspection and Installation
`Syntax Conventions.
`Error Messages
`
`Chapter 2: 9862A and 9872A Plotter Operation
`
`Plotter Operations
`The 9862A Plotter
`The 9872A Plotter.
`Plotter Setup Procedure
`Pen Installation
`Loading Paper
`Setting the Scaling Points
`Specifying the Plotter
`User-Units
`Plotting Operations
`The SCALE Statement
`The AXIS Statements
`The PEN Statement
`The PLOT Statement
`The OFFSET Statement
`The IPLOT Statement
`Printing Operations
`The LABEL Statement
`The CPLOT Statement
`The Character Space
`The LETTER Statement
`
`Chapter 3: Additional 9872A Operations
`
`Introduction
`Window Plotting
`Line Patterns
`Character Slant
`Pen Selection
`Pen Velocity
`Changing Scaling Points
`
`iii
`
`1
`
`1
`
`2
`
`,2
`
`.3
`
`,4
`
`5
`5
`
`6
`
`6
`
`6
`
`7
`
`8
`
`9
`
`9
`
`10
`
`12
`
`12
`
`15
`
`17
`
`19
`
`19
`22
`23
`29
`
`31
`
`31
`
`33
`35
`36
`
`38
`
`38
`
`Page 5 of 100
`
`
`
`iv
`
`Digitizing
`Plotter Mnemonics
`The Tic Length Instruction
`The Automatic Pen Pick-Up Instruction
`Character Sets
`The Designate Standard Character Set Instruction.
`The Designate Alternate Character Set Instruction
`The Select Standard Set Instruction.
`The Select Alternate Set Instruction
`The LB Instruction
`The User Defined Character Instruction
`The Symbol Mode Instruction ... ..
`The Adaptive Pen Velocity Instruction ....
`The Normal Velocity Instruction
`The Default Instruction.
`The Initialize Instruction
`The Mask Instruction.
`The Output Status Instruction.
`Locating Current P1 and P2
`
`Chapter 4: Matrix Operations
`
`Description
`Matrix Names
`Matrix Definition
`Matrix Boundaries
`Redimensioning a Matrix
`Input and Output of Matrices
`Keyboard Data Input . .
`Data Input From a Program
`The MAT READ Statement.
`Printing Matrices
`The MAT PRINT Statement
`Matrix Arithmetic
`Matrix Addition
`Matrix Subtraction
`Scalar Multiplication
`Copying Matrices ....
`Matrix Arithmetic Example ..
`Matrix Multiplication
`InSummary
`.
`
`39
`41
`42
`
`43
`44
`.45
`45
`45
`46
`46
`46
`. .. 48
`
`50
`50
`.50
`50
`51
`52
`52
`
`53
`
`" 53
`54
`55
`55
`56
`
`56
`57
`57
`58
`
`58
`59
`59
`59
`59
`60
`60
`.62
`
`.62
`
`Page 6 of 100
`
`
`
`Transposition of Matrices.
`The Constant Matrix
`The Zero Matrix
`The Identity Matrix
`Inversion of Matrices
`Determinants
`
`Chapter 5: Cross Referencing
`
`The Cross Reference Command
`
`Appendix
`
`Syntax Summary
`ASCII Character Codes
`Sales and Service Offices
`Subject Index
`Error Messages
`
`Figures
`
`ROM Installation
`9862A Front Panel Controls
`9872A Plotter Front Panel Controls
`Initialized Location of P1 and P2
`Plot of Sin(X)/X
`Sin X and Cox X Plotted with OFFSET ..
`Plotting Crosses with IPLOT
`... '.'"
`Lettering FOCUS on the 9862A Plotter
`9862A Character Space
`9872A Character Space
`Plot of Sin(X)/X with Labels
`Angle of Rotation Plot
`Plot of Sin(X) with WINDOW ,
`Character Sets
`Character Grid ,
`User Defined Character Example.
`Symbol Mode Plots
`
`Tables
`
`Table of 9872A Plotter Instruction Mnemonics
`Default Conditions, .
`ASCII Character Codes
`
`v
`
`64
`,65
`,66
`.66
`67
`68
`
`.71
`
`73
`
`80
`82
`.84
`86
`
`1
`,4
`
`,5
`
`.6
`
`. 14
`16
`18
`.23
`,,24
`
`,24
`.26
`,28
`32
`
`44,45
`47
`
`48
`
`49
`
`41
`
`50
`82
`
`Page 7 of 100
`
`
`
`Page 8 of 100
`
`Page 8 of 100
`
`
`
`Chapter 1
`Introduction
`
`Description of ROMs
`The 98223A or 98223B Matrix/Plotter plug-in ROM (Read-Only Memory) is supplied
`with the Matrix/Plotter Programming Manual (HP Part No. 09831-90021). The
`98223A ROM adds matrix instructions and 9862A Plotter statements to the HP 9831A
`language. The 98223B ROM contains the same matrix instructions, but has 9872A
`Plotter statements.
`
`Inspection and Installation
`Either one of the ROMs can be plugged into any of the four ROM slots on the bottom
`front of the computer, as shown below.
`
`ROM Installation
`
`Before installing a ROM, switch the computer off. Then, with the label right side up,
`slide the ROM through the ROM slot door. Press it in so that the front of the ROM is
`even with the front of the computer. Then switch the computer on.
`
`The test procedure for your ROM is in the System Test Booklet (HP Part No. 09831-
`90031) which is supplied with your desktop computer. The procedure to test the
`9862A and 9872A Plotters is also in the System Test Booklet.
`
`Page 9 of 100
`
`
`
`2
`
`Introduction
`
`Syntax Conventions
`The following conventions apply to the syntax for all Matrix/Plotter ROM statements
`found in this manual.
`
`All items in dot matrix are required, exactly as shown.
`
`]
`
`All items in square brackets are optional, unless the
`brackets are in dot matrix.
`
`Three dots indicate that the previous item may be dup(cid:173)
`licated.
`
`All Matrix/Plotter ROM statements can be executed from the keyboard or from a prog(cid:173)
`ram, except where noted. All parameters shown in statements are values (Le., they
`can be numbers, variables, or expressions). The LABEL statement is the only state(cid:173)
`ment which contains a parameter that is not a value.
`
`Error Messages
`All error numbers generated by the Matrix/Plotter ROMs are in the 300 series. These
`errors are explained inside the back cover of this manual.
`
`NOTE
`Before using this manual, you should be familiar with
`the BASIC programming language used in the 9831A
`Desktop Computer, which is explained in the 9831A
`Operating and Programming Manual (HP Part No.
`09831-90000).
`
`Page 10 of 100
`
`
`
`Chapter 2
`9862A and 9872A Plotter Operation
`
`The operations explained in this chapter apply to both the 9862A and 9872A Plotters.
`Those operations which apply only to the 9872A Plotter are explained in Chapter 3.
`
`Plotter Operations
`The Matrix/Plotter ROMs enable the 9831A Desktop Computer to control either the
`9862A Plotter or the 9872A Plotter. Both plotters provide you with hard copy graphic
`solutions to problems solved by the 9831A Desktop Computer.
`
`The plotter instruction set consists of plotting and printing operations.
`
`Plotting instructions are used to:
`
`• Scale the units selected by the user and establish the origin point (0,0) anywhere
`on or off the plotting area .
`
`• Draw X and Y axes, of any length, anywhere on the plotting area .
`
`• Segment the axes by drawing tic marks at intervals selected by the user.
`
`• Plot points with respect to a previously established origin.
`
`• Raise or lower the pen either before or after moving the pen to the point to be
`plotted.
`
`• Offset the origin point to any position and then plot with respect to that offset
`origin.
`
`• Plot in increments - plot each new point with respect to the last point plotted
`instead of with respect to the origin.
`
`Page 11 of 100
`
`
`
`4 9862A and 9872A Plotter Operation
`
`Printing instructions are used to:
`
`• Print letters, digits, and other symbols.
`
`• Specify character height, width, and printing angle.
`
`• Position the pen, with respect to the point to be labelled, using character spaces
`as the plotting units.
`
`• Reference FORMAT statements to format printing.
`
`• Establish a typewriter mode to control printing entirely from the keyboard.
`
`The 9862A Plotter
`Information concerning the 9862A Plotter is contained in the Peripheral Manual (HP
`Part No. 09862-90012) for the plotter. Refer to that manual for information regarding
`plotter installation in the system, initial turn-on procedure and plotter maintenance.
`The following plotter set-up information is included here to provide you with informa(cid:173)
`tion regarding the general use of your plotter once you have installed it.
`
`Before plotting, the plotter must be prepared and the physical limits of the plotting
`area must be established. The front panel controls on the plotter are used for this
`purpose.
`
`LINE CHART
`O.~N) HOLD
`
`I! I
`
`I I
`
`ERROR
`
`LINE
`
`D 0
`
`r--------- GRAPH LIMITS - - - - - - -....
`[I I II ~
`
`/..OWER />EN PEN UPPER
`LEFT DOWN UP RIGHT ~
`
`9882A Front Panel Controls
`
`• Switch the plotter on by pressing
`
`LINE
`
`O~ON) o so that the white indicator lights up.
`• Press 0 . Move the pen holder arm all the way to one side of the plotter and
`
`CHART
`
`place a sheet of plotting paper on the surface of the plotter. Smooth out any
`irregularities in the paper.
`
`. Pressing it again
`• Secure the plotting paper to the platen by pressing 0
`releases the paper. The plotter cannot plot or letter when the paper is not secured.
`
`CHART
`"01.0
`
`Page 12 of 100
`
`
`
`9862A and 9872A Plotter Operation 5
`
`Then set the limits of the plotting area on the paper by pressing the following keys in
`the order shown:
`• First press 0
`and turn the two knobs at the left to manually adjust the
`location of the lower-left limit of the plotting area.
`• Then press 0
`and turn the two knobs at the right to manually adjust the
`location of the upper right limit of the plotting area.
`
`LOWER
`LEFT
`
`UPPER
`RIGHT
`
`If the yellow ERROR light turns on when you're setting either the lower-left or
`upper-right limit, reset the limit within bounds.
`
`Once you have set-up the plotting area limits, the plotting area can be relocated by
`moving the position of the lower-left limit. The upper-right limit will automatically be
`adjusted by the same direction and amount.
`
`The 9872A Plotter
`
`Information concerning power requirements, grounding, and plotter maintenance
`for the 9872A Plotter is contained in the HP 9872A Plotter Operating and Service
`Manual (HP Part No. 09872-90000) which is supplied with your plotter. The following
`plotter set-up procedure is included here for your convenience.
`
`Plotter Set-Up Procedure
`
`9872A Plotter Front Panel Controls
`
`Switch on the plotter with the power switch located on the front lower-right corner.
`After the plotter initialization is complete (the plotter arm has stopped moving), you
`can install the plotter pens.
`
`Page 13 of 100
`
`
`
`6 9862A and 9872A Plotter Operation
`
`Pen Installation
`
`Ring fits into slot
`
`Select the color of pen that you want in pen storage location 1, remove the cap, and
`place it in the pen holder as shown in the picture above. Note that the thick ring
`f€NFR1
`around the middle of the pen fits into the slot in the pen holder. Now press L.J and
`pen location button [Q. The plotter arm will put the pen in the first storage location.
`Repeat this procedure with the other pens substituting the appropriate empty pen
`location buttons for each one.
`
`Loading Paper
`,ri:o' This releases the paper hold-down
`To load a sheet of paper, first press
`mechanism and moves the plotter arm to the upper-right corner of the platen. Place a
`sheet of paper on the platen surface and smooth out any irregularities. Make sure that
`the paper is positioned squarely against the ridge at the bottom of the platen. Now
`press C:;~OT to activate the paper hold-down mechanism.
`
`CHART
`
`Setting The Scaling Points
`The scaling points, P1 and P2, do not restrict the plotter arm motion, but are used to
`establish the scaling area used by the SCALE statement (see page 9 ). These points are
`also referenced by other plotter statements that specify such things as character size
`and line pattern length.
`
`Page 14 of 100
`
`
`
`9862A and 9872A Plotter Operation 7
`
`The plotter sets Pi and P2 as shown in the following figure when it is initialized.
`
`P2 •
`
`P1
`•
`
`Initialized Location of Pl and P2
`
`To relocate either or both of these points, use the following procedures:
`
`• Position the pen at the new location using the plotter arm controls.
`
`1~'I§
`• When the pen is at the desired location, press
`if the point is to be lower-
`left, or press
`':~~~ if the point is to be the upper-right. The coordinates for Pi
`must be less than the coordinates of P2 or error 378 will occur when a SCALE
`statement is executed.
`
`lEFT
`
`0
`
`Specifying The Plotter
`
`If the 9862A Plotter ROM or both the 9862A and 9872A Plotter ROMs are installed,
`the default select code is 5 when the 9831A Desktop Computer is first switched on.
`When only the 9872A Plotter ROM is installed, the default select code is 705. These
`select codes correspond to the factory select code settings on the interface cards. If the
`select code on the interface card is changed for any reason, a new select code must be
`specified by executing the Standard Plotter Statement. When the Standard Plotter
`I: ::' 'T") is executed, all subsequent plotting operations take place at the
`Statement (
`specified select code.
`
`Syntax:
`
`' ... :T' ! ,:::' L.
`
`[select code]
`
`Select codes 2 thru 15 can be used with the 9862A. Select codes used with the 9872A
`use the HP-IB (Hewlett-Packard Interface Bus) select code format:
`
`Page 15 of 100
`
`
`
`8 9862A and 9872A Plotter Operation
`
`cdd
`or
`ccdd
`
`c or cc is a one or two digit number from 2 thru 15
`specifying the interface card select code.
`
`dd is a two digit number from 00 thru 30 which
`specifies the device address of the 9872A Plotter on the
`HP-IB.
`
`When the STDPLT statement is executed without specifying a select code, the approp(cid:173)
`riate default select code is set.
`
`Error 77 results if there is no peripheral at the select code specified. Select codes 0 and
`1 are reserved for the computer's internal use and cannot be used for plotting opera(cid:173)
`tions.
`
`Example statements:
`
`User-Units
`
`The user can designate his own units for plotting. The computer automatically scales
`(converts) these user-units to plotter-units (absolute units), which it uses to position
`the pen on the plotter surface.
`
`Units are specified, indirectly, by means of the SCALE statement (described next).
`First adjust the front panel controls on the plotter to establish graph limits which fit
`the size of the plotter paper. Next, use the scale statement to specify the values of the
`graph limits. Specifying the limits also determines the user-units; all subsequent
`plotting commands then use those units so that the user never has to concern himself
`with plotter-units. As an example, you might specify that the left edge of the graph
`represents -10 and the right edge 100. This has the effect of dividing the horizontal
`axis into (in this case) 110 user-units. What the user-units represent is determined by
`you - they could be feet, centimeters, hours, or any other unit.
`
`Once the units for a plot have been established, the size of the plot can be changed to
`fit a larger or smaller sheet of plotter paper. This is done by resetting the GRAPH
`LIMIT controls on the 9862A Plotter or by resetting P1 and P2 on the 9872A Plotter. It
`is not necessary to change units because the computer will automatically rescale them
`to fit the new plotting area.
`
`Page 16 of 100
`
`
`
`9862A and 9872A Plotter Operation 9
`
`Plotting Operations
`
`The SCALE Statement
`
`The SCALE statement establishes the full-scale values, in user-units, for the plot. Xmin
`to Xmax and Y min to Y max correspond exactly to the respective limits of the horizontal and
`vertical edges of the plotting area (the area is established mechanically, as previously
`described). This also establishes the point, on or off the plotting area, where the origin
`(point 0,0) of the coordinate system is located.
`
`Syntax:
`
`.:::: E .... j"'i
`
`t::. Xmin:; Xmax:; Y min j Y max
`
`A SCALE statement must be executed before any plotting can occur. Once established,
`the scale remains established until one of the following occurs:
`
`• A new SCALE statement is executed.
`
`• The program is initialized.
`
`or E:~ F;:: H:::; E: \' is executed.
`
`• The computer is switched off.
`
`The parameters in a SCALE statement must be given in the correct sequence. If the
`minimum and maximum values are switched, subsequent plotting commands may not
`be executed properly.
`
`Example statements:
`
`Page 17 of 100
`
`
`
`10 9862A and 9872A Plotter Operation
`
`The AXIS Statements
`The AXIS statements draw an X-axis or Y-axis according to the parameters given in
`the statement. The pen is automatically raised before moving to the start point, and
`again after drawing the axis.
`
`Syntax:
`::::::r: I ::::; V-offset [,; + or - tic [:; start point '; end point]]
`'j' ::::::: I ':::; X-offset [; + or - tic [,; start point end point]]
`
`NOTE
`
`The following describes the X-axis; the same informa(cid:173)
`tion is applicable to the Y-axis if "left" and "right" for
`the X-axis are read as "bottom" and "top", respectively,
`for the Y-axis.
`
`1. If no optional parameters are given, a straight line is drawn from left to right
`across the complete plotting area (from Xmin to Xmax). The line crosses the Y-axis
`at the point specified by the value of the Y -offset.
`
`2. If a tic parameter is included, tic marks are made along the axis as it is drawn;
`the value of the tic parameter determines the spacing, in user-units, between
`tics. The first tic is drawn at the starting point of the line. The tic parameter is
`usually positive (the plus sign is optional), but a negative tic spacing can also be
`used - see 4, below.
`
`3. If the start point and end point parameters are given, then the axis is drawn
`only between those points; that is. from the start point to the end point. If the
`start point parameter is less than the end point parameter, then the axis is
`drawn from left to right. If the start point parameter is greater than the end
`point parameter, then the axis is drawn from right to left.
`
`Page 18 of 100
`
`
`
`9862A and 9872A Plotter Operation 11
`
`4. A tic parameter which has a positive value results in:
`
`a. Normal tic spacing if the axis is drawn from left to right.
`
`b. A tic only at the right end of the axis if the axis is drawn from right to left.
`
`A negative tic value results in:
`
`a. A tic at the left-end of the axis if the axis is drawn from left to right.
`
`b. Normal tic spacing if the axis is drawn from right to left.
`
`5. If an OFFSET statement has previously been given, then all of the optional
`parameters must be included in any AXIS statement.
`
`A possible problem exists with the 9862A Plotter operation. In the SCALE statement,
`the values for Xmin, Xmax, Ymin, and Ymax are defined. If, in the AXIS statement, the value
`for the optional parameters, "start point" and "end point" are omitted, the values used
`are computed from the values defined in the SCALE statement. A scale factor (SF) and
`an adjustment number (A) are computed in the SCALE statement.
`
`SF
`
`[9999/ (Xmax-Xmin)]
`
`A=SF*Xmin
`
`When the AXIS statement is executed, the value of Xmin is recomputed using the for(cid:173)
`mula:
`
`Xmin = A/SF
`
`If the recomputed value generated by the computer is less than the actual Xmin defined
`in the SCALE statement, error 382 will occur. To avoid this possible problem, define
`all of the parameters in the AXIS statement.
`
`Example statements:
`
`:t :: ""':::1':i
`
`Page 19 of 100
`
`
`
`12 9862A and 9872A Plotter Operation
`
`The PEN Statement
`Syntax:
`
`The PEN statement is used to raise the pen without otherwise changing the pen posi(cid:173)
`tion relative to the plotting area. A control parameter to raise or lower the pen, either
`before or after pen movement, can also be included in two other statements (see PLOT
`and IPLOT).
`
`The PLOT Statement
`The PLOT statement moves the pen to the point specified by the X-coordinate and
`Y -coordinate parameters.
`
`Syntax:
`
`F::' L.. Cil' X coordinate" Y coordinate [':, Pen Control]
`
`When no optional pen control parameter is given:
`
`• If the pen was raised, it moves to the point specified and then lowers, marking a
`point on the paper .
`
`• If the pen was lowered, it remains lowered while moving to the point specified,
`thus drawing a straight line on the paper.
`
`The value and sign of the pen control parameter in the PLOT statement determines
`whether the pen will be raised or lowered before or after it moves to the specified point.
`If the parameter is:
`
`An odd, positive integer -
`
`The pen lifts before moving.
`
`An odd, negative integer-
`
`The pen lifts after moving.
`
`An even, positive integer-
`
`The pen lowers before moving.
`
`An even, negative integer-
`
`The pen lowers after moving.
`
`0-
`
`No parameter -
`
`No change.
`
`The pen remains in its present position (raised or low(cid:173)
`ered), moves to the point specified, and lowers or re(cid:173)
`mains down.
`
`Page 20 of 100
`
`
`
`9862A and 9872A Plotter Operation 13
`
`The value of the control parameter can be any number in the range + or -32767. If the
`value is not an integer, then it is automatically rounded up or down; (rounding is the
`same as the standard rounding in the computer).
`
`When plotting a function, it is sometimes useful to use a pen control parameter of zero
`in your PLOT statements so that you can make a dummy plot. First, raise the pen by
`pressing the PEN UP control on the plotter. Then run the part of the program which
`plots the function and watch the course of the pen over the plotter paper. If the pen
`movement does not appear to be correct, you can make any necessary changes to your
`program. When your program appears to be plotting correctly, stop the program,
`press PEN DOWN on the plotter and rerun the program to actually draw the plot.
`
`Plotting a Function
`
`This program plots the function (SIN X)/X. The scale is chosen to fit a sheet of 7 by 10
`inch plotter paper. However, the plot can be made on any size of paper, up to the
`plotter limits.
`
`Before running this program, be sure that the plotter is set-up for the size of paper
`you are using. The figure on the next page shows the plot resulting from this program
`- the height to width ratio of your plot may vary from that shown, depending on the
`dimensions of your paper.
`
`;;:~~ ;:::~
`::3 ;;:;
`
`/: fl >:; I ~::::
`! (ri I ~:::;
`
`~)
`
`r::
`
`.... ;;~:
`
`~5 ;:::~
`6i2i
`f
`
`Fl L. fJ
`"',IE
`1::.
`
`I''''
`
`",'
`
`F' J
`
`Page 21 of 100
`
`
`
`14 9862A and 9872A Plotter Operation
`
`Plot of Sin(X)/X
`
`When you run the program, notice that the last point is not plotted. This is not an
`error, but results because the user-unit chosen, PI, is not an exact value. In this case
`(line 40) the method used to obtain the value of 5*PI for the FOR. .. NEXT loop (Le., by
`incrementing, in steps of P1I20) results in a value which is slightly larger than the
`value obtained by simply multiplying 5 by PI. Thus the last point is assumed to be
`outside the range of the FOR. .. NEXT loop and is not plotted. The last required point
`(5*PI) will be plotted if line 40 is changed to:
`
`Whether or not this type of over-range is required for other plots depends upon the
`units used and can be easily ascertained by experimenting.
`
`Another version of this graph is shown later in this chapter in a printing example that
`illustrates labelling graphs.
`
`Page 22 of 100
`
`
`
`9862A and 9872A Plotter Operation 15
`
`The OFFSET Statement
`The OFFSET statement moves the origin (point 0,0) of the coordinate system to the
`point specified by the X-coordinate and Y-coordinate parameters. Subsequent plotting
`instructions are then made with respect to the new origin until that origin is changed
`by means of, for example, a new OFFSET or a new SCALE statement.
`
`Syntax:
`
`....................... Xcoordinate ;= Y coordinate
`
`OFFSET statements are not cumulative; that is, a new offset is made with respect to
`the original origin and not with respect to the last offset origin.
`
`Offsetting greatly simplifies plotting from the user's point of view. For example, it
`sometimes becomes necessary to divide the plotting area into smaller segments and
`make a separate plot in each segment. While plotting in each segment, it is not neces(cid:173)
`sary for the user to correct each point before plotting it. Instead, the OFFSET state(cid:173)
`ment moves the origin to the specified point within that segment. The computer then
`automatically makes the necessary corrections for each point to be plotted.
`
`Plotting with Offset
`This program illustrates the use of the OFFSET statement. The purpose of this prog(cid:173)
`ram is to make two plots, side-by-side, of different functions over the same range - in
`this case, SIN X and COS X over the range of -180 to 180 degrees (see the next figure).
`OFFSET is used in lines 30 and 80 to move the origin (0,0) of the graph. This enables
`the same AXIS statements (lines 150 and 160) to be used for both plots. The two
`FOR..NEXT loops (starting at lines 50 and 100) also have the same range.
`
`The program is scaled to plot on a sheet of 7 by 10 inch paper; as in the previous
`example, other sizes of paper can be used.
`
`Page 23 of 100
`
`
`
`16 9862A and 9872A Plotter Operation
`
`.... I
`
`::.,,;,
`
`":.1
`::,"
`
`OFFSEl 750/4,1.1
`::50
`0::::; U E:
`C) F.
`;:< .,.:. :I.
`
`Sin X and Cos X Plotted with OFFSET
`
`Page 24 of 100
`
`
`
`9862A and 9872A Plotter Operation 17
`
`The IPLOT Statement
`The IPLOT (Incremental Plot) statement moves the pen from its current position in the
`X and Y direction, by the amounts specified by the X-increment and V-increment
`parameters.
`
`Syntax:
`I F' L. c!'r XincremeIlt" Yillcrement (,' Pen Control]
`
`The pen control parameter is optional and operates exactly as described previously -
`see the PLOT statement.
`
`The IPLOT statement plots a point with respect to the previously plotted point and not
`with respect to the origin (0,0) of the graph. The IPLOT statement is very useful when
`drawing regular geometric shapes such as a cross. In cases like this, it is easier to plot
`each point relative to the current position of the pen than it is to plot each point
`relative to the origin of the graph.
`
`Executing the IPLOT statement immediately after the SCALE statement causes plot(cid:173)
`ting to start at Pl on the 9872A or at the lower-left on the 9862A.
`
`When an IPLOT statement is executed immediately after printing a letter or other
`character on the plotter, the pen movement is related to the last plotted position and
`not to the current position of the pen. "Plotted position" refers to a point plotted either
`by a PLOT statement or by an IPLOT statement.
`
`Incremental Plotting
`This program illustrates use of the IPLOT statement to plot incrementally. The prog(cid:173)
`ram uses a subroutine to plot crosses at different locations on the paper (see the figure
`on the following page). Before each cross is plotted, an OFFSET statement moves the
`pen to the desired position. IPLOT statements are then used to plot the coordinates of
`each point of the cross relative to the previous plotted point. As can be seen from this
`example, plotting a regular shape is much easier to program with incremental plot(cid:173)
`ting than it would be if the coordinates of each point had to be computed with respect
`to a fixed origin.
`
`The scale assumes 7 by 10 inch plotter paper. If the height to width ratio of the paper
`to be used differs from 7: 10, then the crosses will not be square. However, they will be
`drawn square if you change the parameters in the SCALE and OFFSET statements to
`suit the dimensions of your paper.
`
`Page 25 of 100
`
`
`
`18 9862A and 9872A Plotter Operation
`
`10 SCALE 0,100,0~70
`20 DFF:;:;ET 20,20
`3,~1 GO::;UE: 130
`4,) OFFSET 20, ::i0
`50 GO::;UB 130
`60 OFFSET
`:::::0) ~:.,)
`70 GO:::;UB 1:310
`:::,Zl OFFSET :3,:1, 2t1
`>:),71 GOSU8 1:310
`100 OFFSET 50,35
`11>] GOSUE: 13,)
`12(1 STOP
`13€1 PLOT -:::: d, 1
`14(j IPLOT (1,7,2
`150 IPLOT 6,O
`1610 IPLOT ,3,-7
`17(1 IPLOT 7d1
`18,3 IPLOT 0,-6
`190 IPLOT -7,[1
`2el,;1 I PLOT >3,-7
`210 IPLOT --6, ,3
`220 IPLOT >::1, 7
`,::3,Zl
`I PLOT -7,121
`24.) I PLOT ,3,6
`250 IPLOT 7,O,-1
`26£1 RETUPt·1
`270 Elm
`
`I
`CD
`
`~ o
`
`~ . . .
`
`Page 26 of 100
`
`
`
`9862A and 9872A Plotter Operation 19
`
`Printing Operations
`·r, - are used to print characters
`and ... ,..
`Three statements -
`(letters, numbers, and symbols) on the plotter. One important aspect of these state(cid:173)
`ments is that they are almost entirely independent from the plotting instructions
`
`described previously. However, the ~CALE statement must be executed prior to using
`plotting or printing operations. Also, the pen must usually be positioned by means of
`a PLOT or IPLOT statement before printing is possible.
`
`Letter sizes are specified by the user as a percentage of the height of the plotting area,
`which is established mechanically by means of the controls on the front panel of the
`plotter. The direction in which characters are to be printed, relative to the horizontal
`axis of the plotting area, is specified as an angle in degrees, radians, or grads. If the
`plotting area is rectangular, as opposed to square, then a simple compensation factor
`can be specified to prevent characters from appearing distorted.
`
`Example programs illustrating the printing statements are included at the end of this
`section.
`
`The LABEL Statement
`The LABEL statement is similar to the WRITE statement; it is used to print al(cid:173)
`phanumeric characters on the plotter and to reference FORMAT statements to format
`the printout. In addition, LABEL can be used to specify the height and width of the
`printed characters and the direction in which they are printed.
`
`Syntax:
`
`, .... (line number or * ['; character height; aspect ratio '; angle of rotation [ ';
`...... .
`paper height/width ratio]] :: [print list]
`
`The line number of a FORMAT statement, or, if no FORMAT statement is referenced,
`an asterisk n, must be included. The character parameters (height, aspect ratio, and
`angle of rotation) are optional, but, if one of them is used, then all three must be
`included. The last specification parameter, the ratio of paper height to paper width, is
`also optional; it can be included only if the other character parameters are also there.
`
`1. The first parameter is the line number of the FORMAT statement used to format
`the printout (see "Print List" on page 21). The FORMAT statement referenced
`can contain any parameters normally allowed in FORMAT statements.
`
`Page 27 of 100
`
`
`
`20 9862A and 9872A Plotter Operation
`
`This parameter is a line number, so it must be a positive integer (it cannot be a
`variable or expression). Like any line number, it is subject to being changed
`automatically any time the program is renunumbered by means of the REN
`command.
`
`If a FORMAT statement is not referenced, then an asterisk (*) must be used instead of a
`line number.
`
`2. The character parameters determine the height and width of the characters as
`well as the direction in which they will be printed. Normally, it is assumed that
`the plotting area, set by the graph limit controls on the plotter, is square. If the
`plotting area is rectangular rather than square, then the fourth character
`parameter, paper height/width ratio, should also be included.
`
`Once character specifications have been established by means of a LABEL
`statement, they remain established until a new LABEL statement with new
`character specifications is encountered, until the computer or plotter is in(cid:173)
`itialized, or until an ERASE is executed. At turn-on, or if no character specifica(cid:173)
`tions have been established, the computer automatically assumes the following:
`
`Character height
`
`1.5%
`
`Aspect ratio
`
`2
`
`Rotation = 0 degrees
`
`Paper height/width ratio
`
`1
`
`Character Height is expressed as a percentage of the height of the plotting area.
`The height parameter can range from 0 to a maximum of 18.4% on the
`9862A Plotter and from 0 to 127.9994999% on the 9872A Plotter. If the
`height of the plotting area is subsequently changed, the height of the
`characters will change accordingly.
`
`Aspect Ratio is used by the computer to calculate the character width. The as(cid:173)
`pect ratio is expressed as the ratio of character height divided by charac(cid:173)
`ter width. For example, an aspect ratio of 2 specifies characters that are
`twice as high as they are wide. An aspect ratio of 1 specifies square
`characters.
`
`Page 28 of 100
`
`
`
`9862A and 9872A Plotter Operation 21
`
`Angle of Rotation specifies the direction of printing. The angle is in degrees,
`radians, or grads, whichever was selected prior to execution of the
`LABEL statement. 0 degrees results in printing in the direction of the
`X-axis, from left to right; 90 degrees results in printing in the direction
`of the Y-axis, upwards, and so on. Any angle can be selected.
`
`Paper Height/Width Ratio is a compensating parameter which should be used
`when the plotting area is rectangular, as opposed to square. Without this
`p