Everybody should have seen it by now...


I don't actually know if anyone else noticed this:


It is an hp41cx emulator for the PalmOS based pdas -- apparently it's
an hardware-level emulator and not a simulation... Surely it can
run syntetic code...


i hadn't seen it. what a great idea! a palm 41 with mass storage and printer capablity, can a 2 meg 42 be far behind?


I tried it. I haven't used an hp-41 since a very long time, but it
seems far slower than the real thing expecially to user input -- i'd
say you can't really use it as your "main" calculator. But it works.
Probably a similar software for the (far faster) pocket pc would be
more usable. The idea is very cool anyway.


You may take a look at http://www.berndabel.de/products/coconut/working.html#performance for a complete discussion of performance aspects in Coconut.

To summarize it here:

- The principal challenge/goal during developing the Coconut emulator was to get the optimum performance out of the (good old) Motorola CPU of a Palm device.

- Mathematical functions which use (machine level) addition/subtraction inside loops, e.g. SIN, COS, are considerably slower, thus, Mr. Bean - "I concentrated on trigonometry" - would be rather unhappy :-\,. On the other hand, LOG, LN, SQRT etc. don't show a visible performance penalty.

- Display characteristics and several system functions are slightly faster (Try the CATALOGs)

- the 'feeling' finally depends on the Palm generation used. Up to now, clock frequencies vary between 16 and 33 MHz. Owners of (33MHz) Palm M50X devices told me that they are quite pleased with the performance but sometimes it would be hard to follow the display, and the BEEP sounds like a short 'diddeldidue'.

Of course you are right - a Pocket PC provides you with a performance gain of at least one order of magnitude. I tested the Coconut kernel on a 200MHz embedded Linux platform and the goose (you remember - the '}') became a roadrunner. Working on that platform often produced NULL's on command input - I was just too slow with releasing the keys ;-)

However, the best way to get an impression of Coconut's performance is just to try it. Happy programming!



I am trying the free version right now on my m505: in fact is faster
than the real thing in many operations: I found the issue is not the
speed but the way it reacts to keypresses, for example you need to
keep a key pressed for more than 10 seconds to produce "NULL"...



you're right, that's rather long. I will check what I can do to reduce this time to the 3 to 4 seconds which it usually takes on PalmOS 3.X devices. Obviously, something has dramatically changed in the way PalmOS 4.0 handles user input. Expect this to be improved in the next version.

Thanks for your suggestions.



Just for your information:

I tried the benchmarks at [ulr=http://www.hpmuseum.org/speed.htm]

Math: 17
Trig: 27

So in math Coconut il 30% faster than the real HP41, whereas in trig
it is 40% slower. This result is obtained on a m505


Chris Roccati wrote:

Just for your information:

I tried the benchmarks at [ulr=http://www.hpmuseum.org/speed.htm]

Math: 17 Trig: 27

So in math Coconut il 30% faster than the real HP41, whereas in trig it is 40% slower. This result is obtained on a m505

I just tried it on my Visor Prism, which is a 33MHz processor "comservatively" overclocked to 40MHz (using "Afterburner"). My results were:

Math: 19 Trig: 42

I have read of people overclocking the Prism up to 54MHz, but 42MHz is an established extremely-safe level. So I use 40MHz! ;-)

These results are close to a real-world 41C. So, this program would be GREAT for running programs. Unfortunately, the key response is just too slow to be used as a regular calculator. In fact, I found myself having a hard time just entering the short bechmark programs, because the program missed so many of my keystrokes!

I know that this is a very low-level emulation, and I think that it is an incredible accomplishment. If there were ANY way to speed-up the keystroke detection loop---even at the expense of speed elsewhere---I would be all over this program "like stink on sh*t!" As is, I'll stick to my "MathU Pro".



I would have to agree on the keystroke detection loop.

I have to hit the keys 2-3 times or hold the stylus on the key before it is detected. This really slows down input and can be frustrating when you just want to enter something quickly.

otherwise it is a great product that I can use with my trip computer program that I wrote and my GPS for my travels.

BTW. This is on a Palm IIIxe.



I've discovered that the keyboard is severely slowed down by certain
combinations of hacks. Anyway you can still use Graffiti for every
function, except the R/S key.


> Surely it can run syntetic code...

I performed a little experiment, keying in the "Byte Grabber" (BG) program. The synthetic TONEs sound kind of funny, but other than that it worked like a champ. To make sure, I'm going to try using it to build the LB program from the PPC ROM. If that works, I'll do my happy dance and send in the shareware fee.

Now, if I can just figure out how to turn an image of the PPC ROM into a Palm OS database...


There's an utility written in java, that you can donwload form the
coconut official site (http://www.berndabel.de/), which allows you to
convert any rom to a database which the emulator will understand.


Ah, so there is. In fact, it looks like it comes with the PPC ROM image. Cool. Thanks for the info.

Still, it doesn't look like it has any facility for creating the image, just for converting the image to a .pdb file. Something else to look up, I guess...


A ROM image is not easy to extract from an HP41:
you need a MLDL (and code a rom extractor yourself) or a ZenROM, then
to transfer the image from the HP41 to the PC you need either an HP-IL
serial interface, or an HP-IL floppy... As far as I can tell the
majority of HP41 roms are already available...

Forum Jump: