+Home     Museum     Wanted     Specs     Previous     Next  

Texas Instruments SR-60 Programmable Scientific Desktop Calculator

Updated 6/21/2011

The Texas Instruments SR-60 is unique among TI's successful line of electronic calculating machines. In the mid-to-late '70's, TI traditionally kept themselves involved in being highly competitive in the handheld calculator market, including very capable handheld programmable calculators to compete with Hewlett Packard's handhelds. During those years, TI also had a successful line of 'basic' and business-oriented desktop calculators, but generally, TI tended to stay out of the high-end programmable desktop calculator market, which was dominated by Hewlett Packard. Along with this, during the late '70's, the advances in IC technology had effectively made the differences in capabilities and capacity between handheld and traditional desktop calculators a moot point, and desktop calculators were becoming more and more like computers, with the HP 9825 as an example from this era. The SR-60 was a machine that broke all of the rules...a machine built at a time when the market for such machines was dramatically changing due to the beginnings of the microcomputer, and in a general market outside of the strengths of its maker. This is part of the reason why the SR-60 is rather hard to find today.

TI SR-60 Insides

The SR-60 was introduced in early 1976 with an initial price of $1695. During the somewhat limited lifetime of the SR-60 (the machines were discontinued in 1979), an updated version of the SR-60, designated the SR-60A, was introduced. This machine offered larger program and data storage register capacity through upgraded microcode, and larger capacity memory chips. It is not known exactly when the SR-60A was introduced, but it was likely sometime in the late 1976 to early 1977 timeframe. A fully-optioned SR-60A could hold programs up to 5760 steps in length, and offered 430 memory registers.

The SR-60 exhibited here appears to have been built sometime in the first quarter of 1977, based on date codes on the IC's in the machine which range from as early as the 4th week in 1976, through the 6th week in 1977.

The SR-60 has all of the typical components found on high-end programmable calculators; a large display (20 character 5x7 dot-matrix LED capable of displaying both numeric, alphabetic and special characters), a 20-character per line alphanumeric thermal dot-matrix printer, a magnetic card reader for loading and saving programs and data, and a comprehensive set of scientific math and programming functionality.

Keyboard Detail

The SR-60 is a very capable machine. It has a large compliment of scientific functions built in, and all are directly accessable via the 95(!) key keyboard that takes up the majority of the real estate of the machine. In fact, the size of the machine is dictated pretty much due to the space required by the keyboard. The keyboard uses full-travel keys, with high quality plastic key faces with moulded-in nomenclature to prevent the legends on the keys from wearing off over time. Each key is made of a plastic-encased module which houses the key stalk, a return spring, a magnet at the base of the key stalk, and a small magnetic reed switch. The keys are nicely organized into functional groups, with keycap color helping the user to easily find the key they are looking for.

The compliment of math functions include: square, square root, log10, loge, 10x, ex, trig functions (with arguments in degrees or radians), including hyperbolic variants, degree/radian conversion, degrees-minutes-seconds/decimal conversion, rectangular/polar conversion, nth root, yx, return integer portion of number, factorial, reciprocal, delta percent, and percent functions.

In base form, The SR-60 also has a nice array of memory functions, all of which can address the 40 (in the base machine) available memory locations (numbered 00 through 39) directly. These include the normal [STORE] and [RECALL] functions, along with [EXCH], which exchanges the content of the display with a memory register; [SUM], which adds the content of the display to a memory register and puts the result in the memory register; [PROD], which does the same thing as SUM except the number in the display is multiplied by the content of the memory register, and the result added to the memory register (useful for sum-of-products); and a [CLEAR MEM] key which clears all of the memory registers in one fell swoop. Optional add-on memory allowed expansion of the base SR-60 to 100 memory registers (00 through 99).

The Display Board

A close-up of the TMC0253 "Display Controller" and display driver chips

The SR-60 operates using pure algebraic logic (e.g., problems are presented to the machine as they would be written on paper). The SR-60 has parenthesis keys which are used to define the order of operation, and can be nested up to ten levels deep. The machine calculates and displays results to ten significant digits, and always formats the display to provide maximum accuracy. If a number can't be displayed in ten digit form, the display switches to scientific notation, with ten digits for the mantissa, and two for the exponent, making the maximum capacity of the machine 9.999999999X1099. It appears that calculations are carried out to at least 12 significant digits internally, but only ten are displayed. The additional two digits serve as guard digits to improve the accuracy of the machine.

Main Board (mounted on bottom side of keyboard)

The calculator is based on a CPU chip made with PMOS Large Scale Integration technology, TI part number TMC0501, mounted on the main board. This chip communicates with other parts of the calculator (memory, display, printer, mag-card reader) via a serial data bus. The CPU chip is the same chip used in many of TI's handheld scientific/programmable calculators. Other LSI chips provide display management and printer control. Along with the compliment of complex ICs, there is a sprinkling of glue ICs in the machine made up of CMOS small- and medium-scale devices, with common devices such as CD4050 and CD4001, as well as a couple of 74C-series CMOS devices. This particular SR-60 benefits from optional add-on memory. There is a cover on the bottom panel of the machine which is secured with two hex-head screws which, when removed, exposes two small daughter boards populated with TI TMC0599 chips. There are a total of eight chips on the two daughter boards, one board with five chips, and one with three. The daughter board circuit boards themselves are identical, with the only difference between the two daughter boards being a jumper and the number of chips populated on the board. The TMC0599 chips are RAM (Random Access Memory) chips which are special in that they communicate to the CPU via a serial bus rather than the regular parallel access mode of most RAM. There are another five TMC0599 chips on the main board that the daughter cards plug into, which are the base memory of the calculator, with the daughter cards making up the expansion RAM option. It is interesting to note that the TMC0599 chips can be 'piggy backed' on top of each other and are individually accessed via serial streams which activate the appropriate chip. This piggy-backing of the RAM chips is done on the main board, where there are two cases where TMC0599 chips are stacked on top of each other with their pins soldered together, and plugged into a single 16-pin socket. Most all IC's in the machine are plugged into sockets rather than soldered directly to the board, for easy service replacement. Another socket for memory expansion on the main board exists, which has a notation etched on the circuit board next to it saying "3K EXPAN".

View of Display in "LEARN" mode, showing a "HALT" instruction at step 0019

As mentioned above, the SR-60 exhibited here is equipped with optional memory, expanding the base memory of the machine to 100 memory registers (00-99), and up to 1920 steps for program memory. The standard memory of the SR-60 provides 40 memory registers and 480 program steps. The SR-60 does not provide keycode merging like on later HP calculators. When in LEARN mode, each key press consumes one step in program memory.

Programming functionality includes labels (allows branching without having to know the memory address of a step), indirect memory register addressing, direct address GOTO, ten flag bits which can be set and conditionally branched upon, test/branch for zero and positive number on the display, as well as a test/branch on error condition. Subroutines are also supported, with up to four levels of nesting. Attempts to nest subroutines deeper than four levels results in the calculator returning an error condition.

The SR-60 nicely supports program editing, and an [INSRT] key which moves the current and all following instructions 'down' one step so a new step can be inserted at the current location, and a [DLETE] key which deletes the current step and moves all following steps 'up' to fill the gap. Although convenient, the program editing functions are quite slow, taking up to 3 seconds to perform a single delete or insert operation.

The [PAUSE] key updates the display and pauses execution for one second to allow results to be posted on the display and observed by the user. The [READ] key fires up the mag-card reader to read programs in from cards (which can be done inside a program), and the [WRITE] key writes programs (and possibly memory registers, don't know for sure) out to the mag-card. The [ALPHA] key switches the display to alphanumeric mode, so that human readable strings can be displayed as prompts for input. The [STEP] and [BSTEP] (back step) keys are used for incrementing or decrementing the currently displayed step when in programming mode (toggled by the [LEARN] key), and the [STEP] key can be used to single-step through program instructions when in normal (calculator) mode. The [RESET] key resets the program counter (current step) to 0000. The [AUX] key appears to be used to provide access special functions (perhaps control of peripheral devices). The [QUE] key is used for prompting purposes inside program to pause the program and wait for any of five special "prompt answer" keys to be pressed by the user. The five prompt answer keys are [YES], [NO], [NOT KNOWN], [NOT APPLY], and [ENTER]. Depending on which key the user responds with, the calculator with take one of five different branches to process the user's response. This feature makes interactive programs much more user-friendly, especially in cases where non-numeric input is required. For example, the [QUE] instruction can be used for the user to apply an answer to a question, such as "PRINT RESULT?", and the user could press [YES] to indicate that they want the result printed, and [NO] if they don't. Branches in the program could handle pressing of the other answer keys by simply re-stating the question, or displaying a "PRESS YES OR NO" message.

When in LEARN mode, the display (as shown above) displays the current step number followed by a mnemonic code for the keycode stored in that location. [TRACE] mode (which is indicated by an LED over the [TRACE] key lighting) causes each step of a program and the results of executing that step to be printed on the printer. When not running programs, trace mode causes the printer to make a record of operations performed, just like a regular printing calculator. The [PRINT] key prints the current content of the display on the printer.

The SR-60's Printer

The SR-60 provides a thermal dot-matrix printer that is both fast and quiet. The printer can print upper case alphanumerics and special characters under program control. The printer can print up to 20 characters per line, and operates at approximately 1.5 lines per second. Characters are formed from a 5x7 dot matrix pattern, the same form as used on the SR-60's LED display. The printer prints by using tiny heating elements that get warm enough to change the chemical state of specially-coated thermal print paper, causing it to darken. The printhead consists of 20 groups of five tiny heating elements each, for a total of 100 heating elements. Characters are generated by energizing the heating elements to create the dots necessary to form each row of dots for each of the seven rows that make up a character.

The SR-60's Mag-Card Reader and Magnetic Card
Thanks to Mike Cochran for donation of SR-60 Magnetic Cards

For offline storage of programs, the SR-60 features a built-in magnetic card reader. Cards are fed into a slot on the front of the machine under the display, and the [READ] or [WRITE] key pressed. A motor draws the card through the machine, with the card exiting behind the display panel. Each card has two sides, the "A" and "B" side. Each side is read or written separately, by inserting the "A" or "B" end of the card into the reader. I do not have specifications for the storage capacity of the mag-card unit. It appears that both program steps and/or memory register content an be written or read to/from the card.

A Ten-Pack of Magnetic Cards

The magnetic cards are 10 1/2 x 2 inches in size, with the magnetic material on one side, and an opaque white surface with black nomenclature on the other side. The white surface is slightly textured to allow use of pencil or pen to write comments on the card. Each end of the card has a small rectanglular area on it to which an adhesive black tag may be placed to allow data to be written on that side of the card. Magnetic cards came in packages of ten (TI Part #1030178-1). Each package of cards contained ten magnetic cards, along with a sheet of adhesive write enable tags. It should be noted here that some of the magnetic cards were accidentally printed with the write-enable area located in the wrong spot on the card. If a write-enable tag were placed in this incorrect location, it would not be possible to write data to that side of the card. Rather than recall all of the incorrectly printed cards, Texas Instruments included a plastic guide with packages of magnetic cards that allowed the user to determine the correct location for the write-enable tags, assuring that the tag would be located in the correct place to allow data to be written to the card.

Close-up View of 5X7 LED Matrix Display and Driver IC's

Standard Floating Point Numeric Display

Scientific Notation Numeric Display

The display subsystem is quite interesting. The machine uses individual 5x7 dot-matrix LED display units, each with its own TI SN27882 display driver integrated circuit. It isn't clear if the display driver IC's provide actual character generation capability, or if they just serve as a 35-bit register to hold the dot pattern for each character, with the CPU generating the characters under firmware control, and shifting the bits into the display registers. I tend to believe that it is the latter of these possibilities, based on the way the display update gets jumpy during certain operations. The display shows "9.999999999 +99 ?" on an overflow condition, which can be cleared using the [CE] key. Other error conditions result in a single "?" being posted after the number on the display.

The SR-60's Power Supply

The SR-60 uses a rather complex power supply arrangement, with both linear and switching power supplies. Most of the logic appears to operate on +5V generated by the linear part of the power supply. The switching part of the power supply has to generate quite a few other voltages to run the motors in the printer and card reader, as well as operating the thermal printhead. In situations like this where there is a diversity of different power supply voltages required, switching supplies lend themselves well.

When performing calculations, the SR-60 is quite fast, with most all operations providing results nearly instantaneously. During calculation, the display is typically blanked, but sometimes it will flicker ever-so-slightly. The computationally intensive function 69! (factorial) takes less than 2 seconds to calculate. The calculator has a [LIMITED PRECISION] button, which when activated, appears to cause the calculator to perform calculations even faster, however, with significantly reduced accuracy. While a fast calculator, program functions on the SR-60 execute unusually slowly. A program with nothing but 99 steps of the digit '0', followed by a HALT instruction takes just over 12 seconds to execute -- yielding approximately 8 instructions per second, which is much slower than competing high-end calculators of the time. In spite of this, with its large program and memory storage capability, and user-friendly design, the SR-60 was a very capable machine that truly blurred the line between that of "desktop computer" and programmable calculator.

Sincere thanks to Mr. Michael J. Cochran, prolific TI (and Cintra) calculator designer, who donated his personal SR-60A calculator to the Old Calculator Museum.
Text and images Copyright ©1997-2013, Rick Bensene.