Tektronix Model 31 Electronic Calculator
This is a rather unusual calculator, somewhat bridging the gap between a calculator and a computer. Many people do not know it, but Tektronix, famous as a maker of very high quality and high performance electronics test and measurement equipment (especially oscilloscopes), spent a short time in the high-end electronic calculator marketplace in the early to mid-70's. In reality, Tek didn't create the calculator business itself, but instead acquired the assets of a company called Cintra, Inc., located in Sunnyvale, California.
Cintra made high-end scientific calculators in the late '60's through May of 1971, when Tek purchased the assets of the company. Before Tek purchased them, Cintra was falling upon hard times due to competition from HP, Wang, and others, along with some early production problems with their calculators that resulted in some bad press. Tek's purchase of Cintra was a response to Hewlett Packard's (HP has always been a major competitor of Tektronix, and there's always been a strong rivalry between the two companies) very successful line of high-end calculators.
Tek 31 with top cover removed
When Tektronix purchased Cintra, they rebadged Cintra's existing line of calculators, (the Cintra 909 Scientist, and the 911 Statistician) and sold them under the Tektronix brand for a period of time while Tek put Cintra's and it's own engineers to task to design machines capable of competing in the high-end calculator business. The result of the development effort were the Tek 21 and 31 calculators, both of which were introduced to the marketplace in July of 1973.
One-off Tek 31 in "Computer" Color Scheme
Sincere thanks to Gary Laroff for donation of this one-of-a-kind machine
Unfortunately, the 21 and 31, while capable instruments, had a hard time competing with other well-established programmable calculators from competitors Hewlett Packard and Wang. As it turned out, a combination of forces combined to make Tek's venture into the high-end calculator market less than Tek's management (and investors) expected. First off, Tektronix salespeople did not really know how to sell calculators. The Tektronix sales force was extremely skilled in selling test and measurement equipment, and calculators just didn't fit their sales expertise. HP and Wang had well-seasoned calculator sales experts out in the trenches that could generally out-savvy the relatively green Tektronix sales folks. Along with that, the Tektronix got out of the gate a little late. By the time the Tek 31 hit the market Wang had well-established its 700 and 600-series calculators, HP was selling it's 9800-series calculators like hotcakes, and Compucorp (and OEM Compucorp customer Monroe) had been selling their high-end calculators using advanced large-scale IC technology-based programmable calculators for a couple of years. Tek's timing wasn't the best, either, because at about the time that the machines were introduced, the calculator market was beginning to experience its first major shakeout, with many companies falling by the wayside between 1973 and 1975. This combination of factors made it hard to justify the existence of Tek's calculator division, and by late 1975, Tek realized that that the return on investment simply wasn't there, and disbanded it.
The Tektronix Model E31
Before the calculator business was disbanded, some attempts were made to recoup as much investment as possible. The sales price of the calculators were cut dramatically. A special low-cost version of the Model 31 was introduced in May of 1975, designated the E31, that omitted the I/O interfacing capability to reduce cost for calculator buyers that didn't need I/O capabilities. These actions met with little response from the marketplace, with savvy customers realizing that something was amiss. Finally, the remaining stock of Tek calculators was disposed of through the Tektronix company store (with machines selling for pennies on the dollar to Tektronix employees), and later en-masse to scrap dealers, who unceremoniously parted out the machines for metals reclaiming. This particular Tek 31 was apparently a lease return (note the Intel property tag at the right front of the machine), and showed up at the Tektronix company store in 1979, where it was purchased for $7.00.
Closer View of Printer(Left), Power Supply(Center), Tape Drive(Right)
The machine exhibited here is a Tektronix Model 31 calculator, circa 1973, which was the big brother of the somewhat less feature-laden Model 21. Both machines were programmable, had both a display and optional 16-column thermal dot-matrix printer, provided for off-line storage of programs (a magnetic card in the Model 21, and a mag-tape cassette in the Model 31), and the Model 31 also has an expansion bus that allowed external devices such as test equipment, printers, plotters, paper tape readers and punchers, graphic display, and other peripherals.
Example of a Tek 31/53 Instrumentation System
Tektronix published a detailed guide for interfacing external devices to these machines. The interface was such that just about anything could be interfaced to these calculators with fairly simple glue logic including address decoding, timing, and bus-driver/receivers. Up to 99 different devices could be connected up via a daisy-chain cable arrangement (similar, but not identical to GPIB/IEEE-488) to the calculator. Tektronix ended up targeting the Tek 31 into two markets. The main market was for test system control. With the Tektronix 31/53 instrumentation system (introduced in March, 1974), it was possible to interface some of Tek's popular TM-500 line of modular test instruments (such as digital volt/ohm meters and frequency counters) to the calculator. The calculator could then read the results of measurements by the instruments, allowing automated test systems to be built using the calculator as a much-less expensive controller than the typical mini-computer system used at the time. The other market for the Tek 31 was that of a small computer system. The Tek 31 could be purchased in a package called the 31/10, which included an interface that allowed the 31 to drive a Tektronix Model 4010 "DVST" (Direct View Storage Tube) graphic terminal. With this arrangement, it was possible to use the calculator as an interactive number cruncher, displaying the results of calculations in graphical form on the 4010 terminal. This product set ended up being the precursor to Tektronix' famous 4051 Graphic Computer System...one of the first true graphic display personal computers.
Tektronix Model 21 and 31 Calculators
The technology in the machines is a combination of MOS/LSI circuitry and TTL (7400-series). Both the Model 31 and Model 21 share a common calculator board which contains fifteen custom-designed (by Tektronix) 40-pin MOS LSI (Large Scale Integration) IC's manufactured to Tektronix' specs by AMI. This 15-chip set contains the majority of the logic required to implement a complete microcoded calculating engine. The LSI chips consist of an ALU (Arithmetic Logic Unit), Register Storage, Control Logic, Timing, and numerous ROMs (Read-Only Memories) that contain microcode and lookup tables. Along with the LSI's on the calculator board, a large compliment of 7400-series small-scale TTL devices that carry out functions such as generating the master clock (5 MHz) and providing the interface functions between the calculator board and other parts in the machine. The programmability of the calculators is where the Model 21 and Model 31 differ. The Model 21 is somewhat limited in the number of steps and complexity of programs that it can handle, and has much less complex programmer circuity. The programming capabilities of the Model 21 are very similar to the earlier generation Cintra/Tektronix 909 and 911 calculators. The Model 31 supports a much larger memory space (using Intel 2102 or Signetics 2602 1Kx1 Static RAM chips for storage) which is expandable, and can be (via internal jumpers) divided between program storage space and memory register storage.
Memory Division Selection Switch on Later Model 31 Calculators
On later model Tek 31 calculators, a three position rocker switch was added to the front panel of the calculator, beneath the slot for the magnetic cartridge drive, which allowed the user to select how the memory for the calculator was allocated, with the left-most (STEPS) position providing a selection that provided more program step memory, the center position selecting a 50/50 split between program step and register memory, and the right-most position (REGISTERS) selecting a preference for more memory registers. The actual splitting of the memory in the "STEPS" and "REGISTERS" positions of the switch was selected by internal jumpers within the machine.
The calculator exhibited here is configured such that 5120 steps are available for program storage, and there are 640 memory registers available. Base memory in the Tek 31 provides 512 program steps, and 64 memory registers. The maximum memory configuration allows for 8192 program steps, and 256 memory registers, providing capacity that would rival some small computer systems of the time. The Model 31 also provides a very computer-like capability for external devices to utilize a DMA (Direct Memory Access) facility to transfer data or program steps directly to/from the calculator's memory space.
Block Diagram of Tek 31 Architecture
The programmer board on the Model 31 is made up almost entirely of 7400-series small and medium-scale TTL IC's, with only 4 MOS IC ROMs containing the microcode that drives the operaton of the programmer. The Model 21 has a significantly less complex board in place of the programmer board of the Model 31, called the f(x) board. The f(x) board of the Model 21 provides 128 or 256-step program storage and sequencing logic to allow learning and playback of keypresses, as well as interfacing for the magnetic card reader and optional printer.
The Calculator Board
The Programmer and Memory Boards
The calculator functions of the both the Model 21 and 31 perform computations to a total of 12 significant digits, with ten digits displayed, and two digits which are not displayed acting as guard digits. The machine can operate in scientific notation, with ten digits (plus a digit for negative sign) displayed for mantissa, and exponent from -99 to +99.
Tek 31 Display in Program Mode showing Error Code E3
The display uses Sperry-made seven-segment plasma display modules. Each module contains two or three digits. The mantissa display is made up of one 3-digit module and four 2-digit modules, with the exponent display made up of one 3-digit module. These display modules have a bad tendency for leaking, meaning that the special gas mixture inside the display element that makes the segments glow when energized leaks out of the display module, rendering it non-functional. The vast majority of Tek 21/31 calculators that have survived to this day may still function, but will likely have no display as a result of the display modules failing. Replacement display modules are made by Babcock's Display Division, but are quite expensive. Another common failure on the Tek 21/31 display system is the high-voltage display decoder/driver chips, which also seem to also have a high failure rate. Unfortunately, these chips are very difficult to find today, and no one is making replacement chips. The display segments glow orange when energized, but a red filter in front of the display makes the digits appear red to the user. If an error condition exists, the display blinks at a 1-per-second rate, and can also display an error code.
The Display Board
The Tek 31 calculator provides a huge array of pre-defined math operations, including: standard and hyperbolic trig functions (with arguments in degrees or radians), factorial, natural and base-10 logarithms, ex, xy, squaring, square root, and integerize, along with various summing functions for statistical calculations. The calculator uses algebraic logic, with parenthesis keys allowing entry of calculations as they would be written -- within limits. Parenthesis cannot be nested, which seems to defeat the purpose of having them in the first place. Memory functions include a ten register constant (K) storage, and access to up to 1000 numeric storage registers (depending on the amount of memory available in the calculator, and how it is divided between program and data storage). The calculator seems to run at a fairly decent clip, but can take a little while to perform some operations such as trig or factorial functions. A 'BUSY' indicator lights while the machine is performing calculation functions. Some specification documents from the Tek 31 Sales Engineer Training Manual lists addition and subtraction as taking 8 milliseconds, with trigonometric operations taking from 70 to 160 millisconds.
Programming functions on the Model 31 are extensive. Programming mode is entered by pressing the [LEARN] key on the keyboard. Successive keypresses are learned (stored) as 8-bit codes in memory, with some instructions (such as GOTO, or register access) requiring multiple keypresses to complete. When such multi-key instructions are entered, an "ADDR INCOMPLETE" annunciator on the display lights until the instruction is complete. Program editing functions include positioning the current instruction display, and insert and delete functions. Branching operations include absolute and indirect (via address on display) GOTO, GOTO display (branch to address in four least-significant digits on the display), conditional branches based on display content >=0, =0, <0, or if error condition exists. There is also a simple flag bit which can be set or cleared, and a branch if the flag is set. The programmer has a rather primitive subroutine facility, where where a section of code can begin with a label, and a subroutine branch to the label will cause the code after the label to be executed. When the branch to the label is executed, the return address is stored in a single register (not a stack, making subroutine nesting challenging). To return from the subroutine, the return address register is recalled to the display, then a 'GOTO Display' command is executed. This makes subroutine programming quite tedious as compared to machines from competitors such as Hewlett Packard and Wang Laboratories, which provided a return address stack to allow easy nesting of subroutines.
Sample of Program Listing Printout from Tek 31
The printer shared by the Model 21 and
Model 31 calculators is a very quiet thermal dot-matrix printer which can
print up to 16 characters on a line. When in calculator mode, the
printer prints the content of the display when the [Print Display] key
is pressed, or can dump out the content of program memory when the [List]
key is pressed. The printer on the Model 21 can print numeric data
only. The printer on the Tek 31, while sharing the same basic mechanical
design, adds additional electronics to allow it to print alphanumerics.
In learn mode, the printer lists program steps as they are entered, and
can also list out programs. When a program is running, the printer acts
as a programmed output device, allowing output via program instructions.
Tek 31 Mag-Tape
Cartridge The Model 31 has a magnetic tape
cartridge drive which
can be used to store programs and content of data registers. It is a
sequential file type device, with file 0 being the first file on the tape,
followed by file 1, etc. Up to 6 files can exist on a tape, with the [TO TAPE]
and [FROM TAPE] keys on the keyboard allowing the tape to be positioned to
a given file and have content read/written to/from the tape. Reads and
writes to the tape device can be performed as programmed instructions,
making program chaining and overlays possible.
Tek 31 Mag-Tape Cartridge
The Model 31 has a magnetic tape cartridge drive which can be used to store programs and content of data registers. It is a sequential file type device, with file 0 being the first file on the tape, followed by file 1, etc. Up to 6 files can exist on a tape, with the [TO TAPE] and [FROM TAPE] keys on the keyboard allowing the tape to be positioned to a given file and have content read/written to/from the tape. Reads and writes to the tape device can be performed as programmed instructions, making program chaining and overlays possible.