Ryan TCAD 9900B Display Module Reverse Engineering – 1

ROM Dump:

PCB Analysis

Analysis of the PCB & System Architecture (Click to Zoom-in)


I spend a night disassembling the code. The processor itself is a pretty simple 6800 variant, but the code is written in a rather special way, making it not possible to use an automatic disassembling tool all the way. Here is a taste of it:

And sub_F66E looks like this. It is an address table jump handler. The instruction SUBB 0,Y; SBCA #0; subtracts Y[0] from D, here Y[0] is [$8054]

In other words, curiously, the assembly equivalent of a switch statement is seeking backwards for the target address.

The jump is performed thru stack. The target destination seems to be 1 byte ahead of what the disassembly seems to be.

Here’s how I found it out: The Error handler has this jump table associated with it. After jumping the hardcoded ASCII string is pushed to the display.

So far have just started working on the disassembly. I think not many people are still interested in the TCAD display RS-232 protocol (long obsolete). So I’ll probably stop here for now.

IEEE Selected Reprint Series Catalog

I always held the highest respect to the forerunners of electronics in the 80s and earlier: they managed to produce a myriad of circuitry crafts with extremely limited access to documentation and other resources. It was an era when the community culture is highly cherished and established mainly through magazines and books. IEEE, being one of the leaders of science & engineering communities, had been releasing bounded volumes about specific topics for quite a few decades. These bounded volumes are known as the “IEEE Press Selected Reprint Series”.

The objective of this post is to make an unofficial catalog of those books. The content will also be listed for easy indexing.

Note that, despite all the historic and aesthetic value about them, these releases have been totally obsolete for too long. If you’re a student like me, do not waste your time reading them – go for something newer instead.

If possible, I really want to make this into a wiki for easier indexing. IEEE must have published a huge amount of these books, but there is not much information on the internet.

Table Of Contents
  1. Active Inductorless Filters – 1971
  2. Digital Signal Processing – 1972
  3. A Practical Guide to Minicomputer Applications – Jan 1, 1972
  4. Integrated Optics – 1973
  5. Key Papers in the Development of Coding Theory – Jan 1, 1974
  6. Stability of Large Electric Power Systems – 1974
  7. Nonlinear Networks: Theory and Analysis – 1975
  8. Computer Network – 1976
  9. Systems Engineering: Methodology & Applications – 1977
  10. Digital Signal Computers & Processors – 1977
  11. Integrated-Circuit Operational Amplifiers – Jan 1, 1978
  12. Modern Spectrum Analysis – 1978
  13. Programs for Digital Signal Processing – Dec 1, 1979
  14. Protective Relaying for Power Systems – Jan 1, 1980
  15. Interference Analysis of Communication Systems – Jan 1, 1980
  16. Geometric Theory of Diffraction – June 1, 1981
  17. Modern Active Filter Design – 1981
  18. Color Television – June 1, 1983
  19. Biological Effects of Electromagnetic Radiation – Sep 1, 1983
  20. Power Transistors: Device Design and Applications – 1984
  21. Microwave and Milimeter-Wave Mixers – 1984
  22. Distributed Computing: Concepts and Implementations – 1984
  23. Low-Temperature Electronics – Jul, 1986
  24. Adaptive Methods for Control System Design – 1986
  25. Residue Number System Arithemetic: Modern Applications in Digital Signal Processing – 1986
  26. Radar Applications – Jan 1, 1987
  27. Modern Spectrum Analysis, II – 1986
  28. Multi-Microprocessors – Jun 1, 1987
  29. Microcomputer Control of Power Electronics and Drives – Jun 1, 1987
  30. Robust Control – Jun 1, 1987
  31. Microwave Digital Radio – Jun 1, 1988
  32. High Voltage Integrated Circuits – Jun 1, 1988
  33. Polysilicon Emitter Bipolar Transistors – 1989
  34. Analog MOS Integrated Circuits, II – 1989
  35. Visual Communication Systems – Mar 1, 1990
  36. Vector Quantization – Apr 1, 1990
  37. Navigation: Land, Sea, Air, and Space – Aug 1, 1990
  38. Multichip Modules: Systems Advantages, Major Constructions, and Materials Technologies – May 1, 1991
  39. Kalman Filtering: Theory and Application – Oct, 1991
  40. Neural Networks: Theoretical Foundations and Analysis – Jan 1, 1992
  41. Computational Electromagnetics: Frequency-Domain Method of Moments – Jan 1, 1992
  42. A New Guide for Better Technical Presentations: Applying Proven Techniques With Modern Tools – Feb 1, 1992
Continue reading “IEEE Selected Reprint Series Catalog”

Modding 12C+

This page is still under construction…

More info: https://lithcore.cn/hp12c-modding-assets/

Flashing 10C, 11C, 16C ROM

16C is still extremely buggy, the decimal mode is almost unusable, probably something to do with ALU mode switching; 15C doesn’t work at all because the 12C+ firmware doesn’t support paging. 10C and 11C should work with no problem.

Notice: The following sequence only works for REV2 (with rev.2 written on the back plate). It will not work on a more commonly seen REV 1, which I don’t possess yet. It should work in a similar way, but I don’t think REV 1 allows flash access without forced erasing, which deletes the nut emulator.

How to (12C+ rev2):

  1. Extract RAW Nut Processor ROM binary file from 10C or 11C.
  2. The original ROM file is 12-bit per word, convert it to 16-bit big-endian binary. (You should look for certain ARCHIVEs of the nonpareil emulator for the ROM file)
  3. Flash the binary file into address 4800-77FF
  4. Enjoy

HP 9100B Repaired

I received this 9100B in Sep. 2021. It came in very good cosmetic condition, but didn’t do anything when plugged in: Not even the indicator lights. With the help of the internet, I’ve successfully identified a few problems in the power supply. I have also found some core-memory circuit malfunctioning that haven’t been encountered before. As a return, I’m now writing this post to share my diagnosis process and some over-saturated photos.

Continue reading “HP 9100B Repaired”

Adv. Verilog Parametric Code Snippets

Who needs those fangled Scala-HDLs, when they can use generate in Verilog2001.

— Sun Tzu

TOC / Nov.25.2021

  1. Parallel Combinational Maxima Function
  2. SAR Controller
  3. CLA
  4. Combinational Leading Zero Counter
  5. Barrel Shifter

Key Points:

  • Recursion is possible
  • Functional programming mindset helps (dig up your copy of SICP!)
  • Use the netlist optimization functionality of your toolchain effectively (we can safely assume that all unused outputs, and all constant inputs can be optimized-out post synthesis)

Continue reading “Adv. Verilog Parametric Code Snippets”

BrainF**k Interpreter for the CASIO fx-92+ Spéciale College

It’s too late for today, so the program is untested. I’ll probably test it on my calc the other day when I got more time to waste.

In short, this calculator is extremely limited. Hats off to the contributors at https://algos-casiofx92.com/; you guys are genius.

Note: Access X&Y registers with “Aller a x:y”

The program space is rather limited. Instead of doing I/O the way I’m doing it (by using two registers as the “streams”), you can modify the program to redirect the I/O functions to “Demander valeur” and “Afficher result”. In that case the maximum BF program length is 16*5=80 steps.


Continue reading “BrainF**k Interpreter for the CASIO fx-92+ Spéciale College”

计算器里的开关电源 / The 2-BJT SMPS in an HP Calculator

For now this article is not available in english. It seems that Google Translate does a reasonable job translating this write-up into English. Please give it a try if you’re interested.




惰性气体辉光放电180V 36uA/seg

20V 30uA/seg + 灯丝供电


载流子复合8.2V ~250uA/seg


Continue reading “计算器里的开关电源 / The 2-BJT SMPS in an HP Calculator”