Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ OverviewPaper 1Paper 2Paper 3Paper 4Paper 5Paper 6Paper 7Paper 8Paper 9Paper 10Paper 11Paper 12Paper 13Paper 14Paper 15Paper 16Paper 17Paper 18Paper 19Paper 20Paper 21Paper 22Paper 23Paper 24Paper 25 revPaper 25Paper 26Paper 27Paper 28Paper 29Paper 30Paper 31Paper 32Paper 33Paper 34Paper 35Paper E
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureProgress ReportsTechnical Papers :: Literature: FR80 Technical Papers
ACLLiteratureProgress ReportsTechnical Papers :: Literature: FR80 Technical Papers
ACL ACD C&A INF CCD CISD Archives
Further reading

OverviewPaper 1Paper 2Paper 3Paper 4Paper 5Paper 6Paper 7Paper 8Paper 9Paper 10Paper 11Paper 12Paper 13Paper 14Paper 15Paper 16Paper 17Paper 18Paper 19Paper 20Paper 21Paper 22Paper 23Paper 24Paper 25 revPaper 25Paper 26Paper 27Paper 28Paper 29Paper 30Paper 31Paper 32Paper 33Paper 34Paper 35Paper E

Paper No 11: FRVIEW - A program for viewing FR80 tapes on the PDP15

J M Rushby

8 October 1975

1. PURPOSE

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.

2. USING FRVIEW

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.

2.1 Commands

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:

VIEW n

Enter VIEW mode and display the next n frames. See Section 2.2 for an explanation of VIEW mode.

Example: VIEW 10

SKIP n

Skip the next n frames on the tape.

Example: SKIP 4

RWND
Rewind the tape (note that the abbreviation for this command is RW).
JOB n

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

FILEMARK n

Position the tape. to just before the nth filemark on the tape.

Example: FILEMARK 1

RECORD n
Position the tape to just before the start of the nth record on the tape. (The abbreviation for this command is RE.)
POSITION
Prints the current tape position.
LOG
Controls the gathering of statistical information. Initially such gathering is turned off. The LOG command will turn it on if it was previously off and vice-versa. Then the gathering is turned off, all the data gathered is lost. The data is printed automatically when the end of the job is encountered in VIEW mode.
NOW
Causes any statistical data which has been gathered to be printed immediately. The data is lost once it is printed.
BRIGHT
Causes the display to be taken out of SYNC. This may reduce flicker and make the picture brighter if the picture is complicated. BRIGHT should not be used (or left) if the picture is simple, else the screen may be burnt.
DIM
Causes the display to be put in SYNC. This is the standard condition (except that display will come out of SYNC if the display file is filled).
QUIT
Terminates execution and returns to DOS.
2.2 VIEW Mode

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.

2.2.1 The pause level

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.

2.2.2 The message level

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.

2.2.2 The pushbuttons

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:

PUSHBUTTON 1
is used to force a PAUSE while in VIEW mode. Whenever the state of this button is changed, the PAUSE LEVEL? request will be typed and the program will wait for a response in the usual way.
PUSHBUTTON 2
is used to force an exit from VIEW mode. Viewing of the current frame will be aborted and a return to COMMAND mode will occur.
PUSHBUTTON 3
is used to restrict vector families to a maximum of 32 vectors. This saves display file space and will increase the amount of information that can be displayed.

Pushbuttons 4 to 6 control the way in which FRVIEW deals with FR80 text output orders.

PUSHBUTTON 4
causes text output to be printed on the teletype.
PUSHBUTTON 5
causes text output to be displayed on the screen. The text will be displayed at the correct starting point, but will be of a standard size and spacing. Also character rotation will not be displayed.
PUSHBUTTON 6
causes a rectangle to be drawn on the screen for every line of text output. The rectangle will indicate the correct position, size and rotation of the text output.

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.

3. NOTES CONCERNING IMPLEMENTATION OF THE FRVIEW PROGRAM

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.

APPENDIX 1 DIRECTORY LISTING OF DECTAPE 1700

  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

APPENDIX 2: LIBRARY FILE LISTING FOR .LIBR5

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

APPENDIX 3: USING CHAIN TO BUILD THE FRVIEW EXECUTE FILES

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
⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site