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




  Format name : Digital Illusions
Created by : ? / The Silents (1991)

Sources :
*
converted MODs with NoiseConverter
* Two files from Pinball Fantasies (thx Gryzor !)


OFFSET
SIZE (bytes)
COMMENT
0
2
6
Ah
2
4
4
4
- Number of sample [NOS]
- Address of pattern table (in the file !) [1]
- Address of pattern data (in the file !) [2]
- Adresss of sample data (in the file !)

The following is repeated NOS times
with 8 bytes description for one sample
Eh
10h
11h
12h
14h
2
1
1
2
2
- Sample size / 2
- Finetune (0->F)
- Volume (0->40h)
- Loop Start / 2
- Loop size / 2

Ah+NOS*8
NOP*2
- pointer table on pattern
NOP = Number of pattern (REAL!!!)
(this is a table containing the addresses IN THE FILE of each pattern data several ways to get its size ...
-> read 'til you reach the Address of the pattern table
-> read all through pattern table and get the highest pattern to play, then read this number of word ... safer !)
[1]
[1]+NOP
[2]
NOP
1
?!?
- Pattern order table
- $FF (terminates pattern order table)
- pattern data ...

we get something like that:

pattern 0 :
  • row 0 | voice 1 | voice 2 | voice 3 | voice 4 |
  • row 1 | voice 1 | voice 2 | voice 3 | voice 4 |
  • row 2 ...
  • row 63| voice 1 | voice 2 | voice 3 | voice 4 |

  • pattern 1 : ...

  • the size of each pattern is variable. it can be between 256 (100h) and 768 (300h).
  • if bit 7 of first byte is set to 1 : two cases.


  • * Case 1:
      0000 0000  0000 0000  0000 0000
      ||    ||      | |  |  |       |
     -| \  /  \    /   \/    \     /
    |  sample relativ effect  effect
    |  number  note           value
    |         number
    |------------description bit set to 1

    * Case 2:
      0000 0000  all bits are set to 1 ($ff) then it's
    
      |          an empty voice meaning for Ptk 4 empty bytes.
      |
      |------------description bit set to 1

    if bit 7 of first byte is set to 0 : one case
    * Case 3:
      0000 0000  0000 0000
      ||    ||      | |  |
     -| \  /  \    /   \/
    |  sample relativ  effect
    |  number  note
    |         number
    |------------description bit set to 0


    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 : (DI)
    C-1 to B-1 : 01,02,03,04,05,06,07,08,09,0a,0b,0c
    C-2 to B-2 : 0d,0e,0f,10,11,12,13,14,15,16,17,18
    C-3 to B-3 : 19,1a,1b,1c,1d,1e,1f,20,21,22,23,24

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

    Click "back" to go back :)