ACL intends to use the LOADGO system on the FR80 microfilm recorder. This system is designed to increase throughput by eliminating the operator intervention required to load programs and to enter monitor commands. LOADGO allows jobs which are intended to run under different monitors to be submitted on a single tape, and provides for the automatic loading of the correct monitor for each job. In order to accomplish this, each job on the tape is prefaced by two header records. The first of these contains the name of the monitor program that is to run the job, while the second contains a set of monitor commands which are to be obeyed by the chosen monitor program before it begins the processing of the graphical data which follows. It is the responsibility of packages which generate FR80 output to construct these header records.
The appearance of the final graphical output depends not only on the commands which appear in the second header record, but also upon the precise variant of the FR80 Displayer which is named in the first header record. The FR80 Displayer will exist initially in four variants; more may be added later. One pair of variants is for use with the microfiche camera only, while the other pair is for use with any of the roll-film cameras. The two variants within each of these pairs consist of one version which incorporates a simple character font, and another which includes a rather more sophisticated one. The simple font takes up less space within the FR80 processor and is more quickly drawn than the other. It should be quite suitable for general purpose output while the sophisticated font will be more suitable for work intended for publication.
The jobs recorded on a tape for use with the LOADGO system must be separated from one another by single filemarks. A double filemark is used to terminate the tape. The first two records of each job are the LOADGO header records while the remaining records contain the graphical data. Single filemarks appearing between data records do not upset the system.
ACL conventions restrict all programs which generate FR80 output to the following tape layout:
The filemark between the header and the data records permits the start of the data to be found should it be necessary to load monitors manually in the event of a breakdown in LOADGO. Tape images sent to the 1906A SPOOL should also conform exactly to the above layout.
The two header records consist logically of 18-bit words which are represented on tape by three consecutive characters (7-track) or bytes (9-track). This format is described in Section 2 of FR80 Technical Paper 1. Each header record is restricted to a maximum length of 256 (decimal) words. Careful note should be made of the fact that the two header records employ differing character codes and pack characters into words differently.
The first record is written in odd-parity, 6-bit ASCII with three characters packed into each word. Appendix I tabulates what is believed to be the correct code for this record. The format of the record is as follows:
Example
If the monitor program name is ABCD and the first record is 5 words long, the correct form of the record is:
* * * A B C D 52 52 52 01 02 03 04 40 40 00 00 00 00 00 00 word 1 word 2 word 3 word 4 word 5
The second record must be written in a code described as odd-parity, 8-bit ASCII, with only one character in each 18-bit word. This lone character appears in the low order eight bits of the word, with the remaining bits all zero. It is unclear what is meant by odd-parity, 8-bit ASCII, but it is believed to be the standard III character code. This code is tabulated in Appendix V to FR80 User Note 1.
The monitor commands which may be used in this record are detailed below. They should appear on the tape exactly as written here, with each command terminated by a word containing the code 215 (octal). In the examples, the symbol & will be used to represent this code. The sequence of commands appearing in this record is terminated by an all zero word. Any words remaining in the record should also be set to all zeros.
CAM/n
This command must not be used with the fiche camera. For non-fiche output, however, it must be used in order to select the camera required. This is done by substituting a value for n as follows:
Example
In order to select the model 8021 camera, 6 words are required:
C A M / 4 & 103 101 115 057 064 215
HIT/n,n,n,n,n
This command is used to cause each line, point and character to be drawn n times (ie overstruck n-1 times). Note that the parameter n must be repeated 5 times in the command. If this command is not used at all, images will be drawn once only, and this is the required standard for all non-hardcopy output. In order to obtain a clear image, hardcopy output should specify a single overstrike (n=2) as standard. With hardcopy output only, a non-standard overstrike count may be established if a user program explicitly requests it.
Example
Hardcopy output : HIT/2,2,2,2,2& Other output : not normally used.
TAPE/5
This command must be issued by jobs on 7-track tapes, and must not be issued by jobs on 9-track ones. Its purpose is to inform the program of the recording density used.
Example
7-track tapes : TAPE/5& 9-track tapes : not used.
PULL/n
This command must not be used in fiche jobs, but must be used in all jobs destined for the other cameras. Its purpose is to cause the monitor program to execute n camera pulldowns for each frame advance order in the data. For the sprocketed cameras, n must be a multiple of four. A list of the appropriate values of n for each of the available cameras will be distributed when this information is known.
GO/
This command must appear in each job as the last monitor command in the second header record. Its purpose is to initiate processing of the graphical data that follows on the tape.
Some remarks are in order here concerning the manyup capability which will be assembled into the non-fiche monitors. This facility permits several consecutive images to appear on one frame of output. This is done by automatically reducing the size of the images and positioning each one in a different part of the physical frame. The number of images that are recorded on each frame is controlled by the pair of monitor commands X-NUM and Y-NUM which determine the number of rows of images to appear in the X and Y directions respectively. The order in which the images are recorded is normally by rows. but this can be countermanded by the command BY COL. The advantages of using this facility are that less film is used and that the output is produced faster. This is because the number of frame advances is much reduced. and also because the reduction in image size permits the individual images to be drawn faster.
The hardcopy camera is capable of using both 8 inch and 12 inch wide paper stock. If the 12 inch stock is in use, then jobs should usually output at least four images per frame. The production of full 12 inch square hardcopy output will be strongly discouraged. It will not be possible to use the manyup capability with the 8 inch wide paper, since the images would flop over the sides of this smaller stock. Rather, in this case, the scaling facility must be used to reduce the image size so that it will fit onto the reduced frame size of the 8 inch paper. The scaling facility (which is invoked by the SET command) and the manyup capability are mutually exclusive. They should only be used with hardcopy output.
X-NUM/n
This command determines the number of images to appear in each frame in the X direction. For 12 inch hardcopy output, a value of 2 should normally be assigned to n.
Y-NUM/n
This command determines the number of images to appear in each frame in the Y direction. For 12 inch hardcopy output. a value of 2 should normally be assigned to n.
The manyup capability is invoked if either of the X-NUM or Y-NUM commands is used to specify a number other than 1. If these commands are not used, the system will assume a default value of one image in each direction.
BY COL/
This command may only be used if the manyup capability has been invoked. It causes images to be produced in column order within each frame, rather than the default row order.
Example
For 12 in wide hardcopy : X-NUM/2&Y-NUM/2& For other forms of output : not used.
SET/n
This command is used to invoke the scaling facility and should only be used for hardcopy output. The image will be scaled by n × 2-14. For 8 inch hardcopy, a suitable value for n is 11000.
Example
For 8 inch hardcopy : SET/11OOO& For other forms of output : not normally used.
TITLE/T1C5L2H1,1V1,1/first line of title $L second line of. title $T
This command may only be used for fiche output. Its purpose is to print a title across the top of the fiche which will be legible to the naked eye. Two lines or titling information may be output, each containing up to 80 characters. Note that the character $ (dollar) must not appear in the title. If only one line of title is required the $L control character pair may be omitted.
Example
Two line title: TITLE/T1C5L2H1,1V1,1/FICHE TITLE$LNUMBER 1$T& One line title: TITLE/T1C5L2H1,1V1,1/FICHE TITLE LINE$T&
In order to be able to construct LOADGO header records sensibly, graphics packages must require their users to supply details concerning the form of output they require. At the very least, these details should include the camera, film stock, and character font required. Each package will probably need to be augmented by the addition of new routines which allow this information to be specified. Some points to be considered when defining such routines are noted below.
Camera/film-stock combinations: Users should be able to choose a camera/film-stock combination from the following list:
Given the combination of font and camera/film-stock information, a package can construct the monitor program name needed for the first LOADGO header record. Also, a standard monitor command string can be generated for the second header record. The standard command strings are listed below, labelled (a) to (i) in correspondence with the camera/film-stock combinations listed above. Note that the parameters of the PULL command" are represented by the letters v - z, since the actual values required are unknown at present. Note also that the command TAPE/5 should be inserted (before the GO) if the data is being recorded onto 7-track tape.
(a) and (b) CAM/3&PULL/v&GO/& (c) and (d) CAM/3&PULL/w&GO/& (e) CAM/4&PULL/x&GO/& (f) GO/& (g) CAM/11&PULL/y&X-NUM/2&Y-NUM/2&HIT/2,2,2,2,2&GO/& (h) CAM/11&PULL/y&HIT/2,2,2,2,2&GO/& (i) CAM/11&PULL/z&SET/11000&HIT/2,2,2,2,2&GO/&
With fiche and hardcopy output, packages may choose to provide routines which allow users to change or add to these standard sets of commands. The facilities which may be provided are limited to those described below:
MULTIPLE IMAGES: When output combination (g) is selected, 4 images are recorded to every frame. These images are recorded by rows. Packages may provide a routine which allows users to request that their output be recorded by columns. This request should be fulfilled by causing a BY COL command to appear in the monitor command string.
Packages may also allow users of combination (g) to specify an arrangement of multiple images per frame that is other than the 2 by 2 standard. Effectively, such users will be able to dictate the parameters assigned to the X-NUM and Y-NUM monitor commands. Packages should ensure that this facility does not provide a mechanism for evading the ACL policy of scheduling full 12 inch hardcopy for processing outside the normal hours. This means that in practice, packages should enforce a rule that output using combination (g) bears at least 4 images per frame.
The character set used for the first header record (octal)
0 1 2 3 4 5 6 7 0 A B C D E F G 1 H I J K L M N O 2 P Q R S T U V W 3 X Y Z 4 Sp ! " # $ % & ' 5 ( ) * + , - . / 6 0 1 2 3 4 5 6 7 7 8 9 . ; < = > ?
The naming of monitor programs at ACL will follow certain conventions. These are described below.
The first character will indicate the data format interpreted by the program.
Example - F = FR80 standard data format.
The second and third characters will indicate the camera or combination of cameras for which the program has been assembled.
Examples - MF = microfiche, RF = roll-film (ie everything except microfiche).
The fourth character will indicate the identity of the character font that has been assembled into the program.
Examples - O = OCRB (simple font), C = Courier (complex font).
Thus the four programs whose names may appear in the first header record of jobs using the FR80 standard data format are: