Funkamateur 05/89 |
Die elektronische Schreibmaschine S 3004 ist für den
Anschluß als Drucker an einen Computer vorbereitet.
Normalerweise ist dafür noch ein spezielles Interface notwendig,
um das Protokoll eines Standardanschlusses
(z.B. V.24) in das für die S 3004 notwendige umzuwandeln.
Für den Amateur, besonders für den, der seinen Computer
selbst gebaut hat, ist es sicher aber auch legitim,
diese Aufgabe seinen Computer gleich miterledigen zu lassen. Es ist
dann zwar eine spezielle Schnittstelle
für die S 3004 und vermutlich nur für diese Maschine, aber es
spart Kosten. Bevor ich diese Lösung beschreibe,
muß ich noch auf zwei Tatsachen, die unbedingt zu beachten sind,
hinweisen. Erstens sind dazu die,
Ein/Ausgangs-Leitungen der S 3004 mit einem eigenen Interface zu
beschalten. Da es sich hier um die
ungeschützten Leitungen der seriellen Schnittstelle eines
Einchipmikrorechners U 884 handelt, ist
entsprechende Sorgfalt angeraten! Also wenigstens
l-kΩ-Schutzwiderstände in alle Leitungen außer Masse,
oder besser, Optokoppler einsetzen und somit Schreibmaschine und
Computer galvanisch voneinander trennen!
Zweitens befindet sich bei dieser Art des Anschlusses nichts zwischen
dem Computer und der Schreibmaschine,
das die vom Computer ausgesendeten Informationen auf ihre
Zulässigkeit prüft. Da die Schnittstelle an der
S 3004 vermutlich aber auch zu Servicezwecken gebraucht wird,
existieren Kodes, die nichts mit dem
eigentlichen Schreibbetrieb zu tun haben und somit in der S 3004
unerlaubte Systemdauerzustände erzeugen
oder gar die Schrittmotoren in Gefahr bringen. Das nachfolgend
beschriebene Programm dürfte keinen dieser
Kodes erzeugen. Aber bereits ein Eintippfehler an der richtigen Stelle,
eigene Programmierversuche, die
versehentlich diese Schnittstelle berühren, Rechnerabstürze
oder andere Ursachen können dazu führen.
Um die Wahrscheinlichkeit für diese Extremfälle zu
minimieren, sollte man die Maschine nur zum Drucken
einschalten oder noch besser, sie nur zum eigentlichen Drucken an den
Computer anschließen. Für eventuell
auftretende Folgen ist natürlich jeder selbst verantwortlich.
Nach dem Einschalten ist die S 3004 auf 1200 Bd (1 Startbit, 8 Datenbit, 1 Stopbit) eingestellt. Zum Anschluß an den Computer werden die Leitungen Dateneingang (A 11) und Empfangsbereitschaft (A 12) benötigt und an die Ausgänge PB1 und PB3 der PIO der Grundleiterplatte angeschlossen. Die Masse des Computers ist dann mit A 13 zu verbinden. Diese Minimalvariante unter Verwendung der Schutzwiderstände ist im Bild dargestellt und funktioniert seit etwa 9 Monaten bei etwa einem Meter Kabellänge ohne Beanstandungen. Sicherer ist aber eine galvanische Trennung durch Optokoppler. Dafür kann man aus der S 3004 an B 12 + 5 V entnehmen.
Das hier vorgestellte Druckprogramm gestattet es, sowohl alle Ausgaben,
die zum Bildschirm über den
RST 10 erfolgen, auch auf Papier zu bringen, als auch als
gewöhnlicher Druckertreiber, wie er z.B. für EDAS
oder den Texteditor benötigt wird, zu arbeiten.
Für den ersten Anwendungsfall enthält es drei
"Kennbuchstaben" mit folgender Funktion:
2 - | Initialisierung, d.h., Programmierung der PIO und Rücksetzen des Zeilenzählers. |
1 - | Drucken parallel zur Bildschirmausgabe. Jede Ausgabe des RST 10 erfolgt zuerst auf den Drucker, dabei verlangsamt sich die Ausgabe auf den Schirm entsprechend der Druckergeschwindigkeit auf etwa 10 Zeichen/s. |
0 - | Drucken parallel zur Bildschirmausgabe beenden. |
Für den zweiten Anwendungsfall als gewöhnlicher
Druckertreiber sind für die entsprechenden Programme
folgende Einsprungadressen von Bedeutung:
2005H Initialisierung,
201DH Zeichenausgabe, Zeichen im Akku.
Beide Routinen zerstören kein Register.
Der Druckertreiber realisiert die Kodes 20H bis 7FH entsprechend dem
Zeichengenerator, also ohne Umlaute.
Bei Zeichen, die das Typenrad nicht enthält, gelangt ein
Leerzeichen zur Ausgabe. Sind die Umlaute gewünscht,
so müssen die entsprechenden Kodes der S 3004 (65H bis 70H) an den
dem deutschen ASCII-Zeichensatz
entsprechenden Stellen der Kodetabelle eingetragen werden. Damit
für den Papierwechsel der einzelnen Blätter
ausreichend Zeit ist, stoppt das Programm nach 60 Zeilen automatisch
und setzt nach der Eingabe eines "P"
den Druck fort. Da der Anschluß der S 3004 über die
Original-PIO des "AC1" erfolgt, wird diese bei der
Initialisierung natürlich umprogrammiert. Das ist bei der Nutzung
weiterer freier PIO-Leitungen dieses
Ports zu beachten; auf die Funktion der Kassettenroutinen des Monitors
hat es keinen Einfluß.
Die Realisierung der Bitzeit der seriellen Ausgabe zur S 3004 erfolgt
mit einer Zeitschleife.
Im Hexlisting sind die
adreßabhängigen Byte unterstrichen.
Das Programm untergliedert sich in die folgende Bestandteile:
2001H ... 2016H | Initialisierung |
201DH ... 204BH | Druckhauptprogramm |
204DH ... 2084H | Senderoutine 1200 Bd |
2085H ... 20E4H | Zeichentabelle ASCII-Druckkode |
20E5H ... 2123H | Parallelschaltung zu RST 10 ein/aus |
2124H ... 212CH | Zeitschleife für Bitzeit |
2006H und 2049H | Einstellen der Zeilenzahl/Seite |
29 KByte | 88 KByte |
Bild 1 | Hexlisting |