Sharp PC-1401
Der Sharp PC-1401 war der erste von Sharp angebotene Pocket-Computer mit integriertem wissenschaftlichen Taschenrechner. Das Modell ist 1983 erschienen.
Betriebsarten
[Bearbeiten | Quelltext bearbeiten]Neben dem schon bei früheren Pocketcomputern vorhandenen Programmiermodus und Run-Modus ist beim PC-1401 zusätzlich ein Calculator-Modus verfügbar, in dem sich der Rechner wie ein Taschenrechner verhält. Weiterhin ist ein Statistikmodus verfügbar, der u. a. lineare Regression unterstützt.
Bei früheren Modellen konnten Berechnungen nur über BASIC-Befehlszeilen durchgeführt werden. Bedingt durch die Taschenrechnertastatur wurde die Breite der LC-Anzeige auf 16 Zeichen begrenzt. Das Nachfolgemodell PC-1403 hatte bei gleichem Layout ein 24-stelliges Display.
Typvarianten
[Bearbeiten | Quelltext bearbeiten]- PC-1401
- Der PC-1401 verfügt über 4,125 KByte statisches RAM, von denen 3,5 KByte für Programme und Variablen nutzbar sind. Variablen A bis Z standen davon unabhängig zur Verfügung, sie waren statisch angelegt.
- Der Speicher wurde durch zwei CMOS-RAM-Bausteine zu 16 KBit (2 KByte) realisiert. Durch Ersatz eines dieser Bausteine durch einen 8-KByte-RAM-Baustein (SMD) konnte die Speicherkapazität auf 10,125 KByte erhöht werden. Damit entsprach das Gerät dem PC-1402.
- Zusätzlich standen auf dem Displaycontroller 1 KBit (128 Byte) Speicher zur Verfügung. Davon wurden 82 Byte für die Anzeige verwendet, der Rest konnte frei benutzt werden. Allerdings benutzte der BASIC-Interpreter diese 82 Byte als temporären Speicher, was eine Anzeige während der Abarbeitung von BASIC-Programmen unmöglich machte.
- PC-1402
- Der ansonsten bau- und funktionsgleiche PC-1402 verfügt über 10,125 KByte Speicherkapazität.
- PC-1403
- Der Sharp PC-1403 verfügt über 8 KByte RAM sowie über ein 24-stelliges Display gegenüber den 16 Stellen des PC-1401 und PC-1402. In Texten sind zudem zusätzlich Kleinbuchstaben möglich.
- PC-1403H
- Der Sharp PC-1403H ist das Topmodell der 140x-Reihe. Er verfügt gegenüber dem PC-1403 über 32 KByte RAM.
- PC-1421
- Der PC-1421 ist eine Version des PC-1401 für finanzmathematische Berechnungen. Er unterscheidet sich vom PC-1401 technisch nur durch seinen abweichenden ROM-Inhalt.
- PC-1430
- Der PC-1430 ist eine vereinfachte und preiswertere Ausführung des PC-1401. Die Anzeige und – abgesehen von der geringeren Tastenanzahl – das Gehäuse sind gleich, aber es gibt keinen Taschenrechnermodus (gerechnet wird im BASIC-Direktmodus), der Funktionsumfang ist geringer und der Speicher mit 2 kB kleiner.
- PC-1450
- Diese Ausführung bietet die Verwendung auswechselbarer RAM-Karten: CE-211M (3.070 Byte = 4 kB / Standard), CE-201M (7.166 Byte = 8 kByte) oder CE-202M (15.358 Byte = 16 kByte).
- PC-1475
- Variante mit zweizeiligem Display zu je 24 Zeichen sowie zwei Steckplätzen für Karten, jeweils bis zu 32 KByte RAM.
Schnittstelle
[Bearbeiten | Quelltext bearbeiten]Über eine Schnittstelle können Peripheriegeräte angeschlossen werden, darunter Thermodrucker (z. B. CE-126P), Plotter oder ein Interface zum Anschluss eines Datenrekorders (im Grunde ein gewöhnlicher Kassettenrekorder). Auch die direkte Verbindung zwischen zwei Pocketcomputern zur Datenübertragung ist möglich.
Steckerbelegung
[Bearbeiten | Quelltext bearbeiten]Die Tabellenspalte Richtung gibt die Richtung des Signals an. Alle Angaben sind ohne Gewähr:
Pin │ Richtung │ Belegung ┌─────────────────────── ────┼──────────┼───────────── │ SHARP POCKET COM... 1 │ ?? │ ?? 1 ──│ on ┌───────────────── 2 │ --- │ Vcc (+6V) 2 ──│ ┌─┐ │ 3 │ --- │ Ground (0V) GND 3 ──│ │▀│ │ > CSAVE█ 4 │ out │ Busy 4 ──│ └─┘ │ _ _ 5 │ out │ Data out 5 ──│ off └───────────────── 6 │ in │ CLOAD --> 6 ──│ ┌───┐ ┌───┐ ┌─── 7 │ out │ CSAVE <-- 7 ──│ └───┘ └───┘ └── 8 │ in │ Data in 8 ──│ ┌───┐ ┌───┐ ┌─ 9 │ in │ Ack 9 ──│ └───┘ └───┘ 10 │ --- │ n.c. 10 ──│ ┌───┐ ┌── 11 │ --- │ n.c. 11 ──│ └───┘ │ ┌───
BASIC
[Bearbeiten | Quelltext bearbeiten]Das BASIC wies etliche Unterschiede zu den üblichen BASIC-Dialekten auf:
- Es gab nur 13-stellige Gleitkommazahlen (8 Byte, BCD), keine Ganzzahlen.
- zwei Zahlen waren gleich, wenn sie sich in den ersten 10 Stellen nicht unterschieden, Differenzen ohne Unterschiede in den ersten 10 Stellen kollabierten zur Zahl Null: 3.1415 92653 589 − 3.1415 92653 500 = 0
- Variablen mit einem Buchstaben waren fest angelegt und konnten nur entweder Gleitkommazahlen oder Stringwerte bis 7 Zeichen aufnehmen. A und A$ konnten nicht gleichzeitig benutzt werden.
- RUN löschte die Variablen mit einem Buchstaben nicht.
- GOTO und GOSUB ging auch mit Labels und berechneten Ausdrücken statt Zeilennummern (GOTO "A").
- Es gab bei den vom PC-1401 abgeleiteten Modellen keine Kleinbuchstaben, jedoch beim PC-1403 und -1450
- Array mussten(!) explizit erzeugt werden (DIM AR(100)). Es waren max. zweidimensionale Arrays möglich.
- Strings wurden statisch angelegt. Man musste beim Anlegen die Länge festlegen.
- Variablennamen durften nur 1 oder 2 Zeichen lang sein.
- Programmzeilen durften bis zu 79 Token lang sein. Schlüsselwörter (Token) wurden beim ersten Editieren zusammengefasst und ließen sich dann nicht mehr buchstabenweise, sondern nur noch als ganzes Token (z. B.
FOR
mit intrinsischem Leerzeichen) editieren. Überflüssige Leerzeichen wurden entfernt. - Sehr umfangreiche Mathematikbefehle (bis hin zu Hyperbelfunktionen): sin, sinh, cos, cosh, tan, tanh, asin, acos, atan, asinh, acosh, atanh, ln, log, exp, ten, ...
Programmbeispiel
[Bearbeiten | Quelltext bearbeiten]Das nachfolgende Programm wird durch RUN 200
oder DEF K gestartet. Nach Eingabe eines Datums in der Form TTMMJJJJ (also z. B. 19082019) wird der Wochentag sowie die absolute Differenz in Tagen zu einem vorher eingegebenen Datum bestimmt.
200:"K" DATA "SONN","MON","DIENS","MITT","DONNERS","FREI","SAMS":Q=S
230:INPUT "DATUM?";D:T= INT (D/1E6):M= INT (D/1E4)-T*100:J=D-T*1E6-M*1E4
250:Z=0:IF M<3 LET V=(M-1)*31:GOTO 305
260:IF J/4<> INT (J/4) THEN 300
270:IF J/100<> INT (J/100) THEN 290
280:IF J/400<> INT (J/400) THEN 300
290:Z=1
300:V= INT ((306*M-324)/10)
305:J=J-1:Z=Z+J*365+ INT (J/4)- INT (J/100)+ INT (J/400)
310:S=Z+V+T:R=S- INT (S/7)*7+1:X$="TAG":IF R=4 LET X$="WOCH"
320:RESTORE :FOR I=1 TO R:READ W$:NEXT I:PRINT W$+X$:PRINT ABS (Q-S):END
Maschinensprache
[Bearbeiten | Quelltext bearbeiten]Als nicht im Handbuch dokumentiertes Extra kann man die Rechner auch in Maschinensprache programmieren (mittels PEEK, POKE und CALL sowie unter Nutzung von Routinen des Betriebssystems), so dass man u. a. direkten Zugriff auf das externe Interface erlangen kann. Damit ist es möglich, den Taschenrechner auch für mess- und regeltechnische Anwendungen zu verwenden oder ihn an andere Rechner bzw. Geräte zu koppeln (z. B. via RS-232). Einzelne Pixel der Anzeige lassen sich über Maschinensprache ansteuern, so dass z. B. einfache grafische Spiele möglich sind. Mitte bis Ende der 1980er Jahre ist umfangreiche Literatur zu diesem Themenbereich erschienen.
Kurzeinführung zum Aufbau der CPU:
Der Prozessor des PC-1401 ist ein 8-bit-Prozessor mit einer Taktfrequenz von 576 kHz. Befehle dauern immer ein Vielfaches von 3 Takten, so dass man von einer Zyklusfrequenz von 192 kHz sprechen kann. Befehle dauern minimal 2 Zyklen (6 Takte), es gibt recht komplexe Befehle, die bis zu 769 Byte lang sein können.
Der Prozessor hat zwei Adressräume:
- 7-bit-Adressen für Daten, Stack und I/O (96 Byte genutzt)
- 16-bit-Adressen für Programme und Daten (8 KByte davon befinden sich in einem internen ROM, 56 KByte können durch externen Speicher erweitert werden).
Der Prozessor hat zwei 8-bit-Akkumulatoren (A und B), zwei Zählregister (I und J), drei Adressregister für den 8-bit-Adressbereich (P, Q und den Stackpointer R) sowie 3 Adressregister für 16-bit-Adressen (X, Y, DP). Die Register A, B, I, J, X und Y findet man im internen 7-bit-Speicher noch einmal gemappt. Es gibt einige Kurzbefehle (Lade P mit 6-bit-Wert und CALL zu 13-bit-Adresse). Besonderheiten sind BCD-Befehle, die mit einem Maschinenbefehl längere BCD-Zahlen addieren, subtrahieren oder um 4 bit verschieben. Weiterhin ein Multi-Branchbefehl, der in Abhängigkeit vom Wert im Register A die Auswahl einer Unterfunktion mit einem Maschinenbefehl ermöglichte. Normalerweise benötigt man dafür größere Mengen an Maschinenbefehlen.
Im PC-1401 ist der Prozessor durch 2 × 2 KByte statischen RAM, eine LC-Anzeige mit 128 Byte RAM und 32 KByte externen ROM (von dem allerdings nur ~ 25 KByte genutzt werden) erweitert. In den Nachfolgern sind größere RAM-Bausteine eingebaut.
Technische Daten
[Bearbeiten | Quelltext bearbeiten]CPU | Sharp SC61860 mit 576 kHz Taktfrequenz, 8-bit-CMOS, umfangreiche BCD-Arithmetik-Befehle |
---|---|
RAM | 2048+2048+128 Byte (PC-1401) bzw. 8192+2048+128 Byte (PC-1402) sRAM, batteriegestützt |
ROM | 40 KByte (8 KByte intern, 32 KByte extern) |
Programmiersprache | BASIC, Maschinensprache |
Display | Monochrom-LCD, einzeilig, 16 Zeichen mit jeweils 5 × 7 Pixeln, Kontrastregler |
Ton | Piezo-Piepser, direkte Ansteuerung durch die CPU |
Tastaturbelegung | QWERTY (links) und Taschenrechnertastatur (rechts) |
Stromversorgung | nominal 6 V (zwei Lithium-Knopfzellen, Typ CR-2032 mit je 3 Volt) |
Leistungsbedarf | etwa 30 mW bei RAM-Zugriffen, 60 µW im normalen Betrieb |
Betriebszeit je Batteriesatz | etwa 120 Stunden bei Dauerbetrieb |
Abmessungen | 170 mm × 72 mm × 9,5 mm |
Masse | 150 g (inklusive Batterien und Abdeckung) |
Emulatoren
[Bearbeiten | Quelltext bearbeiten]Mit dem SHARP PC-1450 Emulator kann der Taschenrechner auf Windows-Systemen emuliert werden.
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Beschreibung des PC-1401 im „Datamath Calculator Museum“
- Handbuch für PC-1401 und PC-1402
- Prozessor Instruction Set
- SHARP PC-1450 Emulator
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Anzeige von Vobis. In: Happy Computer. Oktober 1986, abgerufen am 19. August 2019.
- ↑ Diese Zahl wurde mit der Vorlage:Inflation ermittelt, ist auf volle 10 EUR gerundet und bezieht sich auf Januar 2024.