<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.3dbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GovanifY</id>
	<title>3dbrew - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.3dbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GovanifY"/>
	<link rel="alternate" type="text/html" href="https://www.3dbrew.org/wiki/Special:Contributions/GovanifY"/>
	<updated>2026-04-18T17:49:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=BCSAR&amp;diff=10299</id>
		<title>BCSAR</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=BCSAR&amp;diff=10299"/>
		<updated>2014-10-22T09:42:17Z</updated>

		<summary type="html">&lt;p&gt;GovanifY: /* Partitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:File formats]]&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The BCSAR (CTR Sound ARchive) format is the 3DS&#039;s equivalent of the Wii&#039;s BRSAR  format. They&#039;re not the same structures, though, but they do have the same purpose.&lt;br /&gt;
&lt;br /&gt;
BCSAR are located in the RomFS, this is usually stored under &amp;quot;romfs:/sound/&amp;lt;name&amp;gt;.bcsar&amp;quot;. This contains various audio formats, such as CSTM, CWSD, and CWAV.&lt;br /&gt;
&lt;br /&gt;
== BCSAR Header ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;CSAR&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x2&lt;br /&gt;
|  Byte order mark (0xFEFF = Big Endian, 0xFFFE = Little Endian)&lt;br /&gt;
|-&lt;br /&gt;
|  0x6&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of BCSAR header&lt;br /&gt;
|-&lt;br /&gt;
|  0xA&lt;br /&gt;
|  0x2&lt;br /&gt;
|  Version&lt;br /&gt;
|-&lt;br /&gt;
|  0xC&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of the entire BCSAR (starting from 0x0)&lt;br /&gt;
|-&lt;br /&gt;
|  0x10&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Amount of main partitions in the BCSAR [STRG + INFO + FILE = 0x03 (= 3)]&lt;br /&gt;
|-&lt;br /&gt;
|  0x14&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Partition header length [same for each partition? (ie STRG,INFO,and FILE header lengths)]&lt;br /&gt;
|-&lt;br /&gt;
|  0x18&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Location of STRG partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x1C&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of STRG partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x20&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Unknown (always 0x01200000?)&lt;br /&gt;
|-&lt;br /&gt;
|  0x24&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Location of INFO partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x28&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of INFO partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x30&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Location of main FILE partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x34&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of main FILE partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x38&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Reserved for 4th main partition location?&lt;br /&gt;
|-&lt;br /&gt;
|  0x3C&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Reserved for 4th main partition length?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Partitions ==&lt;br /&gt;
&lt;br /&gt;
=== STRG ===&lt;br /&gt;
&lt;br /&gt;
STRG contains the names of the audio files in the BCSAR.&lt;br /&gt;
&lt;br /&gt;
Header:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;STRG&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of STRG partition (also in CSAR header)&lt;br /&gt;
|-&lt;br /&gt;
|  0x18&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Count of audio names (since each file should have a name you could also say this is essentially a file count)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Then for each name:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Type of the file...?&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Offset of the filename...?&lt;br /&gt;
|-&lt;br /&gt;
|  0x8&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Size of the filename&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Then every filename is rawly setted. You can set up a dictionary that contains, using a simple counter, the size of every filename in order. Then, using the same type of counter, get the values of the size of the filename in a correct order.&lt;br /&gt;
=== INFO ===&lt;br /&gt;
&lt;br /&gt;
INFO presumably contains information on the audio files? Possibly used to connect names from STRG to data from FILE?&lt;br /&gt;
&lt;br /&gt;
For now I only know some information in the header for this partition, but I&#039;m working on figuring the rest out.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;INFO&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of INFO partition (also in CSAR header)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FILE ===&lt;br /&gt;
&lt;br /&gt;
FILE contains all of the audio data in the BCSAR.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;FILE&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of FILE partition (also in CSAR header)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There isn&#039;t a whole lot else I can document about the FILE partition, since the data in it will most definitely vary depending on the game. (since audio is more than likely to change in each game)&lt;br /&gt;
&lt;br /&gt;
There is no table in FILE so a different partition (presumably INFO) must be used to connect the data in FILE with the names from STRG.&lt;br /&gt;
&lt;br /&gt;
After some more research, there are multiple FILE partitions, but only 1 of them is the &#039;main&#039; FILE partition (it&#039;s the one you get from the BCSAR header). The &#039;main&#039; FILE partition contains all of the other sub FILE partitions.&lt;/div&gt;</summary>
		<author><name>GovanifY</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=BCSAR&amp;diff=10298</id>
		<title>BCSAR</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=BCSAR&amp;diff=10298"/>
		<updated>2014-10-22T09:35:37Z</updated>

		<summary type="html">&lt;p&gt;GovanifY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:File formats]]&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The BCSAR (CTR Sound ARchive) format is the 3DS&#039;s equivalent of the Wii&#039;s BRSAR  format. They&#039;re not the same structures, though, but they do have the same purpose.&lt;br /&gt;
&lt;br /&gt;
BCSAR are located in the RomFS, this is usually stored under &amp;quot;romfs:/sound/&amp;lt;name&amp;gt;.bcsar&amp;quot;. This contains various audio formats, such as CSTM, CWSD, and CWAV.&lt;br /&gt;
&lt;br /&gt;
== BCSAR Header ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;CSAR&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x2&lt;br /&gt;
|  Byte order mark (0xFEFF = Big Endian, 0xFFFE = Little Endian)&lt;br /&gt;
|-&lt;br /&gt;
|  0x6&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of BCSAR header&lt;br /&gt;
|-&lt;br /&gt;
|  0xA&lt;br /&gt;
|  0x2&lt;br /&gt;
|  Version&lt;br /&gt;
|-&lt;br /&gt;
|  0xC&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of the entire BCSAR (starting from 0x0)&lt;br /&gt;
|-&lt;br /&gt;
|  0x10&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Amount of main partitions in the BCSAR [STRG + INFO + FILE = 0x03 (= 3)]&lt;br /&gt;
|-&lt;br /&gt;
|  0x14&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Partition header length [same for each partition? (ie STRG,INFO,and FILE header lengths)]&lt;br /&gt;
|-&lt;br /&gt;
|  0x18&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Location of STRG partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x1C&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of STRG partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x20&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Unknown (always 0x01200000?)&lt;br /&gt;
|-&lt;br /&gt;
|  0x24&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Location of INFO partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x28&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of INFO partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x30&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Location of main FILE partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x34&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of main FILE partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x38&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Reserved for 4th main partition location?&lt;br /&gt;
|-&lt;br /&gt;
|  0x3C&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Reserved for 4th main partition length?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Partitions ==&lt;br /&gt;
&lt;br /&gt;
=== STRG ===&lt;br /&gt;
&lt;br /&gt;
STRG contains the names of the audio files in the BCSAR.&lt;br /&gt;
&lt;br /&gt;
Header:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;STRG&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of STRG partition (also in CSAR header)&lt;br /&gt;
|-&lt;br /&gt;
|  0x18&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Count of audio names (since each file should have a name you could also say this is essentially a file count)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Then for each name:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Type of the file...?&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Offset of the filename&lt;br /&gt;
|-&lt;br /&gt;
|  0x8&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Size of the filename&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== INFO ===&lt;br /&gt;
&lt;br /&gt;
INFO presumably contains information on the audio files? Possibly used to connect names from STRG to data from FILE?&lt;br /&gt;
&lt;br /&gt;
For now I only know some information in the header for this partition, but I&#039;m working on figuring the rest out.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;INFO&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of INFO partition (also in CSAR header)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FILE ===&lt;br /&gt;
&lt;br /&gt;
FILE contains all of the audio data in the BCSAR.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;FILE&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of FILE partition (also in CSAR header)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There isn&#039;t a whole lot else I can document about the FILE partition, since the data in it will most definitely vary depending on the game. (since audio is more than likely to change in each game)&lt;br /&gt;
&lt;br /&gt;
There is no table in FILE so a different partition (presumably INFO) must be used to connect the data in FILE with the names from STRG.&lt;br /&gt;
&lt;br /&gt;
After some more research, there are multiple FILE partitions, but only 1 of them is the &#039;main&#039; FILE partition (it&#039;s the one you get from the BCSAR header). The &#039;main&#039; FILE partition contains all of the other sub FILE partitions.&lt;/div&gt;</summary>
		<author><name>GovanifY</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=BCSAR&amp;diff=10296</id>
		<title>BCSAR</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=BCSAR&amp;diff=10296"/>
		<updated>2014-10-22T06:04:06Z</updated>

		<summary type="html">&lt;p&gt;GovanifY: /* BCSAR Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:File formats]]&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The BCSAR (CTR Sound ARchive) format is the 3DS&#039;s equivalent of the Wii&#039;s BRSAR  format. They&#039;re not the same structures, though, but they do have the same purpose.&lt;br /&gt;
&lt;br /&gt;
BCSAR are located in the RomFS, this is usually stored under &amp;quot;romfs:/sound/&amp;lt;name&amp;gt;.bcsar&amp;quot;. This contains various audio formats, such as CSTM, CWSD, and CWAV.&lt;br /&gt;
&lt;br /&gt;
== BCSAR Header ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;CSAR&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x2&lt;br /&gt;
|  Byte order mark (0xFEFF = Big Endian, 0xFFFE = Little Endian)&lt;br /&gt;
|-&lt;br /&gt;
|  0x6&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of BCSAR header&lt;br /&gt;
|-&lt;br /&gt;
|  0xA&lt;br /&gt;
|  0x2&lt;br /&gt;
|  Version&lt;br /&gt;
|-&lt;br /&gt;
|  0xC&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of the entire BCSAR (starting from 0x0)&lt;br /&gt;
|-&lt;br /&gt;
|  0x10&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Amount of main partitions in the BCSAR [STRG + INFO + FILE = 0x03 (= 3)]&lt;br /&gt;
|-&lt;br /&gt;
|  0x14&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Partition header length [same for each partition? (ie STRG,INFO,and FILE header lengths)]&lt;br /&gt;
|-&lt;br /&gt;
|  0x18&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Location of STRG partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x1C&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of STRG partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x20&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Unknown (always 0x01200000?)&lt;br /&gt;
|-&lt;br /&gt;
|  0x24&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Location of INFO partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x28&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of INFO partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x30&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Location of main FILE partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x34&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of main FILE partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x38&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Reserved for 4th main partition location?&lt;br /&gt;
|-&lt;br /&gt;
|  0x3C&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Reserved for 4th main partition length?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Partitions ==&lt;br /&gt;
&lt;br /&gt;
=== STRG ===&lt;br /&gt;
&lt;br /&gt;
STRG contains the names of the audio files in the BCSAR.&lt;br /&gt;
&lt;br /&gt;
For now I only know some information in the header for this partition, but I&#039;m working on figuring the rest out.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;STRG&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of STRG partition (also in CSAR header)&lt;br /&gt;
|-&lt;br /&gt;
|  0x18&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Count of audio names (since each file should have a name you could also say this is essentially a file count)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== INFO ===&lt;br /&gt;
&lt;br /&gt;
INFO presumably contains information on the audio files? Possibly used to connect names from STRG to data from FILE?&lt;br /&gt;
&lt;br /&gt;
For now I only know some information in the header for this partition, but I&#039;m working on figuring the rest out.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;INFO&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of INFO partition (also in CSAR header)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FILE ===&lt;br /&gt;
&lt;br /&gt;
FILE contains all of the audio data in the BCSAR.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;FILE&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of FILE partition (also in CSAR header)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There isn&#039;t a whole lot else I can document about the FILE partition, since the data in it will most definitely vary depending on the game. (since audio is more than likely to change in each game)&lt;br /&gt;
&lt;br /&gt;
There is no table in FILE so a different partition (presumably INFO) must be used to connect the data in FILE with the names from STRG.&lt;br /&gt;
&lt;br /&gt;
After some more research, there are multiple FILE partitions, but only 1 of them is the &#039;main&#039; FILE partition (it&#039;s the one you get from the BCSAR header). The &#039;main&#039; FILE partition contains all of the other sub FILE partitions.&lt;/div&gt;</summary>
		<author><name>GovanifY</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=BCSAR&amp;diff=10295</id>
		<title>BCSAR</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=BCSAR&amp;diff=10295"/>
		<updated>2014-10-22T05:59:12Z</updated>

		<summary type="html">&lt;p&gt;GovanifY: /* BCSAR Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:File formats]]&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The BCSAR (CTR Sound ARchive) format is the 3DS&#039;s equivalent of the Wii&#039;s BRSAR  format. They&#039;re not the same structures, though, but they do have the same purpose.&lt;br /&gt;
&lt;br /&gt;
BCSAR are located in the RomFS, this is usually stored under &amp;quot;romfs:/sound/&amp;lt;name&amp;gt;.bcsar&amp;quot;. This contains various audio formats, such as CSTM, CWSD, and CWAV.&lt;br /&gt;
&lt;br /&gt;
== BCSAR Header ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;CSAR&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x2&lt;br /&gt;
|  Byte order mark (0xFEFF = Big Endian, 0xFFFE = Little Endian)&lt;br /&gt;
|-&lt;br /&gt;
|  0x6&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of BCSAR header&lt;br /&gt;
|-&lt;br /&gt;
|  0xA&lt;br /&gt;
|  0x2&lt;br /&gt;
|  Version&lt;br /&gt;
|-&lt;br /&gt;
|  0xC&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of the entire BCSAR (starting from 0x0)&lt;br /&gt;
|-&lt;br /&gt;
|  0x10&lt;br /&gt;
|  0x1&lt;br /&gt;
|  Amount of main partitions in the BCSAR [STRG + INFO + FILE = 0x03 (= 3)]&lt;br /&gt;
|-&lt;br /&gt;
|  0x15&lt;br /&gt;
|  0x1&lt;br /&gt;
|  Partition header length [same for each partition? (ie STRG,INFO,and FILE header lengths)]&lt;br /&gt;
|-&lt;br /&gt;
|  0x18&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Location of STRG partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x1C&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of STRG partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x20&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Unknown (always 0x01200000?)&lt;br /&gt;
|-&lt;br /&gt;
|  0x24&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Location of INFO partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x28&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of INFO partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x30&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Location of main FILE partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x34&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of main FILE partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x38&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Reserved for 4th main partition location?&lt;br /&gt;
|-&lt;br /&gt;
|  0x3C&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Reserved for 4th main partition length?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Partitions ==&lt;br /&gt;
&lt;br /&gt;
=== STRG ===&lt;br /&gt;
&lt;br /&gt;
STRG contains the names of the audio files in the BCSAR.&lt;br /&gt;
&lt;br /&gt;
For now I only know some information in the header for this partition, but I&#039;m working on figuring the rest out.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;STRG&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of STRG partition (also in CSAR header)&lt;br /&gt;
|-&lt;br /&gt;
|  0x18&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Count of audio names (since each file should have a name you could also say this is essentially a file count)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== INFO ===&lt;br /&gt;
&lt;br /&gt;
INFO presumably contains information on the audio files? Possibly used to connect names from STRG to data from FILE?&lt;br /&gt;
&lt;br /&gt;
For now I only know some information in the header for this partition, but I&#039;m working on figuring the rest out.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;INFO&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of INFO partition (also in CSAR header)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FILE ===&lt;br /&gt;
&lt;br /&gt;
FILE contains all of the audio data in the BCSAR.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x0&lt;br /&gt;
|  0x4&lt;br /&gt;
|  MAGIC &amp;quot;FILE&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of FILE partition (also in CSAR header)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There isn&#039;t a whole lot else I can document about the FILE partition, since the data in it will most definitely vary depending on the game. (since audio is more than likely to change in each game)&lt;br /&gt;
&lt;br /&gt;
There is no table in FILE so a different partition (presumably INFO) must be used to connect the data in FILE with the names from STRG.&lt;br /&gt;
&lt;br /&gt;
After some more research, there are multiple FILE partitions, but only 1 of them is the &#039;main&#039; FILE partition (it&#039;s the one you get from the BCSAR header). The &#039;main&#039; FILE partition contains all of the other sub FILE partitions.&lt;/div&gt;</summary>
		<author><name>GovanifY</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Makerom&amp;diff=9814</id>
		<title>Makerom</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Makerom&amp;diff=9814"/>
		<updated>2014-09-09T10:27:16Z</updated>

		<summary type="html">&lt;p&gt;GovanifY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox homebrew&lt;br /&gt;
| title       = makerom&lt;br /&gt;
| type        = pc utility&lt;br /&gt;
| author      = [[User:3dsguy|3dsguy]]&lt;br /&gt;
| download = https://anonfiles.com/file/2e954a4b954778e8bcd0c317f071c272&lt;br /&gt;
| source = https://github.com/3DSGuy/Project_CTR/tree/master/makerom&lt;br /&gt;
| version     = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
makerom is a tool which can be used to created [[NCCH]] and [[NCSD|CCI]] and [[CIA]] files.&lt;br /&gt;
&lt;br /&gt;
== Using Makerom ==&lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
Since CCI and CIA are NCCH containers, makerom was built so CXIs could be built stand alone, or straight into a container format. It is also possible rebuild CXIs as easily building a CXI from an elf. As a result the are many combinations which can be used, and for simplicity specific functions will be explained by breaking them up into argument groups:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating CXIs from scratch:&#039;&#039;&#039;&lt;br /&gt;
 -elf &amp;lt;elf path&amp;gt; -rsf &amp;lt;rsf path&amp;gt; [-icon &amp;lt;[[SMDH|icon]] path&amp;gt; -banner &amp;lt;banner path&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rebuilding CXIs:&#039;&#039;&#039;&lt;br /&gt;
 -code &amp;lt;decompressed exefs .code&amp;gt; -exheader &amp;lt;exheader from original CXI&amp;gt; -rsf &amp;lt;rsf path&amp;gt; [-icon &amp;lt;[[SMDH|icon]] path&amp;gt; -banner &amp;lt;banner path&amp;gt; -romfs &amp;lt;cleartext romfs binary&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating CFAs:&#039;&#039;&#039;&lt;br /&gt;
 -f cfa -rsf &amp;lt;rsf path&amp;gt; [-icon &amp;lt;[[SMDH|icon]] path&amp;gt; -romfs &amp;lt;romfs binary&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating CCIs:&#039;&#039;&#039;&lt;br /&gt;
 -f cci [-content &amp;lt;path&amp;gt;:&amp;lt;index&amp;gt; ...]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating CIAs:&#039;&#039;&#039;&lt;br /&gt;
 -f cia [-content &amp;lt;path&amp;gt;:&amp;lt;index&amp;gt;:&amp;lt;id&amp;gt; ...]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Using Desc presets:&#039;&#039;&#039;&lt;br /&gt;
 -desc &amp;lt;app type&amp;gt;:&amp;lt;firm version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;app type&#039; can be SDApp / ECApp / Demo / DlpChild&lt;br /&gt;
* &#039;firm version&#039; is the target kernel version minor for the intended 3DS system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
Create a CCI, using a manual CFA, and a desc preset:&lt;br /&gt;
 makerom -f cci -elf homebrew.elf -rsf app.rsf -desc sdapp:33 -icon homebrew.icn -banner homebrew.bnr -content manual.cfa:1 -o homebrew.cci&lt;br /&gt;
&lt;br /&gt;
Create a CIA using an already built application CXI and manual CFA:&lt;br /&gt;
 makerom -f cia -content homebrew.cxi:0:0 -content manual.cfa:1:1 -o homebrew.cia&lt;br /&gt;
&lt;br /&gt;
Rebuild a CXI:&lt;br /&gt;
 makerom -code code.bin -exheader exheader.bin -icon icon.bin -banner banner.bin -romfs romfs.bin -rsf app.rsf -desc sdapp:33 -o rebuild.cxi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Creating RSF files ===&lt;br /&gt;
Inspired by Nintendo&#039;s format for their makerom, is a yaml configuration file, required for creating NCCH files. CIA/CCI can be created without using a RSF file, but default settings will be used.&lt;br /&gt;
&lt;br /&gt;
For CXI, RSF files can be used to specify permissions, and access control settings. However makerom can use default settings by use of the &amp;quot;-desc&amp;quot; option, which removes the requirement for specifing them in the RSF file.&lt;br /&gt;
&lt;br /&gt;
Sample RSF to be used with &amp;quot;-desc&amp;quot;: [https://gist.githubusercontent.com/3DSGuy/83e12e0ae3dcccb9827f/raw/sample0.rsf download]&lt;br /&gt;
&lt;br /&gt;
Sample RSF to be used without &amp;quot;-desc&amp;quot;: [https://gist.githubusercontent.com/3DSGuy/83e12e0ae3dcccb9827f/raw/sample1.rsf download]&lt;br /&gt;
&lt;br /&gt;
=== Creating ELF files ===&lt;br /&gt;
ELF files created using the official SDK can be used with makerom. But ELF files created using [https://github.com/smealum/ctrulib ctrulib], can be used, provided they are linked with this linker script: [https://gist.github.com/yellows8/6da7984a80a825b10294 download]&lt;br /&gt;
&lt;br /&gt;
== Compiling Source ==&lt;br /&gt;
For Windows use MinGW, 64bit versions of MinGW are supported also.&lt;br /&gt;
&lt;br /&gt;
For Linux, gcc/g++/make must be installed.&lt;br /&gt;
&lt;br /&gt;
All additional libraries used by makerom, are included in the source, and are linked statically.&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
&lt;br /&gt;
* Proper ticket index generation isn&#039;t complete (CIA tickets are valid for only one content)&lt;br /&gt;
* RomFs hasn&#039;t been completely implemented (But valid pre-built romfs can be used as substitute)&lt;/div&gt;</summary>
		<author><name>GovanifY</name></author>
	</entry>
</feed>