Funkamateur 02/90

 

Drucktreiber für AC1 und S 3004 im Rückwärtsdruck

F. HEINICKE

Auf der Grundlage des in [1] veröffentlichten Programms bestand das Ziel, ein Treiberprogramm zu entwickeln, das es ermöglicht, die S 3004 im Rückwärtsdruck am AC1 zu betreiben. Zweitens sollte der Treiber so gestaltet werden, daß er im EPROM-Bereich des AC1 untergebracht werden kann.
Zu diesem Zweck sind wesentliche Komponenten der Lösung aus [1] übernommen worden. Das betrifft einerseits den Aufbau und die Funktion der Senderoutine und andererseits die sehr wertvolle Möglichkeit des Druckens parallel zum RST 10. Geändert wurde lediglich die Anzahl der Zeilen je Blatt, um Einheitlichkeit mit dem Texteditor herzustellen. Sie ist jetzt auf 63 eingestellt.
Es sei also an dieser Stelle darauf verwiesen, daß die Bedienung des Treibers und der Anschluß der S 3004 an den AC1 in gleicher Weise erfolgt, wie in der angegebenen Literaturstelle dargestellt.
Bei der Auswahl des Speicherbereiches für das Programm wurde davon ausgegangen, daß der noch im EPROM-Bereich befindliche Mini-BASIC-Interpreter für viele AC1-Besitzer nicht mehr die dominierende Rolle spielt, zumal es ja in der Zwischenzeit schon den 8-KByte-, 12-KByte- und 15-KByte-Interpreter gibt. Es bot sich also die Möglichkeit an, den Treiber ab 0C00H im EPROM unterzubringen. Für denjenigen, der oft druckt, spart es das Einladen von Kassette und hält den RAM für andere Programme frei.
Das Treiberprogramm benötigt für seine Arbeit die RAM-Zellen von 18A2H bis 18FCH, wobei der Bereich von 18A2H bis 18EAH den Druckpuffer für die Rückwärtszeile darstellt. Er wird beginnend ab 18EAH rückwärts beschrieben. Bei der Nutzung des Treibers in Zusammenarbeit mit dem 8-KByte-BASIC-Interpreter tritt dabei das Problem auf, daß der Interpreter die Zelle 18C0H für sich benötigt. Es gibt zwei Möglichkeiten der Lösung.
1. Im Interpreter werden folgende Zellen, die den Inhalt C0H haben, in A0H geändert: 5E74H, 5E95H, 5EACH, 5EC0H. Danach arbeitet er mit der Zelle 18A0H, die außerhalb des Puffers liegt.
2. Der Puffer selbst wird in einen anderen Bereich gelegt. Dazu sind die im Hexlisting unterstrichenen Adreßangaben zu ändern. Eingetragen wird die neue Pufferanfangsadresse. Das Byte auf der Adresse 0D00H ist mit dem niederwertigen Teil der neuen Pufferanfangsadresse zu beschreiben.
Folgende Einsprungadressen sind in übergeordneten Programmen zum Drucken zu verwenden:
0C05H - Initialisierung von PIO, Treiber und Maschine,
18EEH - Zeichenausgabe (Zeichen wird im AKKU übernommen).
Genauso wie in [1] zerstören beide Routinen kein Register.
Abschließend sei noch auf folgendes verwiesen. Bei der Verwendung des Treibers in anderen Programmen muß sichergestellt werden, daß vor Beginn des Druckens die Initialisierung durchlaufen wird. Die Adreßangaben der Koordinatenachse des Hexlistings sind lediglich symbolisch zu verstehen; sie beziehen sich auf den Bereich von 0C00H bis 0D1FH.

Literatur

[1] Heyder, F.: S 3004 als Schönschreibdrucker am AC1,
FUNKAMATEUR 38 (1989), H.5, S.223

243 KByte
Listing