MARCH 1971 - UNT Digital Library
Transcript of MARCH 1971 - UNT Digital Library
PDP-91GOULD 4800 DEVICE HANDLER
AND GRAPHICS LIBRARY
MARCH 1971
BATTELLE-NORTHWEST
PACIFIC NORTHWEST LABORATORIES DIVISION
BATTELLE MEMORIAL INSTITUTE
P. Q. WX 999, REHLANO, WASHINGTON 99352
DISCLAIMER
This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor any agency Thereof, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.
DISCLAIMER
Portions of this document may be illegible in electronic image products. Images are produced from the best available original document.
b J
yq6p pouno Alyo~yd 06u!rju! +ou pylon wn 91 +ow r(umudU JO ~pnulas!p no-d JO +~npard 'm+~oddo 'U~+OUMO~! LUO )O SBOU
-ppsn JO ~o+o~d~os 'Asmnsm my+ roj &t!qpuodsu JO A+!wo!I 1060) AUD SOUIMIO JO 'p,IC(w! JO
nudm '&won Auo syocu *smoAojdcuo r!mq JO 'uo+ao~juoqns 'ucylpr+uoa r!oq) jo kuo JOU 'sodold J~W AUO JOU -qycuu~og Abouj a!wo+y so+o+s py!un 094 rou S.W+S po+!un .I(+ J.~+!.N
.+~.WU~OAOCJ ryc(S pqun OY) Aq pomuod~ ~JOM jo +unoaso WO! ID p~dud SOM wodw s!ql
831LON 7V3.77
'o(0p lDUO!+~PPO jO UOHDnIDAO PYO UOH+OJpS OY) uodn UO!+OS!j~paW ro uo!+s(luroa o+ +¶o!qnr st w!pUUOp! SIU 'og01-(1-~))1~ pDr+uo3 uO!ss!urcuo3 Ab~ouj, S!UtO+V ropun yon jo wnoa q+ ul puodud un+ou A~ou!cu!lud o jo uqpuuoju! su!o)uos podor s!y
.LWOdYW XVVNlyY17.iT2ld
110d31 SIHJ. d0 3EII 3NINZ133N03 NOI.LYW2lOrrlNI * A
PDP-9/GOULD 4800 DENICE HANDLER
AND GRAPHICS LIBRARY
This report was prepared as an account of work sponsored by the United Statcs Government. Neither the United States nor the United States Atomic Energy Commission, nor any of their employees, nor any o f their contractors, subcontractors, or their employees,
- - ? - - - - I
CaMPUTEBS AND CONIROL
March 1971
B I S T R I B m O R OF THIS DOCUMEN? IS
PDP-9/GOULD.4800 Device WUer and Graph ic sL ib rq
. . . , . . .
lbe WADCO PDP-9/-4 hybrid computer .&.s recently been equipped with
a GOULD 4800 graphics l ine printer.. . :This .system,, .operated by Measurement . . and Control lkchnology Departmnt - Control and Data Systems Section, is
used for hybrid and digi ta l sirmilation of nuclear and other processes.
.. . . . ,
The standard PDP-9 software contains a device independent 1/0 mni tor
system for ammmication w i t h m s t . T / O devices. Ih order that the GOULD
4800 ' a u l d be used with the :PDP-9 system, an I/O: devioe handler and .a
graphics library were written. 'This s o f b a r e enables the' PDP-9 p r o g r m r
to use the GOULD 4800 ei ther in a standard high-speed l ine printer mde o r . .
in graphics mode. . .
. . . . . . INPUT/omUT DEVICE HANmEm - CIA
. . . . . . .
. . The &vi& handler written for ' the GOULD 4800 printer is'. f o m t t e d -
(1,2) . There- acmrdhg t o the PDP-9 Advanced SoftWaxe system reqdmwnts
fore, th i s printer can be used by any standard system program (MACRO, PIP,
FORTRAN) o r user program for making l is t ings , etc. Alphanumeric mde
(l is t ings) is establishkd by assigning ei ther Unit .l (CLAl) 2 (ma). % . -. . .
unit 1 correspands t o smll font (5x7 dots) while 2 mrresponds to ' large
font (7x10 dots) . Graphcs mde is established when unit 0 (a) is
assigned. Appendix A gives detailed description of the CLA. device handler
characteristics.
GRAPHICS LIBRARY
The graphics library is a set of subrbutines b generate graphical
data on the GOULD 4800 printer. . A summairy of the library cmponents is
given in Appendix B, and detailed program ' *.acteristics: are given in
Appendix C.
?he subroutines in the graphics library allm the user to ,. . ,
Draw solid (or pseudo-solid) straight lines ' . .
Draw individual dots'
Draw characters fm an ASCII character generahon table
Draw characters f m a user dt t fh~d rharaotor ganeratifm table.
Perform real-tire or non-real-tk graphics output.
Use any pmgran in the ASCII output 1-ibrary to generate a l p h a - n m i c graphics. (3)
Limping Technique
A page of 'graphics is'generated by a user program by a "looping"
technique. ?he core resident buffer that the graphics' routines uSe is
10 scan lines. in length (1/8 inch). , By looping the user graphics gener-
ation routine, a graphics page of iuly length (up to '1638 inrhes) can generated.
Example l i s t ing #1 shms the looping t e c h n i p . The macros GRXL,
G W J , and GRMsG are defined by .
.PEFM GRXCJIX~,Y% ,>
.GKlBL GR. I ,GR.XL . DEC LAC (X% MC* GR. I LAC (y% JllS* GR.XL
L A C . cyfl JMS* GR. YL L EMDM
- .DEFIN GRMSGtRtXOtYOtMS . DEC . W B L r ' ~ t G ~ r G R . P 5 7
LAW JMS* GR.P57 +
M . yfl 1
JMS* WlSG. . DSA m S 4 .m
Macro GRXL defines a l ine i n the x direction start ing a t Xfl,Yfl, L dots i n
length extending t o right. he' GRYL macro defines a l ine i n the Y
direction start ing a t X$ ,Yfl;' L dots i n length extending down (increasing
y ) . The CJiElSG m q o defines a message text graphics, s tart ing at WtYg . .
with rotation R. The message is standard 5 x 7 asc i i (.ASCII pseudo-op.
Referring ta -le l i s t ing 1 and figure 1:
L i n e 1: Init ial izes CIA. device handler and sets up API interrupt
Line 2: In i t ia l izes page pointers a t top of page
Line 3-16: Graphics loop tn draw a box w i t h a message inside the box
Line 3: Clears the ten scan line b u f f ~ x
Lines 4-7: Draws the kcx sides
Line 8: , Generate the message a t &.PY = 1llOt no rotation
~ i n e 9-10: , Causes the graphics l ine buffers lm be written t o DAT s lo t No. 1
line^ 11-13: T e s t s to daLanhe i f 300 scan l ines have been sent . . . . . . ,
Line 14: Jups out of graphics loop when drawing is finished
Line 1 6 : Continues the loop i f page vert ical posn. < 300
h e 1.7: Defines the mssagc, PIIEEC, sent by aRMSG al: 1Lie 8. . . . . 4 '
Example Listing 1 . . . , . . .
2 JMS* GR. IN /INIT PAGE COUNTERS
3 LcOP JMS* GR.CLR , /CLEAR TEN S.L. mF!FER
5 GFEL . 1 1 1 2 9 /BOX LEET SIDE
6 G W L Z6$ff191,29 /EOX RIGHT SIDE
SAD
/.WRITE: AND .WAIT , .
/vEm. PAGE POSN - .
. . /300 SCAN LINES?
.
/END OF PAGE . . . - . .
16 JMP ' UP /PFWES~ E ~ ( T m~ &m7 m m BUFFER
1 FIGURE - 1 : G~aphics output and coordination of Example L i s t i n g I .
The "looping technique, described above, w i l l m r k anly because the
drawing of graphics axtpnents by GEIXL, etc., is conditional, i.e.:
Library subroutine GR.XL w i l l perform a drawing proedure only i f the Y$l
coordinate of the l ine is within the current scan l ine buffer.
- .
A similar rule applies to other graphics routines .(GR.YL,GR.MSG, e tc . ) .
Graphics Device Independence
Graphics output from the graphics routines is bevice independent i n
nature in that the binary'output fram GR.WR, etc:, can be sent b any
device capable of handling binary data (paper punch, DEC tape, etc., but
not teletype, etc.). To obtain I/O device f lexibi l i ty fm a graphics
routine, it is therefore desirable to use automatic device assignrent
(as opposed t o manual assignment w i t h the keyboard mitor). The auto-
matic mthod is shown i n example l i s t ing #2. The three entry points
w i l l select Gould printer , paper punch., and '&&ape 'uni t 1 respectively.
The selected device handler is assigned to DAT s l o t 1.
&le Listing 2
.nAT = L35
. GLOBL Q;A.,PPA.,MID.
GQULD LAC Q;A.
PUNCH LAC PPA.
m. W E + 2
W E LAC Dl'Ll. * . .
XOR (w%%%% DAC* (.I1AT+1
. INIT l t l t %
.ENTER 1 ,FILE
F D . SIXBT / f i l e name & extension / Graphics Line Buffer q r e s s i o n
Wen graphics data is to be sent to a device other than the G O W 4800
it is desirable to use the anpressed data fonn. The ten scan l ine buffers
are w r e s s e d by submut i r~e OR. CKS . The c3carrpmssed data f i 1.e on dectape
o r disc w i l l be 1/3 o r less the size of an unampressed f i l e pro-
viding a substantial saving in m s storage. FP1en l ine hilffer ccrmpression
is desired, subroutine GR. CKS should be called imwdiately before GR.WR
is called:
. - 2, .A .GLOBL GR.CKS, GR.WR
. JMS* GR. CKS /cXlMPRESS LINE BUlTEW . , .. . LAW 1 /Dm SmT NO. - *
JMS* GR.WR /.WIUTE AND . W T
Double Buffered Graphics Output
An increase in graphics output speed w i l l be realized when using
double buffering techniques, as shawn i n example listing 3. Ttm buffers
are used, the internal graphics buffer and GIILB2. The address of the
graphics routine internal buffer is reported by GR.IN. Subroutine WRITE
f i r s t w a i t s for any outputting of the previous l ine buffer to be completed
and then writes the current buffer using KIWHT. Subroutine IZ?WRIT f i r s t
reformats the current buffer t o be written .into a single l ine buffer md
executes a write instruction. The CLA. & v i e handler w i l l W f i t G ~ me data
at the interrupt level so tha t im fm-ther user prugrarmning is @red to
send the PO scan lines. After the w ~ i h is initiaked, Ulu L L a f e r p i n t e r
GR.LB is switched to the other buffer.
Exarrple Listing 3
JMS* GR. IN /l?KCTIALIZE PACX POSN. DAC G=1# /JMZENAL BUFFER ADDR DkC* GR. LB JMS* GR.CLR /CLEXRBUFFER JMS R?WRfT /WRITE ZmOS TO ,'3AKrACI'ION JMS* GR. IN /INITIALIZE PAGE POSN.
W P Calculate Graphics Line Buffers
JMS WRITE
(Test for end-of-page 1 JMJ? W P
- B m* DAC mc DAC* LAW DAC LAC
m 1 TAD .
DAC D M * ISZ LAW TAD ISZ JMJ? JMS* LAC* SAD JMP LAC JMP LAC DAC* JMS* JMPQ
GI?. LB IDx# (676%%B IDX -11 m#. IDX
(46 IDX IDX IDX . - 1 IDX' CSPT WRIT1 GR . RtW GR . LB GRLBl . +3 GRLBl . +2 (GRLBZ GR . LB GR. CLR K'r WRIT
/CURRWT EUFF'ER ADDR
/WPC = 276, IGNORE CHECK-SUM /LINE BUFFER HEADER
/9 ADDITIONAL LIN!?. I3JFFERS
/ADVANCE T0.m LINE J3uEFER /m HEADER WED /CLEAR CHECK-SUM WORD
/L?SC L.B. /No /START .limrE /CURRENT L.B. /SWlXH L.B1'S
/USER r n E R /NEM L.B. FOlNER /CLEAR NEXJ mER
/GRAPHICS BUFFER
An example graphics routine (GKJXST) is sham 'in exanp?le l i s t ing 4. ,. . . .
The output fm t h i s program' is sh- in . ~ig&e 2. The characteristics
of this example program and its techniques are: . . . . GlEEST outputs el& inches of graphics (880 scan l ines) .
> . . . The four macros , GRXL, GRYL, GHMSC and GRLll j perfom the , . .
gemration of graphics can st ant;^'. ,(Axis lines, header
One of three output device handlers , CLA. ; ' PPA; , or DTD . can be selected by start ing a t BEGIN, PCH, o r DT.
Double buffered output. is used. Th- standard s ize for ten
scan line buffers is 38OT0 = 5748.
The graphics loop address is LOOP. This loop is executed
88 times generate an 11 inch page. . lilhe pPtlu11 "1 WEST that drilwa tho gets its input
from TARLE, a table of scaled fixed.point numbers. The
curve is drawn by secgenting straight l ine segments with
GR.LIN.
Subroutine WRITE writes the current Line buffer and then
switches line' buffers. The new buffer is cleared.
Location SWI'ICH is a switch which, wheh set b NOP, causes
l ine buffer coanpression to occzlr. ( G J 3 . E ) . When 880 scan Pines have smt, eontml 01 Llie B U is
retuned t o HYDDT9. (DDTSA. )
FORCE (LB I
FIGURE 2: Output from ~iam, 'p~e ist tin* # 4 .
The figure shows the COULD output from example l i s t i ng # 4 .
Printing s tar t s . a t ' t h e , top and proceeds 'dot&, ten scan l ines a t
a time.
-9-.
ExmIeI;E LISTING 4
.TITLE GRAPHICS TEST
/MACXI DEFINITIONS FOR GRAPHICS
. DEFIN . G m . DM= IAc w" LAC n4s* L .ENCk/l
GRXL,XPI~YP,L GR. I ,GR.XL
(xfl GR. I (YP GR.XL
, "
/'
/Y LINE . DEFIN GR&X%rY%tL .CXOBL GR. I ,G#.YL . DEC LAC (XP K* Grt. I LAL: (Y% JMS* GR.m
/TEXT M E S W . DEF IN G~tRtXPlrY%t~.ISG . DW .mm WlSG., C;K.P57 LAM K JbE' GR. P57 xfl y!J JMS* mEG. .Dm MSGS4 .ENIN
/ L m .DEFIN GFU,IN~X~ I ' ~ 1 t ~ 2 ,y2 . DM: .cX.lXL GR. LIN JMS* GR. LIN XI. Y1 x2 Y2 .m
mIN LAC SKP
PCH LAC JMP
m LAC XOR DAC* LAC DAC*
JMS* DAC* DAC JMS* JMS JMS*
CLA. /COULD-4800 D.H. ADDR
PPA . /PAPER PUNCH D .H. ADDR m+2 Ma. /DECTAPE D.H. ADDR (~%%P%PI / D ~ A P E UNIT 1 1. DAT+1 /ASSIGN TO DAWl
GR.CT(d /CHAR!TABtE ADDRESS GR.CHI' /CHAR GEN CHAR T ! ADDR
lt1,PI /INLTIALIZE D.H. 1 ,FILE /Ewrm FILE
=.IN /INIT PAGE POINIERS GR . LB /SET L.R. rX3CN GRLBI. # /POINTER TO L.B. #l GR n . R /CLEAR l?Ul?E'E rn /WRITE ZERO BUFFERS GR. IN / I N I T PAGE PO-
/DRAW AXES 6r HEADER MESSAGES GRYL 16Pt 19,0,461 GRXL 155#258,5 G W 15p, 3%JJ, 1% GriXL 155,35P,5 GRXL 158, 4PB'tlB GRXL 155,45fl,5
GRXL 15p ; 6@ ; la GRxL 15JJ 1 2pJJ t 351
GEM; GRYL GmL GmL GRYL
/DBIAW OOOBID X'S G1QQ;r QZXt GRXL mad m& mxri a. GKXL GWQ(
Qua QZXL,
' . QZYL QaL
. - GmL G l m GEWlL Gm!L G E L ' GRm G m l '
. , GKYL GRYL
/RRAW- L A P n?c 'AD n?c LAC* .TAD
SPA Jm? DAC TAD SMA JMP LAC JMS DAC LAC TAD JMS DAC JMS*
X1 B Y1 B X2 B Y 2 B
Em JMS LAC* SAD JMP JMP
END . m. .'I .
X1 SLm . (12 a- . . . ,
CAW( - .
x2 . - '
GR.+IN- :. , .
/WRTlT. L.B. ' S /cuRREm PAm m. SCAN LINES 188% (1%) /END .QF ' D I S P L W /GENEBATE NEXT TEN L r n BUFFER
DObE JMS* ,GR.CK . : : : / m ' p m ~ ~ , SKP . .
JMP -2' . .mSE 1 . , . .m 1 JMS* GR. R57 /RESIDE P57. JMP* DDTSA. /Rmvrw To D m
TAD (TABLE DAC IDX#, LAC* IDX MUL .DM: 64BB
TAD (1 6B* 2+1 .m , . . . ':.p JMP* CALX
/WRITE TEN L.B. BUFFER .. . , . WRITE B . .c
JMS* GR.CK /CHECK IF m" WITH PREVIOUS BUFFER SXP m' JMP . -2 /NO - t m m : RLWRIT /INxrm .Imrm JMP* WRITE
R'rwFuT /a SWITCH SKP
m w* mc
DAC* LAW Mc LAC
wlU'I!El Trn mc DZM* IS2 Dm* . .
L A W . . TAD ISZ JMP SIP
MUTE3 JMS* -2 LAW
JMS* . .
x* SAD JMP LAC JMP HAC DAC* , .
m y * JMP*
\ m 3 C;R.LR D X t 676BPB IDX -11 am# IDX (4 6 IDX
. IDX IDX
- IDX - 1 IDX an \RITE1
/OR NOP TO CQMPIESS
/CURREWT L.R. ADDR
v /NEXT L.G. /CLEAR L.B.H. 'AND CKS
/.BAT rn NO. 1 /m&-TIME WkmE /CURRENT L.B. ADDR /swrIcH LINE $UFFERS
/FILE NAME SPECIFICATION FnR . s m /FORCE/ .
,TJx3r. /GW/ , . .
/MES-' MSG1 .ASCII FORCE - ,(m) /<
q . . . .
Appendix D gives a par t i a l lis tin4 'bf:'. thG gra'phics , libray. These
programs show the basic pmcedwes .to . : be ... used w h g the programer wishes . : . I ' .
to define graphics procedures for the GOULD ' 48 00.
U s e r Defined Character Fonts
The l i s t ing of the graphics library character set :is sham on pages
D-1 and D-2. Each entry in the character table . . requires .. . four words where
each word consists of ism eight b i t character lines. "Left to right" on . .
the COULD printer corresponds to "Left to right" i n an 8 - b i t character
l ine for unrotated characters. Top and bttm on the G O W printer
corresponds to C1 and C8 i n the character table for mkted characters.
The eight b i t character l ines are l e f t adjusted so t h a t ' a solid 8 b i t char-
acter line is given as 7768.
To establish the use of the ASCII character table (GR.CTfl) the user
must in i t i a l i ze the character generator (GR.CHR) table pointer ( G R . W ) :
.GlalX.~ GR.CflrGRaCWT
LAC GR . Ct'fl
DAC* C R . m
The user can establish his own character fonts by sett ing up a table
similar to that in Appendix D. The character table pointer (QZ.W) can
be switched a t any tine.:
(Ti== /w!ZXTAatE a
MC* GR. CXC /".rm BO-. , ,
The standard ASCII character s e t is sham i n figure 3. This GOW
output was generated by the program l is ted on page D6 (GKlW2) .
U s e r Defined Graphics
The Draw X-line subroutine (GR.XL) on page D3 shows the necessary
steps for generation of a graphxs element.
Subroutine GR.CKJ (page D4) checks the PJ cmrdinate (Y) to deter-
mine i f it is w i t h i n the current scan l ine buffer:
FIGURE 3: Software generated a s c i i . charaotor co t - GR.CT@
(GR.PJ) 5 PJ - < (GR.PJ) + 9
Subroutine GR.W reports abave, below, or with-in the current scan l ine
buffer. If the requested X-line is above or beluw, exit f m GR.XL occurs
( J M P OUT). If the PJ coordinate is within the current buff~ir, drawing of
the line is initiated. Drawing of the individual dots is p e r f o d by
If the user wishes to p r q a m the setting of dots within the scan
line buffers, the GR.m listing (page D5) should be used as a guide.
This "set dot" subroutine f i r s t checks i f the I (X) coordinate is wish-in
its legal limits
0 f_ I 599
The relative word position of the dot within the scan line buffer is:
R e l . Posn. = (N1*J) + [I/18] + NH + 1
where :
N1 = "1 no. wrds in one line
buffer - 38
I-& = No. words in line buffer h ~ d ~ - 2
I = Horizontal p s n . of dot
J = Vertical posn. of dot
t i t h i n czar ra t buffer ,
The dot b i t position within the addressed w r d is:
(1) "PDP-9 User and book" - Digital ~ ~ u i ~ r n e n t Corp . , Maynard, * . Mass.
( 2 ) "Advanced Sof mare System Monitors" - DEC-$A-MADO-D Digital
Equipment Corp. , Ma ynurd, Mass.
(3) "Hybrid Software System Library and Macros", October 21,
1970, L. H . ~erhards te in , BNWL-B-26. , .
Device I3ardle.r. N a m : . . . . UA
Legal Data Modes : IOPS Binary
IOPS Ascii
Interrupt : API Channel 64
No. Wrds: 7448 = 48410
IOPS Functions : .
. INIT Performs .SETUP
' . Ini t ia l izes d e & font characteristics
. FSTAT
.& Ignored
. D m
. . I l legal
.ENlm Sends Auto Form Feed
.CLEAR Ignored
. C U S E Sends Auto Form Feed
Releases control of printer
Ignored
Illegal
.WRITE Transfers one l ine buffer of data to
the printer i n the rmde selected by
. INIT .WIT I/O w a i t un t i l printing finished
Real-Th 1/0 wait on printing done
I l legal
Character Generawr Font Control: - ,
. . . . . . .- The Mcde and character font are determi&"l& ::the u n i t n u & ~
assigned when .INIT was executed. Unit fl (w) is fo r . b i t mde data
while Units 1, 2, and 3 are for a sc i i character data. U n i t . . 1, (W)
generates upright small f&, and unit 2 (W) generates upright large . . ..
font. U n i t 3 can be used i f the user wishes to specify .his own font
configuration.
Thc prinkor mntrol word& for t h a vari~us unit a.wi r~rmr?nt..r,.nt.s are :
Unit El? Pre Pre Char Line Char Lines Per No. Font Wrd -- - M1 Wd.2 S p , Sp PerEine 9"Page
0 B i t . 00 0 . 1448 0 0 100 72 0
b L ~ l l l J g 2 1448 1 2 100 102
2 Large 61g 2 1138, 1 2' 75 . 60
CLA. Internal G l o b a l Addresses:
There are seven addresses i n CIA. accessable by the user program:
G l o b a l Normal N a w Cnnt~niS l;lescrliptiow
CL.F1 L A W l 1 ' , Unit 3 "EF" mrd
a . F 2 2 ' Unit 3 Preamble Wrd No. 1.
CL . F3 1448 Unit 3 Preamble Wrd No. 2,;
CL.F4 l a g , Uppr Page Margin (scm L.i.nesj
CL.F5 13288 %. ,Scan h e s per Page
CL.F6 12g8 - bmer Page Margin (scan lines)
CL.F7 -128 ' Negative Tab s ize (characters)
4
APPENDIX B .. . . .
GRAPHICS ROUTINES SUMMARY
The following table gives a basic description of the programs and
global addresses of the package. . . . .
p-". ' IWT. NAME ~ B A L S ' P U I ~ E E
GR.CIg GR . CTP ASCII character able
GR.Q;R GR.CLR Subroutine to se t ten scan line . .
buffers to zeros. . .
.. . ., . GR. IN. s u b ~ u t i n e to se t Page Position
pointers to top of paqe (y = 0) , . , .
GR.LB . .
Line Buffers pointer . - . i
GR. PJ Vertical page position (scan lines)
GR . PJN Negative Vertical page position
. I . . (scan . . .lines)
: " GR.PY . ~ e r t l c a l page position (text lines or
no. of ten scan line buffers)
GR.CXS GR.CKS Subroutine to ccanpress the ten scan
line IOPS line buffers, and calculate
the headers and check-cum.
GR.WR Subroutine to w r i t e the ten scan line '
buffers to an arbitrary output device. . . . - . .
' (Non-real-tim)
GR.RbW Subroutine to write the iw1 scan line
buffers b an arbitrary output device.
fF!eal-time) . .
GR. CK Subroutine to check done status of the
real-tire write subroutine GR.RLW.
GR. SFT
GR. CXJ
GR. SETT Subrout- to set one pint witkin a , . . 9 . .
' ̂ ten scari line bu'ffer to a 1. . . . . .% ... .
GR. I Wrizontal position . _ . of. . . dDt . (0'. to 599) . . . a .
, ,: ... / . . : . , . ....
GR.J Vertical Position of dot within the . . !
ten scan line buffer ; (0 .to 9)
GR.CW Subroutine .tD check i.f a given vertical
wsi.ti.cn is within tho uumgnt b n scan . .
line buffer . GR.2CL
, .. GR. XL subroutine to draw a horizontal straight
.< \ . .. . .. . '
&lid line w i t h a specified starting
position d length. . .
GR. YL GR.YL' Subroutine to draw a 'vertical straight . _ . .
. . . . "solid line w i t h a specified starting
position and length.
GR.CHR GB.CHR . Eubroutine to store a character repre-
. . . . . . sentation in the ten scan line buffer . . .
w i ~ a specified ps.i.t,.j.nn and rotatim.
Character Ratation
J2 Ught-side-up
1 Cloolr-wioo
6R.TI Character horizontal position (dots)
GR:TY ' Character vertical p s i t i o n (text lines)
'GR. CHT 'Character table pointer.
GR . LXN a. S4-m Subroutine M draw a pseudo-straight . . . . solid line between t m points (xl yl) :
(x2t y2)
GR. P57 GR.P57 Subroutine to setup the IOPS ascii
output library to graphics roode.
GR. R57 Submutine to restore the IOPS ascii
output library to n o m l d e .
APPENDIX C
GRAPHICS LIBRARY PWX;RAM D ~ m I o N S
The following pages give detailed descriptions of the graphics
routines and their basic calling procedures. Execution tifiles are for a
PDP-9 digi ta l camputer (1 p s e c cycle t h ) .
These pages can be resnoved and added .t;o "Hybrid Software System
Library and 1.lacros" - BNC9rB-26.
GR . mj3
Library .form:
ASCII CHARACTER SET GEhTERATION TAELE
/To in i t ia l ize:
.mm GR.CTj3, GR.m
LAC GR . @I%
/To calculate a character address
IAC ASCII /character
AND (77 /6 B i t
ALSS+2 /4* Qzar
TAD* . ,
GR. cm DAC ADDR /Character
Address
Execution t ime
Description:
N.A.
The GR.C!Tfl character table contains
8 x 8 representations for the 64
printing asci i characters ($348 to
137, seven b i t codes). The address
of a character in the table is:
GR.m + (4*C)
where C = the six bit ~ L - ~ J I I d e .
The contents of a 'character table . . entry is defined by the macro defini-
tion :
GR. CLR
Variables :
Library form:
.DEFIN CHAR, C1, C2, ~ 3 , C4, C5,
C6, C7, C8
C1*400+C2*2 " '
C3*400+C4*2 ,
C5*400+C6*2
C7*400+C8*2
. ENaM '.
C 1 through C8 area b i t representation
for tho eight scan, l.ines nf the d , w & ~ ! ter starting at the top. A character
line of 8 dots is represented by 7768.
e.g.: The aoding for the letter "A" is:
- ooo 000.3 cu Bit values . . . O O O W ' c u d .u' t q 4
GR.LB = Line buffer printor
. W B L GR.LB, GR.CLR
Set GR.LJ3 (optional)
JMS* GR.cLR
Execution Time: 3031 psec (PDP-9)
Description:
GR. IN
Variables :
Library form:
Ekecution Time:
Description:
Subroutine GR.CLR should be used to
clear the graphics buffer at the
beginning of each graphics program
loop. The contents of GR.LB points
to the current buffer address.
38010 = 5748 words are required for
a graphics buffer. (3810 = 468 mrds
per scan line). The contents of each
scan line buffer after execution of
GR.CLR is:
4 23%%% /Line buffer header
% /Check-sum '
4%%%4 2 /Zero/data count
777777 /end of-line flag . . INITIALIZE GRAPHICS PAGE POSITION
GR.PJ = Page Vertical posn. (scan lines)
GR.PY = Page Vertical Posn. (text lines)
GR.PJN = Negative Page Vertical
posn. (scan lines)
.GLoRL GR. IN
JMS* GR.IN
/AC = Address of graphics
'buffer in graphics
/subroutines (ignore if
/not doublc-buf fa- f i~q)
Submtine GR.IN initializers the
graphics package page position to:
GR. CKS
Variables :
L i b r q . form:
Execution time:
Description:
GR.LB = line buffers pointer
approx. 2.2 milli-sec (PDP-9)
Submutine GR.CKS r e f o m t s the ten scan
line buffers into a reduced form that
eliminates all zero data mr& a 1 Ll~us
conpresses the size of graphics data f i l e s
by as much as 1/5 or less. Q?.CKS need
not be used i f the graphics data is sent
directly to the printer rather than t o a mass storage device. After GR.CKS has
hen executed, tho format of P graphics
line buffer is: '
m % b % /header CXS /checksum
4 OIL) g W) /zero,/dab oo~~~~t-block 1
M1. data I WOrdsI
4 (N2) (M2 ) /zero/data count-block 2
rn ddia 1 words 1
777777 /H-of-line Switch
fl /optional .to make /total no. words even.
GR. SET SET A POINT IN G W H I C S BUFFER
Variables :
Library form:
mecution time:
Description:
GR. WR
Variables :
Library fonn:
m e e t i o n time:
Description:
GR.J = V e r t i c a l posn. i n current ten
scan l ine buffer
= lbrizontal posn of dot.
IAC V e r t . h s n . i n t h i s buffer
DAC* GR.J
LAC Wriz. msn.
Appmx. 54 p s e c . (PDP-9)
Submutine GR.SET is used by a l l
graphics routines to set points within
the ten scan l ine graphics buffer.
The contents of GR. J must have been
set to a nLlmber from jf to 9 by the
calling program.
WRITE GRAPHICS L m BUFFERS
AC (9-17) in = .WRITE Dot s lo t no.
GR . LB = Line buffer pointer
.GIX>EL GR.LB, G R . m
/Set GR. LB (optional )
LAW Dat Slot NO.
JMS* GR.WR
150 psec + lo* (.WRITE + . W T of
specified device handler) (PDP-9)
GR.WR is a non-real time subroutine to
w r i t e the ten scan l ine buffers t o an
arbitrary output device.
Listing :
GR . RLW Variables :
Execution Time:
Description :
GR.WR fl JMS GR. RLW
WAIT' JMS GR. CK
JMP* GR.WR
JMr? m
GRAPHICS BUFFERS REAGTIMF: WRlTE
AC (9-17)i, = .WRITE Dat Slot No.
G R . U = bhr! buffer pointer GR.PJ'= Page PoSn. (s.L.)
GR.PJN = Neg. Page Posn. (S .L.)
GR.PY = Page posn. (T.L.)
. W B L GR.LB, GR.Rl;n '
/Set GR.LB (optional)
LAW Dat Slot No.
JMS* GR. RLW
Ekecution of GR.RLW sets up Subroutine
GR.CK to perform reaL-time output of
the ten scan line graphics bufters: Mter
GR.RLW has been called, GR.CK should be
called frequently until data transfer
ic aonrpleted, T)ncs GR.RLW has be=
called, GR.I;B can be mdified and a
new set of buffers cirri be generated
(double-b~f f ~ r i . n g ) . The action of W.FU,W iS as folluws:
=in 3 .WRITE dat for GR.CK
ACin -+ .JiAITR dat for GR.CK
GR. LB 3 GRLB for GR.,Q<
GR. CK
Variables :
Library form:
Execution time:
Description:
EWL-B-58
GRAPHICS REAL-TIME W T
N.A.
9 psec + .WAITR i f done return
7 p s e c + .WAITR ) i f Busy
or 19 p s e c + . m m + .WRITE I return
Subroutine GR.CK performs a r e a l - t h e
wait and write on the dat s l o t speci-
f ied by GR.RLW. The action taken
by GR.CK is:
[ Y e s
G R . W
V a r i a b l e s :
L i b r a r y f o r m :
Execution time:
D e s c r i p t i o n :
L i s t i n g :
ACin.= V e r t . Page Posn. of dot
GR.PJN = Neg. V e r t . P a g e Posn. of . . , current scan line buffers. G R i J = V e r t . Posn. w i t h i n current
scan line buffers.
Xout = GR. J
.GLOBL GR.CXJ . ?lpW.. r.mt Pusll*
JMs* GR.CKJ
... /In : AC = Posn. i n this buffer.
. , ,
9 p s e c (PDP-9) above
15 isec (PDP-9) b e l o w
21' MS& (PDP-9) w i t h - i n .
Subroutine GR.CKJ is used by such
p r q a m r , as GR.LIN, GR.CHR, and GR.YL
to ' d i t i o n a l i z e thtt s e L L i n g of dotc
w i t h - i n the ten scan line buffer.
.QX>RL GR.PJN, GR.J
.&oBZ, GR.CKJ
G R . m % TALI* GR . PJN
SPA 1 STL JMP* GR.CILI / h v e
TAD (-12
m1 sm JElF . +'I /Relow TAD (12
DAC* GR. J Rosn
IS2 GR.CIGS
SSZ GR. CKJ
JMP* GR. CW
C-8-
DRAW IKIRIZOIWAL SOLID LINE
Variables :
Library form:
Ekecutioli time :'
Description:
GR. YL
Variables :
Library form:
ACin = V e r t . Posn. on Page a t s t a r t ing
p i n t .
GR.1 = Mrizontal Posn. on Page a t
s tar t ing point.
(JMSspl) = No. D o t s i n l ine
.GLQBT, GR.1, GR.XL
/Set GR.1
LAC V e r t . page posn.
JMS* GR.XL
No. Dots i n l ine
... /Return
20 p s e c (PDP-9) i f outside current
buffer . or 37 p s e c + 68*N psec (PDP-9),
where N = No. dots, i f within
current buffer.
Subroutine GR.XL draws a sol id hori-
zontal l ine with specified s t a r t ing
point and length. The s t a r t ing p i n t
is defined as the l e f t line end
point (minimum X) . DRAW VERTICAL SOLID LINE
ACin = V e r t . posn. of s t a r t ing p i n t
GR.1 = Ibrizontal posn. of s t a r t ing
point.
(Jlk pt+l ) = No. dots in l ine
.GI&& GR.1, GR.YL
/Set GR. I
LAC V e r t . Posn.
JMS* GR.. XL
F b . dots in l ine
... /Return
Execution t h e :
Description:
Variables :
L i b r a r y form:
18 + 17NA + 85.UI + 22.NB p s e c (PDP-9)
where: N = rJo. Pts ahve current buffer A
= NO. ~ t s in current &fer
NB = 1 i f l ine extmds below
current buffer
NB = 0 i f l ine doesn't extend
below current buffer
Subroutine GR.YL d r a w s a solid vertical
line with speciLid s ~ ~ h l y p i n t
and Length. The start ing point is
defined as the upper l ine and point
(Inininnun y) . . .- . - , .
DRAW ALPHA-NUMERIC CJWWTES
ACh = 6 B i t ASCII t r i m code
GR.TI = Character I coordinate
GR.T!Z = Character text l ine no.
GR.RLYT - Charaotcr Rotation
JI Normal
I C.W.
2 upside down
3 C.G.W.
GR.CHT = Character generation table
pointer
. W13L GR.TI, GR.TY, G R . M
. GLQBL GR.CHT, GR.CC~
.GLQEL GR, Cm
LAC GR . LTpI
DAC* GR.CIPT /Set pointer
/Set GR.TIl GR.TY, G R . W
L A C . 6 Bit char JMS* GR.CHR
Description:
V a r i a b l e s :
40 p s e c (PDP-9) i f character is not
in the current buffer
1480 + ( 70 + 17R) Nl p s e c (PDP-9) i f
character is i n the current buffer
where R = Rotation (0-3)
N1 = No. ones i n char. font.
e.g.: The execution the for drawing
the letter "A" is 3.0 to 4 . 1 milli-sec
depending on rotation.
GR.CHR draws a character a t specified
position and rotation. A square 8 x 8
character font is used. (See GR. CTfl
for format). The text character
position is updated a f t e r each execu-
t ion of GR.CHR as f o l l m s :
GR. RL3T Action
0 GR.TI + 10 + GR.TI
1 GR.TY + 1 -t G R . W
2 GR.TI - 1 0 -t GR.TI .
3 GR.TY - 1 + GR.TY
Updating of the character position in
the l a t t e r manner causes sequential
cal l ing nf GR.CHR to draw a character
s t r ing i n the direction specified by
G R . r n .
DRAW PSEUlX-SIl?AIGHT SOLID LIp\IE BmWEEN TW3 POINTS
- (rn pt + 2) = Y1 t Vherc the
points are (X, Y,
Library form:
GR. P57
Variables :
. GLQBL GR. LIN
JMS* GR. LIN
X1
Y 1
X2
where :
NA = No. points above current buffer
NoUT = No. points outside current
buffer
NIN = No. p i n t s inside current
buffer.
Subroutine GR.LIN draws a pseudo-
straight l ine b e W M -1 speci l ld
points (A serres s f data, v c ~ Lied
Lines, and horizontal lines that simu-
l a t e the l ine) .
,5EIuP IOPS ASCII 0mUT L I M Y TiJ SE3fD GRAPHICS
AC (1.6-i7) 1, = Character Rotation
(JMSpt + 1) = w-xt start irq 1 w2 position.
(JMSpt + 2) = Text start ing text l ine position.
Library form:
Ekecution the:
.GLQBL GR. P57
LAW Rotn. No.
JMS* GR.P57
Starting X posn.
Starting text line
... k t =
LAC ASCII char
JMS* P57. /Sends Character
/to graphics.
48 psec (PDP-9)
Add 26 usec to GR.CHR when using
P57.
Description: Ekecution of GR.PS7 causes all the
IOPS ASCIT output routines (WXT.,
WE]CI., W., etc.) to send their
output to GR.CHR, the graphics
character routine. The normal con-
dition of P57. is: \
P57. a. SKP
a
I Program to Pack 5 x 7 ASCII
JMP* P57.
After GR.P57 is executed, the condi-
tion of P57. is:
P57. a JMP* P57.+2
c A m
Where CATCH is a routine in GR.P57 that transfers control to GR.CHR.
C-13
GR. R57
Variables :
Library fonn:
mecut ion time:
Description:
Lis t ing :
None
Submutine GR.R57 restores P57.
for norm1 packing of S x 7 ASCII.
. GWBT;
.mEL
GR. R . 7 % LAC
D;crrJ
IS2
LAL=
DAC*
JMP*
P57.
GR. R57
P57.
Wl3I.f
POINT /P57.+1
(SKP
POINT
GR. R57
APPENDIX D - PAt7I'IAL GRAPHICS LIBRARY LISTINGS
. TITLE GRAPHICS C H A R A C T E R TABLE, . .
/ 9-28-70 / L H GERHARDSTEIN
. DEFI N C H A R , C 1 ,C2,C3 ,C4 ,C5 ,C6 ,C7,C8 C 1 *40D+C2*2 C3*400+C4*2 C5*408+C6*2 C 7*400+C8*2 . EN DM
. GL ORL GR. CT0 GR.CT0 C H A R 1.70,2fl4,462,512,514,470,2(42,174 / 00 @
C H A R 068,110,204,4fl2,776,402,4fl2,402 / @ l A C H A R 770,404;4fl4,770,404,4m2,402,402,774 / 02 B . C H A R 174,202,400,4@~,40fl,4QIPI,2PI2,174' / fl3 C C H A R 770,484,402,4Gl2,402,4PI2,404,770 / 04 D C H A R 776,4~0,4~l0,770,400,4~m,4a1;1,776 - / 0 5 E C H A R 7 7 6 , 4 0 0 , 4 0 0 , 7 7 0 , 4 8 f l , 4 0 0 , 4 @ 0 , 4 0 0 1 06 F C H A R 174,202,400,'4Pl0,436,402,202,174' / El7 G C H A R ,402,482,402,776,402,402,402,402 / 1 fl H C H A R 174,020,020,020,020,020,020,174 / 1 1 I C H A R 076,01P1,010,010,410,410,220,1.40 / 12 J C H A R 4 0 4 , 4 1 8 , 4 2 0 , 7 4 0 , 4 2 0 , 4 1 0 , 4 0 2 / 1'3 K C H A R 400,4flfl,400,400,400,4flC?,4B0,776 / 14 L C H A R 402,606,512,462,4B2,402,402,402 / 15 M C H A R 402,6fl2,502,442,422,412,406,402 / 16 N C H A R I70 ,204 ,402 ,402 ,402 ,4 f l2 ,204 ,170 / 17 0 C H A R 774,402,402,402,774,400,408,400 / 20 P C H A R 170,204,402,402,422,412,204,172 / 21 Q C H A R 774,402,402,482,774,418,484,402 / 22 R C H A R 374,402,400,374,002,002,402,374 / 23 S C H A R 376,020,020,020,020,02fl9PI20,00 / 24 T C H A R 402,402,402,402,402,4C;12,284,170 / 2 5 U C H A R 402,402,4fl2,28'4,110,1 10,060,,060 / 26 V CHAR 482,402,402,402,462,462,264,110 / 2 7 W C H A R 402,204,110,06P,fl68,118,204,402 / 30 X CHAR 2fl2,282,184,858,828,BZfl,Q2~9,B2B / 31 Y C H A R 776 ,404 ,010 ,174 , f l40 , l0PI92f l2 ,776 / 32 Z C H A R l70,100,100,100,100,lfl@,lPJ0,170 / 33 ' [ C H A R 400,200,108,040,820,01flP004,002 / 34 \ C H A R 170,010,010,010,010,01fl ,010,170 / 3 5 I C H A R 020,070,124,020 ,02fl,028,82PI,Q20 / 36 t CHAR 000, 100,2L70,776,2fl0, lfl0,000,00fl / 3 7 c C H A R 800,008,000,flfl0,080,91PIC1,0B0,0Cl0 / 40.SPACE C H A R 860,06fl,068,fl60,060,0Bfl,060,060' / 41 ! C H A R 154,154,154,fl88,0PI0,fl0fl,088,800 / 42 " C H A R 11~,118 ,776 ,11f l ,118 ,776 ,118 ,110 / 43 # C H A R 374,512,510,374,112,112,512,374 / 44 $ C H A R 776,504,710,020,040,116,212,416 / 45 Z C H A R 860,'110,110,162,224,41fl,424,342 / 46 & C H A R 030,830,010,020,0G0,fl0B,fl00,000 1 47 ' CHAR 010,@20,040,040,84fl,lil40,020,010 / 50 ( C H A R .100,04fd,020,020,828,820,040,100 ' / 51 ) CHAR 204,110.,060,776,060,110,204,000 ' . I 52
C H A R C H A R C'H A R
' C H A R C H A R C H A R C H A R C H A R C H A R C H A R . C H A R C H A R C H A R C H A R C H A R C H A R
. CHAR C H A R C H A R C H A R C H A R
, T I T L E GRAPHICS DRAW .X--LINE . . . . .
/ 9-28-70 / L H GERHARDSTEIN
/ CALLING SEQUENCE: / S E T GRo I / LAC P J / JMS* GR XL / LENGTH OF L I N E ( N O , DOTS)
. GLOBL GReXL 0
JMS* JMP JMP LAC* CMA D AC
. JMP LOOP LAW
TAD* S M A JMP LAC* ISZ*
., JNS* CHECK I S Z
JMP OUT I S Z
JM P a
GR,CKJ / CHECK I F J . ' .WITHIN T H I S S O L . BUFFER OUT / AROVE OUT / BELOW GR ,XL / WITH-IN . L I N E LENGTH
CNT CHECK - 1130 / - 6 0 0 ( 1 0 ) GR, I
OUT / LIME OFF PAGE GRo I GRo 1 / S E T TO NEXT P O I N T GR,SET CNT LOOP GRoXL GR. XL
. GLOBL
CNT
. END
; TITLE GRAPHICS CHECK I F J IN S ,L , BUFFER
/ CALLING SEQUENCE: I L AC P J / J POSN T O CHECK / JPIS* GR,CKJ / * * * e * / ABOVE S*L. BUFFER AC = -DIST ABOVE / * w e . * / BELOW SOL'. PUFFER AC = +DIST RELOW . / * . . o * / .WITH-IN S*L. BUFFER AC = POSN I V BUFFER
• GLOBL GReCKJ GR.CKJ 0
TAD* SPA !STL JMP* TAD SMA!STL JMP T A D DAC* I92 ISZ JMP*
/ -PAGE POSN
/ ABOVE
/ SET GR,J POSN
, T I T L E GRAPHICS S E T DOT
/ 9 - 2 8 - 7 0 / L H GERHARDSTEIN
/ EXECUTION TIME = 62. TO 69 MICRO-SEC. / AVERAGE TIME = 65 MICRO-SEC. / CALLING SEQUENCE: / . GLOBL GR. S E T / S E T G R . J / 0~ j < = g / LAC I / JMS* GR. S E T
. GLORL GR.SET GR .SET 0
SPA . / T E S T I F I COORD LEGAL .IMP* GR.SET / NEGATIVE I ILLEGAL -. .-
T A D ( - i i 3 0 / - 6 ~ ? ( 1 0 ) SMA
GR. S E T / I > 599 ILLEGAL JMP* TAD ( 1 1 3 0 / RESTORE I IN AC ID1 V 1 2 0 0 0 0 / C L L ! I D I V 22 / 1 8 ( 1 0 >
/ POSN IN WORD TAD ( L R S D AC S H I F T LACQ 1 QUOTIENT DAC SAVE / NO. WORDS INTO LOB. LAC G R o J . / L.B. NUMBER (0-3) MUL- 1 6 / 4 B I T M U 1 ( S H I F T L E F T 1 4 BITS) 46*20 / (2**4)*38( 1 0 ) / A.M = (2**- 18)*GR. J*(2**14)*(2**4)*38(,191) / A.M = 3 8 ( 1 0 ) * G R . J TAD SAVE TAD (3. / ' R E L A T I V E P O S I T I O N I N L I N E BUFFERS TAD* GR. LB / .ADDRESS IN L.B. BLOCK DAC I NDEX
( 4 0 8 0 0 0 L'A C --
S H I F T XX / S H I F T B I T INTO POSN LMA / SAVE IN M Q LAC* INDEX / WORD FROM LB - ~
OMQ / S E T DOT DAC* INDEX ' ' ' / R E - S E T ' WORD FROM . L R JMP* . .GR.SET . . :
. GL OBL GR. LB . GLOBL ,GR.J,GR. I G8.J B GR . I 0 INDEX . 0 SAVE=I NDEX
7)
.END
. T I T L E T E S T G R A P H I C S C H A R A C T E R G E N E R A T O R
/ L H G E R H A R D S T E I N / F E B 1 , 1 9 7 1
B E G I N
L O O P 1
. G L O B L . G L O R L . G L O R L . G L O R L . G L O B L
L A C DAC* LAC DAC* . I N I T J M S * . DZ M DZ w DZM* JNS* L A C D AC LAW DA C DZM* L A C J M S * IS2 757 J M P . LAW JMS* PSZ* I S Z L A C S A D JMP JMP
C L A , GR.IN,GR,CLR,GR,WR,GR.PJ GR. T I , GR. T Y , GR..ROT,GR.CHR G R . C T B , GR.CHT D D T S A.
C L A , ( . D A T + l . GH . r-! 'I' fh 1
GR, C H T 1 , 1 , 0 . '
G R , I N C O U N T # G R , T Y G R , T I GR, C L R C O U N T C N T # -74 C N T R d GR, R O T C N T GR. C U R C N T C N T R . . -4 i GR . WR GR , T Y C OU FIT C O U N T (100 . .
B E G I N . L O O P 1
. E N D , B E G I N , , ,
L. E. Addison
R. A. Burnett
D. B. C e a r l o c k
C. R. Cole
M. R. C o m p t a n
v. L. Craw
D. W. D a m s c h e n
D. G. Daniels
P. J. D i o n n e
G. E. D r i v e r
M. D. Erickson
H. P. Foote
BNW
m BNW
BNW
BNW
BNW
BNW
m BNW
m BNW
m
DISTRIBUTION
Math R. J. ~use rA
Math B. E. Dozer
P S B R. A. Harvey ( 1 5 )
Math J. A. Hubbard
Math S . A. H u n t
Math W. F. knzke
P S B J. D. Lodge
PSB W. R. Markil l ie
Math W. H. Payzant
Math J. G. Sipe
Math C. D. Swanson
Math L. D. Van H e e s
J. C. Fox BNW RDB G. L. W a l d k o e t t e r
D. R. Friedrichs BNW PSB N. P. Wilburn
L. H. G e r h a r d s t e i n (5) BNW Math G. W. Wrth
_ R. T . Jaske BNW PSB
J. R. Kosorak BNW 3 2 9
G. W. Main BNW Math
R. D. 14udd BNW PSB
D. E. O l e s e n l3NW P S B
A. E. Reisenaur BNW P S B
G. R. T a y l o r BNW Math
C. J. Touhil l BNW PSB
AEC-DTIE (2)=s+G
C h i c a g o AEC Patent G r o u p ( 1 )
R. K. Sharp ( R i c h l a n d - C h i c a g o P a t e n t ) (1)
C. L. Fbbirsorl ( 1 )