TI-2500 style · 1974
TMS0800
or type on your real keyboard · STEP steps the microcode
circuit · reverse-engineered from die photos + patent US3934233
registers · RAM (11 BCD digits each)
A acc
B op1
C scr
carry
cond
minus
AF
BF
instruction · 11-bit word
PC0x005
word10 00001 0001
ALU · AKCN · const 1
microcode trace · executed by the chip
reverse-engineering notes
- This is an educational reconstruction of the TI TMS0800 family (1973–74), reverse-engineered from die photographs and patent US3934233 by Ken Shirriff / Visual 6502. Addresses, word values and timings are simplified and representative.
- The whole calculator is one chip: 320 × 11-bit ROM, RAM = 3 × 11-digit BCD registers + two 11-bit flag registers, a digit-serial BCD adder, key scanning and display drivers — ~5000 transistors in 8 µm PMOS.
- Digit-serial ALU: digits are processed one at a time — the carry ripples from digit to digit each digit-clock (~30 kHz). Watch it happen in the register strips during a demo.
- No multiply or divide hardware: × is a repeated-addition loop, ÷ a repeated-subtraction loop — why 1970s calculators were slow at them.
- Instructions are single 11-bit words: 2-bit class, 5-bit opcode, 4-bit digit mask (which digits the operation touches) + folded-in constant. One condition bit carries carry/borrow/equal/zero/key-down.
- Display conventions: zero suppression (leading zeros off); minus sign = digit value 14 in A; decimal-point position marked by digit value 2 in B.
sources: righto.com (Shirriff) · patent US3934233 · datamath.org · siliconpr0n die