From Video Game Music Preservation Foundation Wiki
Revision as of 02:53, 5 August 2012 by TheAlmightyGuru (talk | contribs)
Jump to: navigation, search
[[Category: Formats With {{{Header}}} Headers]] [[Category: Formats With {{{Content}}} Content]] [[Category: Formats With {{{Instruments}}} Instruments]]
id's Music Format
Developer: id Software
Header: {{{Header}}}
Content: {{{Content}}}
Instruments: {{{Instruments}}}
Target Output
Output - Digital Audio - No.png Output - MIDI - No.png Output - FM Synthesis - No.png Output - PSG - No.png
Released: 1991/11/??
First Game: Catacomb 3-D (DOS)
  • *.imf
  • *.wlf
  • *.adlib

The id Music Format (name verified by John Romero) is an AdLib audio structure developed by Jason Blochowiak. It was designed to be an optimized MIDI-like format that would be played via FM Synthesis on an AdLib card. In fact, the format is actually very similar to to the AdLib command syntax because it stores the raw data that needs to be sent to the OPL chip. AdPlug gives the most accurate playback of IMF.

IMF was originally created to be used in Commander Keen IV: Secret of the Oracle (DOS), but due to contractual obligations, the first published game to use IMF was Catacomb 3-D (DOS). The very first song if IMF format was Too Hot. IMF music was almost included in Commander Keen: Keen Dreams (DOS), but due to space constraints, all music was removed from the game in order to fit on a single floppy disk.

There are two types of IMF formats. The first series of games to use IMF format are in what is now called Type-0. Type-0 IMF doesn't include any header information and is sent straight to the OPL chip. Later games use Type-1 which has a short header that includes the length of the song, and allows for meta data in a footer.

IMF has one design flaw. Different games play IMF files at different speeds, but the playback rate is not part of the IMF header. Because of this, extra precautions must be made when playing back IMF files. Bio Menace, Catacomb 3-D, Commander Keen, and Monster Bash all play at 560 Hz, but Cosmo's Cosmic Adventures, Wolfenstein 3-D, and games using the Wolf 3D engine (Spear of Destiny, Blake Stone 1 & 2, Operation Body Count, and Corridor 7) all run at 700 Hz. Duke Nukem II is unique and runs at 280 Hz. To fix this problem, the Wolf 3D games are given the *.WLF extension and Duke Nukem II delays are simply doubled in the file to match the 560 Hz tempo. This flaw can easily be fixed by creating a file header which included the necessary playback rate, but both the files and players would have to be updated.







1991/11/?? Catacomb 3-D (DOS)
1991/12/15 Commander Keen IV: Secret of the Oracle (DOS)
1991/12/15 Commander Keen V: The Armageddon Machine (DOS)
1991/12/15 Commander Keen VI: Aliens Ate My Babysitter! (DOS)
1992/03/?? Cosmo's Cosmic Adventure (DOS)
1992/05/05 Wolfenstein 3D (DOS)
1992/09/18 Spear of Destiny (DOS)
1992/??/?? The Catacomb Abyss (DOS) Included in data files, but never played.
1993/01/?? Major Stryker (DOS)
1993/04/09 Monster Bash (DOS)
1993/08/03 Bio Menace (DOS)
1993/12/03 Duke Nukem II (DOS)
1993/12/05 Blake Stone: Aliens of Gold (DOS)
1993/??/?? Catacomb Armageddon (DOS) Included in data files, but never played.
1993/??/?? Catacomb Apocalypse (DOS) Included in data files, but never played.
1994/01/05 Realms of Chaos (DOS) (Beta Version Only)
1994/??/?? Operation Body Count (DOS) noicon
1994/03/?? Corridor 7: Alien Invasion (DOS)
1994/06/01 Hocus Pocus (DOS) (Beta Version Only)
1994/10/28 Blake Stone: Planet Strike (DOS)