home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
falcon
/
graphics
/
viewxxga
/
viewxxga.txt
< prev
Wrap
Text File
|
1994-08-16
|
6KB
|
123 lines
Dokumentation zum Programm VIEWXXGA © Guido Vollbeding, 01.06.1993
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Da hat man nun seit kurzem seinen nagelneuen Falcon, und schon
geht das alte Leid wieder los: Da werden Programme und
Bildformate in Umlauf gebracht, die kurzsichtigerweise nur
bestimmte Falcon-Auflösungen unterstützen. Doch nicht nur das:
Das Programm SHOWXGA, welches mir neben einigen XGA-Files in die
Hände fiel, wollte bei mir überhaupt nicht laufen. Kein Wunder:
Da werden irgendwelche Manipulationen an ominösen
Hardwareregistern des Videosubsystems vorgenommen, was meinem
teuren MultiSync nur flackernde "Abstürze" bescherte.
Was blieb mir anderes übrig, als selber ein Programm zu
schreiben, um wenigstens das XGA-Bildmaterial begutachten zu
können. Also hab ich mich über die Pfingsttage mal hingesetzt und
drauflosgehackt (das Wetter drauβen war eh nicht so doll). Das
Ergebnis: Ein Programm, das auf _ALLEN_ Atari-Rechnern, in
_ALLEN_ Auflösungen und mit _ALLEN_ Grafikkarten läuft!
Bei den XGA-Files handelt es sich um nichts anderes als
Screendumps im 16-Bit-"True-Color"-Modus des Falcon. Leider haben
es die Ersteller versäumt, weitere wesentliche Angaben wie die
Auflösung im File mit abzuspeichern. War dies schon bei den
Screenformaten auf dem ST nicht besonders flexibel, so ist dies
beim Falcon eigentlich völlig unsinnig, weil das programmierbare
Videosubsystem ja sehr viele verschiedene Auflösungen zuläβt. Wie
sollte man nun also die für eine korrekte Darstellung nötige
Auflösung reproduzieren ? Die XGA-"Schöpfer" sind dabei auf die
"geniale" Idee gekommen, die Auflösung aus der Dateigröβe
abzuleiten. Das ist natürlich ziemlich schwachsinnig, weil nicht
eindeutig.
Um nun für VIEWXXGA eindeutige Verhältnisse herzustellen, liest
das Programm aus dem Dateinamen die Bildbreite in Pixeln ab,
womit eine korrekte Darstellung möglich ist (die Höhe ergibt sich
dann aus Dateigröβe und angegebener Breite). Die Breitenzahl wird
vom Ende des Dateinamens (vor ".XGA") gescannt, bis ein Zeichen
auftritt, das keine Dezimalziffer ist. Wenn man XGA-Files erhält/
erzeugt, muβ man also diese Zahl im Dateinamen ergänzen und dazu
gegebenenfalls den ursprünglichen Namen kürzen. Das ist eben der
Preis, den man für das mangelhafte Format zahlen muβ. Die Files
bleiben so aber zumindest weiterhin für andere XGA-Programme
verwendbar, da die Dateilänge, aus der möglicherweise die
Auflösung abgeleitet wird, unverändert bleibt.
Im Folgenden einige Beispiele für die von SHOWXGA angegebenen
Zuordnungen:
Auflösung Dateigröβe Dateiname
--------------------------------------------
320 * 480 307200 Bytes IMAGE320.XGA
384 * 480 368640 Bytes IMAGE384.XGA
384 * 576 442368 Bytes IMAGE384.XGA
640 * 480 614400 Bytes IMAGE640.XGA
768 * 576 884736 Bytes IMAGE768.XGA
Bei abweichenden Werten kann probiert werden. VIEWXXGA führt
entsprechende Plausibilitätschecks durch. So muβ die Breite ein
ganzzahliges Vielfaches von 16 sein, und die halbe Dateigröβe (=
Pixelzahl) muβ durch die Breite restlos teilbar sein (Quotient =
Höhe).
Der Aufbau der XGA-Files entspricht, wie schon angedeutet, der
Bildschirmorganisation im 16-Bit-"True-Color"-Modus des Falcon:
Also eine Aneinanderreihung von 16-Bit-Worten mit folgender
Bit-Kodierung:
Bit: FEDCBA9876543210
--------------------------------
Farbkomponente: RRRRRGGGGGGBBBBB
--------------------------------
Wertigkeit: 4321054321043210
Am besten und schnellsten ist die Darstellung logischerweise in
so einem 16-Bit-Bildschirm-Modus. Die Bit-Kodierung kann jedoch
beliebig sein, es erfolgt automatisch eine entsprechende
Anpassung (Grafikkarten!). Dadurch ist die Ladezeit im
entsprechenden Falcon-Modus zwar nicht maximal schnell, aber
trotzdem noch relativ schnell. Das Dithering in geringeren
Bildschirmmodi kostet natürlich deutlich mehr Rechenzeit, obwohl
ich auf die Optimierung der Routinen einige Mühe verschwendet
habe. Auch 24- und 32-Bit-True-Color-Modi werden unterstützt,
bringen hier aber freilich gegenüber 16 Bit keine Vorteile.
Leider ist mir auf die Schnelle kein nicht allzu kompliziertes
Bildformat eingefallen, in das man die XGA-Dateien einfach und
ohne Informationsverlust konvertieren könnte (das
Targa-16-Bit-Format kennt nach den mir vorliegenden Informationen
nur eine 5+5+5-Bit-Organisation mit "Attribut"-Bit, womit ein
Grün-Bit verlorenginge). Das hier vorgeschlagene "erweiterte"
XGA-Format, nennen wir es ruhig XXGA-Format, kann nicht mehr sein
als eine halbwegs brauchbare Übergangslösung, bis ein
vernünftigeres Format gefunden ist.
Wie inzwischen klargeworden sein sollte, erfolgt die Darstellung
der Bilder nicht wie bei anderen Programmen durch Umschalten in
die entsprechende Auflösung, sondern in Fenstern in der aktuellen
Auflösung (nur GEM/VDI), wobei jeweils erforderliche Anpassungen
durchgeführt werden. Der geneigte Anwender muβ gegebenenfalls
schon selbst in den entsprechenden Bildschirmmodus umschalten, um
eine optimale Darstellung zu erhalten. Es können soviele
XGA-Dateien gleichzeitig geladen werden, wie Fenster und
Speicherplatz zur Verfügung stehen. Bedienung und Verhalten des
Programms entsprechen aus unerfindlichen Gründen weitgehend den
Programmen 1STVIEW und 1STGUIDE ;-). Also Ctrl-O für neues
Fenster, Ctrl-U für Schlieβen, Ctrl-W Wechseln usw...
Accessory-Betrieb ist natürlich auch möglich.
Das Programm hat Freeware-Status, darf also zusammen mit dieser
Dokumentation beliebig frei weitergegeben werden, sofern dies
unentgeltlich geschieht. Alle Rechte bleiben beim Autor:
Guido Vollbeding
Turmstraβe 61
O-4020 Halle (ab 1.7.: 06110)
(für Gratulationen, Hinweise, Drohbriefe etc.)
Ich wünsche allen Falcon- und (Noch-)Nicht-Falcon-Besitzern viel
Spaβ beim Betrachten der XGA-Files.