<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://temlib.org/AtariForumWiki2018/index.php?action=history&amp;feed=atom&amp;title=IFF_file_format</id>
		<title>IFF file format - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://temlib.org/AtariForumWiki2018/index.php?action=history&amp;feed=atom&amp;title=IFF_file_format"/>
		<link rel="alternate" type="text/html" href="https://temlib.org/AtariForumWiki2018/index.php?title=IFF_file_format&amp;action=history"/>
		<updated>2026-10-19T05:14:44Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://temlib.org/AtariForumWiki2018/index.php?title=IFF_file_format&amp;diff=5158&amp;oldid=prev</id>
		<title>AtariWikiSysop: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://temlib.org/AtariForumWiki2018/index.php?title=IFF_file_format&amp;diff=5158&amp;oldid=prev"/>
				<updated>2018-06-03T22:52:46Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 22:52, 3 June 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>AtariWikiSysop</name></author>	</entry>

	<entry>
		<id>https://temlib.org/AtariForumWiki2018/index.php?title=IFF_file_format&amp;diff=5157&amp;oldid=prev</id>
		<title>Lp: New page</title>
		<link rel="alternate" type="text/html" href="https://temlib.org/AtariForumWiki2018/index.php?title=IFF_file_format&amp;diff=5157&amp;oldid=prev"/>
				<updated>2017-01-03T00:21:16Z</updated>
		
		<summary type="html">&lt;p&gt;New page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Interchange File Format    *.IFF&lt;br /&gt;
 &lt;br /&gt;
4 bytes         &amp;quot;FORM&amp;quot; (FORM chunk ID)&lt;br /&gt;
1 long          length of file that follows&lt;br /&gt;
4 bytes         &amp;quot;ILBM&amp;quot; (InterLeaved BitMap file ID)&lt;br /&gt;
&lt;br /&gt;
4 bytes         &amp;quot;BMHD&amp;quot; (BitMap HeaDer chunk ID)&lt;br /&gt;
1 long          length of chunk [20]&lt;br /&gt;
20 bytes        1 word = image width in pixels&lt;br /&gt;
                1 word = image height in lines&lt;br /&gt;
                1 word = image x-offset [usually 0]&lt;br /&gt;
                1 word = image y-offset [usually 0]&lt;br /&gt;
                1 byte = # bitplanes&lt;br /&gt;
                1 byte = mask (0=no, 1=impl., 2=transparent, 3=lasso)&lt;br /&gt;
                1 byte = uncompressed [0], packbits [1], vertical RLE [2]&lt;br /&gt;
                1 byte = unused [0]&lt;br /&gt;
                1 word = transparent color (for mask=2)&lt;br /&gt;
                1 byte = x-aspect [5=640x200, 10=320x200/640x400, 20=320x400]&lt;br /&gt;
                1 byte = y-aspect [11]&lt;br /&gt;
                1 word = page width (usually the same as image width)&lt;br /&gt;
                1 word = page height (usually the same as image height)&lt;br /&gt;
&lt;br /&gt;
4 bytes         &amp;quot;CMAP&amp;quot; (ColorMAP chunk ID)&lt;br /&gt;
1 long          length of chunk [3*n where n is the # colors]&lt;br /&gt;
3n bytes        3 bytes per RGB color.  Each color value is a byte&lt;br /&gt;
                and the actual color value is left-justified in the&lt;br /&gt;
                byte such that the most significant bit of the value&lt;br /&gt;
                is the MSB of the byte.  (ie. a color value of 15 ($0F)&lt;br /&gt;
                is stored as $F0)  The bytes are stored in R,G,B order.&lt;br /&gt;
&lt;br /&gt;
4 bytes         &amp;quot;CRNG&amp;quot; (Color RaNGe chunk ID)&lt;br /&gt;
1 long          length of chunk [8]&lt;br /&gt;
8 bytes         1 word = reserved [0]&lt;br /&gt;
                1 word = animation speed (16384 = 60 steps per second)&lt;br /&gt;
                1 word = active [1] or inactive [0]&lt;br /&gt;
                1 byte = left/lower color animation limit&lt;br /&gt;
                1 byte = right/upper color animation limit&lt;br /&gt;
&lt;br /&gt;
4 bytes         &amp;quot;CAMG&amp;quot; (Commodore AMiGa viewport mode chunk ID)&lt;br /&gt;
1 long          length of chunk [4]&lt;br /&gt;
1 long          viewport mode bits:&lt;br /&gt;
                  bit  2 = interlaced&lt;br /&gt;
                  bit  7 = half-bright&lt;br /&gt;
                  bit 11 = HAM&lt;br /&gt;
                  bit 15 = high res&lt;br /&gt;
&lt;br /&gt;
4 bytes         &amp;quot;BODY&amp;quot; (BODY chunk ID)&lt;br /&gt;
1 long          length of chunk [# bytes of image data that follow]&lt;br /&gt;
? bytes         actual image data&lt;br /&gt;
 &lt;br /&gt;
NOTES: Some of these chunks may not be present in every IFF file, and may&lt;br /&gt;
not be in this order.  You should always look for the ID bytes to find a&lt;br /&gt;
certain chunk.  All chunk IDs are followed by a long value that tells the&lt;br /&gt;
size of the chunk (note that &amp;quot;ILBM&amp;quot; is not a chunk ID).  This is the number of&lt;br /&gt;
bytes that FOLLOW the 4 ID bytes and size longword.  The exception to this is&lt;br /&gt;
the FORM chunk.  The size longword that follows the FORM ID is the size of the&lt;br /&gt;
remainder of the file.  The FORM chunk must always be the first chunk in an&lt;br /&gt;
IFF file.&lt;br /&gt;
&lt;br /&gt;
The R,G,B ranges of AMIGA and ST are different (AMIGA 0...15, ST 0...7),&lt;br /&gt;
as is the maximum number of bitplanes (AMIGA: 5, ST: 4).&lt;br /&gt;
&lt;br /&gt;
Format of body data&lt;br /&gt;
 &lt;br /&gt;
An expanded picture is simply a bitmap.  The most common packing method is &lt;br /&gt;
PackBits (see below), and is identical to MacPaint and DEGAS Elite compressed.&lt;br /&gt;
 &lt;br /&gt;
The (decompressed) body data appears in the following order:&lt;br /&gt;
 &lt;br /&gt;
        line 1 plane 0 ... line 1 plane 1 ... ... line 1 plane m&lt;br /&gt;
        [line 1 mask (if appropriate)]&lt;br /&gt;
        line 2 plane 0 ... line 2 plane 1 ... ... line 2 plane m&lt;br /&gt;
        [line 2 mask (if appropriate)]&lt;br /&gt;
        ...&lt;br /&gt;
        line x plane 0 ... line x plane 1 ... ... line x plane m&lt;br /&gt;
        [line x mask (if appropriate)]&lt;br /&gt;
 &lt;br /&gt;
The FORM chunk identifies the type of data:&lt;br /&gt;
 &lt;br /&gt;
        &amp;quot;ILBM&amp;quot; = interleaved bit map&lt;br /&gt;
        &amp;quot;8SVX&amp;quot; = 8-bit sample voice&lt;br /&gt;
        &amp;quot;SMUS&amp;quot; = simple music score&lt;br /&gt;
        &amp;quot;FTXT&amp;quot; = formatted text (Amiga)&lt;br /&gt;
&lt;br /&gt;
The ST version of DPAINT always uses the vertical RLE packing format in the body data. &lt;br /&gt;
Within the BODY chunk there is one VDAT chunk per bit plane (four in total). Every VDAT chunk &lt;br /&gt;
is laid out in columns, similar to the Tiny format. Only the compression scheme is slightly &lt;br /&gt;
different, command 0, and 1 are flipped, and extra count words store in data list.&lt;br /&gt;
4 bytes          'VDAT' vertical bitplane data&lt;br /&gt;
4 bytes          length of cunk&lt;br /&gt;
?? bytes       compressed data&lt;br /&gt;
&lt;br /&gt;
Data compression format:&lt;br /&gt;
2 bytes          cmd_cnt command bytes count - 2&lt;br /&gt;
? bytes          cmd_cnt - 2 command bytes.&lt;br /&gt;
? words         data words&lt;br /&gt;
&lt;br /&gt;
Note that the number of commands is 2 more than actual commands, and that the data &lt;br /&gt;
words may start on an odd address if the number of command bytes are odd.&lt;br /&gt;
&lt;br /&gt;
while(cmd_cnt&amp;gt;2)&lt;br /&gt;
  1 byte cmd     0: read one data word as count&lt;br /&gt;
                    output count literal words from data words.&lt;br /&gt;
                 1: read one command word as count, then one data word as data&lt;br /&gt;
                    output data count times&lt;br /&gt;
                &amp;lt;0: -cmd is count, output count words from data words&lt;br /&gt;
                &amp;gt;2: cmd is count, read one data word as data&lt;br /&gt;
                    output data count times&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
See also [[PackBits Compression Algorithm]]&lt;br /&gt;
&lt;br /&gt;
Back to [[ST Picture Formats]]&lt;/div&gt;</summary>
		<author><name>Lp</name></author>	</entry>

	</feed>