ldr.JPGViewer

v1.04 27.02.21


JPGViewer

JPGViewer

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

Dateiformat:
Informationen zu Juddpeg kann man ausführlich
in Commodore Hacking #19 nachlesen.

Hinweis: Für JPGViewer ist eine REU erforderlich. Außerdem braucht es das Programm "JPZ1201-8.pu" (aka Juddpeg) auf einer der eingelegten Disketten.

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 (aka Wyndex, JPG-Dekodierung) und Adrian Gonzalez (aka dW/Style, 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 man beim Laden immer nur ein relativ winziges Bild (in Viertelbildschirmgröße) erhält, dann sieht man genau dieses EXIF. Mit einem Programm wie XnView kann man die Metadaten löschen und dann mit JPGViewer das JPG-Bild in ganzer Größe anschauen.

Noch ein Hinweis: Der 4Bit-Konvertierungsalgorithmus von GoDot hinterlässt in unregelmäßiger Folge ein paar "schwarze Löcher" (einzelne schwarze Pixel) im Bild, die am besten mit Tidy und PixelEdit beseitigt werden können. Das kann ein bisschen mühsam sein, 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 sieht man (im IFLI-Modus) ein Bild auf dem C64 wie man es sonst nur auf Demo-Compos zu Gesicht bekommt. 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 (RevealIFLI, 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 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