Extension:	.MTM
Version:	1.01
Created by:	Renaissance
Tracker:	MultiTrack Module Editor
Players:	DMP, ...
Description by: Max Maischein
Taken from:	FileFormats List v1.50
Note:		Digital music format


The MTM format is generated by the Multi Track Module tracker by the demo group
Renaissance. The tracker features up to 32 channel digital music. Instead of
saving whole patterns, the tracker only saves the different tracks and the data
which tracks should be played together at which time, thus saving some pattern
space.

OFFSET              Count TYPE   Description
0000h                   3 char   ID='MTM'
0003h                   1 byte   Version data
                                   upper nibble is major version number
                                   lower nibble is minor version number
0004h                  20 char   ASCIIZ song name
0018h                   1 word   Number of saved tracks.
                                 ="NOT"
001Ah                   1 byte   Highest pattern number saved
                                 ="NOP"
001Bh                   1 byte   Last order number to play(=Songlength-1)
001Ch                   1 word   Length of extra comment field in bytes
                                 ="XSZ"
001Eh                   1 byte   Number of samples
                                 ="NOS"
001Fh                   1 byte   Attribute byte (currently defined as 0)
0020h                   1 byte   Beats per track
0021h                   1 byte   Number of tracks
0022h                  32 byte   Pan positions of the voices
                                 (0=left, 15=right??)
0042h               "NOS" rec    Instrument data
                       22 char   Sample name
                        1 dword  Sample length in bytes
                        1 dword  Start of sample loop in bytes
                        1 dword  End of sample loop in bytes
                        1 byte   Fine tune value for sample
                        1 byte   Default volume for sample
                        1 byte   Attribute byte, bit mapped
                                   0 0=8 bit sample,1=16 bit sample
                                 1-7 undefined (set to zero)
0042h+                128 byte   Pattern order data
 "NOS"*37
01C2h+
 "NOS"*37           "NOT" rec    Track data
                                 Each track is saved independently and has
                                 the size of exactly 192 bytes. Each track
                                 is arranged as 64 3-byte notes with the
                                 following format :
                     64*3 byte            BYTE 0   BYTE 1   BYTE 2
                                         ppppppii iiiieeee aaaaaaaa
                                 p = pitch value (0=no pitch stated)
                                 i = instrument number (0=no instrument number)
                                 e = effect number
                                 a = effect argument
                                 The effects are the standard Protracker
                                 effects.
01C2h+       ("NOP"+1)*32 word   Track sequencing data
 "NOS"*37+                       This is the list of which track is used
 "NOT"*192                       as which voice in each pattern. One track
                                 can be part of many patterns, the drums
                                 for example.
                                 Track 0 is never saved but is always
                                 considered as an empty track. That means
                                 that counting really starts at one.
                                 The data is organized in sets of 32 voices.
                                 The first word contains the information which
                                 track is used in pattern 0, voice 0. The next
                                 word is for pattern 0, voice 1, etc., this
                                 is repeated for each pattern, 32 words for each
                                 saved pattern.
01C2h+              "XSZ" char   Extra comment field. This contains some
 "NOS"*37+                       message or something.
 "NOT"*192+
 ("NOP"+1)*32*2
01C2h+                  ? byte   Raw sample data(unsigned).
 "NOS"*37+
 "NOT"*192+
 ("NOP"+1)*32*2+
 "XSZ"