Amiga MOD Packers Described - Custom #1 - The Dark Demon Described
Anim ripped from Digital Illusion's MotorHead
Yeah :) at least in HTML format !.
Anim ripped from Digital Illusion's MotorHead




  Format name : The Dark Demon format (Probably not real name)
Created by : ?!?

Sources :
*
"Sweet Dream" demo by The Dark Demon

Note : well, I've found this format while ripping the entire Aminet archive :). Then in the DEMO/ECS directory, there, this format appears. Gryzor's Prowiz, Buggs's Noiseconverter and Infect's ExoticRipper do NOT recognise this. First, I thought it was only some re-order to get an already known format. It happens it's not the case. Though, it got some similarities with PhaPacker ... but it simply cant be ... or a variant :). There's only ONE known packer which saves sample desc on 14 bytes (PhaPacker) and there is only ONE packer which saves pattern data after sample data (PhaPacker again) ... BUT, the pattern data are not packed like Pha (empty lines are stored ..). Anyway, if it happens I'm wrong about this beeing a new format, you're welcome to wrong me. Also, if I'm right, and you've got real packer's name and coder's, you're welcome, again, to tell me :)


OFFSET
SIZE (bytes)
COMMENT
0
1
2
1
1
128
- number of pattern to play
- ntk byte (00h here)
- pattern list

The following is repeated 31 times
with 14 bytes description for one sample
82h
86h
88h
89h
8Ah
8Eh
4
2
1
1
4
2
- Sample address
- Sample size / 2
- Finetune
- Volume (0->40h)
- Loop Start address
- Loop size / 2

234h
?!?
?!?
?!?
- Sample data
- Pattern data

patterns stored like PTK :

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 : ...

  • Each voice is 4 bytes.


  • Note packing :

     0000-0000  0000-0000  0000-0000  0000-0000
     \       /  \       /  |  | \  /  \       /
       sample   relative    \/   Fx    Fx Arg
       number     note    unused
                 number

  • 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 : (TDD)
    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
     

    Click "back" to go back :)