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




  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 !
  •  

    Click "back" to go back :)