The section in Appendix 13 has been slightly amended. The file list is now as follows:
PZ Illegal packing mode detected after FMODE argument has been checked FL Illegal packing mode read from a previously packed file RE Illegal FIDF argument used OB Display routine number read from file is out of range FI Illegal FIDF call AD Illegal ADVFLM call AG Routines not implemented AR Index variable feature not implemented SE Illegal visibility marker
In the PLAN routines:
AN Illegal name as argument to ANAME DC Illegal name when converting packed name to characters SD SD4020 routine called with NOSD included LG Lineprinter Graphical routine called with NOLPG included TK Tektronix routine called with NOTK included LP Lineprinter output called with NOLP included NW Own device called with NONEW included HP Hewlett-Packard routine called with NOHP included
NAME PR ARGUMENTS MEANING (PR=PRIORITY)
0 NULL (P1)
1 SETXY 1 (X,Y) XPOS=X,YPOS=Y
2 TODXY 1 (DX,DY) LINE FROM XPOS,YPOS TO (XPOS+DX,YPOS+DY)
3 UPDXY 1 (DX,DY) XPOS=XPOS+DX,YPOS=YPOS+DY
4 DRCTH 1 (DIR) DIR:XPOS=XMIN,XMAX YPOS=YMIN,YMAX
5 DRAW 1 (FILE) DRAW FILE
6 NUMBR 1 (XN) XN IS NUMBER OF NEXT FILE CALLED OR DEFINED
7 PLOT 1 (X) PLOTS HARDWARE CHARACTER DEFINED BY SPROGS NUMBER X
8 FIDF 1 (X) FINISHES A FILE DEFINITION. RESETS GLOBAL
ACCORDING TO X
9 STRACE 1 (XN,XM) OUTPUT TRACE INFORMATION
10 RLNUMB 1 (XN) CURRENT FILE NUMBER * XN
11 SHIFTD 1 (XN) SET LOWER SHIFT CHARACTER XN
12 5HIFTU 1 (XN) SET UPPER SHIFT CHARACTER XN
13 TEXPAN 1 (EXT,EYT) SET TEXT EXPANSION FACTORS
14 TEXSW 1 (XSW) SWITCH TEXT EXPANSION ON AND OFF
15 ADVCNT 1 (X) OUTPUT FRAMES X TIMES
16 EXPAN 1 (EOX,EOY,EX,EY) EXPAND ABOUT (EOX,EOY) BY FACTOR(EX,EY)
17 ROTN 1 (ROX,ROY,RXY) ROTATE ABOUT (ROX,ROY) RXY RADIANS
18 ERDR 1 (ERDRV) ROTATION BEFORE EXPANSION
19 INTNST 1 (XINT) CHANGES LINE INTENSITY
20 THICK 1 (THK) CHANGES LINE THICKNESS
21 DOTTED 1 (DOT,DOTYP) CHANGES LINE TYPE
22 IFS (VAL2,CDTN,VAL2) ONE-SHOT WHILE
23 ADSQLG 1 (FILE,Y,Z) ADD FILE TO SEQUENCE LIST STARTING WITH GLOBAL
CONDITIONS. Z VARIABLES, Y MARKER
24 DLSQLS 1 (FILE) DELETE FILE FROM SEQUENCE LIST
25 SPSQLS 1 (FILE) SUSPEND FILE IN SEQUENCE LIST
26 RSSQL5 1 (FILE) RESTART FILE IN SEQUENCE LIST
27 5TOPSQ 1 TERMINATE SEQUENCE COMPLETELY
28 REPEAT 1 REPEAT FILE FROM START
29 PRINV (XINDX) PRINT VALUE OF INDEX VARIABLE
30 SETX 1 (X) XPOS = X
31 SETY 1 (Y) YPOS = Y
32 TOXY 2 (X,Y) TODXY (X=XPOS,Y=YPOS)
33 VEC2 (X1,Y1,X2,Y2) SETXY (x1,Y1) TODXY (X2=X1,Y2=Y1)
34 UPDX 1 (DX) XPOS=XPOS+DX
35 UPDY 1 (DY) YPOS=YPOS+DY
36 LEFT 2 DRCTN(1,0)
37 RIGHT 2 DRCTN(3,0)
38 DOWN 2 DRCTN(2,0)
39 UP 2 DRCTN(4,0)
40 LNTYP 2 (XINT,THK,DOT,DOTYP)
INTNST(XINT);THICK(THK);DOTTED(DOT,DOTYP)
41 REGION (REG) SELECT REGION REG
42 RGLIM (R,XMIN,YMIN,XMAX,YMAX) RESET LIMITS OP R
43 RGPLIM (R,P,XMIN,YMIN,XMAX,YMAX) REDEFINE R IN TERMS OF P
44 RGPRM (R,CNV,BSC,XMI,XMO,SWOUTP) REDEFINE PARAMETERS
45 ADVFLM ADVANCE FILM
46 LOAD (XINDX,VAL) VARIABLE XINDX = VAL
47 ADD (XINDX,VAL) VARIABLE XINDX = VARIABLE XINDX + VAL
48 SUB (XINDX,VAL) VARIABLE XINDX = VARIABLE XINDX - VAL
49 MPY (XINDX,VAL) VARIABLE XINDX = VARIABLE XINDX * VAL
50 DVD (XINDX,VAL) VARIABLE XINDX = VARIABLE XINDX / VAL
51 POW (XINDX,VAL) VARIABLE XINDX = VARIABLE XINDX ** VAL
52 WHILE (VAL1,CDTN,VAL2) REPEAT NEXT COMMAND WHILE VAL1, CDTN, VAL2 IS TRUE
53 BEGINS 1 COMMAND OPEN BRACKET
54 ENDS 1 COMMAND CLOSE BRACKET
55 SINX (XINDX,VAL) VARIABLE XINDX = SIN(VAL)
56 COSX (XINDX,VAL) VARIABLE XINDX = COS(VAL)
57 EXPX (XINDX,VAL) VARIABLE XINDX = EXP(VAL)
58 LOGX (XINDX,VAL) VARIABLE XINDX = LOG(VAL)
59 NEG (XINDX) VARIABLE XINDX = - VARIABLE XINDX
60 ADSQLL 1 (FILE,Y,Z) ADD FILE TO SEQUENCE LIST STARTING WITH
CURRENT CONDITIONS, Z VARIABLES, Y MARKER
61 TOX 2 (X) TODXY (X=XPOS,0.0)
62 TOY 2 (Y) TODXY (0.0,Y=YPOS)
63 TODX 2 (DX) LINE FROM (XPOS,YPOS) TO (XPOS+DX,YPOS)
64 TODY 2 (DY) LINE FROM (XPOS,YPOS) TO (XPOS,YPOS+DY)
67 NULSET 1 (X) NULL ROUTINE WILL BEHAVE AS ROUTINE X
68 GETLIB 1 (X,Y,Z) GET FILE X/Y FROM LIBRARY Z
69 PUTLIB 1 (X,Y,Z) PUT FILE X/Y INTO LIBRARY Z
70 ERSLIB 1 (X,Y,Z) ERASE FILE X/Y FROM LIBRARY Z
71 LSTLIB 1 (X) LIST DIRECTORY OF LIBRARY X
72 RDREQ (X) READ CURRENT REGION NUMBER
73 RDLIM (X1,Y1,X2,Y2) READ CURRENT LIMITS
74 RDPLIM (P,X1,Y1,X2,Y2) READ RGPLIM SETTING
75 RDVISD (XMI,XMO) READ VISIBILITY
76 RDBASE (SW)READ REGION DEVICE SETTING
77 RDSHAP (CNV,BSC) READ SHAPE
78 RDXY (X,Y) READ XPOS,YPOS
79 GALLIB 1 (X) GET ALL FILES FROM LIBRARY X
80 COLOUR (X) ALL SUBSEQUENT LINES HAVE COLOUR X
81 COLGL (X) ONLY LINES OF COLOUR X TO BE OUTPUT
82-89 DUMMY NUMBERS FOR USER DISPLAY ROUTINES
90 FAIRDS (XINDX,FS,FIND,TYP) VARIABLE XINDX=FAIRING VALUE
The type indicates Subroutine (S) or Function (F).
| Name | Type | Meaning |
|---|---|---|
| ADVRPT | S | X > 0.0, set up advance repeat file, X=0.0, delete advance repeat file |
| ANAME('ST') | F | Converts string ST into a REAL number representation, characters converted to SPROGS number, if ST is less than 5 chars, chars packed using 65 as multiplier, otherwise each must be alphanumeric, and ST must start with a letter, 37 is then used as packing multiplier |
| AR1(XND1,XND2,XND3) | F | Ith argument is array reference defined by index variable |
| AR2(XND1,XND2,XND3) | F | |
| AR3(XND1,XND2,XND3) | F | |
| AR4(XND1,XND2,XND3) | F | |
| AR5(XND1,XND2,XND3) | F | |
| AR6(XND1,XND2,XND3) | F | |
| BASE(SWOUTP) | S | Set current region as basic for device SWOUTP |
| BASER(R,SWOUTP) | S | set region R as basic for devices SWOUTP |
| DLETE (FILE) | S | Delete file from store |
| DSALL | S | Set visibility of current region |
| DSPF82 | S | Routines to execute user defined display routines |
| DSPF83 | S | |
| DSPF84 | S | |
| DSPF85 | S | |
| DSPF86 | S | |
| DSPF87 | S | |
| DSPF88 | S | |
| DSPF89 | S | |
| DVOUT(XI) | S | Sets the value of NTRMLS to XI |
| ENDSPR | S | Clears SPROGS output at end of run |
| EXPRED(A) | S | Select SD4020 expand image mode and remove pagethrow in lineprinter graphical |
| FAIR(FR,FNO,TYP) | F | Fairing value |
| FILIST(X,XN) | S | List file X, number XN |
| FISAV | S | Finish saving basic file |
| FLASH | S | Project SD4020 form flash |
| FLEMKS(ANO) | S | Write ANO file marks to SD4020 tape |
| FMODE(XN) | S | Sets mode equal to XM, the mode of storage for the next file |
| FREL(FNAM,FNO) | S | Output relative orders equivalent to those in file file FNAM/FNO |
| GARBGE | S | Collect unused space in filestore |
| GETCHA(X,y) | S | Get character X from font Y into filestore |
| GETFNT (X) | S | Get font X into the file store |
| GVCHSZ(DX,DY) | S | Get text factor for natural character size |
| HPACK | S | Set up HP plotter region |
| IDSTST(XN,A) | S | Test for store or execute user display routine |
| LIBINT(X) | S | Initialise library X |
| LCPRY(XPRYV) | S | Set local priority value |
| LIMIT(XM,YM,XN,YN) | S | Set limits of current region |
| LPDBUG | S | Add lineprinter to current region devices and select it in addition |
| LPFILM | S | Set regions for SD4020 microfilm and LP Graphical and select |
| LPGRAF | S | Set regions for lineprinter graphical and select |
| LPHARD | S | Set regions for SD4020 hardcopy and LP Graphical and select |
| LSTALL | S | List all files |
| MF35MM | S | Select 35mm camera instead of 16mm |
| NEWDSP(XN,XNI,XNO) | S | Set up new user display routine |
| NLINES(XN) | S | Draws file 'NL' XN times |
| NOHP | S | Do not include HP plotter |
| NOLP | S | Do not include LP output |
| NOLPG | S | Do not include lineprinter graphical routines |
| NONEW | S | Do not include new IO routines |
| NOSD | S | Do not include SD4020 routines |
| NOTK | S | Do not include Tektronix routines |
| NPAGE | S | ADVFLM, UP, LEFT and draw file 'NL' |
| NWCLPL(XS,YS,IV,N,R) | S | User routine to clip lines |
| NWCLPP(X,Y,IV,R) | S | User routine to determine point visibility |
| NWCNV(X,Y,R) | S | User routine to provide shear conversion |
| NW8ADV | S | Advance frame for dummy devices |
| NW9ADV | S | Advance frame for dummy devices |
| NW8CH(X,Y,ICN,IV,IC) | S | Plot ICN on dummy device |
| NW9CH(X,Y,ICN,IV,IC) | S | Plot ICN on dummy device |
| NW8FIN | S | Close dummy device |
| NW9FIN | S | Close dummy device |
| NW8ST | S | Open dummy device |
| NW9ST | S | Open dummy device |
| NW8VEC(X1,Y1,X2,Y2,IV,IC) | S | Draw vector on dummy device |
| NW9VEC(X1,Y1,X2,Y2,IV,IC) | S | Draw vector on dummy device |
| OUTR (R,XN) | S | Set region R as basic for devices XN and select devices |
| PCPRY(P) | S | Sets the global priority level NPRYV equal to P for the next file definition |
| PLIMIT(P,XM,YM,XN,YN) | S | Set current region in terms of region P |
| PR1(XIND) | S | Defines argument in Ith position as reference to index variable |
| PR2(XIND) | S | |
| PR3(XIND) | S | |
| PR4(XIND) | S | |
| PR5(XIND) | S | |
| PR6(XIND) | S | |
| READXY(X,Y) | S | Read current position into X,Y |
| RUNOUT(X) | S | X frames of runout on SD4020 microfilm |
| SDFILM | S | Set regions for SD4020 microfilm and select |
| SDHARD | S | Set regions for SD4020 hardcopy and select |
| SETIO(XL,XER,XLP,XSDO,XSDU,XSDU,XTR) | S | Reset IO streams for file lists, error messages, lineprinter output, SD4020 operator and user output and trace list |
| SHAPE(CNV,BSC) | S | Set shape of current region |
| SHAPER(R,CNV,BSC) | S | Set shape of region R |
| SHIELD | S | Set visibility of current region to outside only |
| STCHSZ(DX,DY) | S | Set text factor for character grid size |
| STDF(ST) | S | Starts defining a file whose name is ST, the number of the file is the current value of NUMBER, the mode of the file is attempted as the current mode setting, the value of NPRYV defines the global priority setting |
| STSAV(X,D) | S | Save orders for device D in file X |
| STSPR | S | Initialise SPROGS system |
| STSQLS | S | Start sequence list |
| TKREAD(CH,X,Y) | S | Read character and cross-hairs from Tektronix |
| TKTRON | S | Set up Tektronix base region |
| TEXT(N,'ST') | S | A shorthand for drawing a set of pictures corresponding to characters |
| TOPRIN(ANO) | S | Print SD4020 tape orders |
| TOTAPE(ANO( | S | Suppress writing SD4020 tape |
| TYPEN(A,XI,XJ) | S | Print number A on output devices |
| VISO(XMI,XMO) | S | Set visibility of current region |
| VISOR(R,XMI,XMO) | S | Set visibility of region R |
| VTEXT(N,'ST') | S | As for text, but character interspersed with file 'VT' |
| VTYPEN(A,XI,XJ) | S | As for TYPEN, but characters interspersed with file 'VT' |
| WINDOW | S | Set visibility of current region to inside only |
| XMLTIM(A) | F | Mill time in secs |
ADDF RDPLMF ADSQGF RDREGF ADSQLF RDSHPF ADVCNR RDVSOF BEGNSF RDXYF COLGLF REGONF COLORF REPETF COSXF RGLIMF DLSQLF RDPLMG DOTTF RGPRMF DOWN FRIGHTF DRAW FRLNUMF DRCNTF ROTNF DVDF RSSQLF DYLIST SETXF ENDSF SETXYF ERDRF SETYF ERSFIL SHFTDF EXPANF SHFTUF EXPXF SINXF FAIRDF SPSQLF GALFIL STPSQR GETFIL STRACF IF FSUBF INTNSF TEXPNF LEFTF TEXSWF LNTYPE THICKF LOADF TODXF LOGXF TODXYF HPVF TOYF NEGF TOXF NULSTF TOXYF NUMBRF TOYF PLOTF UPF POWF UPDXF PRINVF UPDXYF PUTFIL UPDYF RDBASF VECF RDLIMF WHILF
ACFLSR GETSTK PDPVEC SQEND
ACFLST GIVSTK PGERR SQNTRY
ACFLTB HPADV PLNTV SQSWCH
ACLSQ HPEND PR STDFTR
ACNMTB HPSEG RCNCL STFLSQ
ACRGTB HPST RDTAPE STFLSR
ADVRP HPVEC READSD STFLST
AR IARSET RECOV STFLTB
ARGET IFPOS REGCUT STLSQ
ARPUT INPOS REGPNT STNMTB
ASSLP INTERP RTRACE STORE
ASSTLP INVIEW RTRACS STRGTB
ATOINT ISTREX SDBUFF STSVTR
CHARSZ ITOBIG SDCH STXFLS
CHKARG LEADER SDCLMT STXFLT
CHKMDE LOGAND SDCLMV STXNMT
CHKOUT LPCH SDCLP TKADV
CHNLNK LPGCH SDCNVI TKCH
CNVXY LPGEX SDCORE TKCHX
CONCUT LPGOUT SDDCOD TKINIT
DCODE LPGST SDERR TKOUTX
DELBLK LPGSZE SDERRM TKPLNT
DELSQ LPGVEC SDFLMK TKSET
DEXPA LPINIT SDFLMQ TKVEC
DMOVG LPVEC SDIGN TKVECX
DMOVP MDEXX SDINIT UNITSZ
DOPEN MOVFLM SDJBNM XERROR
DREAD NACDST SDMH XMLTIM
DRITE NACMTB SDOPMT XNULV
DYREAD NAFLSQ SDOCT XPAND
DYRITE NAFLST SDPRIN XPROT
ERLIST NAFLTB SDPRLP XROT
ERROR NFNDSQ SDSPL XTPAN
ERROR1 NOPDP SDSPLA XXJBTL
ERROR2 NSDCNV SDTITL XXMES
ERROR3 NTKTST SDTP14 XXNUMR
FIDFTR NULV1 SDTP15 XXPACK
FINIS NULLE SDTXT XXSDCV
FISVTR OBEY SDVEC XXTMDT
FLDEL OUTBSC SD4020 XXUNPK
FLINE OUTR SEE XXUPSN
FLINIT PACKFL SEEVEC ZERROR
FPLNT PAUSE SETUPF ZPROT
GETBOD PDPCH SPOTCH ZROT
ZXPAN
Routines used by Contour Routines used by Graph
ANDBIT GRANGE
ANDLOG GRATIK
ARK GRSCAL
BDRY
CONTHT
DRWBDY
ENDTST
FLCONT
INITS
KBITS
MAINCO
OP1
PLOTHT
QRITE
REDUND
TMPLT
TRIGS
Section 2.9 Example:
Visibility in region 2 should be:
VISOR(2.0, 3.0, 1.0)
Section 7.7
TOXY(1.0, 1.0)
should be
TOXY(1.0, 2.0)