svr.IPaint

v1.04 13.07.19


Saver IPaint 128 mono
Saver IPaint ohne Farben
Saver IPaint 128 color
Saver IPaint farbig
Dateiformat:
Namenskennung: IP. (bzw. BRUS.)
Startadresse:$0000 (im VDC)
Header: Kennung: "brus" ($42 $52 $55 $53)
Typ: 1 Byte (immer 4, = Bild)
Startspalte: 1 Byte (in Kacheln, normalerweise 0)
Startzeile: 2 Byte (in Rasterlinien, normalerweise 0)
Packflag: 1 Byte (0 = aus, 1 = an)
Farbmodus: 1 Byte (0..4, hier: 2)
Breite: 1 Byte (in Kacheln, hier: 80 oder 40)
Höhe: 2 Byte (in Rasterlinien, hier: 400oder 200)
Hintergrundfarbe: 1 Byte (hier: 15 = weiß), ungenutzt
Vordergrundfarbe: 1 Byte (hier: 0 = schwarz), ungenutzt
Randfarbe: 1 Byte (hier: 0 = schwarz), ungenutzt
Bitmap-Chunk:je nach Modus, hier: 32000 Bytes (640×400)
oder 8000 Bytes (320×200)
Farb-Chunk:
(fehlt bei "mono")
Kennung: "colr" ($43 $4f $4c $52)
Daten: erste Zeile (Anzahl: Breite) für die Rasterzeilen 0,2,4 und 6
nächste Zeile (Anzahl: Breite) für die Rasterzeilen 1,3,5 und 7
(Farbmodus 2: 8×4-Kacheln)
jedes Byte enthält im oberen Nibble die Hintergrundfarbe und
im unteren die Vordergrundfarbe
usw. bis alle 400 Rasterzeilen durch
gepackt:a) ja (RLE, Bit 7 im ersten Datenbyte legt fest, ob das
nächste Byte wiederholt wird (=1) oder die folgenden Bytes
nacheinander ausgegeben werden (=0), Bit 0..6 ist der Zähler)
b) nein

Hinweis: IPaint benutzt Undo Rendered, wenn vorhanden. Wenn aber keine REU eingebunden ist, wird das zuvor bearbeitete Bild in der Anzeige zerstört.


IPaint ist ein Saver für Bilder, die auf dem VDC des C128 angezeigt werden sollen (VDC mit 64KB internem Speicher, wie z.B. im C128DCR (Blech)). Der Saver speichert sowohl geditherte, monochrome Bilder (in den Farben schwarz und hellgrau, Colors: mono) als auch farbige Bilder ab (Colors: 8×4), wahlweise in den Größen 320×200 Pixel oder 640×400 Pixel (einstellbar über XSize und YSize). Die Komprimierung der Bilder kann ein- oder ausgeschaltet sein (mit Compress, hier: yes).

Das besonders in Nordamerika erfolgreiche kommerzielle Programm IPaint nutzt den großen VDC vor allem, um farbige Bilder zu erzeugen. Der VDC kennt ausschließlich den Hires-Modus, natürlich mit den 16 Farben des C128 (siehe Tabelle unten). Diese unterscheiden sich jedoch von denen des C64. In der C128-Palette fehlen gegenüber dem C64 die Farben orange und (besonders bedauerlich) mittelgrau. Der Saver muss sie notgedrungen durch bereits vorhandene Farben ersetzen, er verwendet braun für orange und dunkelgrau für mittelgrau, was leider dazu führt, dass C64-Bilder auf dem VDC niemals so gut und ausgewogen aussehen wie im Original. Ein wenig Abhilfe verspricht das VDC-Farben-Tutorial.

Da der VDC-Chip ausschließlich Hires liefert, sind für eine Konvertierung am besten C64-Hiresbilder geeignet (siehe Beispiele unten). Ideal sind auch Bilder vom ZX Spectrum, da dieser Computer die gleiche Palette hat wie der VDC und deshalb alle Spectrum-Farben auf dem C128 ohne Einbußen dargestellt werden können.

Wenn nötig, ergänzt IPaint selbständig bei farbigen Bildern das Dateinamenspräfix "IP." und bei monochromen Bildern die Basic8-Kennnung "BRUS."

Hinweis: Wer IPaint nicht besitzt, kann zur Anzeige der Bilder einen dafür vorgesehenen frei verfügbaren Viewer verwenden (IVS 1.1 von Rick Kane, dem Autor von IPaint).

Korrespondierende Module: IPaintMono, Basic8Mode1, Basic8Select, ZX-Spectrum


Beipiele:

Original von Duce
Das Original (von Duce, Hires) in einer Palette ähnlich wie Pepto.
Konversion nach 4Bit
Übertragen nach GoDot, mit der Einstellung SetColorBase: CoCo und Balancing/Brightness: -2/
Contrast: 5
(mit dieser Einstellung erhält man auch mittelgrau, was sonst leider verloren ginge. Auf
dem C128 wird mittelgrau allerdings als dunkelgrau angezeigt, ohne Balancing wäre dieser Bereich
auf dem VDC hellgrau).

Ergebnis auf dem C128
Und das Ergebnis auf dem C128 im Format 320×200, angezeigt mit dem Programm IPaint (Screenshot).
Die C128-Farben sind erheblich kräftiger, untereinanderliegende unterschiedliche Farben vermischen sich
bei IPaint, ähnlich wie bei IFLI (daher die scheinbar dunkelbraunen Stellen im Bild).
Die VDC-Palette
Die Palette des C128: Es gibt kein orange und mittelgrau, dafür aber hellcyan ("helltürkis"),
hellpurpur ("hellviolett") und dunkelgelb. Die C128-Farben werden von den Monitoren mit
höherer Sättigung dargestellt als C64-Farben.

Original in Hires
Ein weiteres Beispiel (von Bimber/Arise). Grafik in Hires.


Leider stimmen die Farbpaletten des C64-Videochips VIC und die
des C128-VDC nicht überein. In der C128-Palette fehlen die
beiden Farben orange und mittelgrau. Der IPaint-Saver ersetzt
deshalb orange durch braun und mittelgrau durch dunkelgrau, wie
man auch im großen Bild rechts sehen kann.
IPaint-Version
Und dies ist die IPaint-Version. Aus orange wird braun und aus mittelgrau wird dunkelgrau (der C128 hat keine Entsprechungen dafür).

zurück - zu den 4Bit-Savern

Arndt Dettke
support@godot64.de