VIEW$ is a program designed to read data in FR80 standard data format from disc (or tape) files on the 360/195 and produce graphics files in ELECTRIC suitable for viewing on any MUGWUMP-supported device (eg Tektronix 4002 or 4010 or the Computek 400). For users without access to one of these devices, a version called LPGVIEW$ exists that gives a crude indication of the graphical output on the lineprinter. By default, VIEW$ expects the data to have been generated by the SMOG graphics package, but other data may also be examined as long as the following conventions are observed.
Users should note that hardware characters are always output by VIEW$ and as such may not be of the size produced on the FR80 plotter. Character positions are also only approximate.
The JCL required is illustrated by the following examples:
(1) //EXEC JOBLIB,LIBRARY='SYS1.SMOG',MEMBER=VIEW$, //REGION=80K,PARH.G='P=1' //G.FT14F00l DD DSN=MYFILE,VOL=REF=ATLAS,DISP=SHR //G.MUGWUMP2 DD DSN=MUGWUMP2,DISP=SHR
The FR80 data resides on the data-set MYFILE. Symbolic printing of the FR80 orders is requested by setting P=1 in the PARM field. The interpreted pictures are sent to the graphics filestore using MUGWUMP.
(2) //EXEC JOBLIB,LIBRARY='SYS1.SMOG',MEMBER=LPGVIEW$,REGION=80K //G.FT14F001 DD DSN=MYFILE,VOL=REP=ATLAS,DISP=SHR //G.FT10F001 DD SYSOUT=A
As in example (1), the FR80 data resides on the dataset MYFILE. The interpreted pictures are sent to the lineprinter (attached to FT16F001) as the program LPGVIEW$ has been requested on the JOBLIB card.
In order to control the amount of information. put out, the user may specify some, all or none of the following entries in the PARM.G field of the JOBLIB card:
P=0 no symbolic printing of the vector orders P=1 requests symbolic printing of vector orders - see below S=n n is the starting frame number for pictures to be sent to the graphics filestore E=m m is the number of the last frame to be sent to the graphics filestore I=l l is the increment used to compute the next frame to be sent to the graphics filestore R=0 no reporting of plotting activity during drawing R=1 report non-vector activity during drawing - see below
Each entry should be separated from the next by a comma and the whole placed between single quote marks.
eg (a) PARM.G='P=1, S=-100,E=300,I=10,R=1' (b) PARM.G='S=3,R=1' (c) PAHM.G='R=1'
Default settings are: P=0,S=1,E=1000000,I=1,R=0
A certain amount of lineprinter monitoring is always produced, even when P=0 (see above). This includes colour and intensity settings, advance frames, etc. These messages should be self-explanatory.
When P=1, a symbolic listing of each vector order is also produced, together with the numerical argument for that order. The format is (Z6,A3,I5) for IORD,NAM,IARG where:
IORD is the hexadecimal representation of the FR80 order code IARG is the decimal value of the argument. NAM is a 3-character string from the following: AMH - absolute move horizontal AMV - absolute move vertical RMH - relative move horizontal RMV - relative move vertical ADHN - absolute draw horizontal, no move ADVN - absolute draw vertical, no move C - "continuation" ADH - absolute draw horizontal ADV - absolute draw vertical RDH - relative draw horizontal RDV - relative draw vertical
For movement or drawing in two dimensions simultaneously, the relevant horizontal order is followed on the same line by the "continuation" and the value of the vertical displacement. For further details, the user is referred to Appendix 4 of the SMOG manual and (if necessary) the III publication "COMP80/FR80 Users Manual".
If R=1 is specified in the PARM string, any FR80 order that cannot be rendered visually on the MUGWUMP-supported device or has required considerable (not necessarily accurate) interpretation is "reported" (as it is encountered) in the right hand margin of the screen. This option is best suited to a moderately slow graphical device (eg Tektronix 4010) since the reporting takes place in the vector sequence at the point the reported order was generated. Reporting in a given frame is automatically switched off when the right-hand margin is full. The following is a list of the report messages:
ADV=j request j frame advances SCS=j set character spacing to j FR80 raster points SCH=j set character height to j FR80 raster points SLS=j set text line spacing to j FR80 raster points SCR=j set character rotation to j*(0.25π) SI =j set intensity to j units VFAM=j vector family plotted of j-1 interpolated lines COLR select colour: C jY kM lP m C = cyan, j overstrikes Y = yellow, k overstrikes M = magenta, l overstrikes P = cyan, m overstrikes GLO xxxx j set Grey level option, intensity j xxxx = CLEA, clear filter YELL, yellow filter MAGN, magenta filter CYAN, cyan filter PIC xxx y=j FR80 stored picture option picture number j y = P, permanent picture = N, non-permanent picture xxx = DEF, start picture definition = END DEF, end definition = DRA, draw picture = DEL, delete picture CHAR Flag to remind user that SIZE/rotation/position of characters is only approximately rendered. Also serves to mark the beginning of output of each contiguous character string),
If an FR80 "end job" order is successfully encountered, the final frame contains the following summary information:
UNRC j no of orders unrecognised by VIEW$ - not necessarily unrecognised by the FR80 MVCS j no of multiple vector continue orders NFRM j no of frames