Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ Introduction and contents2. The SMOG system3. Mapping to a device4. Line drawing5. Text printing6. Control of the medium7. Command-sets in files8. Economy - Integer routines9. High level routines10. Appendices11. Manual updates
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

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

Introduction and contents
2. The SMOG system
3. Mapping to a device
4. Line drawing
5. Text printing
6. Control of the medium
7. Command-sets in files
8. Economy - Integer routines
9. High level routines
10. Appendices
11. Manual updates

6. CONTROL OF THE MEDIUM

The "Target" main device for the SMOG system is the FR80 Microfilm Recorder and most of the control commands in the system are directed at that device. Other main devices can be used for diagnostic purposes prior to running a program designed to produce output on the FR80. The manner in which the standard visible areas are presented on these devices is described in Appendix 5.

6.1 Colour

The next three subroutines refer almost exclusively to the FR80 (excepting in that differently coloured pens may be mounted in the Hewlett-Packard pen-plotter and so a colour system does exist for that SMOG device).

select colour 6.1.1
      COLOUR(X) 

this defines the colour of all lines and characters drawn until its next calling (but see section on "Software filtering"). The value of "X" is translated into a bit-setting in the FR80 control word that specifies the selection of colour filters to be placed between the tube-face and the camera lenses. The filter set is a subtractive system comprising three secondary colours and a "Clear" filter. When using the colour facility it is helpful to think of each filter in terms of the absence of its primary complement as in the table below. X is the argument of COLOUR(X):

X = 1.0   Cyan    (blue-green)          ("Not-red",   R)
X = 2.0   Yellow  (green-red)           ("Not-blue",  B)
X = 4.0   Magenta (red-blue)            ("Not-green", G)
X = 8.0   Clear   (blue-green-red)

Taking the first three in pairs will give quite pure primaries, the X-specification is additive (although the process is subtractive!):

X = 3.0   Green             ("Not-red and not-blue")
X = 5.0   Blue              ("Not-red and not-green")
X = 6.0   Red               ("Not-green and not-blue")

Example:

      CALL COLOUR(3.0)

This causes the insertion of the Cyan (1.0) and Yellow (2.0) filters together. Suppose light from the tube-face to pass through the Cyan filter first, the effect is to transmit "All-but-red" (R). As this passes through the Yellow filter (B) the blue component is absorbed. The resulting Green light passes on into the camera's optical system.

select colour, hits, intensity 6.1.2
      COLOR(COL,HITS,XINT)
      JCOLOR(ICOL,IHITS,INT)

This routine defines the colour, intensity and number of hits for all lines and characters drawn until its next call or a call to an equivalent colour or intensity select routine. The colour numbers are the same as those for COLOUR.

The value of HITS should be between 1.0 and 15.0 and XINT should be in the range 1.0 to 256.0.

If COL is given the value 8.0 (clear), the routine COLOR can be used to define multiple hits and intensity setting on hardcopy and black-and-white film. In fact, if colour output has not been specified, the colour is forced to be 'clear' whatever the value of COL. If the microfiche camera is selected, only the intensity is set since there is no colour or multiple hits feature for microfiche. No output is produced if one of the arguments is zero.

Additive mixing of the primary colours is thus a sequence of commands which select pairs of secondary filters, draw lines at particular intensity settings (see Section 6.2), change the filter pairs and then redraw the lines at different intensities.

set software filter 6.1.3
      COLGL(X) 

the main purpose of this subroutine is to act as a "Software filter" and only those filters specified by the binary representation of "X" will be used by the system, whatever the specification by calls to COLOUR(X) or COLOR(X,Y,Z) may be. The subroutine finds its greatest use in:

  1. fault diagnosis when, by calling COLGL(4.0) for example, only the Magenta drawing takes place,
  2. colour printing when the production of three separate secondary negative films may speed the process considerably,
  3. separation overlay film production when the loading of monochrome (black and white) film and three runs of the program will result in the necessary negatives.

NB At initialisation COLGL(-1.0) is called by the system. This indicates that no software filtering is to take place.

Example: 6.1.4

      CALL COLGL(3.0)

will suppress all Magenta drawing.

NB The user should use single filters wherever possible to avoid unnecessary attenuation of the light and the consequent necessity of re-striking a line element. The set (Cyan, Yellow, Magenta) give good colour contrasts for display purposes.

6.2 Grey-level, Intensity

The FR80 can reproduce a 256-level grey-scale (compare this with Television wherein ten levels seem quite adequate a range) and in conjunction with the colour facility this permits many subtle colours to be produced by overstriking. With black and white film this wide intensity range provides an almost smooth Gamma curve.

set intensity 6.2.1
      INTST(X) 
      JINTNS(IX)

sets the display brightness for subsequent plotting and printing. X must be in the interval (1.0,256.0). Intensity is not controllable on SMOG devices 9 and 11. X = 0.0 will suppress plotting.

On the Tektronix and Lineprinter Graphical there is only one intensity level. Thus a call to INTNST with a value greater than one will be treated as INTNST (1.0).

A limit has been imposed upon the intensity for the Hewlett-Packard pen plotter since intensity is accomplished by overstriking. This limit is currently 3. Intensities greater than 3 will only cause lines to be overstruck twice, ie, drawn 3 times.

6.3 Control and Identification

Before the initialisation of certain SMOG devices the user may call subroutines which, in some sense, control the output to the medium for that device. There are four such subroutines:

specify hardcopy subframing 6.3.1
      MANYUP(I,J)

this should be called before initialising SMOG device number 8 (which is done by the instruction CALL FRHCM - Section 3.5) if the user requires other than four sub-frames (I=2, J=2) per hardcopy frame, which is the system default setting. Calling MANYUP(I,J) before calling FRHCM will result in the division of each 12"×l2" frame into "I" sub-frames across and "J" sub-frames down.

select type font 6.3.2
      HFONT(I)

this selects one of the two currently available type fonts on the FR80. The system is initialised with I = 0 which selects a simply reproduced character set recommended for the printing of large text particularly on hardcopy. Setting I = 1 selects a more complex font designed to be reproduced readably on microfiche and microfilm. This routine should be called before initialising one of devices numbered 1 to 8 in table 2.1, if at all.

title microfiche 6.3.3
      FCHTLE(N,STR)

this will cause "N" of the characters from string "STR" to be printed at the head of each fiche as a title. A call to this subroutine only has effect when followed, subsequently, by a call to initialise SMOG device number 6, the Microfiche camera. Most of the variations in interpretation of "N" and "STR" are as described in 5.2 for subroutine HTEXT(N,STR) (qv). The occurrence in "STR" of $L will cause "Carriage return, linefeed".

Only one such occurrence is permitted per fiche.

select drawing speed 6.3.4
      HSPEED(N)

this sets the vector drawing speed on the FR80 to N milliseconds for a full screen vector. The effect of changing the vector drawing speed is to change the exposure of the film, ie, the higher the vector speed (the lower N), the less the film is exposed. The allowable speeds are 1,2,4 and 8 milliseconds for a full screen vector. When this routine is not called, an appropriate default, which varies from camera to camera, will be used.

We return to the description of subroutines to be called after device initialisation.

advance one frame 6.3.5
      ADVFLM

selects a new page on the output medium. On SMOG devices 1 to 5 the film is advanced one frame. On device 6 the film is moved to a new page position. On the other devices the effect is as follows:

Device   Effect
7        A new frame is selected
8        A new sub-frame is selected
9a10     If output is to a file on the 1906A an otherwise blank record
         is started thus:  *+*+   Subsequent listing under the
         GEORGE LISTFILE command will impose a paged structure on the
         output. The paper is advanced. The command is
         LF filename,ALL (See example 2 in Appendix 2)

The Appendices provide fuller details of the effects of this subroutine since it presents a fresh visible area on the output medium.

select fiche 6.3.6
      HFICHE

selects a new fiche if the microfiche camera is being used. On other devices it has the same effect as ADVFLM.

terminate graphics 6.3.7
      ENDSPR

instructs the system to empty output buffers, close files, inform operators, identify output etc. This routine must be called as the last graphical command in a program to effect routing etc and to avoid loss of output.

insert tape file mark 6.3.8
      FLEMK

this interprets all graphical instructions up to its call as constituting a file and writes them to the intermediate storage medium (tape or disc), terminating this output with a filemark. Such filemarks are invaluable aids, for example when constructing a cine film from many magnetic tapes only parts of the contents of which are needed. The filemarks are detectable delimiters that can be searched for without the necessity to view every frame.

NB The system will reject a program calling for two successive filemarks, since this is the "End-of-tape" marker and filemarks on output to SPOOL should be avoided altogether if possible.

6.4 Routing of Graphical Output

The plotting instructions generated by the SMOG package are stored in the most economical way before being displayed on the Main Device. In all cases the user's plotting, whatever the device, is done "Off-line", the intermediate storage medium being magnetic tape or disc, where appropriate. If the user chooses magnetic tape for the storage of plotting instructions for the FR80, an assignment of the relevant channel to a tape identifier is necessary at some point in the program running instructions. (See Appendices 2 and 6). If the FR80 is the implied main device when a SMOG device is selected but the user has not specified a magnetic tape for his output then this is directed to a disc system called the SPOOL. The SPOOL system stores the output from many plotting jobs and this is transferred to tape at regular intervals throughout the day, offering a faster service for average jobs. Other Main Devices may be used to view graphic work stored in SPOOL prior to its being sent to the FR80 using the SPOOL VIEW system. The next two subroutines allow some control over the SPOOL system:

hold output on SPOOL 6.4.1
      DELAY(I)

this will delay the transfer of plotting instructions to the FR80 control tape for at least "I" minutes. This gives the user the opportunity to examine his material before committing it to the FR80 for processing. (See FR80 User Note 3)

do not plot from SPOOL 6.4.2
      ERASE

this routine ensures that the plotting instructions stored in the SPOOL system will not be transferred to the FR80 control tape. When the period set by a call to DELAY(I) has expired the instructions will be erased. Used in conjunction with DELAY (I) and VIEW (see FR80 User Note 3) this is a valuable "Setting-up" or diagnostic system incurring the minimum overhead costs.

FR80 orders to lineprinter 6.4.3
      TOPRIN(X)

this will cause the FR80 orders generated by the current job to be copied on the lineprinter or not according as the switch "X" is on or off. If X = 1.0, subsequent orders will be printed, if X = 0.0 they will not.

NB The calling of this subroutine can result in much lineprinter output.

FR80 orders to plotting tape 6.4.4
      TOTAPE(X)

this routine allows the user to run a program that generates graphical commands but to stop the commands being sent to the plotting tape or spool - a facility that is of use when developing a program. If X = 0.0 no plotting orders are sent to the tape. Setting X = 1.0 causes the recording of plotting orders to be resumed.

⇑ 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