![]() |
DATAMATH CALCULATOR MUSEUM |
With 8-digit in mind, .
QUICK-LINK to Mostek Calculator Integrated Circuits.
| Type | Calculators | Keyboard | Constant (M-D-A-S) |
Digits | Fixed DP | Rounding | Special Functions |
Seg./Dig. Blanking |
(6,7,9) Font |
Seg. H | Entry Overflow Calculating Overflow |
| CT5001 | Unicom 1200 | [+=][−=] | X-X-X-X | 12 | [0,2,3,4] | None | None | S1, S11 NONE |
| Description | Comments | |
| Architecture | Single-chip Calculator | First Generation |
| Category | Register Processor | |
| Related | ||
| ROM Size | ||
| RAM Size | ||
| Outputs | 9 Digits 8 Segments |
VFD Digit Drivers VFD Segment Drivers |
| Inputs | 2 Keyboard 2 Clear |
Digit to Keyboard Scan-Matrix Active High, Active Low |
Capacity: Up to 12 digits (positive and negative)
Logic: Algebraic Adding Machine Logic
[2] [x] [3] [+=] [4] [x] [5] [+=] → '20.'
Number Entry: Right-justified number entry, entering a thirteenth digit is resulting in an overflow condition and is only recoverable using the [C] key
[0 2 3 4]: [1] [2] [3] [4] [5] [6] [7] [8] [9] [0] [1] [2] [3] → '0.0.0.0.0.0.0.0.0.0.0.0.'
Decimal Point: First entered decimal point is used, additional decimal point entries are ignored
[0 2 3 4]: [1] [.] [2] [.] [3] → '1.23'
Fixed Decimal Point: The decimal point can be set to [0 2 3 4] digits
[0 2 3 4]: [1] [+=] [2] [+=] → '3.000'
Clear: Automatic power-up clear implemented. [C] key clears the whole calculator, [CE] key clears last entry of a number
[0 2 3 4]: [1] [+=] [2] [C] [3] [+=] → '3.'; [1] [+=] [2] [CE] [3] [+=] → '4.'
Change Sign: Not supported. When performing multiplication or division, a negative value can only be assigned to the first number by pressing the [−=] key after entering the number
[0 2 3 4]: [2] [−=] [x] [3] [+=] → '-6.'; [2] [x] [3] [−=] → '-1.'
Number Display: Right-justified number display with leading-zero suppression
Negative Numbers: Negative numbers are shown with an active signal at a dedicated output pin and usually connected to a discrete LED indicator
Calculating Overflow: An overflow results in displaying all zeros with all decimal points lit and is only recoverable using the [C] key
[0 2 3 4]: [1] [2] [3] [4] [5] [x] [1] [2] [3] [4] [5] [+=] → '0.0.0.0.0.0.0.0.0.0.0.0.', [C] → '0.0000'
Divide By Zero: A division of a positive or negative number by zero results in an infinity loop with the display blanked and is only recoverable using the [C] key
[0 2 3 4]: [1] [:] [0] [+=] → ' ', [C] → '0.'
Display Test: Pressing the [C] or [CE] key lit up all 12 digits of the display
[C] → '000000000000', [CE] → '000000000000'
Rounding: Rounding of displayed calculating results is not supported
[0 2 3 4]: [2] [0] [:] [3] [+=] → '6.666'
Known Calculator Logic Bugs:
Negative Zero Bug : Certain calculations result in displaying a negative zero
[0 2 3 4]: [1] [−=] → '-1.', [1] [+=] → '-0.'
Divide to Negative Zero Bug: Certain calculations result in displaying a negative zero
[0 2 3 4]: [0] [.] [0] [0] [0] [1] [−=] → '-0.0001', [:] [1] [0] [+=] → '-0.0000'
Fix Point Switch Bug: Changing the position of the Fix Point Switch during number entry leads to unexpected results
[0 2 3 4]: [1] [.] [2] [3] → '1.23', [0 2 3 4]: [+=] → '1230000'
Twelfth Digit Multiplication Bug: Multiplications with the sum of digits for multiplicand and multiplier larger than twelve result in an overflow
[0 2 3 4]: [1] [2] [3] [4] [5] [6] [7] [8] [9] [0] [1] [2] [x] → '123456789012.', [1] [+=] → '0.0.0.0.0.0.0.0.0.0.0.0.'
[0 2 3 4]: [6] [5] [4] [3] [2] [1] [x] → '654321.', [6] [5] [4] [3] [2] [1] [+=] → '428135971041.'
Twelfth Digit Division Bug: Divisions with the dividend or the divisor larger than eleven digits result in an overflow
[0 2 3 4]: [1] [2] [3] [4] [5] [6] [7] [8] [9] [0] [1] [2] [:] → '123456789012.', [1] [+=] → '0.0.0.0.0.0.0.0.0.0.0.0.'
[0 2 3 4]: [1] [:] → '1.', [1] [2] [3] [4] [5] [6] [7] [8] [9] [0] [1] [2] [+=] → '0.0.0.0.0.0.0.0.0.0.0.0.'
| Item | Min | Typ | Max | Unit | Comments |
| VSS | 0 | V | |||
| VDD | -16.3 | -10.0 | -9.5 | V | |
| VGG | -16.3 | -15.8 | -15.3 | V | |
| IDD | 2.0 | mA | REXT = 100k Ohm, Segment- and | ||
| IGG | 1.0 | mA | Digit-Driver Load 100k Ohm to VDD | ||
| VOUT | -35 | -30 | 0.3 | V | VFD Output Voltage through 100k Ohm Resistors |
| VIN (K0-K3) | -35 | -30 | 0.3 | V | Input Voltage through 100k Ohm Resistors |
| Int. CK | 100 | 160 | 200 | kHz | REXT = 100k Ohm to VDD |
KEYBOARD AND DISPLAY SCANNING
The GI 250 uses a keyboard scanning matrix with all of its 19 keys connected directly to a corresponding pin, while the common signal is connected to a dedicated Keyboard Enable pin. Seven of the 19 keys are using dedicated Key Input pins, four are shared with the Digit Outputs and eight are shared with the Segment Outputs. To allow for the use of the Digit and Segment Output pins as Key Input pins, the GI 250 is blanking the display completely before each Display Scanning Cycle while reading the keyboard.
The GI 250 is using four shared Digit Driver Output pins D15, D26, D37, and D48 to display either the lower four Digits D1 to D4 or the higher four Digits D5 to D8 of its 8-digit Output register. Scanning of the 4-digit display is performed in D15 → D48 direction with the 'Lower Digits Enable" pin always activated.
The GI 251 with its 8-digit display driving capability drops the 'Toggle' key for an additional 'Upper Digits Enable' pin, signaling if the lower four Digits D1 to D4 or the higher four Digits D5 to D8 are output on the shared D15, D26, D37, and D48 pins. The GI 251 is outputting the lower and higher digit groups in an alternating pattern with Display Scanning Cycle and blanking the display completely before each Display Scanning Cycle while reading the keyboard.
INTER-DIGIT BLANKING
The GI 250 and GI 251 single-chip calculator circuits are blanking their Digit and Segment Outputs for one of thirteen State Times at the beginning of each of the four Digit Times. During the Keyboard Time, the Digit and Segment Outputs are blanked for eight State Times.
DIGIT DRIVERS
The GI 250 and GI 251 single-chip calculator circuits are manufactured in a PMOS process and its Digit Scanning Outputs are high-side PMOS transistors, an activated digit corresponds to a logical 1. We characterized here at the Datamath Calculator Museum the Digit Driver Output pin D15 of both a GI 250 and a GI 251 (Mask Revision F) and measured an output resistance of around 600 Ohm at an Output Voltage of -3.0 V.
Note: GI 250 left thumbnail and GI 251F right thumbnail.
SEGMENT DRIVERS
The GI 250 and GI 251 single-chip calculator circuits are manufactured in a PMOS process and its Segment Outputs are high-side PMOS transistors, an activated segment corresponds to a logical 1. We characterized here at the Datamath Calculator Museum the Segment Driver Output pin SB of both a GI 250 and a GI 251 (Mask Revision F) and measured an output resistance of 1,000 Ohm at an Output Voltage of -3.0 V.
Note: GI 250 left thumbnail and GI 251F right thumbnail.
The Datamath Calculator Museum DCM-50A (PLAYGROUND) supports the Characterization of the LI2002 single-chip calculator circuit using the DCM-50A Playground DIL42 Adapter mounted on top of the DCM-50A PG Frame Carrier. Alternatively, the more flexible - but less comfortable - DCM-50A Playground BB400 Adapter can be used.
Work-In-Progress.
The LI2002 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 | REXT/Clock Select | 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. |
![]() |
The keyboards of all calculators based on the TMS0800 Product Family consist of an 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 |
LI2002 | |||
| KN | KO | KP | |
| D1 | 9 | 0 | |
| D2 | 8 | . | |
| D3 | 7 | ÷ | |
| D4 | 6 | × | |
| D5 | 5 | − | |
| D6 | 4 | + | |
| D7 | 3 | = | % |
| D8 | 2 | CE | √x |
| D9 | 1 | C | = |
| DK | -TR- | (D) | |
Calculators based on the LI2002 typically make use of 9-digit low-voltage VFDs (Vacuum Fluorescent Displays). Some designs with 9-digit LED (Light-Emitting-Diode) Displays with common cathode architecture are known.
If you have additions to the above datasheet please email: joerg@datamath.org.
© Joerg Woerner, September 29, 2024. No reprints
without written permission.