Die hier verwendete Notation ist in einem gesonderten Beitrag zusammengestellt.
Inhalt:
Die hier in dieser Dokumentation angebotenen HP-Programme sind in der Codierung geschrieben, die der HP 49G direkt verarbeiten kann (HP49-Zeichensatz siehe [rightshift][CHARS]). Diese HP-Programme kann man vom PC ungeändert über das Connectivity-Kit zum HP 49G übertragen. Die Programme sind auf dem Taschenrechner sofort (im RPN-Modus) lauffähig.
Solche Programme entstehen auch durch direktes Eintippen über die Tastatur des HP 49G.
Darstellung des HP-Zeichensatzes auf dem PC-Bildschirm
Im HP49-Zeichensatz wurden für die Spezialfunktionen einige Zeichen des regulären ASCII-Zeichensatzes anders belegt. Es betrifft die ASCII-Codierungen 128 bis 160 (siehe auch nächsten Abschnitt). Der Rest bis Codierung 255 stimmt überwiegend wieder mit der ASCII-Belegung überein.
Leider stellt der PC einige Zeichen anders dar als der HP 49G. Funktionsbezeichnungen mit Pfeilen oder mathematischen Sonderzeichen im Programmtext stellt der PC mit dem üblichen ASCII-Zeichensatz dar. Das Programm enthält dann auf dem PC-Bildschirm sogenannte Schmierzeichen, wenn die verwendeten Codierungen auf PC und Taschenrechner unterschiedlich belegt sind.
Das ist nur ein Schönheitsfehler, der sich auf die Lauffähigkeit der HP-Programme nicht auswirkt. Mit dem Ausdrucken der Programmtexte klappt's halt dann nicht so gut.
Editieren von HP-Programmen auf dem PC.
Mit TrueType-Zeichensatz
Es wäre aber trotzdem sehr praktisch, wenn man die HP-Programme auf dem PC über einen normalen Texteditor ändern und dann auf den HP 49G übertragen könnte. Dazu bräuchte man aber einen Zeichensatz (TrueType Font = TTF), der die HP-Zeichen auch auf dem PC richtig darstellt. Dann könnten die geänderten HP-Programme ohne Zeichenumwandlung zwischen PC und Taschenrechner ausgetauscht werden.
Für den HP48 hatte man diese Notwendigkeit erkannt und stellte mit der Software TRANSFILE WIN48 einen TrueType-Font (Datei HP48.TTF) zur Verfügung. Diese Software und der Font funktionieren auch für den HP 49G mit einer Ausnahme: Der HP 49G-Font enthält das Euro-Zeichen, das es bei HP48.TTF noch nicht gibt.
Ohne besonderen Zeichensatz
Die Editierung funktioniert unter den nachfolgend beschriebenen Voraussetzungen auch ohne TrueType-Zeichensatz über einen ganz normalen DOS-Texteditor.
Der HP 49G enthält eine eingebaute Umwandlungsfunktion, die beim Datenaustausch zwischen dem PC und dem Taschenrechner eine Umwandlung des HP-Zeichensatzes in einen lesbaren ASCII-Zeichensatz vornimmt. Wenn die Parameter der Übertragung passend eingestellt sind, erhält man automatisch auf dem PC-Bildschirm "lesbare" Programme und kann diese Zeichen auch ganz normal eingeben, editieren und ausdrucken.
HP hat Ersatzzeichen für die Darstellung im Texteditor festgelegt, die aus jeweils dem Backslash "\" und 2 weiteren Zeichen bestehen.
Die Übersetzung funktioniert bei der Übertragung in beiden Richtungen auomatisch:
vom HP 49 G zum PC HP49-Zeichen werden in ASCII-Ersatzzeichen umgewandelt vom PC zum HP 49 G ASCII-Ersatzzeichen werden HP49-Zeichen umgewandelt Die Datei auf dem PC ist dann in ASCII-(Ersatz-)Zeichen codiert (und ist deshalb etwas größer), die Datei auf dem HP 49G ist im HP49-Zeichensatz codiert.
Die nachfolgende Tabelle (dem HP48-Handbuch Seite 27-19 entnommen) zeigt die Zuordnung der einzelnen HP49-Zeichen bzw. Ersatzzeichen zum ASCII-Code (= auch HP49-Code)
(diese Tabelle muß als Grafik dargestellt werden, weil auch der Browser die HP-Zeichen nicht darstellen kann):
Die Zuordnung des Euro-Zeichens erfolgt durch \160, wie dies in der letzten Zeile der Tabelle für alle übrigen ASCII-Zeichen angegeben ist, wo hinter dem Backslash "\" nur der ASCII-Code angegeben werden muß.
Einstellungen für die Datenübertragung
Die Datenübertragung muß auf dem Connectivity Kit und auf dem HP 49G richtig eingestellt werden:
| Auf
dem PC: Menü Calculator - Comm. Settings
Siehe Online-Hilfe Connectivity Kit, unter "Using the Connectivity Kit", dort siehe "Developing calculator programms on the PC" und "About translation types". Der dort angesprochene Fehler daß
die Übersetzung nur in einer Richtung (vom PC zum HP 49G)
funktioniert, ist ab der HP Flash-ROM Version 1.16
bereinigt. |
Auf
dem HP 49G: Tastenfolge [APPS]
[2] [OK] [5] [OK]
|
Wenn man die vom Internet heruntergeladenen HP-Programme editieren will, sollte man die Methode der automatischen Übersetzung in Ersatzzeichen (Mode 3) verwenden (siehe nächsten Abschnitt).
Programmheader
Jede HP-Programmdatei, die im Quellcode vorliegt, hat auf dem PC einen Header (z. B.: %%HP: T(1)A(D)F(.); ). Ob dieser Programmtext Ersatzzeichen enthält und übersetzt werden muß oder nicht, merkt der Taschenrechner am Header der empfangenen Datei. Dabei entspricht der Wert T(1) dem Translationsmodus 1, entsprechend kennzeichnen T(2), T(3) und T(0) die anderen Modi gemäß dem eingestellten Wert.
Der Header gehört nicht zum Programm, er ist mit einem Semikolon (";") vom Programm abgetrennt, das mit dem Zeichen ("«") beginnt.
Die hier angebotenen HP-Programme sind meist im Modus T(1) oder T(3) auf dem PC gespeichert.
- Der Translationsmodus T(1) wird auch als "Newline (Ch 10)" bezeichnet, weil er die Programmzeilen in der Länge so umbricht (= Zeilenschaltungen einfügt), daß sie in der Länge auf die LCD-Anzeige des HP 49G passen. In derselben Länge sieht man sie auch im Texteditor auf dem PC.
- Die im Translationsmodus T(3) angebotenen Programme sind auch im Browser lesbar. Leider weichen die Ersatzzeichen von der üblichen Darstellung auf dem HP 49G ab, aber nach einiger Übung gewöhnt man sich daran. Die Programme sind mit jedem Texteditor editierbar.
Bei der Übertragung vom Computer auf den HP 49G braucht man sich nicht um die Umsetzung der Ersatzzeichen zu kümmern, der HP 49G erkennt am Header, welche Translation er wählen muß.
Alle Programme mit den Headern T(0), T(1), T(2) und T(3) müssen zwischen PC und HP 49G per Connectivity Kit mit der Einstellung "ASCII" übertragen werden. Binäre HP49-Programme
Binäre HP49-Programme sind nicht als Text lesbar, sondern enthalten nur Binärcodes. Bibliotheken, Grafiken und systemnahe Programme sind binär abgespeichert. Alle diese HP-Programme beginnen mit "HPHP49-".
Binäre Dateien, die mit "HPHP49-" beginnen, müssen zwischen PC und HP 49G per Connectivity Kit mit der Einstellung "binär" übertragen werden.
Bei der Datenübertragung vom PC zum HP 49G überprüft der Taschenrechner die Syntax des Programmes und schickt im Falle eines Fehlers eine Fehlermeldung zum PC zurück. Dieser meldet sich dann lautstark. Die Fehlermeldung enthält kaum Hinweise auf die Art des Fehlers.
Manchmal ist man ratlos bis verzweifelt, weil sich diese Fehlermeldung immer wiederholt. Schließlich merkt man dann nach der 10. Übertragung, daß es nicht am PC, nicht am PC-Programm und auch nicht an einer falschen Porteinstellung lag, sondern daß nur irgendwo im Programm ein läppisches Anführungszeichen fehlt.
Deshalb sollte man den Header und die Syntax vorher ganz genau prüfen, wenn man ein selbstgeschriebenes Programm vom PC zum HP 49G übertragen will, sonst meckert der HP 49G solange über die Leitung zurück zum PC, bis er das Programm mit einwandfreier Syntax erhält.
Texteditor
Zum Programmieren auf dem PC im Translationsmodus T(3) sollte man einen ganz normalen Texteditor nehmen oder man stellt die Textverarbeitung, mit der man das Programm schreibt, auf "Nur ASCII-Text" ein. Formatierungen oder andere Codierungen, welche die Textverarbeitung normalerweise einfügt, erkennt der Taschenrechner nicht an. Beim Speichern auf die Festplatte sollte man das Programm als "Nur Text" speichern, dann werden keine zusätzlichen Formatierungszeichen eingefügt. Man kann nie so sorgfältig sein, daß der Taschenrechner bei der ersten Übertragung nicht meckert.
Diese Fehlermeldung (oder auch "Invalid Syntax: <Name>") kommt manchmal bei der Übertragung eines Objekts vom PC zum HP 49G. Am zu übertragenden Objekt selbst kann man meist keine Unstimmigkeiten oder falsche Syntax feststellen. Trotzdem ist der Taschenrechner hartnäckig und verweigert die Annahme. Man kommt einfach nicht drauf, was falsch sein könnte.
Des Rätsels Lösung ist ein global gültiger gleichlautender Name einer vorhandenen Variablen auf dem HP 49G im Pfad über dem Zielverzeichnis, wo das Objekt gespeichert werden soll, oder eine im HOME-Verzeichnis angebundene Bibliothek, die bereits so einen Namen global bereitstellt (als Programm oder Konstante). Da dieser Name global ist und jedes Unterverzeichnis auf das benannte Objekt zugreifen kann, ist er auch bei der Datenübertragung vom PC zum Taschenrechner bekannt und der HP 49G stellt fest "Hab ich schon!". Weil er das Objekt nicht überschreiben kann, gibt er die Fehlermeldung aus.
Abhilfe schafft man, indem man die Bibliothek abhängt durch DETACH ####, wobei #### die Bibliotheksnummer ist. Dann ist dieser Name nicht mehr global bekannt und man kann das gleichnamige Objekt auf den Rechner übertragen. Wenn man die Bibliothek dann wieder anhängt, haben die lokalen Namen im Unterverzeichnis Vorrang. Wenn sie der Rechner nach Aufruf dort nicht findet, sucht er im Pfad aufwärts danach. Entweder man benennt das "globalere" Objekt gleichen Namens oder das zu übertragende Objekt um, nach dem Speichern bekommt es dann wieder den richtigen Namen.
Zum Beginn des Beitrags
Zur Beitragsübersicht
Copyright © 2002 Otto Praxl
Alle Rechte vorbehalten!