practic 4/88, S. 182-183
Peter Berg/Uwe Rehn
Ein frei verschiebbarer Druckertreiber für den Z 1013
Der in Erfurt angebotene E/A-Modul für den Z 1013 ist gut geeignet, einen Drucker mit seriellem Eingang anzusteuern. Dazu ist es aber erforderlich, die an den Drucker zu übergebenen Zeichen so aufzubereiten, daß die in einem Byte vorliegende Information Bit für Bit nacheinander (seriell) an den Drucker ausgegeben wird. Außerdem muß der Computer bei der Ausgabe der Zeichen sich unaufhörlich mit dem Computer verständigen, wann das nächste Zeichen gesendet werden kann.
Diese und weitere Aufgaben erfüllt der hier vorgestellte Druckertreiber. Damit nun jeder Z1013-Freak diesen Druckertreiber an seine eigene Hardwarekonfiguration anpassen kann, wird nicht ein fertiges Programm sondern eine ASSEMBLER-Quelle angegeben. Wer die Programme der Dresdener Softwarekassette besitzt, kann mit dem Texteditor die Quelle eintippen (z. B. ab Adresse 3000 H) und anschließend mit dem ASSEMBLER in ein Maschinenprogramm übersetzen lassen.
Die Lage des Maschinenprogramms im RAM wird in der ORG-Anweisung festgelegt. Es muß nicht unbedingt auf der Adresse E800H beginnen.
Legt man das Programm auf eine andere Adresse, muß man aber in der aufrufenden Software die dort vielleicht schon vorgesehene Ansprungadresse ändern. Will man z. B. im KC-BASIC+ den Druckertreiber auf E400H festlegen, so wird ab Adresse 2FDH der Befehl C3 00 E4 eingetragen.
In der Zeile 3 wird durch PIOD die verwendete Kanaladresse für den E/A-Modul festgelegt. Soll statt seiner die interne PIO verwendet werden, so muß anstelle der 34H die Adresse 00H eingetragen werden.
Peter Berg/Uwe Rehn
PN V24-INTERFACE ORG 0E800H PI0D: EQU 34H PIOC: EQU PIOD+1 JMP E82F JMP E82B JMP E827 JMP E84F JMB E84B JMP E847 SLA A JR M21-# INIT: PUSH AF ;PIO-Init LD A,0CFH OUT PIOC ;BIT-EA LD A,0FEH OUT PIOC ;BIT 0->A LD A,1 OUT PIOD ;Stop POP AF RET E827: CMP 1EH JRZ M07-# E82B: CMP 0DH JRZ M08-# E82F: SLA CALL M09 RET M07: LD A,0DH M08: CALL E82F LD A,0AH JR E82F-# M12: LD A,0DH M13: CALL E84F LD A,0AH JR E84F-# E847: CMP 1EH JRZ M12-# E84B: CMP 0DH JRZ M13-# E84F: SLA A OR A JPPO M09 SCF JR M21-* M09: SCF CCF M21: PUSH HL PUSH BC PUSH AF CALL M14 POP AF LD B,9 M16: NOP OUT PIOD RRA CALL M15 DJNZ M16-# INC HL LD A,1 OUT PIOD CALL M15 POP BC POP HL RET M15: PUSH BC LD B, 0AH M17: DJNZ M17-# POP BC RET M14: IN PIOD BIT 4,A RZ LD C,0 M19: LD HL,1000H M18: DEC HL BIT 7,H JRZ M18-# IN PIOD BIT 4,A DEC C JRNZ M19-# RST 20H DB 2 DB 'TIME-OUT',8DH M20: IN PIOD BIT 4,A RZ JR M20-# END
Peter Berg/Uwe Rehn
Umschaltbarer Zeichengenerator am Z 1013
Für viele Zwecke ist es günstiger, abweichend vom üblichen Computerdeutsch (Englisch), orthografisch richtig zu schreiben. Das betrifft z. B. die Textverarbeitung oder Programme für die Ausbildung in Schule und Beruf. Ein weiteres Einsatzfeld wäre die Fremdsprachenausbildung mit abweichenden Buchstaben oder Schriften (kyrillisch, ungarisch, französisch …).
Beim Z 1013 kann dieses Problem mit einem austauschbaren und umschaltbaren Zeichengenerator einfach gelöst werden.
Notwendig sind eine Schaltkreisfassung (24polig), zwei 10 kΩ-Widerstände, ein einpoliger Umschalter und für jeden neuen Zeichensatz ein EPROM (U 2716).
Die Schaltkreisfassung wird bis auf PIN 18 und 20 huckepack auf den Originalzeichengenerator (A44) aufgelötet. Die genannten PIN werden freischwebend miteinander verbunden und mit 10 kΩ an +5V gelegt. Der Leitungszug von PIN 18 des A44 zum Kondensator C1,11 wird aufgetrennt und von der Schaltkreisseite ebenfalls über 10 kΩ, an +5V gelegt.
Mit einem Umschalter werden jeweils wahlweise PIN 18 des Originalzeichengenerators oder PIN 18,20 des gesteckten Zeichengenerators an den Kondensator C1,11 und damit an Masse gelegt.
In Bild 1 sind die neuen Zeichen zu sehen. Bild 2 zeigt die ausgetauschten grafischen Symbole des Originalgenerators.
Der zweite Zeichengenerator kann natürlich auch aufgelötet werden, läßt dann aber keinen Austausch zu.
Interessenten können mit einem EPROM zum Solidaritätsbasar der Jugendmedien (siehe nachstehenden Beitrag) kommen und sich den deutschen Zeichensatz brennen lassen.
Peter Berg/Uwe Rehn