Blog

April27

Graphics 8 PIC mit Image-Magick erzeugen

Im Zuge meiner Arbeit an einer C-Version von BOSS-X, habe ich mir die Frage gestellt, wie viele Rohdaten ich von meinem künftigen Open Source Projekt mittels make in den ausführbaren Code einbinden kann.
Dabei ging es mir unter anderem um Bilddaten, die in Graphics 8 dargestellt werden sollen.
In vorherigen Projekten, wie zum Beispiel der virtuellen Gedenktafel für mein Kätzchen (siehe ABBUC-Magazin 143) habe ich eine .bmp-Datei in den C-Code eingebettet, die auf dem Atari dekodiert wurde (Header ignorieren, Bilddaten horizontal gespiegelt in den Bildschirmspeicher kopieren).
In das Projekt BOSS-XC wollte ich jedoch diesen unnötigen Überhang nicht mehr integrieren, weshalb ich mich nach einer Methode umsah, eine PC-BMP (erzeugt mit GIMP) in Rohdaten umzuwandeln, so wie sie auf dem Atari verwendet werden.
Rohdaten war das Stichwort: RAW ist das gesuchte Format. Das Befehlszeilenprogramm ImageMagick kann solche RAW-Dateien erzeugen. Die richtigen Parameter angegeben, wird genau das erzeugt, was der Atari versteht, nämlich 320x192 Pixel monochrome (8 Pixel pro Byte), ein direktes Speicherabbild, genau 7680 Bytes groß.
Die Zeile convert bild.bmp -monochrome -depth 1 -negate GRAY:bild.raw erzeugt aus einem 320x192 großen monochromen Bitmap, was mit so ziemlich jedem Bildbearbeitungsprogramm auf dem PC erzeugt werden kann, ein Graphics 8 Bild, das wie gewohnt, z.B. unter Turbo-BASIC mit BGET #1,DPEEK(88),7680, eingelesen werden kann. Je nachdem, wie man die Farben des Graphics-8-Bildschirms wählt, lässt man das -negate weg. Da BOSS-XL/XE/X/XC einen weißen Hintergrund und einen schwarzen Vordergrund verwendet, setze ich diesen Schalter.
Für BOSS-XC wende ich diese Befehlszeile auch auf Bilder geringerer Größe an, z.B. auf Symbole und kleinere Bilder (die BOSS-XC - Tech-Demo zeigt ein 160x120 Pixel großes Bild in einem Fenster).
ImageMagick ist bei jedem Linux dabei. Es gibt auch eine Version für Windows und unter Mac OS X kann man es aus den Quellen heraus bauen und installieren (getestet mit Snow Leopard, Lion und Catalina).

Tags: