Back to Retrocomputing GanjaTron Back to GanjaTron's Site

Texas Instruments TI-66

[Click to enlarge]

I picked this up at the fleamarket for peanuts, not really knowing what it was except that it was a programmable TI, making it worthwhile in any case. I wasn't disappointed! :^)

TI developed the TI-66 in the early 80's as a low-cost replacement for the ill-fated TI-88 as designated successor to their venerable TI-58 / 59 in the early 80's, The TI-66 uses the TI-58/59 instruction set and combines many of the features of its ancestors with updated early 80's technology. Among the modifications/improvements are:

Although it behaves (mostly) like a TI-58/59, the TI-66 is not derived from its predecessors and uses completely different hardware. It is infact a member of the "Galaxy" line of landscape-oriented calculators, the only one with TI-58/59 compatibility. It's also the only calculator in the entire TI product palette to employ a 14-segment alphanumeric LCD. The radical differences in hardware aren't too surprising considering the TI-66 isn't even made by TI, but rather by Toshiba according to TI's specs! Apart from the simple hardware and limited expandability, this outsourcing seems also to have contributed to its low cost.

Despite its "poor man's TI-58/59" image, the TI-66 is a capable little calculator for moderately complex tasks. It has the usual complement of functions you'd expect from a mid-range scientific calculator, including statistics and linear regression. Nothing fancy, really. And yet I find this calculator fascinating in its simplicity. As the ad copy mentions, it is indeed easy and, apart from some idiosyncrasies (e.g. the cryptic OP commands), intuitive to use.

TI-66 ad
TI-66 ad from 1984. [Click to enlarge]

One issue that confuses beginners is the silent execution of certain commands which expect a memory to be keyed in (which is not displayed), e.g. STO 01. The use of the X↔T key to pass two parameters to some built-in functions as well as to user programs may also take some getting used to.

Like many TI calcs, it uses the really neat AOS™ (that's Algebraic Operating System!) entry method. Basically you can just punch in expressions without regrouping terms with regard to operator precedence. AOS delays the evaluation of subterms in order to anticipate subsequent operators with higher precedence. This implies that operations may still be pending after an entire expression has been entered, and must be completed by hitting "=". Beginners tend to forget this when writing their first TI-58/59/66 programs.

Typical for TI calcs is also the INV key which is used in combination with other functions to obtain their inverse. For instance, INV ln x yields ex. Likewise, INV Intg yields the fractional part. This concept also applies to program instructions, thus INV SBR (inverse subroutine) yields RTN (return). A clever way to save keys, really. For some reason not all commands merge the INV keystroke, thus taking up an extra program step. I've often wondered about this inconsistency.

The keystroke-based programming model, like the TI-58/59's, is fairly easy to master. The mnemonic program display is certainly a convenience over the numeric keycode display of its ancestors. With these terse mnemonics, indirect addressing, flags, and the X (display) register usually serving as an accumulator, the programming language has a certain raw assembler-ish feel I find particularly appealing. The instructions set is compact and easy to memorise; heck, it's all right there on the key labels!

Some amenities are missing from the instruction set, such as a random number generator, alphanumeric output (only to the printer via special OP codes), and prompted input (program stops, user enters value into display and hits R/S to continue execution). This lack of interactivity makes it all the more important to thoroughly document your programs on paper.

One aspect of the instruction set I find particularly bizarre is the label naming convention. Labels can not only be named A to E and A' to E', but also after (almost) any other key. Thus it's not unusual to find programs containing Lbl +, Lbl x2, or even Lbl Lbl.

Program entry is made step by step (usually merging several keystrokes, although there are exceptions) in the so-called LRN (yes, learn) mode. A so-called "improvement" over the TI-58/59 is the automatic insertion of program steps; every time you key in a program step all subsequent steps are shifted, which makes for sluggish program entry. This can be alleviated by repartitioning the memory for fewer program steps. A much better alternative would be to turn this "convenience" off, but you can't!

Debugging is simple and straightforward. Running programs can be halted at any time with the R/S (run/stop) key, allowing inspection of data in memories. Single stepping is done with the SST key while checking the current instruction by toggling LRN mode. Maybe unsophisticated, but then so is the programming language, so that's ok. It gets the job done.

If I have major gripe about this calc, it's its performance; this has got to be one of the slowest programmables ever, certainly during its product lifespan. And when I say slow I mean abysmally slow; infact only half as fast as its ancestors. The cumbersome label handling is certainly partly responsible for this. Any decent assembler/compiler/whatever uses a table to map labels to memory addresses. The TI-66 doesn't use such a table (obviously memory was considered a premium), and instead searches for the first occurrence of the label from the beginning of program memory. Lots of branching to labels will therefore slow any program to a crawl. The manual suggests using absolute addresses instead (alas, no relative addressing capabilities) -- but then what's the point of labels in the first place?

The TI-66's sub-stellar performance means that even the simplest programs will take not seconds, but minutes to run. Consequently, it's not so much the memory, but rather the speed that imposes limits on the complexity of programs. Indeed, the TI-66 is totally unusable for really complex tasks due to the intolerable computation times. This performance penalty is no doubt largely attributed to the low-cost architecture of the TI-66. A positive side-effect of its sloth-like disposition is no doubt its ultra-low power consumption; the batteries last aeons! I could be wrong, but the Toshiba cells in my TI-66 still appear to be the original set!

An often overlooked aspect of calculators which I find particularly well executed on the TI-66 is its design; with its angled display, sleek lines and subtle gray/white/blue colour scheme, I consider this one of the most elegant and attractive calculators I've ever seen. This thing looks spiffy on any desk!

All in all, I really like this little calculator, and I must say I'm impressed with what TI achieved with its ancestors several years before its release. Programming it is an exercise in minimalism and gets quite challenging when you move up to more complex material. Hope I'll finally get round to that chess program... :^)

The TI-66 is a great way to get into TI-58/59 programming without paying the price these classics usually command. If you can live with its limitations, you'll enjoy (almost) everything its ancestors have to offer, and come to understand what made them the milestones they are generally regarded as. The TI-58/59 legacy lives on through the TI-66.

Hardware Issues


Year of introduction 1983
Retail price $70
Chipset Toshiba T6875
Memory 512-0 program steps, 0-64 memories
Display 14-segment 10 digit LCD
Audio None
I/O 2-pin serial output to PC-200 printer
Storage None
Programming model (Mostly) merged keystroke with AOS entry
Power Source 2× LR44 1.5V
Rarity Uncommon
Verdict Excellent low-cost successor to the TI-58/59


The TI-59 home page

Back to Retrocomputing GanjaTron Back to GanjaTron's Site