Hacking Nintendo 3DS Banner Wave / .BCWAV file format

Ris312

Well-Known Member
OP
Newcomer
Joined
Mar 5, 2011
Messages
59
Trophies
0
XP
92
Country
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)
 

SifJar

Not a pirate
Member
Joined
Apr 4, 2009
Messages
6,022
Trophies
1
Website
Visit site
XP
1,185
Country
Cool I guess, but is this useful?
Perhaps we can reverse the process and make our own.
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.
 

loco365

Well-Known Member
Member
Joined
Sep 1, 2010
Messages
5,457
Trophies
0
XP
2,927
Cool I guess, but is this useful?
Perhaps we can reverse the process and make our own.
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.
True at that.
 

Janthran

Solarian
Member
Joined
Sep 17, 2011
Messages
3,777
Trophies
2
Location
The Pacific Northwet
XP
1,167
Country
United States
Cool I guess, but is this useful?
Perhaps we can reverse the process and make our own.
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.
True at that.
Cool I guess, but is this useful?
Perhaps we can reverse the process and make our own.
I don't think we can put them on without de-encrypting the 3DS.
:|
I ACCIDENTALLY MY QUOTES
 
  • Like
Reactions: 1 person

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: https://i.imgur.com/AIWxRCK.mp4 +1