Amiga MOD Packers Described - Channel Player v2 Described
Anim ripped from Digital Illusion's MotorHead
Yeah :) at least in HTML format !.
Anim ripped from Digital Illusion's MotorHead




  Format name : Channel Player v2
Created by : Alan / Impact (1994)

Sources :
*
One exemple file sent by Gryzor (thx)


Note : almost the same as v1 ... . The size the pattern list is *8 here and the pattern list is composed of the addresses of the tracks, not the numbers. Also, there's the packing of the tracks (2 or 3 bytes for one note)

OFFSET
SIZE (bytes)
COMMENT
0
2
-
4
6
2
2
-
2
4
- Number of sample (+$A)
- Size of the pattern table
(number of pattern to play *8)
- ?!?
- ?!?

The following is repeated NOS times
with 16 bytes description for one sample
Ah
Eh
10h
11h
12h
16h
18h
4
2
1
1
4
2
2
- Sample Start address (memory)
- Sample size / 2
- ?!?
- Volume
- Loop Start address
- Loop size / 2
- Finetune (*$48)

?!?
-
?!?
-
?!?
-
?!?
-
- Pattern table. composed of 4 track
numbers (byte)
- Pattern data. Each track is saved one
after another.

we get something like that:

pattern 0 :
  • all the 64 row of voice 0

  • all the 64 row of voice 1

  • all the 64 row of voice 2

  • all the 64 row of voice 3

  • pattern 1 : ...

  • The size of each pattern is variable and can be up to 300h bytes. One note can be 2 or 3 bytes long.
  • The first bit of the first byte is a description bit.


  • * Case 1:
        -relative note number
       /      /
      |      |
     1000 0000  0000 0000
     |       |     | |  |
     |        \   /   \  \
     |       sample   effect
     |       number
      \
       -if this bit is set, there's only a pitch,
        a sample nbr and a Fx (no FxArg)

    * Case 2:
         Sample number
              |   /\
              |  |  |
      0000 0000  0000 0000  0000 0000
      ||      |       |  |  |       |
     -| \    /         \/    \     /
    |  relative       effect  effect
    |    note         (!$7)   value
    |   number
    |------------description bit set to 0

  • The relative note number is *2, and therefore, the bit 0 of the first byte NEVER will be set to 1. It is, then, used by the sample number (from 0 to $1F). Just dont forget to 'OR' the relative note number with $FE :)
  • Beware of the effects numbers 5,6,A (the ones with a volume slide) because the effect parameter is a SIGNED value !



  • relative note number: (Protracker)
    C-1 to B-1 : 856,808,762,720,678,640,604,570,538,508,480,453
    C-2 to B-2 : 428,404,381,360,339,320,302,285,269,254,240,226
    C-3 to B-3 : 214,202,190,180,170,160,151,143,135,127,120,113

    becomes : (CHN2)
    C-1 to B-1 : 02,04,06,08,0a,0c,0e,10,12,14,16,18
    C-2 to B-2 : 1a,1c,1e,20,22,24,26,28,2a,2c,2e,30
    C-3 to B-3 : 32,34,36,38,3a,3c,3e,40,42,44,46,48

    Follow Sample datas stored like Protracker. Nothing is packed..
     

    Click "back" to go back :)