The Atlas Computer Laboratory possesses a number of graphical output devices, including a SD4020 microfilm recorder and a PDP15 computer with a VT04 refreshed display. It is expected that other graphical devices will become available in the future. To help the FORTRAN programmer, a set of subroutines, called SPROGS, has been written to interface the user to these devices. As well as providing the ability to draw lines, SPROGS provides a number of different character sets for text handling, and some high level routines for drawing contours, curves, histograms etc. The provision of a sequence list and the ability to use run-time variables give the producer of cine film output great flexibility in defining the form of a film sequence, and the library facility allows him to build up sets of files for use in later programs. More facilities are being developed for inclusion in later versions, and some indication of these will be given.
Currently, the main output device is the SD4020 microfilm recorder. This is capable of producing output on a continuous roll of plain paper, or on microfilm (16mm or 35mm). The plotting area is divided into frames (7.5" square, on the paper roll) and each square is divided into a 1024 × 1024 raster of points (roughly 0.007" apart on the paper roll). There are also a number of hardware characters which can be plotted on the raster. Orders exist for advancing the paper or film from frame to frame.
Output to the SD4020, however, takes time (for development, printing etc) before the user can view the finished product. For this reason, a lineprinter graphical device has been defined, which plots lines on the lineprinter using the character *. Each frame is divided into 120 × 120 points, with X spacing 0.1", Y spacing 0.167". This raster is much coarser than that on the SD4020, and can only give a rough picture, but should be sufficient to show a user if the picture he is expecting is approximately correct. Care should be taken however, to avoid vast quantities of output on this device.
Work is currently under way to connect the PDP15 to the 1906A. To the SPROGS programmer, it will look like another output device. This is one of the planned future extensions.
A macro has been provided on the 1906A to run FORTRAN programs in conjunction with the SPROGS system. The user can save any output in files and set up his own I/O streams before execution. Also available is a preprocessor to allow the SPROGS user a simpler, more readable format for his programs.
The following chapters describe the basic SPROGS system, showing how the user can select his own coordinate system, output lines and characters to one or many devices, define named picture files to ease the manipulation of objects being drawn, save basic device orders for speed of background drawing and merge different files together in the sequence list to produce a complete composite film. The appendices give details of the routines available, the SD4020 hardware, and the SPROGS character sets.
To aid readability, the initial word CALL has been removed from subroutine CALL statements, with the exception of the final example films. Apart from this, all examples are in standard FORTRAN.