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.

对于我这代人来说,计算器属于“在远古时期就已经成熟的科技”。在我接触计算器的时候,各大厂商早已迈过了技术攻坚的阶段,所有设计目标仅仅是为了抢占市场和极限的cost-down服务。

人类在电子技术上取得的巨大成就令人叹为观止:LCD,LCD驱动器和超低功耗CMOS技术已经如此的成熟,以至于即便使用光效非常低的廉价太阳能电池板,在将大半能量浪费在包括线性稳压,Biasing在内的各类无关的环节的前提下,这些计算器仍然能够在昏暗的环境中正常工作。

70年代的设计师如果看到现代的计算器,不知道会发出怎样的感叹呢?对于70年代的计算器而言,这样的设计是无比奢侈的,甚至不切实际。在70年代,距离LCD技术成熟还有十年以上的时间差。在70年代想要做一台计算器的话,可供选择的显示器件有:

名称发光机理典型工作条件(1980年以前)型号
Nixie
辉光管
惰性气体辉光放电180V 36uA/seg
6.4mW/seg
SP-330
VFD
荧光管
阴极射线-磷光体发光

20V 30uA/seg + 灯丝供电
~0.6mW/seg

+200mW

Futaba
14-ST-62AI
LED
发光二极管
载流子复合8.2V ~250uA/seg
2.1mW/seg
HP55

通过这张表可以看出,70年代的电子工程师想要设计一个省电的计算器是非常困难的:每一种显示技术都需要较高的电压,还需要在此基础上加入驱动电路的电压裕量,在70年代这个裕量可能达到1V以上。有时为了取得更好的效果,更长的寿命或更高的效率,还需要十分复杂的电路去驱动,消耗了更高的电压裕量……在这样的条件下,使用开关电源并不是锦上添花,而是在当时的技术限制下的无奈之举。

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

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

这其实是2019年11月完成的事情,当时拍了一些照片记录,不过因为拍摄环境限制拍得不是很好,就没发出来。最近本科快毕业了,在考虑离开学校的事情,整理了一下自己在学校外租的,专门用来当实验室(事实上更像是仓库)的出租屋。这台仪器作为所有收集到的仪器中个人最喜欢的一台,作为一个纪念,还是发出来了。

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