IFLI-Farben


IFLI-Palette
GoDots IFLI-Palette

IFLI ("Interlaced Flexible Line Interpretation") ist ein Darstellungsmodus des C64, bei dem durch sehr schnelle abwechselnde Anzeige zweier kompletter Bilder, die um einen Pixel waagerecht versetzt sind, dem Auge vorgegaukelt wird, dass entweder viel mehr Farben im Bild enthalten sind, als tatsächlich vorhanden (das Auge wird wegen seiner Trägheit getäuscht), nämlich bis zu 136 Farben, oder dass auch 16-farbige Multicolor-Bilder eine Auflösung von 320×200 Pixeln hätten. Nachteil dieses Darstellungsmodus ist, dass die Bildanzeige je nach den gewählten Farben an der Überlagerungsposition bisweilen unangenehm flimmern kann.

Das GIF-Bild rechts enthält die GoDot-IFLI-Palette mit diesen 136 Farben. Die gekennzeichnete Diagonale von links oben nach rechts unten markiert die Original-C64-Farben, deren GoDot-RGB-Werte man auf dieser Seite nachlesen kann. Obwohl die Palette 256 Farbeinträge (16×16) hat, enthält sie tatsächlich nur die 136 theoretisch im IFLI-Modus erzielbaren Farben, denn die Mischfarben der beiden FLI-Bildkomponenten eines IFLI-Bildes sind an der eben genannten Diagonalen gespiegelt und kommen in der Palette jeweils zweimal vor.

Wie geht GoDot beim Erzeugen dieser Pseudofarben vor? Wie schon gesagt, braucht man für den IFLI-Modus zwei komplette Bilder im Speicher, die um einen Pixel waagerecht versetzt in schneller Folge nacheinander angezeigt werden. Im Auge vermischen sich die Farben der Bildpunkte, die dabei an der gleichen Bildschirmposition erscheinen. Diese Vermischung sehen wir als neue Farbe.

Um nun möglichst einfachen Zugriff sowohl auf Bild 1 als auch auf Bild 2 (und auf die jeweilige Pixelkombination) zu haben, speichert GoDot die beiden Bilder ineinander verwoben ab. Das erste Bild wird auf geraden Pixelpositionen abgelegt (Pixel 0, 2, 4, 6...) und das zweite Bild auf den ungeraden (Pixel 1, 3, 5, 7...), was man im Beipiel unten gut erkennen kann.

Zur Erläuterung: Die Farbanordnung im Bild der IFLI-Palette hier rechts ist so gewählt, dass eine Mischfarbe eindeutig den beiden Komponenten der C64-Ausgangsfarben zugeordnet werden kann. Beispiel: gelb ($DD, also Schnittpunkt von "0D" und "D0", s. Beschriftung oben und links) und hellrot ($99, also "09" und "90") ergibt in der Kombination hellorange ("9D" und "D9") - egal also, ob gelb im oberen Nibble oder im unteren Nibble steht, die Kombination mit hellrot ergibt immer hellorange bzw. sandfarben.

Zur Veranschaulichung hier drei Pixelkombinationen und ihre scheinbaren Farben:

rot/dunkelgrau
Aus rot/dunkelgrau ($34)...
dunkelrot
...wird dunkelrot
hellrot/gelb
Aus hellrot/gelb ($9d)...
sandfarben
...wird sandfarben
orange/grün
Aus orange/grün ($6a)...
oliv
...wird lindgrün

Diese verwobene Anordnung bringt Vorteile bei den Zuweisungsroutinen GoDots. Aber: Je weiter eine Farbe von der Diagonalen entfernt ist, desto mehr flackert sie auf einem C64 im IFLI-Modus. Solche Farbkombinationen werden daher in GoDots Lader-Renderroutinen unterdrückt. Sie liefern nur maximal 64 der 136 Farben (nicht jedoch die beiden Saver PCX-VGA und PNG, die alle überhaupt möglichen Farbkombinationen abdecken).

Die IFLI-Farben wurden nicht nach Augenschein gemischt, sondern rechnerisch bestimmt: die drei RGB-Anteile der beiden Komponenten aus der GoDot-Palette sind jeweils arithmetisch gemittelt. So ist die Zuweisung technisch am ausgewogensten. Auch optisch erzeugt GoDot hervorragende Konversionen (Bildbeispiele s. Saver PNG).

Zum Anschauen von IFLI-Bildern gibt es den Saver XRay64 (der IFLI-Bilddateien mit eingebauter Anzeigeroutine erzeugt), das Modul DisplayIFLI und auf den GoDot-Disketten das Zusatzprogramm IFLI-Diashow (für Funpaint2-Bilder).


Korrespondierende Module: IFLI, GIF (mit DecodeGIF oder DecodeGIF64c), PCXprep4IFLI, Recolor, RevealIFLI, PCX-VGA, PNG


Beispiel:

Originalfarben
Die umrahmte Stelle im Originalbild. In der Konvertierung werden die verschiedenen
Rot- und Orangetöne durch Pixelkombinationen angenähert (nächstes Bild).
IFLI-Anordnung
Die Anordnung der beiden Halbbilder im 4Bit-Speicher nach der Konvertierung durch GoDot.
Das ganze Bild
Übersicht. Der weiß umrahmte Teil ist in den beiden großen Bildern
vergrößert worden.

zurück

Arndt Dettke
support@godot64.de