IFF Master

An IFF Browser Version 1.3

October 7, 1994

Kay Drangmeister

Copyright \begin{matrix}c \\ ◯ \end{matrix} 1994 Kay Drangmeister This document was created using TEX3.14, ‘texinfo.tex’, and ‘makeinfo’.

1 General

IFF Master is a program that allows you to have a view inside the structure of IFF files. It is not yet another picture viewer or sound sample player, but it displays the internal entities (chunks) of a file. For example, the headers of pictures (ILBM) or sound samples (8SVX) are displayed in clear, so you can directly read the size and depth of the image or the sampling rate.

From time to time you will find an unknown file on your hard disk, let’s say a preference file. Since preference files are often stored in IFFormat, there is a chance you can directy examine the contens. There are some programs which write incorrect IFF files (e.g. the ILBM.CAMG chunk is a likely candidate), or which write additional information (e.g. copyright or author chunks). With IFF Master you can easily verify such cases.

In future versions (see Chapter 6 [History], page 7) there will be options to manipulate files, e.g. delete/edit/add texts inside ANNO chunks, or add new chunks like a DPI chunk for images.

Current features include:

• MUI application

• localized GUI (with AmigaOS 2.1 or later)

• Extensive chunk type library (currently 37 form types, 234 known chunks, 60 of these with comprehensive structure description)

• Chunk contents are presented alternatively as structure, text or hex dump

• Bit fields and enumeration types are displayed in clear

• Fixed point values are printed in decimal (e.g. 8SVX.VHDR.Volume)

• Callback hooks for special attributes, e.g. the Mode-ID inside the CAMG chunk is de-referenced

    (e.g. ‘PAL: Hires’).

IFF Master is distributed under the concept of freeware. Standard disclaimer applies to this program.

2 Installation

Nothing to it: just leave all files and the catalogs directory as they are in one directory, or alternatively copy the appropriate ‘iffmaster.catalog’ to into the system’s locale directory (i.e. ‘LOCALE:Catalogs/yourlanguage/’). By the way: if you mixed up catalog files for different languages, just use IFF Master to discover the catalog’s language…:)

System requirements are:

• AmigaOS 2.0, or AmigaOS 2.1 for localized GUI

• MUI version 2.1 (‘muimaster.library’ v8), See Section 5.1 [MUI], page 6.

If you wish to start IFF Master inside the user-startup, you should do this with ‘runback iffmaster iconified’. This will cause IFF Master to start as an AppIcon, so that Icons may be dragged onto this Icon.

3 Usage

The main window consists of 3 groups. The topmost one is the file specification group, the middle part ist the chunk list and below there are the action buttons.

The current version has limited capabilities to manipulate files, some concerning action buttons (e.g. ‘Add’, ‘Edit’) are inactive. However, moving (‘Up’, ‘Down’) and deleting (‘Del’) chunks is possible. Be warned that files may become unreadable to some applications if you delete mandatory chunks, i.e. if you delete the ILBM/BMHD chunk of a picture it will become undecodeable. To activate the manipulation buttons select ‘Prefs/Editable file’ from menu. If that menu item is inactive (it can be locked if you are still unsure about the program’s functions) you can activate it by opening the preferences window and setting the ‘File editable switch’ to be ‘off for new files’ or to

be ‘left unchanged’.

3.1 File Specification

There are different ways to open a file. The most common one is by selecting ‘Project/Open...’ from the menu, or by clicking on the popup gadget beside the string gadget for getting a file requester. Alternatively, you can simply drag an icon on IFF Master’s main window (AppWindow). Furthermore, you can open the file which is currently in the clipboard by using the menu

item ‘Project/Open Clip’.

3.2 The Chunk List

The chunk list can show several types of information: the left column shows the chunk ID (e.g. BMHD), then there is the chunk type (e.g. ILBM), and at the right side there is the size of the chunk. Below the action buttons there is a cycle gadget labeled ‘Show’ that specifies the format of the chunk list. If it states ‘Description’ you will get a description of the chunk’s purpose (e.g. ‘Bitmap Header’), and ‘Contents’ will display a short summary of the chunk’s contents. You can advance the cycle gadget by pressing the SPACE key.

Because it is impossible to display the entire contents of a chunk in a single line you can get a comprehensive list by first selecting a chunk in the chunk list and then pressing ‘Info’ (you can as well double-click on the chunk). A new window containing the chunk’s contents will appear. You can display the contents either as structure, plain text or as a hex dump. Change the presentation by using the register above the contents list, or by pressing CURSOR LEFT and CURSOR RIGHT.

You need not close the contents window to display the contents of another chunk. Just click on that chunk in the chunk list or press CURSOR UP or CURSOR DOWN after having activated the chunk list via the TAB key. The new contents are displayed using the appropriate data type.

4 Problems?

Building hex dumps of very large chunks (e.g. ILBM.BODY) can take a long time. Therefore the number of bytes in a hex dump can be limited to a certain ammount. The default limit is 512 bytes, it can be adjusted or turned off in the Preferences (select ‘Settings/Set Prefs...’ from menu).

Some chunks (e.g. FORM) are container chunks with no contents, and therefore there is no presentation. Some other chunks (e.g. BODY) contain raw data, presentation of these chunks is limited to hex dump.

5 Credits

I like to thank:

Stefan Stuntz for MUI, See Section 5.1 [MUI], page 6.

Eric Totel for MUI-Builder

Kai Iske for Support and Betatesting

Thomas Reinhardt for his IFF files

H. Phil Duby

Klaus Seistrup for bug reports and comments

5.1 MUI

                               This application uses

                             MUI - MagicUserInterface
                     (c) Copyright 1993/94 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 30.-  or  US$ 20.-
                                       to
                                  Stefan Stuntz
                             Eduard-Spranger-Straße 7
                                  80935 München
                                     GERMANY

6 History

Version 1.0

First release Version 1.1

FIX version 1.0 was compiled with option 68030 - sorry! NEW many new chunk types NEW menu (moved ‘about’ and ‘prefs’ into the menu, gaining some space) NEW specifying file names at command line NEW loading files directly from clipboard NEW improved keyboard handling

Version 1.2 NEW fully localized GUI NEW chunk contents can be saved NEW AppWindow and AppIcon, command line option iconified NEW improved formatting capabilities for structure entries NEW sophisticated IFF parser, even brain-dead formats like EMOD.EMIC are handeled

appropriately NEW chunks now have nominal length, a message is displayed if a chunk is too short or

too long BUG Beta testers reported problems with de-iconify function when an icon was dropped

onto the AppIcon. I removed the said call, so you have to double-click the AppIcon after dropping an icon.

Version 1.3 BUG prefs window: close gadget now functioning BUG Cycle chain (TAB) now works in all windows

NEW new chunk types: IAND,IANM,DR2D,RGB8,RGBN,SPLT

NEW hex numbers get a user-chosen indicator, construction of hex dumps is now more

than 3 times faster NEW IFFs can be saved, even nested FORMs, e.g. images inside animations NEW Implemented some editing capabilities (delete chunks) NEW Preferences can be saved

I would greatly appreciate new ideas and enhancement requests. If you discover any chunk unknown to IFF Master, please let me know (i.e. try to send me that (short) file or even a description of the chunk’s structure, if known). If you dare to translate the catalog to your language, please contact me, I will send you the ct file and the instructions.

7 Chunks

Following chunks are currently known to IFF Master:

[anywhere]
     CSET, FVER, ANNO, AUTH, CHRS, hlid, NAME, TEXT, (c)
3DDD

obje

8SVX
     ATAK, body, CHAN, FADE, PAN , RLSE, SEQN, VHDR
ANIM

ansq

AVCF

avfh, gdat

AVCO

cdat, flag, imag

AVEV

acts, cdat, flag, imag, pars, refl

COPR

copi, wait, move

CTLG

LANG, strs

DEEP

dbod, dgbl, dloc, dpel

DR2D
     ATTR, CMAP, CPLY, DASH, DRHD, FONS, OPLY
DTYP

dthd, dtcd

EMOD

8smp, EMIC, patt

ENVL

LFOI, coen, voen, pien, noen, reen, phen

FAX3

fxhd, gphd, page

FAXX

fxhd, gphd, page

FTXT

fons

IAND

bpct, CMAP, body

IANM
BMHD, CAMG, body
ILBM

ANHD, asdg, bhcp, bhsi, BMHD, body, CAMG, CCRT, CLUT, CMAP, CRNG, DEST, dlta, dmmy, DPAN, DPI , dpps, DPPV, drng, FFEX, fitr, fxd2, fxpl, GRAB, junk, mand, SPRT

ISTG

maxf, sobj

KCXM

VERS, pref

LWOB

pnts, pols, SRFS, surf

MTRX

arry, body, dtyp, stru

PREF

alrt, conf, ctry, evnt, etxt, flop, font, ictl, inpt, keys, lcle, menu, midi, oper, oscn, palt, path, pdat, pntr, prhd, pgfx, pspd, ptrn, ptxt, punt, scrm, serl, shmn, sond, tmac, tmdo, tmex, tmic, tmim, tmmo, tmso, VERS, wbcf, wbpc, xdos

PTCH

inpf, outf, pseq, vers

REAL

rani, ratt, rmtr, robj, rscr, rset, rvrs, rwin

RGB8
BMHD, body, CAMG, CMAP, imrt
RGBN
BMHD, body, CAMG, CMAP, imrt
SC3D

edge, face, hier, lamp, lnam, obsv, path, vert, vnam, wrld

SMUS
SHDR, INS1, inst, snx1, TRAK
SPLT

INFO, body

TACF

tpar, tpbr, tpca, tpcm, tpma, tpp1, TPPA, tppx, tpsc, tpse, VERS

TAKE

tfrm, thdr

TDDD

info, obj

TERM

clip, COMD, cptr, date, dial, emln, fast, FILE, misc, MODM, PATH, PHON, recv, SCRN, send, SERL, SOUN, spek, trml, trns, VERS, winf, wind, XFER

TVP2
     TVRX
VILL

crc , mode, moni, VER

I am still looking for descriptions for the chunks in smaller print.

8 Author

Kay Drangmeister Am Hubland 16, Apt. 1323 97074 Würzburg Germany T. ++49-931-702079 (night+day) kay@cip.informatik.uni-wuerzburg.de K.Drangmeister@insider.sub.de Chapter 9: Index 13

9 Index

8

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

A

action buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 altering files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 AppIcon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 AppWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

C

Chunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 chunk ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 chunk list format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 chunk liste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 chunk type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chunks known . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Chunks without contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Container chunks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 contents of chunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

D

Del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

E

Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 EMOD.EMIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

F

File editable switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 file manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 file specification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 format of chunk list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

G

General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

H

hex dump. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

I

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

L

list format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

M

manipulation of files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 MUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

P

Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Prefs/Editable file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 presentation of chunk contents . . . . . . . . . . . . . . . . . . . . . . 3 Problems? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

S

Show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

T

TAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

U

Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Table of Contents

1 General. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3.1 File Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 The Chunk List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4 Problems?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

5.1 MUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

6 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 Chunks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 8 Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 9 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13