# HP-41C

Der HP-41C und die Nachfolgemodelle HP-41CV und CX waren programmierbare Taschenrechner von Hewlett-Packard. Das erste Modell der 41er-Serie kam 1979 auf den Markt, 1990 endete die Produktion der Baureihe. Die Rechner entwickelten sich trotz ihrer relativ hohen Preise (ab 750 DM, nach heutiger Kaufkraft ca. 1.020 Euro) schnell zu einem wichtigen Hilfsmittel für Wissenschaftler, Ingenieure und Studenten. Sie boten neben umfangreichen Programmierungs- und Erweiterungsmöglichkeiten vor allem als erste Geräte dieser Art ein alphanumerisches Flüssigkristall-Display, das auch Buchstaben und Symbole darstellen konnte und deutlich weniger Energie als die damals üblichen LED-basierten Siebensegmentanzeigen benötigte.

## Allgemein

Die Taschenrechner waren – ungewöhnlich für damalige wie heutige Geräte – sehr vielseitig und umfangreich modular erweiterbar, etwa mit zusätzlichem Daten-/Programmspeicher, Programmmodulen sowie diversen Peripheriegeräten wie Magnetkartenleser, einem speziellen Lesegerät für Barcodes, um Programme und Daten einzulesen, Drucker und Kassettenlaufwerk. Zur Verbindung der Geräte entwickelte HP ein eigenes einfaches Bussystem, das Hewlett-Packard Interface Loop (HP-IL) mit zugehöriger Schnittstelle, die per Steckmodul in die Rechner eingebaut werden konnte. Die späteren Modelle HP-41CV und HP-41CX waren mit mehrfach größerem Arbeitsspeicher und Zusatzfunktionen wie einer Echtzeituhr (41CX) ausgestattet. Sie eigneten sich auch zur automatischen Steuerung und Messwerterfassung bei kleineren Laborversuchen mittels IEC-Bus, was häufig genutzt wurde. Die drei Modelle unterschieden sich äußerlich nur in kleinen Details und dem Modellschriftzug, vor allem die Tastenbelegung und deren Beschriftung waren identisch.
Hauptunterscheidungsmerkmale gegenüber der Konkurrenz von Texas Instruments (speziell dem TI-59) sowie gegenüber Casio-Geräten waren die großen Erweiterungsmöglichkeiten und die HP-typische Eingabe mittels der umgekehrten polnischen Notation.
Nachfolger waren der funktional ähnliche HP-42S und die deutlich weiterentwickelten Modelle HP-28 und HP-48.

## Bedienung

Der HP-41C war der erste Taschenrechner mit frei belegbaren Tasten. Da die Fülle der Funktionen nicht mehr sinnvoll auf der Tastatur untergebracht werden konnte, wurde ein dreistufiges Konzept verwendet:
* Im Standardmodus ist jede Taste mit nur zwei Funktionen belegt. Dafür war eine Umschalt- oder Shift-Taste ausreichend.
* Weitere Funktionen können durch Eingabe des Funktionsnamens aufgerufen werden. Dazu wird die Tastatur in den Alpha-Modus geschaltet, in dem jeder Buchstabe des Alphabets plus einige Sonderzeichen eingegeben werden können.
* Im User-Modus kann der Benutzer solche Funktionen den einzelnen Tasten zuordnen. Dadurch kann er Befehle, die er häufig braucht, direkt auf die Tastatur legen.
Teilweise wurden bei Erweiterungsmodulen Schablonen als Tastatur-Overlays mitgeliefert. Die alphanumerischen Fähigkeiten können auch für die Programmierung (in FOCAL) genutzt werden, sodass Ein- und Ausgaben in Klartext kommentiert werden können.

## Funktionsumfang

Der Funktionsumfang in der Basisversion blieb hinter den Spitzenmodellen der Vorläuferserien zurück. So gab es keine Hyperbelfunktionen oder Kombinatorikbefehle und keinen Solver, was aber durch die Erweiterungsmodule bzw. durch die Programmierungsmöglichkeiten wettgemacht wurde. Andererseits ermöglichte die Zeichendarstellung einen erheblichen Komfortgewinn, um z. B. Ein- und Ausgaben textlich zu ergänzen. Eine interessante Erweiterung erfuhr das Stack-Konzept, das nun durch Zugriffe direkt auf die Stackregister (auch mit Speicherarithmetik) erheblich flexiblere Manipulationen erlaubte. Auch die Möglichkeit der indizierten Adressierung war erheblich erweitert worden.
Das Basismodell HP-41C erschien nur wenige Monate nach dem HP-34C und wurde parallel zu diesem verkauft, hatte aber trotz seines deutlich höheren Preises in der Basiskonfiguration weniger Funktionen. Es war allerdings erheblich vielseitiger, insbesondere durch seine alphanumerischen Fähigkeiten und seine Erweiterungsmöglichkeiten. Das Gleiche galt wenige Jahre später für den HP-41CV/CX und den HP-15C.

## „Synthetische Programmierung“

Durch die Verwendung undokumentierter Befehlssequenzen war es möglich, auf Systemregister des Taschenrechners direkt zuzugreifen. Damit konnte man zusätzliche Eigenschaften ausnutzen, was zum Beispiel zu kleineren oder schnelleren Programmen, zur Anzeige von normalerweise nicht unterstützten Sonderzeichen im Display, zur gruppenweisen Manipulation von Flags oder zur Verwendung zusätzlicher String-Funktionen führte. Diese Vorgehensweise, die natürlich entsprechende Vorsicht erforderte (z. B. gibt es dadurch auch die Möglichkeit, den gesamten Speicher des Taschenrechners zu löschen), wurde synthetische Programmierung genannt. Der Begriff geht auf den Titel eines Buchs des Amerikaners William C. Wickes (Entwickler bei HP für Taschenrechner) zurück, der darin einige der Funktionen beschrieb und mögliche Anwendungen vorstellte. Diese Art der erweiterten Programmierung führte durch zahlreiche Taschenrechner-Clubs, die sich in den 1980er-Jahren bildeten (z. B. CCD – Computerclub Deutschland mit der Clubzeitschrift Prisma), zu bedeutenden Erweiterungen der Funktionalität.
Einzelne Entwicklungsprojekte gingen dabei noch weiter und programmierten den HP-41 auf der Ebene der Maschinensprache und entwickelten dazu eigene Module oder externe Speicher.

## Einsatz im Space Shuttle

Die Modelle der HP-41-Serie gehörten mit geringen Anpassungen zur Standardausstattung der US-amerikanischen Space-Shuttle-Raumfahrzeuge. Sie dienten als Taschenrechner für die Besatzung und waren u. a. mit Software zur Unterstützung der Navigation, zur Ermittlung von Funkschatten und zur Verteilung von Ballast ausgestattet. Das später für den HP-41C/CV angebotene und im HP-41CX integrierte Time Module enthielt eine Echtzeituhr und war auf Anforderung der NASA entwickelt worden. So verfügte der Rechner immer über die aktuelle Zeit. Es gab auch einen Stoppuhrmodus und man konnte Programme zu festgelegten Zeiten starten lassen. Mit Auslaufen der Modellreihe HP-41 wurde der Rechner im Shuttle vom HP-48 abgelöst.
Durch die Verwendung eines Silicon-on-Sapphire-Prozesses bei der Fertigung der CPU war der HP-41 unempfindlicher gegen ionisierende Strahlung als andere Taschenrechner und dadurch für den Einsatz im Weltraum prädestiniert.

## Technische Daten

* Klassifizierung: Wissenschaftlicher Taschenrechner
* CPU: CMOS HP SOS Nut (360 kHz Taktrate)
* FPU: keine (BCD-Arithmetik)
* ROM: 12 KiB
* RAM
** 41C: 445 Byte (erweiterbar auf 2237)
** 41CV/CX: 2237 Bytes (umwandelbar in 0 bis 319 Datenregister à 7 Bytes entsprechend max. 7 Programmschritten, das „320. Register“ ist nur für Programmschritte nutzbar, weil 3 Bytes durch die permanente .END.-Anweisung blockiert sind) (nicht erweiterbar)
** 41CX: weitere 868 Bytes (124 Register) Extended Memory (erweiterbar auf bis zu 4200 Bytes / 600 Register)
* Tasten: 39 mit Umschalttaste
* Anzeige: Monochromes LC-Display mit 12 Zeichen und Vierzehnsegmentanzeige für alphanumerische Ausgaben
* Kassetten-Laufwerk: optional
* Drucker: optional mit direktem Anschluss (Thermodrucker) oder andere Drucker über HP-IL
* Interface Loop (HP-IL): optional, dadurch deutliche Erweiterung des Systems (Messgeräte, Diskettenlaufwerk, Anschluss an einen PC)
* Batterien: 4 Typ „N“ (Lady-Zellen) oder Netzteil mit einem speziellen Adapter
* Maße: Länge 14,3 cm, Breite 7,8 cm, Höhe 3,1 cm
* I/O: 4 Steckplätze für verschiedene Erweiterungskarten wie Barcode-Leser, kabelgebundene Drucker und später Infrarot-Adapter für externen Drucker, Magnetkartenleser, zusätzliches RAM, Softwaremodule etc.
* Einführung: 16. Juli 1979 / Einstellung: 1. Januar 1990
* Damaliger Preis:
** HP-41C: Anfangs 750 DM, unter Berücksichtigung der Kaufkraftänderung wäre der vergleichbare Euro-Preis heute ca. 1.020 Euro, später sank der Preis, 1982 lag er bei etwa 600 DM
** HP-41CV: Listenpreis anfangs 1.300 DM (1983), entsprechend einem Preis nach heutiger Kaufkraft von ca. 1.450 Euro, später sank der Preis deutlich

## Erweiterungen

Das Steckplatzsystem erlaubt, eine Vielzahl von Peripheriegeräten anzuschließen. Darunter befinden sich:

### Kartenleser 82104A

Der Kartenleser erlaubt, Programme oder Daten auf Magnetkarten zu schreiben und von diesen wieder einzulesen, analog zu einem Diskettenlaufwerk. Die Karten waren identisch mit denen des HP-97 und HP-67 und mit diesen fast vollständig kompatibel, das ROM des Lesers stellte die fehlenden Funktionen zur Verfügung. Die Karten verfügen über zwei Streifen zu je 16 Registern (112 Byte) Kapazität, die einzeln gegen Überschreiben gesichert werden können. Der Kartenleser wird direkt an den Rechner angesetzt und belegt daher zwingend Port 4.

### Time-Modul 82182A

Dieses Modul (in den HP-41CX fest eingebaut) enthält eine Echtzeituhr. Sie ist als Stoppuhr nutzbar und erlaubt den automatischen Start von Programmen zu voreingestellten Zeiten, wie auch die akustische Alarmierung. Das Modul enthält spezielle Anweisungen, mit denen der Zeitgeberquarz durch zyklisches Hinzufügen eines Kompensationsfaktors sehr genau kalibriert werden kann.

### Thermodrucker 82143A

Der Drucker kann bis zu 24 Zeichen nebeneinander auf Thermopapier ausdrucken und ist beschränkt graphikfähig (die Daten müssen dazu allerdings aufwändig aufbereitet werden.) Er wird aus einem eigenen Netzteil versorgt; für den netzunabhängigen Betrieb war ein Akku enthalten.

### Barcode-Lesestift „Optical Wand“ 82153A

Der Lesestift in Form eines dicken Kugelschreibers kann die HP-Barcodes (Typ 2/5 mit proprietärem Inhalt) in den Speicher des Rechners übertragen. Die Daten können Programme (normal oder gegen Einsichtnahme PRIVATE-geschützt), Daten (Zahlen oder Buchstaben) oder einzelne Tastenbetätigungen (Direct Execution Codes) darstellen. Eine Zeile Barcode besteht aus bis zu 16 Bytes. Das erste Byte ist bei allen Typen eine Prüfsumme, die sich aus den folgenden 15 Bytes nach der Formel ([Summe aller Bytes] MOD 255) berechnet. Das zweite Byte charakterisiert den Typ des Barcodes. Programme können aus mehreren Zeilen bestehen, dort ist es 16 + [laufende Nummer der Zeile] −1 (Programme) oder 32 + [laufende Nummer der Zeile] −1 (PRIVATE Programme). Das dritte Byte gibt an, ob in der vorangegangenen Barcodezeile eine Funktion begonnen und Bytes in dieser Zeile angehängt werden (z. B. Text). Tastenbefehle tragen in Byte 2 eine 64.
Am unteren Ende des Stiftes befindet sich eine Schaltfläche, welche die LED einschaltet. Der Barcodeleser wurde über den HP-41C mit Strom versorgt. Diese bequeme Form der Dateneingabe wurde viel genutzt.

### Das Erweiterte Funktionen-Modul 82180A

Dieses in den HP-41CX fest eingebaute Modul erweitert die Fähigkeiten des Rechners um Befehle zur Neuaufteilung des Speichers, zur erweiterten String-Manipulation, und erlaubt die Verwendung von „Erweitertem Speicher“, auf den wie auf ein Festplattenlaufwerk zugegriffen werden kann. Das Modul enthält 124 Register, die sich bis auf 600 Register erweitern lassen und dann zusammen mit den 319 Registern des Hauptspeichers fast den gesamten adressierbaren Speicherraum abdecken. Diese Erweiterung geschieht durch Speichererweiterungsmodule 82181A (bis zu 2 möglich).

### Das HP Interface Loop-Modul HP82160A
## Bilder

* Alphanumerisches LC-Display des HP-41CX
* HP 82104A Magnetkartenleser/-Recorder
* HP-IL Interface Modul
* Thermodrucker HP82162A (mit HP-IL-Anschluss)
* Bandlaufwerk HP82161A mit Datenkassette (mit HP-IL-Anschluss)
* HP 82163B – Videointerface (mit HP-IL-Anschluss)
* Interface Loop mit Thermodrucker HP82162A (vorne links) und Bandlaufwerk HP82161A (links hinten) sowie einem HP-41CX
* Erweiterungssteckplätze des HP-41CX
* HP82242A IR-interface zur Verbindung mit einem Thermodrucker
* HP 82106A Speichererweiterung für den HP-41C
* X Memory Modul HP82181A (Speichererweiterung)
* Statistik-Modul
* HP Akkupack für den HP-41CX mit defekten NiCd-Zellen (original)
* HP82120A Akkupack für den HP-41CX (die ursprünglichen NiCd-Zellen sind gegen NiMH-Zellen ausgetauscht)

## Emulatoren

Die Geräte haben, ungewöhnlich für Taschenrechner, auch 30 Jahre nach der Einstellung ihrer Produktion noch eine Fangemeinde. Dies hat dazu geführt, dass Emulator-Programme für eine Vielzahl von Betriebssystemen verfügbar sind, darunter Windows, Mac OS X, Unix-Varianten, Pocket PC, Palm OS, Apple iOS und Android.

## HP-42S

Mit dem Auslaufen des HP-41 brachte Hewlett-Packard neben dem HP-48 als nächster Entwicklungsstufe mit dem HP-42S einen unmittelbaren Nachfolger auf den Markt, der mit dem nahezu gleichen Befehlssatz Programme der HP-41-Geräte ausführen konnte. Der 42S konnte einen Drucker über die eingebaute IR-Diode ansteuern, sonst gab es aber keine Peripheriegeräte. Der Rechner verfügt über ein zweizeiliges LC-Matrix-Display, in dessen unterer Hälfte Menüs eingeblendet werden, die den Zugriff auf die umfangreiche Funktionsbibliothek erlauben. Diese Menüführung erlaubt, die Tasten nur doppelt belegt auszuführen. Die Anzeige ermöglicht auch eine – wenngleich bescheidene – Grafikdarstellung. Gehäuseform und die Versorgung aus drei Knopfzellen entsprechen denen der Rechner HP-32S, HP-32SII, HP-20S (ab 1989) und weiterer.

### Technische Daten des HP-42S

* Klassifizierung: Wissenschaftlicher Taschenrechner
* CPU: CMOS „Saturn“
* FPU: keine (BCD-Arithmetik)
* ROM: 64 KiB
* RAM: 7,2 KiB
* Tasten: 37 mit Umschalttaste
* Anzeige: Monochromes LC-Matrix-Display mit 131×16 Pixeln (2 Zeilen zu 22 Zeichen)
* Drucker: optional (Thermodrucker über IR)
* Batterien: 3 × Typ LR44 o. ä.
* Maße: Länge 14,8 cm, Breite 7,9 cm, Höhe 1,4 cm
* Einführung: 31. Oktober 1988 / Einstellung: 1995

## DM41L / DM41X

Basierend auf den für Emulatoren verfügbaren Quellen hat das Unternehmen SwissMicros einige HP-41CX-kompatible Taschenrechner neu aufgelegt. Die kleinste Version DM41 hatte die Abmessungen einer Kreditkarte, die größere Version DM41L entspricht den Maßen und dem Layout der Serie 10 und ist seit Dezember 2015 verfügbar. Die Taschenrechner arbeiten den originalen Bytecode ab, da die CPU durch einen ARM-Prozessor emuliert wird. Das LC-Matrix-Display kann alle Buchstaben des HP-41C darstellen. Die Arbeitsgeschwindigkeit des Rechners ist einstellbar. Bei maximaler Geschwindigkeit ist ein DM41L etwa 30 mal so schnell wie ein originaler HP-41C. Die Stromversorgung der Taschenrechner geschieht wie bei der Serie 10 mit Knopfzellen. Das Betriebssystem kann über einen USB-Anschluss aktualisiert werden. Seit September 2020 steht als Nachfolger auch noch der DM41X zur Verfügung, dessen Design dem Original sehr ähnelt, aber einen erweiterten Funktionsumfang und ein größeres LC-Display aufweist.

### Technische Daten des DM41L

* CPU: LPC1115 ARM (12 MHz oder 48 MHz)
* Anzeige: Monochromes LC-Matrix-Display mit 132 × 16 Pixeln (einzeilig)
* Tasten: 39 mit Umschalttaste und Alphataste
* Batterie: 1 × CR2032 (220 mAh)
* Maße: Länge 5,9 cm, Breite 8,8 cm, Höhe 0,7 cm
* Gewicht: 150 g

### Technische Daten des DM41X

* CPU: ARM Cortex-M4F (80 MHz)
* Anzeige: Monochromes LC-Matrix-Display mit 400 × 240 Pixeln
* Tasten: 43 mit Umschalttaste und Alphataste
* Batterie: 1 × CR2032 (220 mAh)
* Maße: Länge 14,4 cm, Breite 7,7 cm, Höhe 1,2 cm
* Gewicht: 180 g