Contact us Heritage collections Image license terms
HOME ACL ACD ICF SUS DCS G&A STARLINK Literature
Further reading □ OverviewProject □ GEC □ Overview4000 SeriesGEC 4070 Operating SystemInstallationCommunicationsGEC 4000 familyNucleusFunctional spec.Babbage assemblerInstruction set manualNucleus manual □ Prime □ OverviewThe companyPrimos Operating SystemSystemsCommunicationsSoftwarePrime and UMISTOffice AutomationThe Schools ProjectPrime 750FOREST preprocessorMETA II TWSMETA II definitionFINGS graphics systemROOTS extended FORTRANPrime User Manual
C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACDICFMulti User Minis
ACDICFMulti User Minis
ACL ACD C&A INF CCD CISD Archives
Further reading

OverviewProject
GEC
Overview4000 SeriesGEC 4070 Operating SystemInstallationCommunicationsGEC 4000 familyNucleusFunctional spec.Babbage assemblerInstruction set manualNucleus manual
Prime
OverviewThe companyPrimos Operating SystemSystemsCommunicationsSoftwarePrime and UMISTOffice AutomationThe Schools ProjectPrime 750FOREST preprocessorMETA II TWSMETA II definitionFINGS graphics systemROOTS extended FORTRANPrime User Manual

FINGS: Fortran Interactive Noddy Graphics System

This is the specification for FINGS, the minimal graphics for use on the ICF multi-user minis.

Many routines come in two forms. One takes real floating point arguments and the other integer coordinates. For simplicity they have been listed together. The description usually relates to the floating point form.

CALL MOVT02 (X, Y)
CALL JMOVTO (IX,IY)
X,Y: the co-ordinates of the end point, specified in the current drawing units and relative to the current axes.
MOVT02 is used to make a non-drawing movement from the current drawing position to a specified end point.
CALL MOVBY2(DX,DY)
CALL JMOVBY(IDX,IDY)
DX,DY: incremental co-ordinate distances (in the current units) from the current drawing position to the end point.
MOVBY2 is used to make a non-drawing movement from the current drawing position to a specified end point.
CALL LINT02(X,Y)
CALL JLINTO(IX,IY)
X,Y: the co-ordinates (relative to the axes and in the current units) of point. current the end LINT02 is used to draw a straight line from the current drawing position to a specified end point.
CALL LINBY2(DX,DY)
CALL JLINBY(IDX,IDY)
DX,DY: incremental co-ordinate distances (in the current units) from the current drawing position to the end point.
LINBY2 draws a straight line from the current drawing position to a specified end point.
CALL VEX(X1,Y1,X2,Y2)
CALL JVEC(IX1,IY1,IX2,IY2)
(X1,Y1): starting point, (X2,y2) end point
Draws a straight line from (X1,Y1) to (X2,Y2)
CALL CHAHOL(IHOL)
IHOL: A Holerith string.
CHAHOL outputs a character string consisting of any combination of characters in the FORTRAN set, plus lower case letters and any special characters permitted by the system. The length of the string should not exceed 140 characters.
The character string as specified by the argument IHOL is output on a single line. The bottom left-hand corner of the first character will be at the current drawing point. The end point is the bottom right-hand corner of the last character. This allows another string to be added without re-positioning. However, the current drawing position after character drawing is undefined for all line drawing facilities and must be re-established by means of an invisible absolute drawing movement. If windowing is on, the string will only be displayed if the start of the string is within the users window. If concatenating the visibility of the previous string will apply. All strings must be terminated by *. which is not drawn. *L means shift into lower case, *U means shift into upper case, ** means * . The escape character * may be set to any other character by the CHAESC routine (q.v.). Chracters not available on this device will be output as I.
CALL CHAESC (1H+)
+,-: a Hollerith character.
CHAESC sets the escape character for use with CHAHOL, CHAARR, CURDEF, and RDCHST. The default escape character is *. The escape character may be set to any character in the FORTRAN set except full stop. The following characters may follow the escape character: . string terminator, U change to upper case, L change to lower case.
CALL CHAASC(NCHAR)
NCHAR: an integer that represents the ASCII code of a character.
CHAASC outputs a character whose ASCII code is NCHAR. Placement rules as for CHAHOL.
CALL CHAINT(INT,NWIDTH)
INT: Integer variable. NWIDTH: Field width, that will be large enough to accommodate all digits of INT, including its sign if a negative number.
CHAINT outputs the value of an integer variable. The integer value is output as a decimal number. It is preceded by a minus sign for negative values or a space for positive values and is right-justified in the specified field width. Where the number does not fill the specified field width, it is filled out to the left by spaces. Where the field width (NWIDTH) is negative, the integer value is output with all leading spaces suppressed. The start point of the number is the current drawing position and will be the bottom left-hand corner of the first character. The end point is the bottom right-hand corner of the string. This allows concatenation of successive character strings. However, the current drawing position after a character string is undefined for all line drawing facilities and must be re-established by means of an invisible absolute drawing movement. Windowing is defined as in CHAHOL.
CALL CHAFIX(REAL,NIDTH,MPLACE)
REAL: real number; NWIDTH: field width, large enough to accommodate all digits of REAL, sign and decimal point; NPLACE: required number of places after the decimal point (less than or equal to 6).
CHAFIX outputs the value of a real number variable in fixed point format (the FORTRAN F format). The variable is output as a real number and preceded by a minus sign for negative numbers or a space for positive numbers. Where the number to be output does not fill the field, it is right-justified and filled out to the left by spaces. Rest as for CHAINT.
CALL CHAFLO(REAL,NWIDTH)
REAL: real number variable; NWIDTH: field width large enough to accommodate all digits of REAL including its sign, decimal point and exponent.
CHAFLO outputs the value of a real number variable in floating point format. Restrictions as for CHARINT.
CALL CHAARR(IARRAY,NWORDS,NFORM)
IARRAY: an integer array that holds characters to be output; NWORDS length of array IARRAY; NFORM: the number of characters per array element of array IARRAY.
CHARR outputs a string of characters from array IARRAY. Characters in IARRAY must be in A(NFORM) format. For example, if NFORM = I, characters in IARRAY are in Al format.
CALL SYMBOL(N)
N: the number of the symbol to be output.
SYMBOL draws one of the eight available symbols centred at the current drawing position. The pen is left where it was at the start of the symbol. If windowing is on, the symbol will only be drawn if its centre is within the users window. Note: SYMBOL SIZE is not affected by CHASIZ. Symbols cannot be concatenated.
CALL CLICTL(I)
I=0 or 1
I=0, clipping is disabled (default); I=1: clipping is enabled. Clipping is performed with respect to the boundary defined by a call to WINDOL. If the user has not specified a window the default values used will result in clipping to the maximum visible square area.
CALL WINDOL(XMIN,XMAX,YMIN,YMAX)
Defines in user co-ordinates the limits of the window. The coordinate system defined by WINDOL maps onto the physical screen area defined by a call to VUPORT. Thus: If clipping is enabled the picture will be clipped at the limits set by WINDOL. The default window will be (XMIND, XMAXD, YMIND, YMAXD) where the parameters are the device co-ordinates corresponding to the default viewport (see VUPORT).
CALL VUPORT(XUMIN,XUMAX,YUMIN,YUMAX)
Arguments: Normalised device co-ordinates. A viewport is a rectangular area onto which the users window is mapped. The default viewport is the unit square with lower left-hand corner at (0.0, 0.0) and top right-hand corner at (1.0, 1.0).
CALL BROKEN (I)
I=0:Solid line; I=1: Dotted; I=2: Dot-dashed;I=3: Short dashed; I=4: Long dashed.
Broken selects the line drawing format. in hardware where possible. Default is solid lines. No control over length of dots/dashes.
CALL WRTHRU(I)
=0 Normal mode; I=1 Write-through mode
WRTHRU selects write-through mode on the. Tektronix 4014. It has no effect for other devices.
CALL CHASIZ(Y)
Y: character size.
CHASIZ selects the nearest hardware character size to give a character Y units high in users co-ordinates. Where only one character size is available, eg Tektronix 4010, this routine has no effect. This routine has no effect on symbol size.
CALL ACCUR(I)
I=0 1K raster (normal); I=1 4K raster (accurate)
Switches raster size for Tektronix 4014. No effect on other devices. Default 0.
CALL RDCHST(IARRAY,NWORDS,NFORM,NCHARS)
IARRAY: an array into which a character string will be read; NWORDS: length of array IARRAY; NFORM: number of characters per array element of array IARRAY; NCHARS: number of characters read (excluding trailing spaces).
Reads a character string from the currently selected graphical output device (if the device supports keyboard input) or the device connected to a channel selected by CHNRD if this has been called. Trailing spaces will be removed from the string and the terminator *. (or the currently selected escape character, see CHAESC, followed by.) will be appended unless the bounds of IARRAY would be thereby exceeded. NCHARS will contain the number of characters read excluding trailing spaces and the terminator.
CALL CHNRD (NUM)
NUM an integer specifying the channel number to be associated with RDCHST
In some applications it may not be convenient to associate the Tektronix keyboard with graphical input from the Tektronix (see RDCHST). CHNRD allows the user to associate another keyboard with the graphical device such that all calls of RDCHST will expect input from the nominated keyboard instead of from the physical graphical output device. The precise specification of NUM and indeed the availability of this facility will depend on the operating system in use. Note: this routine does not allow a keyboard to be associated with a device which does not otherwise support graphical input, eg a pen plotter. If CHNRD is called with an argument of zero the current graphical output device will be associated with RDCHST.
CALL SETGP(X,Y)
X,Y: user coordinates of garbage position for text echoing.
Text input via a Tektronix terminal will echo the text at the current position of the alpha cursor. This may be inconvenient and overwrite graphical output. This routine specifies a position to which the cursor will be moved by RDCHST before text input is requested. Note: since this routine moves the alpha cursor, text may no~ be concatenated by alternate calls of RDCHST and CHAARR.
CALL CHNERR (NUM)
NUM an integer specifying the channel number to which error messages are to be sent by the graphics package.
By default, error messages will be sent to the users terminal from which the program was loaded. If this is inconvenient, messages may be directed to another device by an appropriate call of this routine. The precise specification of NUM and the availability of this feature will depend on the operating system being used.
CALL T4010
Initialises a Tektronix 4010 as an output device. The maximum visible viewport is (0.0,1.3,0.0,1.0). The 4010 is device number 1.
CALL T4010A
Initialises 2 Tektronix 4010's as output devices. The devices are numbers 1 and 2.
CALL T4014
Initialises a Tektronix 4014 as an output device. The maximum visible viewport is (0.0,1.3,0.0,1.0). The device is number 3.
CALL T4014A
Initialises 2 Tektronix 4014's as output devices. The devices are numbers 3 and 4.
CALL FR80(I)
I= 1 ,8
Initialises camera I of the FR80 as the output device. Only one camera may be used in any run. The default viewport will correspond to the left hand square in cine mode, available cameras are: 16mm colour film (1); 16mm Black & white film (2); 35mm colour film (3); 35mm Black & White film (4); 16mm Black & White film, precision camera (5); 105mm Microfiche film (6); 12in by 12in full-frame hardcopy (7); Many-up with 2 by 2 sub-frames (8).
The FR80, whichever camera is being used, is device number 5.
CALL PENPLT
Initialises a pen plotter as an output device. The pen plotter is device number 6.
CALL SELDEV(I)
I= 1 ,6
Selects device number I to be the output device for all subsequent graphical output until another call. The current point is undefined after a call to SELDEV. Every program must contain at least one call to SELDEV.
CALL PICCLE
Clears screen, and where appropriate advances the frame, on the currently selected output device. The current point is undefined after a call to PICCLE.
CALL DEVEND
Terminates output to all devices which have been initialised.
CALL CURDEF(IHOL)
IHOL:A Hollerith string.
CURDEF defines characters to be used as functions with the cursor. The string must be terminated by *. which is not included as a function. *L means shift into lower case. *U means shift into upper case. ** means *. The escape character * may be set to any other character by the CHAESC routine (q.v.).
CALL CURSOR(ICOM,XY)
ICOM: the number of the function. X,Y: the co-ordinates of the cursor.
CURSOR turns the cursor on and reads the function character entered and the co-ordinates of the cursor. The co-ordinates are returned in user co-ordinates; ICOM is set equal to the position in the Hollerith string given in the most recent call to CURDEF of the character typed. If the cursor is misread, the bell is rung if possible; several attempts are made to re-read the cursor. If a character is typed that does not correspond with any character in the string given in a call to CURDEF or if any other errors occur, a suitable message is output and ICOM is set to one larger than the highest number command. The routine CURDEF must be called before this routine. The cursor co-ordinates will be read from the currently selected output device.
⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site