Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ Contents1. Introduction2. Regions3. Display routines4. SPROGS files5. The file format6. Character fonts7. Index variables8. Efficiency of picture storage9. The sequence list10. Further facilities11. SPROGS on the 1906A12. An example film13. SPROGS preprocessor14. Future extensionsAppendices
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

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

Contents
1. Introduction
2. Regions
3. Display routines
4. SPROGS files
5. The file format
6. Character fonts
7. Index variables
8. Efficiency of picture storage
9. The sequence list
10. Further facilities
11. SPROGS on the 1906A
12. An example film
13. SPROGS preprocessor
14. Future extensions
Appendices

Chapter 10: FURTHER FACILITIES

10.1 File Listing Routines

      FILIST (X,XN)

will list the header and contents of the file called X, number XN. Thus file A will be listed by FILIST (ANAME('A'),1.0). However, listing will only take place if the file is present in store.

      LSTALL

will list all the files currently defined. Basic files may also be listed.

10.2 High Level Routines

Display routines give the basic ability to draw lines, etc. More complex facilities are provided by high level routines which, although not display routines themselves, call display routines to produce their effects. Examples of such routines that have been met so far are TEXT, VTEXT, NLINES and NPAGE.

Other routines are described in the Appendices, and include contour drawing, histograms, shading and curve plotting. More routines will be added later.

10.3 Debugging Aids

Two main facilities have been included to assist the user in debugging his SPROGS output.

10.3.1 Lineprinter Output

As was mentioned above, one of the possible output devices is the lineprinter, which lists the coordinates output at that point, together with a visibility marker. Using RGPRM and DVOUT, it is possible to see the coordinates being generated at any stage of the region chain, and so discover, for example whether your blank output is due to all the coordinates being zero or just invisible!

The routine:

      LPDBUG

will add lineprinter to the output device settings of the current region (thus making this region the basic output region for lineprinter as well), and select lineprinter output in addition to those devices currently selected.

10.3.2 Tracing

A display routine:

      STRACE (XM,XN)

allows tracing information to be printed on entry to each display routine,whether being executed directly or from file. The first parameter, XM, the trace number, sets the level of tracing required and the second parameter, XN, the trace frequency, sets the frequency of extra tracing. If XM = 3.0, a survey of the current state of the program is output. However, the global variables for the trace number and trace frequency are not altered. In all other cases, setting XM supersedes the previous setting. The table below describes the output for the different levels of tracing.

XM XN Tracing Output
0.0 No tracing. This is the initial setting.
1.0 0.0 Display routine names and arguments.
1.0 XN As above, with the current region parameters output after every XN display routine calls.
2.0 0.0 Display routine names and arguments, together with the global variables IPRMV, NFLNO, NPRYV, LPRYV, NTRMLS and ISVCNT (respectively, the parameter type marker, file number, global priority, local priority, output device selection and basic file marker). If STDF, STSAV, FISAV or FIDF are called, some information about the file table is also output. If DVOUT is called, a list of currently selected devices is printed.
2.0 XN As above, together with the current region parameters after every XN display routine calls.
3.0 The values of XPOS and YPOS (current display position), the current region chain and the current file store contents and the file stack.
4.0 0.0 As for XM=2.0,together with information each time a file stack block is used.

10.3.3Printing Index Variable Values

The display routine:

      PRINV (ANAME ('XIND'))

will print the value contained in the index variable XIND, in floating point and text form, on the I/O stream associated with file listing. This will aid in keeping track of the value of such variables during complicated sequence list operations.

10.4 SD4020 Routines

The SD4020 has a number of facilities which are not available on other output devices. The following collection of routines allows the user to make use of these features. The routines will only take effect if either SD4020 hardcopy or microfilm cameras are currently selected (with the exception of EXPRED).

      EXPRED (A)

If A = 1.0, the SD4020 expand image mode is selected. In this mode, successive frames of 35 mm microfilm will abut. A = 0.0 will reduce the image to normal size (the default setting). This routine will be effective only if microfilm has been selected. If full images are required on 16 mm film, it is suggested that, instead of using this routine, the user instructs the SD4020 operators to use one of the alternative camera lenses.

This routine will also affect lineprinter graphical output. If A=1.0, the page throw between frames is suppressed, thus giving the same abut effect as for 35 mm film.

      FLASH

This routine causes the form slide to be projected onto the current frame.

      FLEMKS (ANO)

This routine writes ANO filemarks to the SD4020 tape, after first emptying the current buffer.

      MF35MM

Normally, the 16 mm camera will be used if microfilm is selected. This routine sends a message to the SD4020 operator instruction stream requesting that the 35 mm camera be used instead. It has no effect if microfilm has not been selected. Note that the operators may not receive this message if spooling is being used (see Chapter 11).

      TOPRIN (ANO)

It is possible to cause the actual orders being sent to the SD4020 tape to be printed as well. ANO = 1.0 will turn on the print, and ANO = 0.0 will turn it off. This should be used sparingly for debug purposes only, as it generates a lot of output.

      TOTAPE (ANO)

This routine is also useful for debugging. ANO = 1.0 will prevent SD4020 instructions being sent to the tape, although they will be generated. ANO = 0.0 will restore the situation. Using this routine allows the testing for an SD4020 film program to proceed faster since no tape is written.

      RUNOUT (X)

This will output X blank frames on SD4020 microfilm, if this device has been selected.

10.5 Timing

Currently, SPROGS appears to work at about 650 lines per second, using the optimising FORTRAN compiler. The function:

      XMLTIM (A)

gives the current mill time usage in seconds so that a user can time his own program. Note that the argument A is dummy, since the time is returned as the value of the function.

10.6 System Updating

From time to time, new facilities will be added to SPROGS. A record of the latest additions will be kept in file:

      :SPROGS.SPROGSNEWS

which can be listed. This manual will be updated when there are sufficient changes to make it worthwhile.

10.7 Dummy Routines

Users who do not wish to select lineprinter graphical or SD4020 output during a run can call two routines to prevent the inclusion of the code for these devices at consolidation. This will decrease the store required for the run, but will cause an error if the devices are in fact used.

      NOLPG    omit lineprinter graphical code
      NOSD     omit SD4020 code
⇑ 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