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




  Format name : Promizer 4.0 packer format
Created by : Franck Hulsmann (MC68000/Masque) (1994)

Note : Very similar to the version 2.0 of the same named packer. I noticed five main modifications ... . First, there's no more this replay code routine at the beginning :). Second, the finetune is no more *2. Third, the sample number is no more *4 in the packed notes. fourth, the releative note number is no more *2 (in the packed notes too). and last, the note 00-00h (empty note) is no more saved in the reference table. There's also these 4 empty bytes before the sample data which have been removed ...

Sources :
*
Two PM40 sent by Gryzor (Thx !)



OFFSET
SIZE (bytes)
COMMENT
0
4
7
8
-
-
-
-
-
4
3
1
100h
-
-
-
-
-
- "PM40" Id
- ?!? ($00-00-00)
- size of the pattern list
- 128 words pattern table. It 'seems' to be * 200h .. but then, what are all those $98 in PM40.Numb_Movement ?!?!?. I guess it's not very important if you handle this list like Gryzor did ... generate an entirely new pattern list starting at 0

The following is repeated 31 times
with 8 bytes description for one sample
108h
10Ah
10Bh
10Ch
10Eh
2
1
1
2
2
- Sample Size / 2
- Finetune (0 -> Fh)
- Volume (0->40h)
- Loop Size / 2
- Loop Start / 2


200h
-
204h
-
208h
-
-
-
-
-
-
-
-
-
-
-
-
-
-
ADD#2
-
-
-
-
-
4
-
4
-
?!?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
?!?
-
-
-
-
-
- Address of sample data + 4
(I call it ADD#1)
- Address of the "reference table" + 8
(I call it ADD#2)
- pattern data. Each pattern is 512 bytes long. Though, that's the theory because some patterns may NOT be that long. In fact, you'll have to check if the note isn't a PATTERN BREAK command or a PATTERN JUMP. If so, the pattern ends and another begins ... therefore, its size is less than the 512 'standard bytes'. Now, whatever the pattern size is, its meaning does not vary :). In fact, those data are some values which refer to a "reference table" (description is right below).
RMQ: first value is 00h. it is an empty note which is NOT saved in the reference table !
- the "reference table" which contains the standard PTK pattern data. Its size is easy to calculate since it consists of blocks of 4 bytes, knowing that there are 'n' blocks ('n' is the highest value in the pattern data)


Note Packing :

       0000-0000  0000-0000  0000-0000  0000-0000
       ||||    |  |       |  |||| |  |  |       |
       ||| \  /    \     /   ||||  \/    \     /
       |||sample   relative  ||/ effect  effect
       |||         note nbr  |/          value
        \\\                  /
         ---- unused --------


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 : (PM40)
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



ADD#1
?!?
- Sample datas. Stored like PTK

 

Click "back" to go back :)