Pete Stoppani: ASC FOR THE 48SX
Here they are!  I decided to post this to the mail list since every week
someone is looking for these routines.  Hopefully this will satisfy other
requests.

Pete...

-------------------------------------------------------------------------------

                      ASCII Encoding HP 48SX Objects

Das Senden von HP48SX - Objekten, besonders, wenn sie kein ASCII-Format haben
kan Schwierigkeiten bereiten. Auf verschiedenen Computersystemen gibt es ver-
schiedene Codiersysteme, aber hier mssen Sender und Empfnger, sie gleichen
Computer, mindestens das gleiche Codiersystem, haben. 
Die untenstehenden Programme besorgen das Codieren/Decodieren auf dem HP48
selbst, so ist das System unabhngig vom Computer, der sich die Programme aus
irgendeinem Netz holt.

Die Programme heien \->ASC und ASC\->. Das erste nimmt ein Objekt aus dem
Stack und convertiert es zu einem String, in welchem jeder Nibble des Objekts
und seine Checksum in ein Zeichen 0-9 oder A-F convertiert wird. (Das Obkekt
mu im RAM stehen, sonst gibt es einen "ROM Object" - Fehler).
Zur besseren Einbindung in elektronische Briefe wird der String alle 64 Zeichen
durch ein LF unterbrochen.

ASC\-> ist das Gegenteil von \->ASC: Es nimmt einen von \->ASC erzeugten String
und konvertiert es zurck in ein Objekt. Wenn codierte Strings bertragen
werden drfen die Strings nicht verndert werden; ASC\-> benutzt die codierte
Checksumme in dem String um die decodierung zu prfen. Ein "Invalid String"
Fehler wird gemeldet, wenn das fertige Objekt nicht mit dem mit \->ASC
codierten Objekt bereinstimmt. Wenn ein String in den Computer geladen wird
sollte der HP48 im Translate Mode 3 sein, damit der HP die CR/LF's zurck
zu LF's convertiert, wenn der String spter wieder eingeladen wird.

Hier sind zwei Versionen von ASC\->. Das erste (P1) ist in der normalen HP48
Sprache, zum Starten von System-Objects benutzt er SYSEVALS.
P2 ist ein String, das P1 benutzt, um sich in eine ausfhrbare Form zu bringen,
es lscht das Programm P1 dann selbstttig. Die zweite Version ist kompakter
als die erste, auerdem nicht editierbar und damit sicherer. Dafr kann es 
nicht in ASCII-Form bertragen werden.

Das mit Kermit ladbare Programm ist auf der Diskette als asc.48 vorhanden.



Zur Installation:

1.  Der Text zwischen (Start) und (End) wird als Text-File gespeichert.
Die Strings drfen (wie oben schon gesagt) nicht verndert werden !!
Also keine weiteren SPACE's, unsichtbare Zeichen oder sonstetwas irgendwo,
auch am Anfang oder Ende einer Zeile.
2.  Bringt den HP48 in den ASCII-Transfer-Mode
3.  Unter Benutzung von Kermit ladet das Textfile in den HP48, vergleicht dann
    die Checksumme. (6C8Ah)
4.  Fhrt das File nun aus, um die Directory zu erzeugen.
5.  Fhrt SETUP aus.
6.  Nun enthlt sie Directory die fertigen  ASC\-> und \->ASC

Um die decodierte Version von ASC\-> und \->ASC auf dem Computer zu 
archiviern, mu der HP48 vor dem upload in den BINARY-Tranfer-Mode.

Disclaimers:

* Benutzt die Programme auf eignes Risiko. Immer, wenn man int die Welt der
SYSEVAL's taucht, vervielfachen sich die Gefahren. Sichert euer 48 Memory,
bevor ihr mit den Programmen experimentiert ! Auerdem vergleicht die
Checksummen der Programme oben und seid euch sicher, da sie korrekt
downgeladen wurden, bevor ihr ASC\-> ausfhrt.

* I will not answer questions about how the programs work.  This is not
because of any great secrecy, but rather because it's hard to give
any answer that doesn't lead to more questions, and more, and more...

* 48 hackers are welcome to mine any nuggets they can from the programs,
and from the fact that \->ASC is a convenient way to decompile an object.


W.C.Wickes

bersetzt von Patrick Werner


