Modding 12C+

This page is still under construction…

More info:

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; 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”

HP5430A 18GHz微波计数器维修+测试 / Microwave Counter Repair+Testing


Continue reading “HP5430A 18GHz微波计数器维修+测试 / Microwave Counter Repair+Testing”