# 12c Platinum · Webnachbau

Eigenständige Webanwendung im Erscheinungsbild des HP 12c Platinum. Öffne `index.html` direkt im Browser oder stelle diesen Ordner unverändert unter `/calculators/12c/` bereit. Kein Build, keine Datenbank, kein PHP und keine externen Laufzeitabhängigkeiten erforderlich. Der Rechner funktioniert nach dem Laden ohne weitere Netzverbindung; bei direktem Öffnen der lokalen Dateien auch vollständig offline.

## Funktionen

- RPN mit X/Y/Z/T, ENTER, Roll-down, Registertausch und LAST X; alternativ ALG mit Auswertung von links nach rechts und bis zu 13 offenen Klammern.
- Finanzregister n/i/PV/PMT/FV, BEGIN/END, 12× und 12÷, Zinseszins, unvollständige Perioden mit schaltbarem C-Modus, Tilgung und einfache Zinsen.
- CF₀, CFⱼ, Nⱼ, NPV, IRR; Anleihepreis und Rendite mit halbjährlichen Kupons; lineare, degressive und SOYD-Abschreibung.
- Prozent, Prozentänderung und Prozentanteil; Datumsaddition, tatsächliche Tage und 30/360-Tage; D.MY/M.DY.
- Statistik, Mittelwert, gewichteter Mittelwert, Stichproben-Standardabweichung, lineare Schätzung und Korrelation.
- Potenzen, Wurzeln, Kehrwert, Quadrat, Exponentialfunktion, natürlicher Logarithmus, Fakultät, Ganzzahl, Nachkommaanteil, Rundung und Exponenteingabe.
- 400 Programmzeilen, P/R, R/S, SST, BST, GTO, PSE sowie x≤y und x=0; Programme können RPN- oder ALG-Tastenfolgen enthalten.
- STO/RCL, Speicherarithmetik, Zahlenformat, Löschfunktionen, Rücknahme einer Löschung und zusätzliche allgemeine Ein-Schritt-Rücknahme.
- Lokaler Dauerspeicher, JSON-Sicherung/Wiederherstellung, Registerübersicht, Programmanzeige und Tastenprotokoll.
- Maus, Touch und Computertastatur. Auf schmalen Telefonen bleibt das Original-Querformat erhalten; für größere Tasten das Telefon quer halten oder Browserzoom verwenden.

Die Kurzanleitung ist direkt in der Anwendung erreichbar. Speicherort: localStorage-Schlüssel `merkle.hp12c.platinum.v1`. Die Anwendung sendet keine Rechenwerte, lädt keine Drittanbieter-Skripte und verwendet keine Cookies. Das Tastenprotokoll bleibt nur bis zum Neuladen erhalten. Speicherdateien ersetzen den Rechnerzustand nach vollständiger Validierung.

## Unterschiede zum Original

Dies ist ein funktionaler Software-Nachbau, keine HP-Firmware- oder Hardwareemulation. Die Tastenfunktionen sind umgesetzt, eine bitgenaue Übereinstimmung sämtlicher Grenzfälle wird nicht behauptet. Die Rechnungen verwenden JavaScript-Gleitkommazahlen und numerische Nullstellensuche; Rundung und Konvergenz können vom physischen Gerät abweichen. IRR kann mehrere oder keine Lösung haben.

Die 400 Programmzeilen und 30 Daten-/Cashflowregister werden getrennt bereitgestellt, ohne die dynamische Speicheraufteilung der Hardware nachzubilden. R0–R9 und R.0–R.9 sind direkt über STO/RCL erreichbar; weitere Register dienen den Cashflows. MEM öffnet die Speicherübersicht. Die Anwendung emuliert keine Batterieanzeige, Hardware-Selbsttests, Kontraststeuerung oder automatische Abschaltung. ON schaltet die Anzeige aus/ein; das Dezimaltrennzeichen wird über die separate Schaltfläche umgeschaltet. Laufende Programme lassen sich durch eine Taste stoppen. Beim Wiederherstellen wird ein Programm nicht automatisch gestartet.

Tilgungs- und Abschreibungsabfragen über mehr als 1.000.000 Perioden werden mit Error 5 abgewiesen, damit eine versehentliche riesige Eingabe den Browser nicht blockiert.

## Prüfung

`node --test tests/engine.test.cjs`

Die Tests prüfen unabhängige Sollwerte und Tastenfolgen für RPN, ALG, Eingabe, Speicher, TVM, Cashflows, Anleihen, Abschreibung, Statistik, Datum und Programme. Ein Kreditraten-Beispiel folgt dem offiziellen HP-Handbuch (29 Jahre, 5,25 %, 243.400 → monatlich −1.363,29). Weitere Sollwerte werden aus den mathematischen Formeln hergeleitet. Siehe `TEST-REPORT.md` für den zuletzt geprüften Stand.

## Quellen und Lizenz

- Die unveränderte Basis `vendor/hp12c.js` stammt aus dem Repository [jonatasbitencourt/calculadora-hp12c](https://github.com/jonatasbitencourt/calculadora-hp12c), abgerufen am 06.09.2026. Dieses Repository veröffentlicht den Code unter GPL-3.0. Das Upstream-README ist unter `vendor/UPSTREAM.md` beigelegt. Es weist darauf hin, dass das Projekt selbst eine Überarbeitung eines älteren Emulators ist. Die ursprüngliche Emulatorfamilie geht auf Elvis Pfützenreuter zurück.
- [HP 12c Platinum User's Guide, Edition 5](https://hpcalcs.com/downloads/HP12cPlatinum_user_guide_English_EN.pdf) als Referenz für Bedienung und Testbeispiele. Das Handbuch wird nicht mitkopiert.
- Oberfläche, SVG-LCD, Adapter, Fehlerkorrekturen, Speicherverwaltung und Tests wurden für diese Webanwendung ergänzt. Änderungen liegen in `engine.js` und `app.js`; die Rechenbasis ist zum Vergleich unverändert.
- Die Anwendung wird einschließlich der ergänzten Quellen unter GPL-3.0 bereitgestellt, siehe `LICENSE`. Der vollständige verwendete Quelltext liegt in diesem Ordner.
- HP, Hewlett-Packard und HP 12c Platinum sind Kennzeichen ihrer jeweiligen Inhaber. Dies ist eine unabhängige Umsetzung ohne Verbindung oder Freigabe durch HP.

## Dateien

`index.html`, `style.css`, `icon.svg`, `app.js`, `engine.js`, `vendor/hp12c.js`, `vendor/UPSTREAM.md`, `LICENSE`, `README.md`, `TEST-REPORT.md` und `tests/engine.test.cjs`.

Es wurde ausschließlich lokal gearbeitet. Eine Veröffentlichung auf dem Hosting ist nicht Bestandteil dieses Arbeitsstands.

