<?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=HenkKalkwater</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=HenkKalkwater"/>
	<link rel="alternate" type="text/html" href="https://www.3dbrew.org/wiki/Special:Contributions/HenkKalkwater"/>
	<updated>2026-05-13T04:10:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Category:File_formats&amp;diff=21627</id>
		<title>Category:File formats</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Category:File_formats&amp;diff=21627"/>
		<updated>2021-11-28T21:32:28Z</updated>

		<summary type="html">&lt;p&gt;HenkKalkwater: /* RomFS Related File Formats */ Link BCMA to the BCMA page instead of the ARC one.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is a list of known file formats used by the 3DS.&lt;br /&gt;
&lt;br /&gt;
== [[NCCH]] ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.[[NCCH#CXI|CXI]] - CTR Executable image - Are either packaged into a CCI/CSU for running off a cartridge, or packaged into a CIA for installing to the SDMC or NAND.&lt;br /&gt;
&lt;br /&gt;
.[[NCCH#CFA|CFA]] - CTR File Archive - Externalized Rom-FS. This is non-executable specialisation of the NCCH container format. Generally used in conjunction with an executable specialisation of the NCCH container format (CXI).&lt;br /&gt;
&lt;br /&gt;
.[[SD Filesystem#title|APP]] - The per-console encrypted form of a NCCH file, used with installed titles, like eShop and CDN downloads.&lt;br /&gt;
&lt;br /&gt;
.CAA - A CXI which uses a raw ELF for the [[ExeFS]] .code section. Also has no plain region.&lt;br /&gt;
&lt;br /&gt;
== [[NCSD]] ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.[[NCSD|CCI]] - CTR Cart image - Burned into a ROM (or loaded by official debugging hardware). These are also the actual format of ROM dumps, and the response of read requests between a 3DS and a cartridge. This is simply a NCCH container, with a maximum of 8 NCCHs.&lt;br /&gt;
&lt;br /&gt;
.[[NCSD|CSU]] - CTR System Update - Format varies slightly with revisions.&lt;br /&gt;
&lt;br /&gt;
== Descriptor File Formats ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.BSF - Descriptive data used when outputting ICN/BNR files. The .XBSF format used by CiTRUS is based on the concept of .BSF.&lt;br /&gt;
&lt;br /&gt;
.RSF - Descriptive data used when outputting a CCI/CXI file. Specifies options such as: title, save type, and so on. &lt;br /&gt;
&lt;br /&gt;
.DESC - Descriptive data used when outputting a CCI/CXI file. Like the .RSF format, but more complex (more complex in the options which it can specify). The signed NCCH RSA-2048 key pair is taken from this file.&lt;br /&gt;
&lt;br /&gt;
== [[ExeFS]] Related File Formats ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.AXF - Pre-assembled ARM code. Before being linked into the [[ExeFS]] &#039;.code&#039; format. These are ARM specific ELF files. The Plain Region found in the CXI is also obtained from this file.&lt;br /&gt;
&lt;br /&gt;
.BNR - Simply contains a .[[CBMD]] and a .[[BCWAV]]. The .[[CBMD]] has added padding, to make sure the .[[BCWAV]] is aligned to 0x10 bytes. It contains nothing else.(The .[[CBMD]] file&#039;s header is edited to reflect its new size)&lt;br /&gt;
&lt;br /&gt;
.[[SMDH|ICN]] - Contains icons, names and flags for an application&lt;br /&gt;
&lt;br /&gt;
== [[RomFS]] Related File Formats ==&lt;br /&gt;
&lt;br /&gt;
.[[ARC]] - Archive. A container of files, all compressed with LZ-10.&lt;br /&gt;
&lt;br /&gt;
.[[BCMA]] - CTR Manual (an ARC file).&lt;br /&gt;
&lt;br /&gt;
.[[SARC]] - Simple(?) Archive. A container of uncompressed files.&lt;br /&gt;
&lt;br /&gt;
.[[BCFNT]] - CTR Font File (version 3).&lt;br /&gt;
&lt;br /&gt;
.[[BCFNT|BFFNT]] - CTR Font File (version 4).&lt;br /&gt;
&lt;br /&gt;
== [[Title Data Structure|Title Installation Related File Formats]] ==&lt;br /&gt;
&lt;br /&gt;
.[[CIA]] - CTR Importable Archive - This format allows the installation of titles to the 3DS. CIA files can contain [[NCCH]] files for installation to either the [[SD Filesystem|SDMC]] or CTR NAND. CIA files can also contain .SRL files (format for DS(i) executable images) for installation to the TWL NAND of the 3DS. Anything distributed over Download Play (including card software) is created with this format as well.&lt;br /&gt;
&lt;br /&gt;
.[[TMD]] - Title Meta Data - The format is used with installed/installable titles. Notably they are found in .[[CIA]] files (plain text), on the [[SD Filesystem#title|SD card]] (encrypted), NAND (encrypted) and on Nintendo&#039;s CDN (plain text).&lt;br /&gt;
&lt;br /&gt;
.[[Title Data Structure|CMD]] - Content Meta Data - The format is used to index installed .app files for installed titles. It is encrypted with a console unique [[AES|keyslot]].&lt;br /&gt;
&lt;br /&gt;
.[[Title Data Structure|CTX]], Content Transfer: When beginning eShop app downloads, this file is created. Later this file is written with actual data. When the download is completed, the file is deleted from SD card.  (This might then be moved to NAND.) This is encrypted with a per-console key. It contains a signed cert followed by unknown data. It is only 1.50kbyte. Here is an example.[http://dl.dropbox.com/u/37418652/00000000.ctx]&lt;br /&gt;
&lt;br /&gt;
== Audio File Formats ==&lt;br /&gt;
&lt;br /&gt;
.[[BCWAV|(B)CWAV]] - CTR waveform file format&lt;br /&gt;
&lt;br /&gt;
.[[BCSTM|(B)CSTM]] - CTR stream file format&lt;br /&gt;
&lt;br /&gt;
.[[BCSAR|(B)CSAR]]- CTR adaptation of BRSAR.&lt;br /&gt;
&lt;br /&gt;
== Graphics File Formats ==&lt;br /&gt;
&lt;br /&gt;
.[[CBMD]] - CTR Basic Model Data - Archive file before being made into a CTR banner for games or other applications.&lt;br /&gt;
&lt;br /&gt;
.[[CTPK]] - CTR Texture PacKage&lt;br /&gt;
&lt;br /&gt;
.CMDL - CTR MoDeL data&lt;br /&gt;
&lt;br /&gt;
.CTEX - CTR TEXture data&lt;br /&gt;
&lt;br /&gt;
.CCAD - CTR Celluloid Animation Data&lt;br /&gt;
&lt;br /&gt;
.CSKA / .CSKLA - CTR SKeLetal Animation data&lt;br /&gt;
&lt;br /&gt;
.CMATA - CTR MATerial Animation data&lt;br /&gt;
&lt;br /&gt;
.CMDLA - CTR MoDeL Animation data&lt;br /&gt;
&lt;br /&gt;
.CLGT - CTR LiGhT data&lt;br /&gt;
&lt;br /&gt;
.CPTL - CTR ParTicLe data&lt;br /&gt;
&lt;br /&gt;
.CLTS - CTR LookupableSetdata&lt;br /&gt;
&lt;br /&gt;
.CENV - CTR ENVironment data&lt;br /&gt;
&lt;br /&gt;
.CCAM - CTR CAMera data&lt;br /&gt;
&lt;br /&gt;
.CMAT - CTR MATerial&lt;br /&gt;
&lt;br /&gt;
== Other File Formats ==&lt;br /&gt;
&lt;br /&gt;
.NSA - Archive used by several of the communication protocols in the 3DS.&lt;br /&gt;
&lt;br /&gt;
.[[CRO0|CRO]] - This is a CTR &amp;quot;DLL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
.[[CRO0|CRS]] - This is a special CRO format file which contains symbols for .code (the &amp;quot;static module&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
.[[CRR0|CRR]] - This contains data for verifying CRO files.&lt;br /&gt;
&lt;br /&gt;
.[[MPO]] - Multi-Picture Object Format - Document describing the file format used in mpo files: http://www.cipa.jp/english/hyoujunka/kikaku/pdf/DC-007_E.pdf&lt;br /&gt;
&lt;br /&gt;
.CGRP - CTR GRouP - Used to package several formats like (CWAR, CWAV, CWSD, CBNK, CSEQ, etc...) sort of like the Wii&#039;s MRG format. (They aren&#039;t the same structures but both package together several formats.)&lt;br /&gt;
&lt;br /&gt;
== Filesystem ==&lt;br /&gt;
&lt;br /&gt;
The 3DS filesystem requires absolute paths. It can handle either short (8.3) and long (255 char maximum) file names.&lt;/div&gt;</summary>
		<author><name>HenkKalkwater</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=BCMA&amp;diff=21626</id>
		<title>BCMA</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=BCMA&amp;diff=21626"/>
		<updated>2021-11-28T21:22:11Z</updated>

		<summary type="html">&lt;p&gt;HenkKalkwater: Fixed small formatting mistake&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BCMA is the file format used for the electronic manuals on the Nintendo 3DS. It presumably stands for &#039;&#039;&#039;B&#039;&#039;&#039;inary &#039;&#039;&#039;C&#039;&#039;&#039;TR &#039;&#039;&#039;Ma&#039;&#039;&#039;nual.&lt;br /&gt;
&lt;br /&gt;
== Region and language codes ==&lt;br /&gt;
In several places, three letter uppercase region codes and two letter lowercase language codes are used. These will be indicated by the italic placeholders &#039;&#039;REG&#039;&#039; and &#039;&#039;la&#039;&#039; respectively on this page.&lt;br /&gt;
&lt;br /&gt;
The following region and language codes are known:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Region code&lt;br /&gt;
! Region&lt;br /&gt;
! Language code&lt;br /&gt;
! Language&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;8&amp;quot;| EUR&lt;br /&gt;
|rowspan=&amp;quot;8&amp;quot;| Europe&lt;br /&gt;
| de&lt;br /&gt;
| German&lt;br /&gt;
|-&lt;br /&gt;
| en&lt;br /&gt;
| British English&lt;br /&gt;
|-&lt;br /&gt;
| fr&lt;br /&gt;
| French&lt;br /&gt;
|-&lt;br /&gt;
| es&lt;br /&gt;
| Spanish&lt;br /&gt;
|-&lt;br /&gt;
| it&lt;br /&gt;
| Italic&lt;br /&gt;
|-&lt;br /&gt;
| nl&lt;br /&gt;
| Dutch&lt;br /&gt;
|-&lt;br /&gt;
| pt&lt;br /&gt;
| Portuguese&lt;br /&gt;
|-&lt;br /&gt;
| ru&lt;br /&gt;
| Russian&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
| JPN&lt;br /&gt;
| Japan&lt;br /&gt;
| ja&lt;br /&gt;
| Japanese&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Top-level archive overview ==&lt;br /&gt;
A BCMA file is a regular, uncompressed [[DARC]] archive which contains a set of LZ10-compressed DARC archives. These subarchives contoin files containing either textures in the [[BCLIM format]] or metadata and manual pages in the binary [[CLYT format]].&lt;br /&gt;
&lt;br /&gt;
At least the following archives should be found in the top level archive:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Archive path &lt;br /&gt;
! Comment&lt;br /&gt;
|-&lt;br /&gt;
| [[#BcmaInfo.arc|./BcmaInfo.arc]]&lt;br /&gt;
| Archive containing metadata about this manual, such as available languages and version information.&lt;br /&gt;
|-&lt;br /&gt;
| [[#REG_la_index.arc|./&#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;_index.arc]] &lt;br /&gt;
| Archive containing the table of contents for a specific locale.&lt;br /&gt;
|-&lt;br /&gt;
| [[#REG_la_size.arc|./&#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;_large.arc]]&lt;br /&gt;
| Archive containing the pages of the manual in a large font size.&lt;br /&gt;
|-&lt;br /&gt;
| [[#REG_la_size.arc|./&#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;_small.arc]]&lt;br /&gt;
| Archive containing the pages of the manual in a small font size.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Other archives not named here may be present as well. Usually, these contain locale specific images.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BcmaInfo.arc ==&lt;br /&gt;
This archive has a single BCLYT file located in &#039;&#039;./blyt/BcmaInfo.bclyt&#039;&#039;. This file contains the following panes, all direct children of the RootPane:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Pane name&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Pane type&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;| User data&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Other info&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! Key&lt;br /&gt;
! Type&lt;br /&gt;
! Value description&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| LangInfo&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| pan1&lt;br /&gt;
| LangNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The number of languages following this property&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|This pane lists all languages in this manual.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Lang_&#039;&#039;xxx&#039;&#039;&lt;br /&gt;
| String&lt;br /&gt;
| &#039;&#039;xxx&#039;&#039; is a number from 000 until the value of &#039;&#039;LangNum&#039;&#039;. This value is a language-region pair in the form of &#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| RegionInfo&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| pan1&lt;br /&gt;
| RegionNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The number of regions following this property&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Region_&#039;&#039;xxx&#039;&#039;&lt;br /&gt;
| String&lt;br /&gt;
| &#039;&#039;xxx&#039;&#039; is a number from 000 until the value of &#039;&#039;RegionNum&#039;&#039;. This value is a region name in the form of &#039;&#039;REG&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &#039;&#039;REG&#039;&#039;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| pan1&lt;br /&gt;
| LangNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The number of languages following this property&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| This pane lists all languages in the region indicated by the name of this pane. There is one pane for every region listed in the &#039;&#039;RegInfo&#039;&#039; pane.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Lang_&#039;&#039;xxx&#039;&#039;&lt;br /&gt;
| String&lt;br /&gt;
| &#039;&#039;xxx&#039;&#039; is a number from 000 until the value of &#039;&#039;LangNum&#039;&#039;. This value is a language-region pair in the form of &#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| txt1&lt;br /&gt;
| TexResNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The number of texture resources following this property&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| This pane lists all additional archives with locale-dependent textures that should be loaded. The text string of this text pane is set to the localized name of the language. There is an instance of this pane for every language listed in the &#039;&#039;LangInfo&#039;&#039; pane.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| TexRes_&#039;&#039;xxxx&#039;&#039;&lt;br /&gt;
| String&lt;br /&gt;
| &#039;&#039;xxxx&#039;&#039; is a number from 0000 until the value of &#039;&#039;TexResNum&#039;&#039;. This value is a file name referring to an archive in the top-level BCMA file, for example &#039;&#039;Common_texture.arc&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| VersionInfo&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| pan1&lt;br /&gt;
| CurrentVersion&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The version of the file format. Only the value 2 has been found so far.&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Description&lt;br /&gt;
| String&lt;br /&gt;
| Contains a human-readable description about the export settings and software. For example, the Kid Icarus manual contains &amp;quot;Multi Region (Old Style Langinfo Include). (ManualEditor 0.33.0.0)&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All other properties of the panes seem to be set to a default value and do not seem to matter.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;_index.arc ==&lt;br /&gt;
This archive contains the table of contents for a certain language. This archive contains exactly one file, &#039;&#039;./blyt/Index.bclyt&#039;&#039;, which contains the following panes, all children of the RootPane:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Pane name&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Pane type&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;| User data&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Other info&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! Key&lt;br /&gt;
! Type&lt;br /&gt;
! Value description&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;| MetaData&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;| pan1&lt;br /&gt;
| PageNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The amount of pages in this manual&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| CategoryNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The amount of categories in this manual.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| SplitNumL&lt;br /&gt;
| Int[&#039;&#039;PageNum&#039;&#039;]&lt;br /&gt;
| Each integer in this array maps to the amount of parts each page in the manual with the large font size has been split.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| SplitNumS&lt;br /&gt;
| Int[&#039;&#039;PageNum&#039;&#039;]&lt;br /&gt;
| Each integer in this array maps to the amount of parts each page in the manual with the small font size has been split.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| PageTitle_&#039;&#039;xxx&#039;&#039;&lt;br /&gt;
| txt1&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;| &#039;&#039;None&#039;&#039;&lt;br /&gt;
| The text of this textbox contains the page title of the page at index &#039;&#039;xxx&#039;&#039;, where &#039;&#039;xxx&#039;&#039; ranges from 000 until &#039;&#039;PageNum&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Category_&#039;&#039;xxx&#039;&#039;&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| txt1&lt;br /&gt;
| IsValid&lt;br /&gt;
| Int[1]&lt;br /&gt;
| Either 0 or 1, whether this category is valid. This seems to be always 0 for the first category, usually named &#039;&#039;__CATEGORY_INVALID__&#039;&#039;. Other sections have this set to 1.&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| This pane describes each category. The text of the textbox is the localized name of the category shown to the user.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CategoryPageNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The amount of pages in this category&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PageID_&#039;&#039;xxx&#039;&#039;&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The &#039;&#039;xxx&#039;&#039; ranges from 000 until &#039;&#039;CategoryPageNum&#039;&#039;. The value refers to the same page number used in &#039;&#039;PageTitle_xxx&#039;&#039;, which should be part of this category.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;_&#039;&#039;size&#039;&#039;.arc ==&lt;br /&gt;
These archives actually contain the contents of a page in the manual. It contains the following files:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! File name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| ./blyt/Page_&#039;&#039;xxx&#039;&#039;_&#039;&#039;size&#039;&#039;_&#039;&#039;y&#039;&#039;.bclyt&lt;br /&gt;
| Contains the text and foreground images of page number &#039;&#039;xxx&#039;&#039;, part &#039;&#039;y&#039;&#039; and size &#039;&#039;size&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| ./blyt/Page_&#039;&#039;xxx&#039;&#039;_&#039;&#039;size&#039;&#039;_bg.bclyt&lt;br /&gt;
| Contains all background images on the page.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| ./blyt/Page_&#039;&#039;xxx&#039;&#039;_&#039;&#039;size&#039;&#039;_info.bclyt&lt;br /&gt;
| Could perhaps contain metadata from the manual editor?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the filenames, &#039;&#039;xxx&#039;&#039; should be replaced by the page number, starting from 000. &#039;&#039;size&#039;&#039; should be replaced by either &amp;quot;large&amp;quot; or &amp;quot;small&amp;quot;. Finally, &#039;&#039;y&#039;&#039; should be replaced by the page part, starting from 0.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:File formats]]&lt;/div&gt;</summary>
		<author><name>HenkKalkwater</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=BCMA&amp;diff=21625</id>
		<title>BCMA</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=BCMA&amp;diff=21625"/>
		<updated>2021-11-28T21:19:48Z</updated>

		<summary type="html">&lt;p&gt;HenkKalkwater: Replaced the redirect with actual information regarding the manual files, obtained from own research.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BCMA is the file format used for the electronic manuals on the Nintendo 3DS. It presumably stands for &#039;&#039;&#039;B&#039;&#039;&#039;inary &#039;&#039;&#039;CTR&#039;&#039;&#039; &#039;&#039;&#039;Ma&#039;&#039;&#039;nual.&lt;br /&gt;
&lt;br /&gt;
== Region and language codes ==&lt;br /&gt;
In several places, three letter uppercase region codes and two letter lowercase language codes are used. These will be indicated by the italic placeholders &#039;&#039;REG&#039;&#039; and &#039;&#039;la&#039;&#039; respectively on this page.&lt;br /&gt;
&lt;br /&gt;
The following region and language codes are known:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Region code&lt;br /&gt;
! Region&lt;br /&gt;
! Language code&lt;br /&gt;
! Language&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;8&amp;quot;| EUR&lt;br /&gt;
|rowspan=&amp;quot;8&amp;quot;| Europe&lt;br /&gt;
| de&lt;br /&gt;
| German&lt;br /&gt;
|-&lt;br /&gt;
| en&lt;br /&gt;
| British English&lt;br /&gt;
|-&lt;br /&gt;
| fr&lt;br /&gt;
| French&lt;br /&gt;
|-&lt;br /&gt;
| es&lt;br /&gt;
| Spanish&lt;br /&gt;
|-&lt;br /&gt;
| it&lt;br /&gt;
| Italic&lt;br /&gt;
|-&lt;br /&gt;
| nl&lt;br /&gt;
| Dutch&lt;br /&gt;
|-&lt;br /&gt;
| pt&lt;br /&gt;
| Portuguese&lt;br /&gt;
|-&lt;br /&gt;
| ru&lt;br /&gt;
| Russian&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
| JPN&lt;br /&gt;
| Japan&lt;br /&gt;
| ja&lt;br /&gt;
| Japanese&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Top-level archive overview ==&lt;br /&gt;
A BCMA file is a regular, uncompressed [[DARC]] archive which contains a set of LZ10-compressed DARC archives. These subarchives contoin files containing either textures in the [[BCLIM format]] or metadata and manual pages in the binary [[CLYT format]].&lt;br /&gt;
&lt;br /&gt;
At least the following archives should be found in the top level archive:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Archive path &lt;br /&gt;
! Comment&lt;br /&gt;
|-&lt;br /&gt;
| [[#BcmaInfo.arc|./BcmaInfo.arc]]&lt;br /&gt;
| Archive containing metadata about this manual, such as available languages and version information.&lt;br /&gt;
|-&lt;br /&gt;
| [[#REG_la_index.arc|./&#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;_index.arc]] &lt;br /&gt;
| Archive containing the table of contents for a specific locale.&lt;br /&gt;
|-&lt;br /&gt;
| [[#REG_la_size.arc|./&#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;_large.arc]]&lt;br /&gt;
| Archive containing the pages of the manual in a large font size.&lt;br /&gt;
|-&lt;br /&gt;
| [[#REG_la_size.arc|./&#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;_small.arc]]&lt;br /&gt;
| Archive containing the pages of the manual in a small font size.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Other archives not named here may be present as well. Usually, these contain locale specific images.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BcmaInfo.arc ==&lt;br /&gt;
This archive has a single BCLYT file located in &#039;&#039;./blyt/BcmaInfo.bclyt&#039;&#039;. This file contains the following panes, all direct children of the RootPane:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Pane name&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Pane type&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;| User data&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Other info&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! Key&lt;br /&gt;
! Type&lt;br /&gt;
! Value description&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| LangInfo&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| pan1&lt;br /&gt;
| LangNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The number of languages following this property&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|This pane lists all languages in this manual.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Lang_&#039;&#039;xxx&#039;&#039;&lt;br /&gt;
| String&lt;br /&gt;
| &#039;&#039;xxx&#039;&#039; is a number from 000 until the value of &#039;&#039;LangNum&#039;&#039;. This value is a language-region pair in the form of &#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| RegionInfo&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| pan1&lt;br /&gt;
| RegionNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The number of regions following this property&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Region_&#039;&#039;xxx&#039;&#039;&lt;br /&gt;
| String&lt;br /&gt;
| &#039;&#039;xxx&#039;&#039; is a number from 000 until the value of &#039;&#039;RegionNum&#039;&#039;. This value is a region name in the form of &#039;&#039;REG&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &#039;&#039;REG&#039;&#039;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| pan1&lt;br /&gt;
| LangNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The number of languages following this property&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| This pane lists all languages in the region indicated by the name of this pane. There is one pane for every region listed in the &#039;&#039;RegInfo&#039;&#039; pane.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Lang_&#039;&#039;xxx&#039;&#039;&lt;br /&gt;
| String&lt;br /&gt;
| &#039;&#039;xxx&#039;&#039; is a number from 000 until the value of &#039;&#039;LangNum&#039;&#039;. This value is a language-region pair in the form of &#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| txt1&lt;br /&gt;
| TexResNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The number of texture resources following this property&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| This pane lists all additional archives with locale-dependent textures that should be loaded. The text string of this text pane is set to the localized name of the language. There is an instance of this pane for every language listed in the &#039;&#039;LangInfo&#039;&#039; pane.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| TexRes_&#039;&#039;xxxx&#039;&#039;&lt;br /&gt;
| String&lt;br /&gt;
| &#039;&#039;xxxx&#039;&#039; is a number from 0000 until the value of &#039;&#039;TexResNum&#039;&#039;. This value is a file name referring to an archive in the top-level BCMA file, for example &#039;&#039;Common_texture.arc&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| VersionInfo&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| pan1&lt;br /&gt;
| CurrentVersion&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The version of the file format. Only the value 2 has been found so far.&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Description&lt;br /&gt;
| String&lt;br /&gt;
| Contains a human-readable description about the export settings and software. For example, the Kid Icarus manual contains &amp;quot;Multi Region (Old Style Langinfo Include). (ManualEditor 0.33.0.0)&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All other properties of the panes seem to be set to a default value and do not seem to matter.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;_index.arc ==&lt;br /&gt;
This archive contains the table of contents for a certain language. This archive contains exactly one file, &#039;&#039;./blyt/Index.bclyt&#039;&#039;, which contains the following panes, all children of the RootPane:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Pane name&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Pane type&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;| User data&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Other info&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! Key&lt;br /&gt;
! Type&lt;br /&gt;
! Value description&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;| MetaData&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;| pan1&lt;br /&gt;
| PageNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The amount of pages in this manual&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| CategoryNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The amount of categories in this manual.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| SplitNumL&lt;br /&gt;
| Int[&#039;&#039;PageNum&#039;&#039;]&lt;br /&gt;
| Each integer in this array maps to the amount of parts each page in the manual with the large font size has been split.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| SplitNumS&lt;br /&gt;
| Int[&#039;&#039;PageNum&#039;&#039;]&lt;br /&gt;
| Each integer in this array maps to the amount of parts each page in the manual with the small font size has been split.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| PageTitle_&#039;&#039;xxx&#039;&#039;&lt;br /&gt;
| txt1&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;| &#039;&#039;None&#039;&#039;&lt;br /&gt;
| The text of this textbox contains the page title of the page at index &#039;&#039;xxx&#039;&#039;, where &#039;&#039;xxx&#039;&#039; ranges from 000 until &#039;&#039;PageNum&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Category_&#039;&#039;xxx&#039;&#039;&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| txt1&lt;br /&gt;
| IsValid&lt;br /&gt;
| Int[1]&lt;br /&gt;
| Either 0 or 1, whether this category is valid. This seems to be always 0 for the first category, usually named &#039;&#039;__CATEGORY_INVALID__&#039;&#039;. Other sections have this set to 1.&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| This pane describes each category. The text of the textbox is the localized name of the category shown to the user.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CategoryPageNum&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The amount of pages in this category&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PageID_&#039;&#039;xxx&#039;&#039;&lt;br /&gt;
| Int[1]&lt;br /&gt;
| The &#039;&#039;xxx&#039;&#039; ranges from 000 until &#039;&#039;CategoryPageNum&#039;&#039;. The value refers to the same page number used in &#039;&#039;PageTitle_xxx&#039;&#039;, which should be part of this category.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;REG&#039;&#039;_&#039;&#039;la&#039;&#039;_&#039;&#039;size&#039;&#039;.arc ==&lt;br /&gt;
These archives actually contain the contents of a page in the manual. It contains the following files:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! File name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| ./blyt/Page_&#039;&#039;xxx&#039;&#039;_&#039;&#039;size&#039;&#039;_&#039;&#039;y&#039;&#039;.bclyt&lt;br /&gt;
| Contains the text and foreground images of page number &#039;&#039;xxx&#039;&#039;, part &#039;&#039;y&#039;&#039; and size &#039;&#039;size&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| ./blyt/Page_&#039;&#039;xxx&#039;&#039;_&#039;&#039;size&#039;&#039;_bg.bclyt&lt;br /&gt;
| Contains all background images on the page.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| ./blyt/Page_&#039;&#039;xxx&#039;&#039;_&#039;&#039;size&#039;&#039;_info.bclyt&lt;br /&gt;
| Could perhaps contain metadata from the manual editor?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the filenames, &#039;&#039;xxx&#039;&#039; should be replaced by the page number, starting from 000. &#039;&#039;size&#039;&#039; should be replaced by either &amp;quot;large&amp;quot; or &amp;quot;small&amp;quot;. Finally, &#039;&#039;y&#039;&#039; should be replaced by the page part, starting from 0.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:File formats]]&lt;/div&gt;</summary>
		<author><name>HenkKalkwater</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=21194</id>
		<title>CLYT format</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=21194"/>
		<updated>2020-04-29T17:54:04Z</updated>

		<summary type="html">&lt;p&gt;HenkKalkwater: Section added about USD1 panes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;CLYT&#039;&#039;&#039; (.bclyt) is the layout format used on the 3DS. It stands for (&#039;&#039;&#039;B&#039;&#039;&#039;inary) &#039;&#039;&#039;C&#039;&#039;&#039;TR &#039;&#039;&#039;L&#039;&#039;&#039;a&#039;&#039;&#039;y&#039;&#039;&#039;ou&#039;&#039;&#039;t&#039;&#039;&#039;, and is similar to the RLYT format used on the Wii.&lt;br /&gt;
== Header ==&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (CLYT)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x2||UInt16||Byte Order Mark&lt;br /&gt;
|-&lt;br /&gt;
|0x06||0x2||UInt16||Header Length&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Revision&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x4||UInt32||File Size&lt;br /&gt;
|-&lt;br /&gt;
|0x10||0x4||UInt32||Nr Sections&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== lyt1 (Layout 1) ==&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (lyt1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Origin type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||Classic&lt;br /&gt;
|-&lt;br /&gt;
|1||Normal&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Canvas Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txl1 (Texture List 1) ==&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (txl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Textures = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Texture Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== fnl1 (Font List 1) ==&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (fnl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Fonts = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Font Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== mat1 (Materials 1) ==&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (mat1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Materials = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Material Entry Offsets (relative to the start of this section)&lt;br /&gt;
|}&lt;br /&gt;
After this, the material entries follow.&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x14||String||Material Name&lt;br /&gt;
|-&lt;br /&gt;
|0x14||0x4||RGBA8||Tev Color (Buffer Color?)&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x18||RGBA8[6]||Tev Constant Colors&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0x4||UInt32||Flags / bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag / data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Nr texMap&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Nr texMatrix&lt;br /&gt;
|-&lt;br /&gt;
|4-5||Nr texCoordGen&lt;br /&gt;
|-&lt;br /&gt;
|6-8||Nr tevStage&lt;br /&gt;
|-&lt;br /&gt;
|9||Has alphaCompare&lt;br /&gt;
|-&lt;br /&gt;
|10||Has blendMode&lt;br /&gt;
|-&lt;br /&gt;
|11||Use Texture Only&lt;br /&gt;
|-&lt;br /&gt;
|12||Separate Blend Mode&lt;br /&gt;
|-&lt;br /&gt;
|14||Has Indirect Parameter&lt;br /&gt;
|-&lt;br /&gt;
|15-16||Nr projectionTexGenParameter&lt;br /&gt;
|-&lt;br /&gt;
|17||Has Font Shadow Parameter&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
=== Texture Map Entry ===&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x2||UInt16||Texture Index&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap S (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Min Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap T (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Mag Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture Matrix Entry ===&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x8||Vector2||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||Single||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Scale&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
TODO: texCoordGen, tevStage, alphaCompare, blendMode, etc...&lt;br /&gt;
&lt;br /&gt;
== pan1 (Pane 1) ==&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pan1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x1||UInt8||Flags&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag&lt;br /&gt;
|-&lt;br /&gt;
|0||Visible&lt;br /&gt;
|-&lt;br /&gt;
|1||InfluencedAlpha&lt;br /&gt;
|-&lt;br /&gt;
|2||LocationAdjust&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x09||0x1||UInt8||Origin&lt;br /&gt;
|-&lt;br /&gt;
|0x0A||0x1||UInt8||Alpha&lt;br /&gt;
|-&lt;br /&gt;
|0x0B||0x1||UInt8||Pane magnification flags&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag&lt;br /&gt;
|-&lt;br /&gt;
|0||IgnorePartsMagnify&lt;br /&gt;
|-&lt;br /&gt;
|1||AdjustToPartsBounds&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x18||String||Pane name&lt;br /&gt;
|-&lt;br /&gt;
|0x24||0xC||Vector3||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0xC||Vector3||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x3C||0x8||Vector2||Scale&lt;br /&gt;
|-&lt;br /&gt;
|0x44||0x8||Vector2||Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== pic1 (Picture 1) ==&lt;br /&gt;
&#039;&#039;&#039;pic1&#039;&#039;&#039; represents a picture that can be displayed in a layout. The previous 0x4C bytes are all defined by &#039;&#039;&#039;pan1&#039;&#039;&#039;.&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x4||RGBA8||Top left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||RGBA8||Top right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x4||RGBA8||Bottom left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||RGBA8||Bottom right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x2||UInt16||Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x5E||0x2||UInt16||Nr texture coordinates = N&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Texture coordinates entry&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Top left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Top right vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Bottom left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Bottom right vertex texture coordinate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txt1 (Text 1) ==&lt;br /&gt;
== wnd1 (Window 1) ==&lt;br /&gt;
&lt;br /&gt;
== bnd1 (Bounding 1) ==&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (bnd1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x2||UInt16?||?&lt;br /&gt;
|-&lt;br /&gt;
|0x0A||0x2||UInt16?||?&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||? (0x10 up to 0x30)||String||Bounding name&lt;br /&gt;
|-&lt;br /&gt;
|0x3C||0x8||Vector2||?&lt;br /&gt;
|-&lt;br /&gt;
|0x44||0x4||Vector2||?&lt;br /&gt;
|-&lt;br /&gt;
|⋮||⋮||⋮||⋮&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== pts1 (Parts 1) ==&lt;br /&gt;
== pas1 (Pane Start 1) ==&lt;br /&gt;
Starts a pane.&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pas1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== pae1 (Pane End 1) ==&lt;br /&gt;
Ends a pane.&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pae1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== grp1 (Group 1) ==&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grp1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x10||String||Group Name&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x4||UInt32||Nr Pane References (=N)&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||0x10 * N||String[N]||Pane References&lt;br /&gt;
|}&lt;br /&gt;
== grs1 (Group Start 1) ==&lt;br /&gt;
Starts a group.&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grs1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== gre1 (Group End 1) ==&lt;br /&gt;
Ends a group.&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;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (gre1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== usd1 (User Data 1) ==&lt;br /&gt;
Contains a map with strings as keys and variable values&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;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 0x4 || String || Signature (usd1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || 0x4 || UInt32 || Section Size &lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || 0x4 || UInt32 || Number of entries (= N)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12 || 0x12 * N || Entries[] || Entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x12 + 0x12 * N || ? || Variable || Values referred to by the entries&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where an entry is as follows:&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;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0 || 0x4 || UInt32 || Key: offset (from start of this entry) to null-terminated ascii string&lt;br /&gt;
|-&lt;br /&gt;
| 0x4 || 0x4 || UInt32 || Value: offset (from start of this entry) to a value (type decided by last field)&lt;br /&gt;
|-&lt;br /&gt;
| 0x8 || 0x4 || UInt16 || Amount or, if a string, the length of the value(s) &lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || 0x2 || UInt16 || Value type&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where the value type can be one of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| String || 0x0&lt;br /&gt;
|-&lt;br /&gt;
| Int || 0x1&lt;br /&gt;
|}&lt;br /&gt;
Note: this table likely is incomplete.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
* Every File Explorer has limited support for viewing these&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
http://florian.nouwt.com/wiki/index.php/CLYT_%28File_Format%29&lt;br /&gt;
https://github.com/Gericom/EveryFileExplorer/tree/master/3DS/NintendoWare/LYT1&lt;br /&gt;
&lt;br /&gt;
[[Category:File formats]]&lt;/div&gt;</summary>
		<author><name>HenkKalkwater</name></author>
	</entry>
</feed>