Grafik auf dem C64
2018-06-06
Erstaunlich ist immer wieder was man in Sachen Grafik seit Beginn der 1990’er Jahre so aus dem guten alten C64 rausgeholt hat. Wer Grafiken konvertieren oder sonstwie einlesen möchte (Scanner, Digitizer), der sollte sich unbedingt GoDot ansehen! Dieses Programm ist wirklich eine feine Sache. :-)
Auf der GoDot-Seite sind auch Grafiken von mir zu finden. Ansonsten sollte die Aufmachergrafik für diese Seite eine Collage derselben (und mehr) enthalten. Die Bilder darin sind alle mit GoDot aus anderen Quellen konvertiert worden.
Die Grafikmodi auf dem C64
Doch nun zu einer kurzen Beschreibung der verschiedenen Grafikmodi des C64, von denen ursprünglich nur der HiRes- und der MultiColor-Modus von den Chipdesignern vorgesehen waren. Die anderen Modi sind durch exzellente Programmierer der Demoszene “entdeckt” worden. Wobei die beiden letzten Grafikmodi (SHF und SHI) wirklich die Krönung der Grafikqualität auf dem C64 darstellen. Es gibt immer wieder Leute, die auf die dann doch wesentlich bessere Grafik auf einem Amiga oder PC (zumindest ab VGA ;-)) hinweisen. Ja, es stimmt, das sieht besser aus, aber hier gehts um Grafikfähigkeiten auf äußerst beschränkter Hardware und dafür sind die Ergebnisse doch recht beachtlich wie ich finde.
Hires-Modus
Die Bildschirmauflösung beträgt hier 320x200 Pixel bei 16 Farben. Dabei erfolgt eine Unterteilung in 40x25 Blöcke zu je 8x8 Pixeln. Darin können nur 2 Farben benutzt werden (Hintergrund- und Vordergrundfarbe). Auch wenn dieser Grafikmodus heute schwer aus der Mode ist, so kann man doch erstaunliche Ergebnisse damit erzielen.
MultiColor-Modus
In diesem Grafikmodus wird eine Auflösung von 160x200 Pixeln bei 16 Farben verwendet. Ein Pixel ist dabei 2x1 “eigentliche” Pixel breit. Die 40x25 Blöcke sind nun jeweils 4x8 Pixel groß und können 4 Farben aufnehmen. Der MultiColor-Modus wird heute ebenfalls kaum mehr verwendet obwohl auch mit ihm sehr schöne Bilder gepixelt werden können.
Multi Color Interlace Modus
Hierbei wird eine Auflösung von 320x200 Pixeln erzeugt und in jedem der 8x8 großen Blöcke können 4 Farben verwendet werden. Dazu werden zwei MultiColor-Bilder, die sich im Speicher befinden und sich nur das Farb-RAM ab $d800 teilen, frameweise ineinander umgeblendet. Hierbei wird eines der Bilder um einen Pixel nach rechts versetzt angezeigt. Dies erzeugt zwar einen geringen “Schwimmeffekt”, erhöht aber die Auflösung des MultiColor-Modus und macht eine Anzahl von ca. 128 Farben möglich.
Flexible Line Interpretation Modus
Im FLI-Modus wird eine Auflösung von 160x200 Pixeln bei 16 Farben verwendet. Es können jedoch alle 16 Farben innerhalb eines 4x8 Blocks benutzt werden. Eine spezielle Routine verändert das VIC-Register $d011 und macht diesen Effekt möglich (Bad Scan Line). Genauere Ausführungen schenke ich mir an dieser Stelle mal. ;-)
Interlaced Flexible Line Interpretation Modus
Der IFLI-Modus kombiniert die Ideen des FLI- mit denen des MCI-Modus. Es sind 320x200 Pixel bei Nutzung von 6 Farben in jedem 8x1 Pixel großen Block möglich. Der Interlace-Modus erzeugt wie beim MCI ein leichtes “Schwimmen”, aber dafür hat man 128 Farben bei voller Auflösung.
Super Hires und Super Hires Interlace Modus
Theoretisch ist hier eine Auflösung von 96x200 Pixeln möglich. In der Praxis existieren jedoch Beschränkungen, die nur eine Auflösung von 96x167 Pixeln möglich machen. Es können 4 Farben in jedem 8x8 Block verwendet werden, Hinter- und Vordergrundfarbe können pro Block gesetzt werden.
Beim Super Hires Interlace Modus werden zwei solche Bilder per Interlace dargestellt, dies ermöglicht ca. 87 Farben.
Super Hires FLI und Super Hires Interlace FLI Modus
Die Auflösung im SHFLI-Modus beträgt 96x167 Pixel bei 16 Farben. Dabei werden 4 Farben innerhalb eines 1x8 Pixel großen Blocks verwendet. Die Hintergrundfarbe kann dabei pro Block gesetzt werden.
Der SHIFLI-Modus nutzt dann zwei solcher Bilder, die im Interlaceverfahren ineinandergeblendet werden.