Nintendo 3DS Banner Wave / .BCWAV file format

Discussion in '3DS - Flashcards & Custom Firmwares' started by Ris312, Feb 12, 2012.

Feb 12, 2012
  1. Ris312
    OP

    Newcomer Ris312 Advanced Member

    Joined:
    Mar 5, 2011
    Messages:
    59
    Country:
    Australia
    Edit: I've just noticed that 3DS-Explorer can open these files but support is incomplete.
    Hopefully the ability to extract the wave file will be added.

    I'm using the 'Example.bcwav' file included in 'CiTRUS'
    ('CiTRUS' Download Link -> http://3dbrew.org/wiki/CiTRUS)
    To get the RAW PCM Left channel, Extract Offset 0xC0 to 0x00632DBF with a hex editor to a new file.
    To get the RAW PCM Right channel, Extract Offset 0x00632DC0 to 0x00C65ABF with a hex editor to a new file.
    The RAW PCM files are Mono 22050hz 16 bit [Intel PCM / Big Endian]
    You can open them with an audio editing program to playback the file.
    (You will need to mix the separate Left / Right Channels to get a Stereo File)

    Code:
    Offset:
    
    00   (43 57 41 56)   Magic -> "CWAV"
    
    04   (FF FE)         Endian Byte Order Mark (like UTF-16) [FFFE = Little / FEFF = Big]
    06   (40 00)         Size of Header (64 bytes)
    08   (00 00)
    0A   (01)            Compression Code? (01 = PCM Uncompressed)
    0B   (02)            Number of Channels? (02 = Stereo)
    0C   (C0 5A C6 00)   Size of ENTIRE File in bytes (12,999,360 bytes)
    
    10   (02 00 00 00)   Number of Chunks In File
    
    14   (00 70 00 00)   Chunk Type -> INFO?
    18   (40 00 00 00)   Start Offset of Chunk (64 bytes)
    1C   (60 00 00 00)   Length of Chunk (96 bytes)
    
    20   (01 70 00 00)   Chunk Type -> DATA?
    24   (A0 00 00 00)   Start Offset of Chunk (160 bytes)
    28   (20 5A C6 00)   Length of Chunk (12,999,200 bytes)
    
    2A   (00 00 00 00)   \
    30   (00 00 00 00)    |
    34   (00 00 00 00)   -= Padding to align to 32 bytes
    38   (00 00 00 00)    |
    3C   (00 00 00 00)   /
    
    ---
    
    40   (49 4E 46 4F)   Chunk Type -> "Info"
    44   (60 00 00 00)   Entire Chunk Length = 96 bytes
    48   (01 00 00 00)   Bits per Sample? (01 = 16 bit, 00 = 8 bit?)
    4C   (22 56)         Sample Rate (56 22 = 22050 hz)
    50   (00 00 00 00)   ?
    54   (80 96 31 00)   Number of Samples (3,249,792 samples) -- (Length in bytes = Number of Samples * (Bits Per Sample/8))
    58   (00 00 00 00)   ?
    
    5C   (02 00 00 00)   Number of Sub-Chunks?
    
    60   (00 71 00 00)   Sub-Chunk Type = ChannelInfo?
    64   (14 00 00 00)   Offset of Chunk? (5C + 14 = 70)
    
    68   (00 71 00 00)   Sub-Chunk Type = ChannelInfo?
    6C   (28 00 00 00)   Offset of Chunk? (5C + 28 = 84)
    
    70   (00 1F 00 00)   Data Type = Offset?
    74   (18 00 00 00)   Start offset of Left Channel (18 + A8 = C0 / 192 bytes)
    78   (00 00 00 00)   ?
    7C   (FF FF FF FF)   End of Chunk Mark?
    80   (00 00 00 00)   Padding?
    
    84   (00 1F 00 00)   Data Type = Offset?
    88   (18 2D 63 00)   Start offset of Right Channel (00632D18 + A8 = 00632DC0 / 6,499,776 bytes)
    8C   (00 00 00 00)   ?
    90   (FF FF FF FF)   End of Chunk Mark?
    94   (00 00 00 00)   Padding?
    
    98   (00 00 00 00)   Padding?
    9C   (00 00 00 00)   Padding?
    
    ---
    
    A0   (44 41 54 41)   Chunk Type -> "DATA"
    A4   (20 5A C6 00)   Length of Chunk (12,999,200 bytes)
    
     
  2. loco365

    Member loco365 GBAtemp Guru

    Joined:
    Sep 1, 2010
    Messages:
    5,459
    Wait, so this is the little sound that plays when you select an icon but don't start it? Cool 8D
     
  3. Janthran

    Member Janthran Solarian

    Joined:
    Sep 17, 2011
    Messages:
    3,777
    Location:
    The Pacific Northwet
    Country:
    United States
    Cool I guess, but is this useful?
     
  4. loco365

    Member loco365 GBAtemp Guru

    Joined:
    Sep 1, 2010
    Messages:
    5,459
    Perhaps we can reverse the process and make our own.
     
  5. Janthran

    Member Janthran Solarian

    Joined:
    Sep 17, 2011
    Messages:
    3,777
    Location:
    The Pacific Northwet
    Country:
    United States
    I don't think we can put them on without de-encrypting the 3DS.
     
  6. SifJar

    Member SifJar Not a pirate

    Joined:
    Apr 4, 2009
    Messages:
    6,022
    Country:
    United Kingdom
    No because it won't be signed. If you change ANYTHING in a title, for the 3DS to accept it again it will need to be resigned, regardless of what you changed.

    It'll only really become useful if the signature check gets reversed at some point, at which time custom sounds could probably be used. Until then, it's only really for ripping music from titles.
     
  7. loco365

    Member loco365 GBAtemp Guru

    Joined:
    Sep 1, 2010
    Messages:
    5,459
    True at that.
     
  8. Janthran

    Member Janthran Solarian

    Joined:
    Sep 17, 2011
    Messages:
    3,777
    Location:
    The Pacific Northwet
    Country:
    United States
    :|
    I ACCIDENTALLY MY QUOTES
     
    1 person likes this.
  9. elisherer

    Member elisherer I ♥ 3DS

    Joined:
    Dec 16, 2009
    Messages:
    778
    Location:
    3dbrew.org
    Country:
    Israel
    That's awesome... I was waiting for someone to check it out...
    You can try playing with the version in the Bin directory because it's newer and open CBMD files better,,,
     
  10. elisherer

    Member elisherer I ♥ 3DS

    Joined:
    Dec 16, 2009
    Messages:
    778
    Location:
    3dbrew.org
    Country:
    Israel
    It seems to be broken...doesn't work...I'll fix it soon..
     
  11. elisherer

    Member elisherer I ♥ 3DS

    Joined:
    Dec 16, 2009
    Messages:
    778
    Location:
    3dbrew.org
    Country:
    Israel
    On the next version you could save wav file from a BCWAV...you can check it out here.. http://3dsexplorer.googlecode.com/svn/trunk/3DSExplorer/bin/3DSExplorer.exe
     
    1 person likes this.

Share This Page