![]() |
DATAMATH CALCULATOR MUSEUM |
With the TMS1802NC Texas Instruments announced on September 17, 1971 the first available standard calculator building block on a chip, it was later renamed into TMS0102. The chip integrates 3520-bit Read-Only program memory, a 182-bit Serial-Access memory and a decimal arithmetic logic unit as well as control, timing, and output decoders but no drivers for the display. This gives an overall complexity of roughly 5,000 transistors.
Gordon Moore, the co-founder of Fairchild Semiconductor and Intel predicted already in 1965 that the numbers of transistors in Large-scale Integration (LSI) chips would double every year for the next 10 years. In 1975, looking forward to the next decade, he revised the forecast to doubling every two years, a compound annual growth rate (CAGR) of 41%. While Moore did not use empirical evidence in forecasting that the historical trend would continue, his prediction held since 1975 and has since become known as a "law". Main enablers were and are a combination of both reducing the size of the individual components (process shrink) and increasing the chip size (yield improvement). The manufacturing costs of an Integrated Circuit (IC) are calculated with:
• IC cost = (Die cost + Testing cost + Packaging cost) / Final test yield |
With the die cost roughly proportional to the die area, testing and packaging costs roughly proportional to the pin count, and the final test yield mostly inverse proportional to the die area, goals are well defined: Keep the die size as small as possible for a set of requirements agreed on. With both ROM (Read-Only Memory) and RWM (Read-Write Memory) sizes the main contributors to the die area
of a single-chip calculator circuit and shift-register based data memory (SAM,
Serial-Access Memory) of Register Processors denser than RAM (Random-Access Memory) of Digit Processors, Texas Instruments
expanded the TMS0100 family two years after its introduction into three
different branches:
• TMS0600: Increased ROM (384 Words x 11 Bits), Identical SAM (13 Digits Registers), external display drivers. Process shrink, higher functionality • TMS0700: Identical ROM (320 Words x 11 Bits), Identical SAM (13 Digits Registers), external display drivers. Process shrink, identical functionality, cost reduction of IC • TMS0800: Identical ROM (320 Words x 11 Bits), Reduced SAM (11 Digits Registers), integrated segment drivers. Process shrink, reduced functionality, higher integration |
Please notice that the members of the TMS0700 family were still marketed and marked as TMS0100 but both the die and the bottom of the chip package usually sport a TMS0700 marking.
Due to a flexible design concept with a programmable ROM some design variations appeared including the odd Sinclair Scientific calculator.
A typical calculator built around the TMS0800 family performs the four basic functions +, −, ×, and ÷ and adds the %- or √x-function.
Type | Calculators | Keyboard | Constant (M/D) |
Digits | Fixed DP | Rounding | Special Functions |
Seg./Dig. Blanking |
(6,7,9) Font |
Seg. H | Entry Overflow |
Calculating Overflow |
Pref. Type |
TMS0801 | Bowmar MX-20, Canon LE-84, Sinclair Cambridge | [+][-][=] | 8 | Float | None | S1, S11 S1, S11 |
![]() |
![]() ![]() |
|||||
TMS0803 | TI-1500, TI-2500-II, Exactra 21, Exactra 22, Exactra 23, Montgomery Ward P100, Western Auto M4993 | [+][-][=] | 8 | Float | None | [%] | S1, S11 S1, S11 |
![]() |
![]() ![]() |
![]() ![]() |
|||
TMC0805 | Sinclair Scientific | [+][-][E] | 5+2 | Fix EE | None | [sin][cos][tan] [sin-1][cos-1][tan-1] [log][ex] |
S1, S11 S1, S11 |
![]() |
![]() ![]() |
![]() ![]() |
|||
TMC0806 | Exactra 19 | [+][-][=] | 6 | Float | None | S1, S11 S1, S11 |
![]() |
![]() ![]() |
|||||
TMS0807 | Canon Palmtronic LE-85 | [+][-][=] | 8 | Float | None | [√x][%±] | S1, S11 S1, S11 |
![]() |
![]() ![]() |
![]() ![]() |
Item | Min | Typ | Max | Unit | Comments |
VSS | 0 | V | |||
VDD | -10.5 | -10.0 | -9.5 | V | |
VGG | -16.3 | -15.8 | -15.3 | V | |
Int. CK | 100 | 160 | 200 | kHz | Rint = 100k Ohm to VDD |
Ext. CK | 100 | 160 | 200 | kHz | Rint = 0 Ohm to VSS |
The TMS0800 was manufactured in a 8 um metal gate PMOS process (metal width = 0.30 mil / 8.0 um, metal spacing = 0.35 mil / 9.0 um, diffusion width = 0.25 mil / 6.0 um, diffusion spacing = 0.30 mil / 8.0 um).
The die size of the TMS0800 is approximately 205 mils * 200 mils / 5.2 mm * 5.1 mm.
The TMS0800 uses a standard 0.6” wide 28-pin DIP (Dual In-line Package with a 0.1” / 2.54 mm lead pitch).
Pin | IO | Function | Pin | IO | Function |
1 | O | Segment driver D | 28 | O | Segment driver C |
2 | O | Segment driver E | 27 | O | Segment driver B |
3 | O | Segment driver F | 26 | O | Segment driver A |
4 | O | Segment driver G | 25 | O | Segment driver DP |
5 | IO | Seg. H/Low Voltage | 24 | O | Digit driver 9 (sign) |
6 | I | Key-matrix input P | 23 | O | Digit driver 8 (MSD) |
7 | I | Key-matrix input O | 22 | O | Digit driver 7 |
8 | I | Key-matrix input N | 21 | O | Digit driver 6 |
9 | I | Test (VSS) | 20 | O | Digit driver 5 |
10 | O | Digit scan DK | 19 | O | Digit driver 4 |
11 | V | Negative Voltage VDD | 18 | O | Digit driver 3 |
12 | V | Negative Voltage VGG | 17 | O | Digit driver 2 |
13 | IO | OSC Out/Clock Input | 16 | O | Digit driver 1 (LSD) |
14 | I | Internal Clock Rint | 15 | V | Common Voltage VSS |
The Segment drivers A-G and DP (Decimal Point) are
connected to the display in the pictured way. The optional SH/LV signal can be configured as Segment H or Low Voltage indicator but is not in use with the known applications. |
![]() |
The keyboards of all calculators based on the TMS0800 family consist of a x/y-matrix connected to nine digit-driver outputs and the key-matrix inputs KN (Numbers), KO (Operations) and KP (Additional Operations).
The TMS0800 integrates a timer to shut off the display after a certain amount of time with the calculator not in use, the reset of the timer can be accomplished either with an extra [D] key connected between the digit scan DK signal and the key-matrix input KO line or simply by shorting DK output with the KN input.
Scanning is performed in D9 → D1 direction at a rate of about 370 Hz:
• State Time = 4 Clocks = 0.025 ms @ CK=160 kHz • Digit Time = 11 States (1 Instruction Cycle) = 0.275 ms @ CK=160 kHz • Scan Time = 10 Digit Times (D1 to D10 with D10 a dead cycle) = 2.75 ms @ CK=160 kHz |
TMS0801 |
TMS0803 |
||||||
KN | KO | KP | KN | KO | KP | ||
D1 | 9 | 0 | D1 | 9 | 0 | ||
D2 | 8 | . | D2 | 8 | . | ||
D3 | 7 | CE | D3 | 7 | % | ||
D4 | 6 | ÷ | D4 | 6 | ÷ | ||
D5 | 5 | × | D5 | 5 | × | ||
D6 | 4 | − | D6 | 4 | − | ||
D7 | 3 | + | D7 | 3 | + | ||
D8 | 2 | = | D8 | 2 | = | CE | |
D9 | 1 | C | D9 | 1 | C | ||
DK | -TR- | (D) | DK | -TR- | (D) |
TMC0805 |
TMS0806 |
||||||
KN | KO | KP | KN | KO | KP | ||
D1 | 9 | 0 | D1 | 9 | 0 | ||
D2 | 8 | E | D2 | 8 | |||
D3 | 7 | ▲ | D3 | 7 | |||
D4 | 6 | × | D4 | 6 | |||
D5 | 5 | ÷ | D5 | 5 | |||
D6 | 4 | − | D6 | 4 | |||
D7 | 3 | + | D7 | 3 | |||
D8 | 2 | ▼ | D8 | 2 | |||
D9 | 1 | C | D9 | 1 | |||
DK | DK | -TR- | (D) |
TMS0807 | |||
KN | KO | KP | |
D1 | 9 | 0 | |
D2 | 8 | . | |
D3 | 7 | ÷ | |
D4 | 6 | × | |
D5 | 5 | − | |
D6 | 4 | + | |
D7 | 3 | = | %± |
D8 | 2 | CI | √x |
D9 | 1 | C | |
DK | -TR- | (D) |
Calculators based on the TMS0800 make use of 9-digit LED (Light-Emitting-Diode) Displays with common cathode architecture.
Learn more about the TMS0800 with Ken Shirriff's animated JavaScript Simulator for the TMS0800:
•
TMS0803 Simulator:
TI-2500-II (w/o [%]-key) • TMC0805 Simulator: Sinclair Scientific |
If you have additions to the above datasheet please email: joerg@datamath.org.
© Joerg Woerner, February 02, 2001. No reprints
without written permission.