Der besondere Leckerbissen — die mehrfarbige Hardcopy
Mit Ihrem Commodore 64 und einem VC 1520-Plotter können Sie farbige Hardcopys produzieren.
Das Programm arbeitet als Basic-Lader mit Maschinencodeteil in Form von DATA-Zeilen. Der Maschinenspracheteil operiert im Bereich ab $6000, der meines Wissens bei allen gängigen Basic-Versionen zur Verfügung steht. Das bedeutet, daß das Programm mit ihnen lauffähig ist und Hardcopys ihrer Grafikseiten machen kann, selbst wenn diese, wie bei Simons Basic, unter dem ROM liegen. Man braucht nur die Startadresse der Grafikseite einzugeben, und schon setzt sich der Plotter in Bewegung. Die Kopierdauer liegt bei zirka 12 bis 13 Minuten für eine einfarbige Kopie und bei einer halben bis dreiviertel Stunde für eine mehrfarbige Kopie. Dabei gilt: je geringer die Bildgröße, desto schneller die Kopie. Aber auch eine große Grafik wird dann schnell ausgedruckt, wenn sie wenig unterbrochene Linien enthält.
(Klaus Schneider/rg)10 rem maschinensprachehardcopyroutine 20 rem 1520/c64 30 rem (c) 13.6.1984 40 rem bei 50 rem klaus schneider 60 rem bahnhofstr. 5 70 rem 493 detmold 80 rem 90 rem *********** eingabe ************ 100 rem 110 print chr$(147) 120 print " soll die kopie mehrfarbig werden (j/n)" 130 get a$ : if a$="" then 130 140 ifa$="j"thenpoke1000,1:print" ja":g=3 150 ifa$="n"thenpoke1000,0:print" nein":g=1 160 fori=1tog 170 print" bitte geben sie die";i;"{left}. farbe (0-3) an!" 180 get b$ : if b$<"0" or b$>"3" then 180 190 poke1000+i,val(b$):print" "+b$ 200 print 210 nexti 220 rem 230 rem ****** test auf routine ******* 240 rem 250 for i=0 to 10 260 read a 270 b=peek(24576+i) 280 if b<>a then 310 290 next i 300 goto 440 310 restore 320 rem 330 rem ****** poken der routine ****** 340 rem 350 print chr$(147) 360 print tab(13) "bitte warten" 370 for i=0 to 825 380 read a 390 c=c+a 400 poke 24576+i,a 410 next i 420 if c<>87544 then print " fehlerhafte daten !!!" : end 440 rem 450 rem ***** eingabe der adresse ***** 460 rem 470 print chr$(147) 480 print " bitte geben sie die startadresse der " 490 print 500 input " grafik ein! ";a 510 b=int(a/256) 520 poke 24647,b : poke 24640,a-b*256 530 rem 540 rem ***** starten der routine ***** 550 rem 560 sys 6*4096 570 print chr$(147) 580 rem 590 rem ****** ggf. wiederholung ****** 600 rem 610 print " wollen sie noch eine kopie (j/n) ?" 620 get a$ : if a$="" then 620 630 if a$<>"j" then end 640 print 650 print " mit denselben parametern (j/n) ?" 660 get a$ : if a$="" then 660 670 if a$<>"j" then run 680 goto 560 690 rem 700 rem ********** die daten ********** 710 rem 720 data 162,0,142,14,220,120,134,183,232,134,184,134,185,162,6,134,186,32,192 730 data 255,162,2,134,184,134,185,162,0,134,183,162,6,134,186,32,192,255,162 740 data 0,142,64,3,142,65,3,142,67,3,142,70,3,142,71,3,142,72,3,142,73,3,142 750 data 76,3,162,0,134,247,142,148,97,162,224,134,248,142,152,97,162,1,142 760 data 75,3,162,208,142,163,96,142,215,96,162,2,32,201,255,173,233,3,24,105 770 data 48,32,210,255,169,13,32,210,255,32,204,255,169,52,133,1,160,0,177,247 780 data 162,55,134,1,72,24,165,247,105,8,144,2,230,248,133,247,173,232,3,240 790 data 56,104,162,0,142,74,3,10,46,74,3,10,46,74,3,72,170,174,74,3,236,75 800 data 3,208,3,32,0,98,238,73,3,238,65,3,208,3,238,64,3,238,65,3,208,3,238 810 data 64,3,173,73,3,201,4,208,203,76,238,96,104,162,0,142,74,3,24,10,46,74 820 data 3,72,173,74,3,205,75,3,208,3,32,0,98,238,73,3,238,65,3,208,3,238,64 830 data 3,173,73,3,201,8,208,215,162,0,142,73,3,104,238,72,3,173,72,3,201,40 840 data 176,3,76,112,96,173,76,3,240,3,32,0,98,238,67,3,173,78,3,141,65,3,173 850 data 77,3,141,64,3,32,0,98,162,0,142,72,3,142,64,3,142,65,3,142,76,3,169 860 data 208,141,163,96,141,215,96,198,248,165,247,56,233,63,176,2,198,248,133 870 data 247,238,71,3,173,71,3,201,8,240,3,76,112,96,162,0,142,71,3,230,248 880 data 165,247,24,105,56,144,2,230,248,133,247,238,70,3,173,70,3,201,25,240 890 data 3,76,112,96,32,204,255,173,232,3,208,3,76,246,97,238,75,3,173,75,3 900 data 201,4,240,119,162,0,142,70,3,142,67,3,142,64,3,142,65,3,142,77,3,142 910 data 78,3,162,0,134,247,162,224,134,248,162,1,32,201,255,162,0,138,72,189 920 data 231,97,32,210,255,104,170,232,224,9,208,241,162,1,32,201,255,162,0 930 data 138,72,189,240,97,32,210,255,104,170,232,224,6,208,241,162,2,32,201 940 data 255,173,75,3,56,233,1,168,185,233,3,24,105,48,32,210,255,169,13,32 950 data 210,255,32,204,255,76,112,96,77,44,48,44,45,50,48,49,13,77,44,48,44 960 data 48,13,32,47,243,169,1,141,14,220,88,96,173,64,3,72,173,65,3,72,173 970 data 67,3,72,162,0,142,67,3,142,68,3,142,69,3,201,100,144,8,233,100,238 980 data 67,3,76,23,98,201,10,144,8,233,10,238,68,3,76,35,98,201,1,144,8,233 990 data 1,238,69,3,76,47,98,173,65,3,174,64,3,240,17,162,2,142,64,3,162,5,142 1000 data 65,3,232,142,66,3,76,95,98,162,0,142,64,3,142,65,3,142,66,3,201,100 1010 data 144,8,238,64,3,233,100,76,95,98,201,10,144,8,238,65,3,233,10,76,107 1020 data 98,201,1,144,8,238,66,3,233,1,76,119,98,173,65,3,24,105,8,141,65,3 1030 data 173,66,3,201,10,144,8,233,10,141,66,3,238,65,3,173,65,3,201,10,144 1040 data 11,233,10,141,65,3,238,64,3,76,155,98,162,1,32,201,255,173,76,3,240 1050 data 8,169,68,32,210,255,76,196,98,169,77,32,210,255,169,44,32,210,255,173 1060 data 64,3,24,105,48,32,210,255,173,65,3,24,105,48,32,210,255,173,66,3,24 1070 data 105,48,32,210,255,169,44,32,210,255,169,45,32,210,255,173,67,3,24,105 1080 data 48,32,210,255,173,68,3,24,105,48,32,210,255,173,69,3,24,105,48,32,210 1090 data 255,169,13,32,210,255,104,141,67,3,104,141,65,3,104,141,64,3,173,163 1100 data 96,73,32,141,163,96,141,215,96,173,76,3,73,1,141,76,3,173,65,3,141 1110 data 78,3,173,64,3,141,77,3,96