IFF
(→FORM type cross-reference) |
|||
(31 intermediate revisions by 5 users not shown) | |||
Line 7: | Line 7: | ||
|released=1985 | |released=1985 | ||
}} | }} | ||
− | :''This article is about the generic IFF metaformat. For the IFF '''image format''', see [[ILBM]].'' | + | :''This article is about the generic IFF metaformat. For the IFF '''image format''', see [[ILBM]]. For Sun IFF, see [[Sun TAAC image]].'' |
'''IFF''' ('''Interchange File Format''') is a general-purpose binary file format introduced by Electronic Arts on the Commodore Amiga computer in 1985. It is sometimes known as '''IFF 85'''. | '''IFF''' ('''Interchange File Format''') is a general-purpose binary file format introduced by Electronic Arts on the Commodore Amiga computer in 1985. It is sometimes known as '''IFF 85'''. | ||
== Format details == | == Format details == | ||
− | An IFF file is composed of elements called "chunks". Each chunk consists of a 4-byte type identifier (represented by four ASCII characters), a 4-byte length, and the chunk's payload data. Some types of chunks contain a sequence of nested chunks. Multi-byte numeric values are [[Endianness|big-endian]]. | + | An IFF file is composed of elements called "chunks". Each chunk consists of a [[FourCC|4-byte type identifier]] (represented by four ASCII characters), a 4-byte length, and the chunk's payload data. Some types of chunks contain a sequence of nested chunks. Multi-byte numeric values are [[Endianness|big-endian]]. |
IFF defines a number of standard chunks types. Additional types are invented as needed by IFF-based formats. | IFF defines a number of standard chunks types. Additional types are invented as needed by IFF-based formats. | ||
Line 25: | Line 25: | ||
There are also aggregate formats that begin with "<code>LIST</code>" or "<code>CAT </code>". | There are also aggregate formats that begin with "<code>LIST</code>" or "<code>CAT </code>". | ||
− | == | + | == FORM type cross-reference == |
− | + | Selected FORM types, and related articles, are listed below. See also [[:Category:IFF based file formats]]. | |
− | + | ||
− | + | ||
− | + | ||
− | + | {| class="wikitable" | |
+ | ! FORM type | ||
+ | ! Refer to | ||
+ | ! Remarks | ||
+ | |- | ||
+ | | <code>8SVX</code> || [[8-Bit Sampled Voice]] || 8-bit sampled sound voice; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>ACBM</code> || [[ILBM#ACBM]] || | ||
+ | |- | ||
+ | | <code>AIFC</code> || [[AIFC]] || | ||
+ | |- | ||
+ | | <code>AIFF</code> || [[AIFF]] || | ||
+ | |- | ||
+ | | <code>AMFF</code> || [[Amiga Metafile]] || | ||
+ | |- | ||
+ | | <code>ANBM</code> || || Animated bitmap; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>ANIM</code> || [[ANIM]] || | ||
+ | |- | ||
+ | | <code>CMUS</code> || [[DeLuxe Music Score]] || | ||
+ | |- | ||
+ | | <code>D3TV</code> || [[D3TV]] || | ||
+ | |- | ||
+ | | <code>DEEP</code> || [[IFF-DEEP]] || | ||
+ | |- | ||
+ | | <code>FAXX</code> || [[FAXX]] || | ||
+ | |- | ||
+ | | <code>FNTR</code> || || Raster font; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>FNTV</code> || || Vector font; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>FTXT</code> || [[FTXT]] || Formatted text; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>GSCR</code> || || General-use musical score; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>ICON</code> || [[GlowIcons]] || | ||
+ | |- | ||
+ | | <code>IFRS</code> || [[Blorb]] || | ||
+ | |- | ||
+ | | <code>ILBM</code> || [[ILBM]] || Interleaved raster bitmap image; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>IMAG</code> || [[CD-I IFF IMAG]] || | ||
+ | |- | ||
+ | | <code>LWLO</code>, <code>LWOB</code>, <code>LWO2</code> || [[LightWave Object]] | ||
+ | |- | ||
+ | | <code>MAUD</code> || [[IFF-MAUD]] || Amiga sound format | ||
+ | |- | ||
+ | | <code>MAUD</code> || [[MLDF]] || Unknown graphics format | ||
+ | |- | ||
+ | | <code>PBM</code> || [[ILBM#PBM]] || | ||
+ | |- | ||
+ | | <code>PDEF</code> || || Deluxe Print page definition; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>PICS</code> || || Macintosh picture; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>PLBM</code> || || (obsolete); listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>RGFX</code> || [[RGFX]] || | ||
+ | |- | ||
+ | | <code>SCDH</code> || || Sim City 2000 saved city (*.sc2) | ||
+ | |- | ||
+ | | <code>SMUS</code> || [[SMUS]] || Simple musical score; listed in the original IFF spec. [http://1fish2.github.io/IFF/IFF%20docs%20with%20Commodore%20revisions/SMUS.pdf] | ||
+ | |- | ||
+ | | <code>SSA </code> || [[IFF-SSA]] || ClariSSA Super smooth Animation | ||
+ | |- | ||
+ | | <code>TDDD</code> || [[TDDD]], [[Imagine Object File]] | ||
+ | |- | ||
+ | | <code>USCR</code> || || Uhuru Sound Software musical score; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>UVOX</code> || || Uhuru Sound Software Macintosh voice; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>VAXL</code> || [[VAXL]] || Unknown animation format | ||
+ | |- | ||
+ | | <code>VDEO</code> || [[VDEO]] || Deluxe Video Construction Set video; listed in the original IFF spec. | ||
+ | |} | ||
== Variant formats == | == Variant formats == | ||
Line 39: | Line 110: | ||
* Apple's [[AIFF]] and [[AIFC]] formats are similar to IFF/RIFF as well | * Apple's [[AIFF]] and [[AIFC]] formats are similar to IFF/RIFF as well | ||
* [[Maya IFF]] | * [[Maya IFF]] | ||
+ | * [[IFF (The Sims)]] | ||
== Specifications == | == Specifications == | ||
− | * [http://www.martinreddy.net/gfx/2d/IFF.txt The original EA spec] | + | * [http://1fish2.github.io/IFF/ The EA IFF-85 Repository] |
+ | ** [http://1fish2.github.io/IFF/IFF%20docs%20with%20Commodore%20revisions/EA%20IFF%2085.pdf EA IFF 85] - January 14, 1985 (Updated Oct, 1988 Commodore-Amiga, Inc.) | ||
+ | ** [http://1fish2.github.io/IFF/IFF%20docs%20with%20Commodore%20revisions/IFF%20Quick%20Intro.pdf A Quick Introduction to IFF] | ||
+ | ** [https://github.com/1fish2/IFF/blob/master/IFF%20retrospective.md IFF Retrospective] by Jerry Morrison, 2013 | ||
+ | ** [https://github.com/1fish2/IFF/blob/master/64-bit%20IFF.md 64-bit IFF] (abandoned) | ||
+ | * [http://wiki.amigaos.net/wiki/EA_IFF_85_Standard_for_Interchange_Format_Files EA IFF 85] (Updated October, 1988 Amiga, Inc.) - From AmigaOS Documentation Wiki | ||
+ | * [http://www.martinreddy.net/gfx/2d/IFF.txt The original EA spec] | ||
+ | ** [http://www.textfiles.com/programming/FORMATS/ea.iff Another copy at textfiles.com] | ||
+ | * [http://www.fileformat.info/format/iff/spec/7866a9f0e53c42309af667c5da3bd426/view.htm IFF.TXT] - A concatenation of about a dozen IFF-related documents, from FileFormat.Info | ||
== Links == | == Links == | ||
Line 52: | Line 132: | ||
* [http://sandervanderburg.blogspot.com/2012/06/iff-file-format-experiments.html IFF file format experiments] | * [http://sandervanderburg.blogspot.com/2012/06/iff-file-format-experiments.html IFF file format experiments] | ||
− | [[Category:IFF based file formats]] | + | [[Category:IFF based file formats| ]] |
[[Category:Audio and Music]] | [[Category:Audio and Music]] | ||
[[Category:Graphics]] | [[Category:Graphics]] |
Revision as of 23:48, 15 April 2022
- This article is about the generic IFF metaformat. For the IFF image format, see ILBM. For Sun IFF, see Sun TAAC image.
IFF (Interchange File Format) is a general-purpose binary file format introduced by Electronic Arts on the Commodore Amiga computer in 1985. It is sometimes known as IFF 85.
Contents |
Format details
An IFF file is composed of elements called "chunks". Each chunk consists of a 4-byte type identifier (represented by four ASCII characters), a 4-byte length, and the chunk's payload data. Some types of chunks contain a sequence of nested chunks. Multi-byte numeric values are big-endian.
IFF defines a number of standard chunks types. Additional types are invented as needed by IFF-based formats.
Of particular significance is chunk type FORM
. Most IFF-based files are formatted as a single FORM
chunk. A FORM
chunk's data contains a four-byte "FORM type" code, indicating the data type, followed by a sequence of nested chunks.
An IFF-based format whose FORM type is xxxx might be referred to as "FORM xxxx". FORM types may also be used as filename extensions.
Identification
Most IFF files begin with the ASCII characters "FORM
". The file type is then indicated by the 4-byte ASCII code beginning at offset 8.
There are also aggregate formats that begin with "LIST
" or "CAT
".
FORM type cross-reference
Selected FORM types, and related articles, are listed below. See also Category:IFF based file formats.
FORM type | Refer to | Remarks |
---|---|---|
8SVX |
8-Bit Sampled Voice | 8-bit sampled sound voice; listed in the original IFF spec. |
ACBM |
ILBM#ACBM | |
AIFC |
AIFC | |
AIFF |
AIFF | |
AMFF |
Amiga Metafile | |
ANBM |
Animated bitmap; listed in the original IFF spec. | |
ANIM |
ANIM | |
CMUS |
DeLuxe Music Score | |
D3TV |
D3TV | |
DEEP |
IFF-DEEP | |
FAXX |
FAXX | |
FNTR |
Raster font; listed in the original IFF spec. | |
FNTV |
Vector font; listed in the original IFF spec. | |
FTXT |
FTXT | Formatted text; listed in the original IFF spec. |
GSCR |
General-use musical score; listed in the original IFF spec. | |
ICON |
GlowIcons | |
IFRS |
Blorb | |
ILBM |
ILBM | Interleaved raster bitmap image; listed in the original IFF spec. |
IMAG |
CD-I IFF IMAG | |
LWLO , LWOB , LWO2 |
LightWave Object | |
MAUD |
IFF-MAUD | Amiga sound format |
MAUD |
MLDF | Unknown graphics format |
PBM |
ILBM#PBM | |
PDEF |
Deluxe Print page definition; listed in the original IFF spec. | |
PICS |
Macintosh picture; listed in the original IFF spec. | |
PLBM |
(obsolete); listed in the original IFF spec. | |
RGFX |
RGFX | |
SCDH |
Sim City 2000 saved city (*.sc2) | |
SMUS |
SMUS | Simple musical score; listed in the original IFF spec. [1] |
SSA |
IFF-SSA | ClariSSA Super smooth Animation |
TDDD |
TDDD, Imagine Object File | |
USCR |
Uhuru Sound Software musical score; listed in the original IFF spec. | |
UVOX |
Uhuru Sound Software Macintosh voice; listed in the original IFF spec. | |
VAXL |
VAXL | Unknown animation format |
VDEO |
VDEO | Deluxe Video Construction Set video; listed in the original IFF spec. |
Variant formats
Some other formats are largely or heavily influenced by the IFF standard, but are not compatible. These include, for example:
- Erlang BEAM compiled modules: Uses 4 byte alignment instead of 2 byte, and the root chunk has a different ID (
FOR1
instead ofFORM
) - Microsoft's RIFF and RIFX formats are based on IFF (RIFF uses little-endian byte order instead, and the root chunk is called
RIFF
instead ofFORM
) - Apple's AIFF and AIFC formats are similar to IFF/RIFF as well
- Maya IFF
- IFF (The Sims)
Specifications
- The EA IFF-85 Repository
- EA IFF 85 - January 14, 1985 (Updated Oct, 1988 Commodore-Amiga, Inc.)
- A Quick Introduction to IFF
- IFF Retrospective by Jerry Morrison, 2013
- 64-bit IFF (abandoned)
- EA IFF 85 (Updated October, 1988 Amiga, Inc.) - From AmigaOS Documentation Wiki
- The original EA spec
- IFF.TXT - A concatenation of about a dozen IFF-related documents, from FileFormat.Info