HP-41 extension module
Encyclopedia
HP-41 extension modules allowed the user of a HP-41
HP-41
The HP-41C series are programmable, expandable, continuous memory handheld RPN calculators made by Hewlett-Packard from 1979 to 1990. The original model, HP-41C, was the first of its kind to offer alphanumeric display capabilities...

 programmable calculator to extend the functionality of the machine. The HP-41 had room for up to four expansion modules at the back of calculator.

The HP-41 was not the only calculator of its generation that allowed expansion modules. The TI-58 and TI-59
TI-59
The TI-59 was an early programmable calculator, manufactured by Texas Instruments from 1977. It was the successor to the TI SR-52, quadrupling the number of "program steps" of storage, and adding "ROM Program Modules" and a magnetic card reader for external storage...

 also had pluggable ROM modules. The HP-41 modules were however much more versatile.

The Memory Modules (HP-41C only)

Memory modules added RAM
Random-access memory
Random access memory is a form of computer data storage. Today, it takes the form of integrated circuits that allow stored data to be accessed in any order with a worst case performance of constant time. Strictly speaking, modern types of DRAM are therefore not random access, as data is read in...

 main memory to the calculator, allowing more programming steps and/or more data registers.

The original HP-41C had a main memory of 63 registers of 7 byte
Byte
The byte is a unit of digital information in computing and telecommunications that most commonly consists of eight bits. Historically, a byte was the number of bits used to encode a single character of text in a computer and for this reason it is the basic addressable element in many computer...

s each. Each register could hold either a number, a 6-character string, or up to 7 program steps in the Focal
Focal (HP-41)
The Forty-one calculator language is the language used to program the HP-41 range of expandable science/engineering calculators from Hewlett-Packard....

 language (program steps used a variable number of bytes).

Each memory module added 64 registers, and the calculator could hold up to 4 of them, for a grand total of 319 registers. While this was considered huge for the time (a little more than 2 kilobyte
Kilobyte
The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...

s,) all expansion slots were used. User groups found a way to merge two memory chips in a single module, thus freeing two expansion slots. HP designed a module holding all four in one slot, the so-called Quad Memory Module. The later HP-41CV had the quad module built-in.

The Application Pacs

The ROM
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...

-based application 'pac' modules added up to 4 kilobytes of read-only memory (some up to 8 kilobytes, but these were simply two independent 4K modules in the same box). Most modules held dozens of programs written in the HP-41C programming language, Focal
Focal (HP-41)
The Forty-one calculator language is the language used to program the HP-41 range of expandable science/engineering calculators from Hewlett-Packard....

.

Programs in the ROM modules could be called from a user program, using the ubiquitous XEQ function. In the program code, XEQ appeared as "XROM" when it was used to call a ROM program.

The 82104A Card Reader

The card reader was a device able to read and write small rectangular plastic cards with two magnetic strips. The card reader could copy contents of memory onto magnetic cards, and later read back the data into memory.

As the HP-41C had permanent memory (user programs and data were not wiped out when power was off) there was no absolute need for a permanent storage device, so the card reader was optional.

Each card held two strips of 112 bytes each, that could hold 16 data registers or up to 112 program steps. This limited capacity resulted in typical programs requiring 5 or more magnetic cards to be saved. A full backup of the machine's 319 memory registers plus internal data required 11 magnetic cards (each card had to be inserted twice.)

The card reader could read magnetic cards from the earlier model HP-67. HP-67 programs were translated in HP-41C instructions, as the HP-67 and HP-41 share the same programming model and operation stack. Some instructions however were specific to the HP-67, and the card reader provided additional instructions to emulate the 67.

Magnetic cards could be write-protected, and programs saved as private: once loaded back, the source code for the program could not be displayed. This made magnetic cards an obvious choice for program distribution.

However, the electric motor put a heavy strain on the calculator batteries, and the price tag for blank cards put an even heavier strain on the user's wallet.

The 82182A Time Module

The time module added a real-time clock. The clock allowed you to use the actual time in your programs.

You could also define alarms that triggered calls to user programs. The alarms were able to switch the calculator on, so it was possible to create programs that executed at some point during the day, then switched the calculator off until the next alarm. As the HP-41 was often used as data-gathering device in labs, this allowed the calculator to read data from monitored devices at specific times every day, without having to run in between the readings (thus saving battery capacity).

The HP-41CX had the time module built-in.

The 82143A Thermal Printer/Plotter

The printer used rolls of thermal paper to print lines of up to 24 characters. The thermal paper provided for a bluish printout,
but was somewhat unstable, as the printout could vanish or the whole paper turn blue due to excessive heat.

The printer had some graphical capabilities, as you could design your own character shapes, or even turn on or off individual pixels.
However, the buffer memory could not hold sufficient information to print a whole line in graphic mode, and you could not
alter line spacing, so it was impossible to print continuous graphics.
The printer nevertheless provided some printing utilities that were able to graph a function on a band of paper.

The 82153A Optical Wand

The optical wand was a barcode reader shaped like a thick pen, and was designed to read lines of HP-proprietary standard barcodes into the calculator memory. The barcodes, printed in e.g. HP solutions books, could consist of programs, numeric or alphabetical constants, and even keypresses (letting the calculator be operated without using the keyboard) — useful for diagnosing calculators where the keyboard was suspected to be faulty.

The 82180A Extended Functions Module

The Extended Functions module added many functionalities the users had wanted for ages, as the ability to
programmatically assign functions to keys, repartition memory, etc.

But the most important new function was the management of extended memory: while the HP-41C could theoretically access up
to 1024 registers, the early design limited main memory to 319 registers only. The Extended Functions module added instructions
to manage a bank of additional memory in the available addressing space of the machine. As this memory was not directly
addressable by user programs, it was seen as a set of named files containing either programs or data. Programs and data registers could
be copied back and forth from the extended memory to the main memory, where they could be accessed as usual.

Extended memory could also hold ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...

 files, and a rudimentary text editor
Text editor
A text editor is a type of program used for editing plain text files.Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code....

was added also.

The Extended Functions module contained 124 registers of Extended memory. More could be added by ... Extended Memory modules.
The HP-41CX contained the Extended Functions module as standard.

The 82181A Extended Memory Module

Extended memory modules added more extended memory to the HP-41C. They required an extended functions module to be present, or the
HP-41CX version of the calculator.

Each module added 238 registers of extended memory. Up to two extended memory modules could be inserted, for a grand total of
124 + 2*238 = 600 registers. Added to the 319 registers of main memory, this covered practically all of the machine's 1024
addressable registers, for a total of 919 registers, or 6433 bytes.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK