| |
Format name
: Promizer 1.0c packer format
Created by : Franck Hulsmann (MC68000/Masque)
Sources :
* "Flower Power" demo by Anarchy
|
OFFSET
|
SIZE (bytes)
|
COMMENT
|
|
0
-
-
-
-
1164h
-
-
-
-
-
-
1168h
-
-
|
1164h
-
-
-
-
4
-
-
-
-
-
-
4
-
-
|
- Replay routine and, certainly, near the
end of this block, some unidentified bytes. Since I could manage
without these to convert, I guess they are not that much important
- Number of bytes to add to get the sample data starting address
(so, it's 4456+ "this value"). (SDAV - Sample Data Address Value)
RMQ: This info could be of great value when ripping, however,
I couldn't find any interrest for converting ...
- Size of the pattern data, which starts at address 1466h. (WPS
- Whole Patterns Size)
|
The following is repeated 31 times
with 8 bytes description for one sample
|
116Ch
116Eh
116Fh
1170h
1172h
|
2
1
1
2
2
|
- Sample Size / 2
- Finetune (0 -> F)
- Volume (0->40h)
- Loop Size / 2
- Loop Start / 2
|
|
1264h
1266h
-
-
1466h
-
-
-
-
-
-
-
-
-
-
-
-
1466h+WPS
-
-
-
-
-
|
2
200h
-
-
WPS
-
-
-
-
-
-
-
-
-
-
-
-
?!?
-
-
-
-
-
|
- word. (NOP) Number of pattern (x4)
- Pattern table.It's the starting address of each pattern from $1466.
Pattern $00 address, in this list, will be $00000000
- 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
- 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 (like PTK) :
_____byte 1_____ byte2_ _____byte 3_____ byte4_
/ / / /
0000 0000-00000000 0000 0000-00000000
Upper four 12 bits for Lower four Effect command.
bits of sam- note period. bits of sam-
ple number. ple number.
|
Promizer v1.0c (as v0.1 and v1.8a) saves the "finetuned" pitch if
the sample got a 'not null' finetune. Refer
here where there are all the possible pitchs for each finetune
|
?!?
-
-
|
4
-
-
|
- Four empty bytes ... . Surely
they have a very good reason for beeing here, but, for now, it's
beyond my understanding :( |
Next come the sample datas. We got two ways to find the starting address.
We could follow step by step, as described here, but with a lot of calculating
... . Now, there is this long byte in the description that I find very
useful for the job. I use this way below. So, first there is less calculating,
but also, I think it's FAR safer that way !
|
1168h+SDAV
-
|
?
-
|
- Sample datas. (The address "1168h"
is not an error ..) I explain this a bit upward |
|
|