| |
Format name
: Noiserunner
Created by : Chaos / Sanity
Sources :
* six files sent by Gryzor (thx!)
This format reminds me of the XANN packer for
two reasons, first, a packed file has the same size as the ptk version.
Next, all the effect commands have been remaped
The following is repeated
31 times
with 16 bytes description for one sample
|
OFFSET
|
SIZE (bytes)
|
COMMENT
|
|
0
1
2
6
8
Ch
Eh
|
1
1
4
2
4
2
2
|
- 00h
- Volume (0 - 40h)
- Sample address (memory)
- Sample size / 2
- Loop start address (memory)
- Loop Size / 2
- Finetune or garbage !
|
when saying 'garbage', it's because this format
writes itself on the ptk. So, these 'garbage' bytes are what was in the
ptk before the overwriting. About the finetune, if the first byte is <
F0h, then the two bytes contain datas from the ptk (thx Gryzor for that
!). Check below for the complete list of finetunes
|
1F0h
-
-
3B6h
3B7h
3B8h
438h
43Ch
|
1C6h
-
-
1
1
80h
4
?!?
|
- Garbage. As explain above, that
what's left of the (1F0h) ptk header. These bytes are to be ignored
!
- Size of the pattern list (as ptk)
- Noisetracker byte set to $7F (as ptk)
- Pattern table (as ptk)
- "M.K." ptk's ID
- pattern datas |
each pattern follows one after another and is stored 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 :
|
TDA
|
?!?
|
- Track datas. Each track is saved
after another and the maximum size 192 (C0h) bytes long |
the size of each pattern is 1024 bytes. Each
note is 4 bytes long and is stored that way :
0000-0000 0000-0000 0000-0000 0000-0000
| | | | | | | |
\ / \ / \ / \ /
effect effect relative Sample
parameter note number (*8)
number
|
All the effect have been remapped
00: tone portamento (3 under ptk)
04: slide up (1 under ptk)
08: slide down (2 under ptk)
0C: no effect (0 under ptk)
10: set vibrato (4 under ptk)
14: portamento + volume slide (5 under ptk)
18: vibrato + volume slide (6 under ptk)
1C: ?!? probably tremolo (7)
20: set panning (NOT A PTK COMMAND,I stick on Gryzor's Prowiz)
24: sample offset (9 under ptk)
28: volume slide (A under ptk)
2C: ?!? probably pattern jump (B)
30: set Volume (C under ptk)
34: pattern break (D under ptk)
38: Extended commands (E under ptk)
3C: set speed (F under ptk)
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 : (Noiserunner)
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
|
Follow Sample datas stored like Protracker. Nothing
is packed..
back to the finetune (2 bytes) of the sample desc.
There's a finetune IF the first byte is > F0h. The first fine value
is BC8 and you 'just' have to add 48h to get the next
FB-C8 -> -1 (0Fh)
FC-10 -> -2 (0Eh)
FC-58 -> -3 (0Dh)
FC-A0 -> -4 (0Ch)
FC-E8 -> -5 (0Bh)
FD-30 -> -6 (0Ah)
FD-78 -> -7 (09h)
FD-C0 -> -8 (08h)
FE-08 -> +7 (07h)
FE-50 -> +6 (06h)
FE-98 -> +5 (05h)
FE-E0 -> +4 (04h)
FF-28 -> +3 (03h)
FF-70 -> +2 (02h)
FF-B8 -> +1 (01h)
00-00 -> 0 (00h) (no finetune)
|
There are some Noiserunner packed files with 00-00 but not always,
as explained upward
|
|