4Bit-Format

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Datenträgerformat der Bilder des C64-Bildbearbeitungsprogramms GoDot.


Beschreibung:

Im Prinzip ist ein GoDot-4Bit-Bild eine Grafik in Hires-Auflösung (320x200), allerdings mit einer Farbauflösung von 4 Bit pro Pixel (16 mögliche unterschiedliche Farben pro Pixel, True Hires). Im Speicher des C64 ist die Anordnung dieser 4Bit-Pixel - analog zu einer normalen C64-Grafik - aufgeteilt in 1000 Kacheln à 64 Pixel, zusammen 64000 Pixel. Eine Kachel benötigt 32 Bytes Platz. Jede ihrer acht Kachelzeilen enthält acht 4Bit-Pixel (acht Mal vier Bytes).

Der Grafikpuffer GoDots beginnt an der Speicheradresse $4000 und reicht bis $BCFF. Die erste Kachel erstreckt sich von $4000 bis $401F. Die Kachel daneben beginnt bei $4020, die Kachel darunter bei $4500. Insgesamt ergibt sich ein Platzbedarf von 32000 Bytes, was einer Dateilänge von 126 Diskblöcken entspricht.

Bilddatei:

Um Platz zu sparen, verwendet GoDot beim Abspeichern einen (einfachen) Packalgorithmus, der jedes Vorkommen von Wiederholungen ab vier gleichen Bytes in eine Packsequenz verwandelt (Packbits-Algorithmus). In dieser Sequenz gibt es ein Indikatorzeichen (das ist bei GoDot der Wert $AD), auf den der Wiederholungszähler folgt (ein Wert von 0 entspricht 256 Wiederholungen), der wiederum gefolgt wird vom Wert des zu wiederholenden Bytes. Ein Folge von 100 Bytes mit dem Wert $58 würde gepackt so lauten: $AD $64 $58. GoDot trägt am Anfang und Ende der Datei jeweils eine Kennung ein. Statt der beim C64 üblichen Startadresse am Anfang einer Datei findet sich bei einem GoDot-Bild die Byte-Folge $47 $4F $44 $30 ("GOD0"). Am Ende der Datei steht ein einzelnes $AD. Dateinamen sind um das Kürzel ".4bt" ergänzt, das allerdings von Hand eingegeben werden muss.

Man kann auch Bildausschnitte abspeichern. Diese heißen in GoDot "Clips" (Dateikürzel "*.clp").


Kurzinfo:

Startadresse des Bildes: $4000 (nicht im File abgelegt)
Dateisignatur: "GOD0" ($47 $4f $44 $30) ab erstem Byte auf Disk
Daten: 32000 Bytes, gepackt
Struktur: Anordnung in Kacheln zu 8x8 Pixeln
Endsignatur: $AD
Packalgorithmus: $AD Zähler Byte (Zähler=0 zählt 256)


Autor des Artikels

Arndt Dettke