NODAL FUNCTIONS

Editor: Pål S. Anderssen, 2007-11-11
After: A. McKeeman
SPS/ACC/Note/87-8
LEP Controls Note 81

Index of NODAL Functions

Mathematical functions

ABS - absolute value

EXP - exponential

SGN - sign function

LOG - natural logarithm

SQR - square root

PIE - value of pie

AT2 - arctangent

MOD - modulo function

SIN - sine

FPT - fractional part

COS - cosine

INT - integer part

Bit functions

SHIFT - logical shift

AND - logical and

BIT - set or read bit

IOR - inclusive or

NEG - logical complement

String and Pattern functions

ALPHA - predefined string

LEN - match to length

NUM - predefined string

SPAN - match chain

ASCII - ASCII value

BREAK - match string

SIZE - concatenation size

ANY - match single character

SUBS - substring function

NOTANY - match single character

EVAL - arithmetic value of string

FAIL - mismatch pattern

FIND - find string

ABORT - match failure

FINDS - find substring

TAB - match to position

SORT - sort string

RTAB - match to position

ARB - match any characte

STRARG - global string argument

POS - match from position

ARG - global argument

RPOS - match from position

Utility functions

ARSIZE - array size

PRINT - print workspace contents

TIME - time function

NODLIN - construct program lines

ERROR - read or generate error

SENS.C - sense computer

ERMES - error message

GETDS - data server access

DATE - date function

SYSTEM - send string to system

COMPAR - fast array compare

CHDIR - change directory

COPY - array copy

CFUNC - link compiled function

LISD - list defined functions

BRKPT - set breakpoint

LISV - list variables

UNBRK - remove breakpoint

LISR - list resident functions

LSTBRK - list breakpoints

I/O functions

IDEV - input device

OUTBT - output byte

ODEV - output device

OUTC - output character

INBT - input byte

OUTPUT - output string

INPC - input character

OPEN - open file or device

INPUT - input string

CLOSE - close file or device

Graphics functions

SCREEN - define screen

MOVE - move position

WINDOW - define window

POINT - light point

XSCAL - horizontal scaling

VECT - draw vector

YSCAL - vertical scaling

DOTTED - draw dotted vector

XOFF - horizontal offset

DOTLEN - dotted line pattern

YOFF - vertical offset

HORIZO - draw horizontal line

VALID - check parameters

VERTIC - draw vertical line

DIAGRM - plot diagram

BOX - draw box

YDOT - vertical scatter plot

SOLID - draw solid box

YPLOT - continuous vertical plot

CIRCLE - draw circle

DOT - horizontal scatter plot

OCTANT - draw octant

PLOT - continuous horizontal plot

RMOVE - relative move

XYPLOT - continuous plot

RVECT - relative vector

XYDOT - scatter plot

CHSIZE - set character size

YHISTO - vertical histogram

TEXT - write text

HISTO - horizontal histogram

COLOUR - set colour

XAXIS - horizontal axis

BACKGR - set background colour

YAXIS - vertical axis

FILL - draw a filled area

CLEAR - clear screen

AMODE - enter alpha mode

ORIGIN - set origin

GMODE - enter graphic mode

Description of NODAL Functions

MATHEMATICAL FUNCTIONS

ABS - absolute value

>SET X = ABS(A)

Purpose: The ABS function returns the absolute value of a floating point value. The function is defined as follows:
ABS(A) = A if A >= 0
ABS(A) = -A if A < 0

SGN - sign function

>SET X = SGN(A)

Purpose: The SGN function returns either a +1 or -1 depending on the sign of the floating point argument. The function is defined as follows:
SGN(A) = -1 if A < 0
SGN(A) = 1 if A >= 0

SQR - square root

>SET X = SQR(A)

Purpose: The SQR function returns the square root of a floating

AT2 - arctangent function

>SET X = AT2(A,B)

Purpose: The AT2 function returns the arctangent value of A/B. The result value X lies in the range -pie < X < pie.

SIN - sine function

>SET X = SIN(A)

Purpose: The SIN function returns the sine value of a floating point value in radians.

COS - cosine function

>SET X = COS(A)

Purpose: The COS function returns the cosine value of a floating point value in radians.

EXP - exponential function

>SET X = EXP(A)

Purpose: The EXP function returns the exponential of a floating point value.

LOG - natural logarithm

>SET X = LOG(A)

Purpose: The LOG function returns the natural logarithm of a floating point value. This function is the inverse of the EXP function. The operation EXP(LOG(A)) returns the value of A.

PIE - value of pie/read-only variable

>SET X = PIE

Purpose: PIE is not a mathematical function but simply a read only variable (having the value of pie, 3.14159265).

MOD - modulo function

>SET X = MOD(A,B)

Purpose: The MOD function returns the result of the function A modulo B. This is the same as A-INT(A/B)*B.

FPT - fractional part

>SET X = FPT(A)

Purpose: The FPT function returns the fractional part of a floating point value. The fraction has the same sign as the argument. The FPT function is the same as A-INT(A).

INT - integer part

>SET X = INT(A)

Purpose: The INT function returns the integer part of a floating point value. The integer has the same sign as the argument. The INT function is the same as A-FPT(A).

BIT FUNCTIONS

SHIFT - logical shift / read-only function

>SET X = SHIFT(A,N)

Purpose: The SHIFT function shifts the value A, taken as an integer, by N places and returns the result as the function value. Vacated positions are filled with zero. N > 0 gives left shift, N < 0 gives right shift.

BIT - set or read bit / read-write function

>SET X = BIT(N,A)
>SET BIT(N,A) = X

Purpose: The BIT function is used to set or read individual bits of the variable A taken as an integer. When setting a bit, the lowest bit of the input value is taken as the bit. Bits are numbered from right to left (most significant is 15, least is 0).

>SET V=0
>SET BIT(7,V) = 1
>TYPE V
128
>SET V=256
>TYPE BIT(8,V)
1
>TYPE BIT(7,V)
0

NEG - logical complement / read-only function

>SET X = NEG(A)

Purpose: The NEG function calculates the logical complement of the argument taken as an integer.

>TYPE ]]NEG(2)
FFFE

AND - logical AND / read-only function

>SET X = AND(A,B)

Purpose: The AND function calculates the logical AND of two arguments taken as integers.

>TYPE ]AND(-1,[[FF)
000377

IOR - inclusive OR / read-only function

>SET X = IOR(A,B)

Purpose: The IOR function calculates the inclusive OR of two arguments taken as integers.

>TYPE ]IOR([10,[100)
0011

STRING AND PATTERN FUNCTIONS

ALPHA - return predefined string / read-only string function

>SET X = ALPHA

Purpose: The function ALPHA returns a string containing the 26 letters of the alphabet.

>>TYPE ALPHA
ABCDEFGHIJKLMNOPQRSTUVWXYZ

NUM - return predefined string / read-only string function

>$SET X = NUM

Purpose: The function NUM returns the 10 decimal digits.

>TYPE NUM
0123456789

ASCII - get ASCII value / free read-only function

>SET X = ASCII(CONC)

Purpose: The function ASCII returns the ASCII value by the addition of all characters contained in the concatenation CONC.

>TYPE ASCII("A")
65
>TYPE ASCII("AB")
131

SIZE - get size of concatenation / free read-only function

>SET X = SIZE(CONC)

Purpose: The function SIZE returns the number of characters contained in the concatenation CONC.

>TYPE SIZE(ALPHA NUM)
36

SUBS - return or set substring / free read-write function

>$SET X = SUBS(START,END,CONC)
>$SET SUBS(START,END,STRING) = X

Purpose: In read mode, the function SUBS returns from the concatenation CONC, a substring specified by START and END. In write mode, the characters of STRING specified by START and END are replaced by the characters from X.

>TYPE SUBS(25,28,ALPHA NUM)
YZ01
>$SET ST= ALPHA NUM
>$SET SUBS(25,28,ST) = "10ZYXW"
>TYPE ST
ABCDEFGHIJKLMNOPQRSTUVWX10ZY2345689

EVAL - return arithmetic value of concatenation / free read-only function

>SET X = EVAL(CONC)

Purpose: The function EVAL treats the concatenation CONC as a arithmetic expression and returns its value.

FIND - find index of array containg string / free read-only function

>SET X = FIND(STARR,CONC)

Purpose: The function FIND searches the string contained in the concatenation CONC in the string array STARR. The index number of the array element which contains CONC is returned. If not found, -1 is returned.

FINDS - find unique index of array containing substring / free read-only function

>SET X = FINDS(STARR,CONC)

Purpose: The function FINDS searches the substring contained in CONC in the string array STARR. When a unique substring is found, the index of the array element is returned. If substring is not found, -1 is returned. If substring found but not unique, -2 is returned.

SORT - sort string

>SORT(STARR,+ or -)

Purpose: The function SORT sorts the string array STARR in ascending or descending order depending on 2nd parameter.

ARB - match any character / pattern function

>ARB

Purpose: The function ARB matches any character in character string.

POS - match from a position / pattern function

>POS(N)

Purpose: The function POS anchors the pattern to occur at position N counted from the beginning of the string.

RPOS - match from a position / pattern function

>RPOS(N)

Purpose: The function RPOS anchors the pattern to occur at position N counted from the end of the string.

LEN - match to length / pattern function

>LEN(N)

Purpose: The function LEN matches any string of length N. It can be used as a verification on the string size.

SPAN - match character chain / pattern function

>SPAN(CONC)

Purpose: The function SPAN matches the largest run of characters up to the character which is not contained in CONC.

BREAK - match character string / pattern function

>BREAK(CONC)

Purpose: The function BREAK matches the largest run of characters up to the character contained in CONC.

ANY - match single character / pattern function

>ANY(CONC)

Purpose: The function ANY matches a single character which is contained in CONC.

NOTANY - match single character / pattern function

>NOTANY(CONC)

Purpose: The function NOTANY matches a single character which is not contained in CONC.

FAIL - mismatch pattern / pattern function

>FAIL

Purpose: The function FAIL causes pattern mismatch and forces alternatives to be tried.

ABORT - match failure / pattern function

>ABORT

Purpose: The function ABORT causes the failure of the MATCH command.

TAB - match to position / pattern function

>TAB(N)

Purpose: The function TAB matches up th position N counted from the beginning of the string. N characters should be available in string.

RTAB - match to position / pattern function

>RTAB(N)

Purpose: The function RTAB matches up to position N counted from the end of the string. N characters should be available in the string.

STRARG - set or get the global string argument / read-write string function

>$SET STRARG = CONC
>$SET S = STRARG

Purpose: The STRARG function is used to save or read a string in the global area. Useful to pass argument to OVERLAY functions.

ARG - set or get the global arguments / read-write function

>SET ARG(N) = X
>SET X = ARG(N)

where N is in the range 1 to 16

Purpose: The ARG function is used to save or read values in the global area. Useful to pass arguments to OVERLAY functions. The ARG function is used to access the 16 global floating values provided by the system.

UTILITY FUNCTIONS

ARSIZE - calculate size of array / read-only function

>SET X = ARSIZE(array)

Purpose: The ARSIZE function may be used to determine the number of elements in an array.

>DIM AR(10,3)
>FOR I=1,ARSIZE(AR); SET AR(I)=I

TIME - returns time / read-only function

>SET X = TIME

Purpose: The function TIME returns the time in seconds from the last system generation.

ERROR - read or generate error / read-write variable

>SET X = ERROR
>SET ERROR = X

Purpose: The function may be used to read the error number corresponding to the last error that has occurred during execution of a NODAL program. The function may also be used to generate an error. This is done by setting ERROR to a value that corresponds to the desired error.

ERMES - error message / read-only string function

>$SET X = ERMES(A)

Purpose: The ERMES function generates the NODAL error message corresponding to the argument value.

DATE - get current date / read-only string function

>$SET DD=DATE

Purpose: The DATE function returns the current date as a string, format day month date time year.

COMPAR - fast array compare / read-only function

>SET X = COMPAR(array1,array2,size,start)

Purpose: The function compares two arrays (either both real or both integer) and returns 0 if they are equal or the index of the first array element which differs if they are not equal. The size parameter gives the number of elements to compare (a negative value means all) and start gives the starting index. If the type or number of elements (when all) of the arrays differ then the return is 1.

COPY - array copy

>CALL COPY(array1,array2,start1,start2)

Purpose: The function copies array1 , element by element, to array2. The arrays can be any combination of real and integer. Array1, starting at index start1, is copied to array2, starting at index start2, stopping when either array is exhausted.

LISD - list defined functions

>CALL LISD

Purpose: LISD lists the headers of the defined functions in the current workspace.

LISV - list variables

>CALL LISV

Purpose: LISV lists the headers of the variables in the current workspace.

LISR - list resident functions

>CALL LISR

Purpose: LISR lists the resident functions available.

PRINT - print workspace contents

>CALL PRINT

Purpose: The function prints the program lines contained in the current NODAL workspace on the printer server connected to the network.

NODLIN - get or create NODAL lines / read-write string function

>$SET S = NODLIN(LN)
>$SET NODLIN(LN) = S

Purpose: The function may be used to get the contents of a NODAL line where LN is the number, or, create a NODAL line whose content is the string S.

SENS.C - sense computer / read-only function

>SET X = SENS.C(comp)

Purpose: The function performs a non-blocking WAIT on the specifed computer after an EXECUTE on the same computer. The function returns 0 if the remitted data is not yet available, otherwise 1 if the remitted data has been received.

GETDS - data server access / read-only string function

>$SET X = GETDS(var, string)

Purpose: The function performs an access to the dataserver connected to the network. The call places the accessed data in the local variable specified and returns a tag value, which is a ASCII string.

SYSTEM - send string to system call

>CALL SYSTEM(string)

Purpose: The function sends the specified command string to an invocation of a c-shell. This is equivalent to the c-library function "system" in Linux.

CHDIR - change directory

>CALL CHDIR(string)

Purpose: The function works like the Linux command cd. It changes the current directory to a new absolute directory or to one relative to the current directory depending on the name contained in the given string.

CFUNC - link compiled function

>CALL CFUNC(defined function name,string)

Purpose: This function connects a defined function header to a compiled function (ie. one which is outside the interpreter). The compiled function is then added to the resident list and is callable from NODAL in the way specified by the defined function header. For more details consult your Linux documentation.

BRKPT - set breakpoint in NODAL code

>CALL BRKPT(program,line,position)

Purpose: For details, see the NODAL Debugger User's Guide (LEP Controls Note 78).

UNBRK - removes breakpoint in NODAL code

>CALL UNBRK(program,line,position)

Purpose: For details, see the NODAL Debugger User's Guide (LEP Controls Note 78).

LSTBRK - lists breakpoints in NODAL code

>CALL LSTBRK

Purpose: For details, see the NODAL Debugger User's Guide (LEP Controls Note 78).

I/O FUNCTIONS

IDEV - set or read input command file assignment / read-write function

>SET X = IDEV
>SET IDEV = X

Purpose: This function may be used to specify that command input to NODAL is to come from a file other than the terminal.

>>TYPE IDEV
0
>SET IDEV = 100

By executing the statements above, input is taken from file number 100 until end-of-file.

ODEV - set or read command output assignment / read-write function

>SET X = ODEV
>SET ODEV = X

Purpose: This function may be used to specify that command output form NODAL is to go to a file other than the terminal.

>TYPE ODEV
2
>SET ODEV = 100
>LIST

By executing the statements above, a listing of the current program will go to file number 100.

INBT - input byte from file / read-only function

>SET X = INBT(N)

where N is a file number

Purpose: This function is used to read bytes from a file which has previously been opened with the OPEN function. The result of the function is the positive value of the 8-bit byte which was read. If no parameter is given, the function uses the current IDEV value.

INPC - input a char from file / read-only string function

>SET X = INPC(N)

where N is a file number

Purpose: This function is used to read a char from a file which has previously been opened with the OPEN function. If no parameter is given, the function uses the current IDEV value.

INPUT - input string from file / read-only string function

>$SET X = INPUT(N)

where N is a file number

Purpose: This function is used to read a string from a file which has previously been opened with the OPEN function. If no parameter is given, the function uses the current IDEV value. The string is terminated by CR/LF, CR if IDEV is terminal, or when the string is full, ie when 80 characters are typed.

OUTBT - output byte to file / write-only function

>SET OUTBT(N) = X

where N is a file number

Purpose: This function is used to write bytes to a file previously opened with the OPEN function. If no parameter is given, the function uses the current ODEV value.

OUTC - output char to file / write-only string function

>$SET OUTC(N) = 'X'

where N is a file number

Purpose: This function is used to write one char to a file previously opened with the OPEN function. If no parameter is given, the function uses the current ODEV value.

OUTPUT - output string to file / write-only string function

>$SET OUTPUT(N) = CONC

where N is a file number

Purpose: This function is used to write bytes to a file previously opened with the OPEN function.If no parameter is given, the function uses the current ODEV value.

OPEN - open file / read-only function

>SET X = OPEN(mode,filename)

where:

Purpose: The OPEN function is used to open a file specified by a file name enclosed within double quotes. It returns a file number to be used when accessing the file.

>SET ODEV = OPEN("W","ABCDE")

CLOSE - close file

>CALL CLOSE(N)

Purpose: The function CLOSE is used to close a file previously opened with the OPEN function.

GRAPHICS FUNCTIONS

SCREEN - define the active area of the screen

>CALL SCREEN(VXLeft,VXRight,VYBottom,VYTop)

where: (VXLeft = left corner in viewport in x-direction)

Purpose: The two functions 'SCREEN' and 'WINDOW' control all the graphic display functions which have an array argument. No other functions are involved. By defining the viewport in screen coordinates and the window in world coordinates, the user implicitly sets up his scaling factors and offsets. The graphics display functions obey the scaling rule:

<dot address> = (<array value> - <offset>) * <scaling factor>

The active area, or viewport, is given in screen units. For the screen function the following restriction apply:

If VXRight <= VXLeft then VXRight = VXLeft + 1
If VYTop <= VYBottom then VYTop = VYBottom + 1

>CALL SCREEN(0,500,0,347)

defines the largest viewport for the IBM display. The real number of pixels in x- and y-direction are device dependent.

WINDOW - define the active range of array values

>CALL WINDOW(WXLeft,WXRight,WYBottom,WYTop)

where:
(WXLeft = left corner in window in x-direction)

Purpose: Define the window or active range of array values in the viewport.For the window function the following restriction apply:

If WXRight <= WXLeft then WXRight = WXLeft + 1
If WYTop <= WYBottom then WYTop = WYBottom + 1

>CALL WINDOW(0,10,0,20)

XSCAL - read the scaling factor in x-direction / read-only function

>SET S=XSCAL

Purpose: The XSCAL function is used to obtain the horizontal scaling factor.

YSCAL - read the scaling factor in y-direction / read-only function

>SET S=YSCAL

Purpose: The YSCAL function is used to obtain the vertical scaling factor.

XOFF - read the offset in x-direction / read-only function

>SET O=XOFF

Purpose: The XOFF function is used to obtain the horizontal offset.

YOFF - read the offset in y-direction / read-only function

>SET O=YOFF

Purpose: The YOFF function is used to obtain the vertical offset.

VALID - Check the parameters of 'SCREEN' and 'WINDOW' / read-only function

>SET A=VALID

Purpose: The VALID function checks the parameter setting of 'SCREEN' and 'WINDOW'. VALID returns zero if all the parameters are correct. Otherwise it's value is one.

DIAGRM - plot a diagram from array values

>CALL DIAGRM(<array>, <basic display functions>)

Purpose: Plot a diagram where the array index is the running coordinate along the horizontal axis. The value of each point is fetched from the corresponding array value. The position of the plot and it's scaling is controlled by the last calls of SCREEN and WINDOW. The form of the diagram is controlled by the second parameter which can have five different values:


Each basic shape is plotted within the interval: (i - 0.5) <= ,., < (i + 0.5)

>CALL DIAGRM(A,SOLID)

YDOT - plot the data in an array as a scatter diagram

>CALL YDOT(A)

Purpose: Plot a scatter diagram where the horizontal components are given by the elements in the array 'A' and the vertical component are the corresponding array indices.

YPLOT - plot the data in an array as a continuous curve

>CALL YPLOT(A)

Purpose: Plot a continuous curve where the horizontal components are given by the elements in the array 'A' and the vertical component are the corresponding array indices.

DOT - plot the data in an array as a scatter diagram

>CALL DOT(A)

Purpose: Plot a scatter diagram where the vertical components are given by the elements in the array 'A' and the horizontal component are the corresponding array indices.

PLOT - plot the data in an array as a continuous curve

>CALL PLOT(A)

Purpose: Plot a continuous curve where the vertical components are given by the elements in the array 'A' and the horizontal component are the corresponding array indices.

XYPLOT - plot the data in an array as a continuous curve

>CALL XYPLOT(A,B)

Purpose: Plot a continuous curve where the horizontal components are given by the elements in the array 'A' and the vertical component are given by the corresponding elements in array 'B'.

XYDOT - plot the data in an array as a scatter diagram

>CALL XYDOT(A,B)

Purpose: Plot a scatter diagram where the horizontal components are given by the elements in the array 'A' and the vertical component are given by the corresponding elements in array 'B'.

YHISTO - plot a histogram

>CALL YHISTO(A)

Purpose: Plot a histogram where the heights of the columns are given by the elements array 'A' and the corresponding array indices are the sample numbers. The bins are drawn horizontally and the samples run vertically.

HISTO - plot a histogram

>CALL HISTO(A)

Purpose: Plot a histogram where the heights of the columns are given by the elements array 'A' and the corresponding array indices are the sample numbers. The bins are drawn vertically and the samples run horizontally.

XAXIS - draw a horizontal axis

>CALL XAXIS

Purpose: The position of the axis and the tick marks are controlled by the last calls of 'SCREEN' and 'WINDOW'. It is recommended that an even interval is chosen when the window is to be set, e.g. 0 - 10, 0.01 - 0.1 etc.

YAXIS - draw a vertical axis

>CALL YAXIS

Purpose: The position of the axis and the tick marks are controlled by the last calls of 'SCREEN' and 'WINDOW'. It is recommended that an even interval is chosen when the window is to be set, e.g. 0 - 10, 0.01 - 0.1 etc.

CLEAR - clear the screen

>CALL CLEAR

Purpose: Erases the screen and sets the origin and current position to the bottom left corner of the screen.

ORIGIN - set a new origin

>CALL ORIGIN(X,Y)

Purpose: The default origin is placed at the bottom left corner. The function ORIGIN moves the origin to specified position. X and Y are screen coordinates.

>CALL ORIGIN(17,17)

MOVE - move current position

>CALL MOVE(X,Y)

Purpose: The MOVE function moves the current writing position.

>CALL MOVE(17,17)

POINT - light up a point

>CALL POINT(X,Y)

Purpose: The POINT function lights up a point at specified position and move the current position to that point.

>CALL POINT(217,17)

VECT - draw a vector

>CALL VECT(X,Y)

Purpose: The VECT function draws a vector from current position to specified position and moves the current position to that point.

>CALL VECT(117,117)

DOTTED - draw a dotted vector

>CALL DOTTED(X,Y)

Purpose: The DOTTED function draws a dotted vector from current position to specified position and moves the current position to that point.

>CALL DOTTED(17,17)

DOTLEN - select a standard pattern for the dotted line

>CALL DOTLEN(SP,Dummy)

where:
SP is in the interval 1 - 6
Dummy can have any value

Purpose: The DOTLEN function selects a standard pattern for drawing a dotted line. With the first parameter it is possible to specify six different patterns. To make this function compatible with older versions a second parameter has been added.

>CALL DOTLEN(6,6)

HORIZO - draw a horizontal line

>CALL HORIZO(X)

Purpose: The HORIZO function draws a horizontal vector from current position to specified position and moves the current position to that point.

VERTIC - draw a vertical line

>CALL VERTIC(Y)

Purpose: The VERTIC function draws a vertical vector from current position to specified position and moves the current position to that point.

>CALL VERTIC(17)

BOX - draw a box

>CALL BOX(X,Y)

Purpose: The BOX function draws a box where the left lower corner is the current position and the right upper corner is the specified position. The current position is moved to X,Y.

>CALL BOX(17,17)

SOLID - draw a solid box

>CALL SOLID(X,Y)

Purpose: The SOLID function draws a filled box where the left lower corner is the current position and the right upper corner is the specified position. The current position is moved to X,Y.

CIRCLE - draw a circle

>CALL CIRCLE(R)

Purpose: The CIRCLE function draws a circle with radius R and where the centre point is at current position.

>CALL CIRCLE(17)

OCTANT - draw an octant

>CALL OCTANT(R,N)

where N is in the interval 1 - 8

Purpose: The OCTANT function draws a octant with radius R and where the centre point is at current position. N specifies which octant is to be drawn. They are numbered anticlockwise.

>CALL OCTANT(17,1)

The statement above will draw an octant from 0 - 45 degrees, where 0 degrees is R pixels to the right of the centre point.

RMOVE - relative move

>CALL RMOVE(DX,DY)

Purpose: The RMOVE function moves current position by adding DX, DY to the old current position.

>CALL RMOVE(17,17)

RVECT - draw a vector relative to the current position

>CALL RVECT(DX,DY)

Purpose: The RVECT function draws a vector from current position to position XCURRENT + DX, YCURRENT + DY, and moves the current position to that point.

>CALL RVECT(17,17)

CHSIZE - set character size

>CALL CHSIZE(SZ)

where:
SZ is in screen coordinates

Purpose: The CHSIZE function sets the character size to specified value. If the specified value is negative the character string is tilted 90 degrees anticlockwise.

>CALL CHSIZE(50)

TEXT - write a character string

>CALL TEXT(CONCATENATION)

Purpose: The TEXT function writes a character string with start at current position and with the current character size, set by CHSIZE.

>CALL TEXT("ARNE SER DIG, ALLTID!")

COLOUR - set foreground colour

>CALL COLOUR(COLOURSPECIFICATION)

where COLOURSPECIFICATION can have the one of the values:

Purpose: The COLOUR function sets the foreground colour to specified value.

>CALL COLOUR(RED)

BACKGR - set background colour

>CALL BACKGR(COLOURSPECIFICATION)

where:
COLOURSPECIFICATION can have the values listed above

Purpose: The BACKGR function sets the background colour to specified value.

>CALL BACKGR(YELLOW)

FILL - draw a filled area

>CALL FILL(AX,BY)

where:
AX and BY are two arrays containing the x and y coordinates of the points describing the area to be filled

Purpose: The FILL function allows an area to be filled with current forground colour. The area is defined by the arrays AX, BY and can have any form.

>DIM AX(4); DIM BY(4)
>CALL BACKGR(DARK); CALL COLOUR(RED)
>SET AX(1)=100; SET AX(2)=150
>SET AX(3)=100; SET AX(4)=50
>SET BY(1)=0; SET BY(2)=50
>SET BY(3)=100; SET BY(4)=50
>CALL FILL(AX,BX)

The statements above will draw a red diamond shaped figure on the screen.

GMODE - enter graphic mode

>CALL GMODE

Purpose: The GMODE function initialize the terminal to graphic mode. This is the function you have to call before any other graphic function.

AMODE - enter alpha mode

>CALL AMODE

Purpose: The AMODE function initialize the terminal to alpha mode.

###The End