An automatic accounting system is being constructed for the FR80. This system collects data on the usage of the FR80 and will eventually produce punched card output for subsequent analysis. The products of this analysis will be the generation of an amount for each FR80 user, and also a statistical summary of the user and performance of the FR80.
The major component of the accounting system is the FR80 logging program. This program, called SYSLOG, runs in the FR80 and uses information provided by FR80 jobs and the FR80 operator, together with additional data which it generates internally, to construct LOG RECORDS which are then stored in a special LOG FILE maintained on the FR80 disc.
Periodically, the log file is dumped onto magnetic tape and transferred to the 1906A where it is processed by another program, called LOG ANALYZER, which generates the required punched card output.
SYSLOG's function is to maintain a log of the activity of the FR80. This function is provided by means of two complementary sub-functions, called the EXTERNAL LOGGING FUNCTION and the INTERNAL LOGGING FUNCTION.
In its external logging capacity, SYSLOG simply acts as a centralised collecting point for externally supplied data. As jobs pass through the FR80, they provide SYSLOG with information about themselves - for example, their identity (username and jobname), and the type of output they are generating. It is no part of SYSLOG's task to analyse or process this externally supplied information in any way - it mostly stores the information away on the FR80 disc in an orderly and secure manner.
In its internal logging capacity, SYSLOG acts as a generator of information about FR80 jobs. The idea here is that each FR80 job informs SYSLOG when it starts and also when it finishes execution. SYSLOG notes the time which elapses between these two events, together with the amount of output produced. It then stores this internally generated information in the log file in just the same way as externally supplied information. When a job tells SYSLOG that it is about to start execution, it is said to LOG IN to SYSLOG, and conversely, when it notifies SYSLOG that it has finished, it is said to LOG OUT. The internal logging function of SYSLOG is invoked only when either of these two events occur.
SYSLOG is an ordinary FR80 monitor program - just like the various displayers and print programs. Besides the usual monitor commands (TAPE TYPE, REWIND, GO etc), SYSLOG provides two additional sets of commands which we may call the LOGGING COMMANDS and the LOG UTILITY COMMANDS.
The only way of invoking either the internal or the external logging functions of SYSLOG is by means of the LOGGING commands. The LOG UTILITY commands mostly provide for the setting of certain switches in SYSLOG's private data area. These switches control such functions as the echoing or commands and the dumping of diagnostic information.
In order that they are able to communicate information to SYSLOG, all FR80 jobs are in fact composed of those sub-jobs. The job proper (that is the part of the job which actually produces the required graphics output) is called the PLOTTING JOB and appears on the FR80 data tape sandwiched between two LOGGING JOBS. These logging jobs cause the FR80 LOADGO system to pass control to SYSLOG which then processes the logging commands contained in them. The logging job which precedes the appearance of the plotting job is called the LEADING logging job, while that which follows the plotting job is called the TRAILING logging job. While any logging job may invoke the external logging function of SYSLOG, the leading logging job must also invoke the LOG IN function. Conversely, the trailing logging job must always invoke the LOG OUT function. Other logging jobs may appear anywhere on an FR80 data tape for the purpose of invoking (only) the external logging function.
The FR80 operators may communicate with SYSLOG for the purpose of logging jobs by hand, or in order to enter additional information about jobs which have been logged automatically.
Logging commands are just like ordinary FR80 monitor commands. That is, they consist of a COMMAND NAME followed by a SLASH, followed by a PARAMETER STRING (consisting of individual PARAMETERS, separated by COMMAS) and terminated by a carriage return. When SYSLOG receives a logging command, it is the command name which tells it whether this particular command should invoke either the internal or the external function, or both.
If the external function is required, SYSLOG merely attaches certain housekeeping information (for example, the time of day) to the parameter string supplied with the command, and stores the resulting log record in the log file.
Similarly, if the internal logging function is required, the command name will determine whether the job is to be logged IN or OUT, and will cause SYSLOG to take the appropriate action. This may involve either just the updating of certain internal tables, or the construction of an internally generated log record to be filed in the usual way.
There are 9 logging commands provided by SYSLOG. Each is individually described below, and a summary appears at the end of the section.
The GSTART command invokes both the external logging function and the LOG IN function of SYSLOG. It is furthermore, the only way in which a job can log in. The GSTART command must appear exactly once in each loading logging job and must not appear elsewhere. It must not be issued by the FR80 operators. The specification of the parameter string of GSTART is given in FR80 Technical Paper 4 (19 April, 1975) and Hill not be repeated here.
Both of these commands invoke only the LOG OUT function of SYSLOG, and they are the only way in which a job may LOG OUT correctly. One (and only one) of them must appear in each trailing logging job and they may not appear elsewhere. They must not be issued by the FR80 operators.
Since these two commands do not invoke the external logging function, their parameter strings are not used in any way, and may therefore, consist of any character string, or be absent.
There is no functional distinction made between GEND and ABEND and they may be used interchangeably. It is intended, however, that the GEND command should be used in trailing logging jobs produced in the usual way (ie by the graphics package which generated the plotting job), while SABEND is to be used when a trailing logging job is generated abnormally (by a spooling system).
This abnormal circumstance occurs when a graphics job which is sending its output to a spooling system (rather than directly to tape) terminates prematurely (e.g when its time limit is exceeded), and is unable to generate the trailing logging job. The spooling system detects this omission and supplies the logging job (containing a SABEND command) itself.
Note that logging commands (d) to (i) invoke only the external logging function of SYSLOG.
This command may appear in any logging job on a LOADGO tape. It may not be used by the FR80 operators. Its purpose is simply to record any special or unusual circumstance detected by a graphics package or spooling system. The parameter string may consist of any text string.
These two commands are provided in SYSLOG for the purpose of collecting information about FR80 data tapes - for example, the tape type (7 or 9-track), serial number, and the time at which they were written by the host machine. It is left to LOG ANALYZER to specify the exact form which should be taken by the parameter string, and the way in which the commands should be used, These commands are intended to provide a means whereby statistical information (for example the average number of jobs per tape and the average delay between a tape leaving the host machine and being processed by the FR80) about FR80 operations may be collected automatically.
This command is to be used by the FR80 operators when a job must be logged manually, either because the automatic logging facilities have failed, or because the job did not invoke them (for example, jobs which use the print programs).
The parameters required are:
Example:
LOG JOB/GSIN18,JMR-MOP,1015,000217,10,37,HCM
This command causes a job with username GSIN18, jobname JMR-M0P, which used 2 mins and 17 secs of FR80 time starting at 10.15 am, and which generated 10 frames and 37 sub-frames of hardcopy many-up output to be recorded in the log file.
This command is used by the FR80 operators when they decide that a previously logged job should not be charged for. This may occur when, for example, the output is spoilt or the job is run with make film equal to zero.
The username and jobname parameters are as described for the LOG JOB command, and serve to identify the job concerned. It is understood that the job referred to is the most recently logged job whose user and job names match that supplied with the NO CHANGE command.
The <reason> parameter may consist of any text string and should specify the reason for not charging for the job.
This command should be used by the FR80 operators when they wish to insert additional information into the log file.
Note: THE PROMPTING FEATURE
The 3 commands LOG JOB, NO CHARGE and COMMENT are for use by the FR80 operator only. Because of the complexity and length of the parameter string which they require, and because the FR80 MONITOR system provides poor facilities for correcting typing mistakes, these three commands incorporate a prompting feature.
The prompting feature is activated when any of the three commands is entered with an empty parameter string. In this case, SYSLOG will prompt the operator for each parameter individually, giving explicit details of the information required in each case. If the parameter string is non-empty, however, it is copied to the log file in the normal way.
An example of a use of the prompting feature (operator input is underlined - the rest is system output).
MON; SYSLOGSJ *MONITOR LOG JOB/ USER NAME (NO COLON)? GSIN18 JOB NAME? JMR-MOP TIME ON (HHMM)? 1015 DURATION (HHMMSS)? 000217 FRAME COUNT? 10 SUB-FRAME COUNT? 37 CAMERA (BW135,CL16,PR16 ETC.)? HCM *OK
COMMAND NAME |
FUNCTION INVOKED | MAY BE ISSUED BY | ||||
---|---|---|---|---|---|---|
EXTERNAL | LOG IN | LOG OUT | LEADING LOGGING |
TRAILING JOB |
OPER | |
GSTART | Yes | Yes | Yes | |||
GEND | Yes | Yes | ||||
ABEND | Yes | Yes | ||||
GCOMMENT | Yes | Yes | Yes | |||
START TAPE | Yes | Yes | Yes | |||
END TAPE | Yes | Yes | Yes | |||
LOG JOB | Yes | Yes | ||||
NO CHARGE | Yes | Yes | ||||
COMMENT | Yes | Yes |
There are three of these commands. They are:
This command controls the echoing of logging commands onto the teletype. Echoing is turned on if m has the value 1, off it has any other value (or is absent). When the log file is created, echoing is set on by default. Only logging commands (a) to (f) are echoed (since commands (g) to (i) must be typed in from the teletype anyway), and the GSTART command is always echoed.
This is used to control the dumping of debugging information onto the teletype. Dumping is turned on if m equals 1, off otherwise. Dumping is off by default. The information dumped consists of:
This command may be used by the FR80 operator if he discovers that SYSLOG has got the time of day set wrongly. No parameter is required for this command - SYSLOG prompts for the data it requires.
The manner in which SYSLOG keeps track of the time of day is discussed in the next section.
Core locations 6 and 7 in the FR80 function as an internal clock, incremented once every 1/60th second. SYSLOG attempts to maintain the correct time of day in these locations, that is it tries to ensure that these locations always contain a 36-bit integer whose value is the number of 1/60ths of a second which has elapsed since the previous midnight. Unfortunately, various FR80 programs (in particular DEBUG and DISC AUDIT) interface with this process, either by turning the clock off, or by corrupting the contents of the clock locations. SYSLOG attempts to detect this interference as follows:
When SYSLOG first gets control, it checks that the clock is ticking. It does this by noting the contents of location 7, then sitting in a loop for just over 1/60th sec and firstly checking to see if location 7 has been incremented correctly. If the clock is not ticking, SYSLOG issues a CLON (turn clock on) instruction and tries again. If the clock still fails to tick, it must be because the clock has been switched off by the operator. In this case, the operator is instructed to turn the clock on (by using the appropriate console switch) and SYSLOG will not process until he has done so.
SYSLOG also checks the position of console data switch 8 and refuses to proceed if this is on. This is necessary because the displayers will reset the clock to zero if they find switch 8 on. The displayers have all been patched so that the other functions invoked by switch 8 (eg correct fiche numbering) are provided automatically. When the print programs are run, however, (or when the displayers are run independently of LOADGO), switch 8 should be turned on. If an operator is in doubt over the correct position of switch 8, he should turn it on - SYSLOG will instruct him to turn it off if necessary.
In an attempt to detect corruption of the clock location, SYSLOG maintains, in its private data area, a record of the time at which it last wrote a log record to the disc. When next it needs to refer to the FR80 clock, SYSLOG checks that:
These checks are obviously insufficient to detect the situation in which the clock is stopped for a while and then restarted. However, it seems that in practice they work well enough.
Whenever SYSLOG is unhappy about the time indicated by the clocks it asks the operator to supply it. The operators should be urged to use a standard reference clock or watch when replying to such requests. The frequency of these requests for the time can be greatly reduced by not returning to DEBUG at the end of each tape. The last job on each tape should be a trailing logging job, and so it should be SYSLOG that has control when the end of tape is detected. The operator can then simply load a new tape and type GO/ to SYSLOG which will then continue processing with the new tape. (Note that there is no need to use SKIP/ in order to jump over the 1906A header record when using SYSLOG - in this sense it is superior to MON;SYS which now need only be used to start things off in the first place).
The log records which SYSLOG writes to the FR80 log file, and which are subsequently processed by LOG ANALYZER have the following format:
Log records are character strings which may be considered to consist of 5 major fields, namely:
The DATA field may be absent; all the other fields are always present in the order given above. The format of each field is described below.
This occupies two character positions and contains an integer which specifies the total number of characters making up the record. The length field is always a decimal integer in the range 10 to 99 inclusive.
This is a single character field, containing a decimal digit which serves to identify the type of log record concerned. It is the type of a log record which informs LOG ANALYZER how the record, and in particular its data field, is to be interpreted.
Corresponding to each logging command which invokes the external logging function of SYSLOG, there is a unique type of log record. The correspondence is as follows:
LOG RECORD TYPE corresponds to LOGGING COMMAND 0 GSTART 1 GCOMMENT 2 START TAPE 3 END TAPE 4 LOG JOB 5 NO CHARGE 6 COMMENT
In addition, there are those types of log record which are internally generated. They are:
LOG RECORD TYPE IS CALLED 7 LOGOUT 8 ABEND 9 DATE
This field also consists of just a single decimal digit. Its value is the ordinal number mod 10 within the log file of the record in which it appears. The first record in the file is considered to be number O. Thus:
The 1st record in the file has a sequence check of 0 The 9th record in the file has a sequence check of 8 The 10th record in the file has a sequence check of 9 The 11th record in the file has a sequence check of 0 The 20th record in the file has a sequence check of 9 etc.
The purpose of this field is to enable LOG ANALYZER to perform a limited check on the consistency of the log file. In particular, it will enable the detection of (a limited number of) missing or duplicated records.
This field occupies 6 character positions and encodes the time of day at which the log record was created. The field may be considered to be composed of 3 sub-fields, each of 2 decimal digits, which contain the hour, the minutes and the seconds respectively. Each sub-field is recorded without leading zero suppression.
Thus, for example, a record created at 10 minutes and 7 seconds past 10 pm will have a time field containing:
221007
Note that midnight is 000000, not 240000.
The format of the data field depends upon the type of log record in which it occurs.
(a) The data fields of record types 0 to 6 inclusive (ie those produced by the external logging function) consist of an exact copy of the parameter string supplied with the logging command which caused the record to be generated. Thus the record should refer to the descriptions of the logging commands in order to determine the structure of the data fields of these record types.
Example:
The logging command:
GSTART/NSIN23,SMI-GWRMOP,8,0,0
might cause the following log record to be generated
33 0 7 184555 NSIN23,SMI-GWRMOP,8,0,0
(Note that we have used extra spacing to separate the fields of this record. This spacing is not present in a real log record - all the fields abut one another).
We see that this record is 33 characters long, that it is a type 0 (GSTART) record and that it has a sequence check digit: of 7. It was logged at 55 seconds past 6.45 pm. By referring to the description of the GSTART command, we see that it indicates that a job with username NSIN23 and jobname SMI-GWRMOP started execution on the FR80 at that time; and that the job was produced by SMOG on the ACL 1906A. We see also that it is generating type 8 (ie hardcopy, many-up) output.
In order to describe the data fields of log records types 7, 8 and 9, it is necessary to describe the circumstances in which these records are generated.
This type of record is generated when a job LOGS OUT from SYSLOG (ie when a GEND or SABEND command is encountered). The data field of this type of record consists of two decimal number strings, separated by a comma. The first number is the number of frames of output generated by the job, while the second is the number of sub-frames generated.
An example is:
14 7 4 191024 4 11
which indicates that a job which generated 4 frames and 11 sub-frames of output logged out at 24 seconds and 10 minutes past 7 pm.
This record type may also be generated (in abnormal circumstances) by the LOG IN function of SYSLOG (ie by a GSTART command). Discussion of this point is deferred until the next section.
When a job invokes the LOG IN function of SYSLOG by issuing a GSTART command, SYSLOG first checks whether a previous job is still logged in. If it is, an error situation has developed. (This situation occurs fairly often - for instance, the operator may start a job off and then find that the camera runs out of film part way through the job. He then reloads the camera and starts the job off again - and causes SYSLOG to encounter the loading logging job for the second time).
In this circumstance, SYSLOG first prints an error message:
*** ERROR - PREVIOUS JOB DID NOT LOG OUT
and then prints the amount of time and film used since the previous job logged in. SYSLOG then asks the operator whether or not these figures should be logged.
If he replies YES, then SYSLOG issues a normal LOGOUT record (type 7) as described above. If, on the other hand, the operator says NO - do not log them, SYSLOG will issue an ABEND (type 8) record. This record has no data field and its only purpose is to tell LOG ANALYZER that the job associated with the previous GSTART record is to be ignored.
An inverse error occurs when a job attempts to LOG OUT (via GEND or SABEND) at a time when no job is currently logged in. (This situation develops when an operator skips too far down a data tape and misses a loading logging job). In this circumstance, no LOGOUT or ABEND record is written to the log file (since the file will contain no GSTART record with which to associate it), but the frame counts are printed on the operators teletype. The operator is then asked whether he wishes to log the job himself. (This question is also asked after an ABEND record has been issued). If he replies YES, then a switch is set inside SYSLOG which wil1 cause it to return to MONITOR when the GO command is encountered. (This action is necessary in order to give the operator the opportunity to type in his LOG JOB command - otherwise LOADGO would just carry on processing the tape). When this return to MONITOR occurs, the operator is invited to log the job as he requested. SYSLOG will refuse to honour a GO command in this situation until a LOG JOB (or COMMENT) command has been issued.
In this way it is hoped to enforce the logging of all jobs.
SYSLOG maintains a record of the current date. When the date changes, a type 9 (DATE) log record is written to the log file. This record is always 16 characters long and has a 6 character data field which records the day of the month, month of the year, and year of the century. Each of these sub-fields is recorded as a 2-digit decimal integer with no leading zero suppression.
Example:
16 9 0 172100 160975
This record was issued at 21 minutes past 5 pm on the 16 of September, 1975. It indicates that all subsequent data in the log file (up until the next type 9 record) was logged on that date.
A portion of an actual log file is printed below. We will discuss the information contained in these records and describe how LOG ANALYZER should process them.
1690180600170975 3301180600NSIN23,SMI-GWRMOP,8,0,0 1082180800 3303180800NSIN23,SMI-GWRMOP,8,0,0 14741809064,11 4545181128GSIN18,JMR-MOP.1810,OOOO16,4,11,HCM 4256181237NSIN23,SMI-GWRRMOP,MAKE FILM ZERO 4367181329JUST A CO{MENT FROM THEE OPERATOR
We note that there are 8 records in this example and that the sequence check field is advancing correctly from record to record. We see that, (taking each record in turn):
The log file is maintained on the FR80 disc under directory LOG and has the name LOGFIL LOGFIL. It is created by use of the program LOG;MAKE. RWW will produce documentation for this program.
The log file is a more or less normal FR80 symbolic file. However, the entire first block (the HEADER BLOCK) and 2 words of all other blocks are used for housekeeping information. This has implications for LOG ANALYZER which are classified later.
Log records are stored in character form in the log file. Two characters are packed into each word in standard FR80 format. Each record is terminated by a RETURN character (215 octal). This character always appears in the right-most byte of a word, so that every log record on the disc contains an even number of characters a blank character (240 octal) is inserted before the return character if necessary. The return character and the padding blank, if present, are not included in the length field of a log record since they will not be present when the log record reaches the 1906A.
The contents of the log file may be displayed on the FR80 monitor display, or on the teletype by using either the editor (never use the EC command on the log file), or the $SB or $S features of DISC AUDIT.
The log file is dumped onto mag tape by using the III mag tape dumper (SYS;S). It may then be transferred to the 1906A by using the FR80 facility (see RET). It can also be transferred to the PDPI5 (if this machine is working) by using MOVEIT. It can then be moved to the 1906A by using either the BSI or a modified version of LISTIT which creates 1906A filestore files (see JRG).
As mentioned earlier, the log file is not a completely standard symbolic file. When the file is transferred to the 1906A and interpreted as a character file this will have the following effects:
This situation, particularly (b), is obviously unsatisfactory. Three possible solutions come to mind.
Alternatively, (b) is probably the simplest, although (c) is the most satisfactory solution. Method (c) would not necessitate any changes to SYSLOG since this program communicates with the disc only through the use of those macros provided by the disc utilities - namely:
GETHDR, PUTHDM and WLGREC
Modification to the physical disc layout need not change the specification of these macros.
When it receives a GO command, either from the data tape, or from the FR80 operator, SYSLOG first checks to see whether it still has outstanding a request from the operator to issue a LOG JOB command. (See the discussion of the ABEND record in section 9.5 (c) for an explanation of this point). Provided that no such request is outstanding, SYSLOG backspaces the data tape by one record and then starts reading tape records in a forwards direction. The LOADGO system will interrupt this process when a filemark is detected and will pass control to another program.
The reason for backspacing the tape is to allow the FR80 operators to issue M0N;SYS type SKIP commands to SYSLOG. Ordinary FR80 programs (including SYSLOG) only cause a new program to be brought in by LOADGO when they encounter a filemark. MON;SYS works slightly differently, however, and the SKIP commands which the operators are used to using will position the tape after the filemark preceding the job which it is intended to process. This situation is handled correctly by MON;SYS, but other programs (including SYSLOG) would normally fail to detect the start of the new job. By backspacing, SYSLOG forces the filemark to be encountered during the subsequent forward read, and so solves the problem.
When a 1906A tape is positioned at load point, and SYSLOG is running, processing of the tape can be started by simply issuing a GO command. There is no need to SKIP over the 1906A header with SYSLOG. This procedure is particularly useful when dealing with tapes which have been copied using NUTS. These tapes seem to have the wrong parity filemarks, Which causes them to go undetected during a SKIP, but which are sensed correctly during a read. These tapes cannot be started off from MON;SYS using the SKIP to filemark command (SKIP/) but must be initiated using the SKIP/2 command. In contrast, SYSLOG can process these tapes correctly by simply typing GO as usual.
The new type of non-standard IBM tapes which will be generated by the 360/195 in the future can also be started from SYSLOG in this way.
Since DEBUG stops the clock, it is to the operators advantage to remain in SYSLOG as much as possible and not to return to DEBUG at the end of a tape - since this will involve them in having to re-enter the time to SYSLOG.
All the files necessary to create a new SYSLOG and a new MAKE are present on the tapes marked LOGGING SYSTEM TAPE (one is 7--track 800bpi, the other 9-track 1600bpi.
The sources for SYSLOG are in the directory JMR, and the main file is JMR;SYSLOG. To assemble a new SYSLOG, use SYS;R to WIPE the disc, then copy ALL or one or the logging system tapes onto the disc. Start the editor (E$J) and enter the main file (type ERJMR;SYSLOG). Then type EG to compile the program. This will create a binary file with the name MON;SYSLOG BINARY. (If this file is already present on the disc, it must be deleted before re-compiling as there is insufficient room on the disc).
The file JMR;SYSLOG contains the top level code for SYSLOG, and it explicitly inserts the three files:
JMR;SYSLOG SUBRS1 JMR;SYSLOG SUBRS2 JMR;SYSLOG SUBRS3
which contain the rest of the code. The file JMR;SYSLOG HACRO which contains SYSLOG's macro definitions is also inserted explicitly.
The disc file utilities written by RWW are included by inserting the file ROB;ROBLOG WLGREC, which in turn inserts various other files from directory ROB.
SYSLOG uses 7 words in the log file header block in order to record information which must be preserved from one run of the program to the next. These locations are defined in the file JMR;HDRBLK EQUIV which is inserted by ROB;ROBLOG STORE, which in turn is inserted by ROB;ROBLOG WLGREC.
The only interaction between SYSLOG and the disc file utilities are by means of the 4 macros:
GETHDR PUTHDR WLGREC FATAL
and the subroutine T.MSG8.
SYSLOG also explicitly inserts the following files from directory SYM which in turn insert many others:
III109 III166 IIll64 III163 III147 III183 IlI161 GO Ill161
The log file creation program is compiled in much the same way. Its main file is ROB;ROBLOG MS and it creates an object file called LOG;MAKE BINARY. This main file inserts various other files in ROB and SYM. (RWW will document this). It also inserts the file JMR;HDRBLK INIT which is responsible for assigning the initial values to the log file header block locations used by SYSLOG and defined in JMR;HDRBLK EQUIV.
As described earlier, SYSLOG keeps some of its private data in the log file header block. In fact 7 words of this block are used for the purpose. The location and initial values of these words are defined by the files JMR;HDRBLK EQUIV and JMR;HDRBLK INlT respectively. The names of these 7 locations are:
NEWFIL LASTT LASTD GSTIME SEQN ECHO DBUG
They are used as follows:
LASTD contains the current date, or -1 if this is unknown. The date is recorded by placing the day of the month in bits 2-6, the month of the year in bits 7-10 and the year of the century in bits 11-17 (the bits of a word are numbered 0-17 from most significant to least).
In other words,
LASTD = Year + month*128 + day*2048
so that, for example 1 April 1975 is:
75 + 4*128 + 2048 = 2635 (decimal)
LASTD is initialised to -1.
When console data switch 6 is on, SYSLOG inhibits all of its logging functions (although it will still echo commands). Operator confirmation is always requested when switch 6 is found to be on, and if refused, logging proceeds normally. The ability to inhibit the logging activity in this way should be used with great caution.
On the following pages are given:
A COMPILATION OF SYSLOG (Operator input is emphasised)
F$J MON SYSLOG$B E$J ERJMR;SYSLOG EG / SYSLOG - THE FR80 LOGGING PROGRAM ADDRESS OF END OF PROG IS 8099. CURRENT LABEL IS G00l16 ADDRESS OF END OF STRING POOL IS 15375. CURRENT LABEL IS G00117 / SYSLOG - THE FR80 LOGGING PROGRAM
A LIST OF SYSLOG'S COMMANDS
* *TIME=9:4'36.3" *FRAME=0 *GO *CONTINUE *MAKE FILM= 1 *CLEAR *ADVANCE *TAPE TYPE -2,5,8 OR 9=5 *BACK *PARITY=1 *USE=l *REWIND *SKIP *TRY AGAIN=10 *HITS-CHARS,VEC,PTS=1,1,1 *FOCUS *PULLDOWN=6 *LOAD-MONITO *ROTATION=O *GSTART *GEND *GCOMMMENT *SABEND *ECHO *DEBUG *START TAPE *END TAPE *LOG JOB *COMMENT *NO CHARGE *RESET TIME *
TAPE DIRECTORIES
18 SEP 75 VERSION S LOGGING SYSTEM - ALL SOURCES SYS;D BINARY 26(1) SYS;F BINARY 27(1) SYS;R BINARY 31(1) SYS;S BINARY 24(1) SYS;A BINARY 25(1) SYS;E BINARY 23(1) MON;SYSLOG BINARY 45(1) SYM;III109 29 SYM;III109 FR80 4 SYM;III109 CAMRA1 2 SYM;III109 CAMRA2 6 SYM;III147 9 SYM;III161 43 SYM;III161 GO 5 SYM;III166 72 SYM;III166 ADVAN 38 SYM;III166 INVAR 25 SYM;III166 SPEC 39 SYM;III166 TABLE 10 SYM;III162 13 SYM;III162 MACRO 1 SYM;III163 39 SYM;III164 24 SYM;III182 4 SYM;III183 41 SYM;III183 BUFFER 1 SYM;III188 9 SYM;III164 OCRB3 42 SYM;BINSYM 2 ROB;ROBLOG MS 15 ROB;ROBLOG T.MSG8 4 ROB;ROBLOG WLGREC 11 ROB;ROBLOG STORE 5 ROB;ROBLOG MACROS 3 ROB;ROBLOG SUBRTN 14 ROB;ROBLOG FATAL 3 ROB;ROBLOG ERRORS 3 SYM;SYSLOG 14 SYM;HDRBLK EQUIV 1 SYM;HDRBLK INIT 1 SYM;SYSLOG MACROS 6 SYM;SYSLOG SUBRS1 22 SYM;SYSLOG SUBRS3 20 SYM;SYSLOG SUBRS2 8 LOG;MAKE BINARY 22(1)
18 SEP 75 DIRECTORIES JMR AND ROB - LOG SOURCES JMR;SYSLOG 14 JMR;HDRBLK EQUIV 1 JMR;HDRBLK INIT 1 JMR;SYSLOG MACROS 6 JMR;SYSLOG SUBRS1 22 JMR;SYSLOG SUBRS3 20 JMR;SYSLOG SUBRS2 8 ROB;ROBLOG MS 15 ROB;ROBLOG T.MSG8 4 ROB;ROBLOG WLGREC 11 ROB;ROBLOG STORE 5 ROB;ROBLOG MACROS 3 ROB;ROBLOG SUBRTN 14 ROB;ROBLOG FATAL 3 ROB;ROBLOG ERRORS 3
18 SEP 75 V3.3 DISPLAYERS WITH VS LOG SYS;D BINARY 30(1) SYS;F BINARY 28(1) SYS;R BINARY 34(1) SYS;S BINARY 26(1) SYS;A BINARY 26(1) SYS;E BINARY 28(1) SYS;M BINARY 23(1) SYS;COPY BINARY 19(1) LOG;MAKE BINARY 22(1) MON;SYS BINARY 23(1) MON;SYSLOG BINARY 45(1) HF; FRFO BINARY 54(1) HF ;FRFC BINARY 54(1) RF; FRFO BINARY 57(1) RF ;FRFC BINARY 54(1) MF; FRFO BINARY 54(1) MF ;FRFC BINARY 54(1) CF; FRFO BINARY 53(1) CF ;FRFC BINARY 53(1)
FR80 ACCOUNTS FORMAT
DAY | MONTH | YEAR | COLUMN | EXAMPLE | |
---|---|---|---|---|---|
DATE | XX | XX | XX | 1-8 | 25.04.75 |
JOB NUMBER | XXXXXX | 9-14 | GSIN00 AZ05A3 |
||
START TIME | 9999 | 15-18 | 1410 | ||
JOBTIME | HRS 99 |
MINS 99 |
SEC 99 |
19-26 | 00.06.30 |
NUMBER OF SUBFRAMES | 999999 | 27-32 | 16 | ||
NUMBER OF FRAMES | 999999 | 33-38 | 4 | ||
TYPE OF OUTPUT* | 9 | 39 | 8 | ||
NUMBER OF TAPES | 99 | 40-41 | 1 | ||
NO CHARGE | 9 1 = no charge |
42 | 0 | ||
EXTERNAL PROCESSING | 9 1 = external processing |
43 | 0 |
* To be entered manually by FR80 operator
Type of Output
CL16 = 1 PR16 = 5 BW16 = 2 MFCM = 6 CL35 = 3 HCS = 7 BW35 = 4 HCM = 8