Main Content

A register level TMS0805 CPU emulator on an Arduino Nano runs the original 320 instruction calculator program. A custom PCB houses it all.

Understanding the architecture of past, simpler CPUs is important to learn how to create future devices.

This project implements an accurate emulation of the Sinclair Scientific Calculator. Most of the display glitches are accurately duplicated. The components in this project are easily sourceable, thus it should be able to be replicated.

The original chip inside the Sinclair Scientific Calculator was reverse engineered by Ken Shirriff, its 320 instruction program extracted and an online emulator written. This project ports that emulator, written in Javascript, to the Arduino Nano and interfaces it to a custom PCB. The result is an object that behaves like the original calculator, with its idiosyncrasies and problems. Calculating PI as arctan(1)*4 yields a value of 3.1440.

Special care was taken in the design of the emulator to match the execution speed of the
original calculator, which varies from acceptable to atrocious for trigonometric functions involving small angles.”

Link to article