APPLICATIONSCREATION GRAPHIQUE ★ MULTISCREEN|CPC AMSTRAD INTERNATIONAL) ★

MultiScreenTeil 3: PEN-Umwandlung ohne Probleme (CPC Amstrad International '89/07)Teil 4: Strukturveränderungen (CPC Amstrad International '89/08)
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

3. Bildschirmmanipulationen

Das MULTISCREEN-Programm

3.1. Allgemeines

Unsere selbstprogrammierten Quadrate- und Pinselgrafiken sind zwar vielfach recht reizvoll, aber vollgültige Grafiken im alten Sinne des Wortes, also kleine, bis ins letzte ausgefeilte Darstellungen, die auch künstlerischen Wert beanspruchen können, sind die meisten von ihnen doch noch nicht. Das kann sich ändern, wenn wir nun daran gehen, sie mit dem MULTI-SCREEN-Programm zu bearbeiten. Wir tun das nicht, indem wir nun in dem Bild etwa irgendwelche Freihand-gezeichneten Zufügungen machen, sondern durch Bildschirm-Manipula-tionen; das heißt, wir werden daran gehen, den ganzen Bildschirm (oder Teile davon) durch rechnerspezifische Mittel gezielt zu verändern. MULTISCREEN baut auf dem in Heft 1/89, S. 58 vorgestellten KOMBI-SCREEN-Programm auf, ändert es für unsere Zwecke ab und führt es weiter. Wenn Sie es selber abtippen und nicht zur Databox greifen wollen, dann ärgern Sie sich bitte nicht über die so unübersichtlich langen Zeilen! Sie haben ihren guten Grund: Das Programm muß drei Bildschirme gleichzeitig verwalten, und es soll später noch durch zusätzliche, interessante Optionen erweitert werden. Da kommt es auf jedes einzelne Byte Speicherersparnis an — und mit langen Zeilen kann man allerhand sparen. Eine Zeile ist jeweils in einem Zuge abzutippen, also ohne dazwischen auf ENTER zu drücken!

3.2 Grundsätzliches zur Bedienung — Das Kombinieren

Machen Sie sich zunächst mit den Optionen 1 bis 5 des Programms vertraut; in Heft 1/89 werden dafür viele Beispiele mit Bildern gegeben (die dort abgedruckten Programme " Pagode 1" und " Fläche 1" sind übrigens auch typische Pinselgrafiken). Wer dieses Heft nicht zur Hand hat, für den sind vor allem die folgenden Punkte wichtig:

  1. Sie können das Programm jederzeit abbrechen, etwa um irgendwelche Diskettenoperationen vorzunehmen (mit CAT Bilder auf der Diskette suchen, Platz schaffen auf voller Diskette u.a.). Nach jedem Abbruch (auch durch eventuelle Fehlbedienung) führt die kleine ENTER-Taste ins Menü zurück.
  2. Ein auf dem Bildschirm erscheinendes Ergebnis wird erst nach zweimaligem Leertastendruck in den Speicher übernommen; vorher ist jederzeit Abbruch und Rückkehr zum alten Zustand möglich (wichtig etwa, wenn man mehrere Kombinationen nacheinander durchprobieren will).
  3. Wollen Sie Ihre Bilder mit einer anderen Extension als ".BIN" abspeichern (etwa ".PIC"), dann müssen Sie die Zeile 180 entsprechend ändern. Andernfalls sucht das Programm automatisch nach einer Datei mit der Extension ",BIN"(so speichert es die Bilder auch ab).
Probieren Sie nun erst einmal die verschiedenen Kombinationen aus, und sehen Sie, was sie bewirken. Besonders interessant wird es, wenn Sie an einer Pinselgrafik einen Parameter etwas verändern und die beiden Ergebnisse über XOR miteinander kombinieren. Dazu ein aufschlußreiches Beispiel. Setzen Sie im Pinselgrafik-Grund-programm die folgenden Parameter ein:f$="YYYYY" und p=4:s=2. Das speichern Sie als "HOCHHAU1" und fügen dann in das Programm eine neue Parameterzeile ein: 35u=4. Dadurch wird das ganze Bild nach rechts verschoben; speichern Sie es als "HOCHHAU2". Probieren Sie nun bei diesen beiden Hochhäusern die verschiedenen Kombinationen durch! Am schönsten ist wohl die nach XOR.

3.3 Das Konvertieren

Für diese Option wird nur ein Bild als Ausgangspunkt benützt. Ein eventuell schon im Speicher vorhandenes, früheres wird durch das Konvertieren nicht gelöscht und steht danach noch zum Kombinieren zur Verfügung. Probieren Sie auch hier bei all Ihren Bildern einfach durch, was sich alles ergibt. Auf einiges Grundsätzliches ist hinzuweisen:

Das Konvertieren nach AND wandelt eine Grafik in eine "abgespeckte" Version um. Überprüfen Sie das an den "Globen"! Und wenn Sie das Ergebnis gleich noch nach XOR und anschließend noch einmal nach AND konvertieren, haben Sie einen schönen Sternenhimmel als Hintergrund für andere Bilder.

Das Konvertieren nach XOR kann bei Grafiken, die viele schräge Linien und Flächen enthalten, zu besonders interessanten Ergebnissen führen. Nehmen Sie dafür das oben als Beispiel für Pinselgrafik mit Schrägsteuerung gezeigte "Kreuz"! Und erschrecken Sie nicht, wenn jetzt nach einem weiteren Konvertieren nach AND nur ein paar apart strukturierte Linien übrigbleiben. Konvertierungen nach OR machen eine Grafik dicker und fülliger und schließen Löcher im Umriß. Auch längere Konvertierungsfolgen lohnen das Ausprobieren. Nehmen Sie das "Kreuz" und konvertieren Sie: XOR — OR - OR - OR — XOR! Das läßt sich unendlich weiter experimentieren .

3.4. Das Ausfüllen

Auf die Möglichkeiten, die im FILL-Befehl liegen, wurde bereits in Heft 1/89 hingewiesen; um sie bequem nutzen zu können, haben wir sie in MUL-TISCREEN eingebaut und um eine neue, grafisch sehr ergiebige Möglichkeit erweitert: den gestoppten FILL-Befehl.

Freilich, ein Wermutstropfen für CPC-464-Besitzer: Sie können die Option (10) in der hier dargestellten Version nicht nutzen. Aber es gibt einen vorzüglichen Emulator, der auch ihnen den fehlenden FILL-Befehl verschafft. Der läßt sich aus Speicherplatzgründen zwar nicht mit MULTI-SCREEN zugleich verwenden, aber mit dem kleinen Nachteil des Pro-grammwechselns und Nachladens können auch auf dem CPC 464 die Möglichkeiten des Ausfüllens genützt werden.

Laden Sie nun das Bild "Durchbrochener Raum" (Abb.l), und wählen Sie Option (10). Sie werden nach drei Parametern gefragt: Sperrfarbe ist die Farbe, mit der der auszufüllende Bereich umrandet sein muß, mit der Fill-Farbe wird ausgefüllt, und den Buffer "kriegen wir später". Geben Sie zunächst einmal einfach 1,1,1 ein. Ganz links unten (anfangs kaum sichtbar) erscheint ein Pfeil; steuern Sie ihn mit den Cursor-Tasten. Sein linker oberer Punkt markiert die Stelle, von der der Ausfüllvorgang ausgeht. Drücken Sie nun auf < f > , um die entsprechende Fläche zu füllen, und tun Sie das mit einer Reihe der an der linken und rechten Raumwand aufsteigenden Bahnen. Übernehmen Sie dann das Ergebnis durch zweimaligen Leertastendruck, und kombinieren Sie es mit dem vorhergehenden Bild über XOR— schon haben Sie diese apart strukturierten Bahnen isoliert.

Nun das Besondere: Sie können diesen Ausfüllvorgang auch unterbrechen! Sie müssen dazu nur dem Computer den Bufferspeicher, den er für das Ausfüllen braucht und der oft über 1000 Byte groß ist, drastisch beschneiden, und schon kann der Computer das Ausfüllen nicht bis zum Ende durchführen und bricht vorzeitig ab. (Nähere Erläuterungen zu diesen interessanten und komplizierten Vorgängen folgen ein andermal.)

Drücken wir nur die -Taste allein, wie wir es eben getan haben, dann wird die eingegebene Bufferbegrenzung ignoriert, das Ausfüllen geht bis zum Ende; drücken wir aber < CONTROL > und gleichzeitig, wirkt die Bufferbegrenzung! Laden Sie also die "Globen", wählen Sie (10) und geben 1,1,200 ein. Beginnen Sie das Ausfüllen in der Bildmitte in dem großen Loch. Da wird der größere Teil des Bildes gefüllt (warum nicht alles, soll ein andermal erläutert zwerden). Brechen Sie nun ab, und wiederholen Sie das gleiche mit < CONTROL > < f >: Nur ein Teil in der Mitte wird ausgefüllt, und wenn Sie den mit Option (5) isolieren, dann haben Sie eine groteske Struktur, die Sie auf dem Computer mit keiner anderen Methode erreichen können (Abb. 4)!

Wollen Sie die Farben und den Buffer wechseln, so drücken Sie , die Abfragezeile erscheint wieder, und Sie können mit anderen Parametern weiterarbeiten.

Welche Buffergröße sinnvoll ist, läßt sich nicht pauschal beantworten, das ist von Bild zu Bild ganz verschieden. Sehr reich strukturierte Bilder brauchen mehr Buffer als solche, bei denen sich dem FILL-Befehl nur wenige Hindernisse in den Weg stellen. Ist der untere Bildrand frei, so genügt ein Buffer mit nur einem Byte, um das Ausfüllen einmal quer über das ganze Bild laufenzulassen. Eine Vergrößerung des Buffers läßt übrigens den Ausfüllvorgang nicht nur ein Stück weiter ablaufen, sondern verändert auch die aus-

gefüllte Fläche; suchen Sie durch Probieren den Wert herauszufinden, der das interessanteste Bild ergibt. Als Beispiel dienen uns wieder unsere "Globen": Konvertieren Sie sie nach AND, geben Sie dann beim Ausfüllen einen Buffer von 50 ein, und steuern Sie den Cursor-Pfeil in das große Loch links unten am Bildrand, bevor Sie drücken. Sie bekommen dann die fantastische Silhouette einer von einem merkwürdigen Turm überragten Stadt zu sehen (Abb. 5).

Es gibt noch weitere Möglichkeiten, den FILL-Befehl zu unterbrechen und seine Besonderheiten in vielfältiger Weise für grafische Gestaltungen heranzuziehen; das näher darzustellen, muß einem späteren Artikel vorbehalten bleiben.

3.5. Abschluß

Zu den Spiegeloptionen ist, wenn Sie im MODE 2 arbeiten, nichts weiter zu erläutern; Sie können sie zur weiteren Umgestaltung Ihrer Bilder heranziehen.
Aber wenn Sie ein Bild im MODE 1 oder MODE 0 spiegeln, geschieht Merkwürdiges: Die Farbe wechselt! Sie werden sich vielleicht schon gefragt haben, warum in diesem ganzen Beitrag nirgends von der Farbe die Rede war; aber das ist ein eigenes Kapitel, mit dem wir uns demnächst einmal befassen werden. Nun, MULTI-SCREEN ist noch erweiterungsfähig, und es warten noch einige interessante Optionen: PEN umwandeln, Rastern, Bytes manipulieren — es gibt noch viele Möglichkeiten, über die Sie demnächst einmal mehr erfahren sollen. Und für CPC-6128-Besitzer wird es interessant werden, zu erfahren, wie sie die zweite Speicherbank nutzen können; dann verwaltet unser Programm gleich eine ganze Reihe von Bildern und wird zum echten "MULTI"-SCREEN. Doch fürs erste haben Sie wohl mit dem hier gebotenen bereits genug Material fürs grafische Gestalten.

Viel Spaß dabei wünscht Ihnen

CPCAI

Im Zauberreich der Grafik

Wie in der Ausgabe 3/89 angekündigt, wollen wir nun unseren Streifzug durch die fantastischen Grafikmöglichkeiten des CPC fortsetzen. Wichtig ist dabei wieder das MULTISCREEN-Programm (Heft 3/89, S.12), das uns zum Bearbeiten der Grafiken dient.

Diejenigen, die das Programm nicht haben, Sie bekommen es in dieser Ausgabe nachgeliefert.

Das Programm auf dem Titelbild der PC Amstrad Ausgabe 3/89 und im Aufmacherfoto des dazugehörigen Artikels (Seite 12) stammt nicht vom Autor dieses Beitrags, sondern von einem unserer Redakteure. Es ist übrigens kein bloßer Witz, wie manche Leser vielleicht gedacht haben, sondern ergibt, mit einigen ganz kleinen Änderungen, zwar kein Brötchen, aber ein sehr interessantes Interferenzenbild:

100 REM Broetchen, frei nach CPC 3/89, Titelbild
105 MODE 2:ORIGIN 320,-100
110 FOR n=100 TO 630
115 MOVE 0,500
120 DRAU -320*SIN(320*n/256),-200*COS(200+170*0.5)
130 NEXT n

Speichern Sie die apart gemusterte Pyramide, die dieses “Brötchen“-Programm ergibt, und bearbeiten Sie sie mit MULTISCREEN! Sie werden staunen: Jedes Konvertieren dieses Bildes ergibt neue Interferenzmuster (z.B. Bild I). Konvertieren Sie auch mehrfach hintereinander; besonders hübsch die Abfolge OR/XOR oder dreimal AND, einmal XOR. Oder Sie spiegeln das Bild senkrecht, kombinieren dieses Spiegelbild mit dem Ausgangsbild über XOR und konvertieren dieses neue Ergebnis nach AND (Bild 2). Unendlich viele andere Möglichkeiten des Kon-vertierens und Kombinierens gibt es; Sie haben in diesem “Brötchen"-Pro-gramm in Verbindung mit MULTISCREEN eine unerschöpfliche Studie über das Entstehen und Verschwinden von Interferenzen. Nun aber zum Thema unseres heutigen Beitrags: die Möglichkeiten des Ausfüllens.

Der FILL-Befehl: Grundlagen

CPC-464-Besitzer brauchen bei diesem neuen Thema das Heft nicht enttäuscht beiseite zu legen! Auch sie können alle Möglichkeiten dieses Befehls in ihren Programmen einsetzen, wenn sie den “Emulator“ von M. Uphoff (in jedem Sonderheft) verwenden. Dieses kleine, aber sehr leistungs starke Programm ist ohnehin für CPC-464-Besitzer eine fast unerläßliche Arbeitshilfe und ermöglicht ihnen die Verwendung all der Befehle, die sonst nur die “größeren Brüder“ besitzen. Auch das COPYSHOP-Programm stellt einen auf allen CPCs lauf-fähigen FILL-Befehl zur Verfügung. Und schließlich werden Sie auch noch einen ebenfalls auf allen CPCs verwendbaren “Exotic-FILL“ kennenlernen. Genug Material also auch für den CPC 464!

Die Syntax des FILL-Befehls scheint einfach: FILL < färbe >, wobei für < färbe > eine dem jeweiligen MODE entsprechende PEN-Nr. eingesetzt werden muß, also 0 oder 1 im MODE 2, 0 bis 3 im MODE 1, 0 bis 15 im MODE 0. Aber oft rührt sich nach diesem Befehl noch gar nichts! Es muß nämlich noch eine Bedingung erfüllt sein: Der (unsichtbare) Grafik-Cursor, von dem der Ausfüll Vorgang ausgeht, darf nicht auf einem in der sogenannten Sperrfarbe gesetzten Punkt liegen. Als Sperrfarbe gilt dabei ebenso der PEN, mit dem ausgefüllt wird, wie der PEN, mit dem der auszufüllende Bereich umrandet ist.

Will man also von einer Grafik im MODE 2 etwas weglöschen, so genügt nicht die Angabe FILL 0; es muß vorher auch noch auf den GRAPHICS PEN 0 umgeschaltet werden, da der FILL-Befehl sonst, weil er auf einer Sperrfarbe beginnen müßte, gar nicht erst zum Wirken kommt. Daß der auszufüllende Bereich von einer vollkommen geschlossenen Linie in der Sperrfarbe umgeben sein muß, ist Ihnen sicher bekannt. Läuft die Farbe aus, so hilft MULTISCREEN beim Schließen der Lücken: < s >- und < w >-Taste setzen beim kurzen Antippen an der Position des Cursorpfeils einen Punkt, bei längerem Niederdrücken zeichnen sie eine senkrechte beziehungsweise waagerechte Linie. Probieren wir das Füllen an einem lustigen Beispiel aus. Wir nehmen dafür eine Quadrate-Grafik, bei der von den vier Seiten des Quadrats nur eine einzige übriggeblieben ist:

5 REM Ausgangsbild zur "Oma"
10 MODE 2: DEG
20 a=46:b=26:f=1.02:n=181:r=6:w=5:GOSUB 50
30 a=-46:w=-5:GOSUB 50
40 CALL &BB18: END
50 ORIGIN 320+a,200+b
60 x=r:y=r
70 FOR 1=1 TO n
80 PLOT x,y
90 DRAW -y,x
100 xx=x*COS(w)-y*SIN(w):y=x*SIN(w) +y*COS(w)
110 x=xx*f:y=y*f
120 NEXT i: RETURN

Wollen wir in diesem Bild die vier großen Flächen ausfüllen, um es zum Gesicht einer “Oma im Spitzenhäubchen“ umzugestalten, so geht das mit den großen Außenflächen einfach. Wir fügen die Zeile ein:

31 ORIGIN 0,0: FILL 1: MOVE 0,639: FILL 1

Sollen aber auch die beiden Innenflächen und dazu noch die störenden kleinen Rauten am oberen Bildrand ausgefüllt werden, wird es schwierig; wie findet man die richtigen Koordinaten? Hier hilft MULTISCREEN! Fügen Sie die folgende Zeile ein:

405 IF INKEY(63)=0 THEN TAGOFF:LOCATE 1,1:PRINT x, y:TAG

Laden Sie nun das Ausgangsbild, wählen Sie Option 10 (Ausfüllen), und steuern Sie den Pfeil mit den Cursortasten zu den Feldern, die Sie ausfüllen möchten. Jedesmal, wenn Sie jetzt die x-Taste drücken, werden die X- und Y-Koordinaten des betreffenden Punktes ausgegeben. Notieren Sie diese Koordinaten, und fügen Sie sie dann in das ursprüngliche Programm in der folgenden Form ein:

31 ORIGIN 0,0: FOR i=1 TO 9:READ x,y:MOVE x,y:FILL 1:NEXT i
32 DATA 0,0,393,34,393,146,393,198, 290, 394, 304, 394,320, 394,334,394, 350,394

Bei jedem Durchlauf der FOR... NEXT-Schleife wird nun aus der DATA-Zeile ein Koordinatenpaar eingelesen, der Grafik-Cursor dorthin bewegt und die entsprechende Stelle ausgefüllt.

Dieses Ausfüllen mehrerer Stellen können Sie natürlich, wenn es Ihnen nur um das fertige Bild geht, auch mit MULTISCREEN erledigen (Option 10 und f-Taste). Aber wenn Sie die Grafik vielleicht als Titelbild eines eigenen Programms verwenden möchten, ist es sehr reizvoll, das Entstehen auf dem Bildschirm mitverfolgen zu können. Das Tüpfelchen auf dem i ist bei der “Oma“ (Bild 3) dann noch das Zufügen der Augen mit der Zeile 33:

33 TAG: KOVE 272,236: PRINT CHR$ (144);:MOVE 360,236:PRINT CHR$(144);

2.Der FILL-Wechsel als “Bildfresser“

Damit sind die Möglichkeiten des FILL-Befehls noch lange nicht erschöpft! Wichtig ist vor allem die interessante Tatsache, daß ein wiederholter Wechsel von FILL 1 -FILL 0 eine Bildstruktur allmählich aufzehren und dabei sehr interessante Zwischenstufen hinterlassen kann. Das soll an einer reizvollen Quadrate-Grafik gezeigt werden:

5 REM Mosaikstern
10 MODE 1:DEG:PRINT CHR$(23)CHR$(1)
20 a=0:b=0:f=1.02:n=214:r=2:v=45:GOSUB 60
30 CALL &BB18:END
40 ORIGIN 320+a,200+b:x=r:y=r: FOR i=1 TO n
50 PLOT x,y:DRAW -y,x:DRAW -x,-y:DRAW y,-x:DRAW x,y
60 xx=x*COS(w)-y=SIN(w):y=x*SIN(v) + y*COS(w)
70 x=xx*f:y=y*f
80 NEXT i: RETURN

Es lohnt sich übrigens, die ständig wechselnden aparten Sternformen dieser Grafik im einzelnen zu verfolgen. Fügen Sie dazu ein:

95 CALL &BB18

Nun aber der FILL-Wechsel! Er wird zugefügt durch die Zeile:

25 ORIGIN 0,0:GRAPHICS PEN 1:CALL &BB18 :FILL 1:GRAPHICS PEN 0: CALL &BB18: FILL 0:GOTO 25

Beachten Sie dabei, daß vor dem Ausfallen mit PEN 0 auch auf GRAPHICS PEN 0 umgeschaltet werden muß. Bei jedem Tastendruck läuft nun ein weiterer Ausfüllvorgang ab, der eine neue Bildstruktur ergibt, bis schließlich das Ganze aufgezehrt ist. Probieren Sie das auch mit der Angabe ORIGIN 320,190 in Zeile 25! Dabei ergeben sich w'ieder ganz andere Figuren, und wenn Sie die beim vierten Ausfüllen mit PEN 1 entstandene über AND mit dem ursprünglichen Stern kombinieren, erhalten Sie ein reich strukturiertes Gebilde, das an ein geschmiedetes Grabkreuz erinnert (Bild 4).

Erproben wir nun die Möglichkeiten des wechselnden Ausfüllens an einer neuen Pinselgrafik:

5 REM Eiglobus
10 MODE 2:PRINT CHR$(23)CHR$(0) :TAG
20 SYMBOL 254,170,128,130, 128, 128, 130, 128, 170
30 a=280:b=206:c=254:f=8:p=2: r=210: GOSUB 50
40 CALL &BB18 :END
50 f$="":f$=S?RING$(f,c) :0RIGIN a,b
60 FOR x=r T0 -r STEP -0.5:y=1.7* SQR(r↑2-x↑2):y=y*SIN(y)
70 MOVE y, x: PRINT f$;: KOVE y+p, x:PRINT f$;
80 MOVE -y,x:PRINT f$; :MOVE -y+p,x:PRINT f$;:NEXT X
90 RETURN

Für die elliptisch langgezogene Gestalt dieses Bildes ist die Tatsache verantwortlich, daß in Zeile 60 der für y zunächst errechnete Wert noch mit 1.7 multipliziert wird. Je größer dieser Faktor wird, desto mehr zieht sich das Ei in die Breite; wird er kleiner als 1 (probieren Sie z.B. 0.5!), so stellt es sich auf die Spitze und bekommt einen sehr plastisch wirkenden Mittelteil. Nun geht es ans wechselnde Ausfüllen. Machen Sie das mit einer zugefügten Zeile:

35 ORIGIN 320,190: F0Ri=1 TO 3: GRAPHICS PEN 1: FILL 1:GRAPHICS PEN 0: FILL 0:NEXT:GRAPHICS PEN 1

oder über MULTISCREEN von der Mitte aus (Option 1 und abwechselnd 1,1.1 — Füllen - Tabulatortaste — 0,0.1 - Füllen, usw). Beginnen Sie dabei jeweils in der Mitte des großen Loches. Schon beim ersten Ausfüllen mit PEN 0 bemerken Sie, w'ie da zunächst hochinteressante Häuserstrukturen mit Fenstern stehenbleiben, die aber dann vom weiterlaufenden Ausfüllen leider weggelöscht werden.

3. Das Unterbrechen des FILL-Befehls

Wenn man dieses Ausfüllen unterbrechen könnte! Nun, das können wir ja mit MULTISCREEN, und zwar über die Bufferbegrenzung (siehe Ausgabe 3/89, Seite 16). Probieren wir es also mit der Angabe 1,1,1 und anschließend 0,0,1, wieder von der Mitte aus, wobei wir beim zweitenmal < CONTROL > und f-Taste gleichzeitig drücken, so daß die Bufferbegrenzung wirksam wird. Nun wird das Ausfüllen gestoppt - aber das Ergebnis ist wenig befriedigend, es entsteht nur in der Mitte der hellen Fläche ein großes Loch. Verkleinerung des Buffers hilft auch nichts, da w'ird das Loch eben etwas kleiner, aber die Häuser von vorhin wollen nicht entstehen. Das hängt mit der Arbeitsweise des FILL-Befehls zusammen.

Er “merkt“ sich alle noch nicht ausgefüllten Punkte, an denen er vorbeikommt, in einem bestimmten Speicherbereich, eben dem Buffer. Wenn der klein ist, kann er gar nicht so weit wie sonst in das Innere einer kompliziert gebauten Grafik Vordringen, sondern beginnt bald damit, den vollen Buffer abzuarbeiten — und dabei entsteht eben meist ein einfaches, grafisch nicht sehr wirkungsvolles Loch. Wer das COPY-SHOP-Programm besitzt, hat da schon eher Möglichkeiten. Der Ausfüllvor-gang dieses Programms läßt sich unterbrechen! Damit ist schon vieles möglich. Aber leider ist dieser FILL-Bcfehl nach einem anderen Prinzip gebaut als der des CPC-BASIC; er geht viel logischer und zusammenhängender und damit, was das Ausfüllen betrifft, sehr sinnvoll vor. Aber gerade infolge dieser rationellen Arbeitsweise erzeugt er nicht die weit ausgreifenden, bizarren Strukturen, die den CPC-FILL grafisch so reizvoll machen. Und der ist eine im ROM verankerte Maschinenroutine, in deren Ablauf, so glaubt man allgemein, nicht eingegriffen werden kann. Oder sollte das doch möglich sein? Nun, wir stellen Ihnen hier ein Programm vor, das Sie zwar, falls Sie nicht zur DATABOX greifen wollen, einige Tipparbeit kosten wird - aber es lohnt sich! Sie haben damit die Möglichkeit, den originalen Strukturverlauf des CPC-FILL-Befehls an jeder Stelle zu unterbrechen und den jeweiligen Zustand abzuspeichern.

Hier dieser FILL-Unterbrecher:

1000 1 FILL-Unterbrecher CPC 664/6128 (nach einer Idee von Seb.Belzner)
1010 DATA ED,73,2A,AE,DD,7E,00,F5,CD,00,B9,F1,E5,F5,CD,64,FC,CD,FC,F6,01,1D,00,CD,DE,FF,3E,07,DA,55,CB,EB,E5,D5,CD,03,B9,D1,E1,F1,CD,27,A3,E1,C9,22,A5,B6,36,01,1B,ED,53,A7,B6,CD,AD,A4,32,AA,B6,CD,B1,A4,CD,B5,A4,DC,93,a4,D0,E5,CD,35,A4,E3,CD,63,A4,C1,3E
1020 DATA FF,32,A9,B6,E5,D5,C5,CD,59,A3,C1,D1,E1,AF,32,AB,B6,CD,2C,A4,CD,B5,A4,DC,9E,A3,38,F5,2A,A5,B6,E7,FE,01,28,2A,32,AB,B6,EB,2A,A7,B6,01,07
...

Die Numerierung ab 1000 ermöglicht es, daß Sie das Programm jederzeit an ein Bildprogramm, an dem Sic gerade arbeiten, mit MERGE anhängen können. Fügen Sie dann vordem abschließenden EN D-Befehl ein: GOTO 1000. Sie können natürlich auch ein fertiges Bild von Diskette laden und das Unterbrecherprogramm anschließen. Geben Sie zunächst einen Namen für das abzuspeichernde Bild ein, und steuern Sie, wie in MULTISCREEN, den links unten erscheinenden Pfeil mit den Cursortasten. Die f-Taste leitet das Ausfül-lcn ein, durch zweimaligen Druck vo < ESC > wird es gestoppt. Wollen Sie es weiterlaufen lassen, drücken Sie eine beliebige Taste; wollen Sie aber den augenblicklichen Zustand abspeichern, so drücken Sie ein drittes Mal < ESC > und anschließend die Leertaste. Jetzt wird gespeichert; danach kann das Ausfüllen an einer anderen Stelle fortgesetzt und ebenso wieder unterbrochen werden, nur daß jetzt schon nach dem ersten Druck von < ESC > gestoppt, nach dem zweiten gespeichert wird. So bekommen Sie mehrere Füll-Zustände (bis zu 9 sind möglich!) auf der Diskette, können die besten heraussuchen und über MULTISCREEN bearbeiten (Bild 5). Weiches Programm liefert Ihnen sonst ein solches Bild? Leider ist es zu groß, als daß man es einfach an MULTISCREEN anhängen könnte. Aber in der nächsten Ausgabe bieten wir Ihnen eine Möglichkeit, von MULTISCREEN aus mit dem FILL-Unterbrecher zu arbeiten.

4. Ausfällen, leicht exotisch

Leider läuft der FILL-Unterbrecher nicht auf dem CPC 464. Damit auch dessen Besitzer zu ihrem Recht kommen, stellen wir Ihnen abschließend ein auf allen CPCs verwendbares Aus-füllprogramm vor, das Ihnen sicher ein Schmunzeln entlocken wird; denn es geht sehr eigenwillige Wege und erzeugt höchst exotische Füllmuster. Zudem frißt es sich mit provozierender Langsamkeit durch eine komplizierte Grafik (nur für solche Bilder, wie z.B. den “Eiglobus“, ist es geeignet); Sic können sich, während es arbeitet, ruhig zu einer Tasse Kaffee niedersetzen und von Zeit zu Zeit den erreichten Zustand durch Druck auf die Leertaste abspe ehern. Geht es Ihnen gar zu eigenwill ge Wege, so können Sie es mit der T bulatortaste stoppen, den Cursorpfc woanders hinbewegen und dort foi fahren. So bekommen Sie krau: Strukturen, wie sie Ihnen kein anden Programm liefern kann:


1000 REM Exotic-FILL (nach einer Idee v-Sebastian Belzner)
1010 ORIGIN 0,0:SYMBOL 255,128,192,224,240,248,252,16,8:z=49:GRAPHICS PEN 1
...

Viel Spaß mit diesem Exotic-FILL! In der nächsten Ausgabe werden wir dann sehen, wie die verschiedenen FILL-Befehle sich gegenüber den Farben verhalten und wie die Besonderheiten der Farbdarstellung im CPC sich für neue grafische Strukturen nützen lassen.

Friedrich Belzner/cd , CPCAI

★ PUBLISHER: CPC Amstrad International
★ YEAR: 1988
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LICENCE: LISTING
★ AUTHOR: Friedrich Belzner
  

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» MultiScreen-Teil  3    (CPC  Amstrad  International)    GERMANDATE: 2020-07-04
DL: 94 fois
TYPE: ZIP
SIZE: 7Ko
NOTE: 40 Cyls
.HFE: NON

» MultiScreen-Teil  4    (CPC  Amstrad  International)    GERMANDATE: 2020-07-04
DL: 27 fois
TYPE: ZIP
SIZE: 5Ko
NOTE: 40 Cyls
.HFE: NON

» MultiScreen-Teil  5  v20.6.89    (CPC  Amstrad  International)    GERMANDATE: 2020-07-04
DL: 63 fois
TYPE: ZIP
SIZE: 7Ko
NOTE: 40 Cyls
.HFE: NON

» MultiScreen  v23.12.88    (CPC  Amstrad  International)    GERMANDATE: 2020-07-04
DL: 63 fois
TYPE: ZIP
SIZE: 5Ko
NOTE: 40 Cyls
.HFE: NON

» MultiScreen  v28.2.88    (CPC  Amstrad  International)    GERMANDATE: 2020-07-04
DL: 81 fois
TYPE: ZIP
SIZE: 5Ko
NOTE: 40 Cyls
.HFE: NON

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Graphics Designer (Your Computer)
» Applications » 3D Character Design
» Applications » GRATOP: Top Graphik (CPC Magazin)
» Applications » Graphics Extensions (Your Computer)
» Applications » Gpaint (CPC Attack!)
» Applications » Symétrie

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 108 millisecondes et consultée 1212 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.