Section 5.7

Primary Input

Contents

5.7.0

 Introduction   

5.7.1

 Punching Conventions   

5.7.1.1

 Flexowriter Input

5.7.1.2

 Paper Tape or Card Reader Input

5.7.1.3

 Orion 2/1900 Direct Data Link

5.7.1.4

 Presumptive Jobnames

5.7.1.5

 Error Action


 

5.7.2  Directives not preceded by jobname.

5.7.2.1

JOB

DOCUMENT

5.7.2.3

       .2

RERUN

END

       .4

       .3

DOCUMENT

JOB

       .1

       .4

END

RERUN

       .2


 

5.7.3   Directives preceded by jobname.

5.7.3.1

HALT

ABANDON

5.7.3.13

        .2

ABOLISH

ABOLISH

.2

        .3

RUN

ALLOCATE

.8

        .4

ENTER

ANSWER

.5

        .5

ANSWER

DIRENT

.10

        .6

MONITOR

ENTER

.4

        .7

OUTPUTON

HALT

.1

        .8

ALLOCATE

MONITOR

.6

        .9

PRINTOUT

OUTPUTON

.7

        .10

DIRENT

PRINTOUT

.9

        .11

RELINQUISH

RELINQUISH

.11

        .12

TIME

RUN

       .3

        .13

ABANDON

TIME

       .12


 

5.7.4   "ORION" Directives

5.7.4.1

WRONG

ENGINEER

5.7.4.9

        .2

RIGHT

NAMES

.5

        .3

UNLOAD

PERIPHERAL

.7

        .4

SPACE

REMOVE

.10

        .5

NAMES

RIGHT

.2

        .6

SERIALNO

SERIALNO

.6

        .7

PERIPHERAL

SPACE

.4

        .8

VOIDDATE

INLOAD

.3

        .9

ENGINEER

VOIDDATE

.8

        .10

REMOVE

WRONG

.1

 

5.7.0  Introduction

Primary Input is OMP's input routine.  It is called in by pressing the Select button on the Flexowriter or on a paper tape or card reader.  It can also be called in because a job has obeyed a 150/31 with Y 0 instruction (see 5.3.31).  It accepts only directives and is not responsible for program or data input.  There are 3 types of directives.

(a)        Directives which are not preceded by a jobname (see 5.7.2). They may not appear on the Flexowriter, and only DOCUMENT (see 5.7.2.3) is accepted from the Orion 2/1900 Direct Data Link.

(b)        Directives which are preceded by a jobname - referring to a particular job already in the machine  (see 5.7.3).   Except for ABANDON and ALLOCATE which can only occur on the Flexowriter, these may appear on either a reader or the Flexowriter.

(c)        Directives which do not refer to a particular job.  These are preceded by the conventional jobname ORION (see 5.7.4)

Note that on Orion 2, pressing of the Select button causes the extracode buffers to be cleared.

 

5.7.1   Punching Conventions for Primary Input 

5.7.1.1  Flexowriter Input

Primary Input is called in or switched on by pressing the select button.  The operator can then type only one line of information.   A line is terminated by NL character.  Redundant shift characters in a line of information are allowed.  ER characters are ignored.  Vertical bar character means "ignore the rest of this line".  BS character with ER character may be used to correct punching mistakes.  Cross parentheses mean "ignore all of this line".  A blank line is ignored.

Primary Input is switched off after reading a line.

5.7.1.2   Paper Tape or Card Reader Input

Primary Input is called in or switched on by pressing the select button on a reader.  If the reader is allocated to a job, then the peripheral is re-reserved as a "floating peripheral" for the job, the reader then being idle.  The floated message is printed on the Flexowriter.  The operators may use the ALLOCATE directive (see 5.7.3.8) to allocate a specific reader for the job.

It can also be called in because a job has obeyed a 150/31 with Y0 (see 5.3.31).

Primary Input then reads from the reader.

For 7-track input, the 7-track code characters are allowed (see 4.3.3).  A line should end in UC shift and is terminated by NL character.  Redundant shift characters in a line of information are allowed.  ER characters are ignored.  Vertical bar character means "ignore the rest of this line".  BS character ER character may be used to correct punching mistakes.  Cross parentheses mean "ignore all of this line".

For 5-track input, the 5-track code characters are allowed (see 4.3.3).  A line is terminated by CR LF characters.  Redundant shift characters in a line of information are not allowed.  ER characters are ignored.   → character means "ignore the rest of this line".

For card input, the standard code is used (see 5.6.2).  One card is one line.  Vertical bar character means "ignore rest of this line".

Depending on the type of directive in the line, Primary Input is either switched off after reading the line, or it goes back to read another line containing a directive.  Blank lines (i.e. lines with no printing characters except ER characters, if present) are ignored and Primary Input goes on reading until a line of information is read.

5.7.1.3 Orion 2/1900 Direct Data Link Input

Primary Input is called in by 1900 indicating a transfer in mode 9.  If the input half of the device is allocated to a job, then it is re-reserved as a "floating peripheral" for the job, this half of the device then becoming idle.  The floating message is printed on the Flexowriter.  The operator may use the ALLOCATE directive (see 5.7.3.8) to allocate the device for the job.

Primary Input then reads from the device.

The code accepted is the standard internal code.

Clear lines are ignored.  Dummies and ER characters are ignored.  Vertical bar character means "ignore the rest of this line."  A line is terminated by NL character.  A line may not exceed 120 characters.  Only a DOCUMENT directive (see 5.7.2.3) is accepted.

5.7.1.4   Presumptive Jobnames

Lines containing directives which refer to a job already in the machine (see 5.7.3) effectively must begin with the jobname.  If several of these directives (5.7.3) are to be given for the same job, then the jobname need be punched before the first of these only, the other directives being preceded by VSVS replaces the jobname.  Thus when Primary Input reads on a reader or the Flexowriter a line whose first character is VS and contains a directive of this type (see 5.7.3), then the jobname assumed is the jobname last read, if a reader and is  the jobname last read or output if the Flexowriter.

5.7.1.5   Error action by Primary Input

If there is an error in a line of information, OMP prints a message on the Flexowriter informing the operator of the error.  If the incorrect line was read on a paper tape or card reader then Primary Input is switched off and the reader is disengaged.  The incorrect line of information is forgotten.

A syntactical error, (i.e. an error in the punching or format of the line) produces a message which tells the operator in which field of the line the error occurred.  In general each line of information contains more than one field; fields are separated by VS or solidus. FIELD 1 is the first field of the line and so on.  Other useful information such as the directive, the incorrect character and on which device the incorrect line was read may be given.  For example, the incorrect line

BLOGGS     PRI     AE˝     A1

would produce, if read on TRA

BLOGGS     ERROR     PRI     CHAR˝     FIELD 3     TRA

Assuming no job BLIGGS in the machine then

BLIGGS     AB0

would produce if read on TRA

ORION     ERROR     FIELD 1     TRA

The incorrect line

DOC     AB/ED/EF)GH/JK

would produce if read on TRB

ORION     ERROR     DOC     FIELD 4     TRB

Semantic error.

OMP may not be able to implement a correctly punched line.  e.g. no device is available or reservations for that job would be violated etc., the error report is for RES.VIOL. or IMP.OPER.  The directive and the device on which the line was read is also given.  For example

BLOGGS     OUT     *MT1

would produce if read on the Flexowriter

BLOGGS     OUT     IMP.OPER     FLX

since a magnetic tape deck is not allowed as a monitoring peripheral.

The line

BLOGGS     MON     *JUM     A5000

would produce if A5000 were outside reservations

BLOGGS     MON     RES.VIOL     TRA

Semantic errors in ORION directives (see 5.7.4) give a message such as

ORION     ERROR     Directive     Reason     FLX

Reason can be one of DOC NAME, INHIBIT or STATE.  For example

ORION     ERROR     VOI     DOC NAME     FLX

means that the document name given with the VOIDDATE directive is not the same as that on the tape.

Peripheral Incidents

If a peripheral incident, e.g. parity fail, occurs on the reader from which OMP is reading then a message is output on the Flexowriter e.g.

ORION     TRB     OMP     PARITY FAIL

Primary Input is switched off and the reader is disengaged.  The line containing the directive is forgotten and will have to be re-input (select button used).

If the Flexowriter fails while reading a line, then crossed brackets produced by ) BS (, followed by NL is output and the Flexowriter is left in the select state so that the line can be repunched by the operator.

 

5.7.2  Directives not preceded by a jobname

These directives which are not preceded by a job name may be regarded as directives concerned with the operating system.  They are not allowed on the Flexowriter, and only DOCUMENT is allowed on the Orion 2/1900 Direct Data Link.  Only the first three letters need be punched.  On reading a line containing one of these directives Primary Input is switched off.  VS may precede the directive.

5.7.2.1   JOB directive

e.g.     JOB     EDU5B     1584

This directive is not allowed on an Orion 2/1900 Direct Data link.  A tape (or sequence of cards) with JOB is known as a job-tape and is for getting a new job into the machine and setting up initial conditions etc.

If the job is accepted, OMP outputs a message on the Flexowriter, e.g.

jobname    ACCD     1584     4096
11.23.08
RESD     *SR20-TRB

i.e.     core allocated to the job is 1584 words.

i.e.     datum point is 4096.

i.e.     11.23.08 is the time at which the job was accepted.

i.e.     drum allocated to the job is 64 words.

and     the free device on which JOB was read is allocated to the job with programmer's peripheral name having number 20.

On a high density installation the first line is followed by vertical bar and either by H to mean a high density job or by L to mean a low density job.  Nothing is printed on a low installation.

Monitoring for this job is set to default, its timer to 1 minute and it starts at the top of the time sharing list, unless there are jobs of URG 2 in the machine.  OMP then loads into the job's core-store Basic Input Routine and enters it to continue reading from the device (i.e. Basic reads the next line on the job-tape).

JOB (this is FIELD 1 ) must be followed by VS character and then by another field, the name of the Job, and this optionally by 2 other fields, each separated by VS character.

The jobname (FIELD 2)

This is a set of up to 7 characters; only letters and digits are allowed and the last character must be a letter.  An illegal jobname is one whose first three characters are either ORI, RER, DOC, JOB or END.  Violation of these rules will produce an error message on the Flexowriter, e.g.

ORION     ERROR     JOB     FIELD 2     TRB

A legal jobname but which is the name of a job already in the machine gives

jobname     ERROR     JOB     FIELD 2     TRC

The amount of core, FIELD 3 (optional)

This field, if present, is a request for core-store.  The integer is rounded up to the next higher integer of the form 64n-16, unless it is of this form already.  An error for FIELD 3 will be given if the amount requested is greater than the total available to object programs.

OMP hands over this request for core to Basic.  If the request is for 1008 or fewer, OMP allocates 1008 words and if it is for more, then this amount is allocated.  Basic remembers the request and on reading ENTER (7.1.4.2.12) implements the request for core.  (Note that if the job at any time has more than 5 peripherals reserved then one word for each beyond 5 is subtracted from the reservation, and that monitoring jumps in Style 2 reduces the reservation by 16 words etc.  The directory is never reduced.)

If this field is not present, then no request is handed over to Basic, and OMP allocates 1008 words.  If no RES *CORE directive is read then Basic enters the job with 1008 or 1136 words of core allocated to the job.

If at the time of reading JOB not enough core is available, OMP rejects the job; the message on the Flexowriter being e.g.

jobname     REJECTED     CORE

Datum point, FIELD 4 (optional)

This is used only if a specific datum point is required - this facility is intended to be used when a job has to be restarted at a dump point when it is in absolute form on magnetic tape.  This field, if present, is an integer which is the datum point required.  An error for FIELD 4 is given if it is not a multiple of 64 or if it is less than 512, or if the area of core specified by the requested datum point plus the core store requested, is greater than the last area available to object programs.

If at the time of reading JOB, the required datum point is not available, OMP rejects the job; the message on the Flexowriter being, e.g.

jobname          REJECTED DATUM

Other reasons why OMP may reject the job are

that 64 words of drum are not available; the message being
REJECTED DRUM

or that 15 jobs are already in the machine;  the message being REJECTED 15 JOBS

or that the device on which JOB was read is not free and cannot be allocated (i.e. OMP's counter of free devices of this type is zero), the message being REJECTED READER.

When a job is rejected, the message is printed on the Flexowriter, the reader is disengaged, Primary Input switched off and the line with JOB is forgotten.

5.7.2.2   RERUN directive

e.g.     RERUN     BLOGGS

This directive is not allowed on the Orion 2/1900 Direct Data Link.

This directive is used to rerun a job which is in the machine and is suspended awaiting rerun (150/10 with Y=2, see 5.3.10).

RERUN  (FIELD 1) is followed by VS character and then by a jobname (FIELD 2); this must be the name of a job in the machine, otherwise an ERROR in FIELD 2 will be given and the reader disengaged.  For branched programs. it is allowed for Branch 1 only.

If the reader on which RERUN was read, is free then OMP allocates this device to the job (the programmer's peripheral name having the number 20); the reservation and allocation message being printed.

The core-store and drum-store reservations and other peripherals reserved for the job are the same as they were before RERUN was read.

Monitoring for this job is re-set to default and Basic is loaded into the job's core-store to continue reading from this device.  Basic overwrites, except for A3 to A12 inclusive, the job's core-store.  The job's drum-store is preserved unless Basic is asked to overwrite it.

Chapter 1 of Basic is loaded.

5.7.2.3   DOCUMENT directive

e.g.     DOCUMENT     MY/DATA/OF/QUEST/5

OMP stores the name of the document in 8 registers in its own drum working space, makes a note on which device this document is loaded, and then "switches on" all jobs which are halted awaiting document.  A job requesting (by a 150/33, 34 or 35) this document will be allocated this device.  The job will then read the document on this device.  The job can obey a 150/40 to get the document's name.

DOCUMENT (field 1) is followed by VS character and then by the name of the document.

Document name  (fields 2 to 9)

A document name has 8 components.  On the line, a component is separated from the next component by solidus.  Non-significant right hand null components and corresponding solidi need not be punched.  A component is a set of up to 8 characters; characters allowed are letters, digits, and point.  Plus (+) component means the document is composite (see 6.1).  VS character may be punched in fields 2 to 9 and is ignored.  The stored form of a document name is that each of the 8 registers contains one component with the characters, if less than 8, right justified.

Impermissible characters will cause an ERROR message on the Flexowriter, the reader to be disengaged and the line forgotten.

e.g.     ORION     ERROR     DOC     FIELD 4     TRC

If it is known that a document has been loaded by mistake (i.e. no current job will request the document), then the operator may type UNLOAD directive (see 5.7.4.3) and then remove the document.

5.7.2.4   END directive

This directive is not allowed on the Orion 2/1900 Direct Data Link.

The directive in 5.7.3 when read from a reader, after implementation, cause Primary Input to read further directives from the reader; this is so that a series of directives can be read from the same paper tape or cards without the need for the select button to be pressed between each.  The series may be terminated by END which causes Primary Input to be switched off and the reader disengaged.

 

5.7.3 Directives preceded by a Jobname

e.g.          jobname          PRINTOUT          AE          A1            10

The directives refer to a job already in the machine, otherwise an error in FIELD 1 will be reported.

VS before the jobname (FIELD 1) is not allowed.  VS is allowed instead of a jobname (see 5.7.1.3).  The directive (FIELD 2) is separated from the jobname by VS: only the first 3 letters of the directive need be typed.  If further fields are required by the directive, they are separated from it and each other by VS.

Line with these directives are allowed in the Flexowriter, paper tape reader, card reader, except for ALLOCATE and ABANDON directives which may appear on the Flexowriter only.

If a second directive for a job is typed (say on the Flexowriter) and a first directive has not been implemented, then the first directive is lost.  A message of the following form is printed in the Flexowriter.

jobname     PRI     LOST     TRB

i.e. PRINTOUT directive read on TRB has been lost and will not be implemented.

In general, if several of these directives are to be given for a job then they are input via a reader - this tape is often known as a post mortem tape.  On reading a line from a reader, OMP remembers and implements the directive, and when finished, "goes back" to read the next line containing a directive.  END (see 5.7.2.4) may be used to terminate such a series.

A syntactical error (see 5.7.1.4) will produce a message on the Flexowriter, stating the FIELD in which the error occurred as well as the directive, the device on which the line was read and the incorrect character.

A semantic error will produce a message on the Flexowriter, stating the directive, the device on which it was read and either RES.VIOL or IMP.OPER as the reason for the error.

Branched Programs (see 10.1)

Each branch has a number and the "jobname" for a branch has the branch number as the last character of the name, e.g. BLOGGS3 is the name for Branch 3 of the branched job BLOGGS.  Note that BLOGGS means Branch 1 and the name BLOGGS1 is illegal.

The directive ANSWER, MONITOR, OUTPUTON, DIRENT (if output is to the Flexowriter) and TIME refer to that branch only.

The other directives are allowed for a branch but affect all other branches (e.g. BLOGGS3 HALT causes all branches to be halted and then BLOGGS3 RUN will cause all branches to continue).  DIRENT, if output is to a device other than the Flexowriter causes information about all the branches to be output.

5.7.3.1.  HALT directives

This directive halts the job.  It is similar to 150/10 with X=Y=0 (see 5.3.10) except that there is no printing on the Flexowriter.

5.7.3.2.  ABOLISH directive

This directive abolishes the job.  (See 5.3.11 with X=0).  When read on a reader, Primary Input "goes back" to read the next directive which may be JOB directive initiating a new job.

5.7.3.3.  RUN directive

This directive causes a job which is halted to continue.  It has something in common with the 150/23 instruction in that, if the job has been halted due to a signal or overflow, the appropriate condition is switched off until the offending instruction has been obeyed.

5.7.3.4.  ENTER directive

e.g.          jobname          ENTER          3

This directive causes a job to continue even if it is halted or suspended etc. by transferring a chapter (the ENTER sequence) from the drum and entering it.  The third field of this line is an integer n.   Drum addresses 2n and 2n+1 contain the chapter changing information.

Drum address 2n contains the core starting address in the X-address field (D9 to D23) and the length of the chapter in the Y-address field (D33 to D47) of this word.

Drum address 2n+1 contains the drum starting address in the upper half (D0 to D23) and the entry-point in the Y-address field (D33 to D47) of this word.

If the Z-address field (D26 to D31) of the word in 2n+1 is non-zero, then the link is stored in this accumulator; this is ENTER (with a link).  If this field is zero then this ENTER (without a link).

If the job has a monitoring peripheral other than the Flexowriter, a message is output on it, when the enter sequence is entered.

e.g.          ENTERED          3

If the job is monitoring on drum transfers, then no monitoring takes place on the transfer of the enter sequence.

(a)  Non-branched Programs (also see 5.3.25)

(i)     ENTER (without a link) causes no "pushing down" and causes any previous "pushing down" to be forgotten.

(ii)     ENTER (with a link) causes "pushing down" and any previous pushing down to be remembered.  Return should be by a 150/25 rather then by an 87 instruction.

(b)     Branched Programs (also see 5.3.25 and 10.1) ENTER is allowed only for Branch 1.

(i)     ENTER (with link) or peripheral incident routine causes "pushing down" action, OMP also temporarily unbranches the program (interlocks are remembered and all branches are switched off awaiting Branch 1).  Branch 1's control number is used as the link if required.  Any previous "pushing down" is remembered.  The enter-sequence is entered - it being Branch 1.  A 150/25 will "return to" the program, restoring the conditions.

(ii)     ENTER (without link) does not cause "pushing down" and any previous "pushing down" is forgotten as is any temporarily unbranched state.  The branches are then switched off awaiting Branch 1.  The enter-sequence may have 150/2 or 150/24 instructions to switch on the branches again.

5.7.3.5.  ANSWER directive

e.g.          jobname          ANSWER          YES

This directive is used for a job which is suspended awaiting answer,  (see 5. 3 14).  Unlike an immediate answer, this postponed answer can be given either via a reader or the Flexowriter.

If given on the Flexowriter, the answer must follow on the same line as the directive.  If given on a reader the answer may follow on the line after.

5.7.3.6.  MONITOR directive

e.g.          jobname          MONITOR          *OVR          2

This directive used to set a monitoring style for the job (see 5.3.20 and 5.2).

The event is the third field of the line.
The style is the fourth field of the line.

5.7.3.7.  OUTPUTON directive

This directive is used to set the monitoring peripheral for the job.

Case I

e.g.     jobname     OUTPUTON     *LP1

If the peripheral (it must be a slow output one) is already reserved with a specific device allocated, OMP ensures it is engaged and on printers and card punches, it refills the code buffer with the standard code table, and sets it as the monitoring peripheral.

If the peripheral is not reserved, then if there is a free device of that type (otherwise RES.VIOL error is given) OMP reserves it and allocates an engaged device of that type and sets it as the monitoring peripheral; the reservation and allocation message is printed.  If there is a free device but it is disengaged, then OMP asks for it to be engaged and then implements the directive.

Case II

e.g.     jobname     OUTPUTON     *7

If a slow output peripheral is already reserved for the job with this number (not zero), then OMP ensures it is engaged, refills the code buffer if a printer or card punch, and sets it as monitoring peripheral.

If the job has not reserved a slow output peripheral with this number (not zero), then OMP will find any free engaged output device, complete the reservation and allocation and set it as monitoring peripheral.  The reservation is with the appropriate programmer's peripheral name for the device found e.g. *LP7 or *SP7 or *FP7 or *CP7

The order in which devices are chosen is specified separately for each installation.  If no free output devices are engaged, the first disengaged one is found, the operator asked to engage it and then the directive is implemented.  If there are no free output devices of any sort then a RES.VIOL error is given.

Case III

jobname     OUTPUTON     *0

This makes the job have no monitoring peripheral, other than the Flexowriter.

5.7.3.8.  ALLOCATE directive

e.g.          jobname          ALLOCATE          *LP1          LPB

This may appear only on the Flexowriter.  It is used by the operator to allocate a specific engaged device (not magnetic tape) to the job.  On Orion 2 it causes the extracode buffer of slow input devices to be cleared.

If the allocation can be completed and the specified device is free but disengaged, OMP asks for it to be engaged and then implements the directive.

Peripheral of FIELD 3 not reserved for the job

If the device specified in FIELD 4 is free and so can be allocated to the job, OMP completes the reservation and allocation; the message is output.

If the device specified in FIELD 4 cannot be allocated to the job, then OMP halts the job and a message giving the reason is output on the Flexowriter.

e.g.     BLOGGS     LPB     BELONGS TO FRED

i.e. LPB is already allocated to job FRED

If the device is wrong, then the device belongs to ORION.

If the allocate directive is for an input device and the specified device does not belong to a specific job or ORION but is not free because other jobs have reserved "floating" peripherals for this type of device the message is

e.g.     BLOGGS     NO     TR
i.e.     no readers are free.

Peripheral of FIELD 3 already reserved for the job

If the device specified in FIELD 4 can be allocated to the job, then OMP allocates this device to the job, the allocation message printed on the Flexowriter, informs the operator of the new allocation. The device that had been allocated to the job becomes idle; appropriate terminating action takes place, if it was engaged and then it is disengaged.

If the device specified in FIELD 4 cannot be allocated to the job then OMP halts the job, prints a message indicating to which job the device belongs and then relinquishes the peripheral of FIELD 3 (see 5.3.31 Y=0) the relinquish message informing the operator which device is now free is printed.

5.7.3.9  PRINTOUT directive

e.g.          jobname          PRINTOUT          AFP          A15          12

This is used to output contents of a region of a job's core or drum store on the monitoring peripheral.

If the monitoring peripheral is disengaged OMP asks the operator to engage it and then the directive is implemented.

FILED 3 specifies the styles of printing required; these are one or more of the letters APEIFG and at least one style must be specified.  A means print the address, P the content as program, E as octal, I as integer, F as fraction and G as floating point (see 5.3.16 for the form of printing obtained).  This field may also contain the condition X or Z.  If Z is present then all printing for clear words will be suppressed.  If X is present then this asks for one word, to be output to the Flexowriter only, even though the job may have a monitoring peripheral; in this case only one register and fewer than 5 styles must be specified otherwise IMP.OPER error will be given.

FIELD 4 specifies the starting address of the region.  To specify a core region, the basic address of the first register is given e.g. A5.  To specify a drum region, the drum address preceded by D of the first register is given e.g. D125.

FIELD 5 specifies the length of the region.  An integer separated from the starting address by VS gives the length.  This may be omitted if one word only is to be output.  (Alternatively the address of the last register of the region may be specified in which case it is separated from the starting address by -(minus), for example instead of   A5 12 then   A5-A16 may be given)

If the job has no monitoring peripheral other than the Flexowriter, and one word and fewer than 5 styles are specified, then output will be to the Flexowriter otherwise the job is halted and the message NO MON.PER output to the Flexowriter (condition X not present).

The printing of several words of store, using PRINTOUT is carried out by printing 20 words at a time, and so if a second directive is typed before the printing of the next 20 words is carried out then the rest of the printing is abandoned and the second directive remembered and implemented.  A message on the Flexowriter states that the directive has been lost.

5.7.3.10  DIRENT directive

e.g.          jobname          DIRENT

This directive gives information about the job's directory.  (See 5.3.17)

If the job has a monitoring peripheral then the information is output on it; otherwise to the Flexowriter.

The directive DIRENT 1 causes, information to be output to the Flexowriter only, even though the job may have a monitoring peripheral.

5.7.3.11  RELINQUISH directive

e.g.          jobname          RELINQUISH          *SR1

This directive causes the job to relinquish (see 5.3.31 with Y=0) the peripheral specified in FIELD3.  The device that had been allocated becomes free, terminating action takes place if it is engaged and then it is disengaged; the relinquished message is output on the Flexowriter.

5.7.3.12  TIME directive

e.g.          jobname          TIME          5

This directive re-sets the job's timer to the number of minutes specified in FIELD3.

5.7.3.13  ABANDON directive

e.g.          jobname          ABANDON

This directive is allowed only on the Flexowriter.  The log analysis program will not charge for jobs that have been abandoned.  This directive causes the job to be abolished; the printing is as for the ABOLISH directive (see 5.7.3.2) except that ABAND is printed instead of ABOLD

 

5.7.4  Directives that do not refer to a particular job

These are used by the operator to give or obtain information about the jobs and semi-built-in programs in the machine, about the peripherals etc. rather than information about a particular job.  They are known as "ORION directives".  They are accepted only from the Flexowriter.  As these are allowed for any job, it is necessary only to type VS (a presumptive jobname) and ORION need never be typed.  The directive then follows (the first three letters need only be typed).  Other fields, if required are separated from it and each other by VS.

Errors (see 5.7.1.4) give a message on the Flexowriter; semantic errors giving

ORION     ERROR     Directive Reason     FLX

where the reason may be one of DOC NAME, INHIBIT or STATE.

5.7.4.1  WRONG directive

e.g.          ORION          WRONG          TRB

FIELD 3 is the geographical name of a device.  This informs OMP that this device is not in use because it is being taken out of service either for routine maintenance or because it is unserviceable, and hence the device will not be allocated to a job.

If the device has already been declared WRONG then the directive is a dummy.

If the device is allocated to a job, then the job is halted and the peripheral relinquished; the relinquished and halted messages are printed on the Flexowriter, e.g.

jobname     RLQD     *SR1 -TRB
HALTED

If an idle reader or tape deck is made WRONG and the counter of free devices of that type was already zero, then a job having reserved one as a "floating" peripheral has to relinquish it, but the job is not halted; the relinquished message is printed on the Flexowriter.

When the device is in service again, the RIGHT directive is used to cancel the effect of tie WRONG directive.

If a drum is not working DRUM is given as FIELD 3.  The remaining drums will have been wired up and OMP reloaded.  It is accepted only if there are no jobs or SBIP's in.

5.7.4.2  RIGHT directive

e.g.     ORION     RIGHT     TRB

FIELD 3 is the geographical name of a device.  This is the converse of the WRONG directive.  It restores this device to OMP's list of free devices.  This is a dummy if the device is already RIGHT.  It is not given for the drum since OMP will be reloaded.

5.7.4.3  UNLOAD directive

e.g. ORION UNLOAD CRA

FIELD 3 is the geographical name of an idle device on which the operator has loaded a document (See 5.7.2.3) which it is know, will not be .asked for by one of the jobs at present in the machine.  This causes OMP to forget the name it has stored and to disengage the device.

In the case of tape decks, OMP also rewinds the tape, updates Block 0 if necessary and outputs a message on the Flexowriter asking the operator to unload the deck (see 5.8.4.2).

ORION MTC UNLOAD serial-number

If since the tape was loaded the number (n) of errors (e.g. reading, writing incidents) have occurred is non-zero, then ERn follows the serial-number.

Special Use

On Orion 1, UNLOAD for an allocated device is an error but on Orion 2 UNLOAD is allowed for allocated slow input devices (TR and CR) in which case it sets a bit in the extracode which has the effect of clearing the extracode buffers (this bit says ignore what is in the buffers).

5.7.4.4  SPACE directive

e.g.          ORION          SPACE

This gives the amounts of core-store, drum-store and peripherals not allocated to object programs.  It outputs on the Flexowriter up to 4 lines which are:

(i)     ORION CORE followed by a list of the available lengths. 0. is printed if none is available.

(ii)    DRUM followed by the amount of drum available.  0. is printed if none is available.  This may be followed by another integer which is the extra amount of drum which could be made available by overwriting semi-built-in programs not in current use (see REMOVE directive 5.7.4.10).  If this is zero then no printing occurs.

(iii)   IDLE followed by the geographical names of the devices which are not allocated.

(iv)   FLOAT followed by the types of devices which jobs have reserved as "floating" peripherals. e.g.
IDLE  MTB  MTC  MTF  MTG  MTH
FLOAT  MT  MT
mean that 5 decks have not been allocated but that the counter of free decks is 3, as 2 have been reserved as "floating" peripherals.

Lines (iv) or both (iii) and (iv) are omitted if there are no floating or idle peripherals respectively.

5.7.4.5  NAMES directive

e.g.     ORION     NAMES

This lists on the Flexowriter the jobs and semi-built-in programs in the machines.  The first line contains JOBS followed by the jobnames in their current order of priority.  If there are more than 8 jobs, then the rest appear on a second line.  The next line contains SBIP's present (8 is the maximum allowed).

ORION     JOBS.  SMITH CHARLIE SMITH2
              SBIPS.  PREADD PUNCH

If there are no jobs or SBIP's then the appropriate lines are omitted.  If there are neither jobs nor SBIP's then message is

ORION     EMPTY

5.7.4.6  SERIALNO directive

e.g.     ORION     SERIALNO     MTA 3625 36

FIELD 3 is the geographical name of the deck (it must be non-isolated otherwise semantic error INHIBIT is given) on which is loaded the tape to be serialised.  This can be either

      (i)  a non standard tape (i.e. Block 0 is non-standard) see 5.8.4.2

 or (ii)  a new tape ( i.e. there is no Block 0)

or (iii)  a scratch tape (i.e. D24=0 and Date reached).

FIELD 4 is the new serial number (it must be in the range 0 to 16,777,215) which the tape is to be given.

FIELD 5 is the nominal length of the tape in hundreds of feet (it must not be greater than 63) which this tape is to be given.

OMP rewinds the tape, rewrites a standard Block 0 onto the tape, such that the tape is a scratch tape (date D0, D24 are zero and the components are null) and leaves the tape loaded.

5.7.4.7  PERIPHERAL directive.

e.g.     ORION     PERIPHERAL     TRA

This is used to obtain information about a peripheral device.  FIELD 3 is the geographical name of a device.

If the device is allocated to a job then OMP outputs on the Flexowriter a message saying to which job, e.g.

ORION     TRA     BELONGS     TO     BLOGGS

(If the device has been declared WRONG then it belongs to ORION)

If the device is idle (and in the case of input devices and decks with no document loaded) then the message is, e.g.

ORION     TRA     IDLE

For idle input devices loaded with a document the document name is given e.g.

ORION     TRA     EDU/DATA/Z

For idle decks loaded with a document, the message gives all the Block 0 information (as described in 5.3.41), i.e.

ORION     MTX     serial-number     Date  NSn  PAm  Ll
document name

For example

ORION     MTB     132     P5.2.1965  NS12  PA0  L36
              EDU/TAPE

5.7.4.8  VOIDDATE directive

e.g.     ORION     VOIDDATE     MTB     25.1.1266P  EDU/1/TAPE

This is used to change the Date and settings of the write permit and date control bits in Block 0 of a tape.  FIELD 3 is the geographical name of the deck; it must be idle and non-isolated otherwise STATE or INHIBIT semantic error will be given.

FIELD 4, is the new settings of the Date and bits (D0 and D24) required.  The date is punched as 3 integers separated by 2 points, e.g. 25.1.1966; the first integer is the day of the month (25 meaning 25th of the month); the second integer is the month (1 meaning January); the third is the year which may be punched as 66 or 1966 meaning year 1966).  The day of the week bits are cleared.  If P precedes the date then D0 is set to 1 otherwise 0 and if P follows then D24 is set to 1 otherwise 0.  The density bit is not altered.

FIELDS 5 to 12, separated by solidus are the components of the document name.  Only non-significant right-hand null components need not be specified.

If the tape on the deck is correctly specified OMP rewrites Block 0 giving it the new Date and then asks the operator to unload the tape.

5.7.4.9  ENGINEER directive

e.g.     ORION     ENGINEER     43

FIELD 3 is an octal integer which is stored in a 15-bit field.

If the l.s. bit of this is 1 then extra printing on magnetic tape incidents takes place.  (See 5.8.4.2)

If the "2 bit" (i.e. the second bit from l.s. end) is 1 then a peripheral incident causes the message (see 5.8.4.3) and information word in octal to be printed, even though the job may have asked for the printing of the incident message to be suppressed.

If the "16 bit" and the "8 bit" (i.e. the fifth and fourth bits from the l.s. end) are

  (i)   00 then the time is printed every minute and the date every ten minutes.

 (ii)  01 then the time and date are both printed every ten minutes only.

(iii)  10 then the time is printed every minute and the date is printed only at midnight.

 (iv)  11 then the time is never printed and the date is printed only at midnight

Example of the time and date

               ORION     20.20.00     3DEC64

If the "32 bit" (i.e. the sixth from the l.s. end) is 1 then the punching of the log tape is suppressed.

The "64 bit" (i.e. the seventh from the l.s. end) on a low density machine is not used.  On a high density machine, if this bit is 0 then a job when accepted will be a high job, whereas if this bit is 1 then a job when accepted will be a low job.  The ACCD message on the Flexowriter will be followed by vertical bar and then an H or L to indicate high or low density job.  In Word 5 of the program directory D31 will be 1 to indicate high density and will be 0 to indicate low.  When this bit is 1 DIRENT will print an H.  This bit, thus the state of the job, will remain unchanged throughout the run of the job.

The "128 bit" (i.e. the eighth bit from the l.s. end) allows this 150/13 instruction with Y=4 (see 5.3.13) to punch the log tape.  If this bit is not set, the instruction is treated as the case Y=0.

5.7.4.10  REMOVE directive

e.g.     ORION     REMOVE     PUNCH

This directive is read to remove the specified semi-built-in program from the drum so that the amount of drum occupied by it will be freed to be used for other purposes.  Only if not being used may a SBIP be removed.

When a semi-built-in program is removed either as a result of a REMOVE directive, or because the drum space is needed, a message of the following form is printed on the Flexowriter.

ORION     REMOVED     PUNCH

More than one semi-built-in program may be removed at one time, in which case more than one name will be printed.