ldr.JPGViewer

v1.01 05.08.04


JPGViewer

JPGViewer

JPGViewer
Der Lader "JPGViewer" (unten: während des Ladevorgangs)

Hinweis: Für JPGViewer ist eine REU erforderlich.

JPGViewer ist ein ganz besonderes GoDot-Modul, auf das wir ziemlich stolz sind. Nicht etwa deswegen, weil damit dem C64 JPG-Bilder zugänglich gemacht werden. Die Ehre dafür gebührt zwei anderen: Steven Judd (JPG-Dekodierung) und Adrian Gonzalez (IFLI-Renderer) mit Juddpeg, dem ersten und gleich unschlagbaren C64-JPG-Anzeigeprogramm. Detailreich nachzulesen in C= Hacking #19 (die letzten beiden Artikel darin). JuddPEG ist einfach ein Meilenstein der C64-Programmierung.

Nein, unser Stolz bezieht sich darauf, dass JPGViewer ein Programm ist, das zeigt, dass (mit Hilfe einer REU) auf einer Maschine mehrere virtuelle C64 aktiviert werden werden können, jeder mit einer eigenen Aufgabe, die womöglich dessen ganze Aufmerksamkeit beansprucht, zwischen denen man aber trotzdem hin- und herwechseln kann. JPGViewer managet zwei C64. Auf dem einen läuft GoDot (belegt den kompletten C64-Speicher und sogar mehr, wenn eine REU angeschlossen ist) und auf dem anderen läuft eben Juddpeg (was ebenfalls bis auf ein paar Bytes den C64 vollständig belegt). GoDot stellt nun Juddpeg seine Benutzerumgebung zur Verfügung, händelt die Verständigung zwischen virtueller und realer C64-Maschine und übergibt sich selbst die Bilddaten Juddpegs zur Weiterverarbeitung (per ConvertJPG). Das ist für uns das Besondere am JPGViewer.


Hinweis: JPGViewer (also eigentlich Juddpeg) erwartet, dass das JPG-Bild ohne Metadaten versehen ist. Vor allem ohne ein EXIF-Vorschaubild. Wenn Sie beim Laden immer nur ein Bild in Viertelbildschirmgröße erhalten, dann sehen Sie genau dieses EXIF. Mit einem Programm wie XnView können Sie die Metadaten löschen und dann mit JPGViewer das JPG-Bild in ganzer Größe anschauen.

Noch ein Hinweis: Der Render-Algorithmus von Adrian (aka dW/Style) hinterlässt in unregelmäßiger Folge ein paar "schwarze Löcher" (einzelne schwarze Pixel), die am besten mit PixelEdit beseitigt werden. Das ist ein bisschen mühsam, aber das Ergebnis belohnt alle Plackerei (s. Beispiele).


Geduld! Der Lade- und Render-Vorgang von Juddpeg dauert lange (ist dennoch sehr ereignisreich, s. Screenshot rechts)! Am Ende aber sehen Sie (im IFLI-Modus) ein Bild auf dem C64 wie Sie es sonst nur auf Demo-Compos zu Gesicht bekommen. Die Darstellungsqualität ist einfach umwerfend und ist schon fast fotoähnlich, trotz der nach wie vor gültigen Begrenzung des C64 auf seine festen 16 Farben. Aber der Renderer von Adrian Gonzalez zeigt mit einem optimalen Floyd-Steinberg-Dithering, dass der VIC-II-Video-Chip des C64 sozusagen überlistet werden kann.

Konvertiert nach 4Bit entsteht aber auch genau dadurch ein großes Problem, denn "Floyd-Steinberg-Dithering" bedeutet: viel Gegriesel auf dem Bildschirm! In Hires ist ein konvertiertes JPG-Bild praktisch nicht darstellbar, es besteht fast nur aus Color Clashes. In Multi führt das Floyd-Steinberg-Dithering meistens zu unansehnlichen Pixelhaufen. Selbst die Ausgleichswerkzeuge für IFLI-Schwierigkeiten (MCScreenFix, RasterIFLI und OddSwap) sind bei diesem Dithering bisweilen machtlos (aber dennoch mal ausprobieren!) Abhilfe schafft bei vielen Bildern eine weitere Reduzierung der Auflösung auf die Hälfte (also 160×100 Pixel) mit Smooth.

Für Ausdrucke taugen die True-Hires-Konversionen von JPG-Bildern aber allemal, und als Beispielbilder auf Webseiten wie hier kann man sie ebenfalls sehr gut gebrauchen, da sie den Eindruck bei der IFLI-Bildanzeige fast erreichen. Die Beispiele hier unten mögen diese Einschätzung belegen.

Mit View Image in Mem kann man sich ein einmal geladenes JPG-Bild immer wieder im IFLI-Modus anzeigen lassen. Bei großen JPG-Bildern legt man vor dem Laden den gewünschten 320×200-Ausschnitt fest, indem man die linke (Left) und obere (Top) Einrückung (in Anzahl Kacheln, also Pixel/8) dorthin angibt. Das Bild selbst befindet sich im virtuellen C64 und wird erst mit ConvertJPG dem realen C64 zur Verfügung gestellt. Image Information bleibt unverändert.


Anzeige in "Image Information"
(nach Durchführung von ConvertJPG):


Korrespondierende Module: ConvertJPG, GIF


Beispiele:

Originalbild
Original...
Konversion
...Konversion (zu Ehren von Deekay/Crest, den ich sehr bewundere, alle Konversionen auf
dieser Seite in seiner Palette).

Originalbild
Original...
Konversion
...Konversion. Dieses Bild hat wirklich nur 16 Farben.

Originalbild
Original...
Konversion
...Konversion. Besser als FLI (vergl. XRay).

Originalbild
Und zum Schluss: Mr. GoDot...
Konversion
...von seinem eigenen Programm verarbeitet.


zurück - zurück zum Fremdrechner-Menü

Arndt Dettke
support@godot64.de