+Home | Museum | Wanted | Specs | Previous | Next |
Texas Instruments SR-60/SR-60A Programmable Scientific Desktop Calculator
Updated 6/6/2019
The Texas Instruments SR-60 and SR-60A are 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 general purpose 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 machines that blurred the line between calculator and computer, such as the HP 9825 being an example from this era. The SR-60/SR-60A were calculators 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 these calculators are rather difficult to find today.
TI SR-60 Insides
The SR-60 was introduced in early 1976 with an initial price of $1,695 in the base configuration. Not long after the SR-60 had hit the market, Texas Instruments introduced an improved and updated model of the machine, designated the SR-60A. The SR-60A was introduced in October of 1976. The updated machine provided more base memory than the SR-60, and could be expanded with even more optional memory to allow (for that time), a truly massive 5,760 steps of program memory, and 430 memory registers. This made the machine rival the capabilities of small mini-computers of the time. With a planned comprehensive line of peripheral devices, such as floppy disc drive systems, a hard-disk system, various types of printers, plotters, and intstrumentation interfaces, the SR-60/SR-60A could serve as the centerpiece of very complex computing systems.
While both the SR-60 and SR-60A packed a lot of easy-to-use power in a nice desktop package, the days of programmable calculators, even these exceptionally powerful calculators, were numbered as a result of the coming explosion of microcomputers. Texas Instruments managementrealized that the SR-60 and SR-60A marked a dead-end in desktop programmable electronic calculators, and backed off of development of the line peripheral devices for the machines, and in 1979, both the SR-60 and SR-60A were discontinued. TI did not let the discontinuation of the SR-60/ SR-60A stop its development on ever more-powerful handheld programmable calculators, though. To this day, TI produces some amazingly powerful calculators with graphical displays that are immensely powerful, and make solving extremely complex mathematical problems easy and fast.
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 with twenty 5x7 dot-matrix LED display modules capable of displaying both numeric, alphabetic and special characters, a 20-character per line high-speed thermal alphanumeric dot-matrix printer, a magnetic card reader for loading and saving programs and data, a comprehensive set of built-in engineering and scientific math functions, and extensive programming capabilities. It is all controlled through a complex keyboard that provides access to all of the machine's capabilities.
Keyboard Detail
The SR-60 has a vast assortment 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 and the display. The keyboard uses full-travel keys, with high quality plastic key faces with molded-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 that closes when a key is depressed, and opens when it is released. The keys are nicely organized into functional groups, with keycap color-coding to help the user to easily find the key they are looking for despite the daunting number of keys on the keyboard.
The math functions provided by the SR-60/SR-60A include: x2, √x, log10, loge, 10x, ex, trig functions with arguments in either degrees or radians (Sin, Cos, Tan) and their inverse functions (ArcSin, ArcCos, ArcTan), hyperbolic trig functions (SinH, CosH TanH) and inverse functions hyperbolic trig (ArcSinH, ArcCosH, ArcTanh), degrees↔radians conversion, degrees/minutes/seconds↔decimal form conversion, rectangular↔polar conversion, n√x, yx, integerize, x! (factorial), 1/x, Δ%, and percentage 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 allows 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 calculator adheres to the PEMDAS (Parenthesis, Exponentiation, Multiplication, Division, Addition, Subtraction) order of precedence. The [(] and [)] keys may be used to group expressions to override the PEMDAS rules as required. Parentheses 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 calculations.
Main Board (mounted on bottom side of keyboard)
The calculator is based on a CPU chip made with PMOS Large Scale Integration(LSI) technology, TI part number TMC0501, mounted on the main board. This chip communicates with other parts of the calculator (memory, keyboard, display, printer, mag-card reader) over a high speed serial data bus. The CPU chip is the same chip used in many of TI's handheld programmable calculators. Other LSI chips provide display management, keyboard processing, and printer control. Along with the complex ICs, there is a sprinkling of glue logic ICs in the machine consisting of CMOS (Complimentary Metal Oxide Semiconductor) small- and medium-scale devices, with common devices such as CD4050 and CD4001, as well as a couple of Texas Instruments' 74C-series CMOS devices.
The exhibited SR-60 benefits from optional add-on memory. There is a cover on the bottom panel of the calculator that is secured with two hex-head screws which, when removed, exposes two small daughter boards populated with TI TMC0599 RAM 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 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 Random Access Memory (RAM) chips which are special in that they communicate to the CPU via the serial bus rather than the usual parallel access mode of most RAM. There are another five TMC0599 chips on the main board which compose the base memory of the calculator, with the daughter cards providing 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 through the serial bus structure, which activate the appropriate chip based upon a unique identifer in each 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, with the bottom-most chip plugged into a single 16-pin socket. Most all IC's in the calculator 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 does not have anything plugged into it in the case of the exhibited calculator), that has a notation etched on the circuit board next the connector 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 as was done 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 halting execution and returning an error condition.
The SR-60 supports program editing, with 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 can be quite slow, taking up to 3 seconds worst-case 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 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 is used to provide 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 will 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 under the heating element. 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 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 rubber rollers,
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.
Thanks to Mike Cochran for donation of SR-60 Magnetic Cards