DATAMATH  CALCULATOR  MUSEUM

Datamath Calculator Museum DCM-50A Sidekick TMS0800 ROM Recorder

Date of introduction:  March 18, 2024 Display technology:  LED
New price:   Display size:  3
Size:  5.5" x 3.6" x 1.05"
 140 x 92 x 26.5 mm3
   
Weight:  3.3 ounces, 94 grams Serial No:  0001
Batteries:  n.a. Date of manufacture:  mth 03 year 4
AC-Adapter:  n.a. Origin of manufacture:  USA
Precision:   Integrated circuits:  Arduino Nano Every, MicroNova Mercury 2
Memories:   Displays:  3*HP 5082-7340
Program steps:   Courtesy of:  Joerg Woerner

When Texas Instruments introduced in September 1973 the TMS0800 Product Family, the corresponding patent applications did not only include a complete program listing for a basic single-chip calculator and complete schematics on transistor level, the US3934233A patent application describes in one chapter a so-called test circuitry of the design. The implementation uses basically some shift registers to read out the 320 program words in a TI-specific test setup. Challenging is the timing of the clock and latch signals for these shift registers, the TMS0800 derives a four-phase clock from its internal clock oscillator and some additional external circuitry is necessary to reconstruct the four phases PHI-1 to PHI-4.

To verify our understanding of the TMS0800 test circuitry, we designed with solderless breadboards our own test setup with two shift registers, one to input a 9-bit ROM Address and one to readout the 11-bit Instruction Register.

We were indeed able to read out the internal ROM of a TMS0801 Chip address-by-address and could compare it, line-by-line, with the program code used by Ken Shirriff's amazing JavaScript Simulator. The breadboard served as proof-of-concept but was not meant to read out all known members of the TMS0800 Product Family, including very rare devices as a TMC0806 from the Exactra 19, a TMS0852 from the TI-150 or an odd TMS0833 from the MBO Expert. Enter DCM-50A Sidekick.

When we developed our DCM-50A (Platform), we put our emphasis not only on Characterization of Single-chip Calculator Circuits, but added features to support the Reverse-engineering of Single-chip Calculator Circuits.

The DCM-50A (Platform) includes various means to enable Reverse-engineering of the TMS0800 Product Family:

• Jumper for TMS0800 test mode
• Externally provided clock signal for TMS0800
• Recovery of the clock signal from the internal TMS0800 oscillator
• Digital Phase 1 recovery of internal or external TMS0800 clock from DK Signal
• 2-bit Johnson ring counter to generate Clock Phases PHI-1 to PHI-4 for TMS0800
• Selector for Output-loads connected to VDD or GND
• Levels-shifters (3.3V – 5.0V compatible) for all signals of Device-under-Test and various support signals
   Inputs: Clock, Test, KN/KP/KO/KQ
   Outputs: Clock, D1-D9, DK, SA-SH, SDP, PHI-1 to PHI-4
• 3.3V power supply with external voltage sensing for the level-shifters

All signals are made available on two connectors matching the pinout of the Digilent Digital Discovery™, a combined logic analyzer, protocol analyzer, and pattern generator instrument but can be used with any external instrument compatible with 3.3V or 5V signals.

The DCM-50A Sidekick TMS0800 ROM Recorder is attached to these two connectors and provides the necessary hardware for Recording of ROM Images of all TMS0800 Product Family Members:

• MicroNova Mercury 2 Development Board based on the Artix-7 FPGA (Field-programmable Gate Array)
• Arduino Nano Every Microcontroller Board
• Three HP 5082-7340 Hexadecimal LED Displays
• Four Pushbuttons
• RC Oscillator with two frequencies

The FPGA on the MicroNova Mercury 2 Development Board implements the two shift registers to input a 9-bit ROM Address and readout the 11-bit Instruction Register of the TMS0800 Device-under-Test and an interface to the Arduino Nano Every Microcontroller Board. The user interface of the "TMS0800 ROM Recorder" Software running on the Arduino Nano Every is rather simple: A yellow [ADVANCE] button allows to increment the ROM Address, a blue [SELECT] button displays either the Instruction Register or ROM Address on the three Hexadecimal LED Displays and a red [RESET] button - pressed together with the yellow [ADVANCE] button, resets the ROM Address counter to Zero. The true magic comes into play with the green [AUTO] button, it cycles in less than 5 seconds through all 320 ROM Addresses and records the corresponding Instruction Register contents into an ASCII file.

The Recorded ROM Images of the various members of the TMS0800 Product Family are published as TXT-Files in the "ROM Content" sections of their respective "Data Sheets":

• TMS0800: TMS0801 (Canon LE-84), TMS0803 (TI-2550-II), TMC0805 (Sinclair Scientific), TMC0806 (Exactra 19), TMS0807 (Canon LE-85)
• TMS0830: TMS0833 (MBO Expert)
• TMS0850: TMS0851 (Sovrin Model 128), TMS0852 (TI-150), TMS0855 (Canon LD-80)

IMPORTANT NOTE: This information is provided as a service of the Datamath Calculator Museum to enthusiasts of early Texas Instruments calculators and please be aware that the Copyright of the Software transcribed in the ROM Images, the underlying algorithm or application might be owned by Texas Instruments or other third parties. The commercial use of the published Recorded ROM Images is strictly prohibited. In case of questions please contact us using the email address listed in the footer of this webpage.


horizontal rule

If you have additions to the above article please email: joerg@datamath.org.

© Joerg Woerner, August 18, 2024. No reprints without written permission.