Changes

613 bytes added ,  03:14, 15 November 2019
Update names
Line 2: Line 2:  
== Overview ==
 
== Overview ==
   −
The BCSAR (CTR Sound ARchive) format is the 3DS's equivalent of the Wii's BRSAR  format. They're not the same structures, though, but they do have the same purpose.
+
The BCSAR (Binary CTR Sound ARchive) format is the 3DS's equivalent of the Wii's BRSAR  format. They're not the same structures, though, but they do have the same purpose.
   −
BCSAR are located in the RomFS, this is usually stored under "romfs:/sound/<name>.bcsar". This contains various audio formats, such as CSTM, CWSD, and CWAV.
+
BCSAR are located in the RomFS, this is usually stored under "romfs:/sound/<name>.bcsar". This contains various audio formats, such as CSTM, CWSD, CSEQ, and CWAV.
    
== BCSAR Header ==
 
== BCSAR Header ==
Line 40: Line 40:  
|  0x14
 
|  0x14
 
|  0x4
 
|  0x4
Partition header length [same for each partition? (ie STRG,INFO,and FILE header lengths)]
+
STRG partition reference ID? (Always 0x2000)
 
|-
 
|-
 
|  0x18
 
|  0x18
Line 52: Line 52:  
|  0x20
 
|  0x20
 
|  0x4
 
|  0x4
Unknown (always 0x01200000?)
+
INFO partition reference ID? (Always 0x2001)
 
|-
 
|-
 
|  0x24
 
|  0x24
Line 61: Line 61:  
|  0x4
 
|  0x4
 
|  Length of INFO partition
 
|  Length of INFO partition
 +
|-
 +
|  0x2C
 +
|  0x4
 +
|  Main FILE partition reference ID? (Always 0x2002)
 
|-
 
|-
 
|  0x30
 
|  0x30
Line 237: Line 241:  
|  0x8
 
|  0x8
 
|  0x4
 
|  0x4
Unknown magic 0x2100
+
Audio Table Reference ID (0x2100)
 
|-
 
|-
 
|  0xC
 
|  0xC
 
|  0x4
 
|  0x4
|  This + 8 points to unknown
+
|  This + 8 points to the Audio Table
 
|-
 
|-
 
|  0x10
 
|  0x10
 
|  0x4
 
|  0x4
Unknown magic 0x2104
+
Set Table Reference ID (0x2104)
 
|-
 
|-
 
|  0x14
 
|  0x14
 
|  0x4
 
|  0x4
|  This + 8 points to unknown
+
|  This + 8 points to the Set Table
 
|-
 
|-
 
|  0x18
 
|  0x18
 
|  0x4
 
|  0x4
Unknown magic 0x2101
+
Bank Table Reference ID (0x2101)
 
|-
 
|-
 
|  0x1C
 
|  0x1C
 
|  0x4
 
|  0x4
|  This + 8 points to unknown
+
|  This + 8 points to the Bank Table
 
|-
 
|-
 
|  0x20
 
|  0x20
 
|  0x4
 
|  0x4
Unknown magic 0x2103
+
WAV Archive Table Reference ID (0x2103)
 
|-
 
|-
 
|  0x24
 
|  0x24
 
|  0x4
 
|  0x4
|  This + 8 points to unknown
+
|  This + 8 points to the WAV Archive Table
 
|-
 
|-
 
|  0x28
 
|  0x28
 
|  0x4
 
|  0x4
Unknown magic 0x2105
+
Group Table Reference ID (0x2105)
 
|-
 
|-
 
|  0x2C
 
|  0x2C
 
|  0x4
 
|  0x4
|  This + 8 points to unknown
+
|  This + 8 points to the Group Table
 
|-
 
|-
 
|  0x30
 
|  0x30
 
|  0x4
 
|  0x4
Unknown magic 0x2102
+
Player Table Reference ID (0x2102)
 
|-
 
|-
 
|  0x34
 
|  0x34
 
|  0x4
 
|  0x4
|  This + 8 points to unknown
+
|  This + 8 points to Player Table
 
|-
 
|-
 
|  0x38
 
|  0x38
 
|  0x4
 
|  0x4
Unknown magic 0x2106
+
FILE Table Reference ID (0x2106)
 
|-
 
|-
 
|  0x3C
 
|  0x3C
 
|  0x4
 
|  0x4
|  This + 8 points to unknown
+
|  This + 8 points to the FILE Table
 
|-
 
|-
 
|  0x40
 
|  0x40
 
|  0x4
 
|  0x4
|  Unknown magic 0x220B
+
|  Unknown Table Reference ID (0x220B)
 
|-
 
|-
 
|  0x44
 
|  0x44
Line 414: Line 418:  
|  0x4
 
|  0x4
 
|  Unknown
 
|  Unknown
 +
|-
 +
|}
 +
 +
===== Table IDs =====
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
!  ID
 +
!  NAME
 +
|-
 +
|  0x2200
 +
|  Audio Table
 +
|-
 +
|  0x2204
 +
|  Set Table
 +
|-
 +
|  0x2206
 +
|  Bank Table
 +
|-
 +
|  0x2207
 +
|  WAV Archive Table
 +
|-
 +
|  0x2208
 +
|  Group Table
 +
|-
 +
|  0x2208
 +
|  Player Table
 +
|-
 +
|  0x220A
 +
|  FILE Table
 
|-
 
|-
 
|}
 
|}
Line 445: Line 479:  
== Tools ==
 
== Tools ==
 
* vgmtoolbox's Advanced Cutter/Offset Finder tool can extract BCWAVs without filenames
 
* vgmtoolbox's Advanced Cutter/Offset Finder tool can extract BCWAVs without filenames
 +
* [https://github.com/soneek/3DSUSoundArchiveTool 3DSUSoundArchiveTool] reference implementation of CSAR extraction
35

edits