"Wer einen anderen nachahmt, erkennt dessen Überlegenheit an."
Ralph Boller (a swiss author)
About: Who imitates someone else appreciates his superiority.
You may click on items in site map above
First things first:
- All statements here imply AFAIK. Judge the value on your own.
Read the legal stuff.
- The "retro" design of this site is pure intention to make it viewable on small systems like Palmtops and alikes.
- Site updated 7/16/05 (m/d/y): »My list« of emulators,
an HP-12C photo-skin for Nonpareil,
my first HP-12C program,
Voyagers on VM/ESA now with help files, and
few HP41 routines.
What?
NutEm is a logical simulation of the Coconut-CPU used in Hewlett-Packard's famous HP-41C pocket
calculator. Some peripherals (display, Helios printer, Phineas timer) and the keyboard are simulated
too. In fact, it is an interpreter of the calculator's firmware that runs the 12k operating system of
HP-41C, CV, and CX, and most plug-in modules. After more than 10 years running NutEm I received
ROMs images of most Voyagers (HP-11C, 12C, 15C, and 16C) which use a functionally identical CPU.
NutEm now emulates those too.
NutEm is written in machine independent FORTRAN, but at present there is only an interface to
fullscreen CMS on VM/ESA (an OS for IBM main frames). You may download
NutEm for Voyagers.
How?
How does it look? Very good! Have a look:
Why?
The idea to run old programs on new machines is not mine (Hewlett-Packard sold a HP-41 Emulator for the
HP-71B and one for the HP-48SX). There are different approaches:
-
analyse the logic of your routines and re-code them in a programming language available on your new
computer. That's ok if you have only a few simple routines to migrate.
-
write an interpreter of your old tool's programming language. Advantage: no need to analyse your old
routines as they run unchanged in the new environment. Disadvantage: you have to write a program for
every command you use in your old routines. On the HP-41 there are about 120 built-in commands and
every plug-in module may contain up to 128 more. Those commands may be quite complex and you must
rebuild them as close as possible to the behaviour on the original device. (The owners of a HP82210A
HP41CV Emulator Application Card for the HP48SX who used synthetics or Extended Function in
their programs know what I am talking about.)
-
you may logically emulate (or simulate) the CPU of your old machine and interpret it's firmware (OS and
plug-in modules). It is the same idea like the previous, but 'a level deeper' and much simpler as only
the instruction set of the CPU has to be programmed. There are only a limited number of instructions
and most of them are very simple to rebuild. Advantage: If all CPU-instructions work correctly, your
programs will give exactly the same results as on the original machine. In addition, you are not
restricted to routines in user language, for example the 12k ADVANTAGE module works in such an emulator
in the same manner as on the HP-41.
There is an article from W. C. Wickes in PPC CJ V12N1P21
about this (see especially P22b).
For more information about Hewlett-Packard pocket calculator HP-41
click here (the best RPN pocket calculator I know).
Are results exactly the same?
Yes, of cause. Results of any calculation are the same as on a real HP-41. Well, they should be at
last. The theory is, you may not proof a program to be free of errors, so I did not even test all
functions. As I did not implement all bugs of the real Nut-CPU, there is a chance that you may
encounter differences between NutEm and a real HP-41.
For a long time I believed, such an emulator could be error free. Until that day when in the
emulator the Service Module displayed <<CPU OK>> but the Time Module function DOW
insisted on 1/1/1900 to be a Sunday. I know it was a Monday. Darn! Emulated CPU tested ok but still
computing wrong. (I do not start a monologue on the value of self-tests here.)
As results are the same, the handling is not. I was not able yet to implement the keyboard and
peripherals (printer graphics, HP-IL) in a manner adequate to the emulation of the CPU. So the printer
is simulated, it writes lines to a window with 'logfile on' to get a copy to disk. Moreover, the
legendary tactile feeling of the HP-41's keyboard can not be emulated, simulated, or copied.
So what?
I am not convinced of the usefulness of NutEm for two reasons:
- there are too few who have access to VM/ESA and do need an emulated HP-41 on it,
- the user interface of NutEm sucks if you compare with V41.
So my vision to get a little allowance with it will stay a dream - now I publish NutEm for free
and bury all hope the time I spent in programming could be one day an advantage for my children.
Even for the Voyagers there will be no real need on a "real big iron" because most access the host
via 3270 emulation from a PC with enough 4-bangers (even with RPN) to add two numbers quick.
And now?
If you are interested, you may now download the latest version of EmNut (now for Voyagers too), or some
other useful utilities to handle ROM images. For details go to my Download Page.
More...
I do not give you a complete list of URLs I ever visited. When you found this spot, you probably know
enough about Hewlett-Packard calculators. Otherwise, go to the
Virtual Museum of Hewlett-Packard Calculators.
The interface from the kernel (Coconut) of NutEm to the real world (VM/ESA) <G>
is done with CMS Pipelines. However, I should re-code
NutEm as Co-Pipe (suppose it will stay unfinished).
There are several emulators and simulations of the HP-41 around. The most complete one is from J. F.
Garnier, emu41 and it runs on DOS. For two or three bugs hard to find I was happy about the excellent
tracing possibility of emu41. You have no access to an IBM host with VM/ESA? Then JF Garnier's
emu41 is the first choice if you
prefer DOS programs. If you like Windows then try the
Virtual HP-41 from Warren Furlow. You will be overwhelmed.
See his link page too. An other one for Windows is
HP41e from Hrast Programmer. However,
he regards it only as "secondary". His main oeuvre is a HP-41 emulator for the HP-48G/GX (and S/SX if I
remember well, see HP48 Software Archive). HP's solution for the
HP-48SX was a simulator (HP82210A).
Do you prefer other platforms? Bernd Abel offers a nice solution for
Coconut PalmOS. For the same OS is Charles Lee's
P41CV -- Palm OS HP-41CV
Emulator. And those who like WinCE may try
eV41 from Frank Bauernoeppel.
Once again back to DOS: Alvaro Gerardo Suárez offers a
SIM41, but it seems to me to be a
simulation not an emulator of the HP-41. At least, his site is worth to visit. If you are on Linux then
try Nonpareil from Eric Smith. Since version 0.77 he published
a Windows variation of his masterpiece that »simulates« almost all classic HP calculators.
What else?
Not much more, only
Legal stuff
The following is valid for all pages of my site.
- All disclaimers claimed.
- Any information here is provided as is. If something's wrong, you are on your own.
- All my statements imply AFAIK (=as far as I know). Consider,
in case of error it may be just your point of view :-).
BTW, the so-called exact sciences (physics, chemistry, biology, and
mathematics [not medicine!]) once had been part of philosophy (Phil.-II). Serious scientists
are aware of this fact and regard "truth" as a term used only by lawyers and popes.
- My software offered on any page of my site is published under the
Q Public License V1.0. Please read and proceed only if you do aggree.
(SW on outside sites may be published under other terms.)
- Some of the above given links point to sites outside my responsibility. They may change without
notification. If they show something illegal, do not reproach me for that.
- For more information about me as the responsible
see here.