# D-37C

The D-37C (D37C) is the computer component of the all-inertial NS-17 Missile Guidance Set (MGS) for accurately navigating to its target thousands of miles away. The NS-17 MGS was used in the Minuteman II (LGM-30F) ICBM. The MGS, originally designed and produced by the Autonetics Division of North American Aviation, could store multiple preprogrammed targets in its internal memory.
Unlike other methods of navigation, inertial guidance does not rely on observations of land positions or the stars, radio or radar signals, or any other information from outside the vehicle. Instead, the inertial navigator provides the guidance information using gyroscopes that indicate direction and accelerometers that measure changes in speed and direction. A computer then uses this information to calculate the vehicle's position and guide it on its course. Enemies could not "jam" the system with false or confusing information.
The Ogden Air Logistics Center at Hill AFB has been Program Manager for the Minuteman ICBM family since January 1959. The base has had complete logistics management responsibilities for Minuteman and the rest of the ICBM fleet since July 1965.
The D-37C computer consists of four main sections: the memory, the central processing unit (CPU), and the input and output units. These sections are enclosed in one case. The memory is a two-sided, fixed-head disk which rotates at 6000 rpm. It contains 7222 words of 27 bits. Each word contains 24 data bits and three spacer bits not available to the programmer. The memory is arranged in 56 channels of 128 words each plus ten rapid access channels of one to sixteen words. The memory also includes the accumulators and instruction register.
The MM II missile was deployed with a D-37C disk computer. Autonetics also programmed functional simulators for flight program development and testing, and the code inserter verifier that was used at Wing headquarters to generate the codes to go into the airborne computer. It became necessary to verify not only that the flight program software was correct, but there was no code that would lead toward an unauthorized or accidental launch. TRW, Inc. continued its role of independent verification that first called verification and validation and then became nuclear safety cross check analysis (NSCCA). Logicon RDA was selected to perform the NSCCA of the targeting and execution plan programs developed by TRW.[1]
When MM III was developed, Autonetics generated the guidance equations that were programmed into the D37D computer, which contained a hybrid explicit guidance system for the first time. A new class of program was required by the Joint Strategic Targeting Planning Staff to select targets for the multiple warhead system. The Missile Application Programs were developed for these functions.
The next major update to the operational software was made under the Guidance Replacement Program. Autonetics (later acquired by The Boeing Co.) developed the necessary software for the new flight computer.

## Functional description

This section was excerpted from the original document, "Minuteman" D-37C Digital Computer System Depot Overhaul. Autonetics, Division of North American Rockwell, Inc. Anaheim, California. FET-D-120-D37/4.

### Control unit

The control unit interprets and processes all machine functions and consists of a location counter, the instruction register, and the phase register.
* Location Counter - The location counter determines the channel from which the next instruction is to be obtained.
* Instruction Register - The instruction register holds the instruction to be executed by the computer. This instruction defines the type of operation to be performed such as add, subtract, etc.; specifies the location address of the operand when necessary and indicates the sector address of the next instruction.
* Phase Register - The phase register consists of three flip-flops which may be set to one of eight possible states to indicate the phase of flight. It also serves as a selector switch to determine which group of voltage inputs are to be sampled and as an index register for a modify-flagged instruction. The state of the phase register is available as the stage reference outputs.

### Arithmetic unit

The arithmetic unit consists of three registers: the accumulator (A), lower accumulator (L), and the number register (N). Only the A and L registers are addressable.
* Accumulator (A-register) - The accumulator serves as the main register of the computer and holds the results of all arithmetic operations. This register serves as an output register for telemetry and character outputs.
* Lower Accumulator (L-register) - This register is used for certain arithmetic, input, logical operations or for rapid access storage.
* Number Register (N-register) - This register is used by the logic of the computer during multiplication and division and is not addressable.

### Input unit

* The discrete input lines generally serve as communication lines from external equipment. There are three sets of "on - off" type signals:
** One set samples 24 input signals.
** One set samples 19 external input signals and 5 flip-flops from within the computer.
** One set samples 21 input signals, two flip-flops and the logical *or" of 7 discrete output signals.
* Program Load - The main input for loading numerical data and instructions into the computer memory is a punched tape (paper or mylar). Information can be entered into the computer at a maximum rate of 800 five-bit codes per second from a photo-electric tape reader. Data can be entered manually from a keyboard if a computer manual control panel (CMPC) is available.
* Detector - The detector input is an "on - off" type signal received from an external source and indicates the working status of a specified piece of external equipment. The detector input monitor can be "reset" by means of a special instruction.
* Incremental - The incremental inputs are basically independent of program control and consist of seven resolver type, two variable incremental type, and one pulse type. These inputs are accumulated in the two four-word input buffer loops (V&R).
* Voltage - The computer is capable of converting one of 32 dc voltage inputs into an 8-bit binary number under program control. Analog voltages are grouped into four sets of eight inputs each. The range is + 10 volts with an accuracy of 200 mV.
* Cable - Cable inputs are serial messages of up to 96 bits in length entered into one of four words of the C-loop. Maximum data rate in 1600 bits per second. Cable input operation is begun by executing the Enable Cable Input instruction and proceeds basically independent of program control.
* Radio - Radio inputs are serial messages of unlimited length entered into one word of the C-loop. After 24 bits are accumulated, the information is transferred to channel MX Sector 054 and the loop is prepared to accept another 24 bits. Maximum input data rate is 100 bits per second. The operation is begun by an instruction and proceeds basically independent of program control.
* External Reset - Master Reset (Mr), Enable Write (Ew$_c$), Initiate Load (Fs$_c$) for checkout only, Halt Prime(K'$_{hc}$), Run Prime (K'$_{rc}$), Single Cycle Prime (K'$_{sc}$).

### Output unit

* Discrete - The discrete outputs provide two independent sets of output lines (32 and 15) for a total of 47 "on - off" type signals. The outputs are modified under program control and are sent to equipment external to the computer.
* Voltage - There are four dc voltage output lines available with each proportional to an 8-bit number including the sign. These lines are updated at the rate of 9.27 volts per 32 word times. The range is + 10 volts with an accuracy of ± 200 mv.
* Single Character - The single character output provides four-bit characters suitable for typewriter, tape punch or other similar output equipment. A parity check bit and two timing bits are issued automatically with each character.
* Cable - The cable output is a serial message of up to 96 bits in length transmitted from the four word C-loop. The maximum data rate is 1600 bits per second* The operation is begun by execution of the Enable Cable Output (ECO) instruction and proceeds basically independent of program control.
* Binary - There are four pairs of outputs which can be used to control external equipment such as gyro, etc. The output states are automatically updated under program control every 10 MS. The output is in the form of +1 or -1.
* Telemetry - A timing signal is issued under program control which signifies that the accumulator contains information which is to be read by the external equipment receiving the timing signal.
* Miscellaneous - These signals include Parity/Verify error signal, mode indication and stage reference.

### Memory unit

The D-37C computer memory consists of a rotating magnetic disk driven by a synchronous motor at 6000 rpm. Adjacent to the disk are two fixed head plates which house the read and write heads. The disk has a thin magnetic oxide coating on both sides for storing information. This disk is supported by air bearings generated by the rotating disk. The disk is divided into tracks or channels of 128 words each for main memory. A total capacity of 7222 words may be contained in the 56 channels of 128 Sectors, six 4-word loops, one 8-word loop, one 16-word loop and six 1-word loops.

## Programming

The computer uses a full 24-bit instruction word and data word. Data is represented in one of two fashions, as a 23-bit binary fraction (full word) or as a 10-bit fraction (split word). The two formats are shown in the figure. Instructions also have two formats, either flagged or unflagged as indicated in the figure. A list with all of the available instructions with numeric and mnemonic codes follows. For more information on programming see:
Kee, W. T. Programming Manual for the D-37C Computer. Anaheim, California, Autonetics, Division of North American Rockwell, Inc., 30 January 1965.

## D-37C computer instructions

| MNEMONIC CODE | DESCRIPTION | NUMERIC CODE | CHANNEL (C), SECTOR (S) |
| ADD | Add | 64 | C, S |
| ALC | Accumulator Left Cycle | 00 | 26, S |
| ANA | AND to Accumulator | 40 | 42, S |
| ARC | Accumulator Right Cycle | 0 | 36, S |
| ARS | Accumulator Right Shift | 0 | 32, S |
| AWC | Add Without Carry | 40 | 50, S |
| CLA | Clear And Add | 44 | C, S |
| COA | Character Output A | 0 | (40-76), S |
| CoM | Complement | 40 | 46, S |
| DIA | Discrete Input A | 40 | 02, S |
| DIB | Discrete Input B | 40 | 00, S |
| DIC | Discrete Input C | 40 | 20, S |
| DIV | Divide | 34 | C, S |
| DOA | Discrete Output A | 40 | 54, XX2 |
| DOB | Discrete Output B | 40 | 54, XX1 |
| DPP | Disable Platform Power | 40 | 62, X20 |
| ECO | Enable Cable Output | 40 | 62, X02 |
| ECI | Enable Cable Input | 40 | 62, X03 |
| EFC | Enable Fine Countdown | 40 | 26, S |
| EPP | Enable Platform Power | 40 | 62, X40 |
| FCL | Full Compare and Limit | 14 | C, S |
| GBP | Generate Bit Pattern | 40 | 64, S |
| GPT | Generate Parity Bit | 40 | 60, S |
| HFC | Halt Fine Countdown | 40 | 24, S |
| HPR | Halt and Proceed | 40 | 22, S |
| LPR | Load Phase Register | 40 | (70-76), S |
| MAL | Modify A and L | 40 | 52, S |
| MIM | Minus Magnitude | 40 | 44, S |
| MPY | Multiply | 24 | C, S |
| ORA | OR to Accumulator | 40 | 40, S |
| PLM | Plus Magnitude | 40 | 56, S |
| RIC | Radio Intercommunication | 0 | 24, 001 |
| RSD | Reset Detector | 40 | 62, X10 |
| SAD | Split Add | 60 | C, S |
| SAL | Split Accumulator Left Shift | 0 | 20, S |
| SAR | Split Accumulator Right Shift | 0 | 30, S |
| SCL | Split Compare and Limit | 4 | C, S |
| SMP | Split Multiply | 20 | C, S |
| SPM | Split Plus Magnitude | 40 | 66, S |
| SRD | Simulate Transient | 0 | 16, S |
| SSU | Split Subtract | 70 | C, S |
| STO | Store Accumulator | 51 | C, S |
| SUB | Subtract | 74 | C, S |
| TMI | Transfer on Minus | 30 | C, S |
| TRA | Transfer | 50 | C, S |
| TSM | Transfer Sector on Minus | 40 | 06, S |
| TSZ | Transfer Sector on Zero | 40 | 04, S |
| TZE | Transfer on Zero | 10 | C, S |
| VIA | Voltage Input A | 40 | 10, S |
| VIB | Voltage Input B | 40 | 12, S |
| VIC | Voltage Input C | 40 | 14, S |
| VID | Voltage Input D | 40 | 16, S |
| VIE | Voltage Input E | 40 | 30, S |
| VIF | Voltage Input F | 40 | 32, S |
| VIG | Voltage Input G | 40 | 34, S |
| VIH | Voltage Input H | 40 | 36, S |

## D-17B comparison

Both the D-17B and the D-37C computers were designed and built by Autonetics, then a division of North American Aviation, later a division of Boeing, for the real time guidance and control of a Minuteman ICBM from launch to detonation. The D-17B is a component of the NS-10Q missile guidance system for the Minuteman I, while the D-37C is a component of the NS-17 missile guidance system for the Minuteman II. There are many basic similarities between the two designs. They are both synchronous, serial machines with fixed head disks for primary memory. They have two-address instructions, half and whole word precision, and many similar instruction operator codes. The differences in the two computers are based mainly upon their differing technologies. The D-17B was built in 1962 using primarily diode-resistor logic and diode-transistor logic as needed to realize its logic circuits. On the other hand, the D-37C was built in 1964 using small scale integrated circuits made by Texas Instruments with discrete components only in the internal power supplies.

## Power supply

Jerrold Foutz, President, SMPS Technology was the responsible engineer for the Minuteman D-37B guidance and control computer power supply study program which defined the state-of-art techniques later used in one of the first integrated-circuit military computers. These techniques included high-speed flat-pack power transistors and diodes (the first silicon power devices that could switch at 20 kHz and higher), high frequency DC-to-DC converters (100 kHz reduced to 20 kHz for reliability safety margins), high frequency pulse-width-modulated power supplies (20 kHz), metal substrate multilayer circuit boards (removing eight watts per cubic inch in space environment with 40 °C rise, junction to system heat sink), and radiation circumvention techniques that removed all electrical power from the power distribution system, including decoupling capacitors, in less than 1 microsecond and restored to the specified voltage in a few microseconds upon command. Responsible for developing these concepts from exploratory development through to the production design. The basic power supply configuration was maintained in later Minuteman missiles whereas other components underwent major redesigns. Also developed, but not used, was a complete liquid dielectric cooling system based on phase change. This study verified, for the first time, that such a system could work in zero-gravity, and that the liquid dielectric showed no compatibility problems with the chosen electronic components over a test period lasting eight years.