The following is a summary of the MultiTracker Module (MTM) fromat. It is intended for programmers who wish to support the format in any manner. Note that all effects are defined as the current Protracker effects standard. A short summary of this standard is provided in the documentation file for the Multitracker Module Editor. 컴컴컴컴쩡컴컴컫컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴� Position쿗ength쿏escription 컴컴컴컴탠컴컴컵컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴� 0 �3 �"MTM" file marker 3 쿍YTE 퀆ersion number - upper nybble is major version #, lower is � � minor version number 4 �20 쿌SCIIZ songname 24 쿥ORD 쿻umber of tracks saved 26 쿍YTE 쿹ast pattern number saved 27 쿍YTE 쿹ast order number to play (songlength-1) 28 쿥ORD 쿹ength of extra comment field 30 쿍YTE 쿻umber of samples saved (NOS) 31 쿍YTE 쿪ttribute byte (currently defined as 0) 32 쿍YTE 쿫eats per track 33 쿍YTE 쿻umber of tracks to be played back 34 �32 퀆oice pan positions 컴컴컴컴탠컴컴컵컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴� 66 쿙OS*37쿔nstrument data: 컴컴컴컴탠컴컴컵컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴� �22 퀂ample name 쿏WORD 퀂ample length in bytes 쿏WORD 쿽ffset of beginning of sample loop in bytes 쿏WORD 쿽ffset of end of sample loop in bytes 쿍YTE 쿯inetune value 쿍YTE 퀂tandard volume of sample 쿍YTE 쿪ttribute byte: bit meaning � � 0 0=8 bit sample 1=16 bit sample � � 1-7 undefined (set to zero) 컴컴컴컴탠컴컴컵컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴� 66+ �128 쿛attern order data (NOS*37)� � 컴컴컴컴탠컴컴컵컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴� 194+ 퀃rks* 쿟rack data: (NOS*37)�192 쿐ach track is saved independently and takes exactly 192 bytes. � 쿟he tracks are arranged as 64 consecutive 3-byte notes. These � 쿻otes have the following format: � � � � � � 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 � � 컴컴컴컴탠컴컴컵컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴� 194+ � 쿟rack sequencing data NOS*37+ � 읕컴컴컴컴컴컴컴컴컴컴컴컴커 trks*192�(last pattern saved + 1)*32 WORDS� 컴컴컴컴탠컴컴컫컴컴컴컴컴컴컴컴컴컴컴컴컴� � 쿟he track sequencing data is really just a listing of which � 퀃rack is used as which voice in each saved pattern. This is � 쿻ecessary since one track may be a part of many different � 쿾atterns. (not orders) Doing this saves much of the memory � 퀇asted in a normal MOD by repetition of certain tracks over � 쿪nd over again throughout the file. � � � 쿙ote that track zero is never saved, but always considered as � 쿪n empty track. Therefore, track numbering for the saved � 퀃racks really starts at one. � � � 쿟he data is organized in sets of 32 voices. First comes a � 쿥ORD representing which track is in pattern 0, voice 0. The � 쿻ext WORD is pattern 0, voice 1, etc. This is repeated for � 쿮ach pattern saved, giving a total track sequencing size of � �32 WORDS per pattern saved. � � � 쿔f your code uses MOD-style memory organization, you can still � 쿾lay MTM's. You merely jump to the track sequencing data, and � 퀃hen load each pattern separately by jumping back and forth � 쿫etween the track sequences and the actual track data. 컴컴컴컴탠컴컴컵컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴� 194+ 쿓eader쿐xtra comment field NOS*37+ 퀂ays. �(Length specified in the header) trks*192읕컴컴컨컴컴컴컴컴컴컴컴컴컴� +(last pattern saved + 1)*32*2 � 컴컴컴컴쩡컴컴컫컴컴컴컴컴컴컴컴컴컴좔컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴� 194+ 퀂ample쿝aw sample data NOS*37+ 쿹ength�(unsigned) trks*192읕컴컴컨컴컴컴컴컴컴컴컴컴컴� +(last pattern saved + 1)*32*2+ � length of extra comment field � 컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴�