HP 98035 Real Time Clock
AND A TEXAS INSTRUMENT LED WATCH CHIP AND NANOPROCESSOR REVERSE ENGINEERING
The HP 98035 is a real time clock module for the awesome HP 9825 calculator, but working ones are incredibly rare. I had accumulated 6 of them, and none of them worked! Battery corrosion is a big problem in these, but you'll they had many other faults including failed quartz crystals, bad TI LED watch chips, dead ROMs, various faulty 74 series ICs, bad connectors, bad caps, and pseudo shorted traces. We even created some magic smoke releases of our own.
It took a series of 7 episodes, but we repaired all of them.
Along the way we reversed engineered two previously unknown but very interesting chips, a Texas Instrument LED watch chip and HP's Nanoprocessor (the latter one thanks to Ken Shirriff).
Texas Instrument LED Watch chip
Low power Real Time Clock (RTC) chips did not use at the time. So HP resorted instead to using a recent invention from Texas Instrument: the LED watch. It used the undocumented watch chip that TI repackaged in a standard 24-pin IC format, coupled to a Nanoprocessor to read it's LED outputs as digits. So step one was to acquire replacement mysterious chips from China, decap them to see if they were real or fake, and try to reverse engineer them.
HP Nanoprocessor Reverse Engineering
Rather fortuitously, at the time I was repairing my interfaces, Ken Shirriff just got hold of the original masks and some documentation about the previously little-known but very unique Nanoprocessor that drives the whole interface. He went ahead and reversed engineered this amazing and unusual chip. You can see the whole story of in Ken's article below:
Ken proceeded to write a reverse assembler for the Nanoprocessor while I dumped the ROM firmware content, and we were soon able to understand the clever code, and figure out how the Nanoprocessor pushes the buttons and reads the digits from the watch chip that we had just reverse engineered. Below is some documentation about the Nanoprocessor and the reversed assembled code.