#!/usr/bin/perl

$header=chr(0x4e).chr(0x58).chr(0x56).chr(0x20).chr(0x46).chr(0x69).chr(0x6c).chr(0x65).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x31).chr(0x2e).chr(0x30).chr(0x2e).chr(0x30).chr(0x00).chr(0x00).chr(0x00).chr(0x80).chr(0x80).chr(0x00).chr(0x35).chr(0x81).chr(0x2f).chr(0x31).chr(0x8a).chr(0xa5).chr(0x64).chr(0x86).chr(0x53).chr(0xda).chr(0x54).chr(0x94).chr(0x88).chr(0xfe).chr(0x59).chr(0x05).chr(0xfa).chr(0x9f).chr(0xd5).chr(0xb0).chr(0xda).chr(0x9b).chr(0x46).chr(0x6f).chr(0x44).chr(0x46).chr(0xdf).chr(0xd0).chr(0xd2).chr(0x2d).chr(0x02).chr(0x73).chr(0x7f).chr(0x9e).chr(0x2c).chr(0xb4).chr(0xb1).chr(0x6a).chr(0xe1).chr(0x8a).chr(0x90).chr(0xe9).chr(0x51).chr(0xaf).chr(0x00).chr(0x3f).chr(0xa3).chr(0x02).chr(0x74).chr(0xde).chr(0x0e).chr(0x29).chr(0x07).chr(0x4c).chr(0x90).chr(0x7a).chr(0xc9).chr(0x27).chr(0xe3).chr(0x1c).chr(0x00).chr(0x66).chr(0xad).chr(0x69).chr(0xae).chr(0xe1).chr(0xf7).chr(0x97).chr(0x40).chr(0x14).chr(0xe0).chr(0x98).chr(0x48).chr(0x1f).chr(0x92).chr(0x3e).chr(0x5b).chr(0x5f).chr(0x76).chr(0xa3).chr(0x40).chr(0x68).chr(0xa4).chr(0xc8).chr(0x02).chr(0xd1).chr(0x9e).chr(0x7c).chr(0x43);

open (AUD,"sample.mp3") || die;
open (OUT,">sample.nxv") || die;

print OUT $header.chr(0x00) x 400;

#dmy tmp findme 65535 frames at the moment

for ($frame=1;$frame<3013;) {
  read AUD,$data,500;
  print OUT $data;
  print OUT chr(0x00) x 12; # guesswork
  read AUD,$data,500;
  print OUT $data;
  
  print OUT chr(0x00) x 4; # more guesswork as to whether this will work
  print OUT chr(0x00) x 2; #limiting frameno to a maximum of 65536
  print OUT chr(int((($frame-1)/256)%256)),chr(int(($frame-1)%256)); #BE sequence no.
  print OUT chr(0x00),chr(0x80),chr(0x00),chr(0x40); #size then size/2 in LE ?

  $image=sprintf("sample_000%04d.raw",$frame++);
print "$image\n";
  open(IMAGE,"$image") || die;
  read IMAGE,$data,32768,0;
  close(IMAGE);
  print OUT $data;
}


