[Back to SOUND SWAG index] [Back to Main SWAG index] [Original]
{ Updated SOUND.SWG on May 26, 1995 }
{
> Hi, I am planning to write a MOD player and I need the file Structure
**********************************************
****** Amiga Protracker Module Format ******
**********************************************
****************************
*Offset**Bytes**Description*
*****************************************************************************
** 0 20 Module name. Padded with spaces until the end (or should
** be). Remember to only print 20 characters.
***Samples*******************************************************************
** 20( 0) 22 Sample Name. Should be padded with nulls for the full
** length of it after the sample name.
** 42(22) 2 Sample Length. Stored as an Amiga word which needs to be
** swapped on an IBM. This word needs to be multiplied by
** two to get the real length. If the initial length is
** greater than 8000h, then the sample is greater than 64k.
** 44(24) 1 Sample Finetune Byte. This byte is the finetune value for the
** sample. The upper four bits should be zeroed out. The
** lower four are the fine tune value.
** Value ***** 0 1 2 3 4 5 6 7 8 9 A B C D E F
** Finetune ** 0 +1 +2 +3 +4 +5 +6 +7 -8 -7 -6 -5 -4 -3 -2 -1
** 45(25) 1 Sample Volume. The rangle is always 0-64.
** 46(26) 2 Sample Repeat. Stored as an Amiga word. Multiply this by
** two and add it to the beginning offset of the sample to get
** the repeat point.
** 48(28) 2 Sample Repeat Length. Stored as an Amiga word. Multiply this
** by two to get the Repeat Length.
*****************************************************************************
** *** The remaining 14 or 30 samples follow this point ***
** *** using the same format as above. Note that the ***
** *** rest of this module format follows a 31 sample ***
** *** format, which is not different from the 15 ***
** *** sample format except for the file offset. ***
*****************************************************************************
** 950 1 The Song Length in the range of 1 to 128.
** 951 1 I don't know. I was told that Noisetracker uses this byte
** for a restart, but I don't use Noisetracker. Anyone have
** any information?
** 952 128 Play Sequences 0-127. These indicate the appropriate
** pattern to play at this given position.
**1080 4 If this position contains: "M.K." or "FLT4" or "FLT8"
** - the module is 31 ins.
***Patterns******************************************************************
**1084(0) 1 Upper 4 bits: MSB of the instrument. Must be ORed with the
** LSB. Lower 4 bits: Upper 4 bits of the period.
**1085(1) 1 Contains the lower 8 bits of the period.
**1086(2) 1 Upper 4 bits: LSB of the instrument. Must be ORed with the
** MSB. Lower 4 bits: Special effects command. Contains a
** command 0-F.
**1087(3) 1 Special effects data.
*****************************************************************************
** *** The number of patterns is the highest pattern ***
** *** number stored in the Play Sequence list. ***
*****************************************************************************
** Each note is four bytes long. Four notes make up a track. They are
** stored like this:
** 0-3 4-7 8-11 12-15
** Channel 1 Channel 2 Channel 3 Channel 4
** 16-19 20-23 24-27 28-31
** Channel 1 Channel 2 Channel 3 Channel 4
** ...and so on.
**
**
**
** 00 00 00 00
** || || || ||
** /\ // /\ \\
** MSB of Ins. Note LSB Ins. Spec. Com. Data for special
**
** The samples immediately follow.
**
*****************************************************************************
}
[Back to SOUND SWAG index] [Back to Main SWAG index] [Original]