Compucorp 122E 'Scientist' Programmable Desktop Calculator
The Compucorp 122E is a member of Compucorp's first generation of electronic calculators. It is a high-end, programmable calculator optimized for use in scientific applications. The company "Compucorp" isn't really the company's name. Compucorp was the manufacturing division of Computer Design Corporation. Computer Design Corp. was started by a group of entrepreneurs and engineers formerly with Wyle Laboratories. Wyle, a provider of electronic test systems and methodologies, started up a business to market an early all-electronic calculator called the Wyle Scientific as far back as late 1964, during the dawn of history for electronic calculators. However, even though the Wyle Scientific was an amazing and very capable machine for its time, Wyle's sales and marketing staff really weren't dialed in to the way to sell an electronic calculator -- they were more interested in selling test systems and equipment, Wyle's bread and butter. The folks involved with the Wyle Scientific decided that they'd make a go of it themselves, and approached Wyle's executives with the idea to go off on their own. Wyle's management gave them their blessing, and an initial group of seven people left Wyle to form Computer Design Corporation. The Wyle Scientific was an all-transistor machine based on, by then, old technology. Rather than re-use the Wyle design, the engineers at the fledgling Computer Design Corporation designed a Large Scale Integration (LSI) chipset that served as the core to a computer-like microprogrammed engine that could perform just about any type of mathematical function with the proper microprogram. This chipset formed what was an early form of microprocessor. Given that the company was still small, and lacked any manufacturing capabilities, Computer Design Corp. decided to market their designs to other calculator companies, especially those that were heavily entrenched in the quickly dying electro-mechanical calculator market. Later, after successfully selling their designs to Monroe, Deitzgen, and others, Computer Design Corp. had enough money to start up their own manufacturing division, called Compucorp, and began building and marketing their own line of high-end calculators under the Compucorp label.
The 122E is a member of a line of 100-series Compucorp calculators, which include specialized high-end calculators for statistical (See the page on the Compucorp 140 for another member of the 100-series of Compucorp calculators), surveying, and scientific applications. The "E" postfix on the 122 model number seems to be an indication that the machine is a revision or extension of the original Compucorp 122 Scientific. At this point, I don't know what the differences are between the original 122 and the 122E, but my guess would be that perhaps the "E" model has more memory and program capacity than the original 122. If anyone out there knows what the real differences are, I'd love to hear from you. This particular machine was built in the mid-to-late part of 1971 based on date codes on components within the machine.
Compucorp 122E with top part of case removed
The 122E Scientist, is specially designed to be of use for applications requiring calculations along a science or mathematics bent. All of the major scientific calculator functions are just one or two keypresses away. The compliment of scientific functions include: base 10 Logarithm; base e Logarithm; 10x; ex; square root; 1/x; and ax; sine and cosine (and inverse functions); hyperbolic sine and cosine (along with inverse hyperbolic sine and cosine); factorial; and radian to degree conversion.
The 122E display is made up of genuine Burroughs Nixie display tubes. Each tube contains the digits zero through nine and a right-hand decimal point. As with its stablemate machine, the Compucorp 140, the display is arranged in two sections, one section with 10 digits plus sign for general number display and display of mantissa in numbers displayed in scientific notation, and a second section consisting of a sign plus two digits for display of the exponent in numbers shown in scientific notation. At the right end of the display, a neon indicator lights a legend reading "OFLOW" to indicate when the range of the machine has been exceeded, and at the left end of the display a similar legend lights up "ERROR" when an invalid function has been attempted. When the and overflow or error condition exists, the machine locks, requiring a press of the [CLEAR x] key to clear the condition and unlock the machine. Pressing the [RESET] key will clear error/overflow conditions, but also disturbs the content of some memory registers. A switch on the keyboard panel selects the display mode, with one selection causing numbers to always be displayed in scientific notation, and the other position displaying numbers in scientific notation only when necessary.
The machine has a compliment of 10 memory registers, ranging from 0 through 9. A number on the display can be stored directly into a memory register by pressing the [STn] key, followed by a single digit on the numeric keyboard indicating which register should receive the value. The [EXCHn] key exchanges the content of the selected memory register with the content of the display. The content of any memory register may be recalled by pressing the [RCLn] key followed by the memory register number. The [+n] key adds the number in the display to the specified memory register without affecting the number in the display. Memory registers 7, 8 and 9 are used for some of the summing functions the machine has, accumulating things such as item counts, sums, and sums of squares of lists of numbers entered into the machine. The memory registers are volatile, meaning that the content of memories is not retained when the machine is powered off.
The "I/O LOGIC" Circuit Board
Mechanically, the Compucorp 122E is of the same structural design as the other machines in the 100-series. All of the 100-series calculators are based on the same chassis, sharing the same power supply, display subassembly, card cage, keyboard assembly, and cabinet base. The only real differences between the various 100-series machines are the content of the read-only memory (ROM) chips that contain the microcode for the particular model, the population of keys on the keyboard, the openings in the upper half of the cabinet for keyboard keys, and lastly, badging.
The "ROM LOGIC" Circuit Board
As mentioned earlier, Computer Design Corp. initially entered the calculator business not by selling calculators, but selling design ideas to other calculator manufacturers. The intellectual property that Computer Design Corp. had was the general purpose set of chips that could be microprogrammed to form just about any type of calculator. This first-generation chipset was designated the "HTL" chipset. Computer Design Corp. contracted out the actual manufacturing of the HTL chips to AMI (American Microsystems, Inc.), one of the early manufacturers of large scale integrated (LSI) circuits in the United States. AMI made its early fortunes fabricating LSI chips for companies that had digital design skills, but no ability to lay out or manufacture IC-based versions of their circuits.
Peculair "Garrett"-labeled HTL18 chip
There is an interesting discovery to be found inside this particular Compucorp 122E. Up until recently, it was thought that AMI was Computer Design Corporation's sole-source for the HTL-series chips that made up the first-generation Compucorp calculators. However, two chips on the "I/O Logic" circuit board in this machine have a "Garrett" logo on them. In all other aspects, the Garrett-badged chips appear to be identical in terms of fabrication and packaging to the AMI-made chips. This proved to be a big mystery until recently the Old Calculator Museum made contact with Mr. Ray Holt. Mr. Holt worked at Garrett AiResearch, an aircraft avionics and controls company. In January of 1969, the US Navy contracted with Grumman Aircraft to develop what became the US Navy's famous F-14 Tomcat fighter jet. Grumman had subcontracted the development of the flight control system for the F-14 to Garrett AiResearch. Prior to the F-14, flight control systems in combat aircraft used analog electronics. The Navy wanted the control system for their premier combat fighter to be digital, and furthermore, they wanted it it to be very small, use little power, and be very reliable. These requirements mandated the use of Large Scale Integrated Circuit technology, a technology which was rather new. Mr. Holt headed a team of people at Garrett AiResearch that developed what has become historically acknowledged as the first Large-Scale Integration (LSI) micrprocessor chipset, called the CADC (Central Air Data Computer). (Read much more about the CADC and its development at Ray Holt's fine website: World's First Microprocessor). While Garrett AiResearch had the expertise to design the logic of this complex device, it did not have the facilities to make the large-scale integrated circuits required. Garrett AiResearch contracted with AMI to fabricate the chips based on their logic designs for the CADC. There was a small hitch, though. The Navy demanded a second-source for the ICs in the CADC, and there wasn't really any other company around at the time that could manufacture these complex devices. The President of Garrett AiResearch, a company flush with money from many lucrative military contracts, went to AMI and negotiated a bit of a sneaky deal. Garrett would buy a large chunk of AMI stock, providing a significant infusion of cash to AMI, and in return, AMI would create and spin off an independent IC manufacturing company that would become the second-source for the CADC chipset. This company became Garrett Microsystems. Garrett Microsystems became the required Navy-required second-source for the CADC chips, and eventually as a a second-sources for many other AMI-produced chips, including some of the chips made by AMI for Computer Design Corporation. This explains the Garrett label on two chips in this Compucorp 122E.The HTL chipset consisted of at least 19 different part numbers, ranging from HTL00 to HTL18, with each chip providing a specific part of the functionality of the general purpose calculator core. The calculator core was customized via microcode contained in ROM chips. The microcode gave the calculator its personality, for example; the microcode for the Compucorp 140 would contain specific microprograms for solving statistics problems, while the 122E contains algorithms for scientific types of calculations. There was a common set of microcode ROMs across the 100-Series calculators that contained the basic calculator "operating system", containing microcode for scanning the keyboard, managing the display, and performing basic mathematical operations. Other ROMs contained the specific routines for each of the specialty operation of each model.
The brains and personality of the 122E are contained on two plug-in circuit boards. Each board measures approximately 8" x 10", and are populated mostly by the HTL chips. The boards plug into a edge connectors, which provide the backplane for communication between the two boards. The circuit boards appear to be of a general design, such that different configurations of chips needed for the various machines in the 100-series of calculators can be accommodated by the same circuit boards. A surprisingly small sprinkling of discrete components is mixed in with the IC's -- it appears that very few glue components were needed to tie the various chips together. The boards have nomenclature on them indicating their general function. The top board is called the "I/O LOGIC" board. This board has a number of edge connectors arranged across the back and sides of the board for plugging in the keyboard, display, and I/O expansion subassemblies. This board contains all of the necessary logic for interfacing the keyboard and display, decoding and executing the microcode operations, the various mathematics core functions such as the adder/subtractor, and perhaps some of the working registers. The bottom board is called the "ROM LOGIC" board. This board contains the ROM (Read-Only Memory) that holds the microcode that makes up the personality of the machine, the RAM (Random Access Memory) that makes up the memory registers and user program storage of the machine, and the necessary address decoding and timing logic to make the ROM and RAM accessible to the rest of the machine. The board also appears to be a general design, such that varying configurations of chips can be placed depending on the particular application.
The keyboard and display subsystem are modular, and are shared between the various 100-series calculators. The display circuit board contains the Nixie tubes themselves, along with discrete transistor drivers. The display subsystem connects to the main logic via a cable with an edge connector on the end which plugs into the "I/O Logic" circuit board. The keyboard uses high-quality contact-type switch modules, with removable keycaps. The keycaps have moulded in nomenclature. The keyboard assembly connects to the "I/O Logic" board via a cable with edge connector termination. The power supply of the machine is a conventional transformer-based linear supply with transistor regulation. The power supply resides behind the display panel, taking up the rearmost area of the cabinet.
The 122E "Programmer's Panel"
The 122E has relatively extensive programming functionality. The machine uses classic "Learn Mode Programming" (abbreviated as "LEMP" in Compucorp's documentation), where codes representing keypresses are stored in program memory in a sequential fashion, and when the program is run, the keypresses are essentially played back to the calculator as fast as the machine can perform the operations. A separate set of keys and indicators make up the controls for the programmer functions. The programmer control panel has keys for putting the calculator into learn mode, starting or resuming execution of a program, selecting display of program address or operation code, allowing single-stepping of programs, and basic program control functions such as branch instructions, halting programs, stopping programs for data entry, and subroutine control functions. The program memory has capacity to hold 256 keypresses, and is volatile, meaning that the program in memory is lost when power is removed. Program memory is grouped into 16 groups of 16 instructions each for purposes of branching. "GO TO" instructions programmed with the [TO()] key can only branch on 16-step boundaries, meaning that programmer has to waste steps to assure that branch destinations fall on these boundaries. The machine has a built-in six-level stack for subroutine linkage. Any time a branch instruction is executed, the address following the branch instruction is pushed onto the stack. A special instruction called, programmed through the [RCLP] key pops the top value off the stack into the program counter, effectively returning to the instruction following the branch to the subroutine. Some math operations also use the stack as a temporary storage place, so programmers have to be careful not to nest subroutines too deeply. Basic branching operations are quite simple, with instructions unconditionally branching to one of the 16 branch points (the [TO()] key on the programmer's keyboard), along with branches to specific branch points if the [SENSE] key on the programmer's keyboard is depressed, or if the number on the display is less than or equal to zero. An optional punched card reader can be plugged into a female DB-25 connector on the back panel of the machine that allows programs to be loaded into the machine via special punched cards. The punched cards allow access to all of the possible 512 operation codes (nine bits are used for operation codes, but only the low eight bits are shown on the programmer's console display). Through the additional operation codes allowed to be entered via punched cards, more powerful programming can be performed, including more detailed conditional and branching capabilities, access to internal ROM microcode routines, and other advanced functions that are not available through standard keyboard-based learn mode programming.
One of the chips in the Compucorp HTL chipset (HTL08)
The basic math operations of the calculator operate in algebraic mode, with no notion of operator precedence. Most basic math operations complete virtually instantly, but some operations, such as the factorial function, can take up to three seconds to complete. During calculations and program execution, the Nixie display is left active, resulting in the wonderful spinning action of the numbers in the display.
For more reading about Compucorp and its history and calculators, click HERE.