headerimage
ROWE Technik-Blog

Programmieren auf Andriod-Smartphones und -Tablets

25.05.2014

Wie bereits im Teaser erläutert, geht es nicht um das Programmieren von Android-Apps, sondern um Ersatzlösungen für einen weitverbreiteten, programmierbaren Taschenrechner in den 80ziger Jahren. Wenn Sie in dieser Zeit studiert oder eine anderweitige Aus- oder Weiterbildung absolviert haben, dann erinnern Sie sich vermutlich - insbesondere bei technischen Studiengängen - noch gut an die damals programmierbaren Taschenrechner der Hersteller Sharp, Hewlett Packard, Casio, Texas Instruments etc.

In den für Computer „wilden 80zigern“ hatten diese kleinen IT-Lösungen an den Hoch- und Fachhochschulen den Höhepunkt ihrer Verbreitung erreicht. Es wurde eine große Auswahl an konkurrierenden Modellen angeboten, die um die zahlreichen Käufer unter den Schülern und Studenten bullten. Während meines Studiums gaben einige Professoren sogar bestimmte Taschenrechner-Modelle vor, auf denen sie ihre Vorlesungen aufbauten. Wohl dem, der sich die relativ teuren Taschenrechner leisten konnte. Die Preisspanne betrug umgerechnet ca. 100,- bis 350,- EUR. In den 80zigern stand dieser Summe noch eine merklich höhere Kaufkraft als heute gegenüber und die Anschaffung war für „unterfinanzierte“ Studenten schon eine Herausforderung.

Nun ist es sicherlich diskussionswürdig, ob sich jeder Student zu einem Amateurprogrammierer entwickeln sollte. Denn ein gewisses Maß an Programmierkenntnissen war zwingend erforderlich, um das Potential dieser Geräte zumindest halbwegs nutzen zu können. Die programmierbaren Taschenrechner verstanden typischerweise die relativ einfach zu erlernende Programmiersprache Basic, nur Hewlett Packard und einige Geräte von Texas Instruments machten hier eine Ausnahme. Manch kühner Freizeitprogrammierer hatte sich auch an die Maschinensprache der Geräte gewagt, um die Verarbeitungsgeschwindigkeit seiner Programme zu steigern. Denn diese Taschenrechner waren verglichen mit heute üblichen Rechenleistungen sehr langsam. Auf der anderen Seite boten diese kleinen Systeme den unschlagbaren Vorteil, dass sie durch Batteriebetrieb netzunabhängig eingesetzt und wegen ihrer kleinen Bauform auch in jeder Jackentasche mitgeführt werden konnten.

Pocket Computer Sharp PC-1401 und PC-1403

Eine besondere Stellung hatte die SHARP-Geräteserie PC-14xx eingenommen, die eine duale ("hybride") Lösung aus programmierbaren und wissenschaftlichen Taschenrechner war. Die Kombination hatte sich bei schneller und effizienter Eingabe von Berechnungen, z. B.  während einer Klausur, klare Vorteile und bündelte die Eigenschaften beider Systeme in einem kompakten Gerät.

Pocket Computer Sharp PC-1403

Der Sharp PC-1403 war der Nachfolger des PC-1401 und PC-1402. Auf dem 1986 in Japan hergestellten Taschencomputer ließen sich ebenfalls BASIC-Programme mit seinem erweiterten Befehlsumfang schreiben, die im 8 KB großen statischen RAM gespeichert wurden. Der PC-1403 war hinsichtlich seines Displays und seiner verglichen mit heutigen Smartphones und Tablet-PC’s bescheidenen Prozessorleistung sehr spartanisch ausgestattet. Die erfolgreichen Modelle PC-1401 und PC-1402 besaßen nur ein einzeiliges LCD-Display mit 16 Zeichen und schwarz/weiß-Anzeige. Der PC-1403 hatte eine erweitertes Display mit 24 Zeichen und war damit kaum besser. Der 8 Bit Prozessor in CMOS Technologie besaß eine Taktfrequenz von 576 kHz (Quelle: Wikipedia). Zum Vergleich: Der Homecomputer Commodore C64 hatte eine Taktfrequenz von 985 kHz (rund 1 MHz). Der Arbeitsspeicher des PC-1403 betrug 8 kByte, das fast baugleiche Modell PC-1403H besaß 32 KB RAM. Der frei verfügbare Speicher fiel noch geringer aus, da das Betriebssystem sich davon noch Platz für Systemvariablen in Höhe von 1,1 kByte abzweigte. Eine Erweiterungsmöglichkeit des Arbeitsspeichers war nicht vorgesehen. Zahlen konnte der PC-1403 nur im Fließkomma-Format abbilden. Eine Zahl wurde in der wissenschaftlichen Schreibweise als Produkt einer Zehnerpotenz geschrieben: X · 10Y. Seine Rechengenauigkeit lag bei 10 Stellen für die Matisse (X) und 2 Stellen für den Exponent (Y). Auf der linken Seite des Gerätes befand sich eine 11-polige Schnittstelle, über die verschiedene Peripheriegeräte angeschlossen werden konnten. Dazu zählten das Kassetteninterface CE-124, die Thermodrucker mit integriertem Kassetteninterface CE-126P bzw. CE-129P und das Pocket-Floppy-Drive CE-140F.

Als nicht im Handbuch dokumentiertes Extra konnte man den Rechner auch in Maschinensprache programmieren, so dass man u. a. direkten Zugriff auf das externe Interface erlangen kann. Damit war es möglich, den Taschenrechner auch für mess- und regeltechnische Anwendungen zu verwenden oder ihn an andere Rechner/Geräte zu koppeln (z. B. via serieller Schnittstelle RS-232).

Ab dem SHARP PC-1403 wurde ein MERGE-Befehl integriert, der das Nachladen einzelner Programme vom Cassetten-Recorder mittels Interface zuließ. Die Datensicherung mittels Cassetten-Recorder erforderte nochmals ein zusätzliches Interface, das meist – so auch von mir – mit einem integrierten Thermodrucker gekauft wurde. Ein zusätzliches Batteriefach für 4 Batterien des Typs AA (Mignon) versorgte auch den Taschenrechner und schonte seine beiden Knopfzellen, Typ CR 2032. Die Knopfzellen versorgten den Rechner über das ganze Semester und wurden nur zur Klausurenzeit vorsorglich getauscht, denn eine Zustandsanzeige existierte nicht, wenn ein dunkler werdendes Display mal ausgenommen wird. Ein Batteriebetrieb wäre bei den heute verfügbaren mobilen Smartphones oder Tablet-PC’s undenkbar, je nach Nutzung müssen ihre Akkus oft täglich nachgeladen werden.

Infopool für SHARP Computer

In den 80zigern waren es keineswegs so einfach und kostengünstig Informationen für programmierbare Taschenrechner (sog. Pocket Computer) zu bekommen. Das Internet war zu diesem Zeitpunkt noch in weiter Ferne. Abgesehen von dem Benutzerhandbuch des jeweiligen Taschenrechners hat der Hersteller Sharp (wie viele andere Hersteller auch) keinerlei Software und Literatur zu den Geräten anboten, obwohl hohe Stückzahlen verkauft wurden. Diese Marktlücke haben mehrere Zeitschriftenverlage geschlossen. Eine erfolgreiche Zeitschrift wurde vom Sharp-User-Club herausgegeben. Sie hieß „Alles für SHARP Computer“ und wurde von der Fischel GmbH (Hamburg) vertrieben. Ein faszinierendes Stück Zeitgeschichte, denn die Zeitschrift bestand aus einer schlichten Collage von Bildern und Artikeln, die unterschiedlichste Formate, Zeichensätze etc. aufwiesen. Während heute mit Scribus sogar kostenlose Publishing-Programme zur Verfügung stehen, musste damals noch improvisiert werden. Zwar gab es bereits erste verfügbare Software und Hardware für Grafikbearbeitung, doch die war sündhaft teuer. Für die ca. 50 Seiten waren die Fans gern bereit, 6,- DM pro Ausgabe zu zahlen. Ab Mitte der 90ziger hatte Sharp keine neuen Geräte mehr angeboten, 1997 wurde auch die Fachzeitschrift eingestellt. Weitere Info zu Sharp Computern sind auf der englischen Internetseite www.sharpmz.org verfügbar.


Titelbild der ersten Ausgabe „Alles für SHARP Computer“

Ein jähes Ende nahm die Ära der programmierbaren Taschenrechner, als Ende der 80ziger die kompatiblen IBM-PCs ihren Siegeszug begannen und sukzessive die herstellerspezifischen Rechnerlösungen verdrängten. Fortan wurden mathematische Aufgaben immer häufiger mit leistungsfähigen Tabellenkalkulationsprogrammen oder Speziallösungen, wie MathCAD oder EUREKA, berechnet. Bis auf sehr wenige Ausnahmen werden Neugeräte dieser Gerätekategorie heute nicht mehr angeboten, lediglich diverse betagte Gebrauchtgeräte sind noch zu haben.

Trotz der Beschränkungen waren die Geräte für viele Aufgabenstellungen gut geeignet, was sie sehr erfolgreich werden ließ. Die Lösungen konzentrierten sich auf das Wesentliche, nämlich der Programmierung der Rechenalgorithmen. Die Miniprogramme wurden meist nach der EVA-Methode (Eingabe, Verarbeitung, Ausgabe) erstellt, Wobei die Eingabe und Ausgabe mit den Basisbefehlen INPUT und PRINT erfolgten. Der erweiterte Befehlsatz der PC-14xx-Serie hatte zusätzliche mathematische und statistische Funktionen. Zur schnellen Befehlseingabe beim Programmieren konnten oft genutzte Befehle mit einem Tastendruck aufgerufenen werden. Um Speicherplatz zu sparen, wurden die Befehle und Funktionen grundsätzlich nicht als Wort bestehend aus einzelnen Buchstaben, sondern als sogenannte Token gespeichert. Das heißt, es wurde lediglich ein Byte Speicherplatz je Befehl oder Funktion benötigt, nur auf der Anzeige wurde das Wort im Klartext ausgegeben. Durch diese Art der Kodierung konnte der Code vom Basic-Interpreter auch schneller verarbeitet werden, denn der Code wurde prinzipbedingt mit jedem Programmlauf erneut in Maschinensprache übersetzt. Um einen Eindruck von der Programmierung zu bekommen, habe ich hier ein Listing zur Einsicht hinterlegt.

Ersatzlösung 1: Emulator-App “goPC1401”

Eine interessante Andriod-App ist der Emulator für den Sharp PC-1401. Die App unterstützt keinen Anschluss des damals oft genutzten Casettenrecorders zur Datensicherung oder des Endlosdruckers für den Listingdruck bzw. Datenausgabe. Auch wird der Beeper (Sound hört sich einfach zu "hochtrabend" an) nicht emuliert. Allerdings wird der Gerätestatus automatisch gesichert und geladen. Und die Cassettenrecorder-Befehle werden indirekt unterstützt, indem Speicherabbilder (*.tap Dateien) auf eine vorhandene SD-Karte exportiert sowie importiert werden können. Zum Start werden einige Beispielprogramme mitinstalliert.


Tastaturlayout der App “goPC1401”

Der Autor empfiehlt eine Auflösung von 1280 x 800 Pixel für ein 5 Zoll Display, als Mindestauflösung rät er zu 800 x 480 Pixel. Gute Ergebnisse werden nach eigener Erfahrung auf einem 7 Zoll Display mit 1280 x 800 Pixel erreicht, auf einem 5 Zoll Display sind die Tasten doch arg klein.

Fazit: Eine interessante Lösung, für die weder Kosten noch lange Einarbeitungszeit entstehen, sofern Ihnen das Ursprungsgerät bekannt ist. Nach ersten Praxistests verhält sich die App dem Original recht ähnlich. Natürlich weißt die App auch die Unzulänglichkeiten des Originals auf, wie z. B. das winzige Display oder die relativ langsame Verarbeitungsgeschwindigkeit. Hier nutzt die App nicht das Potential moderner Android-Systeme zugunsten maximaler Kompatibilität. In jedem Fall ist es die App wert, genauer betrachtet zu werden. Vielleicht ist diese Ersatzlösung bereits für Sie die Richtige.

Ersatzlösung 2: X11-Basic für Andriod

Eine seit vielen Jahren erhältliche Variante der Programmiersprache Basic ist das X11-Basic, das der GNU General Public License unterliegt und damit privat und gewerblich kostenfrei kopiert und in weiten Grenzen genutzt werden darf. Für besondere Nutzungsfälle sollten Sie sicherheitshalber die Lizenzbedingungen einsehen.

Grafische Ausgabe eines mitgelieferten Beispielprogramms

X11-Basic wird i. d. R. mit Interpreter und Compiler ausgeliefert, jedoch ohne eigenen Editor. Der Basic-Dialekt bietet umfangreiche Grafikfunktionen und erlaubt eine strukturierte Programmierung, so kann auf den bei Basic gefürchteten „Spagetti-Code“ mit vielen, unübersichtlichen GOTO-Sprungbefehlen verzichtet werden. Programmierer der 80ziger werden es sicherlich zu schätzen wissen, dass die Syntax weitestgehend identisch mit dem damals sehr verbreiteten GFA-Basic für den ATARI-ST ist, so können viele bestehende Programme leicht angepasst werden.

Neben einer Version für Windows und Linux wurde vor einiger Zeit vom Autor Markus Hoffmann auch eine Version für Android ab Version 2.2 bereitgestellt. Diese Version ermöglicht den Betrieb von X11-Programmen auch auf einem Smartphone oder einem Tablet-PC. Der Quellcode ist auf den unterschiedlichen Betriebsystem-Plattformen weitestgehend kompatibel, dadurch ist beispielsweise eine komfortable Entwicklung der Programme auf dem PC möglich, während die Programmnutzung auf dem Smartphone stattfindet.

Während sich vermutlich viele junge User von einem kryptischen Programmcode abschrecken lassen, insbesondere wenn für viele Aufgaben alternativ eine Tabellenkalkulation eingesetzt werden könnte, werden Gelegenheitsprogrammierer der alten Schule diese Möglichkeit als „echte“ Bereicherung empfinden. Hält der Programmierer sich an das simple EVA-Programmierprinzip (EINGABE - VERARBEITUNG - AUSGABE) der alten Pocket Computer, kann eine schnelle Lösung vieler kleiner Programmieraufgaben auch auf Android-Systemen stattfinden.

Um schnell einmal eine kleine Berechnung durchzuführen, müssen Sie kein Programm schreiben. Ähnlich dem PC-140x können Eingaben im Direktmodus erfolgen, es genügt die Eingabe des Befehls PRINT mit den anschließenden Rechenoperationen (Direktmodus).

Beispiele:

PRINT 30.4-19.75
PRINT 12+5*4
PRINT 120/48
PRINT 2^3
PRINT SIN(2)

Wird nur der PRINT-Befehl verwendet, sollten die Rechenoperationen mit Zahlenwerten stattfinden. Variablen sind nicht bzw. nur sehr umständlich zu nutzen. Die Buchstaben können auch als Kleinbuchstaben angegeben werden.

Weitere Hinweise

  • Die Bildschirmanzeige kann mit dem Befehl CLS gelöscht werden
  • Die Grundrechenarten können auch ohne PRINT-Befehl eingegeben werden
  • Potenzrechnung vor Punktrechnung vor Strichrechnung
  • Kommazahlen mit Dezimalpunkt eingeben
  • Ziffer 0 und Buchstabe O nicht verwechseln
 

Kommentare: 0

Keine Kommentare vorhanden!

Neuen Kommentar verfassen:

Bitte füllen Sie mit * markierte Felder korrekt aus. JavaScript und Cookies müssen aktiviert sein.
Name: (Pflichtfeld)*
email: (Pflichtfeld, wird nicht veröffentlicht)*
Homepage:
Bild hochladen:
jpg - jpeg - gif - png   (max. 10 MByte)
Ihr Kommentar: *
(Das Bild wird erst beim speichern links oben eingefügt)
 
Bitte tragen Sie den Spamschutz Code ein:*
Captcha
Powered by CMSimpleBlog