updated 7/13/05 (m/d/y)
Software to download
Only for VM/ESA on this site, for HP-41 programs see here.
Be warned!
No guarantees, no service. If something fails, you are completely on your own. But do not blame me. Everything's fine here. Theoretically, it is not possible to proof software to be free of errors. Therefore, I even did not check to the depth.
I publish my programs under the Q Public License V1.0.
See here for details about it.
my offer:
- The Source code of NutEm, almost ready to compile in CMSBATCH (just adjust
the link to your FORTRAN MDisks)
- A copy of NutEm with all trace active (see here)
- NutEm downsized and with adapted user interface to emulate the HP-12C (HP-11C,
-15C, and -16C follow soon).
some utilities
FORTRAN Source Code of NutEm
It took several years that I decided to publish NutEm, it was never good enough. Now I'm too late,
others have done a better job. NutEm was thought as a feasibility study, the foreseen target system was
PC-DOS. If you have access to VM/ESA you find here the NutEm source code wrapped
in a file ready to send to CMSBATCH (or a similar userID on your system). You have just to adjust the
links to the FORTRAN MDisks and your own unserID. Upload the unziped file to your VM and enter:
PIPE(sep |)< nutem src|spec *-* x2c|fblock 1024|unpackx|> nutem jcl a
I hope there is no need to adjust the code page, otherwise insert in the above
command |xlate from 273 after unpackx.
NutEm with all trace on
What you get is a Module and several EXECs
that produce the output like shown here.
To be honest, it is not of much use as the screen refresh of every line for all those scrolling trace windows takes it's time.
So you may switch the emulated HP-41 on, get yourself a coffee and watch and wait until the first key-press will be accepted.
Now it is a good idea to press the OFF key labelled ON), watch the firework on your screen and answer the phone call from the operator and try to calm him down.
With a little experience in REXX and plumbing
Pipelines
you will certainly be able to shut off all trace output. The so achieved speed is enough for simple testing NutEm.
Prerequisites:
- Read the licence
- and continue only if you do agree
- Operating system
- VM/ESA 2.3 or newer (I assume)
- CMS Fullscreen enhancement
- Ottoscreen
- CMS Pipeline V1R1M11S3 or lower!
- V1R1M11S4 does not work with Ottoscreen
- This NutEm-full-trace-Package
- Click here to download it
- VMarc
- to unpack the file transferred to VM
What's in this NutEm-full-trace-Package?
- NUTEMFT PACKAGE, containing a description on how to proceed and
a list of files that may be used with the command
filelist nutemft package (f
- NUTEM MODULE
- Several EXECs (one to invoke the module, most are called from the module)
- No ROM file! Look at www.hp41.org
What's shall I do with this Package?
Transfer the download from above binary to your VM on a disk of your choice, run following commands:
pipe < nutemft vmarc | fblock 80 | > nutemft vmarc A F 80
vmarc unpack nutemft vmarc A = = A
In both commands replace A with the letter of the MDisk you stored the transferred file.
Now continue by reading NUTEMFT PACKAGE.
Test NutEm for 60 days
Sorry, it was planned for long time and cancelled now (I'm married, you know.).
Just get the source and compile it.
ROM images
NutEm is only an interpreter for the firmware of the HP-41.
So you need a copy of the calculator's operating system and the plug-in modules of your interest.
No ROM images are included in this bundle. Just get
V41 or
Emu41 and
use my suite of ROM converters.
Not to make you envious, here a
list of all ROMs I have.
A lot are still missing: two versions of Card Reader, one of Sqid's Bar Code Modules, ToulROM,
and other "3rd party" Modules like Beach Craft, Daly Oilwell and many more.
NutEm runs HP-11C, -12C, -15C, and -16C
The Hewlett-Packard calculators 11C and
12C (probably the
10C, 15C,
and 16C too)
— known as the
«Voyager» series — are built with nearly identical
CPU as the HP-41C (the 1LE3 CPU). The differences are electrically in the VCI, VC0 and POWER ON
circuits, and relating to the operating range in the voltage and clock frequency range.
Citation: "Other than the differences described above, both chips are functionally identical."
(TR in A-1LF5-9002-1 Rev. A, page 4, 7/14/81)

Not as nice as a photo of the HP-12C but it works. To press a key you have to "tab"
or navigate the cursor to the key and press enter. If you access the host from a PC via 3270 emulation
you may paste numbers to the INP: field, the numeric entry is terminated by Clear Prefix
to prevent the need for Enter befor the next input.
Few weeks ago Eric Smith published within his Nonpareil
masterpiece a ROM image of the HP-12C he was able to
tap from a real calculator.
With this ROM and some priceless hints from Eric and
HrastProgrammer I am now able to emulate
(or simulate?) most Voyagers under the IBM host-OS VM/ESA. Only "most Voyagers" because
I have no ROM image of the HP-10C yet.
Just one word about emulator and simulator:
NutEm is a logical rebuild of the «Coconut» CPU, capable to interpret firmware written
for it like HP-41C/CV/CX, the plugin modules (or "application packs") for it — and now the Voyagers.
Because this "firmware interpreter" is only a logical rebuild (not electrical) of the CPU you may call it a
simulator, but together with the ROM images it results in a layer close enough to the
real machine so I prefere to call it an emulator. At least the software (firmware and user
code) has no clue that it does not run on the hardware platform for which it was meant. That the surface
looks quite different than the original calculators is an other story (the tactile feedback of the
keys is part of the man-machine-interface).
Note: I dedicate this HP-12C emulator to Tony Hutchins because since several years he is an
addicted user and
supporter of the
HP-12C (now
HP-12Cp). We e-know another from
the days when Tony calculated
hours with an HP200LX.
Today he is mentioned as co-author in the publication
"HP 12C Platinum
Solutions Handbook" what is just one more reason to hold him in high esteem
(although I am not convinced one second with conclusions from any result of
Black-Scholes (the photo does not
show Tony!), this »over-valued formula computing options of the Europeans« <G>).
Prerequisites:
- Read the Q public licence (with comments)
- and continue only if you do understand all and if you do agree with no exception,
- access to the operating system VM/ESA 2.3
- or newer (I assume),
- CMS Pipeline latest version
- try first what your system operator has in storage for you, if it fails get it from the Internet,
- This Voyager-Package V1M1R0, unzip it and upload
binary(!) to VM
- new: runnin9 now blinks on 11C, 15C, and 16C too as in
V1R0M1 on the HP-12C. (The blink-display instruction seems to enable the display, therefore on the
HP-12C properly a DISTOG after DISOFF is executed.)
- VMarc, the VM archive packer/unpacker
- to unpack the (binary!) uploaded archive,
- from Nonpareil the files
HP11C.OBJ, HP12C.OBJ, HP15C.OBJ, and HP16C.OBJ
- upload them as text to VM, then follow instructions in VOYAGER INFO.
This Voyager emulator is a modification of the display and keybord interfaces to access the service of NutEm kernel.
Since the first publish (for HP-12C only) I got rid of some dead code from NutEm (which originally aims to emulate the
HP-41). My Voyager emulator is finished from a programmers point of view but the user interface could still be enhanced
a little bit. On my to-do list are: enhance the XEQ field (currently only few commands allowed to enter) and a keybord
with a sort of a GUI.
VM was not designed for attending input while the CPU is busy. To make it obey other user input than
hx and #CP is a bit tricky because NutEm is still not a Pipe stage. To interchange dot and comma as
decimal separator just start the emulator with VOYAGER#, or VOYAGER#. from Fullscreen CMS (not from
an XEDIT environment as Filelist). Using +, -, *, or / after the logical line end character
(#) will start the corresponding self
test. When the CPU is running the displayed keybord is not operational and you have to enter keycodes in CMS. This
and the #-trick use the non-SAA- or typed-ahead-lines-queue. In contrast, (SAA-)stacked keycodes are intercepted
at light sleep (CPU off, display on).
Changing
colors of the calculator type (upper left corner)
serves as busy indicator: green (shown above) stands for light sleep where the keybord is
functional (normal operation of the calculator), red means CPU running where keys must be entered (only needed to
stop a running program or during the self tests) in the CMS command line using keycodes or few shortcuts (; for R/S, : for
OFF, +, -, *, /, and .), and yellow shows up for patched ROMs only (input as for CPU running). With patched ROMs the delay
at Clear Prefix is exactly 1.2 seconds independent of the MIPS of the host. If you hit Enter with no input the
delay is interrupted until you hit Enter once more (with or w/o input). How to patch ROMs see VOYAGER INFO in
VOYAGER VMARC.
What's in this Voyager VMarc?
- VOYAGER PACKAGE, this is an annotated list of files that may be used with the command
filelist voyager package (f
- Q_PUB LICENSE, the Q Public License without comments,
- VOYAGER F77, the FORTRAN source code,
- VOYAGER INFO, a brief description about the program and where to get the ROMs,
- VOYAGER MODULE, the binary (linked in load-mode),
- Several EXECs, one to invoke the module, all others are called from the module,
- No ROM files! I do not have a license to distribute them on my site. See prerequisites above.
Note: The Voyager.ZIP contains a VMarc file. Without access to VM/CMS you may use
VMAwin by Leland Lucius.
What to do with this Package?
Transfer the download from above binary to your VM on a disk of your choice,
run following commands:
pipe(sep |)< voyager vmarc | fblock 80 | > voyager vmarc A F 80
vmarc unpack voyager vmarc A = = A
In both commands replace A with the letter of the MDisk where you like to store the files.
Now (in Fullscreen CMS) start the emulator with voyager for the HP-12C (default) or
with numeric arguments like voyager 16 for the HP-16C and so on. Have fun!
Read the legal stuff for this page.