|First Game:||Danger Freak (AMI)|
MDAT is a song format and part of TFMX (The Final Musicsystem Extended) created by Chris Hülsbeck for the Commodore Amiga and later enhanced for the Atari ST. On the Amiga, each MDAT file comes with an SMPL file.
Since late 1990, TFMX supports manipulating existing samples in real-time (just as the song plays).
Until early 1991, TFMX only supported the Amiga's normal 4 voices. Oktalyzer already emulated 8 voices, but Hülsbeck did not like the sound quality. Meanwhile, back since 1988, Jochen Hippel was developing music drivers that played 4 samples on the Atari ST in order to emulate the Amiga. When Hülsbeck heard Turrican (AST), he realized that only low sounds should be mixed, and asked Hippel if he could have his source code. Since then, TFMX supports 7 voices. This was first heard in Turrican II: The Final Fight (AMI); in fact, Hülsbeck called the title song a demonstration. However, 7 voices are also CPU-intensive and were only used in title, high-score and ending songs, whereas in-game soundtracks stayed at 4 voices.
The official editor and most players use the mdat.* and smpl.* extensions. DOS games use *.tfx and *.sam. Some players use other extensions, but their source is unknown.
- APlayer - BeOS
- DeliPlayer - Windows 32
- DeliTracker - Amiga
- Delix - XMPlay
- EaglePlayer - Amiga
- Jam - Atari ST, Windows 32
- Modizer - iOS
- TFMX decoder - foobar2000
- tfmx-play - Unix
- TFMX plugin - XMMS
- tfmxplay - Windows 32
- TFMXPlug - Winamp
- UADE - UNIX
Hülsbeck also mentioned (without name) a very buggy DOS player from his Soundfactory CD.
- TFMX-Editor - Amiga
|1989-0?-??||Danger Freak (AMI)|
|1990-??-??||The Curse of RA (AMI)|
|1991-02-??||Turrican II: The Final Fight (AMI)|
How to Obtain
MDAT files usually have to be manually extracted from game files, a process that is different for pretty much every game that uses them.
One MDAT file can store up to 32 songs. Some of them may be subsets of other songs, probably made by the arranger for quick testing, not used by the game, and not necessary to record.
Early MDAT files have exactly 128 patterns (each addressed by a table at 200hex), 128 macros (table at 400hex), a track table at 600hex, and pattern 7Fhex is a table of sound effects (8 bytes per entry). Since early 1990, the sound effect table can be at 200hex, the track table address at 1D0hex, the truncated pattern-table address at 1D4hex, and the truncated macro table address at 1D8hex.
When using 7 voices, TFMX plays voices 0 to 2 on the Amiga's normal voices and mixes virtual voices 4 to 7 together into the Amiga's voice 3. The effect of a person using voice 3 directly is not researched.
Normally, everything is in big endian (the Amiga's native order). However, the DOS game driver expects the three addresses at 1D0hex (and oddly, or lazily, only them) in little endian (the PC's native order).
Besides music, MDAT files have an 40×6 intro-text. Most of them are either "(Empty)" or
Date : dd.MM.yy Time : HH:mm
with either x or an actual date and time.
- exotica.org.uk/wiki/TFMX - Unofficial format specification and game music.