..

f.;" .
•• ,

"1

...
.'
;

"

•
"

,

..
~

PROCEEDINGSOF THEFOURTH MEETING
OF THEMINUTEMAN COMPUTERUSERS GROUP* * **REPORT MCUG-3-72

Meeting heldJune
5-6, 1972,.,
Silver Spring, Maryland

PROCEEDINGS*
OF THEFOURTH MEETING
OF THEMINUTEMAN COMPUTERUSERS GROUPEDITEDby
CHARLES H. BECK

Meeting held
June 5-6, 1972
Silver Spring, Maryland

Report MCUG-3-72* SPONSOR:
Systems Laboratory
Department of Electrical Engineering
School of Engineering
TULANE UNIVERSITY

PREFACE

Of the nearly 1,000 reliable computers, originally costing $234,000 each,from the LGM 30 Minuteman ICBM Weapons System, approximately 400 have been
declared excess by the USAF.

These Minuteman D17B Computers can be classed

as extremely flexible general-purpose minicomputers.

Government activities,

industrial contractors, universities, and other organizations have acquired
these excess Dl7B computers for development and use in many fields of research,education, and other applications.
The Minuteman Computer Users Group (MCUG) was formed to provide for aneffective information interchange and the various forms of assistance neededby the users.

Those who are members of this cooperative, voluntary groupassist each other by sharing results, programs, applications, interfacing
techniques, maintenance procedures, and spare parts.

The MCUG membership isin excess of 145 Government activities, industrial contractors, colleges,
universities, and other organizations.
The fourth meeting of the MCUG was held at the Sheraton-Silver Spring
Hotel in Silver Spring, Maryland on June 5-6, 1972.
included in the Appendix.

The registration list is

The persons who attended this meeting numbered 67

and represented 46 organizations.

Previous meetings have been held in Miami

Beach on July 19-20, 1971, Houston on November 16, 1970, and Anaheim on
June 11-12, 1970.
These PRO~EDINGS are a permanent record of the material presented at
the meeting on June 5, 1972.

This publication of the MCUG describes such

topics as procurement, simulation, state description, design of a hardware
divider, design of a binary display, and use of the Dl7B in a hybrid computer
system and an automated data acquisition and waveform analysis system.

The

agenda also included a successful demonstration of the D17B/AutoAnalyzer
ifAnalysis System developed in the Systems Laboratory at Tulane University undera research contract supported by the Army Medical R&D Command.

This cost-effective development included an ASR35 Teletypewriter as the peripheral I/O
device which provided for full alphanumeric communication with the D17B in aconversational interactive mode.

The D17B/AutoAnalyzer Analysis System wasdelivered to the Division of Biochemistry at the Walter Reed Army Institute of
Research where it is used for automated blood serum analysis.

In addition to

the technical sessions there was considerable exchange of information during
the workshop sessions on June 60
The assistance and encouragement of Mr. Richard F. Babler and Mr. John
Po Bartell of the Defense Supply Agency are gratefully acknowledged.

We alsothank Mr. Billy G. Bass of WRAIR for the time and effort required to plan for
demonstration of the D17B/AutoAnalyzer Analysis System at Walter Reed.
Methods of Joining the MCUG
10 Send a check or purchase order in the amount of $100 to the MCUG Chairman

at the address given below. Specify MCUG membership and/or documentation
for checkout, operation, and progrannning of the Minuteman D17B Computer.
2. Request an invoice for $100 to cover the items listed above.

Drc Charles Ho Beck
Professor of Electrical Engineering
Tulane University
New Orleans, Louisiana 10118
These PROCEEDINGS can be obtained by sending a check or purchase orderfor $20 to the MCUG Chairman at the a.ddress given above.

MCUG members may

rot' $6c

The following documentation is included in the MCUGmembership:
MCUG-1-71, Dl7B Computer Wire List and Logic Equations
MCUG-2-11 t DI7B Electronic Module Schematics ,MCUG-3-71, Proceedings of the Third Meeting of the MCUG
MCUG-4-n~ Minuteman D17B Computer Programming Manual
MCUG-l-12~ Dl7B Power Supply Schematics.'
MCUG-2-72, Minuteman Dl1B Computer Programming Manual Supplement
MCUG-3-72, Proceedings of the Fourth Meeting of 'the MCUGCharles H

0

Beck

Chairman t MCUG
iii

MINUTEMAN COMPUTER USERS GROUP MEMBERSHIPHarvard University, Physics
Haskell Indian Jr. ColI., Voc-Tech.
Heidelberg College, Physics
Hughes Aircraft Corp., Culver City
Indiana University of Pennsylvania,
Physics
Johns Hopkins University, Chemistry
Kansas State College, Pittsburg,
Industrial Technology
Knox College, Physics
Kutztown State College, Physical Sci.
LSU School of Medicine, Neurology
LSUNO, New Orleans, Science
Lowell Technical Inst., Lowell, Mass.
Linfield College, Research InstituteMankato Area Voc-Tech. School,
Computer Maintenance
Mass. General Hospital, Boston
McDonnell Douglas Corp., St. Louis
Medical University of South Carolina,
Neurosurgery
Merchant Marine Academy,Computer Science
Merrimack College, Electrical Engr.
Michigan State University,
Cyclotron Laboratory
Michigan Technological University,
Electrical Engineering
Milwaukee Area Technical College,
Electronics
MIT, Charles Stark Draper Laboratory
MIT, Educational Research Center
NASA, MSFC, HuntsvilleNat'l Bureau of Standards, Wash., DC
Nat'l Center for Health Statistics
Nat'l Library of Medicine, DHEW, PHS
Naval Ordnance Station, Indian Head
New Mexico State University,
Electrical Engineering
New York Institute of Technology,
Electronic Technology
Newark College of Engineering,
Mechanical Engineering
Northwestern University,
Material Science
Occidental College, Physics
Ocean Systems, Inc., Reston, Virginia
Oklahoma State University,
Biochemistry

Aerospace Corporation, Los Angeles
AFCRL (LGW), Hanscom Field, Mass.
Air Force Institute of Technology,
Engineering
Arizona State University,
Electrical Engineering
Armstrong State College, Savannah, GA
Arnold Research Organization,
ArnoldAFB, TN
Augustana College, Physics, SD
Austin College, Computer Center
Ball State University, Physics
Beaver College, Psychology
Bluefield State College, Technology
Bowling Green State University,
Psychology
Brigham Young University,
Electrical Engineering
Buena Vista College, Electronics
Bureau of Mines, Laramie
Bureau of Mines, Pittsburgh
California Institute of Technology,
Geological & Planetary Science
Center for Diseas~Control, DHEW
Cleveland State University, Physics
Christian Brothers College,
Computer Science
Colorado State University,
Atmospheric Science
Delaware River Basin Comm., Trenton
Department of State, Nassau
Des Moines Area Community College,
Electronics
Dillard Univ., Mathematics & Physics
Drexel University, Electrical Engr.
Duke University, Electrical Engr.
Eastern Michigan Univ., Ypsilanti
East:e,rn Washington State University,
Ppysics
Einstein College of Medicine,Radiology
Fighton, Inc., Rochester, NY
Florida State University, CAl Center
Fredericksburg Geomag. Ctr., Corbin
Ft. Belvoir, Electronics
Glastonbury High School, Physics
Goddard Institute for Space Studies
Hahnemann Medical School, Radiationiv

MINUTEMAN COMPUTER USERS GROUP MEMBERSHIP (Continued)
University of Florida, Ophthalmology
Univ. of Houston, Electrical Engr.
Univ. of Illinois, State Water Survey
Univ. of Iowa, Neurobiology
University of Kentucky,
Mechanical Engineering
University of Miami, Physics
Univ. of Michigan, Aeorspace Engro
Univo of MississippI, Chemistry
University of Missouri-St. Louis,
Chemistry
Univo of Nebraska, Electrical Engr.
Univo of Nevada, Reno, Electr. Engr.
Univo of Nevada, Las Vegas, Physics
Univo of New Hampshire, Electr. Engr.
Univ. of Oklahoma, Mathematics
Univ. of Pennsylvania, Geology
Univ. of Penn
Johnson Foundation
Univ. ef Pittsburgh, Pharmacology
Univo of So~th Florida, Physics
Univ. of Texas i Applied Research Lab.
Univ. of Trieste, Italy, Geodesy
Univo of Virginia, Psychology
Univo of Washington, Psychology
Univo of Wisconsin, Computer Science
Univ o of Wisconsin, Electrical Engr.
Univ. of Wyoming, Electrical Engro
USAFSAM, Medical Systems Division
V. Ao Hospital, Lexington
Vo Ao Research Hospital, Chicago,
Theraputic Radiology
Vo Ao Research Hospital, Gainesville,
Nuclear Medicine
Virginia Institute of Marine Science,
Gloucester Point, Virginia
Washington University, Psychology
Washington & Lee University, Physics
West Virginia University,
Electrical Engineering
Wisconsin State University,
Engineering Mechanics
Worcester Foundation for Experimental
Biology, Shrewsbury, Mass.
Wright State University, Computer
CenterOklahoma State University, Physics
Pennsylvania State University,
Chemistry
Polytechnic Institute of Brooklyn,
Electrical Engineering
Princeton University, Computer Center
Purdue University, Aeronautics,
Astronautics & Engineering Science
Raytheon Corporation, Bristol, Tenn.
St. John Fisher College, Physics
San Diego State College, Biology
Singer-Kearfott, New Jersey
Sloan-Kettering Institute, Biophysics
SMU, Computing Laboratory
Southwest Minnesota State Cellege,
Electronics
Space Rad. Effects Lab., Newport News
Stanford University, Linear
Accelerator Center
State University College, Breckport,
Data Precessing Services
State University of NY, Mat. Science
Stephen F. Austin State Univ., Physics
Stevens Institute of Technology,
Electrical Engineering.
Technitrol, Inco, Philadelphia
Tektronix, Inc., Atlanta
Teledyne-Ryan Aeronautical, San Diego
Tennessee Technological University,
Mechanical Engineering
Texas A & M University, Physics
Tulane University, Electrical Engr.
Union Carbide (Nuclear), OakRidge
USDA, ARS, Ames
USDA, Research Service, Beltsville
University Computing Coo, Dallas
Univ. of Akron, Electronic Tech.
University of California, Berkeley,Fl~ctrical Engineering
Univ. of Colorado. Electrical Engr.
Univ. of Arizona, Optical S.ciences.
Univ. of Dallas, ChemistryUniv. of Delaware, Electrical Engr.
University of Florida,
Metallurgical & Materials Engr.

0 ,v

TABLE OF CONTENTS
Page· . . . . . . . · . . ii
• · · . ·iv
MINUTEMAN COMPUTER USERS GROUP MEMBERSHIP · · · · ·MINUTEMAN D17B COMPUTER PROCUREMENT·······• ······· 1
MINUTEMAN D17B COMPUTER DESCRIPTION . . · · · · · • · • · · · · · · · 2
MINUTEMAN D17B COMPUTER SPECIFICATIONS • · · · · · · ·····• 45• · ·SOFTWARE SIMULATION OF THE MINUTEMAN D17B COMPUTERPREFACE • • • • • • • • • • • • • • • • • •'Bruce Chatterton and Gary B. Lamont
AFIT/ENE
Wright-Patterson AFB
APL SIMULATION OF THE D17B

• • • • • • • • • • • • • • • • • • • • • 17

Harry S. Warford
USAFSAM, Medical Systems Division
Brooks AFB
A HARDWARE DIVIDER FOR THE D17B GUIDANCE COMPUTER • • • • • • • • • • 27
Alfred M. Williams, Boeing Co.
andJames D. Bargainer, University of Houston
STATE DESCRIPTION OF THE D17B COMPUTER•••••••••••••••

37

Douglas J. Allen and Gary B. Lamont
AFIT/ENE
Wright-Patterson AFB
USE OF THE D17B IN A HYBRID COMPUTER SYSTEM • • • • • • • • • • • • • 66
Lansing B. Evans and Charles H. Beck
Systems Laboratory, Electrical Engineering
Tulane University
DESIGN OF A BINARY DISPLAY FOR THE Dl7B COMPUTER• • • • • • • • • • 76

Harry S. Warford and D. S. MOran,
USAFSAM, Medical Systems Division
Brooks AFB
AUTOMATED DATA ACQUISITION AND WAVEFORM ANALYSISUSING THE Dl7B COMPUTER • • • • • • • • • • • • • • • • • • • • 83
Charles H. Beck and Yih-Young Chen
Systems Laboratory, Electrical Engineering
Tulane University• • • • • • • • .. • • • • • • 93

APPENDIX - REGISTRATION LIST' •••vi

1

MINUTEMAN D17B COMPUTER PROCUREMENT
Approximately 800 Minuteman D17B Computers are expected to be declaredexcess by the USAF through 1974.
was approximately $234,000.

The original acquisition cost per system

These computers can be acquired by qualified

agencies, contractors, and grantees as the systems become available throughappropriate ADPE reuti1ization agencies on an "as is" non-reimbursable basis
as follows:

DoD Agenci es
Contact respective service Rqs. for ADPE Acquisition for approval andfor forwarding of Requisition Form 1419 to DARO.

DoD Agency Contractors and Grantees
Contact respective contracting officers for approval and for forwardingof Form 1419 to Defense Supply Agency, DSAH-DARO, Cameron Station, Alexandria,
Virginia 22314.

Civil (Non-DoD) Agencies of the Federal Government
Contact respective Office for ADPE Acquisition for approval and forforwarding of Transfer Order Form 122 to GSA Excess Equipment Utilization
Branch, Crystal Mall Bldg. 4, Washington, DC 20406.

Civil Agency Contractors and Grantees
Contact respective contracting officers for approval and for forwardingof Form 122 to GSA as listed previously.

Authorized Donees
Contact respective state surplus property offices for acquisition through
DREW Office of Surplus Property Utilization, 4452 DREW North Bldg.,
Washington, DC 20201.

2

MINUTEMAN D17B COMPUTER DESCRIPTION

Functional Capabilities and I/O
The D17B is a small general~purpose computer.
and has the capab~lities of:

It is totally programmable

receiving and sampling analog signals, digital

data, or pulse-type input signals; logical decision-making and performanceof arithmetic operations using an instruction set of 39 machine language
instructions; and transmission of output data in the form of analog, digitaland pulse type signals under program control.

Because of the extremely flex-

ible I/O capability of the D17B, it can be quite useful in a wide variety of
applications.

Central Processing Unit and Control
Since the D17B is a serial-binary computer,.simultaneous access to all
the bits of a memory location is not needed either for instructions or data.
Hence, the arithmetic registers need not be constructed entirely o.f flipflops.

Instead, they are in the form of circulating loops in memory.

The

Dl7B has four double-rank arithmetic registers which are Accumulator (A),Lower Accumulator (L), Instruction Regist~r (I), and Number Register (N).
Because the L-register is addressable, it can be used as rapid-access storagein addition to performing normal arithmetic functions.

There are two non-addressable arithmetic registers, the 1- and N-registers, which are usedwithout programmer control and one 3-bit pseudo-index (phase) register.
The central processing unit (CPU) has I/O access to four rapid-accessmemory loops of 1, 4, 8, and 16 words in addition to the main memory which isarranged in 21 ·channelsof 12.8 words each.

Two input buffer loops of fourwords each provide additional input capability to memory in the form of
direct data entry.

These are the V- and R-loops which can also be used as

general-purpose rapid-access memory loops.

3

Programmed data channels cause data transfers into the arithmetic registers.

All machine functions are processed and interpreted in the CPU.

The

memory channel address from which the next instruction is to be taken isdetermined by the location counter.

When the CPU is ready to accept another

instruction from memory, the address is specified by the channel addressstored in the location counter and the sector address specified in theprevious instruction.
The phase register can modify the operand address of one of the multiply
instructions.

This register also serves as a selector switch for choosing one

of two pairs of inputs to one of the incremental pulse-type input loops andfor selecting one of four external positions for each of the three D-A analog
voltage outputs.
The Accumulator holds the results of all arithmetic operations and serves
as an output register for parallel digital data, pulse-type signals, D-A
analog voltage outputs, and telemetry data.

The Lower Accumulator is involvedin certain arithmetic, input, and logical operations.

A real-time clock isprovided by internal timing signals derived from the clock channel of the discmemory.

Specifications
The D17B is basically composed of two semi-circular sections.

One half

contains the power supply circuit cards which generate the various dc voltages
required in the computer and a 400 Hz 3~ signal for providing power to themotor in the 6000 rpm disc memory.

The other semi-circular section contains

the discrete DRL and DTL logic components of the computer itself.

Some ofthe detailed specifications for the D17B Computer are given in the following
table.

The high degree of reliability and ruggedness of the computer are

evidenced by the strict requirements of the Minuteman ICBM Weapons System.

4

MINUTEMAN D17B COMPUTER SPECIFICATIONSManufacturer: Autonetics, a division of North American Rockwell
Model: D17B
Year:
1962
Type:
Serial, synchronous
Number System: Binary, fixed point, 2's complement°

Logic Levels: ·0 or False,
Volts; lor True, -10 Volts
Data Word Length.(bits): 11 or 24 (double-precision)
Instruction Word Length (bits): 24
Maximum I/O (words/s): 25,600
Number of Instructions: 39 types from a 4-bit op code by using five bitsof the operand address field for instructions
which do not access memory.
Execution Times:
Add (ps): 78 1/8Multiply (ps): 546 7/8 or 1,015 5/8 (double precision)
Divide: (Software)(Note: Parallel processing such as two simultaneous single precision
operations is permitted without additional execution time.)
Clock Channel: 345.6 KHz
Addressing: Direct addressing of entire memory
Two-address (unf1agged) and three-address (flagged) instructions
Memory:Word Length (bits): 24 plus 3 timing
Type: Ferrous-oxide-coated NDRO disc
Cycle Time (ps): 78 1/8 (minimal)
Capacity (words): 5,454 or 2,727 (double precision)
Input/Output:
Input Lines:
Output Lines:

48 digital
28 digital
12 Aria10g
3 PulseProgram:
800 5-bit characters/s
Physical Characteristics:
Dimensions: 20" high, 29" diameter
Power:
28 V dc ± 1 V at 19'A
Circuits:
DRL and DTL. DoUble copper clad, gold plated, glass fiber
laminate, flexible polyurethane coated circuit boards.
Software: .Minimal. delay. coding using machine language modular
special-purpose subroutines.·.
Reliability: 5.5 years MTBF5

SOFTWARE SIMULATION OF THE MINUTEMAN
D17B COMPUTER
Capt Bruce Chatterton

Gary B. Lamont

Electrical Engineering Dept
Air Force Institute of Technology
wright-Patterson Air Force Base, Ohio 45433
ABSTRACTA software program has been developed which simulates the functions of
the Minuteman D17B Computer at the register transfer level.

The simulation

program is written in the FORTRAN Extended Language to be used on the Intercom
System (teletype) of a CDC 6600 Computer System.

The simulation program wasdeveloped at the Air Force Institute of Technology as an aid to research in
the D17B Computer utilization program. The simulation program can be used
as a teaching aid, for executing D17B programs, and for debugging program
tapes to be run on the D17B Computer. The simulation program consists ofa main program and eight subroutines. A programming language was developed
for the D17B Computer Simulation Program which contains numbers and load
codes, switches, and miscellaneous commands.
I.

Introduction
A software simulation of the Minuteman D17B Computer has been developed

at the Air Force Institute of Technology (AFIT) (Ref 2). The general
1.e;Telopment objectives and results of this simulation are presented in thispaper.
The purpose for developing the D17B Computer Simulation Program was tocreate an aid that would be useful to the research effort of the D17B
Computer utilization program. This research effort is concerned with getting
a D17B Computer operational in a laboratory environment and finding useful
applications.

6

The simulation program has shown itself to be useful in many areas. The
simulation program can be used in learning the basic operations of the D17B
Computer. It can also be used as backup capability for running D17B programs
when the actual computer is not available. Its most important use, however,is that the simulation program can provip,e error checks for the D17B programs
which it executes. The hardware version of the D17B Computer has no executiontime error checking capabil~ty.
The capability for entering D17B programs from punched tape has been
incorporated in the D17B Computer at AFIT~ Provisions were also made in thesimulation program for reading and executing the data from these same punchedtapes. Therefore, the simulation program can be extremely helpful in the
preparation of the program tapes which are to be read into the D17B Computer.
The simulation program helps in tlle preparation of the program tapes bydetecting and locating invalid symbols punched on the tape, by decoding the
program instructions, and by detecting addressed locations in memory thatare out of range of the program being executed.
Problem statement and Objectives. The prime objective of the D17B Computer
simulation program was to simulate the functions of the D17B Computer. To
pursue this objective;l the following criteria were established~
1. The simulation program was to simulate the D17B Computer at theregister transfer level. A register transfer approach was used because
it allowed the D17B to be simulated at the information and data transfer
level. Thus, it was not necessary to simulate the logicr equations required
to clear and set each flipflop_ The register transfer approach also
allowed for easability in tracing the information flow in the simulated
computer as data is loaded and programs executed.
2 •. The FORTRAN Extended Language was the computer simulation language
chosen for writing the simulation program. This language was chosen becauseof access to a computer system which contained the FORTRAN Extended Compiler.
The Computer Design Language (CDL) described in reference 3 was used in7writing portions of the simulation program, but because of the nonavailability of a CDL compiler, a transformation to the FORTRAN Extended Language
was made (Ref 3, Chaps 1-5). CDLis much more descriptive of computer
operations than FORTRAN.
3. The simulation program was to simulate the actual computer as
closely as possible. The same algorithm implemented on the D17B Computer
was used in the simulation program for most functions. This close correlation between the actual computer and the simulation program makes it
possible for a user to use both the computer and simulation program using
only one set of programming techniques. In the areas where a close simulation could not be realized, a quasi-simulation was used. The quasisimulation uses the same register inputs and generates the same results,
but the method of obtaining the results differ.
4~ The real-time control functions (Fine Countdown and Incremental
Inputs) of the D17B were not to be included in the simulation program.
The Fine Countdown function involves the V-loop and the U-loop forminga digital integrator which operates without program control. The Incremental inputs are inputs to the D17B which are incrementally supplied
to the V-loop and R-loop without program control. The instructions
associated with these functions could be added by a user who isr~searching the area of real-time control applications for the D17B.
The remainder of this paper will be devoted to a description of theorganization and structure of the D17B Simulation Program and the D17B
Computer Simulation Language.
II.

D17B Computer Simulation Program

The organization and structure of th~ D17B Computer Simulation Program
will be described in this section. The simulation program simulates the
D17B Computer at the register transfer level and is written in the FORTRAN
Extended Language to be run on the Intercom System (teletype) of a Control
Data Corporation (CDC) 6600 Computer System.

8

The concept used in, writing the simv.1ation program was, to have the person-, ~ '.' .,'~ ,.". ~.

,_;': .' .

'. ,:. ,•• J. ":. \.'.

"...~:-.' -,.

' . ."" .

using ,it. provide the same ,data to the progI'aIJ:), as h,e. would ,if ,he were using the
.,.'

•

'.'

• ..,

:,.

•

'.

•

>"

actual compute~ in the Jaborato:ry.
,•

",

'"

"

'.r

• :~.

'

h

"

.-

" ..

:;~.:

'

'.'.'

•

•

•

J'he sw:itches, ;must be ,set to the proper. '• : '., .

~,•position to accomplish loading and computing.

'.

'h'

.'

-.'

,. . '.

The data ~stbe error free 'to

successfully execute a p~ogram., ,The type of di 13Pll3,Y (register or memory) is. ;., •

:.

~

'.

.

1"

.

,.'

specifiec;l by. the ~us:er. ,The D17B. qomputer,. Simula1;i~oA ,Progr~ consists, of. a, main program ande.ight~.

.."

subroutines.

,';

,"

~

~

•

".".,

.~ ..

",'

'

'","

,~.

1-.

•.

. .

".'

The main program .i¥l",a .qompilation. of thr~e distinct sections each
.·n

.;;;

.

., .

... ",'

.

.'

".

~;

. .

.

• ,

•

.'

.

of which.. performs , a major.function.
TheSe.
thre.e, sections
are:
.
'::
.,
..,
.
.

~

' "

:,.,'..

".

,'.

1.

Eeadingand
TI'ansla tiop
Section. ,.......,
t....
'.
':. "

2.

Noncomp~te

3.

Compute Mode Section.~

Mode Section

Fig. 1 shows the program flow between trese. ~eotiolls of the main program andthe subroutines •.
The Reading
and,
TraJl.Slation. Sectionis., thet~ansla
ter andinte:r:preter
..
..
..
' .
' . '

,

; ,", .

portion of the simulation program.

~All input data., is read, interpreted, and
;

,

.

'r'

.

".....

~

translated in this . portion. 9f the main program., Input data is read as alpha,;..

."betic and nUlI1eric characters.

~his

,....

-'

'

data is then iniierpreted. as octal qr

binary data, a D17B load code, a switch
designation (setting), or a miscel'.
.

laneous connnand.

,

. ' ,

~

The miscellaneous commands, are responsible for a variety.

of functions which include tbe, following:
•

.

'

.

.

•

register and melD.ory display,I ·discrete data storing, incremental data, storing, and mode tracing.

A trans-

fer of operation to the noncompute mode or9neof the sub~outines is made toutilize this data.
The Noncompute Mode Section of the simulation program simulates the noncompute mode of the D17B computer.

The noncompute modeis'responsible forsynchronizing, idling','preparing1to, load,preparing to compute, 'loading data
into memory, and verifying "the contents' ,of, memory.
The Compute Mode Section of the simulation program simulates' the computemode of 'the D17B Computer.

The compute mode is'responsible for searching,reading, and writing memory and instruction' exec.ut1:on. 'abnormal program termination

S.ubroutine
DISPLAY~.,
ST ART

READING

o
o

c:T

&

NONCOMPUTE

STOP<..,fle{ld 8. Interpret
more Data

SECTIONabnormal program
terminatl.on

-P

~

..o

L.....t>-

Subroutine
fJlEMORY

K<RUt-J) or
KCS I N aLE)

COMPUTE
MODE

MODE

<D
'1

1-'

~

TRANSLATION

is

~d

s::!

Load Data:>-

SECTION--

HPR or KCSINGLE>SECTIONI
Subroutine-<LOAD->

Subroutine
STORE

4-

Subroutilio
FLAGSTO

Subrotlt inc
DISCHET

Subrout ilw
INCHEr}:;:_._-.'.,. Subroutine
UNLO!':D

<_.-

10

The subroutines as~ociated with the D17B Computer Simulation Program weremade for three purposes:
1. Those functions which were needed several times through the program
were created as subroutines. Subroutines falling into this category are
Subroutine LDA.D, Subroutine. UNLOAD, aha. Subroutine DISPLAY ~ Subroutine LOAD
provides the functio:p. .of.l,oad~ng, the .,contents of the accumulator into addressed
memory locations. Subroutine UNLOAD performs the funQt~o~ ~~ unloading an
addressed word of memory. The informationunlo~ded is. then used either as an.
instruction or an operand. Subroutine ,DISPI,.A~ prov~q.es the simulation program,"'-""-.

.

.

(.

j ' . , 'with the capability of displaying the binary contents Qf all registers andloops which are specifi~d by. the user. The contents of a register or loop isprovided as output only when the contents of that register or loop cha:Oges.
2.

Those ,functions which are only called from one place in the main

program, but which are of -such importance that a. separate location is beneficial to the organization of the simulation program., are also subroutines.
Subroutines in this . category are Subroutine STORE, Subroutine FLAGSTO, andSubroutine MEMORY. Subroutine STORE implements the D17B store (STO)
instruction, which stores the contents of the accumulator in the memory,,

location specified by the instruction register. Subroutine F,LA,GSTO
performs the function of deciphering the flag store locations bits of the..
instruction register. The contents of the accumulator are then stored in
the deciphered channel at the sector address associated with the first
wordtime of execution of the present instruction. Subroutine· MEMORY
provides the capability of displaYing th~ contents of memory (channels 00
thru 50) whenever a memory command is us~d. Only those portions of memorythat have . been wri.tten. into since·· mem?I7.was" .last.··initialized will be shownin the output listing •.
..

~

~

0/- • ," "

~

;

.

~ ••

3. Those f~ctiol'ls which Will not be. used ,very f;requently and could be
removed from the simulation program. if it' w.s determined that they were notreally neededarea:lso subro~tihes. However,' to be abl'e' to utilize all the
instruction set or the"-D17B' Computer' and all the channel designations, these
,

I.

"

:

~

,.

..,~

11

functions had to remain as a part of the simulation program. Subroutines
in this category are Subroutine DISCRET and Subroutine INCREME. Subroutine
TIISCRET provides the capability of entering discrete data and storing it
for use in a prograrrlsing the discrete input instructions (DIA or DIB).
Subroutine INCREME provides the capability for entering quasi-incremental
data into the four words of the V-loop or the four words of the R-loop.
The D17B Computer Simulation Program requires approximately J5K ofcore memory to execute on the CDC 6600 C9mputer. The majority of programs
require between two and five seconds of central processor time. In fiveseconds, approximately 1000 D17B instructions can be executed by thesimulation program.
III.

D17B Computer Simulation Language
The D17B Computer Simulation Language is the programming language which

was developed as the input data for the D17B Computer Simulation Program.
For purposes of describing this language, it has been divided into thefollowing categories:
1. Numbers and Load Codes
2.

Switches
J. Miscellaneous Inputs and Commands
The number systems and load codes accepted by the

Numbers and Load Codes.
simulation program are:Octal Numbers - 0, 1, 2, 3, 4, 5, 6 7
Binary Numbers - 0, 1

Load Codes - HALT, LOCATION, FILL, VERIFY, COMPUTE, ENTER, CLEAR, DELETE'l'h"'~e jifferent representations of the numbers and load can be specified
and will be accepted by the simulation program as valid data. These three
representations are Octal, Binary, and ASCII. The Octal representation represents the type of input that would be supplied from a teletype keyboard or
switches on a control console. The Binary representation represents the typeof input which appears on the character'input lines going into the D17B

12

Vomputer. The ASDII representation represents the type of input data on apunched tape which can be entered into the D17B Computer by a tape reader.
The numbers and load codes in the three representations are as follows:
ASCII
Binary
Octal
Numbers -Re12r esentation
a
1
2

J
4
5
6

Load Dodes -7
HALT
LOCATIONFILL
VERIFYRsU2r~sflnta tion

10000
00001
00010
10011
00100
10101
lalla
00111
01000
11001

Re12rflsflntation
a
1
2

J
4
5
6

7
8
9

110~0

Z

01011

;

11100
<
01101
CLEAR
01110
?
DELETE
11111
Switchese With the simulation language in this category, it is possible tospecify switches and designate a setting or mode. The simulation program
COMPUTE
ENTER~

accepts these switch designations and provides this information to program
variables associated with the switches. The form for specifying switches
is as follows:
Switch(Arg)
where Switch is theq.esignated switch mnemonic name, and Arg is the switch
setting or mode position of the switch. The switches and allowed settings

13

are as follows:
Switch Name

Switch Mogmonic & Settings

Timing Signal
Power On/Off Switch
Initiate Loading Switch
Master Reset Switch

T(ON)
PR(ON), PR(OFF)
FS(ON)
MR(ON)

Cold-Storage ~ite Switch
Discrete Switch
Mechanical Input Switch
Compute Mode Switch

EW( ON), EW( OFF)
Db(ON), DD(OFF)
IM(ON)K(HALT), K(SINGLE), K(RUN)

Miscellaneous Inputs and Commands. The simulation language iI.1 this category
provides many functions. The functions that will be described are listed asfollows:
Register and Memory Display
Mode Tracing
Execution Specification
Register and Memory Display. The binary contents of any of the registers(A, I, L, N~ or loops (U, F, E, H, V, R) can be displayed by use of the registercommand. The register command has the following form:
REGISTER(Arg)
where Arg is a list of the registers. and/or loops to be displayed.
To. display the Gontents of memory (channels 00 thru 50), a memory commandis used. The memory command has the following form:
MEMORY(Arg)
where Arg is the type of display requested, either BINARY or OCTAL.
Mode Tracing. MOde tracing is used in deciphering the contents of aprogram. In the noncompute mode, the modes of operation are listed as output.
In the compute mode, the instruction being executed is listed as outpUt and aflag store is indicated if it was programmed. The mode tracing capability is14requested by a signal command with the following form:
SIGNAL
Execution Specification.

There are numerous occasions when a programmer

will inadvertently write a program which loops on itself resulting in eXecution
going on to infinitum.

To prevent this from happening in the simu1~tedcomputer,provisions were made for counting ~he 'number of execution cycles in' the 60mputemode and terminating the program run when the number exceed~aspecified ~ount.
'The programmer can specify th,e number' of executions allowed' by an eXecute; command.

"
The form of the executecommand is as follows:

EXEGU'~(Arg)

where Arg is any four digit deci~l n~ber from 0000 to 9999.
Other misce11aneo'us inputs and'command'providethecapability of settin.g

and clearing f1ipflops~ initialization of the" contents of memory and certain
specified variables, storing of discrete input data, and storing of quasi...
incremental input data.
PrOgramming Methods. D17B programs are executed on the simUlated computer,

by arranging the simulation language in a program form.

,

D17B programming

techniques are described, in the Minutemab. Computer Use,r'S Group Programming
Manual (Ref 1). The simu1ation program allows data to be input without aformat, so a programmer can write a continuous program With each simulation
language word separated by a blank.
The approach' for arranging' the input 1a'nguage.. in program form foundmost advantageous by the author is to visualize a hardware control consolewith switches for each element of thesf.mulation language'.

To"write a program

then requires that the programmer write' down the simulation language word foreach switch that he would push on theco1'l.sole.

This approach works because of

the similarity between the simulation program and the'hardware ver'sion of theComputer.
An example program which wa:s:' run on the simulated cOmputer has been
included in this paper as Appendix A.

15IV • Cgppl,uion
The lott'lfare simulation program ot the D17B Computerprelented in thispaper hal been operational linoe November 1m. The simulation program wasde",eloped to simulate thetunot1ons of the D17B Oomputer. One of the objeotives,ot this limulation wal to have the ,Iimulation pro,rd. lillUlate the aotual oomputer al ololel,. al pollible. This objeotive wal lDet beoause the _jorit,. ofthe In.7! tunotiol1l have been i1101uded in the ,simulation prOll'''. The loading
aDd interaotion funotionl ot the nonoompute mode have been used. In the
88apute mode, the learohing, readiDlh and. writil1l.lIIID017 and inltruo't;ion exeoution are all part of the siJlulation proc.raa. Wherever po••ible, the lame
allOrithm illplelDented. on the Dl7B' WILl Uled in'the· .imulat1on program. Thi.
a~roach re8Ulted in lome i08£fioie11Oiel in the simulation program, but aby-produot ot usi. the .... al,orithm i. that the liDIulation proaram OaD beused a. a teaohiDl aid tor learrd.ni the operatiollot the »1'18 Oomputer. .uIO
, enol" deteotion va. bui1t into the .imulation 'proar" aJ2d hal been "'e1"1 helpfulin creatiDl proar" tape. to be run on the D17B Ooqmter.

IiliJi ARf.Pht
Bttot, O. H. WI 0SJllWderf:£Mt.'M MeMl. "port ICt1O-4-71.
." Orlean., Louisiana. Tulane Unt"'eraityS,. . . LaboratOl7, Department
or .1ectrioallltllineeriDl, September 1ml.
.

2.

i

Ohatterton, B. §gnarl I' POltiQA Q& the. MilQ1itan IlJ.'lI Q'8PPtv.
Malter The.i.. Wri,ht-Patteraon AlB, Ohio, Air 'oroe lnstitutn ot
Technolol7, Department ot Il.•ctrioalll'lli!1lerin~b Maroh 1972.

3. Olm, I.
Je1"878.IPtrgd'lQi;1on tOOC81?1rl;ef OrI'P1Milg.

Prentioe-Hall, Ino., 1970.

_l.wood 01itt., lew

,if,l ' OUTPUT 'I IOlU':D1SPOSEDTOPJUNTER. tyPE "I''' AHI) "yotfRNArU:"C OTHEJt""
WISE TYPER• H'****.****.***********************************"'****************
D178 COPlPUlER**.**."'* ""'*SIMULATION PROGRAM**,*****.*********~************************.********** •• *••••
*.*

OATE=

TIME:

03/07/12•• "UNrOUT OF INPUT '~OGRAPJ(ENTER PROGRAM'

J4.28.'8**

S ADDI Tl OH It 1"L£ PROGRAM
pltC ON) MRlotU FlU O,N) twUltU 'ILL
4It010002IHTE1t640l0008EHlER CLEAR 1 ENTER
i'lEf'10RY( OCTAL) PUt( ON) EXEcutE'OOD.) SIGNAL R[GIITlRC A) J( CRUN)
'p IU

0''''

** RESULTS 0' IlI'IU&'ATION **"'* MEMORY 'DUM' *.
CHAH . SECt

00000

440aooos

77777777

00000001•• gHD O,.M".CRYDUMP.. ", (PORTlONS OF "tMORY, NOT LlstED CONTAIN NO
INFORMATION PAODUCED BY THE 'RISEln 'ROGa,," RUtH
H(j. 0' El(ECUr'Cltf• .,EC1'IEO i,.81 GHAL ON" MOllIIWILL. 8£ TRACED

0(4) I'O(2)'Utl 1I>LI IUI-MOO£ 0' HA.HUAL. HA'-t
PRIPARE rOCOMPUtE lua·MOOI 0' MAHUAL. HALT
COl1PUTE PlOOI
TMA.'ER lHlT'UIC'UOH- (TRA)'I'"'

CLiA. ,. AID 1HI'ltU<:,"lO' -(Ct.A),'A(14·1):000 000
000000 000 001
AUD t HI TRUC tl 0;., til , (M)'J
A(24-.) : 000 000000 lot 000 000 010010

NO. 0' EX£CUTIOtfS KA\I£EXCEEDiO Hp. SPEct"Er) .. 'JOGRA, TERMINATED
au. AtfOTHERPROGRAt'S TyP' RUtl, TO ITOP tyPE HALT .. HALT'0..

Elf0 OF '''OOOAM

14.3.1 .14 .stOP

EXECUTION TIM!:

.777

SEC

APL SIMULATION OF THE Dl7B
HARRY S. WARFORD, CAPT, USAF, BSC*

Introduction
A simulation of the Dl7B serves a broad spectrum of applications.
It allows a rapid development of software by not only emulating the basic
machine, but by providing an inexpensive and rapid means of providing alarge array of outputs. All manner of I/O devices can be simulated fordevelopment when the actual application may be dedicated and require few,
if any, I/O devices. Additionally, the simulation is useful where no
Dl7B exists. Students can receive hands-on experience with many typesof machines by merely calling on a simulation such as the one underdevelopment here. Program debugging likewise proceeds at an accelerated
rate since all the powers of a large system are available with built-in
tracing routines.

Program Development
This simulation is by no means complete at present but has beendeveloped in strict accord with actual machine procedure so as to renderit easily expandable to a full simulation. The serial nature of the
D17B has been preserved at the word level by controlling the simulation
with a sector counter advancing one sector at a time as in the rotationof the disc memory. Figure I is a simplified flow chart for the machine
and illustrates how each phase is controlled by tests performed on the
sector count.
Development from this flow chart proceeded with APL on an IBM 360
series system and later on an IBM 370 series system.** APL has provento be an ideal language for this simulation due to its inherent capability
to handle vector quantities. This was the author's first encounter with
APL, hence many of the expressions are not as efficient as they could be.
However, the development proceeded with few difficulties to the wide choiceof APL operators.
The main program illustr.ated in Figure 2 was first developed withdummy instructions in place of the execution routines. Those routines not
yet implemented are left in as dummy statements providing only a printed
indication of proper decoding. As development continues, some of thesewill be deleted entirely as they produce outputs that cannot effectively
be simulated or have no apparent use in a general purpose system.
*To be presented by Major M.A. Jenkin, USAF, MC**This simulation was started during a course taken by the author at
Trinity University, San Antonio, Texas.

Along with the basic program, several short routines are provided
to simulate necessary panel switches to allow program loading andexecution start. These are given in Figure 8 and will be discussed ingreater detail following the discussion of the main routine and execution
routines.
At present, twenty-two instructions have been successfully simulated.
Most of these were straight-forward but for clarity all are listed herewith comments as to considerations given for simulation.
CLA: Clear and Add. Present operand, now in
N-register, replaces contents of A-register
ADD: Add. Contents of A-register and N-register
added modulo 16777216.
SUB: Subtract. Contents of A-register and complementof N-register added modulo 16777216.
MPY: Multiply. Sign of product predetermined; contentsof A-register saved in L-register; rounded product ofmagnitudes formed then corrected for proper sign.
Sector counter advanced 12 additional counts.
SAD: Split Add. Contents of N-register and A-register
decoded into split format and center bits of A-registersaved. Split words added independently but simultaneously
modulo 2048. A-register reassembled.
SSU: Split Subtract. Contents of N-register split andcomplemented. Jump to SADI to complete as normal spii.t
add.
SMP: Split Multiply. Middle of L-register saved; contentsof A-register encoded into split word format and saved
criss-cross fashion in L-register. N-register encoded into
split word format and signs independently but simultaneously
predetermined. Products of magnitudes formed then correctedaccording to each predetermined sign. During process, products
are rounded. Sector counter incremented 12 additional counts.
COM: Complement.
subtraction.

Contents of A-register complemented by

MIM: Minus Magnitude. If contents of A-register are notnegative they are forced negative by jumping to COM.
ANA: And to A. Contents of L-register and A-register are
encoded into 24-bit vectors and logically anded bit by bit.
REsults are decoded into 24 place binary number and left
in A.

ARS: Accumulator Right Shift. Contents of A-register
shifted right by division with simulated loss of rightmost bits by floor value if original A-register not negative.
For negative A-register, complement of A-register is firstshifted then complemented to provide for extension of signbit. In either case, sector counter is incremented
appropriate number of counts as determined by number ofplaces shifted.
ALS: Accumulator Left Shift. Contents of A-register shifted
left by multiplication and limited to 24 bits by residue
modulo 16777216. Sector counter incremented appropriate
number of counts as determined by number of places shifted.
SAR: Split Accumulator Right Shift. Contents of A-register
encoded into split word format and middle bits saved. Eachhalf word shifted right by scheme similar to ARS. Arregisterput back together and sector counter incremented appropriate
number of counts.
SAL: Split Accumulator Left Shift. Contents of A-register
encoded into split word format and middle bits saved. Left
shift of each half word proceeds as in ALS. A-register
reassembled and sector counter incremented appropriately.
SLR: Split Left Word, Right Shift. Contents of A~register
encoded into split word format and middle bits and right word
protected while left word shifted right. A-register reassembled and sector counter appropriately incremented.
SRR: Split Right Word, Right Shift. Contents of A-register
encoded into split word format and middle bits and left word
protected while right word shifted right. A-register reassembled and sector counter appropriately incremented.
SLL: Split Left Word, Left Shift. A-register encoded into
split word format and middle bits saved. Left half word
shifted left; jump to SALI to reassemble A-register and adjust
sector counter.
SRL: Split Right Word, Left Shift. A-register encoded into
split word format and middle bits saved. Right half word
shifted left; jump to SALI to reassemble A-register and adjust
sector counter.
TRA: Transfer. Fetch instruction specified by transfer
ins-truction. Change active channel register.

TMI: Transfer on Minus. If contents of A-register positive
continue to next instruction. If negative execute TRA.
STO: Store. Correct operand address to allow for physicalplacement of write head and store contents of A-registerat the corrected address.
HPR: Halt and Proceed. Type out PROGRAMMED HALT and proceed
only after GO has been typed into terminal.

Results of Execution Routine
Example of instructions were prepared as three-line programs with asimulated binary display providing the output. Additionally, a longer
program was prepared and the accumulator monitored by a simulated octal
display. The results are too lengthy to present here but have proven to
be faithful copies of the machine results.

Utility Routines
As mentioned earlier the main program is supported by short simulationsof pertinent panel functions. The three programs in use to date are listed
in Figure 3. These programs treat the instructions and data as though they
were eight place, octal, whole numbers whereas the D17B number range isapproximately! 1.
MRC simulates the master reset function and presets· the I-register
to TRA to channel 0, sector O. The FILL Routine accepts the octally coded
instructions and data with the exact coding used in the actual D17B systemat the School of Aerospace Medicine. RUN places the computer into operation.
No equivalent to halting the comput~r by moving the switch out of RUN has
been implemented. Instead, the attention button is being used.

Conclusions and Projections
An effective simulation with considerable attention to detail has
been started for the D17B.
Three tasks remain to complete the task: 1) simulate the remainderof the instructions, 2) include the flag store feature, and 3) include
the rapid access loops.
Following completion of the D17B simulation, a logical next step
might include an assembler to run on the D17B but designed on the simulation.

SET
SECTOR
COUNTER

FETCH & DECODE
INSTRUCTION
INCREMENTSECTOR
COUNTERNO

FIG. l.a.

FLOWCHART FOR D17B

B

INCREMENTSECTOR
COUNTERNOREAD

OPERAND

YES
FLAG
STORE

EXECUTB
INSTRUCTION

FIG. 1. b.

FLOWCHART FOR D17B, CONT.

''>'4.(...0[2][3J

MACHINEOP'l,X+-25pOPEHR
OPFX+-32pOPERR
OPC+-ZERO,SCL,TMI,OPERR,SMP,MPY,SMM,MPM,FORTY,CLA,TRA,[4J

SECT+-l?127

V[lJ

S~O,SAD,ADD,SSU,SUB

[5j
[6 J

IS:+(DI[2J=SEC~)/UECOUE+IS ,SEC'l'+-128 I (S8Cl'+1)
lBCODE:DI+-, 16 2 128 32 128 TM[C;SE.'C:l'J[8j
U+-DTO AR[ 9]
SEC '1'+-12 8 I (S ECl' + 1 )[luJ +(DI[O]€ 0 2 8 10 11)/NOOP[11J CPER:S8CT+-128ISECT+l
[7J

[lLJ

+(DI[4J~SEC1')/OPER[13J
lffl+M[DI[3];DI[4J][14J NOOP:+(DI[lJ=O)/UNPLG[15J +UNFLG,pU+-'A SPORED'[16] UNPLG:+OPC[DI[OJJ[17J ZERO:OPZX[8,9,10,11,12,13,14,15,24]+SAL,ALS,SLL,SRL.

SAR,ANS,SLR,SRR,COA[18J -t]PZX[DI[3]][19J SAL:ARSP+, 2048 4 2048 TAR[20J MID+-ARSP[l][21J
ARSP+,2048IARSP x 2*DI[4][22] SAL1:AR+(8192xARSP[OJ)+(2048xMID)+ARSP[2][23] +IS,pSECT+128IsECT+1rDI[4][24J ALS:AR+16777216IAR x 2*DI[4][25] +IS,pSECT+128IsECT+1rDI[4][26J SLL:ARSP+, 2048 4 2048 TAR[27J MID+-ARSP[lJ[28J +SAL1,pARSP[OJ+2048IARSP[OJ x2*DI[4J[29] SRL:ARSP+, 2048 4 2048 TAR[30J MID+ARSP[lJ[31J +SAL1,pARSP[2J+2048IARSP[2J x 2*DI[4J[32J SAR:ARSP+, 2 1024 4 2 1024 TAR[33] SAVE+ARSP[ 0] ,ARSP[ 2],ARSP[ 3 J[34J ARSP+LARSPt2*DI[4][35J
AR+-ARSP[4J+(8192xARSP[lJ)+(2048xSAVE[lJ)+(SAVE[OJx«
2~(DI[4J+l)pl)x2*(23-DI[4J»)+(SAVE[2Jx«2~(DI[4J+l)p1)x2*(10-DI[4J»)

Figure 2 . a.

Main Program[36j+IS.pSECT+128ISECT+1fDI[4J
ARS:+(AR>8388607)/ARSl+ARS2.pAR+LARt2*DI[4J
ARS1:AR+16777216-f(16777216-AR)t2*DI[4]ARS2:+IS,pSECT+128ISECP+lfDI[4]SLR:ARSP+, 2 1024 8192 TAR
SAVE+ARSP[0J,ARSP[2]ARSP+LARSPt2*DI[4J

[37J
[38J
[39J
[40J
[41J
[42J
[43J
[44J

AR+SAVE[lJ+(U192xAHSP[lJ)+(SAVE[O]x«2~(DI[4]+1)p1)x2*(23-DI[4]»)[45J+IS.pSECT+120IsECT+1rDI[4][46] SRR: ARSP+. 8192 2 1024 TAR[47 J SA VE'+ARSP[ 0 J,ARSP[ 1][48J
ARSP+LARSPt2*DI[4J[49J
AR+ARSP[2J+(2048xSAVE[0])+(SAVE[1]x«2~(DI[4]+1)pl)x

2*(10-DI[4]»)+IS.pSECT+128IsECP+1rDI[4J[51J COA:+IS.pO+'COA'[52J SCL:+IS,pO+'SCL'[53J TMI:+(AR>8388607)/TRA[54J+IS[55J OPE'RR:+O,pD+'OPERR'[56J SMP:LSP+ 4 2048 TLR[ 57J
AR S P+ 2 04 8 4 2 04 8 TAR[58J MID+ARSP[lJ[59J
LR+ARSP[OJ+(2048xLSP[OJ)+(8192xARSP[2])[60J
NRSP+ 20484 2048 TNR[61] SIGN+(ARSP>1023);.e(NRSP>1023)[62J
PROD+(ARSPL2048-ARSP)x(NRSPL2048-NRSP)[63J
LPROD+LPRODfSIGN[0]x2048-LPROD+(+/ 1024 2 512 TPROD[OJ)-512TPROD[0][64J
RPROD+RPBOVrSIGN[2Jx2048-RPROD+(+/ 1024 2 512 TPROD[2J)-512TPROD[2][65J AR+(8192xLPROD)+(2048 x MID)+RPROD[66J+IS,pSECT+128ISECT+6[67J NPY:SIGN+(AR>8388607);.e(NR>8388607}[68] LR+AR[69J
PROD+ 8388608 2 4194304 T(ARL167.77216-AR)x(NRL
16777216-NR)[70J
AR+PROD[ O]+PROD[ 1J[50J

Figure 2 .b .

Main Program, Cant.

[71] AR+ARrSIGNx1G777216-AR[72] +IS,pSECT+120ISECT+12[73] SMM:+IS,pO+'SMM'[74] MPM:+IS,pO+'MPM'[75J FOHTY:OPFX[l,4,5,8,9,11,12,13,14,17,lB,19,20,
21 ]+BOC, BOA, BOB ,RSD, HPR, DOA, VOA, VOB, VOC ,ANA ,MIM. COM,
DIB,DIA[76] OPFX[24,25,28,29,30,31]+HFC,EFC,LPR,LPR,LPR,LPR[77] +OPFX[DI[3]][78] BOC:+IS,pU+'BOC'[79J BOB:+IS,pO+'BOB'[80J BOA:+IS,pO+'BOA'[81J RSD:+IS,pU+'RSD'[82J liPR: 'PROGRAMMED HAL'i"[83J WAIT:START+~[84J +«2tSTART)='GO')/IS[85J +WAI'l'[86J DOA:+IS,pU+'DOA'[87J VOA:+IS,pO+'VOA'[88] VOB:+IS,pO+'VOB'[89] VOC:+IS,pO+'VOC'[90J ANA:+IS,pAR+2~«24p2)TAR)A«24p2)TLR)[91] MIM:+(AR>16777215)/IS[92J COM:+IS,pAR+1G777216-AR[93J DIB:+IS,pD+'DIB'[94J DIA:+IS,pO+'DIA'[95J HFC:+IS,pO+'HFC'[96J EFC:+IS,pO+'EFC'[97J LPR:+IS,pO+'LPR'[98J CLA:+IS,pAR+ml[99J TRA:+IS,p(pC+DI[3J),(pDI[2J+DI[4J)[100JSTO:SECT+12BlsECT+l[101J +(DI[4J~SECT)/STO[102J +IS,pM[DI[3];(12BISECT-2)J+AR[103JSAD:NRS+, 2048 4 2048 TNR[ 1 0 4 JSAD 1 : AR S P+ , 2 04 8 4 2 04 8 TAR[105 J i4ID+ARSP[ 1][106] ARSP+204B I ARSP+NRS[107] +IS.pAR+(8192 xARSP[O])+(2048xMID)+ARSP[2J[108JADD:+IS,pAR+16777216IAR+NR[109JSSU:+SAD1.pNRS+2048-(, 2048 4 2048 TNR)
[l10JSUB:+IS,pAR+16777216IAR+16777216-NR

Figure 2.c.

Main Program, Cont.

VFILL[UJv
V PILL[lJ'PROCEED'
READ:L+I!]
en[3J~ox\A/(3pL)='END'

[4J
[5J

~«(-ltL)='/').«-ltL)='V'»/LOC.ENT

LR+OO TV ( 8 t - 9 t L)

[6J

~REAV

[7]
[8]
[9]

LOC:~READ,pIR+LR

ENT;ADR+ 32 128 TIR
M[ADR[O];ADR[l]]+AR+LR[10J
IRS+ 131072 128 TIR

[llJ

v

~READ.pIR+(IRS[0]x131072)+128IIRS[1]+i(a)

VMRC[ OJ V
V MRC

[1]

IR+l0485760
V(b)

VRUN[O]V
V RUN

[1]
[2J
[3]

DI+ 16 2 128 32 128 TIR
C+DI[3J
MACHINEV(c):fig!.lX"e 3. aJFill Routine, b) Master Reset, cl Run Routine

27

A Hardware Divider for the Dl7B Guidance Computer
by
Alfred M. Williams
The Boeing Company
Houston, Texas
andJ. D. Bargainer
University of Houston
Houston, Texas 77004

The Dl7B Guidance Computer for the Minuteman I, ICMB is capable of performing addition, subtraction and multiplication throughhardware algorithms.

However, division must be performed througha software routine.

A hardware division c.apability can be acquiredby modifying the Dl7B operation codes and by incorporating additional hardware.
DI7B.

This paper outlines such a modification to the

The division algorithm is presented along with a descriptionof the hardware operation.

The divider is designed to performfull-word and split-word division and determine a fractional quo~tient and "remainder.

Both the quotient and remainder are' accessi-

ble to the programmer through the computer registers once theoperation is complete.
The Division Algorithm
A non-restoring division algorithm was desired that was capable of performing division. with either positive or negative num-'bers in either the dividendi or divisor.

It was also desired thatthe algorithm be easy to implement on the DI7B.

28
A divider; algori thm which ~ee:l:s these r,equ;irements
is the.
..
~following fractional divide algorithm.

.

To find x/y = q l oq2 ••• qn

1.

Let ro = x ero is the first partial remainder)

2.

Let
q

3.

=
1

1 if'ro and y have the same signo otherwise

Iterativelyr.~= 2r. 1+(1-2q.)y~-~lifr±_l and y ha,ve the same signq. =:.
~O otherwise
:
"
~

.

The partial remainder r. isthere,fore found by, left~

shiftingr i-1' ,and th,en ad;¢ling,,'yifr q'i is 0 and s:ubtracting y if qiis 1.
4.

;".,'

Repeat the ,i tera,tionn ,tJ.mes , or, Ul1,til ,the pal;"t.::.ial,
remainder is z'ero.'5.

Add L 000.~1 to correct the quot,ier:t.

6.

When r.~7.

When r f - 0 then correct the quotient by: 'addinSJ= 0 then q. ::::. ,1, and qj = 0

1.000 ••• 0.

~'"

j.> i.

';.:The divider algorithm implemented on the:D17B closely fol.,..
lows this outline; however, the last step in ,the process, correctionof the pse:udo q:uotient",is no~ perfo:r'med,by adding acorrection .factor~.. I,nstead., the sign digi,tis pomplemented anda "1" is forced ,into the ,leas-.t ,sig:nifi,cant.::. dig.it.::. if the remainder
is non-zero.

The end resu .lt of this ,technique;is the same as29that acquired by adding the correction factor to the pseudo quotient.
The division operation designed for the Dl7B assumes thatthe dividend is stored in the accumulator.

The division instruc-tion is interpreted by the instruct.ion processor and a divisor isloaded into the number (N) register from the specified memory
address.

At the end of the division operation, the quotient isstored in the accumulator and the remainder is stored in thelower accumulator.

This arrangement was chosen because the quo-tient was desired after most division bperations.

In the casewhere the remainder is desired, it is possible to transfer itfrom the lower accumulator to the accumulator by loading alII's
into the accumulator and executing the ANA instruction.
It was necessary to add a delay flip· flop to the accumulator
to perform the left shift required by the division algorithm.

A

delay flip flop was aisoadded to the lower accumulator so thatthe quotient digits could be stored in the proper order.
logic was designed to do each of the following tasks:

Control(1) forcethe least significant bit of the partial remainder to "0" prior
to each add cycle, (2) determine whether addition or subtraction
was performed _during the next add cycle, (3) determine the quo;...
tient digit and store it in the lower accumulator, (4) monitor theaccumulator for a zero remainder, -(5) correct the pseudo quotient,(6) count the number of shifts performed to determine when30

the operation was completed.
The design took into account one more characteristic of theDI7B.

The D17B operates on two types of numbers, full-word andsplit-word numbers.

A full-word number is composed of 24 bits,of which one bit is a sign bit • . A split-word number is composedof two ll...,.digit numbers.

As a result, two different division

operation code.s were required, one that would perform fl1~l-worddivision and one that would p~rform split-word division.
Divider Design
The D17B has 16 .basic operation codes.
used.

All 16 codes are

Each operation code is determined by the state of th~ four

flip flops, 04, 03, 02, and 01.

Four of the operation .codes areused for multiplication, two are used for split-word and fullword "normal" multiplication and two are used for split- and fullword "modified" multiplication.

The mqdified multiplication op-

eration was redundant to.the normal multiplication operation andwas replaced by the division operation.
To delete the IImodified" multiplication operations, it wasnecessary to modify the multiplication enable signals, OMO, OMF,
and OM.

Each of these signals enabled a period in the multipli-

cation operation and was modified by ANDing the 02 signal withthem.

During multiplication the 02 flip flop is.. used as the

addition/subtraction indicator to the carry/borrow flip flop, Ak.
The Ak flip flop was enabled for addition if 02 was true and for
subtraction if 02 was false.

This function could no longer be31performed by the 02 flip flop and a' spare flipflop replacedit.

After these modifications were completed, two operation

codes were available for division'~
04 03 02 01,

The operation code',(34) i was us'ed'for' full-word division and,0'4 03 02 01 (30), was used for split-word: division.

The 01flip flop was used to distingu'ish"be'tween:"full-word andsplit-word division.
The operation codes chosen'for division" maintained two of
the "modified" multiplication operation' characteristic's.

First,

the number located at the specified memory address wasautomatically loaded into the N register during the first cycle of division.

Second", the Q flip flop was one set at the end of thefirst word time of division.' A spare flip flop in the computer,labeled the DIV flip flop, was used'to designate .the division
operation.

The first word time of division was indicated by thesignal (DIV Q).

All remainin(~r word times' were indicated by thesignal (DIV Q).

The D flipflop was' u'sed to 'separate the middle

word times from the last word time.
A word time counter is initialized during'thefirst word timeof 'division.

The counter is composedofthe'CB,5--CBlflip flops.

These flip f lops" are des igrted' to coun tdowna t Tptime.' , They are
initialized to (24) or (11000) 2 for full-word, division and (11)10
or (01011)2 for split-w6rd division.

At Tp time of the first word

time the, accumulator recirculation 'control flip. flop, Ac, is set.
This disables normal recdrculation o£ the accumulator flip flops
and makes it possible for the, accumulator to be extended by one

32
bit.

The one bit extension creates. the one bit shift required by

the divide algorithm.

Also, at Tp time of the first word time, thelower accumulator recirculatioI) control flip fJ.op, Lc, is set.
This disables normal recirculation Of tl1.e lower accu;m,ulator flip
flops and makes it possible for the lower accumulator. to be extended by one bit.

The lower accumulator is used to store the pseudo

quotient and the one bit delay is required so that the quotient
bits will be stored in the proper order.

During the first word

time of division, the divisor is loaded into the N regis~er frommemory_A spare flip flop designated the N2 flip flop CopiE:sthesign of the divisor loaded into the N register.

The sign of thedivisor is compared with the sign of the. number in the accumulator.
If both signs are the same the N~ flip flop is set.
differ, the N2 flip flop is reset.

I~

the signs

After the N2 flip flop has com-pleted this operation, it indicates whether addition or subtraction
is performed during the next add cycle.

It also indicates the proper

pseudo quotient digit.

This logic isoperatipnal only if a non-zero remainder exists.

If a zero remainder does exist, then the N2

flip flop logic is modified so that the flip flop is set at the nextcompare time and reset for all remaining modify times.

The C5 flip

flop performs a delay so that the detected addition/subtraction
operation information will be available during the add cycle.

Itcopies the N2 flip flop at TI time during full-word, division andat Tp and Tl2 time during split-word division.
During the middle word times the dividend, located in theaccumulator, is shifted to the lei't and the divisor, locC'l.ted in

33

the N register, is subtracted from or added to it.
The shift of the dividend is performed by adding a delay
flip flop to the accumulator.

The C4 flip flop was used toprovide the required one bit delay.

Extended Accumulator-

Logic for the C4 flip flop is designed so that it will
copy the Ax flip flop.
The Ap flip flop is designed to copy the C4 flip flop.
A23 flip flop copies the A24 flip flop.

The

The A24 flip flop is

designed to function as the adder/subtractor flip flop during
division and theAk flip flop is used to determine the carry or
borrow.

Addition/Subtraction time is determined by the Nl flip

flop (a spare flip flop).

The add cycle is initiated at T2 timeand continues through Tp time for full-word division.
word division the cycle occurs from T2
time.

~

For split-

T13 time and TIS - Tp

If a zero remainder exists, the add cycle will not be

initiated.
The SB3 flipflop is used to copy the adder flip flop anddetermine if a zero remainder exists.

It is reset prior to eachadd cycle and set whenever the A24 flip flop is true.
The J and C2 flip flops are used to store the remainder
status.

Both flip flops are initially reset during the firstword time.

The J flip flop determines if a zero remainder exists

34

in the least significant split word during split-word division.
It. copies the SB3 flip flop at T13 time," during spli t-woiddivision and the C2 flip flop during full-word division.
The C2 flip flop determines if a zero remainder exists
during full-word division or in the most significant split word
during split-word division.
time.

It copies the SB3 flip flop at Tx

The lower accumulator stOres the pseudo quotient 'gener-

ated during the middle word times of division.

It is extended by

one bit through the addition of the C3 flip flop.

Extended Lower Accumulator
The one bit delay is required if the pseudo quotient digits
are to be stored in the proper order.

The loop re.circulation

control flip flop for the lower accumulator, the Lc flip flop,
has previously been set during the first word time of division,
so that the C3 flip flop can copy the Lx flip flop at the beginning of the second word time.

The C3 flip flop is also de-signed to function as the quotient flip flop, that is, the C3
flip flop is responsible for decoding and injecting into the lower
accumulator the pseudo quotient digit.
place at To time for full-word division.

This detection takes
It is accomplished byrequiring the C3 flip flop to copy the N2 flip flop.
During split-word division, the pseudo quotient is detected
at TO and T13 time.

At these times, the quotient digit 1.S stored

35

in the C5 flip flop and it is necessary for the C3 flip flop to
copy the C5 flip flop.

When the C3 flip flop is not detecting aquotient digit, it copies the Lx flip flop, as previously stated.
The Lp flip flop is designed to copy the C3 flip flop during
division.

The L24 flip flop copies th Lp flip flop during divi-sian.
The operations just discussed are performed recursively during the middle word times of divisiono

At the end of this period,

the pseudo quotient digits are stored in the lower accumulator
The remainder is stored in the accumulator

00

During the last word

time of division, the pseudo quotient is corrected and transferred to the accumulator and the remainder is transferred to thelower accumulator.
The remainder is transferred from the accumulator to the lower accumulator by having the Lp flip flop copy the Ax flip flop.
Correction of the pseudo quotient is performed by the A24 flip
flop and the C3 flip flopo

The A24 flip flop is responsible forcomplementing the sign digit of the pseudo quotient.

It comple-

ments the Ap flip flop at Tp time during full-word division andat Tp and T12 time during split-word division.
The least significant digit of the pseudo quotient is forced
to "1" by the C3 flip flop if the remainder is non-zero.

Duringthe last word time of division, the C3 flip flop is set or resetat TO time for full-word division and at TO and Tl3 time for splitword division, depending on the remainder being non-zero or zero
respectively.

The transfer of the pseudo quotient from the lower

36
accumulator to the accumulator is performed by the Ap flip flop.
It copies the C3 flip flop during the last word time of division.
At the end of the last word time of division, it is necessary
to reset the recirculation control flip flops for the accumulator,
Ac, and lower accumulator, Lc and to reset the DIV flip flop.
The logic to implement the division algorithm was constructedon three cards with the same size and shape as the logic cards ofthe D17B.

All flip-flops used in the modification were spareflip flops already in the computer and only gating logic was added.

Approximately 350 diodes were used on the three cards.
Complete documentation of this modification including, wir-

ing lists, circuit diagrams and negatives for etching the boards
is available and we would be happy to send this documentation toanyone requesting it.
Bibliography
YaohanChu, Digital Computer Design Fundamentals, McGraw Hill

Book Company Inc., 1962
Autonetics, Minuteman Computer Logical Description Engineering
Manual 2065

14 January 1960

Air Force, General Purpose Digital ComputerllG2-10-5-3-5Technical Order

December 1960

Air Force, Digital Computer Electronic ModulesllG2-10-5-3-l0

15 October 1962

Technical Order

37

STATE DESCRIPTION OF Dl7B COMPUTER
Gary B. Lamont
Capt DouglasJ. Allen
Electrica.l Engineering Department
Air Force Institute of Technology
Wright-Patterson Air Force Base, Ohio

45433

ABSTRACTThis report presents a state description of the D17B Computer. A setof control flipflops were chosen and from this choice the states of theofcomputer Were defined. The discussion of each state includes a set
register transfer equations that enumerate the information transfer duringthat state.
This approach was taken to present a compromise between a simple veitch
diagram of the computer modes and a complete listing of the logic equations
for the computer. Hopefully, this description will not only be a graphic
study plan of the machine, but also an aid for maintenance and trouble
shooting.
Introduction
A state description of the D17B Computer is a method of portraying thefunctional operations of the computer using the configuration of the control
flipflops •. A given configuration of the control flipflops is defined as astate of the computer and the paths between the states represent the functional
operations. A set of register transfer equations that outline the informationtransfer between registers may be added to complete this description.
This approach is used for computer synthesis by Chu (Ref 2: 396-429) andis one basic method of. modern computer design. As an analysis technique thismethod places the burden of defining which.flipflops are to be considered ascontrol flipflops on the analY~er~ After this decision is made, the process

38

is straightforward.

In this presentation two primary considerations were used

to choose the control flipflops. First, an effort was made to define thestates so that the state description would parallel previous descriptions of
the machine. Secondly, the control flipflops were chosen to make the descriptionlas simple and concise as possible.
A state description offers three advantages: (1) it presents a systematic
way to study the machine, (2) the description presents a definite path to follow for maintenance checks, (3)veitch diagram presentation.

this method presents more detail than theState Description of the D17B
Operation of the D17B may be described by considering the various configurations that the control flipflops enter when the machine is executing a
program. Thus, a state of the machine is defined by a particular configurationof the control flipflops. States may be represented on a diagram which depicts
the various paths that the machine may cycle through during program execution.
This state diagram may be used in conjunction with a description of the information exchange between registers to completely describe the machine operation.
State descriptions have the advantages of being a visual description, thus
easily understood and capable of displaying large amounts of information in a
concise form. Even more important, the state diagram provides a systematic
approach for describing how the computer functions.
Register Transfer Notation. In order to conVeniently describe how information is transferred between registers during each state, it is necessary toadopt a type of shorthand convention to condense the description. The symbols
usually used in this notation are an adaptati~ of the system used by Chu,
Ref 2: 378.
State Diagram. In this report the states of the computer have been broken
into two major classes or modes, Compute (K) and Non-compute (K'). The statesin these classes are represented by nodes (circles) and are numbered with an39

identifying number. Configurations of the major control flipflope which cause
transition between states are listed beside the transition path on the diagram.
Associated with each state diagram is a table which lists the state by number
and name and 'the information transfer which oocurs durinc that statee The
Non-oompute states are displa7ed in fils. 1 and 2 aDd Oompute states are shownin Figs. " 4, and 5. The associated rapster tranafer notation. for thesestate diagrams can be found in Ref 6. Thlllreferenoe oan be obtained from the
Defense Documentation Center.

Ion-P2!Quta Sktta. RafOl ,6) and (4, 1.1 - 2.15)
Power On :Random State. lIten powel' is applied to the D17B, the oontrolling
flipflops Will beoome aotivated in a raDdOll state. Depr••aine the "MA.8'l1R
RESET" swi toh oauses the computer to enter a Prepare To aperatestate wherein! tialization 18 begun. a.en, 1.
PtOPW to Qp'tAii (nl). In this state the pba.e register 18 b11 tls.lized
to an 1dle mode.. '0 1a turDed ott to prevent the oOllpUter trOll ante:ri:QI a
speoial state called fine oountdOWi1. The m.orete output oo.trol reei.ter i.
1m tiallzed to prevent randoa diacrete output. and variou. other tl1,f'lopa arein! tlalized to start the 81f1ChrordlaUon of the b1 t oounter wi tit the .eotor
traok. 00ntro1 flipflop. 02 and J are Olle let to allow traas1 tion to theS7fto Bit Oounter 1 state.

sue Bl~goWl'" 1 (n2). Thi. state i8 the ••cond I!l'tate duri. whiob 8711ohronisation to the Bit. Oounter and the Seotor Traok i. aooolllpl1sb.ed. AI
shown on the state 41&12'_,. traa.leut .11I.ter rea.t .11Dal (1... tban ona
memory revolution in duration) v.11l caUSe tbe_cbine to reOJ'Cle throurh
tbe hepare To Oompute Stat.. The 01 flipflOP i. ft ana" .et allowinc entr,rinto the next .tate, S;Jr1O Bit Oounter 2.
§Do Btt Couphr , (n3)~ In this state the inatruotlonr.,iater i. loaded
v.l. th an unoohdi tional jump itu.truotion to ohannel 0, I.otor O. Thi. instruction
v.l.ll be the first 1nstt,totiQlt lflteouW unlel. a nttV instructiotl ia loaded prior

40

random state at power on'--.

Fi,-.4. D·118 NOllcompute States

41

to the computer entering the compute mode.
After complete synchronization of the bit counter and the sector track~
the Rc and 01 flipflops are VI zero" . set allowing transition to the ManualHalt-Idle state.
Manual Halt-Idle 1 (n4). This state acts as a decision point forstate transition. Three separate situations will cause the computer toenter the Manual Halt-Interlock state. If the previous state were n3 or n7,
then state n4 was entered at a bit time corresponding to T of sector numberx0; thus~ the 04 flipflop will be "one" set prior to the occurrence of any
other state determining transition.
A third situation which could ~ause transition from n4 to n5 arises
when the computer control awi tch is placed into "Hal til or "Single Step"
during a compute operation. State n4 will be entered from Program Halt
and transition will occur to state n5 or n7 depending on the 01 flipflop.
This state transition is not predictable since the 01 flipflop state will
be determined by the instruction that was being executed when the computeswitch was placed in the Halt or Single Step. State n7 maybe the next
state entered if the previous state was n5. In this case n4 Was entered
at a bit time corresponding to T1 of sector 177 thus allowing the 01
flipflop to be "one" set.
State nB, Prepare To Compute, will be entered if the IICompute ll
switch is not in a "Halt" position and Sb2 is zero set. Sb2 is a flipflopthat is one set as the result of a verify or parity error.
Manual Halt-Interlock (n5). If there is no Mechanical Reader Input
il
Signal (1*1)
m present or if a "Halt command is present from the IICompute
Switch or if a Sprocket timing interlock signal (T*!) is present with noFill Signal, the computer will cycle between states n6 and n5. Similarly,
a cycle will exist throughn7~ n4, and nS if a Mechanical Reader Input
signal is present with no Fill signal (F*). "Wait" state, n9, will besentered if a Fill signal is present. Thus, Manual Halt-Interlock, nS,
acts as an interlock for the state transition prOCeSS of the computer.

42

Manual Halt - ~epare to toad (n6). ~epare to Load state is enteredif a device such as a photo reader is used for loading. From this state,transition will be back to n5 if a Sprocket Timing Interlock signal (T*')
is present or to the Wait state, n9, if no T*r signal is present.
ManuaJ. Halt - Idle 2 (n?). The Manual Halt-Idle 2 state serves as atiming delay. From this stat~ the computer will enter n4 if the computeswi tch is in the "Halt" posi tion and/or a Parity Error has occurred e If
,no parity or verity errors have occurred, the next state will be nB, thePrepare to Compute State. In the event that a Fill signal (~) occUrs,
the next state will be n9.
Prepare to Compute (nS). In the Prepare to Compute state initialization of several flipflops is accomplished in preparation for entry in
the Number Search State of Compute. J must be "one" set allowing the D
flipflop to be "one" set. Then when agreement is reached between sector
track and the Number Register, K is "one" set.
"Wait (n9). Flipflops are initialized to receive the Input Load codein the ~it State. The computer will cycle between this state, n9, and
nlO,Prepare to Sample, until the Sprocket Timing Interlock signal, T*',
has reached steady state. If a verify error occurs, the Idle 2 state will
be reentered.
Prepare to Sample (nlO). The primary purpose of the Prepare to Sample
state, nlO, is to allow the Sprocket Timing Interlock signal to reach steadystate as described above. When this occurs, the computer will remain in the
Prepare to Sample state until bit time T23 occurs and will then transition
to the Sample state, nll.
Sample (nll). During the Sample state, the computer will load theinformation on Input Lines Il* through I 5*. Note that flipflops C I.
Pthrough Cp4 were ·!'-zeDoH-,"set in state n9 and will be "one" set only bY,an
I* input. At bit timeT13 the computer will enter the Parity Check state.
Parity Check (n12). Flipflop Sb3 will toggle on Cpl as Cpl throughCp4 complete a circular shift. This circulation will occur on each bit time

43

when the 04 flipflop is "one". set.

In order to insure circulation for only

five bit times the 04 flipflop is. "one" set on bit time T;;Wand "zero" seton bit T24" "One" setting the CpS flipflop will allow a change to one of
the Process Code states depending upon the contents of the Input Lines.
Process Code-Clear (nl). The clear load code C.Ruaes the Lower
Accumulator, L, to be filled with zeroes •. "One" setting the L flipflopcallows new information to be. read into L st~rting with bit time TO. Then.
the CpI flipflop is flipflop is "zero" set preventing new information frombeing read into the L-Ioop.lfa parity error is indicated by a Sb3 at bit
time Tp the next modewill.be n9;however, if no parity error occurs, thecomputer will bo to state n7, the Wait state.
Delete (n14).
by the computer ~When the input lines are all "ones" no action is taken
Th7.s command can be used as a space in input tape.

All"zeroes" is not used as a Delete command because the Sb3 flipflop would
indicate a parity error.
Prepare to Fill State (nlS). The Prepare t.o Fill state is a preparation state for filling the memory. After the Fill command is processed,
the succeeding Load codes will be loaded into memory until "Halt" or "Start
Compute" commands are processed. In the event a parity error occurs, thenext state will be n7; if no parity error occurs, n9 will be next.
Prepare to Verify (nl6). The Prepare to Verify State is analogous to
the Prepare to Fill State. Once the computer cycles through this state(caused by processing a l?ad code IS' 14 13' 12 II) the succeeding load
codes will be compared with the contents of memory as specified by theInstruction Register.. This actual operation will be executed as theresult of an Enter command will therefore be described as part of theEnter state. Exit from this Prepare to Verity is similar to that of the
Prepare to Fill state.
Octal Numbers (nl7).In this stat~ the oct~l numbers received fromthe input lines will be .!3tored in the L register. Any number of octal

44
codes may be loaded but only eight sets of octal digits may be stored in
the Lower Accumulator at one time. Octal Numbers that are shifted out of
L are lost. Exit from this state is similar to those of the other Process
Code states.
Location (nlB). In this state, nlB, the contents of the L register
is transferred to the instruction register. This information will containthe memory location, channel and sector number, that will be used to start
Fill and Verify operations.
The Ic flipflop is "one" set at bit time TO allowing new information
to be written in the I register, then it is "zero" set at bit time T24
after L is transferred to I.
Enter (nl9). In this state, nl.7, the contents of Lower Accumulator
will be loaded first into the accumulator, then into memory if a Prepare
to Fill state had initiated a fill operation or the contents of the
Accumulator and Memory will be compared if a verify operation had been
initiated by the machine cycling through the Prepare to Verify state. The
location of memory involved in the above operation is specified by theInstruction Register. If a parity error is detected, transition will befrom nl9 to n7, otherwise an error-free operation will allow the computer
to go from the Enter state to the Wait state.
At this point it is necessary to define a set of four states that thecomputer cycles through during a Fill or Verify operation. (A Fill or
Verify operation results after the computer has successfully cycled throughthe Prepare to Fill or Prepare to Verify states and will continue until theHalt or Start compute state is reached). These four states are called
Fill-Verify Idle, fvl; Fill-Verify Number Search, fv2; Fill-Verify wait 2
Word Times, fv3 and Fill-Verify Execute, fv4 and the computer cycles throughthem simultaneously as it passes through the Enter state. A state diagramof this four-state operation is depictedfffi~g. These states will be
discussed in conjunction with the Enter state since they occur simultaneouslyGE/ EE/7 2S·2

45

Fig. 'i. Non compute FiII-Verify States

46

beginning in the Enter state~

The action taken by the computer will varywith the part of memory that is to be filled or verified, thus it is necessary to consider not only the Enter state and the four-state cycle describedabove, but also the part of the memory involved in this operation must be
considered.
Fill-Verify Idle (fvl).

During the Fill-Verify Idle state the Lower

Accumulator is copied into the accumulator. "Zero" setting the D flipflop
causes transition to rv2, the Number Search State. This transition occurs
simultaneously with a transition from nl9 to n9 states.
Fill-Verify Number Search (rv2).

During this state agreement isestablished between the Sector Track and the operand sector part of the I
register. This comparison is made by the 0b2 flipflop during bit times
T2 through T7" . The operand channel part of the I register is copied into
the C register and channel agreement is established. The D and E flipflopspare "one" set to caUSe transition to the Wait 2 Word Times state.
Fill-Verify Wait Two Word Times (rv3). During the Wait Two Word Times
state, the Channel Buffer is copied into the Channel Register. The Number
Register copies the contents of memory as specified by the Channel Register.
"Zero" setting the D flipflop causes transition to the Fill-Verify Executestate.
Fill-Verify Execute (fv4) •. Fo:r both Fill Verify operations, the operand sector part of the I register will be augmented by one in this state.
For Fill operations the contents of the Accumulator will be transferred toa memory location as specified by the Operand Address part of the I register. After the Fill operation, transition is made to the Fill-Verify
Idle state. Verify operations are different in two ways. First, thecontents of the Accumulator and the Number Register are compared. If
agreement occurs Sb2 flipflop will remain" zero" set and the next state will
be fvl. Disagreement is indicated by Sb2 "one" setting and the next state
will be a Manual Halt state.

47

Halt (n20)o When the "Halt" code is processed, the Halt state will beentered and the V flipflop will be'''zero'' set causing a transition to thecPcrogram Halt state.
Start Compute (n2l). The Start Compute command when entered on the
Input Lines will cause the computer to enter the Manual Halt Idel 1 state
before transitioning to the Prepare to Compute and Compute states. ' If aparity error occurred while processing the code, the computer will nottransition from the Manual Halt states.
Program Halt (n22). Four separate conditions may cause the computer
to enter n22, the Program Halt state. If a "Halt" load code is successfully, processed in, the computer will enter n7 before returning ,to Manual Halt
Idle, states.
Secondly, a halt instruction may be executed in the Compute mode or if
the Compute Switch is not in the "Run" posi tionwhen a new instruction isfound the computer will return to Program Halt state from the "Last WordTime State" of Compute.

Also, if during the Number Search state of compute, the "Compute Switch" is not in "Run" and an, instruction search is required 'to locate a new instruction, the computer will enter n22. In all cases thecomputer prepares to enter' one of the Manual Halt Idle stat"es during theProgram Halt state. The actual Idle state entered depends upon the stateof the 01 flipflop which was set by the instruction being executed whenstate n22 was entered.
If state n22 were entered as the result of processing a Halt command,
during a Fill or Verify operation, the D and E' flipflops will be set to
caUSe the computer to simultaneously enter the Idle state of the FillVerify operation.
Compute StatesG Ref (3: 25) and (4: 5~i - 6.13)
The Compute mode of the D17B is controlled by seVen major control flipflops. Th~ K flip:f,'lop~ when "one" set, indicates that the computer is in
one of, the "Compute" states. The various states of Compute are then!

48

GE/EEI72S·;!

From Prepare to Compute

Fig.S ' O.17B Compute States

49

controlled by the D and E flipflops. When the E flipflop is "one" setan instruction is being executed. The D flipflop, when "one" set, indicates that an instruction search is in progress and when" zero" setindicates instruction read and/or operand search is in progress. The

4four flipflops of the Operand Storage Register, 0 through 01' determine
the instruction that will be executed.
Instruction Search State (cl). The Instruction Search State as
defined in this report will be the state indicated by the flipflop
settings K D E'. It is not necessary for this state to occur with theexecution of every instruction.
If a program is optimally coded, a new instruction can be read into
the I register during the execution of the present instruction. In this(.

case, the instruction search operation was performed as a result of forethought of the programmer. Similarly, the Instruction Read-Number Searchstate may also be avoided by astute programming. In this case the computer
would cycle between the two states of Execute without actually performing
an instruction or operand search.
Instruction agreement occurs when the memory location addressed by"next instruction" part of I is in a position to be read by the computer.
Monitoring for this condition is performed by the buffer flipflops ObI
and 0b2. These two flipflops a:re monitored by the Id flipflop which
controls the D flipflop. When the D flipflop becomes "zero" set, transition to state c2 occurs.
Instruction Read-Number Search State (c2). Instruction Read-Number
Search state, c2, is a dual function state defined by DE' flipflop conditions. Like the Instruction Search State, this state may not necessarily
be realized with the execution of every instruction. One-half of the dual
function of the state may be exercised. For example, the next instruction
may be found and read during the Execution state and the computer. may cycle
to state c3 for the Number Search function alone.

50

For number agreement the information in Ip at bit times T2 throughT must agree with the Sector track, S. Since the loops are effectivelygseparate channels of' 4, 8, and 16 word length, more than one f'lipflop isneeded to check agreement for all channel elngths.

Flipflop 0b2 monitors

for agreement for the 4 word loops, ObI monitors for 8 word loops, Sbl
for 16 word loops and 0b.3 monitors for the full channel length, 128 words.
TheNd flipflop is the primary number agreement monitor and is changed by
the above number agreement flipflops at bit time Tl.3"
Instruction Read is accomplished by setting the desired memory channel into the Cp5 through Cpl flipflops. When flipflop Id indicates
Instruction agreement, the I f1ipf'lop is "one" set allowing the newcinstruction to be read into the I register. Bits I24 through 121 are read
into the Operand Buffer Register, and 112 through I8 are read into thechannel buffer register. If the instruction is a flag-store instruction(I 20::o1) the flag channel information, I 19 , I 18 , and I17 is read into theFlag Dade Buffer Register. If the instruction is not a flage-store instruction, the Flag Code Buffer Register is loaded with "zeroes".
From this state, c2, transition will be to one of the instruction
execution states or to 01 in the case of the transfer on minus instruction
with a positive accumulator (see state c4 description). If the Compute
Switch is not in the "Run" position when the I flipflop is "one" set tocread a new instruction, the computer will go to Non Compute Program Halt,n22.
Last Word Time of Execute (0.3). The Last Word Time of Execution, c.3,
will be discussed in conjunction with the execution of each of the instruction states since during this state the operation started in each of the
instruction states is completed. For all one-word-time instructions (04=1),
the instruction defining state is entered for the first bit time of execution
and then the computer transitions to c.3 to complete the operation.
This state acts as a decision point for the computer to exit the Oompute

51Mode. If the Compute Switch is· not in the· "Run" position and a new instruction is fOUnd,the computer will go to state n22, Non Compute Program Halt.
Unconditional Transfer (c4}. The word format of the D17B makes noprovision for specifying the channel of the next instruction. Thus, there
must be a command to change· channels of operation. The Unconditional
Transfer is a "jump" instruction that is used for this purpose. In this"jump" instruction the sector of next instruction field is ignored and thecomplete operand address Serves as the address of the next instruction.
The new channel address is contained in the Operand channel portion of thetransfer instruction. This information was shifted to the program channel
tfurfer register during the instruction search operation. At bit time TO:t:Q.eprogram Channel Buffer Register is parallel loaded into the Program.".'
Channel Register.
-,

'.:

,

,,""

'-

Instruction agreement is controlled by the nUmber agreement flipflop
which determines the sector of the new instruction from bits 17 through IIof the present instruction.
'Conditional Transfer (c5).The decision for the Conditional Transfer
operation is made in state c2. If bit A24 lszero, the accumulator ispositive and the computer returns to state c1 to search for the instruction
as indicated by 5p [IJ. A "I" ·lli!::bit position A24 indicates that the accumulator contains a negative number and the computer goes to state c3 andselects the new instruction as indicated by 0[1].
Store Accumulator (c6). The Store state must be considered for four
different situations; storing in channel 50, storing in channels 00 thru
46, storing in the loops, and flag storing.
Storing in charinel'O or "Hot storage writing" is initiated by setting
the S{ flipflop to the channel 50 store code, then the Accumulator is copied
directly intochB.nnel
and in a sector two octal-numbers less than the
sector of SCI]. This two sector difference is accO'unted for by the factthat the write heads are separated i'rom theread·heads by two sectors.

,0

52

In order to store information in channels 00 thru46 an EWC signal must
be present, enable write switch must be on. for selecting channels 00 thru
46 the computer utilizes a separate selector switch for each channel. This
selection is accomplished using the contents of Channel Storage Register.
The Accumulator is then stored in the memory address specified by the OP[I]minus two sector positions.
Storing in the E, F,H loops is similar to storing in channel 50
except the S.1. flipflops are set by the contents of the channel buffer regisStoring in the V and R loops may be accomplished if the computer is
not in Fine Countdown mode (F =1) (See state 017). In this case, theocontents of A is added to the incremental input at the time of execution.
A special case results when the T20 bit of any instruction is "l".
This "flag", "lI' in T20 is used to execute two operations with one instruction. The contents of the Accumulator will be stored in the channel indicated by the contents of bits 119 thru 117 This means that the sector ofnext instruction field of the instruction being executed is limited to thefour bits 116 thru 11 .3 and the next instruction must be wi thin the next 16
sectors. Flag storing is accomplished in the following steps: The Flag
0store buffer register Sb is loaded with :the contents of 119 thru 117 during
state c2.During the execution of the instruction the Flag Store Buffer
register is parallel-loaded into the flag store register. This information
is used to select the proper write heads for writing the Accumulator
contents into memory.
Clear and Add ((7). State c7 initiates the clear and add operation,in which the contents of memory as specified by the operand address istransferred to the ACCUlllulator. In state 07 the N flioflop is "one" setcallowing the selected contents of memory to be read. into the Number register. In state 0.3 the operation is completed, the selected contents ofmemory is read into the Accumulator.

53

Add (c8). State 08 initiates the add operation in which the memory
contents as specified by operand address is added to the Accumulator.
The sum is then stored in the Accumulator.
Subtract (c9). Subtraction is accomplished by the hardware asaddition in the D17B; however, the carry operation of addition is converted to a borrow operation by a "one" in the 02 flipflop.
Split Add (cl0). During the split add operation the split word
contents of the Accumulator is added to the corresponding parts of memory
and the sum is stored in the split word portions of the Accumulator. At
bit times T12 and Tl.3 the Ac flipflop is "zero" set allowing the contentsof A12 and Al.3 to remain unchanged.
Split Subtract (ell). The split subtract operation is similar to thesplit add operation, except that the split word contents of memory location
specified by O[IJ is subtracted from the contents of the Accumulator.
X Special State (c12). No action is performed in the X special state.
It serves only as a decision point for the computer to enter a special setof states that require one word time to complete and do not require accessto the computer memory. The Channel Storage Register contents are used to
select the X special state that will be entered from c12. In this special
operation the channel storage register serves as an auxiliary operationcode storage register. Since all the X special operations are one word
time instructions, the specific X special state serVes to define the operation and much of the actual operation is performed in state 0.3.
'Complement (013). The complement operation causes the 2's complementof the Accumulator to be read into the Accumulator. The Accumulator is
circulated and the Ac flipflop is "one" set by the first "one" in the
Accumulator. All succeeding bits of the Accumulator are complemented.
Minus Magnitude (c14). When the computer enters the Minus Magnitudestate, 014, the sign of the Accumulator is tested. If the Accumulator is

54

GEiIiEI7CS.~

Fig.

4

X-Special Compute. States

55

negative no' action is taken; if the Accumulator is positive the Cbl flipflop,is "one!! set and copied into ,the Cl flipflop, thus generating a complement
instruction.
Logical And to Accumulator (c15). Entering state c15 causes thecorrespondig bits of the Accumulator and Lower Accumulator to be logically"anded".
Enter Fine Countdown (c16). Entering the Fine Countdown causeS theFc flipflop to be "one" set. This places the computer into a parailel operation called Fine Countdown. During Fine Countd:own the V and U loops fomi adigital integrator.

This operation will continue until the Halt Fine Count-down state fs entered.
Halt Fine Countdown (c17) • Entering the HB.lt Fine Countdown state, 617,
causes the Fine Countdown flipflOp, Fc , to be "zero" set.
Reset Detector (c18).

When the Reset Detector state is entered, theDr flipflop is "zero" set. . The Dr flipflop is '" one" set by I~.
Halt and Proceed (c19). Entering state c19, Hand and Proceed causes
the computer to enter state cJ and then state n22, Program Halt.
Load Phase Register (620). The Load Phase Register special instruction
causes C2 to be loaded intp P2 and Cl is copied into P20 P3 copies the I~
flipflop at bit times Tl through T5 • State c20 is defined by three of the C
flipflops, C5; C4 , and C3, the rema1ning two C flipflops may be either "one"or "zero" set. The actual purpose in setting the Phase Register will be
discussed in conjunction with state c~7.
;,Binary-Output (c2l, 022,02J). Binary Incremental Output states may
be discussed simultaneously. These states differ only in the sense thatstate 021 involves output flipflop Gl , c22involves G2 , and c2J involves
GJo Only the first'state, c21, will be discussed because the discussion
is directly applicable to all three states b.Y substituting the proper G.~
flipflop in state c2i, where 1=1, 2; or 3.
In state c21 the state of the Gl flipflop is checked. If Gl equals.'

56"1" the first eight bits of A are treated:as' a word and +1 is added ,to thatword. If Gl equals "on a liS subtracted from the word formed by the firsteight, bits of A. After one of the above operations is accomplished, theGl flipflop copies the sign bit of A.
Discrete Inputs (c24, c25).In both discrete input operations 'a setof twenty-four discrete input lines and flipflops are sampled and read into
the A register.

For a Discrete Input A,.DIA, operation the discrete input

lines Xl through X19 and flipflops Dr' Fc' P3, PI' P2 , replace bits Al
through A24 respectively.
During the operation initiated by state c25, DIB, the discrete lines
Yl through Y24 replace bits Al through A24 respectively. The actual information transfer described in. th.ese states ~kes place in state c3; however,the states c24 and 025 serve to,define the operation to be performed instate c3.
Discrete Outputs (026). Theoperati.n initiated by state c2, Discrete
Output A, causes the bits II through I5 to be loaded into the Discrete Output Register, Dl through D5"
Voltage Output (c27, c28, c29). The Voltage Output states are identical in concept. The function of these states varies only in the phrsicallocation of the.output voltage.
Three Voltage Output Registers are loaded with the split word contentsof A. If I4 is "1", ,the right half of A is loaded and if I4 is "0", the left
half of A is loaded.
The states c27, c28, and c29 determine which set of Voltage-Output flipflops, ViI through Vi8 , (i=l, 2, or 3) will be loaded from A. If c27, VOA,
is entered VII through V18 will be loaded; c28, VOB, causes V21 through V28
to be loaded; and c29, VaG, causes v31 through V38 to be loaded with theproper half-word of A.
The Phase Register also affects the output location of each voltage
line.

57
y Special Stat~ (030). The YSpecialstate~ 030, Serves only as adecision point for entering specific states 031 through 038. Operations

initiated by the Y Special state do not require a.ccess to Memory; howeVer,
they do require more than one word time to complete.
Accumulator I,eft Shift (031) •. A left shift operation is accomplishedin the D17B by a.dding an extra flipflop, Ak , to the A loop for the num1;>er
of word times equal to the number of i3hifts required. The number of shifts.. is specified by II through c15" This number is loaded into the Channel
Buffer Register aDd counted down at each word time.
Accumulator Right Shift (c32). State c32 ini tla,tes a right shift of
the Accumulator. To accomplish this operation, the A flipflop is reIDOItedpfrom the reci.rculation loop of the Accumulator. The number of ri.ght sifts
required is indicated by II through 15 and-the A flipflop remains out ofP_ _the A loo:p for that number of word times. If the Acc:umula tor is posi ti ve,
zeroes are filled into the vacated bits; however,if the AccuniUlator
contain:;l a negative number, liS replace the bit positions vacated by theright .shift.
Split Accumulator Left and Split Accumulator Bight Shift (c3.3, 034).
The discussion of states c.3land c.32 are directly applicable to the states
033 and 034 respectively. In the split~shift states the left and righthalf words of the Accumulator are shifted the same nu."lJ.ber of bit positions
but are treated as separate words.
•ciSpli t Left 1r.Tord Left Shift (0.35) ~ State c35 ini tia tea an operation
which caUSes the l.eft half-word of the Accumulator to be shifted left by+~IP "'um.ber of bit positionS specified in 'II tb+ough I," The discussion ofstate 031 is applicable t.o this state except that bits A14 through A24
only are affected.
Spl! t Right Word Left Shift rC,~6). Bits Al through Ala only areaffected by the Split Right Word Left Shift operation. As implied by thestate name~ the rihgt half-word of the A register is shifted left.

58 GEIEE/72S·2

Fig. 5, v' Special Compute States

59

Split Left Word Ri.ght Shift (c:37). State 0:37 initiates a right shiftof the left half-word of the Accumulator. As in all right shift operations,
if the half -word W'Cire posi ti ve., the bits vacated by the shif·ting are filledwith zeroes and if the half-word were negative, liS are filled into thevacated bit positions.
Split Right Word Right Shift (038). State c38 initiates a right shiftof the right half-word of the Accumulator. The discussion of c37 is directly
applicable to this state except the right half-word is shifted.
Single Character Output (c39)0 The operation initiated by state 039
shifts the four most significant bits out of the Accumulator and presents
them to the four character output lines. A fifth character output line isused as a parity linea This information is presented on the character output lines for the number of word times specified in s[I].
The Single Character Output operation isaccomplisbed in the following
manner. The sector portion of the instruction operand is shifted into the
Operand Channel Buffer Register.

Each word time this register is decreased

by one, thus it is used to terminate the operation after the end of (s[I])+l
word times.
During the first word time of the Single Charaoter Output operation,
the circulation loop of the Accumulator is extended to include four flipflops of the Operand Channel Buffer Register: C1' C2 , C3 , and C4 " This
causes the four most significant bits of the Accumulator to be left shifted
into these C flipflops
Pari ty is indicated by the J flipflop by "zero"setting it at the beginning of the operati{!Jn 9.:.nci allowing it to toggle aseach "1" is shifted into the flipflop.
The parity (J) and output (C4, C3 , C2 , and Cl ) is presented on the0

output lines Sc5 through ScI' respectively, with the occurrence of each
ScT timing pulse.
Split Compare and Limit (c4O). State 040 initiates the Split Compareand Limit Operation in which the split-word contents of the Accumulator is60

compared with the corresponding bits of a word in memory. The memory is
specified in the operand of the SCL instruction.
If the contents of the memory word is greater than:that of A, nochanges are made. If the split word portion of A is positive and greaterthan the corresponding part of the memory word, the split memory word
replaces the split-word of A.
If the quantity in :memory is less than the corresponding part of A
and that half-word of A is negative, the two's complement of the memory
half-word replaces the Accumulator half word •. Mul tiply (c41). The Multiply operation is ini tia ted by state c41.
The operation causes the contents of the Accumulator to be moved to theLower Accumulator and the product of the Accumulator and memory contents
specified by the MPY operand is placed in the Accumulator.
Split Multiply (C42)0 State c42 initiates the Split MUltiply
operation. This operation is similar to the Multiply operation except
the left half-word of A goes into the right half-word of L and the righthalf-word of A goes into the left half-word of L. The split words of the
Accumulator and the memory word specified by 0 I are multiplied and stored
in the respective split words of the Accumulator.
Split Multiply Modified (c43). Split Multiply Modified is an operation
which causes the three least significant bits of the Channel Buffer Registerto be replaced by the "exclusive or" of those bits and the contents of thePhase register. The operation then proceeds as a Split Multiply operation.
Split MUltiply Modified commands allow the computer programmer to vary theeffective operand channel address depending upon the Phase register contents.
Multiply Modified (c44). State c44 initiates the Multiply Modified
operation which caUSeS the three least significant bits of the Channel Buffer
Register to be changed by an "(3Xclusive or" operation with the Phase Register.
After the above modification, a multiply operation is accomplished as described61

in state 041. It is noteworthy that this operation dOes not change 'theoriginal multiply instruction in memory.
State Description Summary
In the above jrescription of the D17B the various configurations ofcontrol flipflops were used to define states of the computer. Thesestate definitions are not unique and many other sets of flipflop combinations may be used to describe the machine operation. The states
described were chosen because they could be given names that correlatewith other published ini'ormation about the D17B. Hopefully, this typeof description will be an aid not only in understanding the operationsof the machine~ but also in maintaining it. For exampleJ the II state"of an inoperable machine may be determined by checking the status of thecontrol flipflops. Once the state is identified~ the malfunctioning
circuit may become apparent by considering which flipflop is preventing
normal state transition.
Bibliography
1.

2.

3.

4.
5.
6.

Autonetics 0 Part 1 Preliminary Maintenance Manual of the Minuteman
D17B Computer and Associated Test Eguipment~ P.O. Memo 710 Anaheim,
California: Autonetics, Division of North American Rock'..rell, Inco,
January 1960.
'Chu, Yaohan. Digital Computer Design Fundamentals, New 'll:ork; Me GrawHill Inc., 1962.
Hansen, Do Do and Watkins~ KG R. A Rigorous Logical Study - with Lab of the D17B Digital Computero ACC-31170P-33. Anaheim, California:
Computer and Data Systems Dept of Autonetics ;lvision of North American
Rockwell, Inc.~ 30 April 19620
Shoryer, Lo o. D17B Computer Manual. Anaheim, California: Autonetics
Division of North American Rockwell, Inc., 1 July 19600
USAF Technical Order. Technical Manual Overhaul and Repair General
Purpose Computer (Model D17B), T~O. IlG2-l0-5-3-5. Los Angeles,
California: Air. ForceKier Lithographic~ 24 November 1964.
Allen, Douglas J. Laboratory Conversion and State Description of t~
D17B Computer, Thesis,Air Force Institute of Technology, Wright.
Patterson AFB, Ohio, 1972.

62

Appendix A
List of Terms and Abbreviations
Ak :Carry, borrow and misc. flipflop.

A:"A" register extra delay flipflop.
A: irA" register read flipflop.
x
A24 : "A" register delay flipflop.
p

A23w: "A" register write flipflop_
B6, B5 , B4 , B3 , B2 , Bl : Bit time counter flipflops.
Cb5 , Cb4 , Cb3 , Cb2 , Cbl : Operand channel buffer register and word time
counter flipflops.

Cpl : Program channel register.
Operand channel storage register and auxiliary
operation-code storage register.
DI7B: Designation dfl the computer used for guidance in the Minuteman I
missile.
Shift control for "Discrete Output" register.
Discrete disable signal from a control panel to control the discrete
outputs.
D : Gyro malfunction indicator flipflop.
r
D5, D4 , D3 , D2 , Dl : "Discrete Output" register.
D: Control flipflop.
E: Control flipflop.
Emx: : "E"·loop intermediate read flipflop.
E : "E" loop end read flipflop.
x
Ep : "E" loop write flipflop •.
Enable write signal - from a control panel - enables IIcold storage"
Ewc
write heads in memory.
Fine-countdown-mode indicator flipflop.
"F" loop write flipflop_F:
Also Fse in some writings - signal from a. control panel that directssthe computer to enter the Prepare to Fill state.
F:!IF" loop read flipflop.
x63

G3, G2, Gl : Binary outputs flipflopso
H: "HI' loop write flipflop.
p
H : "H" loop intermediate read flipflop.
mx:
H : "H" loop end read flipflop.
x
I : "I" register interrupt control flipflop.
c
Id: "Instruc:tionSearGh" sector disagreement indicator flipflop.
I.o Also Iic~ the ith signal input to the computer from an externalsource for character input, i=l, ••• , 5.
I
Symbol fora mechanical input signal to the computer, command tomcenter the Wait state.
"I" register extra delay flipflop.
"I" registe~ read flipflop.
"I" register write flipflop.
Jo, Control flipflop.
K:
Control flipflop.
Halt not or run signal from a control console - directs the computer
to enter the compute states.
K'
kr° Run not or halt. signal from a control console - directs the computer
to enter the non-compute stateso"L" register interrupt control flipflops.
"L" register delay flipflop.
L : "L" register extra delay flipflop.
p
L : "L" register read flipflop.
x
L24w: "L" register write flipflop.
M : Memory output buffer flipflop.
px
M : Also M - master reset sigDal from a control console, initiates the
rcr
c0ID.puter to the Prepare to" Operate state.
"N" register interrupt control flipflop.
"Number Search"sector disagreement flipflop.
N : "N" register extra delay flipflop.
p, N : liN" register, read flipflop •
x
~o

,',

0

'

,

-

.

64

N24w!

"WI register write flipflop.

0b3' 0b2' ObI: Operation-Code-Buffer register.
04' 03' 02' 01: Operation-Code-Stora.ge register.
P3 , P2 , PI: Phase register.
Q: Special timing flipflop.
R: "R" loop interrupt control and mode control flipflop.
c
R:"R" loop write flipflop.
p
R: "R" loop read flipflop.
x
S: Information read from the sector track of the D17B computer memory.
Sb3' Sb2' Sbl: UFlag-Code" buffer register.
S3' S2' Sl: "Flag-Code" storage register.
T: Sprocket timing signal; used to direct the computer to accept
ccharacter inputs.
T.: Bit times of the computer, i=l, ••• , 24.
~

TO:
T :

"To Time" indicator flipflop.
"T Time" indicator flipflop.

T :
x
U:
p
Ux :

"T Time" indicator flipflop.
x"U" loop write flipflop.

pp"U" loop read flipflop •.

V:"V" loop interrupt control and state control flipflop ••c
Vp : "V" loop write flipflop.
Vx : "V" loop read flipflop.
V 38 , V37 ,V31 : Voltage output register number 3.
V28 , V27 , a
V21 : Voltage output register number 2.
e _ • ,

8•,

V18 , V17 ,VII: Voltage output register number 1.
OAl : Symbolizes that the flipflop named Al is set to a logical "zero"condi tion or "zero set".
.
Symbolizes that the flipflop named Al is set to a logical "one"condition or "one set".
A*·l' The star or asterisk indicates an external signal to the computer thathas been changed in voltage level but has the same logical meaning as
t!I

8

a ,

65

AI:

the symbol with no asterisk.
Prime is used to indicate a logical "not" when A is a logical 1,
AI is a logical O.

Flipflop names and some definitions in this list were taken from
Ref (1: 110-114).

66

USE OF THE 017B IN A HYBR~D COMPUTER SYSTEM
Lansing'B. Evans and Charles H. Beck
Tulane University
Department of Electrical Engineering
New Orleans=t LA 701rS

ABSTRACTNow that the USAF has reZeased a Zarge number of ~nuteman DZ7B Computers
whiah were originaZZy designed for missiZe guidanae~ other appZiaations forthese e:xaess generaZ-purpose aomputers have been undergoing a rapid evoZution
in many fieZds. This paper desaribes a new hybrid aomputing appZiaation forthe ~nuteman DZ7B Computer whiah makes use of a Zarge number of the fZe:xibZe
capabiZities of these computers. Hybrid aomputing system design aan take fuZZ
advantage of the aapabiZities of both anaZog and digitaZ aomputers as weZZ as
those of speciaZ hardWare that is possibZe to deveZop beaause of the avaiZabiZity of info~ation in both continuous and discrete fo~. Motivation forthis type of appZiaation for the DZ7B stems primariZy from the versatiZe I/OaapabiZity of these maahines. The purpose of this paper is to present some ofthe design aonsiderations and typiaaZ appZiaations for a DZ7B-TR48 hybrid
aomputing system~ to desaribe the present system aonfiguration~ and to outZinea speaifia hybrid optimization mode Zing probZem that is being soZved using
this system aonfiguration. The DZ7B has been found to be aompZeteZy satisfaatory for this automated design appZiaation.

BASIC DEFINITION OF A HYBRID SYSTEM
In a broad sense the field of hybrid computation includes all computing
techniques which combine some of the features of digital computation withsome of the features of analog computation.

The combination of digital andanalog devices brings together many of the characteristic advantages of bothtypes of hardware and software.

In many cases a disadvantage of one part ofthe system is more than compensated for by an attribute of another part ofthe system.

The idea of interacting advantages will become more evident byciting some of the capabilities of the two major components of the hybrid
system, the analog and digital computers.

There will be additional entries

to the list of general capabilities which follows depending on the specificcomputers being used in a particular hybrid system.

67
Some capabilities of the analog computer include:
1. Dependent variables within the machine are treated in continuous form.
2. High-speed or real-time computation is available with computing speeds
limited primarily by the bandwidth of the computing elements.
3. There exists the ability to perform efficiently such operations as addition,
multiplication, integration and non-linear function generation; on the other
hand, there is very limited ability to make logical decisions or store data.
4. Programming techniques involve patching together the various computing
elements.
On the other side, some of the capabilities of the digital computer
include the following:
1. All data within the computer is in discrete or quantized form.
2. In general only one operation can be performed at a time and many computing
units must be time shared.
3. The facility exists for storing alphanumeric data indefinitely.
4. The ability exists to perform logical decisions and operations using either
numerical or non-numerical data.
5. There exists the ability to modify the program extensively on the basis of
any calculation.
Almost any computing system is a subset of a complete hybrid system.
Whether a system is almost purely digital with only minimal analog capability,
nearly all analog with a small amount of digital ability, or anywhere in
between, it qualifies as a hybrid system and the principles of hybrid computing
may be applied to it.

HYBRID COMPUTER APPLICATIONS
Because of the inherent flexibility of the hybrid computer, there are
numerous applications for this type of system.

One of the most important ismodeling and parameter optimization involving dynamic systems.
~arThis particu-

application makes use of a true hybrid system involving an analog computer,

digital computer, and appropriate interface components.

As the name implies,

modeling requires the use of known experimental input and output data to obtain
an. accurate mathematical or topological model of the system involved.

With acomplete hybrid system, relatively complicated and multi-variate models may beconsider,ed.

68
The block diagram of a' typical hybri9 modeling technique is, shown "in
Figure L

During a run the actual, system, or ;function. gent;!rat()r representing

the actual systemds operated' in"parallel with the assumed model.

The index

of performance (IP), which measures the quality of 'the model, is formed onth~ analog comput~r'by
int~grciting
the square 'of the'error
functionover the.
. ". .
. ;... , .
.
":

time of the run.

'.

,",

~

"

~

Using, this technique the digital computj!r adjusts the model

parameters after sampling the IP, from the previous run and performing needed
optimization calculations.

The digital computer makes its decisions on the

new parameter settings using an optimization method such as the Tulane Automated Hybrid Optimization (TARO) technique.
The TARO technique has been applied to circuits and various physicalsystems.

Currently the TAHO technique is being used for a multi-variate modelof the head and neck of a pilot in a crash situation.

The data are obtainedby monitoring human subjects who ri~e an acceleration sled along a track.

A

simulation of these data is used as the actual. system portion of Figure 1.
Other typical applications of the hybrid computersystetninclude:
Aerospace Simulation
Simulation of ,Process Con.tro1
Simulation of Man-Machine S~stems
Random Process Simulation

USE OF THE MINUTEMAN D17B COMPUTER IN HYBRID APPLICATIONS
In most hybrid systems the digital computer provides control functions
as well as the digital computa'tio~'for the entire system.

Therefore, thedigital computer must have the ability to communicate not only with the usual
digital peripheral equipment but also with the remainder of the hybrid system.
The Minuteman Dl7B Co~uter has the need~d input/output versatility and theflexibility required for ~ hybrid system.

For it~ size, the Dl7B has a large

number of' digital input and output lines, pulse output lines, and analog typeoutput lines.
The programmability of the' D17B i8also a significant advantage for a
hybrid system.

The D17B has a complete "set of a:rithme'i:ic, control, and input/

output instructiori~.

It is' also capable of instruction'modification which isan important factor in efficient software for a hybrid system.

Because manyof the operations required to control the hybrid interface and the analog

69

INPUT

X(t)

ACTUALSYSTEM

ASSUMED
SYSTEMorMODEL
FUNCTION
GENERATOR
T (t)m

DESIREDorACTUALOUTPUTMODELRESPONSE+

A-D
CONVERTER

D17B
DIGITALCOMPUTER** **PARAMETER
ADJUSTMENT

Fig. 1. Tulane Hybrid Optimization Modeling Technique.

70

computer are of a relatively.basi~ bit-level nature, the machine language
programming of the Dl7B can be far more efficient than the use of a compiler
language.

In addition, as will be seen in the next section, the D17B input!

output instructions are very well suited for hybrid operation.
Perhaps one of the greatest advantages of the D17B hybrid system is thecomple,te flexibility of the configuration.

By the nature of the definitionof a hybrid system, it may be anywhere from pure digital to pure analog.

The

D17B will fill the digital computer requirements for any of these systems if
the memory size and speed are suitable.

The D17B hybrid system described in

the following section is a complete hybrid system with full analog and digital
capabilities.

A full system such as this allows for any operation from merely

using the D17B to control the mode of the analog computer to the sampling of
analog signals with the A-D converter and performing all processing digitally.
This means that practically any computing application can be realized as asubset of a complete hybrid system.

MINUTEMAN D17B/TR-48 HYBRID SYSTEM CONFIGURATIONIn designing the configuration of the D17B/TR-48 hybrid computer system,
a careful effort was made for full and efficient use of the D17B input/output
capabilities.

A block diagram of the basic D17B/TR-48 hybrid computer system

is shown in Figure 2.

It can be seen by inspection of the diagram that thissystem is a complete, digitally-controlled hybrid system.
The two major paths of information flow in Figure 2 are those from thedigital to the analog computer and those from the analog to the digital machine.
Since many applications require multi-variate analysis, it is necessary thatthe major paths in both directions be multi-channel.

Within reasonable limits,

this presents no problem to the ability of the D17B to control the interface.
The major components of the analog-to-digital information path include al6-channel multiplexer and an analog~to-digital (A-D) converter.

The multi-

plexer allows 16 analog signals to time share one A-D converter.

The D17B

controls the operation of both the multiplexer and the A-D converter as shownin Figure 3.

In order to permit one of the inputs of the multiplexer to be

switched to the input of the A-D converter, a four-bit binary address, between

o and 15 decimal, is transmitted to the multiplexer address register.

The COAINTERACTIVE
INPUT

'"
/

......

1\'"......
;,-

'il
DIA

......

VOB

OOA

OOA

DOA

'"

TEN
D-A
CONVERTERS....
INONLINEARFUNCTION
GENERATOR

,~

TR-48
"-.,

VOC

....

'"

-

BUFFER/'MINUTEMAN
D17B
DIGITALCOMPUTERDOA
VOA......

'"....
.."ANALOGCOMPUTERPATCHING/MODECONTROLRELAYS

8-BIT
PRINTER
DIGITAL

....
"

DOA
DOA

\1,

,

PARAMETER

/

,..

COA

DIB
Ij\

A-D
CONVERTER

...

-;;.r

TEN
DPUs

.....
~

" MULTIPLEXER/......

I'

Fig. 2. Tulane D17B/TR-48 Hybrid Computer System.

UNIT
INPUT/OUTPUT

72

l.t
I'

,..
' ......

"

,

....,

FROM
COA

~

BUFFERREGISTER

."

~

,

4-BIT
ADDRESSl'

COA
TIMING

~.

~

.'

..

··

SIXTEENSIXTEEN
ANALOGINPUTS.

CHANNEL"' .

·MULTIPLEXER
1/
'"

OOA

·

-.II

A-D

I"
I'

CONVERTER

ANALOGOUTPUT

8-BITS,~"INTERFACE
8-BITS.ITO DIB INPUTS
I'V

Fig. 3. Hybrid System A~D and Multiplexer.
VOB
8-BITS

10 DOA
\

V

\I

\I

. INTERFACE
,....

•

,t

•

•

,

. . ..

CLOCK 1

~I\

•

\

r ~t\

•
•
•

"<;,

D-A

~ ANALOGOUTPUT"

NO'. 1

NO. 1

.. ,

D-A

~ ANALOG•

NO. 10....,

CLOCK 10
~

•

• ...

Fig. 4. Hybrid SYstem D-A Converters.

OUTPUT
NO. ;to73(character output) instruction is used for this purpose because it sends out
a clock pulse along with a four-bit parallel pulse type word which can easily
and conveniently be interfaced to the multiplexer address register.

The useof the COA instruction in this case also means that only one machine language
instruction will be needed to control the multiplexer.

Once the proper analog

signal has been applied to the A-D converter, two discrete output (DOA)
instructions are executed to cause the A-D converter to digitize the analog
input.

Two DOAs are used to generate a pulse as required by the A-D converter.

The ten digital-to-analog (D-A) converters shown in Figure 2 are the mostimportant links in the flow of information from the digital computer to theanalog co~uter.
D17B.

The D-A converters are also under complete control of the

Figure 4 shows how the D17B loads and controls the D-As.

in the Tulane hybrid system accept an 8-bit digital input.

The D-As used

This 8-bit input

is loaded into one of the internal D-A buffer registers and converted to a
proportional analog value when a clock pulse is applied to that D-A.

Since noinput is loaded into a D-A until a clock pulse is applied, the digital inputsof all D-As may be connected together and tied to an8....bit digital bus.
The D17B has a voltage output (VOB) instruction which may be used for an
8-bit parallel digital output.

Eight bits from the accumulator are transferredto the VOB register when a VOB instruction is executed.

Once the VOB .has been

executed, the desired8-bit word is applied to all D-A inputs.

A pair of DOAs

are then used to load the digital word into the proper one of the ten D-As.
Only a few machine language instructions are needed for D-A control.
In addition to the basic A-D and D.;...A units, the interface contains two
somewhat more sophisticated components.

These are the digital parameter units(DPU) and the digitally controlled nonlinear function generator (DCNFG).

These

devices involve interactions between digital and analog signals rather than aconversion from one form to the other.
The DPUs provide for the digital control of the parameters in the analog
computer patching.
the D17B.

This control is performed electronically at high speed byWith this ability the parameters of the model may be changed at highspeed under program control.

Basically the DPU is a hybrid multiplier.

Itmultiplies the 8-bit digital word transferred from the VOA lines by the corresponding analog signal from the TR-48 as shown in Figure 5.
The interface between the D17B and the DPUs is quite similar to.the one
for the D-As shown in Figure 4.

The 8-bit VOA lines are fed to the inputs of

74

VOA
'IIS ....BITS"..}O OOA \1

INTERFACE

f

•

•

•

.

•• ,
Wr\

CLOCK 1

....

_

~

..

.:::::'"IW

ANALOG~ OUTPUT
NO. 1--""'"'"...

CLOCK 10"•-:::,.

ANALOG

DPU
NO. 10••ANALOG~ INPUT
NO. 1

NO. 1

III

...

DPU

"

~ INPUTNO. 10ANALOG~ OUTPUT
NO. 10Fig. 5. Digital Parameter Units.

I...."-

BUFFERREGISTER,;'DIGITALLYCONTROLLEDNONLINEARFUNCTION
GENERATOR

t- x(t)I~I

VOC
DIGITALLINES

INTERFACE'I-......

VARIABLE
BREAKPOINT
AND
SLOPE
~ y(~)

OOA
Fig. 6. Digitally Controlled Nonlinear Function Generator.

75
all DPUs.

The digital word is then loaded using two DOA instructions as in

the case of the D-A converters.

The analog inputs and outputs for the DPUs

are patched on the TR-48 patch board.

These extremely powerful hybrid comput-

ing elements are also convenient to use with D17B computer machine languageo
The nonlinear function generator is a digitally controlled variablebreakpoint function generator.

The function may have up to ten segments ofany desired slope, and the slopes and breakpoints can be programmed into thegenerator under D17B program control.

The slopes and breakpoints are loaded

into the generator using the 8-bit VOC lines and DOA pulses.

After the loadingof the desired function, the output, y(t), takes on the function output forthe corresponding analog input, x(t), as shown in Figure 6.

The setup time forthe function generator is fast and versatile as is the case for the DPUs.
The mode control on the TR-48 Analog Computer is operated from external
relays controlled by the D17B Computer as shown in Figure 2.

The outputs fromthe VOC digital lines are loaded into a buffer which drives the relays on theexternal patch board.

The relays that are not used for mode control may be

used for high-speed patching changes ih the analog computer program.

CONCLUSIONS
While the D17B is a small general-purpose digital computer, the versatile
input/output capability of this machine has allowed for the development of acompact, efficient hybrid computer system when used in conjunction with a TR-48
Analog Computer.

The most important benefit of a computer system such as the

Minuteman D17B/TR-48 hybrid system described in this paper is that it may be
used in a wide spectrum of computing applications.

REFERENCES
M. H. Kuo, Automated Modeling of Dynamic Systems Using Hybrid Computer 0ptimimbation Techniques, l)oct.ora1. DiSSertation, Tulane University, New Orleans,Louisiana, 1971.
C. H. Beck, et at, "Direct modeling of nonlinear systems using hybrid computer
optimization techniques," Conference Proceedings, Seventh Annual Allerton
Conference on Circuit and System Theory, C-4, 6, Urbana, Illinois, 1969.
G. Ao Bekey and W. J. Karplus, Hybrid Computation, John Wiley & Sons, Inco,
New York, 1968.

76

DESIGN OF A BINARY DISPLAY FOR THE D17B COMPUTERby.HARRY S • WARFORD ) Capt, USAF, BSC;';
DEWIDS .. MJRAN, GS-9

INTRODUCTION
Hardware development for the D17B computing system has proceeded rather
slowly as a spare time interest at the USAF School of Aerospace Medicine.
As a result, the binary display teclmique described by this paper has .
not been optimized for future growth of the total system. However, it
has evolved into compact arid relatively inexpensive design througheffective use of machine inh~rent characteristics. The overall design
calls for the capability to monitor any register or memory track withrandom access to any particUlar sector. At present, the hardware formonitoring the me-word registers is complete and the design is complete
for the remaining circuitry to randomly address memory location.
'IEaINIQUE
The D17B utilizes the 24-bit full word for programming but actual word
length m the disc :rremory is 27 bits. "The 3-bit "dead tine" has been .
used in our design to facilitate display without the need for additional
holding registers while maintaining the capability to update the display
each word tine. DUring the 24-bit times representing the computer worda 24-bit serial entry shift register is filled from the D17B while thelight emitting diode display is blanked. Then during the 3-bit dead time
the shift register is halted and the parallel outputs drive the display.
At the end of the 3-bit times, the display is blanked and the irifornationis changed or reloaded into the register ..
For randan access the sector channel is to be monitored as shown in
Figure 1. Sector number infornation will be captured in an external .
register and compared with the numbers selected m a set of octally coded
thumbwheel switches. When the information agrees, the. proper shift pulses
are gated to the aforementioned 2~-bit register to capture the next wordof the chosen channel. Channel choice is by a second set of thurnbwheelswitches and the decoding internal to the D17B.

.
.
;'~o be presented by Michael Jenkin,

Aerospace Medicine, Brooks AFB T~xas

M3.jor, USAF, MC, USAF School of
78235

CIRCUITRY
Figures 2 and 3 show the circuits used to irrplement the basic display.
The derived control signals are shown in Figure 4. It must be noted
here that the logic signals were considered to be of positive sensefor ease of design with cOlTO'rercial DTL logic. Additionally, the levels
were not translated but the signals were merely attenuated to produce
a five volt swing and the integrated circuits were operated with "vcc"
at 0 VOC and "ground" at minus 5 VDC. Figure 5 shows the proposed
control signals to accorrplish random access and Figures 6 and 7 show
the present design being constructed for this purpose. At present,
all logic has been broken into IIDdules representing a byte of data andirrplemented with commercial plug-in cards and racks.

OTHER DEVELOPMENTS
Little effort has been expended on hard-copy output thus far since thesurplus Flexowriters obtained for this project rapidly deteriorated andfailed early in the project. However, an extremely sirrple and inexpensive technique was used to provide input only by mounting a second
set of leaf switches in tandem with those used to operate the punch
select magnets of our remaining operable .Flexcwri ter. This provides
corrplete electrical isolation thus alleviating the need to IIDdify the
Flexowriter power supply and requires a single capacitor to shape thetiming pulses.
Additionally, an extra tape reader has been converted to stand-alone
use as depicted in Figure 8. A manual I/O panel similar to thosedescribed at earlier user's meetings provides for miscellaneous control.

SECTORSELECT
SWITCH

0178\,"~
SECTOR ..
~TRACK

TIMING

SECTORSEARCH
LOGIC

LOGIC
4

..
•

.......

l

CHANNEL
SELECTMPX~

CHANNEL
SELECT
SWITCH

FIG. 124 BIT GATEDDISPLAY
(LED)

If

~

..") DISPLAY
...

DATA

,.,.

BINARY DISPLAY SYSTEM

24 BITSHIFT REGISTER

WG

MV-5022Q
r-----I C

(949)
SP

FIG. 2*¢(D17B
CLOCK)ONE BIT OF DISPLAY REGISTER

9G.Z

SP

47bpf T-S"Oc: 0O-----------~------__4932* INPUT

R

S* (LEVELS HALVED BY RESISTOR NET.)
FIG. 3

DISl?LAY CONTROL

6.

I
WG

SP

FIG. 4

TIMING FOR BASIC DISPLAY

SP
8 4 '8G.

I II 1 1 I I I 1 I III I II

111111111111111111111111

11111111

1

I

I

IIIIII1 1

J

I

L

sSP

111111111111111111111

SA

C><1

C><l

C><J

wat

1

n

n
I

E

111111111111111111111111

E·SP

FIG. 5

TIMING FOR RANDOM ACCESSFROM SECTOR SW.

,

"

}

TO REST OF
COINCIDENCE
DETECTORQ

S.1- I_----1CQ I - - -__-~

(948)
SSP
FIG. 6

ONE BIT OF SECTOR NUMBER REGISTER

Al
A2

B4

A3
A4

¢

AS

B6

~940jn~

SSP

93"

A6
A7
Q

BII

B2

CfS2.

C

B3

Q

B4
BS

9~&

B6

WG

B7

FIG. 7

CONTROL FOR SECTOR SEARCH

SP

83

AUTOMATED DATA ACQUISITION AND WAVEFORM
ANALYSIS USING THE MINUTEMAN D17B COMPUTERCharles H. Beck and Yih-Young Chen
Systems Laboratory, Tulane University
New Orleans, LA 70118

SUMMARY
This paper describes the development of an automated data acquisition andwaveform anaZysis system for a single-channel AutoAnalyzer using the Minuteman
Dl7B Computer. This automated system is a typical example exhibiting several
essential features on which other laboratory data acquisition systems can bebased. The complete AutoAnalyzer Analysis System was set up in the Tulane
Systems Laboratory, and total protein analysis of blood serum was executed asa representative example of the use of this system. An identicaZ system ~hichwas also developed in the Systems Laboratory was shipped to the Walter Reed
Army Medical Center for use in biochemistry research. This system was used todemonstrate the success of this development during the Fourth Meeting of the
MCUG. The consistency, accuracy, reliability, and cost-effectiveness of thissystem have shown the usefulness of the Dl7B Computer in this application.

INTRODUCTION
Current advances in medical practice are making ever increasing demands
on medical laboratories which result in a shortage of skilled technical staff.
Medical laboratory instruments are finding increased use for clinical and also
research chemical analysis.

Some laboratory instruments such as AutoAnalyzers

have increased the productivity that is possible for a given size staff, butthere is still need for improved efficiency if the total laboratory workload
is to be increased without the addition of technical staff or the purchase of
more expensive equipment.
Typical data from these instruments are in the form of recorder traces
consisting of a series of peaks.

These peaks are conventionally interpretedby graphical evaluation performed manually.

This tedious and inaccurate taskof manually performing waveform analysis su~gests the need for cost-effective
automation.

Automation offers a potential solution as well as a different set ofproblems.

Various automated analysis systems are available through either

commercial or research organizations, but these systems represent considerable
cost and offer little flexibility.

Most chemical technologists can be trained

to operate a variety bflaboratory instruments.

However, special-purpose

commercial analyzers require increased hardware cost if they are to be used in
more than a limited application.

This additional hardware cost will be neededfor each new task unless the analyzer includes a general-purpose programmablecomputer.

This latter solution offers flexibility, but the cost may even beprohibitive for many laboratories especially if mUltiple units are needed.
One method of reducing the high cost of laboratory automation is to use
excess DoD computer equipment such as the Minuteman Dl7B computers from the
Minuteman I missiles. .The main requirements for successful use of the Dl7B asa general-purpose minicomputer are software development and the interfacing ofvarious peripheral I/O devices and instruments.

Application areas will expand

as the interfacing of these sensing and display devices is developed.

OPERATIONAL PRINCIPLES OF THE AUTOANALYZER
The AutoAnalyzer is a continuous-flow chemical analysis system in which
individual operations are performed on a flowing stream containing specimenssuch as blood serum.

The AutoAnalyzer makes it possible to measure the con-centration of various constituents of the blood serum as individual patient
samples flow through the system.

The standards, controls, and samples aremeasured continuously against a fixed reference.
on a chart by a recorder stylus.

The final results are traced

It is possible to place a re-transmitting potentiometer on a shaft of thepen drive for the purpose of creating an electrical signal whose amplitude is
proportional to that of the plotted waveform.

The re-transmitting device canbe connected to the recorder shaft of the AutoAnalyzer in a few minutes thus
providing the only modification required for interfacing the AutoAnalyzer tothe automated Dl7B data acquisition and waveform analysis system.
There are a few operational procedures that should be followed quite

caref~lly in operating the A~toAnalyzer. The essential requirement for thecorrect operation of the entire system is proper flow of the various liquids

85

and air through the pump, coils, and the flow cell.

One of the most criticalcharacteristics of the flow is the bubble pattern.

It must be uniform throughthe system for accurate analysis..

It is always desirable to assure that all

tubes have clean, smooth inside walls.

In general, the AutoAnalyzer has been

proven to be a reliable and consistent instrument.

SET-UP OF THE AUTOMATED MINUTEMAN/AUTOANAlYZER SYSTEMA Minuteman/AutoAnalyzer Analysis System has been developed in the Tulane
Systems Laboratory under a research contract supported by the Army Medical R&D
Command, and total protein analysis of blood serum has been executed as one
representative example of the use of this system.

This automated data analysis

system for use with an AutoAnalyzer is one typical example of a system which
includes a Minuteman Dl7B Computer and has potential for cost-effective medical
application in clinical and research laboratories.
It has been demonstrated that this system gives accurate, consistent, anduseful results.

The cost-effective use of the Dl7B for automated concentration

analysis from an AutoAnalyzer compares favorably with commercial special-design
analyzers, but the capability is similar.to analyze~s which offer the increased
flexibility that is possible with a small general-purpose computer.
The Dl7B requires a 28 V DC ± I V power supply that is capable of providing 20 A in continuous duty.

The power supply should be checked for proper

output voltage under actual operating conditions before it is connected to the
D17B.

The Dl7B should be operated in a cool, dry environment to minimize any

hardware failures.

Therefore,an air conditioned laboratory is desirable inmany locations, and a fan is necessary to cool the electronic circuitry as wellas the memory.

A relatively simple control panel can be constructed for the

Dl7B which allows the operator to supply specific initializing and interactive
input signals.
A Model ASR35 Teletype was used as an I/O device in this system.

The

interface between the Dl7B and the Teletype has three modes of operation:
Cha.racter Input, Print Out, and Direct Input.

The Character Input mode permits

the operator .to load data into the Dl7B via keyboard or tape reader.

The Print

Out mode is entered when the Dl7B is to execute a print out subroutine.

The

Direct Input mode is used to load data directly into the Accumulator when a86discrete input' instruction is executed., The interface will automatically go
into the proper mode depending on the state of the D17B.

The cost of theinterface was minimized by time-sharing hardware for the various modes ofoperation.
The estimated cost for installation of an initial Minuteman/AutoAnalyzer
Analysis System is approximately $440 plus 60 man-hours technician time.

This

cost does not include amounts for the AutoAnalyzer, Teletype, or the external
power supplies and the D17B which were acquired as excess property.

AUTOANALYZER WAVEFORM ANALYSIS
In the development of the automated system, a typical waveform from the
AutoAnalyzer was simulated using D17B hybrid function generation initiallyinstead of using output directly from the laboratory instrument.

D17B hybrid

simulation offers the advantage of faster operation than is possible when the
waveform is obtained directly from the AutoAnalyzer.

The zero-order holdwaveform obtained from a D-A converter was improved by filtering with a simple
first~order

feedback network.

Data sampling is an essential consideration in automated waveform analysis.
The sampling theorem specifies the lower limit for the sampling rate, and theupper limit is determined by the signal waveform and the characteristics of thespecific A-D converter that is used.

The amplitude spectrum of the simulated

signal was monitored using a wave analyzer for estimating the sampling rate.
The minimum sampling rate required for this waveform was also investigated byusing two additional approaches, namely practical considerations and explicit
function representation.

With the data from these analyses an optimal sampling

rate of one sample per two second interval was determined.

This sampling rate

is practical and has been shown to be suitable for one percent (1%) accuracy.
The output waveform from the AutoAnalyzer consists of a series of peaks
corresponding to the individual standards and specimen samples.

By observing

typical output charts obtained from clinical laboratories, potential sources, of distortion in the analog signal were identified.

Distortion is character-ized by such effects as noise, carry-over, drift, irregularity in the crest,and early or late rise. 'Theref(;re, error and sensitivity analysis were appliedin the sampling rate determination.

87

AUTOANALYZER ANALYSIS PROGRAM
The output of the AutoAnalyzer is a signal with a waveform consisting ofa series of peaks.

The height of each peak represents the concentration of acertain compound or radical in the corresponding specimen.

Criteria havebeen established to check whether the distort:i.on in the signal is above themaxim~macceptable level for a qualified peak.

all the criteria are met.

A peak is qualified only when

A complete 'program is composed of various subrou-tines which are linked together by a standardized subroutine linkage technique.
The flow chart for the AutoAnalyzer Analysis Program (AAP) is shown in
Figure 1.

The system checkout subroutine wi,ll check for proper operation of

the system, both software- and-hardware-wise, daily or as requested by theoperator.

During the execution of" this subroutine, the peak values and

ACCEPTABLE/NOT ACCEPTABLE messages will be recorded indicating whether or not
the system checkout was satisfactory for each peak.
After the system checkout, the prog,ram determines the base-line as thezero reference level before the calibration curve is validated.

Aft;er thebase-line determination, there are five calibration standards to be validated.
The calibration waveform is then followed by the specimen samples.· A peak is
identified by falling readings following rising readings.

The sampling rateis under program controL
The first peak of each 'batch of samples is used for time-basesynchronization purposes.

When the first peak is. detected, a counter is set so thatthe following peaks must arrive during specified time limits.

The-:durationof the allowed peak time window is also under program control.

A 20 second'

time window has been used in this development.; .
At the end of the calibration curve validation, a message will be printed
to indicate whether the calibration curve is acceptab'le or not.

A driftstandard may be included to form the batch depending on whether drift correction is required.

The peak heighf of the drift standard is compared to thevalue of stored data,o,If the differellceis beyond a certain limit,Le. 'adrift is detected, a linear correction will be applied to the previous peakheights.

Sample concentration which is the most meaningful pathological datais calculated by using linear interpolation in order to agree with convention.
The concentrad.onvalue and 'the associated data will be recorded in a specificformat which can be designed as preferred by modifying the program.

88

PROGRAM
SET-UP(INTERACTIVE)SYSTEMCHECKOUT& PEAK
VALIDATION

Y

N

BASE-LINE
DETERMINATIONCALIBRATIONPEAKDETECTION &WAVEFORM
VALIDATIONCALIBRATIONCURVEVALIDATIONSPECIMENPEAK
RECOGNITION(8/BATCH)COMPOSITEREPORT
PRINT OUT

SPECIMENPEAK
RECOGNITIONCONCENTRATIONCONCENTRATIONCALCULATIONCALCULATIONNYCOMPOSITEREPORT
PRINT OUT

Fig. 1.

DRIF!'CORRECTION

AutoAnalyzer Ana,lysis Program Flow Chart.

89This program is designed with the ability to detect possible errors.

If

an error is detected, a buzzer will be triggered by a pulse generated using a
Discrete Output line from the D17B.
the Teletype.
action.

An error message will also be printed by

From this indication the operator can decide on the appropriate

The entire automated system will be in the "Halt and Proceed" mode

waiting for the operator to furnish further instructions.

SYSTEM DEMONSTRATION AT WRAIR
A system which typified the prototype development of the Minuteman D17B/
Technicon single-channel AutoAna1yzer was shipped to Walter Reed Army Instituteof Research at the Walter Reed Army Medical Center and was used to exhibit oneof the many possible methodologies during demonstrations on June 5 and 7 by the
Systems Laboratory staff.
Figure 2.

A U.S. Army photograph of the system appears in

Resulting demonstrations have shown the D17B Computer to be capable,

reliable and cost-effective in this application •. CONCLUSIONSThe Minuteman ICBM Weapons System currently includes approximately 300
operational Minuteman I missiles.

Several hundred additional reliable D17B

minicomputers from Minuteman I missiles are being declared excess by the USAF.
These small general-purpose computers with extremely flexible I/O originallycost $234,000 each.
Although the D17B does not provide all the capability of large-scalecomputers, it does resemble them functionally, and it possesses a number ofsimilar features.

One unique feature of the D17B is the reliability factor

which has been quoted by USAF to be 5.5 years MTBF for over 1,000 units.
These computers can provide numerous computing requirements with application
to medicine and other fields.

Work that has been completed in the Systems

Laboratory at Tulane has demonstrated that the modifications required toprovide for the use of the D17B in a continuous duty laboratory environment
are not only feasible but cost-effective.

A system using the D17B has beendeveloped for automated data acquisition, control and waveform evaluation

Tulane University AutoAnalyzer Analysis System
Using the Minuteman D17B Computer

91

necessary to perform automated concentration analysis from an AutoAnalyzer.
Commercial equipment for such analysis is available, but these systems havehigh costs that are often difficult to justify especially if a number ofsimilar systems are desired.
Construction of a complete single-channel AutoAnalyzer Analysis System
which includes a D17B Computer is estimated to require 60 man-hours of technician time.

The total cost for an initial unit will be approximately 50%of the current price of a special-purpose commercial unit.

The cost compari-

Son for a dual-channel unit is approximately 30% of that for a special-purpose
commercial unit.

These cost estimates include both time and materials for acomplete system with a teletype used for I/O.

The cost will be reduced very

considerably if these units are mass produced.

Although the capability ofthis system is similar to analyzers which include the versatility of small
general-purpose computers, the cost effectiveness is quite advantageous whencompared with commercial special-purpose analyzers.
Accuracy, consistency, simplicity, and cost-effectiveness are the mainfeatures of the AutoAnalyzer Analysis System.

The methodology for total

protein analysis which was demonstrated during this development is just one
example of the use of this system with the AutoAnalyzer, and the AutoAnalyzer
Analysis System is just one typical application for the D17B Computer.

The

D17B has been found to be extremely capable and reliable in this application.
This system was designed such that there would be no disruption of the·usual laboratory procedure.

In addition, the simplicity of the system issuch that existing personnel can easily be trained to operate the automatedsystem. This system will give laboratory technologists and professional staff
more time to evaluate results and investigate specific abnormal data; i.e.,
effective utilization of less-skilled personnel is possible.
The AAS has full alpha-numeric capability and a proven accuracy of better
than 1%.

The accuracy and reliability obtained with the AAS are considerablyincreased compared to that obtained by manual means because of the reductionof human errors in procedure and data manipulation.

It has also been shownthat there will be added flexibility in the implementation of sophisticatedexperimental and analysis techniques.

This 'system offers future adaptability

to the analysis of signals from other laboratory instruments and to othercomputing applications by simply reading in different programs.

92
REFERENCES

1. C. H. ~eck, D17B Comp~ter Programming Manual, Minuteman Computer Users
Group, Tulane University, New Orleans, 1971.
2. C.' H. J3eck,J>roceeqingsof ,the Third Meeting of the Minuteman Computer
Users Group, Minuteman Computer Users Group, Tulane University,
New Orleans, 1971.
3. W. L. White, M. M. Erickson and S. C. Stevens, Practical Automation for
the Clinical Laboratory, C. :V. Mosby Co., St. Louis, 1968.
4. Laboratory Organization and Data Handling Familiarization, T & T
Technology, Inc., 1971.
5. R. H. Laessig and P. P. Tong, "Digital Concentration Analyzer for theSingle Channel AutoAnalyzer," American Laboratory, 67, September 1970.
6. L. G. Whitby and D. Simpson, "Experience with on-line computing inclinical chemistry, "J. Clin. Path., vol. 22, suppl. no. 3, 107-124, 1969.
7. Po Gray and J. A. owen, "Experience with on-line computer processing ofdata from an AutoAnalyzer complex," Clin. Chim. Acta,vol. 24, 389-399,
1969.
8. N. P. Wilburn and 1. D. Coffin, "Combination of on-line analysis withcollection of multi component spectra in an on-line computer," IBM J. R&D,
vol. 13, no. 1, 46, Jan~ary 1969.
9. M. A. Evenson, et., al., "Application of an on-line data acquisition systemusing the LINC computer in the clinical chemistry lab," Automation in
Anal. Chem., vol. 1, 137, 1968.
10. M. A. Blaivas and A. H. Mencz, "Progress report on the use of a computerin the automated clinical chemistry laboratory,". Automation in Anal. Chem.,
vol. 1,368-372, 1967.

. ACKNOWLEDGEMENTS

This project haa been supported in part by the U. S. Army Medical Researchand Development Command under Contract No. DADAl7-71-C-1019.

The authors are

particularly indebted to Capt. Timothy C. Doyle, Computer Systems Branch of the
USAMRDC, and to Mr. Billy G. Bass, Division of Biochemistry at WRAIR, for theirvaluable assistance and contributions to the success of this project. Although
the success of this development is due to the efforts of the entire staff of
the Systems Laboratory, special credit is due to Mr. Lansing B. Evans for his
supervision of the installation and demonstration of the system at WRAIR.

93

E.f.§'l~TE.ATIQ!!

Fourth Meeting of the Minuteman Computer Users Group
Shepaton-SiZver spring
June 5-6, 1972
Capt. Douglas J. Allen
Air Force Institute of Technology
AFIT-SE
Wright Patterson AFB, OH 45433
Mr. Richard F. Babler, Chief
Defense ADPE Reuti1ization Office
Cameron Station
Alexandria, VA 22314
Mr. Ned G. Barber
Psychology
City College of New York138th St. & Convent Avenue
New York, NY 10031

Mr. Robert A. Beken
Programmer
Air-Medic Micronesia
Box 3
Glenn Dale, MD 20769
Prof. Philip J. Best
Associate Professor, Psychology
University of Virginia
Gilmer HallCharlottesville, VA 22901

Maj. Robert C. Brady
USAF HQ/xOOFC .
5916 Minuteman Road
Springfield, VA 22152

Dr. James D. Bargainer
Associate Professor
Electrical Engineering .
University of Houston
Houston, tx 77004

Dr. Sam J. Cipolla
Assistant Professor, Physics
Creighton University
Omaha, NE 68131

Mr. David W. Barrett
Chemistry
Johns Hopkins University
Charles & 34th Street
Baltimore, MD 21218

Mr. Richard S. Cook, Director
ADP Resource Management Div.
General Services Administration
18th & E Street
Washington, DC 20406

Mr. John P. Bartell
Computer Equipment Analyst
Defense Supply Agency
DSAH-LS (nARO)
Cameron Station
Alexandria, VA 22314

Mr. Charles R. Cunnnings
Computer Equipment Analyst
National Library of Medicine
Lister Hill Center
8600 Rockville Pike
Bethesda, MD 20014

Dr. Char1~s H. Beck
Professor of Electrical Engineering
Tulane University
New Orleans, LA 70118

Dr. Frederic M. Davidson
Assistant Professor
Electrical EngineeringJohns HopkinsUniver~ityCharles & 34th Street
Baltimore, MD 21218

94
Mr. Preston G. Davis
Systems Engineering
Tennessee Technological University
Route 3
Mt. Juliet, Tennessee 37122

Prof." William Fishbein
Psychology
City College of New York
]38th & Amsterdam Avenue
New York, NY 10031

Mr. Edward Dowgirth(Address not furnished)

Mr. Charles S. Fly
Electrical Engineering
Tennessee Technological University
Rt 7, Box 238A
Clarksville, TN 37040

Mr. Antonio DuqueDesign Engineer
Fighton, Inc.
65 Sullivan Street
Rochester,NY 14605

Mr. David'S. Frager
Syst~ms Administrator
BUMED, NNMC
14300, Cantrell Road
Silver Spring, MD 20904

Mr., John W. Dyer
Electrical Engineering
Brigham Young University
B-34
Provo, UT 84601

Mr. William A. Garrison
Chemistry, BH462
University of Missouri - St. Louis
8001 Natural Bridge Road
St. Louis,MO 63121

Mr. John W. Ecklin
Computer Equipment Analyst
DSA
Cameron Station
Alexandria, VA 22314

Robert M. Goldberg
Radiology
Albert Einstein College
1300 Morris Park Avenue
Bronx, NY 10461

1>1r. Ca~los J. Escude
LowelliTechnical Institute
450 Aiken St;reet
Lowell, MA 02173

Mr. Charles E. Greene
Spec. Assistant to Director
Division Data Processing
HSMHA, PHS, DHEW - NCHS
Rm. 10A56 , 5600 Fishers Lane
Rockville, MD 20852

Mr. Lansing B. EVans
Electrical Engineering
Tulane University
New Orleans, LA 70]]8
Dr. Joseph F. Fennell
Space Physics Lab. 120/1813
Aerospace Corporation
P.O. Box 95085
Los Angeles, CA 90045
Mr. Wayne R. Fenn.er
Plasma Research Labs 120/1405
Aerospace Corporation
P.O. Box 95085
Los Angeles, CA 90045

Dr. Robert W. Gruebel
Associate Professor of Physics
Stephen F. Austin State University
Box 3044 SFA Station
Nacogdoches, TX 75961
Mr. William W. Hart, Jr.
Property Utilization Specialist
Excess Equipment Branch
General Services Administration
Washington, DC 20406
Mr. M.A. Henry
Chemistry Department
42 Whitmore Laboratory
Penn State University
University Park, PA 16802

95
Mr. ToA. Holden
Chief, ADP Reutilization Branch
General Services ADM, OADMS
Washington, DC 20406

Mr. William A. Lee
Division of Neurosugery
Medical University of South Carolina
Charleston, SC 29401

Mr. W. Lee Hunter
Systems Analystt E-291
DHEW, PHS - Ctro for Disease Control
1600 Clifton Road
Atlanta, GA 30333

Dr. John R. Lehmann
Program Director
Computer Systems Design
National Science Foundation
Washington, DC 20550

Mro Paul S. Jean
Tennessee Technological University
Electrical Engineering
511 N. Peachtree Ave.
Cookeville, TN 38501

Mr. Fred Lichtenberger
CED, B65
Picatinny Arsenal
Dover, NJ 07801

Maj. Michael A. Jenkin
Dir. of Plans and Hospiti1ization
Ole Automation Planning Group
USAF Office of Surgeon General
HQ Usaf/S6HM Forresta1 Building
Washington, DC 20013
Colo Robert L. Jones
Deputy Comptroller (Data Automation)
OASD (C) OSD
1126 Buchanan Street
McLean, VA 22101
Mr. Jay M. Kaplan
Theraputic Radiology
V.A. Research Hospital
333 Eo Huron
Chicago~ IL 60611

Mr. David A. McB1ain
Director of Computing Services
Austin College
Box 1265
Sherman, TX 75090
Mr. Leonard D. McGann
Director
Division of Data Processing
NCHS, PHS
P.O. Box 12214
Raleigh, NC 27612
Mr. William M. McGhee
President
Fightori, Inc.
65 Sullivan Street
Rochester, NY 14605

Prof. Walter So Koski
Professor of Chemistry
Johns Hopkins University
Charles & 34th Street
Baltimore, MD 21218

Mr • Thomas F McInnis.Automatic Test Systems Dept.
Advanced Projects Lab.
Hughes Aircraft Company
Building 6 MS E165
Culver City, CA 90230

Mr. Richard Wo Kuberry
Supervisory Geophysicist
NOAA-ERL
Fredericksburg Geomagnitic Center
Corbin, VA 22446

Dr. W. Gordon Monahan
Biophysics
Sloan-Kettering lnst.
425 E. 68th Street
New York, NY 10021

Dr. Gary B. Lamont
Associate Professor
Electrical Engineering
Air Force Institute of Technology
Wright Patterson AFB, OR 45433

Mr. Cesar A. Sepulveda-Nunez
Optical Sciences Center
University of Arizona
Tucson, AZ 85721

096
Mr. RichardOhranElectrical Engineering
Brighan Young University
173 FELB
Provo, UT 84601
Mr. George E. Pidick
Physics Department
University of South Florida
4202 Fowler Avenue
Tampa, FL 33620
Professor Icarus E. Pyros
Head, Office of Computer Science
US Merchant Marine Academy
Kings Point, L.I., NY 10024
Mr. JohnG. Romanski
Electrical EngineeringJohns Hopkins University
205 Barton Hall
Baltimore, MD 21218
Mr. Harvey S. Schultz
Biophysics
Sloan Kettering Institute425 E. 68th Street
New York, NY 10021
Dr. Leo H. Soderholm
Investigations Leader
USDA ARS
Rm 213 Ag. Eng.
Iowa State University
Ames, IA 50010
Mr. Edward J. Taborek
Chemical Engineer, SMEFB-EE
US Army MERDC
Fort Belvoir, VA 22060
Dr. Theodore M. Thorson
Physicist, Theraputic Radiology
V.A. Research Hospital
333 Eo Huron
Chicago,IL 60611
Mr. Donald T. Torres
Bureau of Industerial Hygiene
Baltimore City Health Department
602 American Building
Baltimore & South Streets
Baltimore, MD 21202

Prof. Jack C. Towne
Chemistry
University of Dallas
Irving, TX 75060
Mr. Alfred E. Traver
Mechanical Engineering
Tennessee Technological University
Cookeville, TN 38501
Dr. Edward F. Turner, Jr.
Chairman, Physics Department
Washington and Lee University
Lexington, VA 24450
Mr. Michael W. VannieI'
Mechanical Engineering
University of Kentucky
Lexington, KY 40506
Mr. John R. Van Roekel
Gas Dynamics Labs
University of Michigan
Ann Arbor, MI 48105
Dr. James J. Whalen
Assistant Professor
Electrical EngineeringState University of New York at Buffalo
Rm 2B 4232 Ridge Lea Road
Amherst, NY 14226
Mr. Edward M. Wysocki
Electrical EngineeringJohns Hopkins University
Barton HallCharles & 34th Streets
Baltimore, MP 21218
Mr. Samuel P. Zieske
Director of Instrumentation
Austin College
Sherman, TX 75090