HP-15C, an interesting question


without encouraging all the naysayers to jump in, has anyone out there ever tried taking a "parts-only" 15C apart and extracting the code from the ROMs? assuming here that one of the three chips contains all (or most of) the ROM code, and that there is some information available about the pin-outs.

rob :-)


See Eric Smith's work. The ROM dump of the original 12C is what's running inside the 12C+ using an ARM-based Voyager emulator. This is also the basis for all the speculation discussed here on a potential 15C+.


yes, just after writing the first post i found eric's work! but nowhere to download a rom image of a 15C :-( i'm thinking around the cunning idea of an emulator running on an arduino board to re-implement the 15C, perhaps even with the extra ram discussed many years back.


As far as I know, HP has claimed copyright on the Voyager ROM images so they are no longer part of Eric's distribution.


As far as I know, HP has claimed copyright on the Voyager ROM images so they are no longer part of Eric's distribution.

Implying that they once were?

So let me get this straight:

1. HP at one time released the 15c ROM images, or at least allowed someone (Eric?) to extract them.

2. HP later enforced the copyright claim so the ROM images were withdrawn from Eric's site.

3. Now HP (through Tim) says they no longer have the 15c ROM images, and would like to get them from anyone who might have them.~5th msg.

4. Meantime, Tim states that the ROM images don't contain a copyright message, implying that the copyright is unenforceable.~45th msg.

Obviously I am missing something.


I was wanting the source, not the binaries. I've got those a plenty. :-)

As for the rest, I speak for myself and my own opinions when here. Also, IANAL.



I was wanting the source, not the binaries. I've got those a plenty. :-)

Well, here again I don't know the terminology. Source, code, ROM image, binaries, it's all Greek to me.


ROM image,

ROM image, literally:




Is the source code written in assembly language for the processor? Would it have to be re-compiled for a different processor? I'm just asking out of idle curiosity, as my only computer programming experience is with main frames and pc's.



Yes, it would definitely need to be essentially rewritten, but the difference is that you are no longer guessing about the logic and algorithms so it is much easier to make something that is very similar. The 12cp was an attempt to "recreate" the 12c, but they essentially had to guess at how it worked. We all know how perfectly *that* worked out for the first few versions. . .

As an example (if I am remembering everything correctly), the 10bII had the math library from the 17bII and 48 converted into C (essentially a assembly->C converter program). This gave you C code, but really it was just assembly with tons of goto and so on like you'd use in assembly. As you can guess, that isn't very easy to edit/modify.

Thus later cyrille spent a long time remaking the math libraries in platform independent C by going back to the original assembly, using the documentation and source to redo it it, and that math library has now been used in several software versions (like the 12cp on iphone and the calcpad PC software), in the 20/30b and will be in future calculators/software.

The 15c source definitely wouldn't allow a simple recompile or anything, but it would make it possible to much more easily make a version of the 15c that could be easily expanded to allow more memory, operations, connectivity or whatever.


Edited: 20 Feb 2011, 10:50 p.m.


So then is "source code" for HP calculators usually a high-level language, or assembly language?

Just trying to understand.


We know who designed the space program and the engineers who designed the Apollo. We know who developed the 48 series (Wickes). Do we know who designed the 15c?


From partial (very short) listings appearing in HP Journal, I would assume that Assembly was certainly used in the first models, and possibly up to HP41 or Voyagers (Nut processors, around 1980). That would also be consistent with the need to optimize ROM space, and with statements about usage of ROM capacity at that time. When Saturn-family processors appeared in Pioneers (1987), some more evolved software development tools were possibly in use. Please take these ideas as "educated guesses", as I have no documentation to confirm them, apart from the HP Journal articles.



The 20/30b are platform independent C. There are some ARM ASM routines for some of the low level addition/subtraction type things, but there are also platform independent C routines of the same thing.

The 12cp is C, but has a lot of specific thing to the processor that made moving it to the iphone more difficult.

The 48s were developed in Saturn Assembly, and sysRPL. Then the later models had C for the OS that emulates the old saturn processor.

I have no clue what things like the 300s are developed with, but I'd guess C.



Tim, when you're talking "C" is it pure C or C++? I assume that dynamic memory management - almost inevitable with C++ - poses problems with memory constrained devices like the 20b/30b.


The math library is pure C, as are the 20/30b.

You are correct that C++ does tend to need more memory and be less memory efficient and is thus not as good for very low memory devices.



Of course, Eric can comment on his own work as his convenience, but I would like just to mention that, as far as I know, HP didn't released the HP-15 (or other calculator) ROM images at any time. However, with lots of work and some specific data-capture hardware he developed, Eric was able to recover the binary ROM content of many old calculators. Older models had no copyright claims, so he was able to publish such contents; and he took care not to publish images of newer, copyrighted models. However, after such research, it seems that HP claimed copyright of some of the older models, which caused Eric to remove those images from his Nonpareil site.


but nowhere to download a rom image of a 15C :-(

Just search for Nonpareil 0.78. Once published the internet doesn't forget so easily.




This may be asked before already, but I don't find an answer:

Regarding Nonpareil, the website tells: The Windows version does not yet have an installer. It is supplied as a ZIP file. Unzip it to a directory of your choice. Run nonpareil.exe, ...

I did exactly that: downloaded the package, unzipped it, but I can't find anything named nonpareil.exe therein. Anyone knowing what may have gone wrong? TIA


from the site

Windows executable:

The Nonpareil executable is temporarily unavailable while a licensing issue is being resolved.


Unfortunately "temporarily" seems to be more permanently.
The Nonpareil site has been last updated in 2008.
This is more than two years ago. A long time for "temporarily".


Thank you - I obviously didn't process this line |-( If the update notice is true, then Nonpareil for Windows is unavailable since August 2008. A bit long for "a licensing issue" IMHO - the Voyager versions were removed anyway already, so what else yet?

Possibly Related Threads...
Thread Author Replies Views Last Post
  HP-80 History, Design and Interesting Facts BShoring 1 969 11-30-2013, 08:50 AM
Last Post: Xavier A. (Brazil)
  Interesting Base Conversions - Porting a 1975 HP 25 Program to the HP 35S Eddie W. Shore 1 1,007 10-13-2013, 07:49 PM
Last Post: BruceH
  Interesting TI Nspire CAS CX programming features Namir 5 1,431 04-15-2012, 04:11 PM
Last Post: Namir
  HP 15c question about [ENTER] nina scholz 5 1,422 03-29-2012, 10:13 AM
Last Post: M. Joury
  15C programming question Eric Zoob 7 1,665 03-28-2012, 03:14 PM
Last Post: C.Ret
  15C keyboard question Matt Agajanian 7 1,650 03-28-2012, 02:18 AM
Last Post: Dwight Sturrock
  An interesting riddle Don Shepherd 15 3,061 03-13-2012, 11:54 PM
Last Post: Don Shepherd
  Interesting patterns for HP-42S Tom Grydeland 6 1,782 03-07-2012, 07:40 AM
Last Post: Tom Grydeland
  Interesting Book with lots of HP info Dave F 2 984 02-17-2012, 03:09 AM
Last Post: Nick_S
  OT but interesting; a new calendar proposal Don Shepherd 12 2,619 01-02-2012, 04:32 PM
Last Post: Don Shepherd

Forum Jump: