home *** CD-ROM | disk | FTP | other *** search
- ┌───── 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.
- ││
- └┴───────────────────────────────────────────────────────────────────────────
-
-
-