# Casio fx-7000G · Web Edition

Ein unabhängiger, originalnah gestalteter Nachbau des Grafikrechners von 1985. Statische Webanwendung ohne Installation, Bibliotheken, Konto oder Tracking. Dateien unverändert in einen Webordner legen und `index.html` aufrufen. Der HP-12c-Nachbau im Nachbarordner ist unabhängig davon.

## Funktionsumfang

- 50 Gerätetasten mit SHIFT, ALPHA, Buchstabensperre, Replay und Einfügemodus; außerdem direkte Computertastatureingabe.
- Eigene algebraische Rechenbasis mit Casio-artigen Vorrangregeln, impliziter Multiplikation, Ans, Potenzen, Wurzeln, Fakultät, Logarithmen, trigonometrischen und hyperbolischen Funktionen samt Umkehrfunktionen.
- Deg/Rad/Gra, Fix/Sci/Norm/Engineering, Winkel in Grad/Minuten/Sekunden, Pol/Rec, Int/Frac/Abs, Rnd/Ran# und technische Einheiten.
- A–Z, erweiterter Speicher mit Defm, indizierte Register und Bereichszuweisung.
- Base-n mit Dec/Hex/Bin/Oct, Zweierkomplement sowie and/or/xor/not.
- Echte 96×64-Pixel-Zeichenfläche; Funktionsgraphen, Überlagerungen, Range, Trace, Zoom, Plot, Line und getrennte Text-/Grafikanzeige.
- Zehn Programmspeicher P0–P9; Eingaben mit ?, Zuweisung →, Ausgabepause ◢, Lbl/Goto, Bedingungen ⇒, Isz/Dsz und Unterprogramme.
- Gewichtete Statistik, Standardabweichungen, Summen, lineare Regression und Schätzwerte. Der Arbeitsbereich ergänzt logarithmische, exponentielle und Potenzregression sowie Statistikdiagramme.
- Automatische Speicherung im Browser und JSON-Sicherung/Wiederherstellung.

## Schneller Einstieg

`2+3*4` und EXE ergibt 14. `sin30` ergibt im DEG-Modus 0,5. `123→A` speichert einen Wert; A ist ALPHA + x⁻¹. Ans bleibt bei einer Speicherzuweisung unverändert.

Graphen: Im rechten Arbeitsbereich `sin(X)` eintragen und Zeichnen wählen. Die Schnellwahltaste „sin X“ setzt auch einen passenden Zeichenbereich. Am Rechner: GRAPH, sin, ALPHA + (X), EXE. SHIFT GRAPH startet Trace.

Programme: Rechts „Programme“ auswählen, P0–P9 wählen und Code speichern oder ausführen. Beispiel:

```text
"RADIUS"?→A
π*A^2◢
```

Beim Start den Radius am Rechner eingeben und EXE drücken. EXE setzt eine Ausgabepause fort. AC oder Stop beendet das Programm.

In SD/LR erfasst DT (Wurzeltaste) Daten, CL (Potenztaste) entfernt sie. Eingabe `x,y;Anzahl`. Mit `Scl` und EXE wird die Statistik gelöscht. Alle weiteren Bedienhinweise stehen im Reiter „Anleitung“.

## Genauigkeit und Grenzen

Dies ist eine eigenständige Funktionsnachbildung, **keine ROM- oder Hardware-Emulation und keine garantierte vollständige Firmware-Kompatibilität**. Es wird kein Casio-Programmcode verwendet.

- JavaScript-Gleitkomma statt originaler Dezimalarithmetik: letzte Stellen, Rundung, Fehlergrenzen und trigonometrische Extremwerte können abweichen.
- Die 422 Programmschritte werden anhand lesbarer Tokens angenähert gezählt; Defm benötigt acht Schritte pro Zusatzregister. Binärdateien des Originals können nicht importiert werden.
- SD1/SD2 und LR1/LR2 verwenden dieselbe Datenbasis; historische Unterschiede der automatischen grafischen Dateneingabe sind durch den Statistik-Arbeitsbereich ersetzt.
- ENG normalisiert die technische Schreibweise; wiederholtes Verschieben der Mantisse wie am Gerät ist nicht nachgebildet. Text-Editor, Replay und Menüführung sind dem Browser angepasst.
- Bis zu acht gleichzeitig gespeicherte Kurven, 1.000 Datenzeilen, 1.000 Punkte/Linien und 100.000 ausgeführte Programmanweisungen. Negative oder umgekehrte Zeichenachsen werden nicht unterstützt. Die Zeichnung erfolgt mit eigener Abtastung und kann vom Original abweichen.
- Numerische Ganzzahlen werden intern auf 32 Bit begrenzt; Binäranzeige und Binärliterale auf 16 Bit. Wissenschaftliche Funktionen sind in Base-n gesperrt.
- Browserdaten gelten je Browser und Website-Adresse. Ein Browser-Reset löscht sie. Für dauerhafte Programme „Speicher sichern“ verwenden.

## Dateien und Prüfung

`index.html`, `style.css`, `app.js`, `math.js`, `core.js`, `display.js` und `icon.svg` bilden die Anwendung. README und LICENSE können mit veröffentlicht werden. `tests/` ist nur für die Entwicklung erforderlich.

Tests mit Node.js: `node --test tests/core.test.cjs`. Ergebnisse und Browserprüfung: [TEST-REPORT.md](TEST-REPORT.md).

## Quellen und Rechte

Bedienung und technische Referenz: [Original Owner's Manual, Internet Archive](https://archive.org/details/casio-fx-7000-g-owners-manual), insbesondere Tastenfunktionen, Rechenpriorität, Grafik, Statistik und Programmierung. Designvergleich: [Gerätefoto im Calculator Museum](https://calculator-museum.nl/calculators/pictures/casio-fx7000g.jpg). Die Referenzdateien werden nicht mitgeliefert; Gehäuse und Anzeige sind vollständig mit CSS und Canvas gezeichnet.

CASIO und fx-7000G gehören ihren jeweiligen Rechteinhabern. Dieses private Nachbauprojekt ist nicht von Casio herausgegeben oder autorisiert. Die MIT-Lizenz gilt für den eigenständig geschriebenen Programmcode, nicht für Markenrechte oder die Gestaltung des Originalgeräts.
Graph-Korrektur: Interaktive Graph-Eingaben (Gerätetasten und Arbeitsbereich) ersetzen standardmäßig die alte Kurve und passen den Bereich an. „Kurven überlagern“ und „Zeichenbereich automatisch“ steuern dies. Für eigene RANGE-Werte die Automatik ausschalten. Grafikbefehle innerhalb von Programmen behalten ihre Überlagerungs- und Bereichslogik. Auch die Eingabe Y=X² im Formelfeld wird akzeptiert.

