Any information about HP-15C hardware/firmware?


There is any information about HP-15C hardware/firmware?
I think that it is really hard to find outside HP's labs...
I'm willing to create a HP-15C REAL emulator, but I really don't know how to start.
I'm planning to gather all information about emulators (REAL emulators and ROMs) of HP calculators I can get to create a "virtual" collection...
Already have data about:
HP-35, HP-45, HP-55, HP-41CX, HP-42S, HP-39G

Best regards,



Hi Nelson,

I don't think there is an emulator for any Voyager calculator. I'd really like to see one though. Perhaps the time is right to start thinking about writing one.

At the risk of telling you what you already know, I will describe what needs to be done to write an HP-15 emulator. I will also point out any questions we would need the answers to. Perhaps some of the other (very knowledgeable) contributors to this Forum can supply some of the answers. This could be a really interesting project; what I’m really trying to do is entice others into thinking so, too.

First, we would need to know the instruction set of the 15C CPU. The MoHPC Web site describes the Voyager CPU as an enhanced version of the HP-41 CPU (the so-called “nut” CPU). If this is so, most of our work is done.

(QUESTION: Is there any published description of the Voyager CPU? Any comparisons with the 41 CPU?)

Second, we would need a ROM dump to obtain the entire 15C program. Unless someone shows up with an HP-generated assembly listing of the 15, we will have to do it ourselves. This would be done by building some special hardware and reading the bits right from the ROM(s). I have been looking into doing this for the Woodstock machines (specifically the HP-21 and HP-25) and most of what I’m thinking about should work for the Voyagers too.

There is one requirement which absolutely must be met for this to work: The entire ROM of the machine must be accessible to external probing. If all the ROM is outside of the CPU, fine. But if the CPU also contains some ROM, it may be impossible to get the bits out. Signs that the CPU has ROM: different part numbers for different model calculators; swapping CPUs between calculators doesn’t work. Signs that the CPU is only a CPU: same part number across all models; CPUs will work in different calculators.

(QUESTION: See above. Anyone with Voyager repair experience: what part numbers are Voyager CPUs? Have you tried swapping CPU among different models? Did it work?)

Third, we would need to know exactly I/O works on the Voyager machines. If there’s an article out there, fine. If not, we could probably figure it out by assuming it’s similar to the HP-41, then reverse-engineer the firmware and probe the hardware to figure it all out. Hard, but doable. Tools needed: ROM dump, oscilloscope, brain.

(QUESTION: Any published info?)

Finally, we would have to write the emulator itself. Once we’ve got all the other stuff mentioned above, this is the easy part! The HP-45 emulator written by Eric Smith and modified by Dave Hicks could be used as the starting point since the newer CPUs are similar to the CPU used in the Classic machines. The emulator code itself is well-written and clear and is worth reading if you are unfamiliar with emulators.

(QUESTION: Is there anything I’ve missed?)

(QUESTION: Is anyone else interested in getting a project started?)

- Michael


Hi, Michael;

Just to add some information. I saw at least two different HP12C emulatos, and one of them I used more often. If I dig my hard drives I'll probably find it.

One of the MoHPC contributors (I do not remember who was he, but it seems to me he is no longer contributing) posted some messages about an HP16C emulator. I still have one of its last versions, and it works fine.

I have seen and tested, but I am not sure if I still have it, a three-models-in-one emulator: HP11C, HP12C and HP15C, user selectable. This last one and the other HP12C I saw have a drawing-graphic interface, while the HP16C and the HP12C emulator I used for a longer time are both picture-quality graphics image. All of them run under Windows.

The only Voyager I saw no related emulator is the HP10C.

Anyway, I'm not sure if these "emulators" are actual emulators, say, I am almost sure that there is no ROM image and no virtual machine (java?), instead a "simulation" is most likely to be, i.e., a program that does everything those Voyagers do but in its own way.

If I find them (the HP12C emulator I think I can find it quickly, if you are interested on using it) I'll let you know.

Best regards.

Luiz (Brazil)


I'm looking at my message and the replies. They were all posted in the dead of night: 1:42 AM, 2:08 AM, 2:24 AM, 2:38 AM.

When do you guys sleep?!?

(By the way, I suffer from insomnia so I'm often up late.)

- Michael



sometimes we´ll meet each other around there...

See yah!


Hi Michael:

Michael posted:

"I'm looking at my message and the replies. They were all posted in the dead of night: 1:42 AM, 2:08 AM, 2:24 AM, 2:38 AM.

When do you guys sleep?!?"

That's not the correct question. It should be "Where do you guys live !?".

For instance, I live in Spain an I'm posting this at 10:10 AM local time, not the seemingly late-night hour that appears reflected in the Forum.

That's not to say that there aren't any people here who actually post late-night messages, but be aware that many are simply posted from very distant foreign countries, where the sun shines in all her splendour (how poetic!) while you're peacefully asleep. :-)

Best regards from V.



For instance, I live in Spain an I'm posting this at 10:10 AM local time, not the seemingly late-night hour that appears reflected in the Forum.

Not me! I live in Miami, Florida; my time zone is -5 UTC, and this message, for instance, is being posted at 4:35 AM. That's not unusual for me. So it looks like I go to bed while you're getting up. 8^)



I think the MoHPC clock is set to Eastern Time (US/Canada/Mexico/other parts of the Americas?).


Maybe they don't appear to be "emulators", but the Pocket 15C download I'm trial-running gives the same Calculator Forensics result as is posted on the RSKEY.ORG website for the HP-15C:

arcsin(arccos(arctan(tan(cos(sin(9))))))=9.000417403 [note: "degrees" mode used]

Which is at least indicative of actual emulation.

Some other comparisons should probably be attempted, but I don't have a 15c in hand. (If I did, I wouldn't be messing with PDA simu-/emu-lations!)

By the way, I am just a poor boy, running a monochrome iPAQ 3150, and the slavish simulation of calculator hardware on the touch screen, bad enough on a color display, is just plain unreadable in monochrome. (Too bad, 'cause 15c functionality would be nice to have in my PDA.)


Too bad that they have it only for PocketPC and not for PalmOS 8-(

If it is a real emulator, how they manage to get the ROM, and how they get to manage the copyrights???


Nelson posted:

"If it is a real emulator, how they manage to get the ROM, and how they get to manage the copyrights??? "

It's not an "emulator" but a simulator. However, in their web page they include this statement:

"Pocket 15C is an HP-15C emulator for Pocket PC"

which probably HP would find interesting, because to actually emulate something you must have the actual ROM code for said device, and it goes without saying that HP is the copyright holder. If, on the other hand, they do NOT use the actual ROM code, then that statement can probably be construed as misleading advertisement, as they would then be selling a simulator but advertising it as an emulator, which is a rather different beastie.

Curiously enough, in their web page they also include this other statement:

"We hand painted our calculators. We coded them to function just like the real ones"

Take notice of the "... we coded them to function just like the real ones". If they were using the ROM code, I guess they would say it proudly, as an extremely important sales point, a decisive warranty of quality and utmost exactness for any potentially interested HP-15C fan. But instead, the above statement seems to be pointing in the wrong direction, don't you think ?

Anyway, you can easily check it: just download the trial version of this product, and try out the matrix example I propose in another message of mine in this thread. Do you get the same results ?

Best regards from V.


A few points demonstrate clearly that the program is a simulator, and not an emulator:

1) Look into the help file, on the topic 'differences with a real HP-15C'. We learn that the program does not share register & program memory, unlike a real HP-15C. This is clearly a different behaviour that could not just achieved by increasing the RAM size on a emulator.

2) The program patches one of the major drawbacks of the HP-15C, i.e. does not display program steps as keycodes but as alpha mnemos (HP-41C styles).

3) The speed is so fast, compared to any HP-41C emulator I have seen, that I definitetly cannot be a microcode emulator.

I regret this program is not available for Palm. Anyway, even if I do acknowledge that the HP-15C has a few improvements over the HP-41 (recall arithmetic, 12 conditionnales, and above all the complex stack), it still find the HP-41C much more valuable. One thing that amuses me is that HP-15C' core fans argue that with the HP-15C every function is directly accessible on the keyboard. Well, for instance, I compared the number of keystrokes required for matrix operations between the HP-15C and the HP-41 with Advantage module (once you assigned the proper functions to keys). The HP-41 requires much less keystrokes, even though the matrix cannot be recalled on the stack. One simple example: to edit the matrix, even in 'User' mode the HP-15C requires 2 keystrokes to enter an element ( 1 STO A), while the MEDIT command of the Advantage module requires just ' 1 R/S'.
Anyway, I think we would better spend some time on an HP42S emulator/simulator (the latter allowing extensions, such as improving the horrible alpha entry of the 42, and support for algebraic expressions and franctions as on the 32SII). The 42s has the best of '41 and '15C worlds.

My 2 cents.


Hi Paul,

This just means that each result is being properly rounded to 10 places after each result. Maybe it's an emulation, more likely a careful simulation.

I have a Calculator Forensics article 90% written. Maybe I'd better finish it up and post it.

(On your Pocket 15C, try the stuff from the "13 digit precision on HP-15c" thread and see if that works!)

- Michael


Paul posted:

"Some other comparisons should probably be attempted, but I don't have a 15c in hand."

I do. Try this: define this 3x3 matrix:

         |  1   1/2  1/3  |  
A = | 1/2 1/3 1/4 |
| 1/3 1/4 1/5 |
and find its determinant. A real HP-15C gives

det(A) = 0.0004629629590

A keystroke sequence to compute that, assuming a master-cleared machine, would be this:
f MATRIX 0       clear all matrices
f DIM A dimension A as a 3x3 matrix
f USER set USER mode
f MATRIX 1 reset indexes to 1st row, 1st col
STO A A(1,1) = 1
f 1/x (the "f" is necessary as we are in USER mode)
STO A A(1,2) = 1/2
f 1/X
STO A A(1,3) = 1/3
f 1/X
STO A A(2,1) = 1/2
f 1/X
STO A A(2,2) = 1/3
f 1/X
STO A A(2,3) = 1/4
f 1/X
STO A A(3,1) = 1/3
f 1/X
STO A A(3,2) = 1/4
f 1/X
STO A A(3,3) = 1/5
RCL MATRIX A recall matrix descriptor to X
f MATRIX 9 compute determinant of A

For a similar 4x4 matrix:

         |  1   1/2  1/3  1/4 |  
A = | 1/2 1/3 1/4 1/5 |
| 1/3 1/4 1/5 1/6 |
| 1/4 1/5 1/6 1/7 |
a real HP-15C gives:
  det(A) = 0.0000001653438744

This is a much more serious and revealing test than just doing a few trigonometric functions in a row. If your HP-15C simulator (never an emulator, there is none) can produce the same exact results for these two examples, it will be a real achievement, though allow me to rather doubt it.

Best regards from V.

Edited: 26 July 2003, 6:10 p.m.


My own HP-42S have results very near of those of the HP-15C. If someone get the HP-42S's ROM and "cut-and-paste" some parts of if to provide the functions of the HP-15C it can be as near as possible of the original, assuming that the 42's ROM is a "41CX+15C grown up" version. Well, I'm guessing...


Hi, Nelson;

I'm sure you're aware of this fact, but it's never enough mentioning it again, right?

I performed the same tests in an HP42S and the results go seven (most significant) digits match. I consider that the HP42S has enhanced algorithms when internal accuracy and number of digits is considered. As you deal with programming, you know a lot more about this than I know, so please, if I write anything wrong I'd ask you to correct me.

If you increase the number of significant digits in a floating point system, you'll need to reorganize memory so you can hold intermediate and final results to each math operation, right? Using currently available compilers, your system will be automatically tuned to hold new digits (memory handling). If we are talking about calculators, the analysis will not be so different, mostly when new calculators may have their O.S. previously emulated and virtually updated anytime it's needed.

So, I'd add that the HP42S is an "HP41CX + 15C grown up, 15-digit enhanced" system. I guess it has enhancements not even possible in both HP41CX or HP15C unless their memory is "logically" reorganized.

My 2¢.

Inté (seeyah)

Luiz Cláudio


I think that if one have the patience and determination, this can be done: reverse-egineering of ROM's algorithms an taking only that is interesting for the project. Of course it may be a waste of time. But it is a way to get it done and creating a "new" calculator, but using "borrowed" algorithms and yet getting the same "forensics" results! Of course the internal number of digits can affect the result, but using the same precision may (?) have the same result. I really think that the HP-42S's ROM is a great evolution, following the path of (in the case of 'Solver' and 'Integration') HP-34C --> HP-15C --> (HP-41???) --> HP-42S, expanding precision as it uses more a powerful CPU.

I'm in a personal "quest" of understand the internals of as many calculators I can get and to create my own calculator (virtual or not). I love my HP-42S but I really miss my old HP-15C and its "look and feel". If HP creates a "landscape" "shirt-pocket" version of the 42 it will be a best seller! Ok, dream on... 8-)

Best regards!


P.S. you can mail-me privatelly if you want to exchange more ideas...


The 42S carries 12 digits in user calculations, but uses 15 internally, much as the 15C carries 10, but uses 13 internally. A register in the 42S is eight bytes, vs. 7 in the 15C (and 41).

If you would enter into the 42S the exact same matrix you used in the 15C (ie with 0.3333333333 to 10 digits, not 12), you get:


and this time the answer agrees to 10 digits.

The matrix you take the determinant from is a Hilbert matrix, notoriously ill-conditioned, meaning that small changes in the matrix will cause comparatively large changes in the result, whatever the algorithm you use. Here, a relative change of 1e-10 produced a relative change of 1e-8 in the result, but then it is only a 3x3 system.



Hi, Werner;

thank you; I missed that part were the 1/3 is placed with a 10-digit mantissa instead of 12. This is a very important point when we are dealing with accuracy and specific situations.

Best regards.

Luiz (Brazil)

Edited: 27 July 2003, 11:24 a.m.


I remember reading somewhere that the 11C has only one chip, whereas my 15C has 3. Could be a sign that there is ROM inside the CPU, at least in the 11C. Can somebody confirm this with his/her 11C?

Just my 2 cents.


Hi, Victor;

I have an HP11C with two chips, an HP16C with two chips, an HP15C with three chips and there are at least five HP12C internal layouts, varying from two chips (earlier) to one single chip and currently the 12Cp with a bubble chip, ar what I called the Kimponut.

I saw at least four (maybe five) HP11C and all of them have two chips, as my own fella. I do not knwo anything about the HP10C; shouldn't it be the HP10C taht you heard about having only one chip? Just a thought of mine; it is the low-end and (at the time it was introduduced) "cheapest" Voyager.

Best regards.

Luiz (Brazil)


I have a friend that have a HP-15C with its display with "black blob" problem. But I'm not shure I can convince him to take it apart to trace it's ROM (if possible)...
I'm thinking in another idea, a more hard one: build a calculator (not emulator or simulator) based on the best algorithms from the ROMs available and grouping all the functions that we need in one piece.
This can be a copyright violation, but I'll try for my own hobby project.
I cannot found yet a PC (windows) calculator that is easy of use as a HP-15C or 42S. Maybe for PalmOS are better ones (portable!), but touching in the screen doesn't have that "click feedback" that we like.
If I can code this "all-in-one" calculator in microcontroller's assembler I can built one from scratch using parts from "dead" vintage calculators (case/keys/display).
Too crazy? Yes, I think...
Anyone else interested?




Hi, Nelson;

Renato, from Campinas - SP, is also working this way. Unfortunately I have not found myself ready to go further, but I've been tracking signals and daring some schematics and control assembly codes, nothing more than that; lack of spare time.

Should you want to contact him, let me know. Or else you can find his posts about this very subject about a week ago.

Luiz Claudio


Here's the best 15C "simulator" I've ever seen:

It may give you some good ideas.


It seems very nicelly made, but it doesn't is an emulator, its a simulator and it is for PocketPC... 8-(

Thanks for the link.



Possibly Related Threads...
Thread Author Replies Views Last Post
  Strange Battery Icon during updaate of Prime Firmware. Harold A Climer 7 1,232 12-05-2013, 04:40 PM
Last Post: Michael de Estrada
  How to update PRIME Firmware using Files on PC Harold A Climer 2 722 12-04-2013, 12:05 PM
Last Post: Erwin Ried
  New firmware for HP 39gII Mic 6 980 11-26-2013, 06:23 PM
Last Post: DeboT
  Another wish for next Prime firmware release Jose Gonzalez Divasson 0 384 11-21-2013, 06:55 AM
Last Post: Jose Gonzalez Divasson
  HP-Prime firmware update on a Mac Javier Goizueta 5 902 11-15-2013, 10:52 AM
Last Post: Javier Goizueta
  [hp-prime] new firmware coming soon? CompSystems 1 459 11-08-2013, 01:41 AM
Last Post: Mic
  I just installed a firmware update for my Prime Michael de Estrada 2 622 10-30-2013, 05:29 PM
Last Post: Michael de Estrada
  Crowdfunding the Prime "engineering" firmware Eelco Rouw 24 2,366 10-28-2013, 01:23 AM
Last Post: Howard Owen
  Dedicated HP calculator programming-hardware-bug website? Geoff Quickfall 12 1,130 10-12-2013, 11:34 PM
Last Post: Les Koller
  HP Prime (DVT Prototype) Hardware Details Adrien Bertrand 7 1,004 08-10-2013, 12:04 PM
Last Post: Eric Smith

Forum Jump: