IFF-Master

Ein Programm zur Anzeige von IFF-Strukturen Version 1.2

27. Juli 1994

Kay Drangmeister

Copyright \begin{matrix}c \\ ◯ \end{matrix} 1994 Kay Drangmeister Dieses Dokument wurde erstellt mit ‘texinfo.tex’ und TEX3.0, sowie mit ‘makeguide’. Die deutschen Anpassungen erfolgten durch ‘amigatexinfo.tex’.

1 Einleitung

IFF-Master ist ein Programm, das den Umgang mit IFF-Files erleichtern soll. Es ist kein Bildanzeiger oder ähnliches Programm, sondern es stellt die internen Einheiten (Chunks) der Files dar. Beispielsweise werden die Header von Bildern (ILBM) oder Klängen (8SVX) im Klartextformat aufgeschlüsselt, so daß man die Bildgröße, Farbtiefe oder Sampling-Rate direkt ablesen kann.

Manchmal findet man ein unbekanntes File auf der Platte (z.B. irgend ein Preference-File), wobei man nicht weiß, wozu es dient. Gerade Prefereces werden oft im IFF abgespeichert, so daß ein direktes Betrachten möglich ist. Weiterhin gibt es einige Programme, die defekte IFF-Files schreiben (z.B. der ILBM.CAMG-Chunk), oder andere, die Zusatzinformationen speichern; das Auffinden dieser Fälle ist damit sehr einfach.

In späteren Versionen (siehe Kapitel 6 [History], Seite 6) wird es auch möglich sein, Files zu verändern, z.B. Texte in ANNO-Chunks zu löschen/ändern/zufügen, oder Zusatzinformationen zuzufügen, wie z.B. DPI-Infos für Bilder, u.s.w.

Unter den Features sind:

• MUI-Applikation

• Oberfläche optional in deutsch (ab AmigaOS 2.1)

• Umfangreiche Chunk-Typen-Bibliothek (z.Zt. 31 Form-Typen, 208 bekannte Chunks, davon 43 mit langer Strukturbeschreibung)

• Darstellung der Chunk-Inhalte wahlweise als Struktur, Text oder Hex-Dump

• Auch Bitfelder und Aufzählungstypen erfolgen in Klartext

• Fixpunkt-Werte werden als Dezimalbruch angezeigt (z.B. 8SVX.VHDR.Volume)

• Callback-Hooks für spezielle Attribute möglich, z.B. wird die Mode-ID im CAMG-Chunk als Klartext (z.B. ‘PAL: Hires’) ausgegeben.

IFF-Master wird unter dem Freeware-Konzept vertrieben, es gelten die üblichen Disclaimer.

2 Installation

Gar nichts dabei: einfach alles in einem Verzeichnis lassen, oder den ‘iffmaster.catalog’ optional zu den anderen in das LOCALE-Verzeichnis (‘LOCALE:Catalogs/deutsch/’). Übrigens: Wenn ihr mal nicht wißt, für welche Sprache ein Catalog-File ist, dann schaut doch einfach mit dem IFF-Master nach…:)

Anforderungen an das System sind:

• AmigaOS 2.0, bei lokalisierter Oberfläche AmigaOS 2.1

• MUI Version 2.0 (‘muimaster.library’ V7), siehe Abschnitt 5.1 [MUI], Seite 5.

IFF-Master kann auch schon in der user-startup gestartet werden, dafür empfiehlt sich ‘runback iffmaster iconified’, so daß nur ein AppIcon auf der Workbench entsteht. IFF-Icons lassen sich dann einfach auf dieses Icon ziehen.

3 Bedienung

Das Hauptfenster ist in 3 Gruppen unterteilt, oben befindet sich die File-Spezifikation, in der Mitte die Chunk-Liste und darunter die Aktionen.

In der jetzigen Version sind keine Manipulationen des Files möglich, so daß alle diesbezüglichen Buttons (z.B. ‘Zufügen’, ‘Löschen’) inaktiv sind.

3.1 File-Spezifikation

Ein File kann auf verschiedene Weise geladen werden. Entweder über den ‘Projekt/Öffnen’- Menüpunkt bzw. über das Popup-Gadget neben dem String-Gadget, wobei ein File-Requester geöffnet wird, oder man zieht einfach ein Icon in das Hauptfenster von IFF-Master (AppWindow). Außerdem kann ein File auch direkt aus dem Clipboard geladen werden, und zwar über den

Menüpunkt ‘Projekt/Clip öffnen’.

3.2 Die Chunk-Liste

In der Chunk-Liste können verschiedene Informationen angezeigt werden: ganz links steht die Chunk-ID (z.B. BMHD), dann der Chunk-Typ (z.B. ILBM), und dann zunächst die Größe. Unter den Aktions-Buttons befindet sich ein Cycle-Gadget ‘Zeigen’, das das Listenformat festlegt, dabei bedeutet ‘Beschreibung’ eine Kurzbeschreibung des Chunks (z.B. ‘Bitmap Header’) und ‘Inhalt’ liefert einen kurzen Abriß des Inhaltes. Mit der LEERTASTE kann das Cycle-Gadget weitergeschaltet werden.

Da in einer Zeile nicht der komplette Chunk-Inhalt dargestellt werden kann, ist auch eine lange Beschreibung möglich. Dazu muß eine Zeile aus der Liste angewählt und ‘Info’ gedrückt werden (oder Doppelklick auf die Zeile). Es erscheint dann ein neues Fenster mit dem Inhalt. Die Darstellung des Inhalts ist entweder als Struktur, Text, oder Hex-Dump möglich, die Auswahl erfolgt durch das über der Inhalts-Liste vorhandene Register, oder über die Tasten CURSOR-LINKS und

CURSOR-RECHTS.

Um den Inhalt eines anderen Chunks anzuzeigen, muß das Inhalts-Fenster nicht geschlossen werden. Einfach auf einen anderen Chunk geklickt (oder CURSOR-HOCH/CURSOR-RUNTER, nachdem die Chunk-Liste mittels TAB angewählt wurde) und schon wird der neue Inhalt dargestellt, und zwar mit dem dafür vorgesehenen Datentyp.

4 Probleme?

Wenn der Inhalt eines sehr großen Chunks (z.B. ILBM.BODY) angezeigt werden soll, dauert der Aufbau des Hex-Dumps sehr lange. Deshalb ist es möglich, die Länge des Hex-Dumps zu begrenzen, als Default sind 512 Bytes eingestellt. In den Einstellungen kann man diese Grenze verändern oder auch ganz abschalten.

Manche Chunks (z.B. FORM) sind Container-Chunks und haben keinen Inhalt, es erfolgt deshalb auch keine Darstellung. Bei manchen Chunks (z.B. BODY) ist eine Darstellung als Struktur oder Text sinnlos, die entsprechenden Listen sind dann inaktiv.

5 Danksagung

Mein besonderer Dank geht an:

Stefan Stuntz für MUI, siehe Abschnitt 5.1 [MUI], Seite 5.

Eric Totel für MUI-Builder

Kai Iske für die Anregungen und Betatesting

Thomas Reinhardt für seine IFFs

5.1 MUI

                          This application uses

                        MUI - MagicUserInterface
                  (c) Copyright 1993 by Stefan Stuntz

MUI is a system to generate and maintain graphical user interfaces. With
the  aid  of  a  preferences program, the user of an application has the
ability to customize the outfit according to his personal taste.
MUI is distributed as shareware. To obtain a complete package containing
lots of examples and more information about registration please look for
a  file  called  "muiXXusr.lha"  (XX means the latest version number) on
your local bulletin boards or on public domain disks.
          If you want to register directly, feel free to send

                         DM 20.-  or  US$ 15.-
                                  to
                             Stefan Stuntz
                        Eduard-Spranger-Straße 7
                             80935 München
                                GERMANY

6 History

Version 1.0

Erstveröffentlichung Version 1.1

FIX Version 1.0 war mit Option 68030 compiliert - Sorry!

NEU viele neue Chunk-Typen registriert

NEU Menü (About und Prefs in’s Menü verfrachtet, Platzgewinn)

NEU Filename kann per Kommando-Zeile übergeben werden

NEU Laden direkt vom Clipboard

NEU Tastaturunterstützung verbessert Version 1.2

NEU Oberfläche vollständig lokalisiert

NEU Speichern von Chunk-Inhalten

NEU AppWindow und AppIcon, Kommando-Zeilen-Option iconified

NEU bessere Formatierungsmöglichkeiten für Struktureinträge

NEU Eigener Interpreter mit Variablenrechnung, damit sind auch abstruse Formate wie EMOD.EMIC darstellbar.

NEU Nominallänge für Chunks ist jetzt vorgegeben, eine Meldung erfolgt, wenn ein Chunk länger oder kürzer ist.

BUG Betatester haben von Problemen mit der De-Iconify-Funktion beim AppIcon berichtet. Ich habe die entsprechende Funktion auskommentiert, so daß nach dem "droppen" die Applikation durch einen Doppelklick wieder de-iconifiziert werden muß.

Das Programm ist noch nicht fertig. Viele Dinge wie z.B. die Darstellung langer Hex-Dumps sind verbesserungswürdig. Viele weitere Features sind noch möglich.

Auf der to-do-Liste stehen bisher: Hex-Dump, Preferences-Fenster mit Speichermöglichkeit, Speichern von IFFs, Import und Export von Chunk-Inhalten, evtl. XPK-Support.

Ich nehme sehr gerne Verbesserungsvorschläge und neue Ideen an. Wenn ihr auf ‘unbekannte’ Chunks stoßt, gebt mir bitte auch bescheid, damit ich sie mit reinnehmen kann, wenn noch eine Strukturbeschreibung dabei wäre, wäre das wirklich genial. Falls jemand Lust hat, einen Katalog für eine andere Sprache zu schreiben, schicke ich ihm gerne das ct-File zu.

7 Autor

Kay Drangmeister Am Hubland 16, Apt. 1323 97074 Würzburg T. 0931-702079 (Tag+Nacht) kay@cip.informatik.uni-wuerzburg.de K.Drangmeister@insider.sub.de Kapitel 8: Stichwortverzeichnis 8

8 Stichwortverzeichnis

8

8SVX.VHDR.Volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

A

Aktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 AppIcon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 AppWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

B

Bedienung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

C

Chunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chunk-ID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chunk-Liste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chunk-Typ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chunks ohne Inhalt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Container-Chunks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

D

Danksagung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Darstellung des Chunk-Inhalts . . . . . . . . . . . . . . . . . . . . . . 3

E

Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 EMOD.EMIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

F

File-Spezifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Filemanipulationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

H

Hex-Dump. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

I

iconified . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ILBM.CAMG.ModeID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

K

Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Kurzinhalt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

L

Löschen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Listenformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

M

Manipulationen von Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 MUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

P

Probleme? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

T

TAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

V

Verändern des Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Z

Zeigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Zufügen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Inhaltsverzeichnis

1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 Bedienung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3.1 File-Spezifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 Die Chunk-Liste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4 Probleme?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5 Danksagung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

5.1 MUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

6 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 Autor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8 Stichwortverzeichnis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8