C 64
Grafik

Der VC 1526/MPS 802 als Grafikdrucker

Aufgabe des Programms ist es, die Punkte aus dem Bildspeicher (nachfolgend als HRBM — Hires-Bit-Map — bezeichnet) zu lesen und dem Drucker in geeigneter Form zu übergeben. Die gestellte Aufgabe läßt sich in die folgenden Abschnitte unterteilen: Initialisierung; Lesen des HRBM; Umformen der gelesenen Daten; Übergabe der Daten an den Drucker; Ende.

Betrachten wir das Ganze aus der Bit-Sicht. Das HRBM besteht aus 8 000 Bytes. Diese lassen sich als 8 x 8 Bit-Zeichen zusammenfassen. Man erhält dann also 25 Zeilen zu je 40 Spalten aus 8 x 8 Bit-Zeichen = 1000 solche Zeichen. Das Programm liest also ein solches Zeichen aus der HRBM und definiert nach diesem Muster einen neuen Character für den 1526. Im HRBM sind aber die Bytes horizontal orientiert, während sie der Drucker vertikal orientiert erwartet (siehe Skizze 1). Das Umformungsprogramm hat deshalb die Aufgabe, die Bits um die Diagonale zu spiegeln. Damit wären alle Teilprobleme gelöst.

Das Assemblerprogramm bietet noch folgende Vorzüge:

Wenn Sie das Hardcopy-Programm in Verbindung mit einer Basic-Erweiterung verwenden, beachten Sie bitte folgende Reihenfolge:

  1. Basic-Erweiterung laden und starten.
  2. Basic-Lader des Hardcopy-Programms laden und starten.

Das Maschinenprogramm schützt sich selbst vor dem Überschreiben.

Es kann sein, daß Sie vor dem Starten des Programms den Zeilenvorschub des VC 1526/MPS 802 verkleinern müssen:
OPEN 4,4: OPEN 6, 4, 6: PRINT#6, CHR$(18): PRINT#4: CLOSE 4: CLOSE 6

(Lucas Kalt/rg)
Simons Basic P = 14
Screen-Graphics 64 P = 10
Ultra-Basic 64 P = 10
Supergrafik 64 P = 10 & P = 14
Hi-Res Grafik Aid (64 intern) P = 2
Tabelle 1. Dies sind die Angaben, die das Programm benötigt.
1 rem hi res hardcopy v10
2 rem durch sys 6*4096,t,p wird ein hi res hard-
3 rem copy  auf  den  drucker  1526  ausgegeben.
4 rem t           =    tabulator   (0<= t <= 40)
5 rem p * 4096    =    anfangsadresse  des  hrbm
6 rem z.b. sys 6*4096,20,2
7 rem
8 rem v1  29.12.83 do by lk
9 rem v10 25. 1.84 mi by lk
10 rem
11 rem (c) '84 by lucas kalt
12 rem
13 rem nicht relokatibel!!!
14 fora=6*4096to6*4096+1*256+3*16+11:readb:x=x+b:pokea,b:next
15 ifx<>40377thenprint"** data-fehler **":stop
16 print"sys 6*4096,t,p":print
17 print"t     = tabulator (0<=t<=40)
18 print"p*4096= anfangsadresse des hrbm
19 poke56,6*16:poke55,1:new
20 data169,106,162,4,160,6,32,212,96,162,106,32,201,255,169,20,32,210,255
21 data169,105,162,4,160,5,32,212,96,169,100,162,4,160,0,32,212,96,32,253
22 data174,32,158,183,224,41,176,12,134,252,32,253,174,32,158,183,224,16
23 data144,6,32,179,96,76,72,178,138,10,10,10,10,133,255,162,0,134,254,142
24 data60,3,169,0,141,61,3,32,223,96,32,28,97,240,41,162,105,32,201,255
25 data162,0,189,62,3,32,210,255,232,224,8,208,245,169,13,32,210,255,162
26 data100,32,201,255,32,42,97,169,254,32,210,255,169,141,32,210,255,24
27 data165,254,105,8,133,254,144,2,230,255,32,225,255,240,30,238,61,3,173
28 data61,3,201,40,208,181,162,100,32,201,255,169,13,32,210,255,238,60,3
29 data173,60,3,201,25,208,156,169,105,32,195,255,169,13,32,210,255,169
30 data100,32,195,255,162,106,32,201,255,169,36,32,210,255,32,204,255,169
31 data106,76,195,255,32,186,255,169,0,32,189,255,76,192,255,120,165,1,41
32 data253,133,1,162,0,138,157,62,3,232,224,8,208,248,169,128,133,253,160
33 data0,177,254,162,0,10,144,10,72,189,62,3,5,253,157,62,3,104,232,224
34 data8,208,238,70,253,200,192,8,208,227,165,1,9,2,133,1,88,96,162,0,138
35 data221,62,3,208,5,232,224,8,208,246,96,24,165,252,109,61,3,170,240,8
36 data169,32,32,210,255,202,208,250,96
Basic-Lader »Hardcopy VC 1526/MPS 802«
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →