Calculator blog

Musings and comments about our common interest


Published on by

The HP16c Emulator (I)

There are three modules coming our way, with the latest modules as explained in the previous blog installment.

All of them have been loaded this week by Systemyde, so the owner will enjoy the very latest modules.

The one I am looking forward to is the HP16c Emulator module. I am not doing assembler, but once I did, so I was used to move figures from decimal to HEX and even sometimes to binary. But to be true, at that time we were using 8 bit words and 16 bit registers and addresses, so you can guess that we’re in the very first eighties!

This new module includes support for words of up to 64 bit - which is 8 of the old bytes! Even the HP41c registers were 1 byte shorter!

Monte (Systemwide “factotum”) told me that he uses it already, and defied me to use myself.

You can see the manual here:

This module makes use of the Library#4 created also by Angel Martín

Another day we’ll discuss the functions of Library #4 !

Read entire post
More about: HP41cl, hp16c
Published on by

HP16c compatibility module for HP41C-CL


16c3qAngel Martin has created a new and exciting module for the hp41c. It provides emulation for the hp16 “Computer Scientist” calculator. It is freely available, and you can burn it on one of the available systems for that (the Clonix family and others), or in your hp41CL if you happen to have the serial module. By the way, it will become part of any new HP41CL modules, since Systemyde is now programming it as a standard module in the system.

It makes use of the #4 library too, so you will have to include it in your hp41 memory in some way (in Systemyde’s HP41CL module, we usually enter it in page 4, by POKEing the alpha string “804040–8120”). Be aware that Angel has recently made some improvements on the #4 library, so you need to load it too, if you were using a previous version of it.

Enough about setting it up. What this emulation module does? Well, all kind of base conversions between binary, octal, decimal and hexadecimal numbers. It makes full use of the alphanumeric 24-character register in the hp41, and is able to manage up to 64-bit decimal numbers (equivalent to 8 bytes or 16 hexadecimal numbers). It is also able to perform all kind of operations with these odd-base numbers, including rotation, carry, sign change, logical operations like AND, OR, XOR, etc.

It is true that the utility of such machines has diminished in our current world of increasingly high level programming languages - Swift couldn’t be farther from assembler code. But there will be occasions when you will have to descend to what is in the processor register, more so when you’re dealing with hardware at low level - and then you need to be able to know in advance how the system would react.

In the next days I will try to get a handle to this wonderful new module. Angel said that there were several things that come in addition to the original feature set of th HP16c, and that we would be in for some surprises. Let’s see!!

Read entire post