@database IFFMaster.guide @Master T:IFFMaster.ts @Width 72 This is the AmigaGuide® file IFFMaster.guide, produced by Makeinfo-1.55 from the input file T:IFFMaster.ts. Copyright (C) 1994, 1995, 1996 Kay Drangmeister @Node Main "IFFMaster.guide" @Next "Introduction" IFFMaster Version 1.5 - Freeware (C) 1994, 1995, 1996 by Kay Drangmeister @{" Introduction " Link "Introduction"} @{" Installation " Link "Installation"} @{" Usage " Link "Usage"} @{" ARexx Interface " Link "ARexx Interface"} @{" Problems? " Link "Problems?"} @{" Credits " Link "Credits"} @{" History " Link "History"} @{" Chunks " Link "Chunks"} @{" Author " Link "Author"} @{" Index " Link "Index"} @EndNode @Node "Introduction" "IFFMaster.guide/Introduction" @Next "Installation" @Prev "Main" @Toc "Main" Introduction ************ IFFMASTER is a program that allows you to have a view inside the structure of IFF files. It is @{i}not@{ui} yet another picture viewer or sound sample player, but it displays the internal entities (@{i}chunks@{ui}) of a file. For example, the headers of pictures (@{b}ILBM@{ub}) or sound samples (@{b}8SVX@{ub}) 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 @{b}ILBM.CAMG@{ub} chunk is a likely candidate), or which write additional information (e.g. copyright or author chunks). With IFFMASTER you can easily verify such cases. During the last time I implemented some ways to manipulate files, e.g. delete and move chunks. Chunk contents can be edited using a text or binary editor depending on the content type. In future versions (see @{"History" Link "History"}) there will be options to add new chunks like a @{b}DPI@{ub} chunk for images. Current features include: @{b}*@{ub} MUI application @{b}*@{ub} localized GUI (with AmigaOS 2.1 or later) @{b}*@{ub} online help, bubble help (with MUI 3.0 or later) @{b}*@{ub} Extensive chunk type library (currently 51 form types, 333 known chunks, 94 of these with comprehensive structure description) @{b}*@{ub} Chunk contents are presented alternatively as structure, text or hex dump @{b}*@{ub} Bit fields and enumeration types are displayed in clear @{b}*@{ub} Fixed point values are printed in decimal (e.g. @{b}8SVX.VHDR.Volume@{ub}) @{b}*@{ub} Callback hooks for special attributes, e.g. the Mode-ID inside the @{b}CAMG@{ub} chunk is de-referenced (e.g. @{b}PAL: Hires@{ub}). @{b}*@{ub} ARexx interface. E.g. extract Term phonebook entries to the DFA data base. IFFMASTER is distributed under the concept of @{i}freeware@{ui}. Standard disclaimer applies to this program. @EndNode @Node "Installation" "IFFMaster.guide/Installation" @Next "Usage" @Prev "Introduction" @Toc "Main" Installation ************ Nothing to it: just leave all files and the catalogs directory as they are in one directory, or alternatively copy the appropriate @{b}iffmaster.catalog@{ub} to into the system's locale directory (i.e. @{b}LOCALE:Catalogs/yourlanguage/@{ub}). By the way: if you mixed up catalog files for different languages, just use IFFMASTER to discover the catalog's language... @{b}:)@{ub} System requirements are: @{b}*@{ub} AmigaOS 2.0 (V37) @{b}*@{ub} AmigaOS 2.1 (V38) for localized GUI @{b}*@{ub} AmigaOS 3.0 (V39) for some extended features, like displaying colors in @{b}ILBM/CMAP@{ub} chunks. @{b}*@{ub} MUI version 2.1 (@{b}muimaster.library@{ub} v8), See @{"MUI" Link "MUI"}. If you wish to start IFFMASTER inside the @{b}user-startup@{ub}, you should do this with @{b}runback IFFMaster ICONIFIED@{ub}. This will cause IFFMASTER to start as an @{i}AppIcon@{ui}, so that Icons may be dragged onto this Icon. @EndNode @Node "Usage" "IFFMaster.guide/Usage" @Next "ARexx Interface" @Prev "Installation" @Toc "Main" Usage ***** @{" Main Window " Link "Main Window"} @{" Contents Window " Link "Contents Window"} @{" Preferences Window " Link "Preferences Window"} @EndNode @Node "Main Window" "IFFMaster.guide/Main Window" @Next "Contents Window" @Toc "Usage" Main Window =========== The main window consists of 3 groups. The topmost one is the @{i}file specification@{ui} group, the middle part ist the @{i}chunk list@{ui} and below there are the @{i}action buttons@{ui}. @{" File Specification " Link "File Specification"} @{" Chunk List " Link "Chunk List"} @{" Action Buttons " Link "Action Buttons"} The current version has some capabilities to manipulate files, but adding chunks is still not implemented. So the @{b}Add@{ub} button is always inactive. However, moving (@{b}Up@{ub}, @{b}Down@{ub}), deleting (@{b}Del@{ub}), and editing (@{b}Edit@{ub}) chunks is possible. Be warned that files may become unreadable to some applications if you delete mandatory chunks, i.e. if you delete the @{b}ILBM/BMHD@{ub} chunk of a picture it will become undecodeable. To activate the manipulation buttons select @{b}Prefs/Editable file@{ub} 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 @{b}File editable switch@{ub} to be @{b}off for new files@{ub} or to be @{b}left unchanged@{ub}, see @{"Safety" Link "Safety"}. @EndNode @Node "File Specification" "IFFMaster.guide/File Specification" @Next "Chunk List" @Toc "Main Window" File Specification ------------------ There are different ways to open a file. The most common one is by selecting @{b}Project/Open...@{ub} 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 IFFMASTER's main window (@{i}AppWindow@{ui}). Furthermore, you can open the file which is currently in the clipboard by using the menu item @{b}Project/Open Clip@{ub}. @EndNode @Node "Chunk List" "IFFMaster.guide/Chunk List" @Next "Action Buttons" @Prev "File Specification" @Toc "Main Window" Chunk List ---------- The chunk list can show several types of information: the left column shows the @{i}chunk ID@{ui} (e.g. @{b}BMHD@{ub}), then there is the @{i}chunk type@{ui} (e.g. @{b}ILBM@{ub}), and at the right side there is the size of the chunk. Below the action buttons there is a cycle gadget labeled @{b}Show@{ub} that specifies the format of the chunk list. If it states @{b}Description@{ub} you will get a description of the chunk's purpose (e.g. @{b}Bitmap Header@{ub}), and @{b}Contents@{ub} will display a @{i}short@{ui} 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 @{b}Info@{ub} (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. @EndNode @Node "Action Buttons" "IFFMaster.guide/Action Buttons" @Prev "Chunk List" @Toc "Main Window" Action Buttons -------------- Each of the buttons in this group performs an action on the currently active chunk, i.e. the on that is marked by the cursor in the @{"Chunk List" Link "Chunk List"}. The buttons that are used to modify a file are inactive if the menu item (switch) @{b}File Editable@{ub} is turned off. This is for safety reasons, so that the file structure or contents cannot be damaged unitentionally. Depending on the experience of the user there are different locking modes for that switch, see @{"Safety" Link "Safety"}. @{b}Info@{ub} The @{"Contents Window" Link "Contents Window"} will be opened, and additional information about the chunk is desplayed in it. @{b}Edit@{ub} Depending on the chunk's contents (text or binary data) a text or binary editor is called to let you edit the chunk's contents. See @{"General" Link "General"}. @{b}Add@{ub} This action is not implemented yet due to extremely low user feedback. So this button is always disabled. @{b}Delete@{ub} The active chunk is entirely deleted. @{b}Up@{ub} The chunk is moved before its predecessor. Because chunks can not be moved out of their containers, this action will only succed if the preceeding chunk is not one of the type @{b}FORM@{ub}, @{b}CAT@{ub} or @{b}LIST@{ub}. Furthermore, only chunks containing data can be moved, i.e. container chunks (type @{b}FORM@{ub}, @{b}CAT@{ub} or @{b}LIST@{ub}) are not moveable. @{b}Down@{ub} The chunk is moved behind its successor. The same restrictions as in @{b}Up@{ub} apply. @{b}Top@{ub} The chunk is moved up as far as possible. The same restrictions as in @{b}Up@{ub} apply. @{b}Bottom@{ub} The chunk is moved up as down as possible. The same restrictions as in @{b}Up@{ub} apply. @EndNode @Node "Contents Window" "IFFMaster.guide/Contents Window" @Next "Preferences Window" @Prev "Main Window" @Toc "Usage" Contents Window =============== The contents window displays the contents of the active chunk, see @{"Chunk List" Link "Chunk List"}. Depending on the type of the contents one of the following three display types is (automatically) used. @{b}Structure@{ub} This is the most sophisticated method to display the chunk's contents. All parts of the content are decoded and displayed line by line together with a description. Example: A sampled sound (@{b}FORM 8SVX@{ub}) has a header chunk (@{b}VHDR@{ub}) that is 20 bytes long. Displayed as a sequence of hex numbers it would read: @{b}00021432 00000000 00000020 41560100 00010000@{ub}. Displayed as a structure it reads like this: OneShot HiSamples 136,242 Repeat HiSamples 0 Samples / HiCycle 32 Samples / s 16,726 # Octaves 1 Compression Technique None Volume [0,1] 1.00000 @{b}Text@{ub} Some chunks contain plain text, e.g. @{b}ANNO@{ub} chunks. Texts are formatted block-justified, but no other processing is done. @{b}Hex Dump@{ub} If a chunk contains neither structured data nor text the contents are displayed using a hex dump. There are some ways to customize the appearence of the dump, see @{"Hexdump" Link "Hexdump"}. You can also switch between some display styles by hand, using the register gadgets. For example you can have the above mentioned @{b}VHDR@{ub} chunk displayed as a hex dump instead of a structure. To switch between the display styles you can also use the cursor left and cursor right keys, even if the active window is the main window and not the contents window. This way you can control all display functions from the main window. @EndNode @Node "Preferences Window" "IFFMaster.guide/Preferences Window" @Prev "Contents Window" @Toc "Usage" Preferences Window ================== The preferences are grouped on four pages: @{" General " Link "General"} @{" Safety " Link "Safety"} @{" Layout " Link "Layout"} @{" Hexdump " Link "Hexdump"} After having edited the preferences you may choose to @{b}Save@{ub} For storing the settings on disk. All future invocations of IFFMASTER will use that settings. @{b}Use@{ub} For storing the settings in RAM only, so they will only last until you reboot your computer. @{b}Cancel@{ub} For aborting the adjustments you made and use the previously stored settings. Closing the window with the close gadget has the same effect as klicking on @{b}Cancel@{ub}. @EndNode @Node "General" "IFFMaster.guide/General" @Next "Safety" @Toc "Preferences Window" General ------- On this page you can specify the editors. @{b}Text Editor@{ub} specifies the editor that is used for chunks containing plain text, e.g. @{b}ANNO@{ub}-Chunks. You have to make sure that the editor does not spawn itself from the shell, but runs synchronously. If you are using e.g. the CYGNUSED you may enter @{b}ed -sticky@{ub}. If you leave this gadget empty the editor specified in the environment variable @{b}EDITOR@{ub} is used. @{b}Binary Editor@{ub} specifies the editor that is used for chunks containing binary data. A common name for these editors is @{i}file zapper@{ui}, and are likely to be available on the aminet. This editor has also to run synchronously. If you leave this gadget empty the editor specified in the environment variable @{b}BINEDITOR@{ub} is used. @EndNode @Node "Safety" "IFFMaster.guide/Safety" @Next "Layout" @Prev "General" @Toc "Preferences Window" Safety ------ The following settings are used to prevent inintentional damage to files. Since numerous `okay to do...?' requests by the program are evenly unacceptable you can adjust between the two extremes safety and ease of use. Beginners and casual users should always use the safe settings. @{b}File Editable switch@{ub} In the menu @{b}Settings@{ub} there is a switch @{b}File Editable@{ub} which turns on or off the file manipulation gadgets, see @{"Action Buttons" Link "Action Buttons"}. You can set here the behaviour of that switch. @{b}off and locked@{ub} is the safest setting. The switch is off and disabled, effectively preventing you from accidentially turing on the editing buttons. @{b}off for new files@{ub} turns off the manipulation gadgets each time a new file is opened. If you want to edit files only infrequently this is a good setting. @{b}left unchanged@{ub} leaves the switch always in the state you switched it to. If you want to edit many files in a row you have to turn on the manipulation gadgets only once. @{b}Overwrite files@{ub} If you want to edit many files without keeping backups you can turn the prompting off. Otherwise it is recommended to leave this gadget always on the safe @{b}prompt@{ub} position, because since IFFMASTER can be fully driven by keyboard it just needs two keypresses like Del and s (for @{b}Save@{ub}) to possibly destroy a file. @EndNode @Node "Layout" "IFFMaster.guide/Layout" @Next "Hexdump" @Prev "Safety" @Toc "Preferences Window" Layout ------ The layout page currently features the following settings: @{b}Bubble help@{ub} If you are familiar with the program's functions you may wish to turn off the bubble help. (NB: Bubble help is only supportet in MUI 3.0 or later.) @{b}Hex indicator@{ub} lets you choose your favourite pre- or postfix string to indicate hexadeximal numbers in the structure page of the contents window. For an example file which contains hex numbers open @{b}ENV:Sys/locale.prefs@{ub} and select the @{b}LCLE@{ub} chunk. The first 4 numbers (16 Bytes) are reserved and displayed as hex numbers. NB: This setting does not affect the @{"Hexdump" Link "Hexdump"}. @EndNode @Node "Hexdump" "IFFMaster.guide/Hexdump" @Prev "Layout" @Toc "Preferences Window" Hexdump ------- This page contains gadgets that affect the appearence of the hex dump in the contents window. @{b}Limit # bytes@{ub} Building hex dumps of very large chunks (e.g. @{b}ILBM.BODY@{ub}) 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. Since in most cases hex dumps are not very meaningful you may wish to leave this value reasonably low. To adjust the value you man use the slider or the string gadget to the right of it. With the check mark button you can turn the limit off, but this is not recommended. @{b}Offset format@{ub} The leftmost column of the hex dump shows the offset of the first byte in each row. Use this gadget to specify if that offset should be displayed in deximal or hexadecimal. @{b}Dump characters@{ub} If the (fixed-width) font used in the hex dump contains all 256 characters you can turn on to print even normally non-printable characters like LineFeed, @{b}0x0A@{ub}, which will then be displayed as an inverse `J' or something like that. If only a rectangle appears then your font supports only printable characters and you will have to turn on @{b}printable only@{ub}. Then all non-printable characters are displayed as a dot. A good way to test this feature is to load a 24 bit ILBM picture. These pictures normally contain three @{b}CLUT@{ub} chunks. Normally these chunks contain all byte values in increasing order. @EndNode @Node "ARexx Interface" "IFFMaster.guide/ARexx Interface" @Next "Problems?" @Prev "Usage" @Toc "Main" ARexx Interface *************** Since version 1.5 of IFFMASTER many functions can be accessed via an ARexx port. This allows you to gain access to internal IFF data from inside scripts. For example you could list all image (@{b}ILBM@{ub}) files (or sort them into a directory) whose depth is up to 8 planes. Or you could save some space if you remove all @{b}ANNO@{ub} chunks from the files in your sample (@{b}8SVX@{ub}) directory. A few example scripts are in the @{b}rexx@{ub} directory of the distribution. The port name of IFFMASTER is @{b}IFFMASTER.1@{ub}. You can get a quick list of IFFMASTER's REXX commands by running @{b}rexx/ShowREXXCommands.rexx@{ub}. @{b}load FILE/A@{ub} Loads a file into IFFMASTER. @{b}loadclip@{ub} Loads the clipboard's contents. @{b}saveas FILE/A@{ub} Saves the project under the given file name. You may wish to turn @{b}overwrite ON@{ub} to prevent a requester popping up. @{b}save@{ub} Saves the project under the same name as displayed in the string gadget, i.e. under the load file name. @{b}saveclip@{ub} Copies the project to the clipboard. @{b}savechunk FILE/A@{ub} Saves the chunk marked by the cursor under the given file name. @{b}saveform FILE/A@{ub} Saves the sub-FORM marked by the cursor under the given file name. The cursor must be over a @{b}FORM@{ub}, @{b}LIST@{ub} or @{b}CAT@{ub} chunk. @{b}saveformclip@{ub} Copies the sub-FORM marked by the cursor to the clipboard. @{b}entries@{ub} Gives the number of chunk list entries as the @{b}RESULT@{ub}. @{b}cursorpos ENTRY/N@{ub} Gives the cursor position in the chunk list as the @{b}RESULT@{ub}. @{b}chunkid@{ub} Gives the chunk ID of the chunk marked by the cursor as the @{b}RESULT@{ub}. @{b}chunktype@{ub} Gives the chunk type of the chunk marked by the cursor as the @{b}RESULT@{ub}. @{b}chunksize@{ub} Gives the chunk size of the chunk marked by the cursor as the @{b}RESULT@{ub}. @{b}chunkdepth@{ub} Gives the chunk' nesting depth of the chunk marked by the cursor as the @{b}RESULT@{ub}. @{b}chunkinfo@{ub} Gives short information about the chunk marked by the cursor as the @{b}RESULT@{ub}. The information is the same as the `contents' column in the chunk list. @{b}chunkstruct SEPSTRING@{ub} Gives the information as in the `structure' page of the chunk contents window on a line-by-line basis. Since the list has two columns (description and contents) you can specify a separator string (@{b}SEPSTRING@{ub}) for the two entries. The default @{b}SEPSTRING@{ub} is @{b}" | "@{ub}. See @{b}rexx/ImportTERMpbook.rexx@{ub} for an example usage. @{b}chunktext@{ub} Gives the chunk's contents as a string in @{b}RESULT@{ub}. This makes only sense if the chunk is really a text chunk, like @{b}ANNO@{ub} or @{b}AUTH@{ub}. @{b}delete@{ub} Removes the chunk under the cursor from the chunk list. Note that you have to turn @{b}editable ON@{ub} to successfully perform a chunk deletion. See @{b}rexx/RemoveANNO.rexx@{ub} for an example usage. @{b}infowindow ON/S,OFF/S@{ub} If you have a non-interactive REXX script which does not require user supervision you may close (@{b}OFF@{ub}) open (@{b}ON@{ub}) the chunk contents window. @{b}mainwindow ON/S,OFF/S@{ub} Same as above, but closes the main window. Note to turn the window back on or quit IFFMASTER if your script terminates, otherwise IFFMASTER will stay open with no user interface to quit it. Of course the user can quit IFFMASTER by hand by using CommoditiesExchange or by sending a break signal to IFFMASTER's task or by using the @{b}quit@{ub} REXX command. @{b}editable ON/S,OFF/S@{ub} Turns the editing facilities on or off. @{b}overwrite ON/S,OFF/S@{ub} Turns quiet overwriting of files on or off. @{b}showformat FORMAT/A/N@{ub} Changes the state of the @{b}Show@{ub} cycle gadget that affects the format of the chunk list. Following values are possible: 0. @{b}Id - Type - Size@{ub} 1. @{b}Id - Type - Description@{ub} 2. @{b}Id - Type - Description - Size@{ub} 3. @{b}Id - Type - Contents@{ub} 4. @{b}Id - Type - Contents - Size@{ub} @{b}limithex ON/S,OFF/S,BYTES/N@{ub} Specify the size limit of the hex dump buffer. @{b}OFF@{ub} turns limitation off, @{b}ON@{ub} limits size to value set in the preferences, @{b}BYTES/N@{ub} changes the preferences to the specified value. Use @{b}limithex BYTES 16@{ub} if you don't need to display hex dumps and want to gain speed when processing chunk contents (i.e. moving the cursor). @{b}editor EDITORNAME@{ub} Specifies the editor to use when editing text chunks. @{b}bineditor BINEDITORNAME@{ub} Specifies the editor to use when editing binary chunks. There are some standard MUI REXX commands that are also useful: @{b}quit FORCE/S@{ub} Terminates IFFMASTER. If you specify @{b}FORCE@{ub} then no requester pops up when there is an unsaved project. @{b}hide@{ub} Iconifies IFFMASTER. @{b}show@{ub} Uniconifies IFFMASTER. @{b}info ITEM/A@{ub} Gives information about variuos items (e.g. title). Refer to @{b}MUI.guide/ARexx@{ub}. @{b}help FILE/A@{ub} Lists all REXX commands to @{b}FILE@{ub}. See @{b}rexx/ShowREXXCommands.rexx@{ub} for an example usage. @EndNode @Node "Problems?" "IFFMaster.guide/Problems?" @Next "Credits" @Prev "ARexx Interface" @Toc "Main" Problems? ********* Building hex dumps of very large chunks (e.g. @{b}ILBM.BODY@{ub}) 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, see @{"Hexdump" Link "Hexdump"}. Some chunks (e.g. @{b}FORM@{ub}) are container chunks with no contents, and therefore there is no presentation. Some other chunks (e.g. @{b}BODY@{ub}) contain raw data, presentation of these chunks is limited to hex dump. @EndNode @Node "Credits" "IFFMaster.guide/Credits" @Next "History" @Prev "Problems?" @Toc "Main" Credits ******* I like to thank: Stefan Stuntz for MUI, see @{"MUI" Link "MUI"}. Eric Totel for his great MUIBUILDER, and for keeping MUIBUILDER up with the needs of IFFMASTER @{b}:)@{ub}. This program would not exist without it. Francesco Dipietromaria for the italian translation Marcin Orîowski for the polish translation Alessandro Zummo for fixing the de-iconify problem with the AppIcon Andreas Mixich for all ARexx scripts Kai Iske and Walter Dörwald for support and betatesting Thomas Reinhardt, Harald Drangmeister and Ralph Wermke for their IFF descriptions H. Phil Duby, Bryan Ewert, Martin Pfingstl and Klaus Seistrup for bug reports, support and comments @EndNode @Node "MUI" "IFFMaster.guide/MUI" @Toc "Credits" 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 @EndNode @Node "History" "IFFMaster.guide/History" @Next "Chunks" @Prev "Credits" @Toc "Main" History ******* Version 1.0 First release Version 1.1 FIX version 1.0 was compiled with option @{b}68030@{ub} - sorry! NEW many new chunk types NEW menu (moved @{b}about@{ub} and @{b}prefs@{ub} 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 @{b}iconified@{ub} NEW improved formatting capabilities for structure entries NEW sophisticated IFF parser, even brain-dead formats like @{b}EMOD.EMIC@{ub} 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 FIX prefs window: close gadget now functioning, see @{"Preferences Window" Link "Preferences Window"}. FIX cycle chain (TAB) now works in all windows NEW new chunk IDs: @{b}IAND@{ub}, @{b}IANM@{ub}, @{b}DR2D@{ub}, @{b}RGB8@{ub}, @{b}RGBN@{ub}, @{b}SPLT@{ub} NEW hex numbers get a user-chosen indicator, construction of hex dumps is now more than 3 times faster, see @{"Hexdump" Link "Hexdump"}. NEW IFFs can be saved, even nested @{b}FORM@{ub}s, e.g. images inside animations NEW implemented some editing capabilities (delete chunks), see @{"Action Buttons" Link "Action Buttons"}. NEW preferences can be saved, see @{"Preferences Window" Link "Preferences Window"}. Version 1.4 NEW Completely changed to GNU-C. Differences are: new startup code, no more ANSI-C functions like @{b}sprintf()@{ub} used, enabling some things like localized output of floating point numbers. FIX should finally run without @{b}locale.library@{ub} NEW Online help NEW new chunk IDs: @{b}AMBA@{ub}, @{b}AMDE@{ub}, @{b}AMIN@{ub}, @{b}AMHU@{ub}, @{b}AMUN@{ub}, @{b}EQE1@{ub}, @{b}RESO@{ub}, @{b}VARS@{ub}, ... NEW complete structure descriptions of system preference files, some new hooks. Be sure to try out e.g. @{b}IFFMaster ENV:sys/locale.prefs@{ub}. NEW color descriptions (RGB values) are now also displayed as a colorfield, if you have WB 3.0. Check out @{b}IFFMaster ENV:sys/palette.prefs@{ub} or any @{b}ILBM/CMAP@{ub}. NOTE: You need some free pens for this feature, so you may need to specify a deep screen for IFFMASTER inside MUIPREFS. FIX @{b}@{ub} is now accepted as a name for the clipboard. So @{b}Save@{ub} now works as @{b}Save Clip@{ub} when working on a clipboard file. As a side-effect you can now enter @{b}IFFMaster ""@{ub} at the command line to load directly from the clipboard. FIX button key definitions did overlap NEW 'non-printable' characters can now be displayed in the hex dump, if the font comprises 256 characters, see @{"Hexdump" Link "Hexdump"}. (Requested by Walter Dörwald) NEW some more editing capabilities (move chunks), see @{"Action Buttons" Link "Action Buttons"}. NEW Chunks containing text or binary data can be edited via text or binary editors, see @{"Action Buttons" Link "Action Buttons"}. NEW new icon, which is also used as AppIcon now Version 1.5 NEW ARexx interface. E.g. extract Term phonebook entries to the DFA data base. NEW Bubble help available (MUI 3.0). FIX @{b}File editable@{ub} switch now also enables/disables @{b}edit@{ub} button. NEW New Chunks: MUI Prefs, NEW Support for IEEE 96 bit floats (@{b}ILBM.MAND@{ub}) FIX Key o works again (activates string gadget) FIX AppIcon problem hopefully solved (thanks to Alessandro Zummo) I would greatly appreciate new ideas and enhancement requests. If you discover any chunk unknown to IFFMASTER, 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 have a look at @{b}translators.readme@{ub} first. @EndNode @Node "Chunks" "IFFMaster.guide/Chunks" @Next "Author" @Prev "History" @Toc "Main" Chunks ****** Following chunks are currently known to IFFMASTER: @{b}[anywhere]@{ub} @{b}CSET@{ub}, @{b}FVER@{ub}, @{b}ANNO@{ub}, @{b}AUTH@{ub}, @{b}CHRS@{ub}, HLID, @{b}NAME@{ub}, @{b}TEXT@{ub}, @{b}(c) @{ub} @{b}3DDD@{ub} OBJE @{b}8SVX@{ub} @{b}ATAK@{ub}, BODY, @{b}CHAN@{ub}, @{b}FADE@{ub}, @{b}PAN @{ub}, @{b}RLSE@{ub}, @{b}SEQN@{ub}, @{b}VHDR@{ub} @{b}ANIM@{ub} ANSQ @{b}AVCF@{ub} AVFH, GDAT @{b}AVCO@{ub} CDAT, FLAG, IMAG @{b}AVEV@{ub} ACTS, CDAT, FLAG, IMAG, PARS, REFL @{b}CDAF@{ub} BODY, @{b}FILE@{ub} @{b}CDVR@{ub} VARS @{b}COPR@{ub} COPI, WAIT, MOVE @{b}CPRO@{ub} @{b}3DIM@{ub}, @{b}GFRA@{ub}, SFRA @{b}CTLG@{ub} @{b}LANG@{ub}, STRS @{b}CYBR@{ub} CMON, @{b}MD08@{ub}, @{b}MD16@{ub}, @{b}MD24@{ub}, @{b}VER@{ub} @{b}DECK@{ub} RESO @{b}DEEP@{ub} DBOD, DGBL, DLOC, DPEL @{b}DR2D@{ub} @{b}ATTR@{ub}, @{b}CMAP@{ub}, @{b}CPLY@{ub}, @{b}DASH@{ub}, @{b}DRHD@{ub}, @{b}FONS@{ub}, @{b}OPLY@{ub}, PPRF @{b}DTYP@{ub} DTHD, DTCD @{b}EMOD@{ub} 8SMP, @{b}EMIC@{ub}, PATT @{b}ENVL@{ub} @{b}LFOI@{ub}, COEN, VOEN, PIEN, NOEN, REEN, PHEN @{b}EQED@{ub} EQE1 @{b}FAX3@{ub} FXHD, GPHD, PAGE @{b}FAXX@{ub} FXHD, GPHD, PAGE @{b}FTXT@{ub} CYGD, @{b}FONS@{ub} @{b}GXGA@{ub} GADA @{b}GXMN@{ub} MEDA @{b}GXUI@{ub} GGUI @{b}GXWD@{ub} WDDA @{b}IAND@{ub} BPCT, @{b}CMAP@{ub}, BODY @{b}IANM@{ub} @{b}BMHD@{ub}, @{b}CAMG@{ub}, BODY @{b}ILBM@{ub} @{b}3DIM@{ub}, @{b}ANHD@{ub}, ASDG, BHCP, BHSI, @{b}BMHD@{ub}, BODY, @{b}CAMG@{ub}, @{b}CCRT@{ub}, @{b}CLUT@{ub}, @{b}CMAP@{ub}, COLC, @{b}CRNG@{ub}, @{b}DEST@{ub}, DLTA, DMMY, @{b}DPAN@{ub}, @{b}DPI @{ub}, DPPS, @{b}DPPV@{ub}, DRNG, EQE1, FCMP, @{b}FFEX@{ub}, FITR, FXCO, FXD2, FXPL, @{b}GFRA@{ub}, @{b}GRAB@{ub}, @{b}IMRT@{ub}, JUNK, @{b}MAND@{ub}, SFRA, @{b}SPRT@{ub} @{b}ISTG@{ub} MAXF, SOBJ @{b}KCXM@{ub} @{b}VERS@{ub}, PREF @{b}LWOB@{ub} PNTS, POLS, @{b}SRFS@{ub}, SURF @{b}MCXB@{ub} @{b}PREF@{ub}, @{b}VERS@{ub} @{b}MCXP@{ub} PREF, VERS @{b}MTRX@{ub} ARRY, BODY, DTYP, STRU @{b}NAIL@{ub} NBDY, NDSC, NHDR @{b}PREF@{ub} ALRT, @{b}AMBA@{ub}, @{b}AMDE@{ub}, @{b}AMIN@{ub}, @{b}AMHU@{ub}, @{b}AMUN@{ub}, CONF, @{b}CTRY@{ub}, DFSS, EVNT, ETXT, FLOP, @{b}FONT@{ub}, GENA, GENC, GTCO, GUI, @{b}ICTL@{ub}, @{b}INPT@{ub}, @{b}JFIF@{ub}, KEYS, @{b}LCLE@{ub}, MENU, MIDI, MUIC, MUIW, OPER, @{b}OSCN@{ub}, @{b}PALT@{ub}, PATH, PDAT, @{b}PGFX@{ub}, PNTR, @{b}PRHD@{ub}, PSPD, PTRN, @{b}PTXT@{ub}, PUNT, @{b}SCRM@{ub}, @{b}SERL@{ub}, SHMN, SOND, TMAC, TMDO, TMEX, TMIC, TMIM, TMMO, TMSO, @{b}VERS@{ub}, WBCF, WBPC, XDOS @{b}PTCH@{ub} INPF, OUTF, PSEQ, VERS @{b}REAL@{ub} RANI, RATT, RMTR, ROBJ, RSCR, RSET, RVRS, RWIN @{b}RGB8@{ub} @{b}BMHD@{ub}, BODY, @{b}CAMG@{ub}, @{b}CMAP@{ub}, @{b}IMRT@{ub} @{b}RGBN@{ub} @{b}BMHD@{ub}, BODY, @{b}CAMG@{ub}, @{b}CMAP@{ub}, @{b}IMRT@{ub} @{b}SC3D@{ub} EDGE, FACE, HIER, LAMP, LNAM, OBSV, PATH, VERT, VNAM, WRLD @{b}SMUS@{ub} @{b}SHDR@{ub}, @{b}INS1@{ub}, INST, SNX1, @{b}TRAK@{ub} @{b}SPLT@{ub} @{b}INFO@{ub}, BODY @{b}SWRT@{ub} ASCI, ATTR, BIBD, BIBH, BIBP, BOXP, DINF, DOC , DSP2, ENDP, FDTA, FNTD, FNTH, GINF, GRMR, HFDA, HYPH, IDXD, IDXH, IDXP, LINP, LMST, OUTD, OUTH, OUTP, OVLP, PAG3, PASD, PASH, PICP, PNDA, PRGH, PRN3, RMST, RULE, SAVP, SEC1, SHD1, SHPP, SPEL, @{b}SWCL@{ub}, TABS, TBDY, TBLK, TOCD, TOCH, TOCP, TOID, TOIH, TOIP, TSSD, TSSH, TXOB @{b}TACF@{ub} TPAR, TPBR, TPCA, TPCM, TPMA, TPP1, @{b}TPPA@{ub}, TPPX, TPSC, TPSE, @{b}VERS@{ub} @{b}TAKE@{ub} TFRM, THDR @{b}TDDD@{ub} INFO, OBJ @{b}TERM@{ub} CLIP, @{b}COMD@{ub}, CPTR, DATE, DIAL, EMLN, FAST, @{b}FILE@{ub}, MISC, @{b}MODM@{ub}, @{b}PATH@{ub}, @{b}PHON@{ub}, RECV, @{b}SCRN@{ub}, SEND, @{b}SERL@{ub}, @{b}SOUN@{ub}, SPEK, TRML, TRNS, @{b}VERS@{ub}, WINF, WIND, @{b}XFER@{ub} @{b}TVP2@{ub} @{b}TVRX@{ub} @{b}VILL@{ub} CRC , MODE, MONI, @{b}VER @{ub} I am still looking for descriptions for the chunks in smaller print. @EndNode @Node "Author" "IFFMaster.guide/Author" @Next "Index" @Prev "Chunks" @Toc "Main" Author ****** Kay Drangmeister Tannenfelsstraße 17 36115 Hilders Germany T. ++49-6681-7566 K.Drangmeister@insider.sub.de PGP Fingerprint = 5A 88 30 0F BF D7 0F F3 F9 31 A0 88 AB E4 38 66 @EndNode @Node "Index" "IFFMaster.guide/Index" @Prev "Author" @Toc "Main" Index ***** @Index "Index" @{" 8SVX.VHDR.Volume " Link "Introduction"} Introduction @{" TAB " Link "Chunk List"} Chunk List @{" Action Buttons " Link "Action Buttons"} Action Buttons @{" action buttons " Link "Main Window"} Main Window @{" Add " Link "Main Window"} Main Window @{" Add " Link "Action Buttons"} Action Buttons @{" altering files " Link "Main Window"} Main Window @{" AppIcon " Link "Installation"} Installation @{" AppWindow " Link "File Specification"} File Specification @{" ARexx Interface " Link "ARexx Interface"} ARexx Interface @{" ARexx/bineditor " Link "ARexx Interface"} ARexx Interface @{" ARexx/chunkdepth " Link "ARexx Interface"} ARexx Interface @{" ARexx/chunkid " Link "ARexx Interface"} ARexx Interface @{" ARexx/chunkinfo " Link "ARexx Interface"} ARexx Interface @{" ARexx/chunksize " Link "ARexx Interface"} ARexx Interface @{" ARexx/chunkstruct " Link "ARexx Interface"} ARexx Interface @{" ARexx/chunktext " Link "ARexx Interface"} ARexx Interface @{" ARexx/chunktype " Link "ARexx Interface"} ARexx Interface @{" ARexx/cursorpos " Link "ARexx Interface"} ARexx Interface @{" ARexx/delete " Link "ARexx Interface"} ARexx Interface @{" ARexx/editable " Link "ARexx Interface"} ARexx Interface @{" ARexx/editor " Link "ARexx Interface"} ARexx Interface @{" ARexx/entries " Link "ARexx Interface"} ARexx Interface @{" ARexx/help " Link "ARexx Interface"} ARexx Interface @{" ARexx/hide " Link "ARexx Interface"} ARexx Interface @{" ARexx/info " Link "ARexx Interface"} ARexx Interface @{" ARexx/infowindow " Link "ARexx Interface"} ARexx Interface @{" ARexx/limithex " Link "ARexx Interface"} ARexx Interface @{" ARexx/load " Link "ARexx Interface"} ARexx Interface @{" ARexx/loadclip " Link "ARexx Interface"} ARexx Interface @{" ARexx/mainwindow " Link "ARexx Interface"} ARexx Interface @{" ARexx/overwrite " Link "ARexx Interface"} ARexx Interface @{" ARexx/quit " Link "ARexx Interface"} ARexx Interface @{" ARexx/save " Link "ARexx Interface"} ARexx Interface @{" ARexx/saveas " Link "ARexx Interface"} ARexx Interface @{" ARexx/savechunk " Link "ARexx Interface"} ARexx Interface @{" ARexx/saveclip " Link "ARexx Interface"} ARexx Interface @{" ARexx/saveform " Link "ARexx Interface"} ARexx Interface @{" ARexx/saveformclip " Link "ARexx Interface"} ARexx Interface @{" ARexx/show " Link "ARexx Interface"} ARexx Interface @{" ARexx/showformat " Link "ARexx Interface"} ARexx Interface @{" Author " Link "Author"} Author @{" bineditor (ARexx) " Link "ARexx Interface"} ARexx Interface @{" Bottom " Link "Action Buttons"} Action Buttons @{" Bubble help " Link "Layout"} Layout @{" Chunk " Link "Introduction"} Introduction @{" Chunk contents as hex dump " Link "Contents Window"} Contents Window @{" Chunk contents as structure " Link "Contents Window"} Contents Window @{" Chunk contents as text " Link "Contents Window"} Contents Window @{" chunk ID " Link "Chunk List"} Chunk List @{" Chunk List " Link "Chunk List"} Chunk List @{" chunk list format " Link "Chunk List"} Chunk List @{" chunk liste " Link "Main Window"} Main Window @{" chunk type " Link "Chunk List"} Chunk List @{" chunkdepth (ARexx) " Link "ARexx Interface"} ARexx Interface @{" chunkid (ARexx) " Link "ARexx Interface"} ARexx Interface @{" chunkinfo (ARexx) " Link "ARexx Interface"} ARexx Interface @{" Chunks known " Link "Chunks"} Chunks @{" Chunks without contents " Link "Problems?"} Problems? @{" chunksize (ARexx) " Link "ARexx Interface"} ARexx Interface @{" chunkstruct (ARexx) " Link "ARexx Interface"} ARexx Interface @{" chunktext (ARexx) " Link "ARexx Interface"} ARexx Interface @{" chunktype (ARexx) " Link "ARexx Interface"} ARexx Interface @{" Container chunks " Link "Problems?"} Problems? @{" contents of chunk " Link "Chunk List"} Chunk List @{" Contents Window " Link "Contents Window"} Contents Window @{" Credits " Link "Credits"} Credits @{" cursor left " Link "Contents Window"} Contents Window @{" cursor right " Link "Contents Window"} Contents Window @{" cursorpos (ARexx) " Link "ARexx Interface"} ARexx Interface @{" Del " Link "Main Window"} Main Window @{" Delete " Link "Action Buttons"} Action Buttons @{" delete (ARexx) " Link "ARexx Interface"} ARexx Interface @{" description " Link "Chunk List"} Chunk List @{" Down " Link "Main Window"} Main Window @{" Down " Link "Action Buttons"} Action Buttons @{" Edit " Link "Main Window"} Main Window @{" Edit " Link "Action Buttons"} Action Buttons @{" editable (ARexx) " Link "ARexx Interface"} ARexx Interface @{" editor (ARexx) " Link "ARexx Interface"} ARexx Interface @{" EMOD.EMIC " Link "History"} History @{" entries (ARexx) " Link "ARexx Interface"} ARexx Interface @{" ENV:Sys/locale.prefs " Link "Layout"} Layout @{" Environment variable: BINEDITOR " Link "General"} General @{" Environment variable: EDITOR " Link "General"} General @{" File editable switch " Link "Main Window"} Main Window @{" file manipulation " Link "Main Window"} Main Window @{" File Specification " Link "File Specification"} File Specification @{" file specification " Link "Main Window"} Main Window @{" file zapper " Link "General"} General @{" format of chunk list " Link "Chunk List"} Chunk List @{" General Preferences " Link "General"} General @{" help (ARexx) " Link "ARexx Interface"} ARexx Interface @{" hex dump " Link "Problems?"} Problems? @{" Hexdump Preferences " Link "Hexdump"} Hexdump @{" hide (ARexx) " Link "ARexx Interface"} ARexx Interface @{" History " Link "History"} History @{" iconified " Link "Installation"} Installation @{" ILBM.BODY " Link "Hexdump"} Hexdump @{" ILBM.CAMG.ModeID " Link "Introduction"} Introduction @{" ILBM.CLUT " Link "Hexdump"} Hexdump @{" Info " Link "Chunk List"} Chunk List @{" Info " Link "Action Buttons"} Action Buttons @{" info (ARexx) " Link "ARexx Interface"} ARexx Interface @{" infowindow (ARexx) " Link "ARexx Interface"} ARexx Interface @{" Installation " Link "Installation"} Installation @{" Introduction " Link "Introduction"} Introduction @{" Layout Preferences " Link "Layout"} Layout @{" limithex (ARexx) " Link "ARexx Interface"} ARexx Interface @{" list format " Link "Chunk List"} Chunk List @{" load (ARexx) " Link "ARexx Interface"} ARexx Interface @{" loadclip (ARexx) " Link "ARexx Interface"} ARexx Interface @{" Main Window " Link "Main Window"} Main Window @{" mainwindow (ARexx) " Link "ARexx Interface"} ARexx Interface @{" manipulation of files " Link "Main Window"} Main Window @{" MUI " Link "MUI"} MUI @{" overwrite (ARexx) " Link "ARexx Interface"} ARexx Interface @{" PREF.LCLE " Link "Layout"} Layout @{" Preferences " Link "Problems?"} Problems? @{" Preferences Window " Link "Preferences Window"} Preferences Window @{" Preferences: General " Link "General"} General @{" Preferences: Hexdump " Link "Hexdump"} Hexdump @{" Preferences: Layout " Link "Layout"} Layout @{" Preferences: Safety " Link "Safety"} Safety @{" Prefs/Editable file " Link "Main Window"} Main Window @{" presentation of chunk contents " Link "Chunk List"} Chunk List @{" Problems? " Link "Problems?"} Problems? @{" quit (ARexx) " Link "ARexx Interface"} ARexx Interface @{" Safety Preferences " Link "Safety"} Safety @{" save (ARexx) " Link "ARexx Interface"} ARexx Interface @{" saveas (ARexx) " Link "ARexx Interface"} ARexx Interface @{" savechunk (ARexx) " Link "ARexx Interface"} ARexx Interface @{" saveclip (ARexx) " Link "ARexx Interface"} ARexx Interface @{" saveform (ARexx) " Link "ARexx Interface"} ARexx Interface @{" saveformclip (ARexx) " Link "ARexx Interface"} ARexx Interface @{" Show " Link "Chunk List"} Chunk List @{" show (ARexx) " Link "ARexx Interface"} ARexx Interface @{" showformat (ARexx) " Link "ARexx Interface"} ARexx Interface @{" Top " Link "Action Buttons"} Action Buttons @{" Up " Link "Main Window"} Main Window @{" Up " Link "Action Buttons"} Action Buttons @{" Usage " Link "Usage"} Usage @EndNode