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

7. COMMAND-SETS IN FILES

It is often necessary to repeat a sequence of commands, either to repeat some feature at more than one position on a frame or to include a component of a picture on a succession of frames. One obvious way to do this is to write the sequence as a subroutine and to call this when required (4.2.7). It is more effective and efficient to use the subroutine facility on the main device, when such exists, rather than that on the host machine. The FR80 is a small computer with comprehensive graphical facilities attached, as it were, and can store files of commands for later use in a particular run.

7.1 Picture Storage and Retrieval

The following three subroutines use temporary storage space to store command-sets as files of instructions in the FR80 for the duration of the run.

start saving instructions 7.1.1
      FRSAV(X)
      JFRSAV(IX)

this identifies the next graphic command as being the first in a set to be stored for future use. The value "X" should be in the interval (0.0,63.0) and should be an integer. This labels the set of commands as file number X for later identification. (No nesting of CALL FRSAV(X) is permitted.) The saving of commands continues until FISAV (below) is called as the right delimiter of the command-set. The commands are not executed whilst they, are being saved.

stop saving instructions 7.1.2
      FISAV

this terminates the saving process for the currently "Open" picture file "X", above, and closes the file.

use saved instructions 7.1.3
      DRAWNM(X)
      JDRAWN(IX)

this causes the command-set in file "X" to be obeyed and draws the corresponding picture component. X, again, should be an integer in the range (0.0,63.0).

The facility for the storing of picture files does not exist on other main devices although the facility may be simulated on the host machine.

Graphics packages other than the SMOG system have the facility to create picture files and to store these in named disc areas. Currently, only picture files created by the SPROGS graphic package can be used and if the reader is unaware of this package then he is advised to skip to 7.2.

It is possible to copy these picture files into storage-space local to the SMOG system named SMOGLB by calling the following subroutine:

read stored commands 7.1.4
      RDLIB(STR1,STR2,NFIL,NCHAN)

this routine reads a command-set generated by the Graphics Package named "STR1". The file named "STR2", with file number NFIL, is copied from the library assigned to DA Channel NCHAN into a local storage area which must be prepared for the transfer. (Note: Local storage must be allocated in the COMMON block named SMOGLB and must be of sufficient size to accommodate the commands to be saved.) This command-set may be included among the user's current commands by: CALL DRAWNM(-1.0) at the required point in the program. Successive calls to the subroutine RDLIB('PAK','PIC',I,J) overwrite the local storage area and so only one such "Background" file may be saved in this way. However, calling RDLIB('S','T',I,J) and enclosing a call to DRAWNM(-1.0) within the delimiters CALL FRSAV(X) and CALL FISAV will transfer the "Background" into the relatively more permanent store of the FR80 as file "X" for the duration of the run.

Example: 7.1.4

      COMMON/SMOGLB/DUMMY(1000)
      .........
      coding
      ......... 
(a)   CALL RDLIBC SPROGS','PIKTEN',1,15)
      ........
      coding 
      ........
      CALL FRSAV(9.0)
      .......
      local picture definition
      ......
      CALL FISAV
(b)   CALL DRAWNM(9.0) 
      CALL DRAWNM(-1.0)
      .....
      etc

The effect of the command (a) is to store "PIKTEN", generated at some earlier time by the SPROGS package, and stored in a SPROGS library assigned to DA15, in the local DUMMY area (note the allocation of common storage for this purpose). Commands (b) cause the picture in file 9, saved on the FR80, to be combined with PIKTEN, generated by the SPROGS package, on the same frame of the output medium. The assumption here is, of course, that PIKTEN does not call for a frame advance (6.3.5).

7.2 Picture Definition

The use of the picture-saving routines by the user indicates his intent to use a command-set more than once in a particular program. The eventual use to which the stored commands will be put determines which of the line drawing routines, 4.1 or 4.2 he will use. "Absolute" drawing commands are stored with the actual raster addresses to which they referred at their generation. "Relative" orders are, on the other hand, "Incremental" in form and refer only to "So many raster-points in a particular direction". If a title frame is to be produced, say, remaining unchanged for some hundreds of cine film frames, then absolute and relative commands may be used in its construction. If, however, a film sequence is to be generated in which some feature moves across the field then only relative orders must be used in the picture file definition. The movement is then effected merely by - incrementing one absolute position in a loop containing the call to DRAWNM(X), and picture "X" appears intact but displaced from frame to frame.

⇑ 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