Lyle Bickley wrote:
If you want to see a "labor of love" in HP
Calculator simulation, look at Eric Smith's
"High-Fidelity Calculator Simulator" goodies at:
http://nonpareil.brouhaha.com/
Guy Sotomayor wrote:
> What Eric has done is truly phenomenal. He
*reverse engineered* the
> ROM data *and* the CPU instruction set from the actual calculators
> (according to Eric you can't just read the ROM, you have to execute
> the instructions). Eric's emulations *are* HP calculators in all but
> silicon and plastic.
Kevin Schoedel wrote:
> In the case of the 12C, they're the silicon
and plastic too. The current
> incarnation runs on Eric's emulator on an ARM
I'm a bit late replying do to travel and having to take some time to
recover from minor eye surgery. Thanks everyone for the kind words
about my projects. There are a few details that I should clarify:
The instruction set of the first-generation HP handheld calculators
(i.e., HP-35, HP-45, HP-55, HP-70, and HP-80) were documented in US
patents, so I didn't have to reverse-engineer that. The HP-65 adds some
additional instructions, and several other people helped with
reverse-engineering of those.
The instruction set of the "Nut" processor used in the 41C family, 10C,
11C, 12C, 15C, and 16C, was published by the PPC and CHHU user groups,
along with some internal HP documents, so I didn't have to
reverse-engineer that instruction set either. I did have to
reverse-engineer some other aspects of the Voyager (10C etc.) hardware.
I did have to do some reverse engineering of the instruction set used by
the two calculator generations between those, the Woodstock, Spice,
Topcat, and Sting series, which include the particularly well-known
HP-25, HP-67, and HP-97, as there was very little published information
on that instruction set. I also had to reverse-engineer the card reader
and printer control chips of the HP-67, 97, etc.
Thomas Fors LLC and AL Software are using my code under license in their
iPhone apps that simulate the 11C, 12C, 15C, 16C, and 41CX.
I did provide the 12C object code to HP for their effort to reengineer
the 12C on a new ARM-based platform that simulates the original
architecture. If you buy an HP 12C that takes two coin cells, it is the
new ARM-based design. However, HP did not use my simulation code. I
offered their engineer a little advice on details of the simulation, and
some sample code for efficient BCD arithmetic, but he wrote all of the code.
I was not expecting HP to sell calculator applications for the iPhone.
HP's applications are presumably using the same simulation code as their
new 12C calculator.
Best regards,
Eric