★ APPLICATIONS ★ PAO/PRESSE ★ Hardcopy-Programm für Schneider CPC ★![]() |
| Hardcopy-Programm (Computer Technik) | Applications Pao/presse |
Schwarz auf weiß Mil dem Schneider CPC 464 ist es ohne weiteres möglich, hochauflösende Grafiken zu erstellen. Aber was nützt die schönste Grafik, wenn man sie nicht schwarz auf weiß der Nachwelt erhalten kann. Allerdings vertritt der Hersteller diesbezüglich wohl einen anderen Standpunkt: Dem Rechner fehlt eine entsprechende Kopier-Routine. Außerdem gilt es, den von fast allen Druckern doppelt ausgeführten Zeilenvorschub auszuschalten. Die Lösung des zuletzt genannten Problems besteht aus der Unterbrechung der Leitung, die zum Pin 14 der Schnittstelle führt (c't 3/85). Um die Grafiken auszudrucken, braucht der Schneider allerdings ein kleines Programm. Probleme Die Zeichenübertragung zwischen Computer und Drucker bereitet weitere Probleme: Der Schneider sendet nur sieben Bit zum Drucker. Dadurch fehlt im Ausdruck die oberste Pixelreihe bei jeder Schreibstelle. Nimmt man in Kauf, daß die Übertragung des Bildes etwas länger dauert, kann man das Byte in zwei Halb-Bytes zerlegen und diese vier Bit zum Drucker senden, wodurch man eine vollständige Hardcopy erhält. Eine weitere Schwierigkeit bereitet das komplexe Bildschirm-Mapping des Schneider. In jeder Speicherstelle des Bildschirmspeichers ‘steht' nicht nur der Bildpunkt (Pixel), sondern auch die Information über dessen Farbe. Somit liefert das Interna Das dem Drucker übermittelte Byte wird ‘vertikal' ausgegeben. Im Bildspeicher des Computers liegt es jedoch ‘horizontal'. Somit muß zuerst von allen acht Byte der ersten Schreibstelle das erste Bit ausgelesen und zu einem Byte zusammengefaßt werden. Es folgt das zweite Bit und so weiter, bis die erste Schreibstelle ausgelesen ist (Bild 1). Bild 1. Aufbereitung der ‘Bildschirm-Bytes' >> Das Hardcopy-Programm besteht aus zwei Teilen. Der erste Teil ist in BASIC geschrieben und lädt bei Bedarf (Zeile 60060) das Maschinenprogramm aus den DATA-Zeilen. Die eigentliche Lade-Routine ist durch die Zeilen 60300 bis 60410 realisiert. Eine weitere Aufgabe des BASIC-Pro-gramms ist die Übermittlung der Daten zum Drucker. Dazu wird zuerst (Zeile 60040) der Zeilenabstand des Druckers so eingestellt, daß die Halb-Bytes (je vier Bit) bündig aneinandergedruckt werden, ln den Zeilen 60070 und 60080 kann man die erste und die letzte Zeile der Kopie festlegen. Das Programm gibt jetzt den Bildschirminhalt Zeile für Zeile an den Drucker aus. Dazu errechnet es die erste Adresse der Zeile. Anschließend übergibt das Programm die Adresse der Bildschirmschreibstelle dem Maschinenprogramm (Zeile 60120 und 60130). Die Maschinenroutine legt im Speicher ab Adresse A06Ah alle 640 Bytes einer Zeile (8 Pixel = 8 Bit x 80 Schreibstellen) aufbereitet ab. Diese Werte werden nun durch zwei Schleifen, eine für die oberen vier Bit und eine für die unteren vier Bit, an den Drucker ausgegeben. Durch die Befehle in den Zeilen 60110 und 60200 wird der Drucker in den Bitmuster-Modus geschaltet. Diese Anweisung ist ebenso wie der Befehl in Zeile 60040 vom verwendeten Druckertyp abhängig. PRINT #8,CHR$(27); "Y";Zusätzlich sind noch die folgenden zwei Zeilen einzufügen: |
| ![]() |
|