FRVIEW is a PDP15 program which enables the contents of an FR80 data tape to be displayed on the VT04 refreshed display. Thus the pictures contained on a tape may be examined before committing it to the FR80 for plotting. FRVIEW was originally produced as a debugging tool for the graphics packages which generate the data tapes. The facilities offered by FRVIEW reflect this origin and render it somewhat less than satisfactory as a general purpose tape viewing program. Ordinary graphics users who send their FR80 output to one of the SPOOL systems, should normally use one of the utilities associated with those systems in order to VIEW their output rather than use FRVIEW.
As well as displaying the data from a tape in graphic form, FRVIEW is also able to dump the data on to the teletype for diagnostic purposes. Statistical information on the frequency of use of each type of FR80 data order may also be collected.
The FR80 standard data format tape (7-track, 556 bpi, odd parity) to be viewed should be mounted on tape unit 1. A magnetic tape handler for this unit must be assigned to DAT slot 7 (MTA1 is the default assignment to this slot). FRVIEW reads its commands from the device associated with DAT slot 3, and prints its output on the device associated with DAT slot 4. The DECwriter (LT2) is a particularly appropriate device to assign to those slots if much printed output is expected. FRVIEW is able to accept lower case input from the DECwriter which greatly simplifies the use of this device.
The device attached to slots 3 and 4 will be referred to as the teletype throughout this document.
A handler for a directoried device containing the files FRVIEW XCT and FRVIEW XCU should be assigned to DAT slot -4. The program is then started by typing E FRVIEW to DOS. FRVIEW will then be loaded and will identify itself by typing a comment on the teletype. It will then print the characters:
READY >
The appearance of this message indicates that FRVIEW is in COMMAND mode and is waiting for a command to be typed.
All commands may be abbreviated to their shortest unambiguous substring. In most cases this is their initial letter. When the character n appears in a command description, it stands for a positive decimal integer. The commands available are as follows:
Enter VIEW mode and display the next n frames. See Section 2.2 for an explanation of VIEW mode.
Example: VIEW 10
Skip the next n frames on the tape.
Example: SKIP 4
Position the tape to just before the start of the nth job on the tape (an FR80 data tape consists of separate jobs). A program which generated output for the FR80 will, in fact, produce 3 jobs on the tape, of which the second will contain the graphics data.
Example: JOB 5
Position the tape. to just before the nth filemark on the tape.
Example: FILEMARK 1
In VIEW mode, the program proceeds to decode the FR80 orders from the data tape and to display the resulting pictures on the VT04 screen. At certain intervals, this process will be interrupted in order to allow the user to inspect the output produced so far. The frequency of those interruptions is controlled by the PAUSE LEVEL which is described later. In addition to displaying pictures on the VT04, FRVIEW may also print information on the teletype. The amount of information that is printed is controlled by the MESSAGE LEVEL, which is also described later.
The 16K raster of the FR80 is mapped onto the 1K raster of the main image area of the VT04. The limits of this area are indicated by a square which is drawn automatically. The number of the frame currently being displayed is shown on the top right hand corner of the screen.
All FR80 vector orders are reproduced on the VT04 screen. The other types of FR80 orders, which cannot be simulated directly by the VT04 are either approximated (eg dotted and dashed vectors) or ignored (eg colour orders and picture orders). The 256 intensity levels of the FR80 are mapped onto the 8 levels of the VT04. The box which surrounds the plotting area is drawn at intensity level 3 (the levels go from 0 to 7) as a reference. Character display orders are discussed in Section 2.2.3. The program returns to COMMAND mode when the requested number of frames has been viewed.
The setting of the PAUSE LEVEL determines how often the display is interrupted in VIEW mode. Such an interruption is indicated by the message:
PAUSE LEVEL?
being typed on the teletype. The user continues the viewing process by typing in a number which will be used as the new pause level. The available pause levels are as follows: (note that a pause level of n will cause all pauses associated with levels less than n to be taken also)
Pause Level | Means |
---|---|
1 | DO NOT PAUSE |
2 | PAUSE when the end of a job is reached |
3 | PAUSE after every frame |
4 | PAUSE after every filemark is read |
5 | PAUSE after every tape record is read |
6 | PAUSE after every non-vector FR80 order |
7 | PAUSE after every FR80 order |
If the user types 0 (or just hits return) in response to a pause level request, viewing will proceed with the previously established pause level. A pause level of 3 is the initial condition.
If the user types anything other than 0 (or return) in response to a pause level request, it will receive the following request:
MESSAGE LEVEL?
He should respond with a number which will become the new message level. The message level determines the amount of information that is printed on the teletype during the viewing process.
The available levels are given below. Note that a message level of n will also cause all the information associated with message levels less than n to be printed.
Message Level | Information Printed |
---|---|
1 | errors only |
2 | the FR80 program name is printed at the start of each job |
3 | the FR80 monitor commands are printed at the start of each job |
4 | all FR80 non-vector orders are printed in decoded form |
5 | all FR80 vector orders are printed, together with the final beam position |
6 | the record number is printed each time a new record is read from tape |
7 | all words read from tape are printed in octal. |
A message level of 0 is taken to mean assign to the message level the same number as the current pause level. The default message level is 3. Note that a response of 0 to a pause level request causes the message level to remain unchanged and suppresses the message level request.
The six pushbuttons that appear below the VT04 screen are regularly interrogated by FRVIEW and are used to control certain functions. A pushbutton is on if it is lit up, off otherwise. The pushbuttons are numbered 1 to 6 from left to right. The actions associated with the pushbuttons are enabled if the corresponding pushbutton is on. The pushbuttons have the following actions:
Pushbuttons 4 to 6 control the way in which FRVIEW deals with FR80 text output orders.
Note that pushbuttons 4 to 6 may be used in any combination. A warning message will be printed if both pushbuttons 4 and 5 are off when the first text output is encountered.
DECtape 1700 contains all the source and binary files recorded by FRVIEW. The file LIST SRC contains a list of all the source files and may be used as input to LISTIT in order to obtain a complete listing of the program. (Several of the files are concerned with an abortive attempt to create a Tektronix version of FRVIEW). The files FRVIEW XCT and FRVIEW XCU are created using CHAIN.
There is a HELP command which, if fully implemented, would type instructions to the user. In the current implementation of FRVIEW, HELP reads a file VHELP SRC from slot 20; in order to make the HELP command useful. Something should be typed into VHELP. The MOVEIT help file (MHELP SRC on DECtape 1704) could serve as a model.
01-OCT-75 DIRECTORY LISTING 272 FREE BLOCKS 64 USER FILES 10 SYSTEM BLKS MTINIT SRC 124 1 FRVIEW XCU 22 117 DRAWVF SRC 150 2 RELVEC SRC 4 1 CHECK SRC 5 1 RWND SRC 57 1 MAIN BIN 203 6 INITTK BIN 1 2 TGRAP SRC 13 1 TKGRAP SRC 37 24 INITVT BIN 7 2 DCHAR SRC 66 2 VTERR SRC 40 1 VECFAM SRC 25 1 LINE SRC 12 1 FRVIEW XCT 15 1 SETPT SRC 225 1 READCS BIN 130 1 TTIO SRC 117 26 SYMB SRC 42 1 PDPCHS SRC 43 6 NXTWRD SRC 113 10 QUIT SRC 33 1 LIST SRC 45 1 SKIP SRC 151 1 GETPM SRC 47 3 VECTOR SRC 64 6 GETNUM SRC 142 1 .LIBR5 BIN 11 106 VIEW SRC 112 24 VTERR BIN 14 1 .LIBRT BIN 111 6 RDLINE SRC 223 3 VHELP SRC 241 1 UNPK57 SRC 242 1 HELP SRC 246 1 IODEV SRC 247 1 MAIN SRC 35 4 WVEC SRC 17 3 READDS BIN 6 1 POSN SRC 24 1 FMARKS SRC 116 4 INITTK SRC 143 2 SON SRC 162 1 INITVT SRC 20 2 READAS SRC 21 1 READDS SRC 31 1 READCS SRC 147 1 TKVIEW XCU 16 114 TKVIEW XCT 10 1 LOGON SRC 106 1 PLOG SRC 2 5
PROGRAM SOURCE PROGRAM ACTION NAME EXTENSION SIZE LOGON 57 SON 23 IODEV SRC 2 FMARKS 435 POSN 153 RWND 32 MTINIT 66 BVIEW 4277 NXTWRD 1444 VECTOR 1202 PLOG 1565 WVEC 542 RELVEC 37 VECFAM 140 DRAWVF 455 CHECK 61 GETPM 352 DCHAR 203 QUIT 10 SKIP 107 GETNUM 151 READAS SRC 3 TTIO SRC 641 PDPCHS SRC 112 HELP 365 UNPK57 71 RDLINE SRC 65 JMPDEF 126 NEWJMP 211 JUMP 22 ADPUT SRC 11 ERRMES 44 YYCARG 64 C
A DK -5 SCHAIN CHAIN V7A NAME XCT FILE >FRVIEW LIST OPTIONS & PARAMETERS >VTC/DISP/ DEFINE RESIDENT CODE >MAIN,VTERR,INITVT,READDS DESCRIBE LINKS & STRUCTURE > MAIN 76514-77636 VTERR 76406-76513 INITVT 76210-76405 READDS 76072-76207 LOGON 76013-76071 SON 75770-76012 IODEV 75766-75767 FMARKS 75331-75765 POSN 75156-75330 RWND 75124-75155 MTINIT 75036-75123 VIEW 70537-75035 NXTWRD 66334-67777 VECTOR 65132-66333 PLOG 63345-65131 WVEC 62603-63344 RELVEC 70500-70536 VECFAM 70340-70477 DRAWVF 62126-62602 CHECK 70257-70337 GETPM 61554-62125 DCHAR 70054-70256 QUIT 70044-70053 SKIP 61445-61553 GETNUM 61274-61444 TTIO 60433-61273 PDPCHS 60321-60432 HELP 57413-57777 UNPK57 60230-60320 RDLINE 60143-60227 JMPDEF 57265-57412 NEWJMP 57054-57264 JUMP 70022-70043 ADPUT 60132-60142 ERRMES 60066-60131 YYCARG 56770-57053 FOG 54734-56767 MAGTAP 54343-54733 MVC 54205-54342 LTORPB 54075-54204 EDCODE 53622-54074 FILE 53234-53621 SQRT 53141-53233 .DA 53063-53140 BCDIO 43755-47777 GOTO 60040-60065 STOP 53002-53062 SPMSG 52663-53001 .FLTB 52375-52662 FIOPS 51424-52374 PARTWD 51264-51423 DBLINT 50665-51263 INTEAE 50534-50664 RELEAE 42656-43754 OTSER 50324-50533 .CB 50302-50323 CMND 60014-60037 LOGCON 70021-70221 SYNC 70020-70020 TERMIN 70017-70017 PCOM 70016-70016 MSG 70005-70015 VECCOM 70000-70004 DISP 26170-37777 MTCOM 41647-42655 FCNT 60012-60013 LOG 50165-50301 VLIMIT 60011-60011 VFCOM 50151-50164 CHARS 50135-50150 SUBTAB 50016-50134 CHBUF 41605-41646 CONERR 60010-60010 CORE REQ'D 26170-77636