.PAPER SIZE 60,80 .LEFT MARGIN 1 .RIGHT MARGIN 80 .FIGURE 10 .SPACING 1 .CENTER;SFGL70 - Small Fast Graphics Library .SKIP 1 .CENTER;Last Revision: April 28, 1980 .CENTER;Additions for 4663 plotter June 1983 B. Z. Lederman .CHAPTER;Introduction .SUBTITLE;Small#Fast#Graphics#Library .LEFT MARGIN 1 .RIGHT MARGIN 80 .PARAGRAPH SFGL70 is a UTRC developed software library. This library is intended to provide graphics capability for the Tektronix 4010, 4006, and 4014 terminals. The library was designed to be small (under 2K words), while providing the user with essential graphic capabilities. .PARAGRAPH Because the graphics package is a library, only those routines referenced by the users program will be linked as a part of the executable task image. .PARAGRAPH Since the library has been created at UTRC, the systems programming group welcomes your comments regarding it's performance. Any suggestions as to how the SFGL70 can be improved are always welcome. If the content of any portion of this documentation package is not clear, please inform us. You can call us at: extension 7241. .CHAPTER;Programming Considerations .SUBTITLE;Small#Fast#Graphics#Library .LEFT MARGIN 1 .RIGHT MARGIN 80 .PARAGRAPH The Tektronix terminals have an absolute coordinate system ranging from 0-1023 on the X axis and from 0-780 on the Y axis. However, the coordinate system(window) established by GRID or WINDOW has a range from 0-920 on the X axis and from 0-735 on the Y axis. The window is shifted right 103 coordinates and up 45 coordinates to allow labels below and to the left of the window. .SKIP .NOTE;Use with Plotter When plotting on full (C) size paper, the full window should be visible, as will be the case if the window is set with the locate buttons on both the lower left and upper right corners for any size paper. If, however, B or C size paper is used with the default page size, the full Y axis will not be available as the paper is not as high for it's width as a CRT screen. If the desired Y axis is N, set the YMAX for GRID or WINDOW to be N/0.875 to get the desired height. Note also that after a HOME, the pen will be above the top of the window. .END NOTE .PARAGRAPH ASCII text may be displayed anywhere within the absolute coordinate system. However, if a text string is attempted to be displayed outside the range of the absolute coordinate system, the Tektronix termial hardware will insert a carriage return and line feed into the text string. ASCII characters are 14 coordinates in width and 22 coordinates in height. The coordinates reference the bottom left corner of each character. .PARAGRAPH The operating mode of the Tektronix terminals may be either Alpha or Graphic. The SFGL70 routines will put the terminal in the correct mode before they attempt to do textural or graphic output. However, you must put the terminal in Alpha mode if you wish to do Fortran output after having just performed graphic output. .PARAGRAPH We have designed the package for faster plot execution by reducing system I/O overhead. This is accomplished by buffering all graphic output. However, the graphic output buffer may be left partially full by any routine which returns to the calling program while still in Graphic mode. To ensure that all graphic output is physically sent to the terminal, the user must call any routine which returns the terminal to Alpha mode. .PARAGRAPH The Fortran program must not use a "stop" statement to exit. To ensure that all buffered graphic output is sent to the terminal correctly, the program should exit with a "call exit" statement. .PARAGRAPH Any user linking assembly language routines to their program should note that the SFGL70 routines use local event flags 10 and 11. .PARAGRAPH Terminals operating with the SFGL70 package must run at 9600 baud or slower. This speed dependency is due to the delays which must be generated as a result of terminal control functions such as hardcopy and erase. NOTE: for the 4663 plotter using x-on/x-off, there does not appear to be any speed restriction. Functions such as hardcopy and erase do not apply. .PARAGRAPH If you are using the SFGL70 at a Tektronix 4014, you should set the character size to 74 characters per line and 35 lines per page. .PARAGRAPH .CHAPTER;Available Subroutines .SUBTITLE;Small#Fast#Graphics#Library .LEFT MARGIN 1 .RIGHT MARGIN 80 .INDEX GRID GRID - .SKIP This routine establishes the limits of the user defined coordinate system. The range of the X and Y axis may be between + and - 1.7 * 10**38. This routine also displays an X and Y grid with labels. It establishes the screen's virtual window. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL GRID(LABELX,XMAX,XMIN,YGRDLO,LABELY,YMAX,YMIN,XGRDLO,MMFLG) .SKIP Where: .SKIP LABELX - is the ASCII label displayed below the X grid. .SKIP XMAX - is the floating point maximum value of the X axis. It may be positive, negative, or zero. It may be less than XMIN. .SKIP XMIN - is the floating point minimum value of the X axis. It may be positive, negative, or zero. It may be greater than XMAX. .SKIP XGRDLO - is the floating point Y coordinate position of the X grid. If it is out of range, the X grid will appear at YMAX or YMIN depending on which limit it is closer to. .SKIP LABELY - is the ASCII label displayed to the left of the Y grid. .SKIP YMAX - is the floating point mayimum value of the Y axis. It may be positive, negative, or zero. It may be less than YMIN. .SKIP YMIN - is the floating point minimum value of the Y axis. It may be positive, negative, or zero. It may be greater than YMAX. .SKIP YGRDLO - is the floating point X coordinate position of the Y grid. If it is out of range, the Y grid will appear at XMAX or XMIN depending on which limit it is closer to. .SKIP MMFLG - is a flag to specify whether the minimum and maximum values of each grid should be displayed. a MMFLG integer value of -1 will cause the grid's value not to be displayed. .SKIP .CENTER;******************** .TEST PAGE 23 .INDEX WINDOW WINDOW - .SKIP This routine establishes the limits of the user defined coordinate system. The range of the X and Y axis may be between + and - 1.7 * 10**38. This routine also displays an X and Y grid with labels. It establishes the screen's virtual window. It calls GRID to perform those functions. However, unlike GRID, WINDOW will not perform correctly if a grid minimum is greater than the corresponding grid maximum. in addition, it computes an appropriate number of tics to display on the X and Y grid and the distance between those tics. This algorithm to automatically display tic marks with labels is a compromise between making your programming easier and keeping the library small. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL WINDOW(LABELX,XMAX,XMIN,YGRDLO,LABELY,YMAX,YMIN,XGRDLO,MMFLG) .SKIP Where: .SKIP LABELX - is the ASCII label displayed below the X grid. .SKIP XMAX - is the floating point maximum value of the X axis. It may be positive, negative, or zero. It may be less than XMIN. .SKIP XMIN - is the floating point minimum value of the X axis. It may be positive, negative, or zero. It may be greater than XMAX. .SKIP XGRDLO - is the floating point Y coordinate position of the X grid. If it is out of range, the X grid will appear at YMAX or YMIN depending on which limit it is closer to. .SKIP LABELY - is the ASCII label displayed to the left of the Y grid. .SKIP YMAX - is the floating point mayimum value of the Y axis. It may be positive, negative, or zero. It may be less than YMIN. .SKIP YMIN - is the floating point minimum value of the Y axis. It may be positive, negative, or zero. It may be greater than YMAX. .SKIP YGRDLO - is the floating point X coordinate position of the Y grid. If it is out of range, the Y grid will appear at XMAX or XMIN depending on which limit it is closer to. .SKIP MMFLG - is a flag to specify whether the minimum and maximum values of each grid should be displayed. A MMFLG integer value of -1 will cause the grid's value not to be displayed. .SKIP .CENTER;******************** .TEST PAGE 22 .INDEX PLOT PLOT - .SKIP Routine to plot a continuous or dashed curve(line), within the virtual window established by GRID. .SKIP Returns in Graphic Mode .SKIP Calling Format: .SKIP CALL PLOT(NUMPTS,XARRAY,YARRAY) .SKIP Where: .SKIP NUMPTS - is the integer number of points to be connected to plot the curve(line). If less than zero every other point is connected. .SKIP XARRAY - are the virtual floating point X coordinates. .SKIP YARRAY - are the virtual floating point Y coordinates. .SKIP .CENTER;******************** .SKIP .INDEX PLOTC .TEST PAGE 10 PLOTC - .SKIP 2 The same as plot except the first point of the curve(line) is connected to the last point of the last call to plot or plotc. .SKIP Returns in Graphic Mode .SKIP .CENTER;******************** .TEST PAGE 20 .INDEX POINT POINT - .SKIP Routine to display a point(s) within the virtual window established by grid. .SKIP Returns in Graphic Mode .SKIP Calling Format: .SKIP CALL POINT(NUMPTS,XARRAY,YARRAY) .SKIP Where: .SKIP NUMPTS - is the integer number of points to be displayed .SKIP XARRAY - are the virtual floating point X coordinates. .SKIP YARRAY - are the virtual floating point Y coordinates. .SKIP .CENTER;******************** .TEST PAGE 20 .INDEX POINTI POINTI - .SKIP Routine to display a point(s) within the absolute window of the display. .SKIP Returns in Graphic Mode .SKIP Calling Format: .SKIP CALL POINTI(NUMPTS,IXARRY,IYARRY) .SKIP Where: .SKIP NUMPTS - is the integer number of points to be displayed .SKIP XARRAY - are the absolute integer X coordinates. .SKIP YARRAY - are the absolute integer Y coordinates. .SKIP .CENTER;******************** .INDEX TICWIN .TEST PAGE 20 TICWIN - .SKIP 2 Routine to display tic marks(crosses) within the complete virtual window established by GRID. The spacing between tics is in virtual coordinates. .SKIP Returns in Graphic Mode .SKIP Calling Format: .SKIP CALL TICWIN(XSPACE,YSPACE) .SKIP Where: .SKIP XSPACE - is the virtual floating point number of X coordinates between tics. .SKIP YSPACE - is the virtual floating point number of Y coordinates between tics. .SKIP .CENTER;******************** .INDEX TICGRD .TEST PAGE 20 TICGRD - .SKIP 2 Routine to display tic marks along the X and Y grid. The spacing between tics is in virtual coordinates, as established by GRID. .SKIP Returns in Graphic Mode .SKIP Calling Format: .SKIP CALL TICGRD(XSPACE,YSPACE) .SKIP Where: .SKIP XSPACE - is the virtual floating point number of X coordinates between tics. .SKIP YSPACE - is the virtual floating point number of Y coordinates between tics. .SKIP .CENTER;******************** .SKIP .INDEX HTEXT .TEST PAGE 23 HTEXT - .SKIP 2 Routine to display text horizontally, using the coordinate system (window) established by GRID. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL HTEXT(TEXT,XCOORD,YCOORD) .SKIP Where: .SKIP TEXT - is the ASCII string to be displayed .SKIP XCOORD - is the virtual floating point X coordinate position to begin the text display. .SKIP YCOORD - is the virtual floating point Y coordinate position to begin the text display. .SKIP .CENTER;******************* .TEST PAGE 24 .INDEX VTEXT VTEXT - .SKIP 2 Routine to display text vertically using the coordinate system (window) established by the call to GRID. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL VTEXT(TEXT,XCOORD,YCOORD) .SKIP Where: .SKIP TEXT - is the ASCII text to be displayed. .SKIP XCOORD - is the virtual floating point X coordinate position to begin the text display. .SKIP YCOORD - is the virtual floating point Y coordinate position to begin the text display. .SKIP .CENTER;******************** .SKIP .INDEX FLTXT .TEST PAGE 24 FLTXT - .SKIP 2 Routine to display a floating point number (in G17.6 Format) within the coordinate system(window) established by the call to GRID. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL FLTXT(FLTNUM,XCOORD,YCOORD) .SKIP Where: .SKIP FLTNUM - is the floating point number to be displated. .SKIP XCOORD - is the virtual floating point X coordinate position to begin the display. .SKIP YCOORD - is the virtual floating point Y coordinate position to begin the display. .SKIP .CENTER;******************** .INDEX PLTSYM .TEST PAGE 26 PLTSYM - .SKIP 2 Routine to display any keyboard character(symbol) in the virtual window established by GRID. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL PLTSYM(NUMSYM,XARRAY,YARRAY,SYMBOL) .SKIP Where: .SKIP NUMSYM - is the number of times to display the symbol .SKIP XARRAY - is the array(variable) containing the virtual floating point X coordinate position(s) to display the symbol .SKIP YARRAY - is the array(variable) containing the virtual floating point Y coordinate position(s) to display the symbol .SKIP SYMBOL - is the ASCII symbol(character) to be displayed .SKIP .CENTER;******************** .INDEX HTEXTI .TEST PAGE 24 HTEXTI - .SKIP 2 Routine to display text horizontally, using the display's absolute integer coordinate system. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL HTEXTI(TEXT,IXCORD,IYCORD) .SKIP Where: .SKIP TEXT - is the ASCII string to be displayed .SKIP IXCORD - is the absolute integer X coordinate position to begin the text display. .SKIP IYCORD - is the absolute integer Y coordinate position to begin the text display. .SKIP .CENTER;******************* .SKIP .INDEX VTEXTI .TEST PAGE 25 VTEXTI - .SKIP 2 Routine to display text vertically using absolute integer coordinate system. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL VTEXTI(TEXT,IXCORD,IYCORD) .SKIP Where: .SKIP TEXT - is the ASCII text to be displayed. .SKIP IXCORD - is the absolute integer X coordinate position to begin the text display. .SKIP IYCORD - is the absolute integer Y coordinate position to begin the text display. .SKIP .CENTER;******************** .INDEX FLTXTI .TEST PAGE 22 FLTXTI - .SKIP 2 Routine to display a floating point number (in G17.6 Format) within the absolute integer coordinate system. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL FLTXTI(FLTNUM,IXCORD,IYCORD) .SKIP Where: .SKIP FLTNUM - is the floating point number to be displated. .SKIP IXCORD - is the absolute integer X coordinate position to begin the display. .SKIP IYCORD - is the absolute integer Y coordinate position to begin the display. .SKIP .CENTER;******************** .SKIP .INDEX SCURSR .TEST PAGE 25 SCURSR - .SKIP 2 Routine to activate the graphic cursor(cross-hair), allowing the user to position it. The cursor position is transmitted to to the computer when a keyboard character is struck. This character along with the cursor position is returned as arguments. NOTE: this has no relevance for the 4663 plotter. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL SCURSR(ICHAR,IX,IY) .SKIP Where: .SKIP ICHAR - is the keyboard character typed .BREAK ##(right adjusted if not declared as a byte) .SKIP IX - is the absolute integer X screen coordinate of the graphic cursor. .SKIP IY - is the absolute integer Y screen coordinate of the graphic cursor. .SKIP .CENTER;******************** .INDEX VCURSR .TEST PAGE 29 VCURSR - .SKIP 2 Routine to activate the graphic cursor(cross-hair), allowing the user to position it. The cursor position is transmitted to to the computer when a keyboard character is struck. This character along with the cursor position is returned as arguments. VCURSR transforms the returned coordinates into virtual floating point coordinates according to the window established by GRID. NOTE: this has no relevance for the 4663 plotter. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL VCURSR(ICHAR,X,Y) .SKIP Where: .SKIP ICHAR - is the keyboard character typed .BREAK ##(right adjusted if not declared as a byte) .SKIP X - is the virtual floating point X screen coordinate of the graphic cursor. .SKIP Y - is the virtual floating point Y screen coordinate of the graphic cursor. .SKIP .CENTER;******************** .SKIP .INDEX ERASE .TEST PAGE 13 ERASE - .SKIP 2 Routine to erase the screen. Has no function for the 4663 plotter. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL ERASE .SKIP .CENTER;******************** .SKIP .INDEX COPY .TEST PAGE 14 COPY - .SKIP 2 Routine to make a hardcopy of the screen. Has no function for the 4663 plotter. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL COPY .SKIP .CENTER;******************* .INDEX BELL .TEST PAGE 17 BELL - .SKIP 2 Routine to ring the terminal bell. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL BELL(N) .SKIP Where: .SKIP N - is the integer number of times to ring the bell. .SKIP .CENTER;******************* .INDEX BAUD .TEST PAGE 20 BAUD - .SKIP 2 Routine to inform SFGL70 of the baud rate of the user's terminal. it is only needed if the routines copy, erase, or bell are used. The default baud rate is 9600. NOTE: this is not required for the 4663 plotter using x-on/x-off and through connected to a normal terminal. .SKIP Returns in Previous Mode .SKIP Calling Format: .SKIP CALL BAUD(N) .SKIP Where: .SKIP N - is the integer baud rate of the terminal. .SKIP .CENTER;******************* .INDEX MVCURI .TEST PAGE 20 MVCURI - .SKIP 2 Routine to move the cursor to the desired screen coordinates, using the absolute integer coordinates of the display. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL MVCURI(IX,IY) .SKIP Where: .SKIP IX - is the absolute integer X coordinate position to move the cursor to. .SKIP IY - is the absolute integer Y coordinate position to move the cursor to. .SKIP .CENTER;******************* .INDEX MVCUR .TEST PAGE 22 MVCUR - .SKIP 2 Routine to move the cursor to the desired screen coordinates, using the virtual window established by GRID. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL MVCUR(X,Y) .SKIP Where: .SKIP X - is the virtual floating point coordinate position to move the cursor to. .SKIP Y - is the virtual floating point Y coordinate position to move the cursor to. .SKIP .CENTER;******************* .INDEX GTCURI .TEST PAGE 20 GTCURI - .SKIP 2 Routine to obtain the current cursor screen coordinates, using the absolute integer coordinates of the display. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL GTCURI(IX,IY) .SKIP Where: .SKIP IX - is the absolute integer X coordinate position of the cursor. .SKIP IY - is the absolute integer Y coordinate position of the cursor. .SKIP .CENTER;******************* .INDEX GTCUR .TEST PAGE 20 GTCUR - .SKIP 2 Routine to obtain the current cursor screen coordinates, using the virtual window established by grid. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL GTCUR(X,Y) .SKIP Where: .SKIP X - is the virtual floating point coordinate position of the cursor. .SKIP Y - is the virtual floating point Y coordinate position of the cursor. .SKIP .CENTER;******************* .SKIP .INDEX BACK .TEST PAGE 17 BACK - .SKIP 2 Routine to move the cursor back n spaces. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL BACK(N) .SKIP Where: .SKIP N - is the integer number of times to backspace. .SKIP .CENTER;******************* .SKIP .INDEX UP .TEST PAGE 17 UP - .SKIP 2 Routine to move the cursor up n lines. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL UP(N) .SKIP Where: .SKIP N - is the integer number of lines to move the cursor up. .SKIP .CENTER;******************* .INDEX DOWN .TEST PAGE 17 DOWN - .SKIP 2 Routine to move the cursor down n lines. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL DOWN(N) .SKIP Where: .SKIP N - is the integer number of lines to move the cursor down. .SKIP .CENTER;******************** .SKIP .INDEX HOME .TEST PAGE 16 HOME - .SKIP 2 Routine to move the cursor to the home position (top left corner of the screen). NOTE: when plotting on A or B size paper with default coordinates, home will be outside (above) the printing window by about 4 lines in the default character size. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL HOME .SKIP .CENTER;******************** .SKIP .INDEX ALPHA .TEST PAGE 13 ALPHA - .SKIP 2 Routine to return the terminal to Alpha mode. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL ALPHA .SKIP .CENTER;******************** .SKIP .INDEX BLKBOX .TEST PAGE 17 BLKBOX - .SKIP 2 Routine to inform the graphics package that the graphics terminal is on a shared line with the hardcopy device. NOTE: this does not apply to a 4663 plotter which is passing through to a normal terminal. In this case, the plotter must be set up to intercept commands, and should be turned on or off as required (see PLOTON, PLOTOF). .SKIP Returns in Previous Mode .SKIP Calling Format: .SKIP CALL BLKBOX .SKIP .CENTER;******************** .CHAPTER;ADDITIONS FOR PLOTTER .TITLE;#Additions for plotter .LEFT MARGIN 1 .RIGHT MARGIN 80 .PARAGRAPH The following additions are for the 4663 series plotter, although some are also relevant to 4014 type terminals. Unless otherwise specified, the commands are Type 1, the attention character is an Escape (octal 33), and the device address is "A". .BLANK 3 .TEST PAGE 13 .INDEX PLTRON PLTRON - .SKIP Turns on the plotter. This should be sent first to inform the plotter it is to respond to any commands which follow. .SKIP Returns in default mode of plotter. .SKIP Calling Format: .SKIP CALL PLTRON .SKIP .CENTER;******************** .SKIP .TEST PAGE 13 .INDEX PLTROF PLTROF - .SKIP Turns off the plotter, does a call to ALPHA, and so will flush the buffer. This should be the last command to the plotter. .SKIP Returns in Alpha Mode .SKIP Calling Format: .SKIP CALL PLTROF .SKIP .CENTER;******************** .SKIP .TEST PAGE 44 .INDEX PLTSET PLTSET - .SKIP Sends an attention (Escape) followed by a single byte. This is a Type#1 or Type#2 command depending upon the character sent, and may be used to change the line type, character size, etc. Once the character size or line type has been changed, it remains in that state for all subsequent commands until reset. .SKIP Does not change mode. .SKIP Calling Format: .SKIP CALL PLTSET(byte) .SKIP Where: .SKIP byte - is the single byte to be sent. The following are valid for the 4663 plotter and 4014 terminal: .LIST .LE;a - sets the line type to dots. .LE;b - sets the line type to dash-dot. .LE;c - sets the line type to short dashes. .LE;d - sets the line type to long dashes. .LE;e - sets the line type to solid (the default after a device reset). .LE;8 - sets the characters to the largest size (the default after reset). .LE;9 - sets the characters to size 2. .LE;: - sets the characters to size 3. .LE;; - sets the characters to the smallest size. .LE;Form-Feed (octal 14) resets graphic characteristics, sets the line type to solid, puts the pen at home (upper left corner). See PLTREG .END LIST Other characters will be valid for the 4014 (such as write through or defocus) but not for the 4663. Other line types repeat those given above. .SKIP .CENTER;******************** .SKIP .TEST PAGE 12 .INDEX PLTREA PLTREA - .SKIP Resets the Alpha characteristics (character size, font, slant, rotation). .SKIP Returns in default Mode .SKIP Calling Format: .SKIP CALL PLTREA .SKIP .CENTER;******************** .SKIP .TEST PAGE 11 .INDEX PLTREG PLTREG - .SKIP Resets Graphic characteristics (line type, carriage position). See Form-Feed under PLTSET. .SKIP Calling Format: .SKIP CALL PLTREG .SKIP .CENTER;******************** .SKIP .TEST PAGE 10 .INDEX PLTRES PLTRES - .SKIP Resets Graphic and Alpha characteristics by calling PLTREG and PLTREA above. .SKIP Calling Format: .SKIP CALL PLTRES .SKIP .CENTER;******************** .SKIP .TEST PAGE 14 .INDEX PLTLOD PLTLOD - .SKIP Moves the pens to load point. As this is the upper right corner which is usually outside the window, the locate buttons will light. This does not generate a pause, and any commands which follow will be executed, so if a pen change is desired, the program must prompt the user. The command is useful immediatly prior to PLTROF to move the pens away from the paper. .SKIP Calling Format: .SKIP CALL PLTLOD .SKIP .CENTER;******************** .SKIP .TEST PAGE 18 .INDEX PLTPEN PLTPEN - .SKIP Selects a pen for subsequent use. .SKIP Calling Format: .SKIP CALL PLTPEN(n) .SKIP Where: .SKIP n - is the pen number. The command does a modulo 4 reduction of this parameter, so that only numbers 0, 1, 2, or 3 result (even if a letter or non-integer number is used). 1 and 2 select the respective pens, 3 causes no change. 0 selects the cross hairs, but the next command requiring something to be drawn will result in the previous pen being re-selected. .SKIP .CENTER;******************** .SKIP .TITLE;Index .SUBTITLE;Small#Fast#Graphics#Library .PAGE .PRINT INDEX