Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ Contents1. Regions2. Output3. Null files4. Film routines5. High level routines6. SPROGS macro7. Miscellaneous
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureICL 1906A manualsSPROGS supplement
ACLLiteratureICL 1906A manualsSPROGS supplement
ACL ACD C&A INF CCD CISD Archives
Further reading

Contents
1. Regions
2. Output
3. Null files
4. Film routines
5. High level routines
6. SPROGS macro
7. Miscellaneous

7. MISCELLANEOUS

7.1 Possible Halts

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

7.2 Display Routines

 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

7.3 SPROGS Routines

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

7.4 Execution Part of Display Routines

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

7.5 Internal Routine Names

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

7.6 Manual Errata

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)
⇑ 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