C 64
Grafik

Poster-Maker für den C 64

Ein- und mehrfarbige HiRes-Grafiken können in einer Größe von sage und schreibe 50 x 80 cm auf fast jedem Drucker ausgegeben werden.

Dazu wird der Grafikbildschirm in vier gleich große, senkrechte Streifen zu je 80 x 200 Punkten unterteilt. Diese werden hintereinander auf Endlospapier ausgedruckt, wobei ein Grafikpunkt einem Druckzeichen entspricht. Bei Mehrfarbgrafiken besteht die Möglichkeit, für jedes der vier Bitmuster 00, 01, 10, 11, denen im Multicolor-Modus verschiedene Farben zugeordnet sind, verschiedene Druckzeichen zu definieren. Durch die Wahl dieser Zeichen lassen sich auch Graustufen erzeugen. Beim Ausdruck sind dann jeweils zwei nebeneinanderliegende Zeichen gleich.

Der Aufruf des Programms erfolgt durch einen SYS-Befehl:

SYS 49152,adr,m,c1,c2,c3,c4

Dabei ist 49152 die Startadresse des Programms ($C000), adr ist die Anfangsadresse der Grafik.

m ist der Grafikmodus. Soll eine Grafik im normalen Einzelpunktmodus (Auflösung 320 x 200 Punkte) ausgedruckt werden, ist m = 1 zu setzen. Bei einer Grafik im Multicolor-Modus (Auflösung 160 x 200 Punkte) ist m = 2. c1 bis c4 entsprechen den ASCII-Codes der verschiedenen Druckzeichen:

c1 entspricht Bitmuster 00
c2 entspricht Bitmuster 01
c3 entspricht Bitmuster 10
c4 entspricht Bitmuster 11

Dies gilt jedoch nur für den Multicolor-Modus. Im Einzelpunktmodus müssen c3 und c4 entfallen, da dort nur die beiden Bitmuster 0 und 1 exisitieren (c1 steht dann für 0, c2 für 1). Beispiel für einen Aufruf:

SYS 49152,8192,2,32,46,119,113

Damit erfolgt ein Ausdruck einer Mehrfarbgrafik (Bild 1 erstellt mit einem Commodore-Drucker beziehungsweise eines Ausschnitts Bild 2 erstellt mit einem FX-80), die bei 8192 beginnt, wobei 00 zwei Leerstellen, 01 zwei Punkte, 10 zwei nicht ausgefüllte Kreise und 11 zwei ausgefüllte Kreise zugeordnet sind.

Gerasterter Druckerausdruck aus Punktzeichen: eine schräg liegende Dose mit Schriftzug auf einer schattierten Fläche
Bild 1. Eine mit »Poster-Maker« stark verkleinerte Grafik. Die Normalgröße beträgt immerhin 50 mal 80 cm. Gedruckt wurde mit HiRes-Grafik mit dem Basic-Befehl SYS 49152, 8192, 2, 32, 46, 119, 113 mit dem MPS 801
Vergrößerter Ausschnitt eines Druckerausdrucks aus Zeichen wie #, 0 und Doppelpunkten, die Graustufen bilden
Bild 2. Damit man erkennt, wie »Poster-Maker« eine Grafik erstellt, hier ein Ausschnitt mit dem FX-80

Der Ausdruck einer Einzelpunktgrafik kann zum Beispiel so aussehen:

SYS 49152,8192,1,32,113

Es ist zu beachten, daß höchstens vier verschiedene Druckzeichen definiert werden können, auch wenn die Grafik mehr als vier Farben hat. Diese sind dann durch das Farbregister festgelegt. Das Programm unterscheidet jedoch nur zwischen den Bitmustern und nicht zwischen den Werten im Farbregister, die dem jeweiligen Bildpunkt entsprechen.

Das Programm ist so ausgelegt, daß es auf den meisten Druckern läuft. Das einzige, was an den Drucker angepaßt werden muß, sind die Kommandos zur Verkleinerung des Zeilenabstandes, um einen lückenlosen Ausdruck zu erreichen. Das Programm ist für folgende Drucker vorbereitet:

MPS 801/VC 1525
MPS 802/VC 1526
Epson und Kompatible

Bei allen anderen Druckern muß vor dem Aufruf des Programms der Zeilenabstand laut Druckerhandbuch selbst eingestellt werden.

Zur Handhabung des Basic-Laders

Das im Lader (siehe Listing) enthaltene Menü erlaubt es, verschiedene Parameter des Programms festzulegen und es dadurch an einen Drucker anzupassen.

Zunächst wird nach einer Filenummer (fn) und einer Sekundäradresse (sa) gefragt. Das Maschinenprogramm führt später folgenden Befehl aus: OPEN fn,4,sa

Hierbei kann man die Standardwerte einsetzen, das heißt die Werte, die man zum Beispiel beim Ausdruck eines Listings benutzt. Als drittes muß der Druckertyp eingegeben werden. Die jeweiligen Nummern werden im Menü aufgeführt.

Wie schon erwähnt, muß bei nicht aufgeführten Druckern (Typ 0) der Zeilenvorschub vor dem Start des Programms auf 7/72 inch anhand der Bedienungsanleitung verkleinert und nach dessen Ausführung wieder auf den normalen Wert rückgesetzt werden.

Unter Typ 3 fallen alle Drucker, bei denen die Umschaltung mit dem Befehl »ESC 1« (PRINT #fn,CHR$(27);chr$(49);) erfolgt.

Nachdem Sie die Eingaben beendet haben, wird der Poster-Maker als Maschinenprogramm auf Diskette gespeichert. Er muß mit Load »POSTER-MAKER«,8,1 geladen werden. Haben Sie den Poster-Maker mit dem Basic-Befehl

SYS 49152, adr, m, c1, c2, c3, c4

für Multicolour-Bilder beziehungsweise

SYS 49152, adr, m, c1, c2

für normalen Einzelpunktmodus gestartet, wird die gewünschte Grafik ausgedruckt. Zu beachten ist, daß bei der Eingabe der CHR$-Codes für die Druckzeichen die ASCII-Tabelle des Druckers, nicht die im Handbuch des C 64, gültig ist. Diese stimmt nur für Commodore-Drucker.

Ein CLOSE nach Beendigung des Ausdrucks ist nicht nötig. Jetzt muß nur noch die Druckerfahne an den gestrichelten Linien auseinandergeschnitten und die vier Streifen nebeneinandergeklebt werden.

(Thomas Wolf/ah)
614 rem""""************************
110 rem    *                      *
120 rem    *    poster - maker    *
130 rem    *                      *
140 rem    *     thomas wolf      *
150 rem    *    kiefernweg 16     *
160 rem    *    6940 weinheim     *
170 rem    *   tel.06201/13551    *
180 rem    *                      *
190 rem    ************************
200 rem
210 print"{clr}{down}"tab(8)"p o s t e r - m a k e r"
220 printtab(8)"{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}"
230 fori=49152to49609:reada:s=s+a:pokei,a:next
240 ifs<>54783thenprinttab(9)"{down}{down}{down}{down}fehler in data-zeilen.":end
250 input"{down}{down}{down}   filenummer..........  1{left}{left}{left}";f
260 input"{down}   sekundaeradresse....  0{left}{left}{left}";s
270 print"{down}   druckertyp..........  1"
280 print"{down}    1 = mps 801/vc 1525"
290 print"    2 = mps 802/vc 1526"
300 print"    3 = epson und kompatible"
310 print"    0 = sonstige (vor dem start zeilen-"
320 print"                 vorschub aendern.)"
330 print"{up}{up}{up}{up}{up}{up}{up}"tab(23);:inputd
340 poke49352,f:poke49357,s:poke49519,d
350 for i=0 to 3:poke 828+i,peek(43+i):next
360 poke 43,0:poke 44,192
370 poke 45,202:poke 46,193
380 save"poster-maker",8
390 poke 43,peek(828):poke 44,peek(829):poke 45,peek(830):poke 46,peek(831)
400 print"{clr}ok.":end
410 data32,132,192,160,0,177,92,133,85,165,2,208,20,162,8,6,85,169,0,105
420 data0,168,185,172,193,32,210,255,202,208,240,240,27,162,4,169,0,6,85
430 data105,0,6,85,144,2,9,2,168,185,172,193,32,210,255,32,210,255,202,208
440 data231,160,0,32,7,193,144,192,32,110,193,192,6,240,7,32,7,193,144,180
450 data176,245,162,25,32,84,193,32,91,193,32,7,193,144,165,173,111,193,201
460 data1,144,22,201,2,208,8,169,36,72,32,148,193,208,10,169,27,32,210,255
470 data169,64,32,210,255,32,204,255,169,1,32,195,255,96,32,253,174,32,235
480 data183,160,8,24,165,20,72,105,56,153,192,193,200,165,21,72,105,1,153
490 data192,193,160,0,169,2,133,171,202,134,2,240,11,224,1,240,3,76,8,175
500 data169,4,133,171,152,72,32,253,174,32,158,183,104,168,138,153,172,193
510 data200,196,171,208,237,169,1,72,162,4,160,0,32,136,193,104,170,32,201
520 data255,173,111,193,201,2,144,28,201,3,208,13,169,27,32,210,255,169,49
530 data32,210,255,76,249,192,169,18,72,32,148,193,162,1,32,201,255,32,91
540 data193,104,168,104,170,152,160,6,72,76,27,193,152,72,24,185,92,0,121
550 data176,193,170,200,185,92,0,121,176,193,136,240,32,150,92,200,153,92
560 data0,136,72,24,138,121,184,193,153,192,193,200,185,92,0,121,184,193
570 data153,192,193,104,136,136,136,208,224,134,92,133,93,104,168,185,92
580 data0,200,200,217,192,193,136,185,92,0,200,200,249,192,193,136,96,32
590 data110,193,202,208,250,96,32,130,193,162,80,169,45,32,210,255,202,208
600 data250,162,25,32,84,193,96,169,1,201,1,208,14,169,8,32,210,255,32,130
610 data193,169,15,32,210,255,96,169,13,32,210,255,96,32,186,255,169,0,32
620 data189,255,32,192,255,96,169,6,162,4,160,6,32,136,193,162,6,32,201,255
630 data104,32,210,255,162,6,32,195,255,96,32,32,32,32,8,0,1,0,64,1,80,0
640 data0,0,80,0,8,0,64,31,0,0,0,0,0,0,0,0,0,0
Listing zum Programm »Poster-Maker«. Bitte beachten Sie die Eingabehinweise auf Seite 7
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →