mod.SetColorbase

v1.00 14.03.18


SetColorbase
Das Modul "SetColorbase".

Wenn man im Netz nach C64-Bildern sucht, trifft man - bei denen, die einen beeindrucken - meistens auf Bilder, die in den Farben der sogenannten Pepto-Palette abgespeichert wurden. Diese Farbpalette ist aus viel Forschung und Berechnung entstanden und beansprucht für sich, die C64-Farben auf ideale Weise darzustellen. Bilder mit Pepto-Farben sehen immer etwas dunkel und gedeckt aus, ein Eindruck, der dem landläufigen C64-User so ganz und gar unbekannt vorkommen dürfte, denn was er an seinem eigenen Monitor sieht, stellt sich meistens viel farbkräftiger dar.

Wie dem auch sei, es gibt sehr viele solcher Bilder im Netz zu finden. Man kann sich auf einem PC auch sehr an ihnen erfreuen. Auf einem C64 bekommt man die Bilder üblicherweise nicht ordentlich angezeigt (wenn man nicht das Bild im Originalformat vorliegen hat).

Wie gut, dass es da GoDot gibt, das auch Pepto-Bilder so einlesen kann, dass kein Pixel des Originals verloren geht. Und dann im zweiten Schritt sogar in der Lage ist, diese Bilder mit einer ganz anderen Farbpalette wieder abzuspeichern, die einen vielleicht noch mehr beeindruckt, weil sie die Farbigkeit des C64 ebenfalls übermittelt!

Pepto-Farben
Dieses Bild (Autor: wer?) in den Pepto-Farben: eher gedeckt.
Umgewandelt in Deekay-Farben
Das gleiche Bild in den Farben des unvergleichlichen Deekay: herrlich, wirklich beeindruckend!.

Was braucht man dazu? SetColorbase, dazu die Riege der Lader für Fremdformate und den Saver GIF. Wie wendet man das Modul an? Vor dem Laden der Bilder stellt man einfach mit SetColorbase die gewünschte Farbpalette ein (die man in dem Bild vermutet) und lädt das Bild. Welche Optionen hat man? Die Auswahl der Farbpaletten (GoDot, Pepto, Deekay, VICE, Colodore, CoCo und c64pixels, mehr dazu siehe auch beim Saver GIF).

SetColorbase findet beim Starten selbst heraus, welche Farbeinstellung zuletzt eingestellt war und zeigt diese dann an (in den meisten Fällen sicher "GoDot"). Wenn man jetzt mit Leave das Modul verlässt, passiert in den entsprechenden Ladern gar nichts weiter und sie verhalten sich wie eh und je (die geladenen Pepto-Bilder sehen dann eher "bescheiden" aus). Aber sonst...

Hinweis: Das bestbestückte Archiv von schönen und beeindruckenden C64-Bildern findet sich im Netz unter c64pixels.com, lauter Bilder, die in Compos für Aufsehen gesorgt haben, Bilder, die einerseits in den ungewöhnlichsten C64-Grafikmodi angezeigt werden, aber auch umwerfende Multicolor- und sogar Hiresbilder. Die Vorschaubilder auf c64pixels.com sind im Format 320×200 Pixel, haben eine eigene (von SetColorbase unterstützte) Palette und können deshalb gut als GIF abgespeichert und in GoDot mit dem zugehörigen Lader importiert werden (mit zusätzlich installiertem DecodeGIFhir, damit auch wirklich alle Pixel im C64 ankommen). Ist das Ergebnis schlechter als erwartet: SetColorbase auf Pepto umstellen und nochmals laden.


Wenn man Bilder mit einer ganz anderen, hier nicht vertretenen Palette mit GoDot konvertieren möchte, kann man sozusagen "unter der Motorhaube" (z.B. mit dem SMON) tätig werden: Die RGB-Werte für GoDots Konvertierungsroutinen liegen im Speicher ab der Adresse $0380 (bis $03af), und zwar je 16 Bytes für einen RGB-Farbauszug, zusammen 48 Bytes. Die Reihenfolge der Farbwerte in jedem Farbauszug ist GoDots Renderalgorithmus angepasst, sie entspricht dem folgenden Schema (die Zahlen sind die Farbnummern des C64-Betriebssystems):

lgr (15)mgr (12)dgr (11)blk (0)wht (1)bwn (9)lrd (10)ora (8) pur (4)cya (3)red (2)lbl (14)blu (6)grn (5)lgn (13)yel (7)

Außerdem müssen auch die einzelnen Werte vorangepasst werden: Das obere Nibble wird ins untere geshiftet (der Wert somit durch 16 geteilt) und nach dem Inhalt des alten unteren Nibbles gerundet (ab $08 wird aufgerundet). Ein ursprünglicher Wert von z.B. $ad wird daher in den Wert $0b umgewandelt und dann erst eingetragen, ein Originalwert von $62 lautet dann entsprechend $06. Algorithmus: Neuwert = (Originalwert+8)/16.


Weitere Beispiele:

Pepto-Farben
Das Bild, mit dem Deekay den Wandel
in der C64-Grafik-Codierung einleitete.
Mit der Pepto-Palette...
Umgewandelt in Deekay-Farben
...und mit seiner eigenen.
Ein NuFLI-Bild
Ein NuFLI-Bild (von Carrion), konvertiert in die GoDot-Palette (die kräftigere Farben hat).
Man sieht: Alle Pixel sind da!
Ein NuFLI-Bild
Das Original (in c64pixels-Palette).

zurück - zum Standardmodifier-Menü

Arndt Dettke
support@godot64.de