The first alpha numeric calculator. It also had sound. The display was LCD, very unusual at the time, most calculators used many tiny LEDs. The 14 segment display (double the size of most other calculators) could displayer numbers, uppercase letters, mathematical symbols, and standard punctuation. It also did lower case letters, less common punctuations, and less common symbols, but only a-e were clearly presented, f-z and the other glyphs were arbitrary symbols that the user would have to learn, most lowercase letters were pretty useless on this calculator. This display allowed it to be user friendly, displaying words instead of just numbers and a few symbols that the user would need the manual to interpret. The LCD display also used less power than LEDs. Other calculators at the time had 2, 3 or 4 shift keys and many, many buttons to access different mathematical functions. The HP-41 only had 34 keys, and 1 shift key, but many more functions that the others. This was because the user could simply spell out the desired function (or its abbreviation) instead of having to type coded key combinations. They could also create custom functions, with custom names. Since functions could be fully spelled out on the display, and entered by spelling them out on the keyboard; full high level programming languages, such as BASIC, could be used. Programs could even be compiled and debugged on the system without an outside development station. It was even possible to reprogram the operating system. Other calculators allowed programming languages, but they were entirely numeric (machine code only). Each key was also fully programmable, the user could assign their favorite 34 functions to the 34 keys. Later models added more keys and more shift keys for convenience after it was realized that being able to type out any function did not eliminate the need to do it fast with key combos. Seeing the function spelled out was the important feature. This little calculator had four cartridge slots for expandability. Accessories available include RAM modules, flash storage, Application cartridges, game cartridges, printer, PPC module (the best of everything in one tiny module), OB CALC SYS ROM (obstetrics ultrasound adapter), magnetic card reader, barcode reader, time module (allowed the user of alarm clocks, stop watches, calender etc.), aircraft module (supplemental flight instrumentation for small planes), parallel printer port, cassette interface, 3.5" drive, RS-232 port, infrared port, plotter modules, advantage module (added functions that competitors had added to their calculators), backup/multiboot ROM module, touchpad, aviation cartridge, circuit analysis module, surveying module, additional cartridge slots, and video cards. It could be overclocked. The system was powerful enough to emulate other systems. HP-67 code and cartridges (with an adapter) could be run on the HP-41 without slowdown (no need to overclock). Although this calculator has digital RAM was not measured in traditional bytes made of bits. RAM and ROM is measured in 56-bit registers, or 8-bit registers or 64-bit registers on some systems. (14 bytes of 4 bits each could be used, 12-bit bytes, 8-bit addressing, 14-bit addressing, and 16-bit addressing were also used) A original limitation made functions 1-3 'bytes' in size (also strings could only be 6 characters ). Programmers eventually found ways to make smaller or larger functions and strings. A Total of 63 registers were built in. So a program that was 200-400 lines of code could be translated to run on the HP-41. Memory expansion allowed for up to 124, 238, 319, or 600 registers. The HP-41 only allowed for one program space so all the programs in memory were technically the same program. Each needed unique names to call and needed a distinct END to keep the next program in memory from executing Users would need to keep track of the variables, functions, and labels in use on their system and make sure no programs used a duplicates. Removing a single program from the system without effecting the others took caution and carefully planing. The HP-41C introduced local labels and divided multiple program spaces from the global one. Global and local spaces could interact with each other using specific functions that were added to the HP-41C. A catalog was built in that kept track of all functions and could be used to track user programs as well. Programmers couldn't hide anything from users. Used for 4 N-cell batteries. Some early models had a plug for an external power supply. But battery life and portability features seems to have stayed the demand for this option.
There several are different ways to load programs onto and HP-41
Type it in
Use a R/W storage peripheral (card, disk, cassette, credit card)
Use a ROM cartridge
Use an HP-IL peripheral (Network, disk, cassette)
Use a bard code reader to scan in program code that has been printed in barcode