I think I've finally figured out how to hack the HP-16C microcode to support more user RAM than the original, which had only 203 bytes. I first studied this in 2004-2005, but at that time was only able to understand the HP-15C firmware enough to patch that.

#nonpareil #hp16c #rpn #calculator

Last updated 2 years ago

@BrideOfLinux I was going to reply with some flippant comment about how I might be biased, but is the best Linux calculator. It's a good thing I actually read the article before replying, because to my utter amazement, actually made the list!

#nonpareil

Last updated 2 years ago

Over the holiday, I did more reverse-engineering of the HP Voyager calculator firmware, mostly HP-12C and HP-16C. The 100 LCD segments are scattered throughout the high 50 bits of each of two memory-mapped registers. It's not random, but superficially there only appears to be a vague left-to-right ordering. It turns out that the bits for seven-segment digits have uniform offsets a per-digit bit position, EXCEPT the d segment, which are special-cased for each digit.
Not , but related

#nonpareil

Last updated 2 years ago

I did a bit more work with on HP calculator reverse-engineering. I figured out the HP-16C miscellaneous function dispatch table, for instruction bytecodes 0xa1 through 0xef. It uses a table of two-word entries similar to what's done in the 10C and 12C, and probably the 11C and 15C though I haven't checked those. The first word is the function address, within a specific 1K "quad" of the ROM, and the second word gets decoded to show keycodes for those instructions.

#nonpareil

Last updated 2 years ago

Today I worked on some more. There is a longstanding issue with register addressing on the HP-55. Someone else figured out how to solve it in their simulator. I tried their method, and it seems to work. It's unclear whether the real hardware does the same thing. It's possible that the ROM image, which I typed in from a US patent, may not match the real HP-55.

#nonpareil

Last updated 2 years ago

This evening I worked a bit on adding the HP-65 to , mostly on having partially reverse-engineered ROM source code, building on the work of the late Jacques Laporte. I also worked a little on further reverse-engineering of the 32E, 34C, and 38C ROMs. I started work on verifying the assembled output of various ROMs using SHA256 hashes.

#nonpareil

Last updated 2 years ago

I did some Nonpareil (HP calculator microcode simulator) work, and HP calculator ROM reverse engineering, over the weekend, but it doesn't seem like I got anything significantly accomplished. As usual. Maybe next weekend.

#nonpareil #hpcalc #rpn

Last updated 2 years ago

I did some Nonpareil (HP calculator microcode simulator) work, and HP calculator ROM reverse engineering, over the weekend, but it doesn't seem like I got anything significantly accomplished. As usual. Maybe next weekend.

#nonpareil #hpcalc #rpn

Last updated 2 years ago

Like many HP programmable calculators, the HP-12C uses one byte of memory to represent each program step. I'm studying the code that interprets the byte values to understand how the dispatching works.

#nonpareil

Last updated 2 years ago

Like many HP programmable calculators, the HP-12C uses one byte of memory to represent each program step. I'm studying the code that interprets the byte values to understand how the dispatching works.

#nonpareil

Last updated 2 years ago

I'm still hoping to switch to SVG for graphics, and do away with this icky pixel stuff. I've started experimenting with that.

#nonpareil

Last updated 2 years ago

After a lot of tedious pixel-pushing, I have graphics for the HP-92. The new graphics for the 19C, 91, 92, and other calculators, can be seen in this flickr album:
flickr.com/photos/_brouhaha_..

#nonpareil

Last updated 2 years ago