i,, an ifage. .iji aeronautical unclassified f/0 …the satellite that is used by c.e.g is a...

35
AD-At53 S43 P1001*8 DIMAS - A COMIPUTER PROGAN TO OBTAIN HARD-COPY i,, PLOTS OF AN IfAGE. .IJI AERONAUTICAL RIESEARCH LAOS ELOURNE (AUSTRALIAP 1 SATEUAN JlAN IS ARL/STS-IU-?6 UNCLASSIFIED F/0 9/2 Nt U U EEonsEoEu

Upload: others

Post on 17-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

AD-At53 S43 P1001*8 DIMAS - A COMIPUTER PROGAN TO OBTAIN HARD-COPY i,,PLOTS OF AN IfAGE. .IJI AERONAUTICAL RIESEARCH LAOSELOURNE (AUSTRALIAP 1 SATEUAN JlAN IS ARL/STS-IU-?6

UNCLASSIFIED F/0 9/2 Nt

U U EEonsEoEu

Page 2: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

Lin' 1.0.2W36

1111 t- o .2.0

11125 W4 .

MICROCOPY RESOLUTM -EST CHARTNAl"OAL BURfAAU IF STANDAS 1%3 A

to

Page 3: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

UNCLASSIFIED

ARL-SYS-TK- 76 Alk-OO3-98

(v)

CD

DEPARTMENT OF DEFENCE

V- DEFENCE SCIENCE AND TECHNOLOGY ORGANISATION

AERONAUTICAL RESEARCH LABORATORIES

MELBOURNE, VICTORIA

Systems Technical *meorasdun 76

PROGRAM DISAS - A COMUTER PRO1MM TO OBTAIN

HUD-COPY PLOTS OF AN IMAG DISPLAYED ON A

VECTOR GRAPHICS DEVICE IN A LOCAL-ARNA-NITNOU

by STATES I

TtK - OTO**o-o @EP%%E

IS AUTOiM-D TO

It. BATWNA IF~pRMXE A M LL TV"S Re"OI

'N

8LAJ Approved for Public Roleae

,...

A

... • (C3 X4OuI"aTH OF MISTlALIA Ins

UNCASIF D 1ima= ins

UNCLASSIFIEDas os286

Page 4: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

.4

AR-003-989

DEPARTMENT OF DEFENCE

DEFENCE SCIENCE AND TECHNOLOGY ORGANISATION

AERONAUTICAL RESEARCH LABORATORIES

Systems Technical Memorandum 76

PROGRAM DIAS - A COMPUTER PROGRAM TO OBTAIN HARD-COPYPLOTS OF AN IMAGE DISPLAYED ON A VECTOR GRAPHICS

DEVICE IN A LOCAL-AREA-NETWORK

by

R. BATEMAN

SUMMARY

Program DISAS is a program which supports thecomputer graphics facilities of Combat EffectivenessGroup at ARL. It operates _n a local-area-networkincorporating a network of PDPI1 minicomputers, aSanders Graphic-7 vector graphics device and a Versatecelectrostatic printer/plotter.

Program DISAS produces hard-copy plots on theVersatec printer/plotter of a selected image displayedon the screen of the SANDERS Graphic-7 vector graphicsdevice.

A listing of the program can be obtained fromthe Principal Officer of Combat Effectiveness Group.'

Q COMONWEALTH OF AUSTRALIA 1985

POSTAL ADDRESS: Director, Aeronautical Research Laboratories,P.O. Box 4331, Melbourne, Victoria, 3001, Australia.

e. ..... _"_"___.____,"__________

-__

'______•__-__-_... .. _""-______:___'r___"

-, ...

Page 5: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

Contents-o -..... Page No.

1. - Introduction .. .. .. .. . .. I

2. - User's Guide ..... ........... 2

3. - Program Description and Design .... ......... 6

3.1- Phase I ..... ........... 6

3.2 - Phase 2 .... ........... 10

4. - File Formats .... ........... 12

4.1 - Input file of Graphic-7 machine instruction . . 12

4.2 - PASS1.DAT - The generated file of Graphic-7 . . . 12assembly instructions.

4.3 - PASS2.DAT - The resultant Fortran program . . . 12utilizing Versatec-V80 plottingprimitives.

5. - Subroutine Description .... ........... 16

References .... ........... 26

Distribution

Document Data Sheet

SFor

7-

OT Ici v

.°P

Page 6: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

1. INTRODUCTION

The program DISAS is one of the programs written to support thecomputer graphics facilities of Combat Effectiveness Group (C.E.G) atthe Aeronautical Research Laboratories.

The system upon which this program operates is a local-area-network running under the STAR-il operating system. It incorporatesa PDP11/35 minicomputer as host and a number of micro-computers assatellites. The satellite that is used by C.E.G is a PDP11/23 runningunder the RT-l1 operating system. It in turn acts as host to a SANDERSGraphic-7 vector graphics device whose processor emulates theinstruction set of a PDPI1/34 minicomputer. Reference I describes thefunction of the Graphic-7 processor including its programming, datacommunication and image generation. Reference 2 describes the use ofthe graphic-7 coordinate converter. The supported hard-copy facilityis a Versatec electrostatic printer/plotter Model V80 which runs undercontrol of the PDPll/35 host computer in stand-alone mode.

The software package which controls the display of images on theGraphic-7 screen is called Fortran Support Package(FSP)* and resideson the PDP/I1 microcomputer. The purpose of this package is toconvert the image processing instructions from the user's program intographics instructions which are recognized by the Graphic-7 graphicsprocessor. It then prepares these instructions for transmision to thegraphics processor. Reference 3 describes the use of the FortranSupport Package.

The Versatec V80 plotting software package is called Versaplot +and also exists on the PDPll/23. Reference 4 is the user's manual forthis software package.

The purpose of the program DISAS is to obtain a hard-copy plot onthe Versatec printer/plotter of the image displayed on the Graphic-7screen. The set of Graphic-7 instructions that generated the displayedimage from which the hard-copy plot is to be developed must have beendumped from Graphic-7 memory. This is the input file to the programDISAS and exists on a PDPll/23 disk file with a user-selected name.

* Fortran Support Package (FSP) is proprietary to Sanders Associates Inc.+ Versaplot is proprietary to VERSATEC Inc.

Page 7: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

|II

2. Program DISAS User's Guide

The program DISAS is comprised of the two source modulesDISASI.FOR and DISAS2.MAC. DISAS1.FOR includes the bulk of the programand is written in Fortran while DISAS2.MAC includes the subroutine toidentify an instruction word and is written in the assembly languageMACRO-11.

To produce the executable file DISAS.EXE follow the compile andlink procedure shown in Fig 2.1. Then to run the program type to themonitor prompt RUN DISAS.EXE

The input file to this program consists of machine-codeinstructions which have been dumped to the PDPl1/23 from the Graphic-7memory. One source of instigation of this dump is from the selectionof the appropriate option to the main menu in program COMBAT. For acomplete discussion on this aspect see Reference 5. Section 4.1 givesa description of the format of this input data file.

When DISAS is run, the user is prompted for the filename of theinput file. This is the only user-interaction required during one runof DISAS.

The assembly language program PASSI .DAT and the Fortran programPASS2.DAT are produced by DISAS. PASSI.DAT is produced by the firstphase of the program and is used as input to the second phase whichproduces the file PASS2.DAT. PASS2.DAT is a Fortran program whichincorporates the Versatec plotting commands to produce the hard-copyplot of the required image. It is compiled, linked and run as shown inFig 2.2.

The files produced by PASS2 are VECTRI.BIN and PARM.BIN. Thesefiles are used as input to the program RASH which is the plottingcontrol program supplied with the Versaplot software package. Anexample of the process to obtain a hard-copy plot using program RASMis shown in Fig 2.3, and an example of the output produced by thisprocess is shown in Fig 2.4.

.FORTRAN DISASI

.MACRO DISAS2

.LINK/EXE:DISAS.EXE DISAS1,DISAS2

Fig 2.1 The compile and link procedure to build theexecutable file DISAS.EXE

Page 8: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

I

3i

.ASS LA: VPO:

.ASS LA: LP:

.ASS LA: 6

.FORT PASS2.DAT

.LINK/EXE:VPO VPO(PASS2,MAPPEDPEPLIB)

.RUN PASS2

- where LA is the logical area of the PDP11/23 disk wherethe appropriate files exist.

Fig 2.2 The compile,link and run sequence of theprogram PASS2.DAT

Step 1. Copy the plot files, VECTR1.BIN and PARH.BIN, to a floppy diskwhich has the plotting control program RASH on it by followingthe sequence:

.COPY PARH.BIN,VECTRl.BIN DLO:

. <BREAK>@173000G

.COPY PARM.BIN,VECTR1.BIN FDD:

- where FDD is the floppy disk drive chosen

Step 2. Unload the foreground of the STAR-I network by following thesequence:

.EXIT^F

^CA1C

UNLOAD F.ASS FDD: VPO:.RUN VPO:RASH

- where the .... symbol represents the control key of thekeyboard. The required sequence is obtained by holdingthe control key down while pressing the associated key

Fig 2.3 The sequence to produce a hard copy plot once theplot files are produced on the PDPII/23.

iA

Page 9: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

F:I: L03. MV!0. 8 N T I T-E: MIPF" 3 v '*3 DWE: 3~~V

GRID INTUA: 0.31 UNITS CENW itTITU[I- 0. 70 UK TS

SCALE: ct.I1E( FEET PER L.ENGTH UNIT Ft -8. 0 LHI Is

EL.EIATWCIN 5.0 DEREES

Fig. 2.4(a) Example output by DISAS

Page 10: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

FILE; 03:4YmiG2. BIN TITLE: M:;VU 3 V M3 CIIE :-EP

OnI ImrtEV.: 0.1) WITS PS 9E4 FRP CU I

Fig. 2.4(b) Example output by DISAS

Page 11: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

3. PROGRAM DESCRIPTION and DESIGN

There are two phases to the program DISAS. The first phaseproduces an assembly language program from the input file of Graphic-7machine code instructions and produces the file named PASSI .DAT.The second phase uses PASSI.DAT as input and translates the assemblyinstructions into a Fortran program which utilizes the Versatecplotting primitives. Fig. 3.1 shows an hierarchical structure chart ofthe program.

There are nineteen Graphic-7 control and display instructionsaccourted for in program DISAS. Fig 3.2 lists and describes the formatof these instructions.

3.1 Phase 1

The user enters the filename of the file of Graphic-7 machineinstructions in reply to a prompt. Section 4.1 describes the format ofthis file. The program reads through the data file and produces anarray of Graphic-7 source picture numbers and their start addresses.When this is completed the data file is rewound back to its start.Fig 3.3 shows this process.

The input file is then re-read, one line of 10 words at a timeuntil a block of 100 words is read or the end-of-picture is detected.Each word of this block is identified and its op-code and argument/sare disissembled and output to the file PASSi.DAT as appropriate. Thestart of each picture is recognized and a label is written to the filePASSi.DAT. If the word was recocmized as a CALL SUBROUTINE instructionthen the next word is the start address of the destination picture. Asearch is made through the array of picture numbers and startaddresses for a match for this address. The associated picture numberis the destination picture. Fig 3.4 gives a description of thissequence.

__ a

Page 12: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

C)

414

E--4 U

uU

a4U

'-4

70

Page 13: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

CALL0100 010 000 lxxxxxx CallSubroutine

Subroutine Address

RTRN 0 0 0 010 1 00 1 x x x x Return

J)PR/NOOP 0 0 0 0 1 0 1 1± Jump amount Jump Relative/ No Op

LDDZ 0 0 0 1 0 11 Bits Data Load Z-axis Register

LDDP 0 0 0 1 1 11 Bits Data Load Display Param. Register

LDXA 0 0 0 ± X coordinate Load X absolute

LDXR 0 0 1 0 1 ± X increment Load DX relative

DRXA 00110 X coordinate Draw X absolute

DRXR 0'0 1 1 1 - X increment Draw DX relative

DRYA 0 1 0 0 0 Y coordinate Draw Y absolute

DRYR 0 1 0 0 1 ± Y increment Draw DY relative

MVXA 0 1 0 10 ± X coordinate Hove X absolute

MM- 0 1 0 1 11± X increment Move DX relative

MVYA 0 1 00 Y coordinate Move Y absolute

-VYR 0 1 1 0 1 Y increment Move DY relative

PPLR 1 1± 5 Bits Y 0 I Bits X Point Plot relative

LDTI 1 1 0 010 0 010 0 1 Increment Load Text Increment register

TEXT 1 2nd ASCII 1 1st ASCII Draw two text characters

CHAR 1 0 0 I1 1 B 1 1 ASCII char Draw single text character

Fig. 3.2 Graphic-7 control and display instructions

incorporated in DISAS

Page 14: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

DO UNTIL END-OF-FILEREAD PICTURE NUMBER AND ITS START ADDRESSLOAD THESE VALUES INTO ARRAY

DO UNTIL END-OF-PICTURESKIP OVER LINES OF DATA

END DO

END DOREWIND FILE BACK TO START

Fig 3.3 Pseudo code of operation to build up array ofpicture numbers and start addresses.

DO UNTIL END-OF-FILE

READ picture number and Write this label to PASSI.DAT

DO UNTIL END-OF-P ICTURE

DO UNTIL 100 words read in or END-OF-PICTUREREAD line of 10 words and append to ARRAY(I)SEARCH through these 10 words for RETURN instructionIF FOUND THEN END-OF-PICTURE

END DO

DO FOR ALL words in this blockIDENTIFY its op-codeDISSASSEMBLE arguments as appropriateOUTPUT dissassembled instruction to PASSI .DAT

END DO

END DO

END DO

CLOSE INPUT FILE

Fig 3.4 Pseudo code for dissassembler process of phase 1

t * t.

Page 15: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

10

3.2 Phase 2

The file of assembled instructions, PASSI.DAT is reopened asREADONLY.

The first action of Phase 2 is to write Fortran code to the MAINsection of PASS2.DAT which will initialize the Versatec plotter andenable an eight inch box to be drawn on the hard copy plot torepresent the Graphic-7 screen. Then Fortran code to call Picture Iis written to the MAIN section because all Graphic-7 control by FSP isdetermined from Picture 1.

Three small Fortran subroutines are written to PASS2.DAT toenable relative move and draw instructions and symbols to be plotted.These are called VRELM, VRELD and VSYMB respectively. See Fig 3.5 fora listing of these subroutines.

This second phase reads each line of the file in turn,identifying the op-code and isolating the argument/s as appropriate.Some instructions require that the succeeding line be processed inorder to complete the dissassembly process. The assembly instructionis dissassembled into an equivalent Fortran-compatible Versatecplotting command and then output to the file PASS2.DAT. PASS2.DAT isin the format of a Fortran program. Fig 3.6 shows the sequence ofphase 2 of the dissassembler process.

SUBROUTINE VRELM( IXREL. IYREL)CALL WHERE(XNOW, YNOW, DFACT)TOX=XNOW+ ((FLOAT(I XREL)/1023.0)*8.0)TOY=YNOW+ ((FLOAT(IYREL)/1023.0)*8.0)CALL PLOT(TOX,TOY,3)RETURNEND

SUBROUTINE VRELD( IXREL,IYREL)CALL WHERE(XNOW,YNOWDFACT)TOX=XNOW+ ((FLOAT(lXREL)/1023.0)*8.0)TOY=YNOW+ ((FLOAT(IYREL)/1023.0)*8.0)CALL PLOT(TOX,TOY,2)RETURNEND

Fig 3.5 a. Listing of the subroutines VRELM and VRELD

Page 16: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

SUBROUTINE VSYMB(HT,ITEXTROT,NC)CALL WHERE( XPOS, YPOS, DFACT)CALL SYMBOL(XPOS,YPOS,HTITEXT,ROT,NC)IF(ROT.CT.80.O)YPOS=YPOS+(HT*0.8)IF(ROT.LT. 10.0)XPOS=XPOS+(HT*0.8)CALL PLOT(XPOS,YPOS,3)RETURNEND

Fig 3.5 b. Listing of the subroutine VSYMB

WRITE Fortran code to draw boxWRITE Fortran code to initialize Versatec plotterWRITE Fortran subroutines to enable move and draw instructions

and symbol plotting

DO UNTIL END-OF-FILE

DO UNTIL complete Versatec comand built upREAD line of assembly code from PASSI.DATIDENTIFY this op-codeEXTRACT argument/s as appropriateBUILD UP Versatec plot command

END DO

WRITE Versatec plot command to PASS2.DAT

END DO

Fig 3.6 Pseudocode describing the second phaseof the dissassembler

Page 17: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

12

4. FILE FORMATS

There are two files produced by DISAS and one file required asinput. The produced files are called PASS1.DAT and PASS2.DAT while theinput file name is user defined.

4.1 Input File

This file consists of the dump of the instructions from theGraphic-7 memory which generated the image seen on the Graphic-7screen at the selected time.

The file is organized into segments where each segment representsone Fortran Support Package picture. The picture number and its startaddress are included at the start of the segment as a title line.

The data within each segment is in the format of 10 octal wordsper line with the RTRN instruction (octal 2300) being the final wordin the segment. Fig 4.1 is an example of the input file.

4.2 PASSI.DAT

PASS1.DAT is the file produced by the first phase of DISAS. It isin the format of a Graphic-7 assembly language program, it has labelsrepresenting picture or subroutine start locations and instructionsconsisting of a four-character op-code and octal argument/s asapplicable. Fig 4.2 shcws an example of such a file.

4.3 PASS2.DAT

This is the resultant Fortran program which will generate thehard-copy plots on the Versatec plotter. It contains the subroutinesVRELM and VRELD which allow the utilizaton of relative move and drawinstructions and the subroutine VSYMB to allow character symbols to bedrawn on the Versatec plotter.

The Graphic-7 instructions are now represented by Fortranstatements utilizing the equivalent Versaplot plotting primitives.Fig 4.3 shows an example segment of the file PASS2.DAT.

Page 18: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

Plcture 1 - Start address 3258162 8 1377 2:00 40770 2100 4408 2108 4715 218N 666:2110 7175 2151 16375 211 21315 21 218 235792100 2418 2190 24410 2300

Picture 2 - Start address 48782300 60726 20777 45726 14011 148117 23821 68745 164 76 162754120272 23526 65740 164'24 166364 135345 20423 65740 16 74 :6

2 7 6 4

125272 2055 60'40 130261 151655 15535 134255 105264 20008 650514009 23008 63266 20777 43266 23410 63266 23470 43216 2380043216 14011 14:17 2314 63235 166303 161757 135353 23312 632J5

162763 167743 162356 120363 2B454 63265 25454 4390 .20620 6300025620 43266 255a0 63235 152703 121645 120261 25644 63135 :52703121645 125262 2300

PIcture 3 - Start address 44014911 14011? 23:41 60740 142314 135263 153315 135715 131260 !41256

147 311 23665 60740 164715 160762 162747 131648 173245 146640 120263120240 155248 108266 14010 140112 23265 63115 162746 172345 170240171345 166240 167345 172347 125350 167365 172351 23122 63115 127268138261 125705 132660 230

Picture 4 - Start address 471014511 140117 23754 63235 162722 167755 162764 173245 162751 170367

164757 172356 14010 140112 23716 63153 162703 172356 162762 160640172354 172351 162365 135345 20276 63153 167365 172351 120363 2371663115 160722 163756 135345 20276 63115 167365 172351 120363 237166357 175381 166751 172365 135355 28276 63557 162744 171347 162745120363 23716 63021 166305 173345 172341 167751 135356 25276 63021162744 171347 162745 120363 210 5220 239

Picture 5 - Start address 522814a15 145112 20202 63153 135245 133656 18268 29252 63115 125248

127270 100262 20252 63U57 128240 127268 190269 2222 63021 12 248127260 10268 2305

Picture 6 - Start address 553514011 140117 23716 63235 164720 167754 120364 164766 173745 167769

167351 120364 14010 145112 23716 63153 171711 171640 162745 120356171346 166757 141645 120325 120243 23716 63115 162723 164755 1662551l2341 171345 166341 143Z40 153317 120272 20276 63115 162744 171347162745 120363 2 0 6048 2100 6355 2350

Picture 7 - Start address 6040

Pict.,re 3 - Start iddress 635121,300 60311 2061 40144 2800 63634 20j00 43470 23470 6180823634 42108 20 44 6050 25318 4520 230

Picture 9 - Start address 666814310 152:12 23521 63153 171367 162351 164640 172356 171345 160766

135354 23374 63:53 167365 172351 128363 232087 63115 161723 166341135345 2303

Picture 1 - Start address 717014010 143112 2I50 63153 130248 131656 105260 2300

Fig. 4.1 Example of the input file to DISAS

13

Page 19: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

P ICI LOxA 16466

LOP 176 13 A 1 6643

L05Z 11.6 EAT 163.145CALL P Cz TEXT 143.157CALL PIC3 TEXT 156,144

CAL PIC4 TEXT 163. 4a

CALL P :9 LOXA 454

C'.LL PICId "VA 176511

CALL P-I2 L.OA 454CALL PICI CRYA 17'880CALL PiC17 LOXA 6.1

CALL PIC18 MVYA 17780

CALL Pi19 LOXA 620

CAIL P1:2 CBRYA 176512

RTN LOXA 580

PIC2? WVYA 176543

L<A 17'816 TEXT 103. I'5

Mv A 724 TEXT 48. 43

LD A 77' TEXT 61. 45ORvA 726 LOAA 644L 0P MVYA 176543

LOTI 177717 TF<T 103.115

LO<A 176757 TEXT 45. 43

MVVA 740 TEXT 62, 4l

TE<T 106.1t1 RTRN

TEXT 154.145 PIC3:

TEXT 72. 48 LOOP 11

LOXA 1762SZ LDTI 177717

MVVA 740 LOXA 176637

TEXT 124.151 MVYA 74U

TEXT 164.154 TEXT 114.194

TEXT 145. 72 TEXT 63. 72

LD4A 423 TEXT 115.IZ6

MVeA 740 TEXT 115. 61

TEXT 184.141 TEXT 68. 62

TEAT 164.145 TEXT 56.102

TE4T 72. 46 TEXT 111.116

LOXA 551 LOXA 176113MVeA 749 MVYA 740

TEXT 61, 68 TEXT 115.I ]

TEXT 55,123 TEXT 16Z.141TEXT 185,129 TEXT 117.145

TEXT 55, 75 TEXT 48. 63

TE4T 64. 8 TExT 48.166

LOAA 8 TEXT 40.115

MVIA 6 TEXT 63. 45

LDXA 1'7886 TEXT 40. 45

MV YA 176512 TEXT 4 . a

LOXA 777 TEXT 6. 0DRAA 176512 LOOP 14

LOAA 176310 LDTI 17771Z

MVVA 176512 LOXA 176512

LOXA 176310 Vv1A 1T6663

ORYA 1l6562 TEXT 146.145

LOA 17788 TE4T 145.164

ORIA 176562 TEXT 40,161

LOOP 11 TEXT 145.162

LOTI 177717 TEXT 48.1%4

LOXA 1'6764 TEXT 145.156

MVYA 176S43 TEXT 147.164

TEXT 183.154 TEXT 158. 46TEXT 167.143 TEAT 165.1%6

TEXT 153, 2 'E T 161 . l64L4A 176656

MVVA 176663TEXT 66. 56TEAT 61. 66TEXT 16S, S3TEXT 68. 65A TRN

Fig. 4.2 Example of the file PASSI.DA,

14I

Page 20: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

P8)GRA4 PASS' CALL VSY4!'5.).rr. .01

A.-L PiLor ss,o 0) CALL TPLOT'3 1.5 6. 1.2 3CA.L PLOT)B.i.L.-3) 176,1 *;M8OO8I T 83.1

CALL PLOT0.8.1T 0.9.1)CALL LLT554

03 1764169

CA..L ~ ~ ~ ~ CL POf...9) sVM8).0 .TEXT. 00)

C.L PLOT(85852CLCAL '78D0i. ALL VSVM'058 T1EXT. 051CALL PLOT)8.0.u4.; X ITA * 7CALL PICI CALL VS;YMS)58.q1IExT. 0.0.1)CALL PLOC)0.I..0.999) 11647 - 78

SAT JN)'MOJYCWPAT CALL V(v48'5.08.1TExT. 6.8.1)

S ,Qc;rIN VRtW < 0EL YAELCALL VS048.8. 1764. 0.01)

-aL P L 0T ox .TOY .3 CA.L VSY48:0.10.ITExT, O.B. ICALL PLOT) 6. 346. 1 .419. 3

ND. CALL PLOT( 6.346. -5.054. 2).3A3IiTlI.6 V86LD)1486L.1YP6L) CALL PLOT( 7. 128. -0.984. 3-4L .'64E )xN()).YNOW.DFACT)

xC~')w~. )(FLOAT)14REL)/1023 0,8.6) CALL PLOT) 7. 29. 1 .49. 2)

Y % FL0AT)1.YRE)I0)23.O0-8-Jf) CALL PLOTf 6 .SOZ. 1 .224. 3)CA4'.. PLOtITOX, COV.Z) ITEXT - 67~E rJPNCALL VS/M8rJ.I0.ITEXT. 6.0.1)

,% I1TEXT - 85S 3RUTIE VSM~tT, TEXTROTNC)CALL V SYMSC0.10.ITEXT. 0.0.1)

CALL WJHER6 XPOS .YPOS.DFACT) I ET-ICALL Sfl480L)4POS.VPOS.HT.ITCXT.ROT.MC) CALL VSYMB)5.1O.1764T. 6.6.1)1807OTGT.5.5,YPOSP)S,)4T9.8:) I11641-;35I F.8R07.LT.10.9,POS.4P3S.)HT0f.8 CALL 6MSv5'9.10.1TXT. O.S.11

C A.L PLOT(XPOS.YPOS.3) 1164 -1.R CALL VSY)48)9.SS.lTEXT. 0.8.1)

4)uR (T)q1EXT - 32ENDCALL VSvM8)0.l5.ITEXT. 89,1)

S.,3ROUTINE PICI CALL PLOT) 7 . 8 4. 1 .224. 3)LA-L PIC2 IET-6

CALL) PIC3 CALL VSVP)6(U.10,ITEXT. 0.0.1)CAL PICA 17641 - 85CA..) PICIS CALL VSYM48,5.l0.11'64t 0.9,1)-:A-)L PI[CIO IrEXT - 32-A..L PICIZ CALL vVYM'0.l10.lTEXT. 9.8,1).A- L PIl iTEXT,; 35

-A. - !47CALL VMv85.O.1.TEXT. 8.0,1)-A.L PICIB ITEXT - 55-A.L PrC;9 CALL VSVY4(O.P8.!T6T. 0.0.1)C4.L PIC-18 1764? - 32

44 rjP)4CALL VSVM8~0AP.IT6xT, 0.8,1)

CROJTT6 P IC 2 RE NO)A.. PLOT( -0-004. 7.675. 3 )4.'1-L PL.OT( 7.996. 7.676. 2)

CA-L PLOT( 0.129. 7.754. 3)

T E KT - 78-A.L VwSYMB)0.10ITEXT. I.#.[)

I ',)T - 76ZA.L )SYMB(O.08.ITEXT, 8.8.1)

TEXT - 69CA.L VSYP48(O08.ITEXT. 0.0.1)

I ET- 58CA.L vSYMB)9.IO.ITEXT. 0.8.1)I -iXT -32

Fig. 4.3 Example of the file PASS2.DAT

15

Page 21: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

16

5. SUBROUTINE DESCRIPTION

5.01 PROGRAM MAIN

Purpose: Prepare the input file and control the flow of execution of

the program.

Method:

- Accept the filename of input Graphic-7 machine code instructions andopen this file as READONLY

- Call subroutine PASSI to control phase I of program

- Call subroutine PASS2 to control phase 2 of program

- Close all open files

SUBROUTINES CALLED:PASS 1,PASS2

CALLED BY:Nil

5.02 SUBROUTINE PASSI

Purpose: Control execution of phase 1 of the program.

Method:

- Open th. output file of phase I (PASSI.DAT)

- Call subroutine PICARY to build the array of picture numbers andstart addresses

- Read the picture number from the input file and write theappropriate label to PASSI .DAT for each picture

- Call subroutine GETBLK to input a block of data words from theinput file.

- Call subroutine PROBLK to process this block

SUBROUTINES CALLED:PICARY,GETBLK,PROBLK

CALLED BY:MAIN

* aL..

Page 22: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

17

5.03 SUBROUTINE PICARY

Purpose: Load picture numbers and start addresses into thearray PICSAD.

METHOD:

- Read picture header line including picture number and startaddress

- Call subroutine GETBLK to skip over all of this picture.

- Repeat for all pictures in the input file

- Rewind the input file back to its start

SUBROUTINES CALLED:GETBLK

CALLED BY:PASS1

5.04 SUBROUTINE GETBLK(ARRAY,NWORDS,ENDPICEOF)

Purpose: Input a block of up to 190 data words from the input file.

Method:

- Read a line of 10 words from the input file.

- If the RTRN instruction, signifying the end of this picture, isfound in this line then return to the calling subroutine withthe data block read in

- If the RTRN instruction is not found in this line then repeat theprocess until either a block of 100 words read in or the RTRNinstruction is encountered.

SUBROUTINES CALLED:Nil

CALLED BY:PASS1

yI

p11!

Page 23: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

5.05 SUBROUTINE PROBLK(ARRAY,NWORDS)

Purpose: Control the processing of the data block which waspreviously read. There are NWORDS in the current data blockwhich is stored in the array ARRAY.

Method:

- Call subroutine IDOPCD to identify the op-code of the currentinstruction.

- Call subroutine GETARG to separate the argument/s of thisinstruction.

- Call subroutine DISINS to dissassemble and output thisinstruction.

SUBROUTINES CALLED:IPSPCD,PROBLK, DISINS

CALLED BY:PASS1

5.06 SUBROUTINE IDOPCD(IWRD,IOP)

Purpose: Identify the op-code of the current instruction. This

subroutine is written in MACRO II.

Method:

- Determine if the instruction is one of the op-codes which implya specific value. These op-codes have no arguments in this dataword and are CALL, RTRN and HOOP.

- If not then compare each instruction with the specified range ofthe remaining op-codes (accounting for the highest and the lowestpossible values for its argument/s).

- Assign a value to the variable IOP to represent the matchedop-code.

- If no match found then let IOP=0

SUBROUTINES CALLED:Nil

CALLED BY:PROBLK

4

Page 24: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

19

5.07 SUBROUTINE GETARG(IWRD,IOP.ARG)

Purpose: Return the value of the arqument/s, A1G, for the giveninstruction in IWRD which has op-code number lOP.

Method:

- If IOP equals 0,1,2,3 or 19 then ARG = 0 (there are no arguments)

- If lOP lies between 4 and 15 inclusive then the instruction is adisplay instruction. The argument is represented in 2'scomplement notation and bit 10 is a sign bit.ARG=IWRD - ((IWRD/"4000)*"4000)

op code 2's complement argument

- If lOP = 16 then the word is an LDTI instructionARG=IWRD-( ( IWRD/"100)*"100)

1 11 10 10 10 10 10 10 101 1 text increment

- If lOP = 17 then the word is a TEXT instruction. The argumentsare two ASCII characters and let the argument ARG equalthe whole word.

ARG= IWRD

1 2nd character 11 11st character

- If lOP = 18 then the word is a CHAR instruction. The argument isone ASCII character.

ARG=IWRD - ((IWRD/"200)*"200)

S0 10 !1 11 h 1B 11 11 character

SUBROUTINES CALLED:Nil

CALLED BY:PROBLX

___ I

Page 25: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

20

5.08 SUBROUTINE DISINS(ARRAY,IW,IWRD,IOP,ARG)

Purpose: Write the dissassembled instruction to the file PASSI.DAT

in the format:

Op-code, Argument/s

Method:

- Set up a text array of op-codes indexed by lOP

- If IOP = 17 then the instruction is the TEXT op-code. Callsubroutine GCHARS to separate the two ASCII characters fromthe instruction word.

- Write the op-code followed by the applicable arguments to thefile PASSI .DAT

SUBROUTINES CALLED:GCHARS

CALLED BY:PROBLK

5.09 SUBROUTINE GCHARS(ARG,ICHAR)

Purpose: The current word is a TEXT instruction. This subroutineseparates the two ASCII characters from the word ARG.

Method:

- Decode the integer word ARG into two bytes.

- Clear bit 7 of each of these two bytes byICHAR( I )=ICHAR( I )-"200

SUBROUTINES CALLED:Nil

CALLED BY:DISINS

• 4'

Page 26: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

21

5.10 SUBROUTINE PASS2

Purpose: Control phase 2 of the program.

Method:

- Re-open PASS1 .DAT as READONLY

- Open the output file PASS2.DAT

Call subroutine SETUPV to write Fortran code to PASS2.DAT tosetup Versatec plotter and enable relative move and drawprimatives and symbol plotting.

- Input a line of instructions from PASSI.DAT

- Identify this line and its arguments

- Disassemble this instruction into Fortran code. If the line ofFortran code is complete then write it to PASS2.DAT. Else readthe next line from PASS1.DAT and process it.

SUBROUTINES CALLED:SETUPV, GETL IN, WHATOP, DOTOOP, VRSOUT

CALLED BY:MAIN

I.I

9 9

Page 27: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

5.11 SUBROUTINE SETUPV

Purpose: Write Fortran code to MAIN section of PASS2.DAT to enablean eight inch box to be drawn on the hard-copy plot and acall to Picture 1. Write Fortran subroutines VRELM and VRELDto MAIN to enable relative move and draw primatives to beexecuted. Write Fortran subroutine VSYMBL to enable symbolsto be plotted on Versatec plotter in selected rotation andsize.

Method:

- Write Fortran code to draw centred eight inch box

- Write Fortran code to call picture 1. (CALL PICi)

- Write Fortran subroutine VRELM

- Write Fortran subroutine VRELD

- Write Fortran subroutine VSYMBL

SUBROUTINES CALLED:TRMPLT

CALLED BY:PASS2

II

Page 28: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

23

5.12 SUBROUTINE DOTOOP(LINE, lOP)

Purpose: Process the op-codes and arguments of the current instruction

which was read in from PASS1.DAT

Method:

- LINE is an eighteen character array read in from PASS1.DAT. Itcontains three fields, each of which may or may not be blank.

LINE(1) - LINE(7) is the LABEL fieldLINE(8) - LINE(11) is the OP-CODE fieldLINE(12) - LINE(18) is the ARGUMENT field

- The instruction is identified by the value of IOP

- The arguments are decoded from the ARGUMENT field as appropriate

SUBROUTINES CALLED:Nil

CALLED BY:PASS2 I

5.13 SUBROUTINE VRSOUT(IOP)

Purpose: Write the translated Fortran instruction to PASS2.DAT

Method:

- The instruction and its argument/s have been dissassembled bysubroutine DOTOOP and are ready for output.

- The instruction is recognized by the value of lOP

- The completed instruction is written to PASS2.DAT

SUBROUTINES CALLED:Nil

CALLED BY:PASS2

Page 29: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

24

5.14 SUBROUTINE GETLIN(LINE,EOF)

Purpose: Read one line of data from the file PASSI.DAT

Method:

- Read the fields of the current line of PASSI .DAT into thearray called LINE which has been declared BYTE LINE(I8).

- Set the End-of-File flag TRUE if the end of PASS1.DAT wasencountered.

SUBROUTINES CALLED:Nil

CALLED BY:PASS2

5.15 SUBROUTINE WHATOP(LINE,IOP)

Purpose: Identify the Op-code of the instruction currently in thearray LINE.

Method:

- Encode elements 8 to 11 inclusive of LINE onto the real variableOCODE.

- Search through the array OPCODE (which contains a list of allOp-codes) for a match with OCODE.

- Set IOP to the integer matching that identified Op-code.

- If the Op-code is not recognized then determine if this line is alabel by searching for a colon in one of the first seven elementsof LINE.

- Set lOP = 20 if a label was recognized.

- If neither an Op-code nor a label was recognized then set lOP = 0

SUBROUTINES CALLED:Nil

CALLED BY:PASS2

4

i

Page 30: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

|1

25

5.16 SUBROUTINE TRMPLT

Purpose: Write a line of code to the file PASS2.DAT which will

terminate the Versatec printer/plotter.

Method:

- Write the code 'CALL PLOT(0.0,0.0,999)' to the file PASS2.DAT

SUBROUTINES CALLED:Nil

CALLED BY:SETUPV

Page 31: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

26

REFERENCES

1. SANDERS Associates Inc. Computer Graphics Display System.Graphic Control Program Enhanced (GCP+)Programmer's Reference Manual.February 1980.

2. SANDERS Associates Inc. Computer Graphics Display System.Model 5753 2-D/3-D Coordinate ConverterUser's Manual.May 1980.

3. SANDERS Associates Inc. Graphic-7Fortran Support Package(FSP)User's ManualSeptember 1980

4. Versatec Inc. Versaplot Software Manual.Publication No. 5721-03, Edition No. 3September 1982

5. N.F. Hooke Development of Computer Graphics Softwarefor the Display of Aircraft Combat Data inSimulated Real-Time.ARL TM to be published.

I 14

Page 32: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

DISTRI BUTION

AUSTRALIA

DEPARTMENT OF DEFENCE

CENTRAL OFFICEChief Defence ScientistDeputy Chief Defence Scientist 0 (1Copy)

Superintendent, Science and Program Administration)Controller, External Relations, Projects and Analytical StudiesDefence Science Adviser (UK) (Doc Data sheet only)Counsellor, Defence Science (USA) (Doc Data sheet only)Defence Science Representative (Bangkok)Defence Central LibraryDocument Exchange Centre, DISB (18 copies)Joint Intelligence OrganisationLibrarian H Block, Victoria Barracks, MelbourneDirector g eneral - Army Development (NSO) (4 copies)

AERONAUTICAL RESEARCH LABORATORIES

DirectorLibrarySuperintendent - SvstemsDivisional File - SystemsAuthor: R BatemanD A Bird

MATERIALS RESEARCH LABORATORIESDirector/Library

DEFENCE RESEARCH CENTRELibrary

AIR FORCE OFFICEAir Force Scientific Adviser

CENTRAL STUDIES ESTABLISHMENTInformation Centre

GOVERNMENT AIRCRAFT FACTORIESManagerLibrary

SPARES (5 copies)

TOTAL (44 copies)

Page 33: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

[ | I

Dq"rame' of oane

DOCUMENT CONTROL DATA

1 t AR No I b ES u Wmemi No 2 Documut Det 3 Tu No

AR-003-989 I ARL-SYS-TM-76 JANUARY 1985 DST 84/127

MS. Sulu.ty 6. No PepeProgram DISAS - A Computer Program .doc~w tto obtain Hard-Copy Plots of an UNCLASSIFIE 20Image Displayed on a Vector Graphics b.t1 t, abUo 7. RoDevice in a Local-Area-Network. u u 5

)U

Rodney BATEMAN

10. CorporaM Author "nd Addrw I Anthor 'ny (a;41 rWoi

a 1 b~twvy C DW~f d40Aeronautical Research Laboratories iP.O. Box 4331MELBOURNE, VIC. 3001

12. hemouday DiwWibtOa (of*4 OC wvnJtj

Approved for Public Release

Ouptanm wouimrrs ouuid rtand le nitatior, 1oulo be referrd IhrOugh ASIS. Doenec lnforratiOrl Sovm S 81r10.0qDrWfltm of Deena., Cw'peU Park, CANBERRA ACT 260113. a I b doa-,,wnt may be ANNOUNCED in aneakogues sW Swrenm Wvs t ikb* 10

No Limitation

13. b. CAution hte other prpOM (of ci"Onsmi wF/nw V be tmsgai unresdctujlor ,at faW 13 .14 Dewpr._$ IS, COSATI 0.p

Computer graphics 09020Computer networksApplications program [computers]Plotting

i. A " '

Program DISAS is a program which supports thecomputer graphics facilities of Combat EffectivenessGroup at ARL. It operates in a local-area-networkincorporating a network of PDPll minicomputers, aSanders Graphic-7 vector graphics device and a Versatecelectrostatic printer/plotter.

Program DISAS produces hard-copy plots on theVersatec printer/plotter of a selected image displayedon the screen of the SANDERS Graphic-7 vector graphicsdevice.

.* A listing of the program can be obtained fromthe Principal Officer of Combat Effectiveness Group. "PP *

mma'.

Page 34: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

This pe is to be uwd to reord information *hich is roquired by the Establishnwt foq its Un w butw A wtil hot be added to O DISTIS d8U be*a unless specificlly mluntd.

16. Abarwi 00*nW

17. inrim

Aeronautical Research Laboratories, Melbourne

to Docwiw' swim Wj NW0 19. Cm coo 20. Typ of Mtor wid Pood CowedSystemsTechnical Memorandum 76 766160

21. OMPRw Plopw Uwd

DISAS (Applications Program)

22. Kaibk* It F Rof"

Page 35: i,, AN IfAGE. .IJI AERONAUTICAL UNCLASSIFIED F/0 …The satellite that is used by C.E.G is a PDP11/23 running under the RT-l1 operating system. It in turn acts as host to a SANDERS

FILMED