The first computer in the range was the DDP-116, this machine was designed and built by Computer Control Company, also known as CCC or 3C, before it was purchased by Honeywell.
I don't know a great deal about this model. I believe that it was designed over the summer of 1965 by Gardner Hendrie. I think it was introduced in March or April 1965. Various references describe this machine as the first 16-bit Minicomputer.
The machine has a lot in common with the later machines in the series. However, it is built of discrete transitors, where as the later machines used integrated circuits. CCC had developed a range of plug-in modules called PACs that each implemented a few logic gates and these were used to form the logic of the DDP-116.
DAP-16 Mod 2 (the assembler) has the ability to limit opcodes to those that are legal on older machines. Using this facility this program shows that, relative to the H316 and DDP-516 machines that came later, the DDP-116 lacked:
- Load/Store X
- The 8-bit character manipulation instructions
- Input/Output keys
- The instructions concerned with double precision operation
The omission of load/store X is quite trivial. Since memory location zero and the X register track one-another the action of load X can be effected by loading the required value into the accumulator and saving it to location zero. Similarly store X is easily constructed.
The 8-bit character manipulation instructions are useful but not really required since their effects can be achieved using shifts, rotates and logical operations.
Not having Input and Output keys instructions seems potentially more serious, because it makes it difficult to save the complete machine state on entry to an interrupt service routine, and restore it before returning to the main program. The "keys" are equivalent to the "flags" of more modern machines. On the Series 16 machines these include the carry flag and various bits that record the fact that the machine is operating in a special mode, for example that the machine is operating in Extended Addressing mode. The carry bit's state can be saved by testing it with a SSC (Skip if Carry Set) instruction and restored by a RCB or SCB instruction. I suspect that the carry was the only such bit on the DDP-116, so it only became necessary to "invent" the keys when more flag bits were introduced on the DDP-516
Presumably the DDP-116 had no double precision support.
This image of the front-panel shows just three "Status" lights:
|I/O (and memory) parity error condition
This suggests that the C bit may well have been the only true flag. (PI need not be saved on interrupt of course, because it must be set to enter the interrupt routine in the first place.)
The opening plate covering the lower bank of buttons on the front-panel, shown above, has two paper notes taped to it. The first is the standard key-in loader used on the DDP-516 and H316 machines to load Self Loading System Tapes (SLST) produced by PAL-AP and similar programs. The seond one shows an alternative key-in loader that goes at the high addresses. I presume the addresses shown are the top of core memory on this paritcular machine.
This leads me to suspect that the DDP-116 machine probably doesn't have the protected memory locations '01 to '17 that the DDP-516 and DDP-316 have. I imagine that this alternative loader predates the loader for PAL-AP tapes?