| |
Format name
: Noisetracker Pak
Created by : United Force (1990)
Sources :
* Three NTPK files sent by Gryzor (thx !)
Heh, Gryzor, je ne comprends vraiment pas comment
tu as reussi a faire pour convertir ce format !. C'est tout simplement
de la folie pour gerer ces arpeggii qui ne sont pas forcement la ... .
Bravo !
Here's is the description of this (old) format. While you can ask
me the C source codes I wrote to convert all the formats I've described
as of yet, I simply cant provide you with this one !. I could not
write a safe one ... . Use Prowiz :). If you wonder why, check the
note packing and you'll quickly understand !
The following is repeated
31 times
with 12 bytes description for one sample
|
OFFSET
|
SIZE (bytes)
|
COMMENT
|
|
0
4
6
7
8
Ah
|
4
2
1
1
2
2
|
- sample address in the file
- Sample Size / 2
- ?!? Finetune
- Volume (0->40h)
- Loop Size / 2
- Loop Start / 2
|
|
174h
175h
176h
1F6h
-
-
-
-
-
-
-
-
-
-
|
1
1
80h
?!?
-
-
-
-
-
-
-
-
-
-
|
- Size of the pattern list
- NoiseTracker byte set to $00
- pattern list
- pattern data. Each pattern starts with an ID : "PATT" followed
by 3 words which are the address of the tracks. only 3 because the
first track starts always at 0 :). The address all start AFTER these
6 bytes (dont count the 4 ID bytes). So, each pattern contains 4
tracks which are saved one after the other. Each track can be any
size between 2 and 192 bytes. Each track contains up to 64 notes
which are packed the way below .. |
each note is 2 or 3 bytes (if saved)
Note Packing :
* case 1:
$FF value
/ \ / \
| | | |
1111-1111 0000-0000
Note: if first byte is $FF then, the second byte is the
number of row to bypass (empty rows)
|
* case 2:
- Sample number
/ /\
| | |
0000 0000 0000 0000
| | | |
\ / \/
relative effect
note
number
|
effect is EMPTY !!!. Beware, because arpeggio effect is NOT remapped.
So, knowing that every parameter is possible for an arpeggio, it purely
becomes mindbombimg to test ...
* case3:
- Sample number
/ /\
| | |
0000 0000 0000 0000 0000 0000
| | | | | |
\ / \/ \ /
relative effect effect
note parameter
number
|
it appears that if the size of a pattern is not even, there's a 00
AFTER the last note of the last track so that the next pattern address
is even
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 : (NTPK)
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..
Here, the same remark about the address. If the ending location of
the last note is not even, add one empty byte to reach the samples !
|
|