The following article was printed in October 1986 of the magazine „MC".
This article demonstrates how to interchange data between CP/M machines using the CP/M utility PIP.
Heinrich Hofauer

COM-Datei-Transfer unter PIP

Was tut man, wenn man zum Beispiel nach dem Kauf eines Epson PX-8 von dem durch CP/M garantierten Software-Angebot Gebrauch machen will? Zum Beispiel in geringem Umfang eine Programmentwicklung (nicht in Basic) vornehmen möchte? Oder das Gerät (in einer noch akzeptablen Preisklasse) zur portablen Texterfassung à la Wordstar heranziehen will? Oder auch nur einfach ein paar CP/M-Transienten (DDT, DUMP) ausführen möchte, welche im ROM nicht vorhanden sind?

Wie man den normalen Wordstar (oder andere CP/M-Transienten) auf den PX-8 überträgt, soll das nachfolgende „Kochrezept" verdeutlichen.
Voraussetzung ist die Beschaffung von genügend „portablem" Speicher, also einer RAM-Disk, welche dem PX-8 huckepack aufmontiert wird. Darüber gibt es nicht viel zu berichten, das wird durch die Montageanleitung erledigt. Für den Betrieb des Wordstar ist nur wichtig, sich die große RAM-Disk mit 120 KByte zu besorgen, da die kleine für .COM-und Overlay-Files nicht ausreicht. Nach der Inbetriebnahme der RAM-Disk gilt es dann, sich über den Modus der Datei-Übertragung einige Gedanken zu machen. Man kennt das Problem, welches mit dem Transfer einer COM-Datei mittels PIP über die RS-232-Schnittstelle verbunden ist: Der Empfänger ist nicht in der Lage, das Dateiende eindeutig zu erkennen. Es empfiehlt sich daher (dies ist der ganze Trick!), eine Umwandlung in eine Textdatei vorzunehmen, diese mittels PIP über die Schnittstelle zu schicken und sie im PX-8 wieder in ein COM-File zurückzuverwandeln. Der Einfachheit halber benutzt man dazu die Darstellung, welche die Dump-Transiente aus einer Datei macht (Beispiel Bild 1), und schreibt die beiden Konvertierungsroutinen in MS-Basic. Wer auf einem zweiten CP/M-Rechner (beim Verfasser ist es ein Epson QX-10 mit CP/M 2.2) mit Microshell arbeitet, kann sich den Schritt mit dem ersten Programm ersparen, indem er mittels Redirection den mit Dump erzeugten Output in eine Datei umleitet und diese dann verwendet. Das geht schneller. Hat man nach Aufruf dieses Programms die Datei DUMP.ASC erzeugt, so schickt man sie mit
PIP PUN:=DUMP.ASC[E]
über die Schnittstelle (die Option E dient der visuellen Kontrolle), an deren anderem Ende der PX-8 mit
PIP A:DUMP.ASC=RDR:[E]
bereits wartet (A: ist die eingeloggte RAM-Disk).
Nach fertiger Übertragung startet man auf dem PX-8 das zum ersten korrespondierende zweite Basic-Programm, welches die Rückwandlung in die .COM-Datei vornimmt:

(Die Zeilen 210, 220 im ersten, resp. die Zeile 200 im zweiten Programm verfolgen einen ganz simplen Zweck: Kompatibilität mit dem durch Redirektion erzeugen Dump-Output zu erzielen, welcher am Dateianfang eine Leerzeile aufweist!)
Es ergibt sich natürlich bei alledem die Frage, ob eine Texteditierung in solcher Weise sinnvoll möglich ist. Doch scheinen vorliegende Tests dies durchaus zu belegen. Ich habe während der Tage nach der Übertragung wiederholt längere Textpassagen editiert und anschließend auf den QX-10 übertragen - ohne jegliche Einbuße an Qualität (was bei der japanischen Fertigung eigentlich kein Wunder ist). Irritierend wirkt das nach dem Eingeben eines jeden Zeichens kurze, störende Aufflackern der Hilfsmenüs, doch läßt sich dies wesentlich mildern, sofern statt des Hilfsgrades 3 ein anderer verwendet wird. Schaltet man auf den Hilfsgrad 0 um, so sind die störenden Überblendungen nur relativ kurzfristig und beeinträchtigen die Texteingabe kaum.
Darüber hinaus kann mit CTRL-C oder CTRRL-E jederzeit eine Ausrichtung auf den Anfang einer reellen Bildschirmseite erzwungen werden, welche das störende Flackern unterbindet.
Die Wordstar-Installation ist natürlich nur eine von vielen Möglichkeiten, andere CP/M-Transienten auf den PX-8 zu übertragen. So arbeite ich zum Beispiel ohne Einschränkung auch mit MµLisp/MµStar und mit Forth; es liegt im Benehmen des einzelnen Benutzers, sich auf den Kassetten eine kleine, individuelle Tool-Bibliothek bereitzustellen, auf welche im Zug, im Flugzeug oder im Hotel zugegriffen werden kann. Das beschriebene Verfahren ist für andere CP/M-Computer mit serieller Schnittstelle ebenfalls brauchbar.
0000 21 00 00 39 22 15 02 31 57	02 CD C1 01 FE FF C2
0010 1B 01 11 F3 01 CD 9C 01 C3	51 01 3E 80 32 13 02
0020 21 00 00 E5 CD A2 01 E1 DA	51 01 47 7D E6 0F C2
Bild 1. Das Dump-Format

Bild 2. Wandlung von COM in Dump ... [MBASIC source]

Bild 3. ... und wieder zurück [MBASIC source]

Scanned by Werner Cirsovius
December 2002
© Franzis' Verlag