TI-59 / TI-58
A TI-59 showing one card in the holder on the front of the calculator and another being inserted into the card reader in the side.
|Display type||Light-emitting diode|
|Display size||10 digits|
|Programming language(s)||key stroke (Turing-complete)|
|Display type||Light-emitting diode|
|Display size||10 digits|
The TI-59 was an early programmable calculator, manufactured by Texas Instruments from 1977. It was the successor to the TI SR-52, quadrupling the number of "program steps" of storage, and adding "ROM Program Modules" (an insertable ROM chip, capable of holding 5000 program steps). Just like the SR-52, it had a magnetic card reader for external storage. One quarter of the memory was stored on each side of one card. It was one of the first LED calculators with the capability and flexibility to take on many real-world calculation challenges, and quickly became popular with professionals in many fields.
The TI-58 (May 1977), and later TI-58C (1979), were cut down versions of the TI-59, lacking the magnetic card reader and having half the memory, but otherwise identical. Although the TI-58C used a different chip than the TI-58, the technical data remained identical. The "C" in a TI (or HP) model name indicated that the calculator had a constant memory (or continuous memory, respectively) allowing retention of programs and data when turned off.
These calculators used a parenthesized infix calculation system called "Algebraic Operating System" (AOS), where, compared to the postfix RPN system used by other scientific calculators (such as Hewlett-Packard), the operator entered calculations just as they were written on paper, using up to 9 levels of parenthesis.
The calculator could be powered from an external adapter or from its internal NiCd rechargeable battery pack (although the battery had to remain present when using the external AC adapter to avoid damage to the calculator circuitry).
Programming simple problems with the TI-59 or TI-58 was a very straightforward process. In programming mode, the TI-59 simply recorded key presses. Alphabetical keys provided easy access to up to ten entry points. It was also possible to activate any of the programs in the pre-programmed memory module, and run it like any user-written program. Programs written by the user could also use programs in the module as subroutines. The module's programs ran directly from ROM, so they left the calculator's memory free for the user.
However, exploiting the computer-like capabilities of the TI-59 was a different matter. Although the TI-59 was Turing-complete, supporting straight-line programming, conditions, loops, and indirect access to memory registers, and although it supported limited alphanumeric output on the printer only, writing sophisticated routines was essentially a matter of planning machine language and using a coding pad.
Here is a sample program that computes the factorial of an integer number from 2 to 69. For 5!, you'll type 5 A and get the result, 120. Unlike the SR-52, the TI-59 or TI-58 didn't have the factorial function built-in, but it did support it through the software module which was delivered with the calculator.
Op-code Comment LBL A You'll call the program with the A key STO 01 stores the value in register 1 1 starts with 1 LBL B label for the loop * multiply RCL 01 by n DSZ 1 B decrements n and back to B until n=0 = end of loop, the machine has calculated 1*n*(n-1)*...2*1=n! INV SBR end of procedure
Here is the same program written for TI Compiler:
#reg 01 counter #label A factorial LBL factorial STO counter 1 FOR counter * @counter LOOP = RTN #end
In comparison to its contemporary main competitor, Hewlett-Packard HP-67, the TI-59 had about twice the amount of memory. The partition between program steps and memories was adjustable in increments of 80 program steps/10 memories, and as many as 960 program steps (with zero memories) or as many as 100 memories (with 160 program steps) could be configured. The TI-59 was the first programmable pocket calculator where the manufacturer provided a system for sharing memory between data registers and program storage. The memory was only about twice as large as in the SR-52, but more flexible, and thus the possible number of program steps was four times as high. Contents of this memory were lost, when the calculator was turned off.
The TI-58 had half the memory of the TI-59, and supported up to 480 program steps or 60 memories, and competed with the HP-34C.
The TI-58 and TI-59 calculators had variable length instructions. Some keypresses were merged into one programming step, so that instructions from one to eleven keypresses were stored in one to six programming steps. The HP-67 always stored one instruction in one programming step, which was efficient for some frequently used instructions but also limited the number of possible instructions.
Magnetic card reader
The TI-59 could store programs and data on small magnetic cards when the calculator was turned off and quickly reloaded when needed. Click below for a video of the card reader in action.
The video also shows the dual use of the magnetic card as a program documentation menu. Notes could be printed or handwritten by the programmer on the top side of the magnetic card. Once read by the cardreader, the card could then be stored, as shown, in a slot between the top of the keyboard and the display, thus providing a notation indicating both the name of the program currently loaded and the purpose of each of the five label buttons A-E and their secondary functions A'-E' within the loaded program.
The TI-58 did not have a magnetic card reader.
Solid State Software Library
The TI-59 and TI-58 were the first hand-held calculators to utilize removable ROM program modules. The Master Library Module ROM was included with the TI-59 and TI-58, and contained several useful pre-programmed routines and even a game. Additional modules - for such applications as real estate, investment, statistics, surveying and aviation - were sold separately. The programs in the modules used the user-defined keys heavily. To make the programs easier to use, plastic cards with the same size as the magnetic cards, but just printed to label the user-defined keys, could be inserted in the slot between the display and the keyboard to label the user-defined keys.
Also available for the TI-59 and TI-58 was a thermal printer (the PC-100A, B, and C models); the calculator was mounted on top of the printer and locked in place with a key.
The calculator could be programmed to request input from the user, and output results of calculations to the printer. Alphanumeric text (64 characters total, including space, 0-9, A-Z and 25 punctuation and mathematical symbols) could be output as well as numbers. A limited ability to plot graphs was provided. The printer was also valuable for program development because it could produce a hard copy of the calculator's program including the alphanumeric mnemonics instead of just the numeric codes normally visible on the display, as well as a dump of the data registers, a trace of the program's execution and other information about the program.
In the early model PC-100A, a switch inside the battery charger compartment allowed use with the earlier SR-52 and SR-56 calculators as well as the TI-58/59 series. In addition, it also worked with non-programmable TI machines of the era such as the SR-50A. (Remove the battery pack of a TI calculator and look for the row of printer interface pads on the circuit board below the battery terminals.)
- TI-58 Leaflet (PDF), p. 2
- Jackson, Clete (October 1980). "Darth Vader's Force Battle". BYTE. pp. 50–54. Retrieved 14 June 2014.
- (English) TI User, programs on line, TI Compiler page., (French) Utilisateur TI, programmes en ligne, page de TI Compiler
- TI-59 homepage maintained by Dejan Ristanovic
- TI-59 library maintained by Viktor Toth
- TI-59, TI-58, TI-58C on DataMath.org
- TI-59, TI-58, TI-58C on MyCalcDB (database about 70's and 80's pocket calculators)
- TI-59 birthday Short article published on the TI-59's 30th birthday
- (French) Utilisateur TI, programmes en ligne
- (English) TI User, programs on line.
- (German) TI-59, TI-58C, TI-58 German documentation
- (French) / (English) ti58c.ift.cx, TI-58C Emulator on Windows