1. Introduction

Despite being almost 40 years old, the classic HP-41 calculator is still being used and loved. While the actual user base today is small, some people still enjoy the fun of this, way ahead of its time, amazing calculator.

The high level language of the HP-41 was named FOCAL, but that was an unfortunate choice as that name was already used by another language. The name RPN is used here as it is often used as a family name for languages of this kind. RPN also goes well with the naming of the language used by the successors of the HP-41, which is called RPL. RPL is however quite different from RPN.

The native assembly language of the HP-41 is usually called MCODE and it gives full control over the calculator. Due to the way memory system on the HP-41 is constructed, MCODE programs can only be executed from plug-in modules.

Hewlett-Packard and third parties produced many plug-in modules back in the 1980s. The majority were mask programmed by HP and typically required large volumes to make sense, but there were also EPROMs used for low volume modules. A small cottage industry existed at the time. Today modules are developed as software images that can be loaded into module simulators (re-programmable hardware) which offer higher capacity than ever before.

Examples of such re-programmable custom hardware are the Clonix and NoV series of modules. If you are the lucky owner of an HP-41CL, it can hold all HP-41 module images known to mankind inside the calculator!

If you use an emulator, it will most likely provide support for loading module images.

The Calypsi tool chain aims to provide command line tools that makes it easy to develop your own module images for the HP-41, both using MCODE and RPN. In addition to this, there are tools to work with module images and Clonix images. There is also a tool to generate barcodes to allow RPN programs to be loaded into the RAM based program memory of the calculator. You will need a postscript printer and an HP 82153A Wand to use this barcode feature.