DATAMATH CALCULATOR MUSEUM |
The TMS1040 Product Family is based on the TMS1070 "computer-on-a-chip" introduced in 1974 with the original TMS1000. While the TMS1070 can directly interface with low-voltage Vacuum Fluorescent Displays (VFDs) up to 35 Volts does it still need external resistors and a zener diode to bias the anodes and grids of the display with respect to the filament. The TMS1040 added an extra VPP pin to connect a negative 30 Volts bias voltage for its modified output drivers. With the TMS1070 featuring 11 R Outputs for the Digits, 8 O Outputs for the Segments and 4 K Inputs for the Keyboard, reduced the TMS1040 the number of R Outputs to 9, consequently are all known TMS1040 calculator designs using a 9-digit VF Display.
Type | Calculator | Application | Comments |
TMS1042 | Canon LD-8s, LD-8Ms, LD-8Rs, Olympia CD45A, Sharp EL-8117K | Basic, Basic Memory |
First known TMS1040 calculator application |
TMS1043 | TI-2550 III, TI-1265, TI-1600, TI-1650 | Basic Memory | |
TMS1044 | Bohsei 1000, Brinlock 806, Privileg 858 MD, Unisonic 1040-1 | Basic Memory, Enhanced-Basic |
|
TMS1045 | Canon F-31, Canola L813, Toshiba BC-8018B, BC-8111B, BC-8112SL, BC-8112SR, Homeland 8109 | Basic
Memory, Enhanced-Basic, Small Desktop |
Note: Learn more about the MOS Numbering System used by Texas Instruments' early MOS Chips.
TMS1040 Product Family Portfolio
Texas Instruments offered with most of their TMS1040 designs the calculator manufacturers a flexible menu to pick the desired functionality, meaning the chip would support both combined [C/CE] and [R/CM]/[RCM] keys or separate [C][CE] and [RM][CM] keys and the OEM would chose between them accordingly:
Type - Function Matrix | C CE |
C/CE | M+ M− |
RM CM |
R/CM | RCM | X<>M | X<>Y | +/- | 1/x | x2 | √x | % | Δ% | PI | → | AM | F024 |
TMS1042 | * | * | * | * | * | * | * | * | * | |||||||||
TMS1043 | * | * | * | * | * | * | * | * | * | |||||||||
TMS1044 | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * | ||
TMS1045 | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * |
Description | Comments | |
Architecture | Single-chip Calculator | First Generation Digit Processor |
Category | Digit Processor | 4-bit digits |
Related |
TMS1000 Portfolio TMS1070 |
11 digits, External Pull-downs |
ROM Size | 8,192 Bits | 1,024 Words * 8 Bits |
RAM Size | 256 Bits | 4 Registers * 16 Digits |
Outputs | 9 Digits, 8 Segments | External Digit Drivers |
Inputs | 4 Keyboard 0 Miscellaneous |
Digit to Keyboard Scan-Matrix |
The Datamath Calculator Museum DCM-50A (Platform) supports the TMS1040 Product Family with the TMS1040 Adapter plugged into the right-most TMS1000 Textool Test Socket set to DCM-50A (TMS1000) mode. Both Characterization of TMS1000 Calculator Circuits and Reverse-engineering of TMS1000 Calculator Circuits is supported by the DCM-50A (TMS1000).
Parameter | Min | Typ | Max | Unit | Comments |
VSS | 0 | V | |||
VDD | -7.5 | -9 | -10 | V | |
VPP | 0 | -26 | -30 | V | Peripheral Powersupply |
IDD | 6 | 10 | mA | 300 kHz, -9V | |
VOUT | 0.3 | VPP | -35 | V | Output Voltage |
Ext. CK | 100 | 400 | kHz | Level between VSS and VDD | |
Int. CK | 250 | 300 | 350 | kHz | Rext= 100 kOhm, Cext= 33 pF |
The original TMS1040 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.35 mil / 9.0 um).
The die size of the TMS1040 is approximately 190 mils * 190 mils / 4.8 mm * 4.8 mm.
The TMS1040 uses a 0.4” wide 28-pin SPDIP (Shrink Plastic Dual In-line Package with a 0.07” / 1.778 mm lead pitch).
Pin | IO | Function | Pin | IO | Function |
1 | O | R7 Output | 28 | O | R6 Output |
2 | O | R8 Output | 27 | O | R5 Output |
3 | V | Negative Voltage VDD | 26 | O | R4 Output |
4 | N.C. | 25 | O | R3 Output | |
5 | I | K1 Input | 24 | O | R2 Output |
6 | I | K2 Input | 23 | O | R1 Output |
7 | I | K4 Input | 22 | O | R0 Output |
8 | I | K8 Input | 21 | V | Common Voltage VSS |
9 | I | INIT (Reset) | 20 | V | Common Voltage VPP |
10 | O | O7 Output | 19 | I | OSC2 (Ext. CLK = VSS) |
11 | O | O6 Output | 18 | I | OSC1 (Cext, Rext) or Ext |
12 | O | O5 Output | 17 | O | O0 Output |
13 | O | O4 Output | 16 | O | O1 Output |
14 | O | O3 Output | 15 | O | O2 Output |
In a typical calculator application the digits of the display are connected with drivers to the
scanning R Outputs, the segments of the display are connected directly or with drivers to the O Outputs making use of the
provided 5 to 8 PLA to decode the segments, and the keyboard matrix is connected
between the K Inputs and R Outputs.
Example for the TI-2550 III with TMS1043:
Pin | IO | Function | Pin | IO | Function |
1 | O | Digit driver 8 (MSD) | 28 | O | Digit driver 7 |
2 | O | Digit driver 9 (Sign, M, OF) | 27 | O | Digit driver 6 |
3 | V | Negative Voltage VDD | 26 | O | Digit driver 5 |
4 | N.C. | 25 | O | Digit driver 4 | |
5 | I | K1 Input | 24 | O | Digit driver 3 |
6 | I | K2 Input | 23 | O | Digit driver 2 |
7 | I | K4 Input | 22 | O | Digit driver 1 (LSD) |
8 | I | K8 Input | 21 | V | Common Voltage VSS |
9 | I | INIT (Reset) | 20 | V | Common Voltage VPP |
10 | O | Segment driver DP | 19 | I | OSC2 (Connected to OSC1) |
11 | O | Segment driver G | 18 | I | OSC1 (Connected to OSC2) |
12 | O | Segment driver F | 17 | O | Segment driver A |
13 | O | Segment driver E | 16 | O | Segment driver B |
14 | O | Segment driver D | 15 | O | Segment driver C |
The Segment drivers A-G and DP (Decimal Point) are connected to the display in the pictured way. |
The keyboards of calculators based on the TMS1040 Product Family consist of an x/y-matrix connected to the R Outputs R0-R8 and the K Inputs K1, K2, K4, and K8 allowing for a maximum of 36 switches or adding a 5th "virtual" K10 Input connected with diodes to K2 and K8 in parallel, allowing for a 9x5 keyboard matrix. Texas Instruments offered with most of their TMS1040 designs the calculator manufacturers a flexible menu to pick the desired functionality, meaning the chips would support both combined [C/CE] and [RM/CM] keys or separate [C][CE] and [RM][CM] keys and the OEM would chose between them accordingly.
Full functionality of the TMS1042NL:
K1 | K2 | K4 | K8 | |
R0 (D1) | 0 | 6 | = | RM |
R1 (D2) | 1 | 7 | M−= | RM/CM |
R2 (D3) | 2 | 8 | M+ | RCM |
R3 (D4) | 3 | 9 | M− | CE |
R4 (D5) | 4 | . | % | C/CE |
R5 (D6) | 5 | √x | CM | C |
R6 (D7) | − | + | ÷ | × |
R7 (D8) | ||||
R8 (D9) | [ - AM] |
Notes: [y z] Sliding Switch Function, y Switch open, z Switch closed. [M−=] is only used in Accumulation Memory mode and combines [=] first and [M−] followed
Example for the Canon LD-8s Series with TMS1042NL:
K1 | K2 | K4 | K8 | |
R0 (D1) | 0 | 6 | = | RM (2) |
R1 (D2) | 1 | 7 | ||
R2 (D3) | 2 | 8 | M+= (2) | RCM (3) |
R3 (D4) | 3 | 9 | M−= (2) | CI |
R4 (D5) | 4 | . | %± | |
R5 (D6) | 5 | √x (1) | CM (2) | C |
R6 (D7) | − | + | ÷ | × |
R7 (D8) | ||||
R8 (D9) | [AM] (3) |
Notes: x(1) Implemented in TMS1042NL but not available on LD-8Rs, x(2) Implemented in TMS1042NL but only available on LS-8Ms, x(3) Implemented in TMS1042NL but only available on LD-8Rs. [AM] implemented with a hard-wired Diode in LD-8Rs only
Example for the Sharp EL-8117K with TMS1042NL:
K1 | K2 | K4 | K8 | |
R0 (D1) | 0 | 6 | = | |
R1 (D2) | 1 | 7 | RCM | |
R2 (D3) | 2 | 8 | M+ | |
R3 (D4) | 3 | 9 | M− | |
R4 (D5) | 4 | . | % | C/CE |
R5 (D6) | 5 | √x | ||
R6 (D7) | − | + | ÷ | × |
R7 (D8) | ||||
R8 (D9) |
Full functionality of the TMS1043NL:
Example for the TI-2550 III with TMS1043NL:
K1 | K2 | K4 | K8 | |
R0 (D1) | CE | 0 | . | = |
R1 (D2) | 1 | 2 | 3 | + |
R2 (D3) | 4 | 5 | 6 | − |
R3 (D4) | 7 | 8 | 9 | × |
R4 (D5) | C | +/− | % | ÷ |
R5 (D6) | CM | MR | M− | M+ |
R6 (D7) | RV | √x | x2 | 1/x |
R7 (D8) | ||||
R8 (D9) |
Full functionality of the TMS1044NL:
K1 | K2 | K4 | K8 | V K10 | |
R0 (D1) | 0 | 6 | +/− | Δ% | |
R1 (D2) | 1 | 7 | X-Y | = | |
R2 (D3) | 2 | 8 | X-M | M− | |
R3 (D4) | 3 | 9 | 1/x | M+ | |
R4 (D5) | 4 | . | √x | M−= | |
R5 (D6) | 5 | PI | x2 | M+= | |
R6 (D7) | % | CM | RM | RM/CM | |
R7 (D8) | − | + | ÷ | × | |
R8 (D9) | [ - AM] | → | CE | C/CE | C |
Notes: [y z] Sliding Switch Function, y Switch open, z Switch closed. K10 is a "virtual" 5th Keyboard Input line connected with two diodes to the K2 and K8 Keyboard Inputs of the TMS1044NL
Example for the Bohsei Model 1000 with TMS1044NL:
K1 | K2 | K4 | K8 | V K10 | |
R0 (D1) | 0 | 6 | |||
R1 (D2) | 1 | 7 | = | ||
R2 (D3) | 2 | 8 | MX | M− | |
R3 (D4) | 3 | 9 | 1/X | M+ | |
R4 (D5) | 4 | . | √x | ||
R5 (D6) | 5 | PI | |||
R6 (D7) | % | R/CM | |||
R7 (D8) | − | + | ÷ | × | |
R8 (D9) | C/CE |
Example for the Brinlock Model 806 with TMS1044NL:
K1 | K2 | K4 | K8 | V K10 | |
R0 (D1) | 0 | 6 | |||
R1 (D2) | 1 | 7 | = | ||
R2 (D3) | 2 | 8 | M− | ||
R3 (D4) | 3 | 9 | M+ | ||
R4 (D5) | 4 | . | √x | ||
R5 (D6) | 5 | ||||
R6 (D7) | % | CM | RM | ||
R7 (D8) | − | + | ÷ | × | |
R8 (D9) | C/CE |
Example for the Privileg 858 MD with TMS1044NL:
K1 | K2 | K4 | K8 | V K10 | |
R0 (D1) | 0 | 6 | +/− | Δ% | |
R1 (D2) | 1 | 7 | X-Y | = | |
R2 (D3) | 2 | 8 | X-M | M− | |
R3 (D4) | 3 | 9 | 1/x | M+ | |
R4 (D5) | 4 | . | √x | ||
R5 (D6) | 5 | PI | x2 | ||
R6 (D7) | % | CM | RM | ||
R7 (D8) | − | + | ÷ | × | |
R8 (D9) | [ - ∑] | → | C/CE |
Example for the Unisonic Model 1040-1 with TMS1044NL:
K1 | K2 | K4 | K8 | V K10 | |
R0 (D1) | 0 | 6 | +/− | GPM | |
R1 (D2) | 1 | 7 | EX | = | |
R2 (D3) | 2 | 8 | M− | ||
R3 (D4) | 3 | 9 | M+ | ||
R4 (D5) | 4 | . | √x | ||
R5 (D6) | 5 | ||||
R6 (D7) | % | CM | RM | ||
R7 (D8) | − | + | ÷ | × | |
R8 (D9) | CE | C |
Full functionality of the TMS1045NL:
K1 | K2 | K4 | K8 | V K10 | |
R0 (D1) | [+420F] | 0 | 6 | SC | M+ |
R1 (D2) | [+420F] | 1 | 7 | RV | M−= |
R2 (D3) | [+420F] | 2 | 8 | M+= | |
R3 (D4) | 3 | 9 | 1/x | ( | |
R4 (D5) | [+420F] | 4 | . | √x | ) |
R5 (D6) | 5 | PI | x2 | = | |
R6 (D7) | %± | CM | RM | RM/CM | |
R7 (D8) | [Diode] | − | + | ÷ | × |
R8 (D9) | [ - AM] | → | CI/C |
Example for the Canon F-31 with TMS1045NL:
K1 | K2 | K4 | K8 | V K10 | |
R0 (D1) | [+20F] | 0 | 6 | SC | M+ |
R1 (D2) | [+20F] | 1 | 7 | RV | |
R2 (D3) | [+20F] | 2 | 8 | ||
R3 (D4) | 3 | 9 | 1/x | ( | |
R4 (D5) | 4 | . | √x | ) | |
R5 (D6) | 5 | PI | x2 | = | |
R6 (D7) | %± | CM | RM | ||
R7 (D8) | [Diode] | − | + | ÷ | × |
R8 (D9) | → | CI/C |
Example for the Canon L813 with TMS1045NL:
K1 | K2 | K4 | K8 | V K10 | |
R0 (D1) | [+420F] | 0 | 6 | +/− | |
R1 (D2) | [+420F] | 1 | 7 | ||
R2 (D3) | [+420F] | 2 | 8 | ||
R3 (D4) | 3 | 9 | |||
R4 (D5) | [+420F] | 4 | . | ||
R5 (D6) | 5 | = | |||
R6 (D7) | %± | CM | RM | ||
R7 (D8) | [Diode] | − | + | ÷ | × |
R8 (D9) | [ - AM] | CI | C |
Example for the Canon L813 II with TMS1045NL:
K1 | K2 | K4 | K8 | V K10 | |
R0 (D1) | [+420F] | 0 | 6 | ||
R1 (D2) | [+420F] | 1 | 7 | M−= | |
R2 (D3) | [+420F] | 2 | 8 | M+= | |
R3 (D4) | 3 | 9 | |||
R4 (D5) | [+420F] | 4 | . | ||
R5 (D6) | 5 | = | |||
R6 (D7) | %± | RM/CM | |||
R7 (D8) | [Diode] | − | + | ÷ | × |
R8 (D9) | [ - AM] | CI | C |
Example for the Toshiba BC-8018B, BC-8111B, BC-8112SL and BC-8112SR with TMS1045NL:
K1 | K2 | K4 | K8 | V K10 | |
R0 (D1) | 0 | 6 | |||
R1 (D2) | 1 | 7 | M− (1) | ||
R2 (D3) | 2 | 8 | M+ (1) | ||
R3 (D4) | 3 | 9 | 1/x (2) | ( (2) | |
R4 (D5) | 4 | . | √x | ) (2) | |
R5 (D6) | 5 | PI | x2 (2) | = | |
R6 (D7) | % | CM (1) | RM (1) | ||
R7 (D8) | − | + | ÷ | × | |
R8 (D9) | C/CE |
Notes: x(1) Implemented in TMS1045NL but not available on BC-8018B, x(2) Implemented in TMS1045NL but only available on BC-8111B, BC-8112SL and BC-8112SR. [y z] Sliding Switch Function, y Switch open, z Switch closed. K10 is a "virtual" 5th Keyboard Input line connected with two diodes to the K2 and K8 Keyboard Inputs of the TMS1045NL
Calculators based on the TMS1040 make use of 9-digit low-voltage VFDs (Vacuum Fluorescent Displays).
If you have additions to the above datasheet please email: joerg@datamath.org.
© Sean Riddle and Joerg Woerner, January 6, 2023. No reprints
without written permission.