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

2. THE SMOG SYSTEM

SMOG is a set of FORTRAN routines for the presentation of numerical information in a graphical format. Whilst not minimal in computer resource requirements, it has been designed to be fast in operation and sparing in core requirement without sacrificing the major advantages of the larger graphical interface packages. SMOG can be considered to be a fast-running sub-set of the SPROGS subroutines with which it is consistent and fully compatible - subroutines with the same names have the same functions in both systems and passing from SMOG to SPROGS, should the user require it, requires little, if any, change to the source program.

The main output peripheral device is the III FR80 Microfilm Recorder at ACL and although, to some extent, the other graphical peripherals are considered to be diagnostic aids to "Production" running on the FR80, it must not be forgotten that the lineprinter, pen-plotter or storage-tube display is often quite sufficient an output medium and is certainly faster in that no wet-processing is required before results can be viewed.

2.1 Graphical Output Devices

Table 2.1
SMOG
Device
Number
SMOG
Codename
Output Medium Main Device
1 FRCL16 16mm Colour film FR80 + Combined
35/16mm
camera
2 FRBW16 16mm Black and White film
3 FRCL35 35mm Colour film
4 FRBW35 35mm Black and White film
5 FRPR16 16mm Black and White film FR80 + Precision 16mm camera
6 FRMFCH 105mm Microfiche film FR80 +
Microfiche camera (see 6.3.3)
7 FRHCS 12" × 12" full-frame Hardcopy paper FR80 +
Hardcopy camera (see 6.3.1)
8 FRHCM "Many-up" Hardcopy ie many sub-frames per 12" × 12" full-frame Hardcopy paper
9 TKTRON Storage cathod-ray tube Tektronix 4010
10 HPACK Paper chart Hewlett-Packard pen-plotter
11 LPGRAF Lineprinter paper Standard lineprinter

In the SMOG system these are considered to be eleven separate devices, only one of which may be used in any job. (Since some SMOG devices are not cameras, the term "Camera Number" is inappropriate. There is no correspondence between "SPROGS cameras" and "SMOG devices".) The SMOG Codename is the FORTRAN identifier of the subroutine that sets up the system to drive the particular device selected by the user in a particular run. This "Setting-up" of the system involves assigning output channels, issuing operator instructions, starting resource accounting etc and is called Initialisation.

The following are examples which generate some graphical output. They are presented here so as to fix ideas; the rest of the manual is devoted to the detailed description of the SMOG system.

In subroutine descriptions the FORTRAN, "CALL" will be suppressed, its presence being understood, and there being no function segments in the system at the user's level. Arguments, subscripts etc will be included in full, and the correct FORTRAN form will be used in all examples.

Many subroutines in SMOG are available in two versions, one for use with REAL and one for use with INTEGER arguments (see 8.2). In all cases, the version which has INTEGER arguments has the same or a similar name to its REAL counterpart but it is prefixed with the letter J. For example, the integer version of the subroutine SETXY(X.Y) is JSETXY(IX,IY). The descriptions of the subroutines will always refer to the arguments as REAL.

2.2 SMOG Job-structure, Working Examples

The command-structure demanded by the SMOG system is:

  1. select a SMOG device
  2. issue graphical instructions
  3. terminate graphical output explicitly.

Command (a) is the calling of a device initialising subroutine (3.5) and (c) the calling of a graphics terminating subroutine (6.3.7). Both must be present for the system to operate correctly in routing output to the main device and to the user.

The set of FORTRAN statements (2.2.1) is complete in the sense that it will, when accessed by the SMOG macro (2.2.2) generate two sub-frames of hardcopy output on the FR80, the first depicting the unit circle and the second depicting a spiral. The section numbers refer the reader to the body of the text.

It is assumed that the FORTRAN program is a file on disc named FR80SOURCE (the user should consult the 1906A Reference Manual if he is not familiar with file creation).

Example: 2.2.1
Fortran Statement                                        Section No / Comments
      LIST
      MASTER GRTEST 
C
      CALL XMPL1                                                      Master Segment
      STOP
      END
      SUBROUTINE XMPL1 
C***PLOTTING EXAMPLES
     CALL FRHCM                                           2.1          Initialise
     CALL APER                                            3.4.1       Select  masking
     CALL LIMITS(-1.05,-1.05,1.05,1.05,1.0,1.0)           3.4.10       Aspect ratio scales
C***FIRST FRAME - UNIT CIRCLE
     CALL SETXY(1.0,0.0)                                  4.1.1       Start at (x,y)..
     TH=0.0
     DTH=3.1416/50.0
     DO 10 I=1,100
     TH=TH+DTH
     X=COS(TH)
     Y=SIN(TH)
     CALL TOXY(X,Y)                                       4.1.2       draw to (x,y)
 10  CONTINUE
C***END OF FIRST FRAME - COULD END HERE BY:-
C     CALL ENDSPR                                         6.3.7        Terminate
C     RETURN 
C     END 
C     FINISH 
C***BUT WE CONTINUE 
C 
C***SECOND FRAME - SPIRAL
      CALL ADVFLM 6.3.5
      DR=0.005
      R=0.0
      TH=0.0
      CALL SETXY(0.0,0.0)                                4.1.1
      DO 20 I=1,200
      TH=TH+DTH
      R=R+DR
      CALL TOXY(R*COS(TH),R*SIN(TH))                     4.1.2 
  20  CONTINUE
      CALL ENDSPR                                        6.3.7
      RETURN
      END
      FINISH

At the MOP terminal in USER CONTEXT one need only issue the following command:

SMOG *CR FR80SOURCE

and the system will respond:

DISPLAY: TASK NOW JOB SMG - mopjobname;
END OF MACRO
08.31.27←                              2.2.2

Hardcopy output

Hardcopy output
Full image ⇗
© UKRI Science and Technology Facilities Council
⇑ 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