<?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=ElementW</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=ElementW"/>
	<link rel="alternate" type="text/html" href="https://www.3dbrew.org/wiki/Special:Contributions/ElementW"/>
	<updated>2026-05-12T21:17:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=MP:RecvDataFrame&amp;diff=23715</id>
		<title>MP:RecvDataFrame</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=MP:RecvDataFrame&amp;diff=23715"/>
		<updated>2025-12-29T17:00:04Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Use Template:IPC/RequestHeader&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Request=&lt;br /&gt;
{{IPC/Request}}&lt;br /&gt;
{{IPC/RequestHeader|0x0011|2|0}}&lt;br /&gt;
{{IPC/RequestEntry|Size}}&lt;br /&gt;
{{IPC/RequestEntry|u32 nodeID}}&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
&lt;br /&gt;
{{IPC/RequestStaticBuffers}}&lt;br /&gt;
{{#vardefine:ipc_offset|0}}&lt;br /&gt;
{{IPC/TranslateStaticBuffer|Output buffer address|0}}&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
&lt;br /&gt;
=Response=&lt;br /&gt;
{{IPC/Request}}&lt;br /&gt;
{{#vardefine:ipc_offset|0}}&lt;br /&gt;
{{IPC/RequestEntry|Header code}}&lt;br /&gt;
{{IPC/RequestEntry|Result code}}&lt;br /&gt;
{{IPC/TranslateStaticBuffer|Output data pointer|0}}&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
This loads a data frame from a ring-buffer in memory for the specified nodeID, the actual size it uses is fixed to 0x2BC-bytes.&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=FSDir:Read&amp;diff=23317</id>
		<title>FSDir:Read</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=FSDir:Read&amp;diff=23317"/>
		<updated>2025-03-01T16:37:36Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Convert to IPC templates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Request=&lt;br /&gt;
{{IPC/Request}}&lt;br /&gt;
{{IPC/RequestHeader|0x0801|1|2}}&lt;br /&gt;
{{IPC/RequestEntry|[[Filesystem_services#DirectoryEntry|Entry]] Count}}&lt;br /&gt;
{{IPC/MapPointerW|[[Filesystem_services#DirectoryEntry|Entry]] Output Pointer|(Entry Count × 0x228)}}&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
&lt;br /&gt;
=Response=&lt;br /&gt;
{{IPC/Request}}&lt;br /&gt;
{{#vardefine:ipc_offset|0}}&lt;br /&gt;
{{IPC/RequestHeader|0x0801|2|0}}&lt;br /&gt;
{{IPC/RequestEntry|Result code}}&lt;br /&gt;
{{IPC/RequestEntry|Actual Entry Count}}&lt;br /&gt;
{{IPC/RequestEnd}}&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:IPC/MapPointerRW&amp;diff=23316</id>
		<title>Template:IPC/MapPointerRW</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:IPC/MapPointerRW&amp;diff=23316"/>
		<updated>2025-03-01T16:36:46Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Add ability to set expected buffer size with 2nd template param&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/Request|ipc_offset_prefix=n&amp;amp;nbsp;+&amp;amp;nbsp;}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{IPC/RequestEntry|&#039;&#039;{{Tooltip|Descriptor|0x0000000e {{!}} (size &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;&amp;lt;/nowiki&amp;gt; 4)}} for mapping a {{#if:{{{2|}}}|{{{2}}} byte&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|}}[[IPC#Buffer_Mapping_Translation|read/write buffer]] in the target process&#039;&#039;|descstyle=border-bottom-style:dashed}}&lt;br /&gt;
{{IPC/RequestEntry|{{{1}}}|descstyle=border-top-style:none}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:IPC message contents templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:IPC/MapPointerR&amp;diff=23315</id>
		<title>Template:IPC/MapPointerR</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:IPC/MapPointerR&amp;diff=23315"/>
		<updated>2025-03-01T16:36:15Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Add ability to set expected buffer size with 2nd template param&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/Request|ipc_offset_prefix=n&amp;amp;nbsp;+&amp;amp;nbsp;}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{IPC/RequestEntry|&#039;&#039;{{Tooltip|Descriptor|0x0000000a {{!}} (size &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;&amp;lt;/nowiki&amp;gt; 4)}} for mapping a {{#if:{{{2|}}}|{{{2}}} byte&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|}}[[IPC#Buffer_Mapping_Translation|read-only buffer]] in the target process&#039;&#039;|descstyle=border-bottom-style:dashed}}&lt;br /&gt;
{{IPC/RequestEntry|{{{1}}}|descstyle=border-top-style:none}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
[[Category:IPC message contents templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:IPC/MapPointerW&amp;diff=23314</id>
		<title>Template:IPC/MapPointerW</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:IPC/MapPointerW&amp;diff=23314"/>
		<updated>2025-03-01T16:35:52Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Add ability to set expected buffer size with 2nd template param&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/Request|ipc_offset_prefix=n&amp;amp;nbsp;+&amp;amp;nbsp;}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{IPC/RequestEntry|&#039;&#039;{{Tooltip|Descriptor|0x0000000c {{!}} (size &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;&amp;lt;/nowiki&amp;gt; 4)}} for mapping a {{#if:{{{2|}}}|{{{2}}} byte&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|}}[[IPC#Buffer_Mapping_Translation|write-only buffer]] in the target process&#039;&#039;|descstyle=border-bottom-style:dashed}}&lt;br /&gt;
{{IPC/RequestEntry|{{{1}}}|descstyle=border-top-style:none}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:IPC message contents templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:IPC/MapPointerW/sandbox&amp;diff=23313</id>
		<title>Template:IPC/MapPointerW/sandbox</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:IPC/MapPointerW/sandbox&amp;diff=23313"/>
		<updated>2025-03-01T16:30:31Z</updated>

		<summary type="html">&lt;p&gt;ElementW: spacing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/Request|ipc_offset_prefix=n&amp;amp;nbsp;+&amp;amp;nbsp;}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{IPC/RequestEntry|&#039;&#039;{{Tooltip|Descriptor|0x0000000c {{!}} (size &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;&amp;lt;/nowiki&amp;gt; 4)}} for mapping a {{#if:{{{2|}}}|{{{2}}} byte&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|}}[[IPC#Buffer_Mapping_Translation|write-only buffer]] in the target process&#039;&#039;|descstyle=border-bottom-style:dashed}}&lt;br /&gt;
{{IPC/RequestEntry|{{{1}}}|descstyle=border-top-style:none}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
[[Category:IPC message contents templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:IPC/MapPointerW/sandbox&amp;diff=23312</id>
		<title>Template:IPC/MapPointerW/sandbox</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:IPC/MapPointerW/sandbox&amp;diff=23312"/>
		<updated>2025-03-01T16:25:05Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Byte count specifier testing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/Request|ipc_offset_prefix=n&amp;amp;nbsp;+&amp;amp;nbsp;}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{IPC/RequestEntry|&#039;&#039;{{Tooltip|Descriptor|0x0000000c {{!}} (size &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;&amp;lt;/nowiki&amp;gt; 4)}} for mapping a {{#if:{{{2|}}}|{{{2}}} byte |}}[[IPC#Buffer_Mapping_Translation|write-only buffer]] in the target process&#039;&#039;|descstyle=border-bottom-style:dashed}}&lt;br /&gt;
{{IPC/RequestEntry|{{{1}}}|descstyle=border-top-style:none}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
[[Category:IPC message contents templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:IPC/CopyHandle&amp;diff=23309</id>
		<title>Template:IPC/CopyHandle</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:IPC/CopyHandle&amp;diff=23309"/>
		<updated>2025-02-09T14:37:48Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Dashed bottom border style for use with Template:IPC/CopyHandleEntry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/Request|ipc_offset_prefix=n&amp;amp;nbsp;+&amp;amp;nbsp;}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{IPC/RequestEntry|&#039;&#039;{{Tooltip|Descriptor| &amp;lt;nowiki&amp;gt;0x00000000 | ((&amp;lt;/nowiki&amp;gt;{{{1|num_handles}}}&amp;lt;nowiki&amp;gt;-1)&amp;lt;&amp;lt;26)&amp;lt;/nowiki&amp;gt; }} for copying {{{1|num_handles}}} handle{{#ifexpr:{{{1|0}}}=1||s}}&#039;&#039;|descstyle=border-bottom-style:dashed}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
[[Category:IPC message contents templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:Documentation&amp;diff=22764</id>
		<title>Template:Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:Documentation&amp;diff=22764"/>
		<updated>2024-09-22T16:47:57Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Remove SVG image since wiki is broken with them&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;template-documentation&amp;quot;&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
These are the literal class definitions in common.css:&lt;br /&gt;
 &lt;br /&gt;
/* For template documentation */&lt;br /&gt;
.template-documentation {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 1em 0 0 0;&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    background-color: #ecfcf4; &lt;br /&gt;
    padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 --&amp;gt;{{#ifeq:{{{heading|μ}}}|&amp;lt;!--**DEFINED BUT EMPTY**--&amp;gt;&lt;br /&gt;
  |&amp;lt;!--**NOTHING**--&amp;gt;&lt;br /&gt;
  |&amp;lt;div style=&amp;quot;padding-bottom:3px; border-bottom: 1px solid #aaa; margin-bottom:1ex&amp;quot;&amp;gt;{{#ifeq:{{{content|μ}}}|μ&lt;br /&gt;
   |&amp;lt;span class=&amp;quot;editsection plainlinks&amp;quot; id=&amp;quot;doc_editlinks&amp;quot;&amp;gt;{{#ifexist: {{{1|{{Documentation/docname}}}}}&lt;br /&gt;
    |&amp;lt;!--**    /doc EXISTS**   --&amp;gt;[[{{fullurl:{{{1|{{Documentation/docname}}}}}|action=edit}} edit]]&lt;br /&gt;
    |&amp;lt;!--**/doc DOESN&#039;T EXIST**--&amp;gt;[[{{fullurl:{{{1|{{Documentation/docname }}}}}|action=edit&amp;amp;preload=Template:Documentation/preload}} create]]&lt;br /&gt;
   }}&amp;lt;/span&amp;gt;&lt;br /&gt;
  }} &amp;lt;span style=&amp;quot;{{#if:{{{heading-style|}}}|{{{heading-style}}}|{{#ifeq:{{NAMESPACE}}|{{ns:template}}|font-weight: bold; font-size: 125%|font-size: 150%}}}}&amp;quot;&amp;gt;{{#if:{{{heading|}}}|{{{heading}}}|{{#ifeq:{{NAMESPACE}}|{{ns:template}}|Template documentation|Documentation}}}}&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
 --&amp;gt;&amp;lt;div id=&amp;quot;template_doc_page_transcluded&amp;quot; class=&amp;quot;dablink plainlinks&amp;quot;&amp;gt;&amp;lt;!--&lt;br /&gt;
  --&amp;gt;{{#ifexist: {{{1|{{Documentation/docname}}}}}&lt;br /&gt;
  |&amp;lt;!--**/doc EXISTS**--&amp;gt;This documentation is transcluded from [[{{{1|{{Documentation/docname}}}}}]]. &amp;lt;small style=&amp;quot;font-style: normal&amp;quot;&amp;gt;([{{fullurl:{{{1|{{Documentation/docname}}}}}|action=edit}} edit] &amp;amp;#124; [{{fullurl:{{{1|{{Documentation/docname}}}}}|action=history}} history])&amp;lt;/small&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
 }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
 --&amp;gt;{{#switch: {{SUBPAGENAME}}&lt;br /&gt;
   |sandbox|testcases=&amp;lt;!--**DO NOT SHOW THESE LINKS ON THE SANDBOX/TESTCASES PAGES**--&amp;gt;&lt;br /&gt;
   |#default=&lt;br /&gt;
    {{#switch: {{SUBJECTSPACE}}&lt;br /&gt;
     |{{ns:template}}&lt;br /&gt;
     |{{ns:user}}=&lt;br /&gt;
      {{#ifexist: {{FULLPAGENAME}}/sandbox&lt;br /&gt;
       |This template has a [[/sandbox|sandbox]] &amp;lt;small style=&amp;quot;font-style: normal&amp;quot;&amp;gt;([{{fullurl:{{ #rel2abs: /sandbox }}|action=edit}} edit])&amp;lt;/small&amp;gt; &amp;lt;!--&lt;br /&gt;
        --&amp;gt;{{#ifexist: {{FULLPAGENAME}}/testcases&lt;br /&gt;
         |and [[/testcases|testcases]] &amp;lt;small style=&amp;quot;font-style: normal&amp;quot;&amp;gt;([{{fullurl:{{ #rel2abs: /testcases }}|action=edit}} edit])&amp;lt;/small&amp;gt;}} for editors to experiment.&lt;br /&gt;
       |{{#ifexist: {{FULLPAGENAME}}/testcases&lt;br /&gt;
        |This template has [[/testcases|testcases]] &amp;lt;small style=&amp;quot;font-style: normal&amp;quot;&amp;gt;([{{fullurl:{{ #rel2abs: /testcases }}|action=edit}} edit])&amp;lt;/small&amp;gt; for editors to experiment.}}&lt;br /&gt;
 }}}}}}&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
{{#if:{{{content|}}}|{{{content}}}|{{#ifexist:{{{1|{{Documentation/docname}}}}} | {{ {{{1|{{Documentation/docname}}}}} }} }}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=File:Template-info.svg&amp;diff=22763</id>
		<title>File:Template-info.svg</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=File:Template-info.svg&amp;diff=22763"/>
		<updated>2024-09-20T12:07:12Z</updated>

		<summary type="html">&lt;p&gt;ElementW: See [https://commons.wikimedia.org/wiki/File:Template-info.svg commons:File:Template-info.svg]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
See [https://commons.wikimedia.org/wiki/File:Template-info.svg commons:File:Template-info.svg]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:ServiceCmdHeaderShort&amp;diff=22762</id>
		<title>Template:ServiceCmdHeaderShort</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:ServiceCmdHeaderShort&amp;diff=22762"/>
		<updated>2024-09-20T11:51:03Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Created page with &amp;quot;&amp;lt;abbr title=&amp;quot;Command {{{1}}} with {{{2}}} raw parameter and {{{3}}} translate words&amp;quot;&amp;gt;{{{1}}}&amp;lt;span style=&amp;quot;opacity:0.8&amp;quot;&amp;gt;{{ #vardefine:headerlow|{{#expr:{{{3}}}+({{{2}}}*64)}}}}{...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;abbr title=&amp;quot;Command {{{1}}} with {{{2}}} raw parameter and {{{3}}} translate words&amp;quot;&amp;gt;{{{1}}}&amp;lt;span style=&amp;quot;opacity:0.8&amp;quot;&amp;gt;{{&lt;br /&gt;
#vardefine:headerlow|{{#expr:{{{3}}}+({{{2}}}*64)}}}}{{&lt;br /&gt;
#vardefine:looppow|12}}{{#while:&lt;br /&gt;
 | {{#ifexpr: {{#var:looppow}} &amp;gt;= 0 | true }}&lt;br /&gt;
 | {{#switch: {{#expr:trunc({{#var:headerlow}}/(2^{{#var:looppow}})) mod 16}}&lt;br /&gt;
 | 0 = 0&lt;br /&gt;
 | 1 = 1&lt;br /&gt;
 | 2 = 2&lt;br /&gt;
 | 3 = 3&lt;br /&gt;
 | 4 = 4&lt;br /&gt;
 | 5 = 5&lt;br /&gt;
 | 6 = 6&lt;br /&gt;
 | 7 = 7&lt;br /&gt;
 | 8 = 8&lt;br /&gt;
 | 9 = 9&lt;br /&gt;
 | 10 = A&lt;br /&gt;
 | 11 = B&lt;br /&gt;
 | 12 = C&lt;br /&gt;
 | 13 = D&lt;br /&gt;
 | 14 = E&lt;br /&gt;
 | 15 = F&lt;br /&gt;
 | #default = ?&lt;br /&gt;
}}{{#vardefine:looppow|{{#expr:{{#var:looppow}}-4}}}}&lt;br /&gt;
}}&amp;lt;/span&amp;gt;&amp;lt;/abbr&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:IPC/RequestHeader&amp;diff=22761</id>
		<title>Template:IPC/RequestHeader</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:IPC/RequestHeader&amp;diff=22761"/>
		<updated>2024-09-20T11:49:59Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Transclude documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/Request|ipc_offset_prefix=n&amp;amp;nbsp;+&amp;amp;nbsp;}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;|-&lt;br /&gt;
| {{#var:ipc_offset_prefix}}{{#var:ipc_offset}}{{#vardefine:ipc_offset|{{#expr: {{#var:ipc_offset}} + 1}}}}&lt;br /&gt;
| &lt;br /&gt;
  {| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;margin:0.2em 0&amp;quot;&lt;br /&gt;
  |-&lt;br /&gt;
  ! Header&lt;br /&gt;
  | {{{1}}}&amp;lt;span style=&amp;quot;opacity:0.8&amp;quot;&amp;gt;{{&lt;br /&gt;
#vardefine:headerlow|{{#expr:{{{3}}}+({{{2}}}*64)}}}}{{&lt;br /&gt;
#vardefine:looppow|12}}{{#while:&lt;br /&gt;
 | {{#ifexpr: {{#var:looppow}} &amp;gt;= 0 | true }}&lt;br /&gt;
 | {{#switch: {{#expr:trunc({{#var:headerlow}}/(2^{{#var:looppow}})) mod 16}}&lt;br /&gt;
 | 0 = 0&lt;br /&gt;
 | 1 = 1&lt;br /&gt;
 | 2 = 2&lt;br /&gt;
 | 3 = 3&lt;br /&gt;
 | 4 = 4&lt;br /&gt;
 | 5 = 5&lt;br /&gt;
 | 6 = 6&lt;br /&gt;
 | 7 = 7&lt;br /&gt;
 | 8 = 8&lt;br /&gt;
 | 9 = 9&lt;br /&gt;
 | 10 = A&lt;br /&gt;
 | 11 = B&lt;br /&gt;
 | 12 = C&lt;br /&gt;
 | 13 = D&lt;br /&gt;
 | 14 = E&lt;br /&gt;
 | 15 = F&lt;br /&gt;
 | #default = ?&lt;br /&gt;
}}{{#vardefine:looppow|{{#expr:{{#var:looppow}}-4}}}}&lt;br /&gt;
}}&amp;lt;/span&amp;gt;&lt;br /&gt;
  ! &amp;lt;abbr title=&amp;quot;Command ID&amp;quot;&amp;gt;Cmd&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  | {{{1}}}&lt;br /&gt;
  ! &amp;lt;abbr title=&amp;quot;Number of raw parameter words&amp;quot;&amp;gt;Param&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  | {{{2}}}&lt;br /&gt;
  ! &amp;lt;abbr title=&amp;quot;Number of words in the translate section of the message&amp;quot;&amp;gt;Xlat&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  | {{{3}}}&lt;br /&gt;
  |}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:IPC message contents templates]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:IPC/RequestHeader&amp;diff=22760</id>
		<title>Template:IPC/RequestHeader</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:IPC/RequestHeader&amp;diff=22760"/>
		<updated>2024-09-20T11:41:11Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Shade the part of header code derived from param &amp;amp; xlat count&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/Request|ipc_offset_prefix=n&amp;amp;nbsp;+&amp;amp;nbsp;}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;|-&lt;br /&gt;
| {{#var:ipc_offset_prefix}}{{#var:ipc_offset}}{{#vardefine:ipc_offset|{{#expr: {{#var:ipc_offset}} + 1}}}}&lt;br /&gt;
| &lt;br /&gt;
  {| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;margin:0.2em 0&amp;quot;&lt;br /&gt;
  |-&lt;br /&gt;
  ! Header&lt;br /&gt;
  | {{{1}}}&amp;lt;span style=&amp;quot;opacity:0.8&amp;quot;&amp;gt;{{&lt;br /&gt;
#vardefine:headerlow|{{#expr:{{{3}}}+({{{2}}}*64)}}}}{{&lt;br /&gt;
#vardefine:looppow|12}}{{#while:&lt;br /&gt;
 | {{#ifexpr: {{#var:looppow}} &amp;gt;= 0 | true }}&lt;br /&gt;
 | {{#switch: {{#expr:trunc({{#var:headerlow}}/(2^{{#var:looppow}})) mod 16}}&lt;br /&gt;
 | 0 = 0&lt;br /&gt;
 | 1 = 1&lt;br /&gt;
 | 2 = 2&lt;br /&gt;
 | 3 = 3&lt;br /&gt;
 | 4 = 4&lt;br /&gt;
 | 5 = 5&lt;br /&gt;
 | 6 = 6&lt;br /&gt;
 | 7 = 7&lt;br /&gt;
 | 8 = 8&lt;br /&gt;
 | 9 = 9&lt;br /&gt;
 | 10 = A&lt;br /&gt;
 | 11 = B&lt;br /&gt;
 | 12 = C&lt;br /&gt;
 | 13 = D&lt;br /&gt;
 | 14 = E&lt;br /&gt;
 | 15 = F&lt;br /&gt;
 | #default = ?&lt;br /&gt;
}}{{#vardefine:looppow|{{#expr:{{#var:looppow}}-4}}}}&lt;br /&gt;
}}&amp;lt;/span&amp;gt;&lt;br /&gt;
  ! &amp;lt;abbr title=&amp;quot;Command ID&amp;quot;&amp;gt;Cmd&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  | {{{1}}}&lt;br /&gt;
  ! &amp;lt;abbr title=&amp;quot;Number of raw parameter words&amp;quot;&amp;gt;Param&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  | {{{2}}}&lt;br /&gt;
  ! &amp;lt;abbr title=&amp;quot;Number of words in the translate section of the message&amp;quot;&amp;gt;Xlat&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  | {{{3}}}&lt;br /&gt;
  |}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
[[Category:IPC message contents templates]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=FS:OpenFile&amp;diff=22759</id>
		<title>FS:OpenFile</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=FS:OpenFile&amp;diff=22759"/>
		<updated>2024-09-20T08:54:06Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Add categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Request=&lt;br /&gt;
{{IPC/Request|Request}}&lt;br /&gt;
{{IPC/RequestHeader|0x0802|7|2}}&lt;br /&gt;
{{IPC/RequestEntry|Transaction (usually 0)}}&lt;br /&gt;
{{IPC/RequestEntryRange|2|u64, Archive Handle}}&lt;br /&gt;
{{IPC/RequestEntry|[[Filesystem_services#PathType|Path Type]]}}&lt;br /&gt;
{{IPC/RequestEntry|Path Size (including null-terminator)}}&lt;br /&gt;
{{IPC/RequestEntry|[[Filesystem_services#OpenFlags|Open Flags]]}}&lt;br /&gt;
{{IPC/RequestEntry|[[Filesystem_services#Attributes|Attributes]] (usually 0)}}&lt;br /&gt;
{{IPC/TranslateStaticBuffer|Path Data Pointer|0}}&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
&lt;br /&gt;
=Response=&lt;br /&gt;
{{IPC/Request|Response}}&lt;br /&gt;
{{IPC/RequestHeader|0x0802|1|2}}&lt;br /&gt;
{{IPC/RequestEntry|Result code}}&lt;br /&gt;
{{IPC/MoveHandle|1}}&lt;br /&gt;
{{IPC/MoveHandleEntry|File client session handle}}&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
&lt;br /&gt;
[[Category:fs:USER commands]]&lt;br /&gt;
[[Category:fs:LDR commands]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Camera_Services&amp;diff=22757</id>
		<title>Camera Services</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Camera_Services&amp;diff=22757"/>
		<updated>2024-09-19T06:09:37Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Add anchors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{Anchor|CAMC}}{{Anchor|cam:c}}&lt;br /&gt;
==cam:c (PORT_REG) ==&lt;br /&gt;
Same as [[#cam:u_.28PORT_USER.29|cam:u]]&lt;br /&gt;
&lt;br /&gt;
{{Anchor|CAMS}}{{Anchor|cam:s}}&lt;br /&gt;
==cam:s (PORT_CAL) ==&lt;br /&gt;
Same as [[#cam:u_.28PORT_USER.29|cam:u]]&lt;br /&gt;
&lt;br /&gt;
{{Anchor|CAMQ}}{{Anchor|cam:q}}&lt;br /&gt;
==cam:q (PORT_QTM) ==&lt;br /&gt;
This was added with New3DS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010040&lt;br /&gt;
| [[CAMU:StartCapture|StartCapture]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020040&lt;br /&gt;
| [[CAMU:StopCapture|StopCapture]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0003004?&lt;br /&gt;
| [[CAMU:IsBusy|IsBusy]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040040&lt;br /&gt;
| [[CAMU:ClearBuffer|ClearBuffer]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0005004?&lt;br /&gt;
| [[CAMU:GetVsyncInterruptEvent|GetVsyncInterruptEvent]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0006004?&lt;br /&gt;
| [[CAMU:GetBufferErrorInterruptEvent|GetBufferErrorInterruptEvent]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0007????&lt;br /&gt;
| [[CAMU:StartRecieving|StartRecieving]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080040&lt;br /&gt;
| [[CAMU:IsFinishedRecieving|IsFinishedRecieving]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090100&lt;br /&gt;
| [[CAMU:SetTransferLines|SetTransferLines]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A008?&lt;br /&gt;
| [[CAMU:GetMaxLines|GetMaxLines]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0100&lt;br /&gt;
| [[CAMU:SetTransferBytes|SetTransferBytes]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C004?&lt;br /&gt;
| [[CAMU:GetTransferBytes|GetTransferBytes]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D008?&lt;br /&gt;
| [[CAMU:GetMaxBytes|GetMaxBytes]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E0080&lt;br /&gt;
| [[CAMU:SetTrimming|SetTrimming]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F004?&lt;br /&gt;
| [[CAMU:IsTrimming|IsTrimming]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00100140&lt;br /&gt;
| [[CAMU:SetTrimmingParams|SetTrimmingParams]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0011????&lt;br /&gt;
| [[CAMU:GetTrimmingParams|GetTrimmingParams]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00120140&lt;br /&gt;
| [[CAMU:SetTrimmingParamsCenter|SetTrimmingParamsCenter]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130040&lt;br /&gt;
| [[CAMU:Activate|Activate]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00140080&lt;br /&gt;
| [[CAMU:SwitchContext|SwitchContext]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00150080&lt;br /&gt;
| [[CAMU:SetExposure|SetExposure]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00160080&lt;br /&gt;
| [[CAMU:SetWhiteBalance|SetWhiteBalance]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00170080&lt;br /&gt;
| [[CAMU:SetSharpness|SetSharpness]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00180080&lt;br /&gt;
| [[CAMU:SetAutoExposure|SetAutoExposure]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0019004?&lt;br /&gt;
| [[CAMU:IsAutoExposure|IsAutoExposure]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001A0080&lt;br /&gt;
| [[CAMU:SetAutoWhiteBalance|SetAutoWhiteBalance]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001B004?&lt;br /&gt;
| [[CAMU:IsAutoWhiteBalance|IsAutoWhiteBalance]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001C00C0&lt;br /&gt;
| [[CAMU:FlipImage|FlipImage]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001D020?&lt;br /&gt;
| [[CAMU:SetDetailSize|SetDetailSize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001E00C0&lt;br /&gt;
| [[CAMU:SetSize|SetSize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001F0080&lt;br /&gt;
| [[CAMU:SetFrameRate|SetFrameRate]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200080&lt;br /&gt;
| [[CAMU:SetPhotoMode|SetPhotoMode]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002100C0&lt;br /&gt;
| [[CAMU:SetEffect|SetEffect]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00220080&lt;br /&gt;
| [[CAMU:SetContrast|SetContrast]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00230080&lt;br /&gt;
| [[CAMU:SetLensCorrection|SetLensCorrection]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002400C0&lt;br /&gt;
| [[CAMU:SetOutputFormat|SetOutputFormat]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0025014?&lt;br /&gt;
| [[CAMU:SetAutoExposureWindow|SetAutoExposureWindow]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0026014?&lt;br /&gt;
| [[CAMU:SetAutoWhiteBalanceWindow|SetAutoWhiteBalanceWindow]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00270080&lt;br /&gt;
| [[CAMU:SetNoiseFilter|SetNoiseFilter]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00280080&lt;br /&gt;
| [[CAMU:SyncronizeVsyncTiming|SyncronizeVsyncTiming]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0029????&lt;br /&gt;
| [[CAMU:GetLatestVsyncTiming|GetLatestVsyncTiming]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002A????&lt;br /&gt;
| [[CAMU:GetStereoCallibrationData|GetStereoCallibrationData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002B????&lt;br /&gt;
| [[CAMU:SetPackageParameterWithoutContext|SetPackageParameterWithoutContext]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002C0080&lt;br /&gt;
| [[CAMU:SetPackageParameterWithContext|SetPackageParameterWithContext]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002D????&lt;br /&gt;
| [[CAMU:SetPackageParameterWithContextDetail|SetPackageParameterWithContextDetail]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002E???&lt;br /&gt;
| [[CAMU:GetSuitableY2RStandardCoeffecient|GetSuitableY2RStandardCoeffecient]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002F&lt;br /&gt;
| [[CAMU:PlayShutterSoundWithWave|PlayShutterSoundWithWave]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0030????&lt;br /&gt;
| [[CAMU:PlayShutterSound|GetShutterSound]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0031000?&lt;br /&gt;
| [[CAMU:DriverInitailize|DriverInitialize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0032000?&lt;br /&gt;
| [[CAMU:DriverFinalize|DriverFinalize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0033000?&lt;br /&gt;
| [[CAMU:GetActivatedCamera|GetActivatedCamera]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0034000?&lt;br /&gt;
| [[CAMU:GetSleepCamera|GetSleepCamera]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00350040&lt;br /&gt;
| [[CAMU:SetSleepCamera|SetSleepCamera]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00360040&lt;br /&gt;
| [[CAMU:SetBrightnessSyncronization|SetBrightnessSyncronization]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0037004?&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| 0x0038000?&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| 0x0039004?&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| 0x003A0080&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| 0x003B004?&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| 0x003C0080&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| 0x003D000?&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| 0x003E0000&lt;br /&gt;
| ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Most commands are same as cam:u, although, with different command headers since some commands which are available in cam:u do not exist in cam:q&lt;br /&gt;
&lt;br /&gt;
{{Anchor|CAMU}}{{Anchor|cam:u}}&lt;br /&gt;
==cam:u (PORT_USER)==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010040&lt;br /&gt;
| [[CAMU:StartCapture|StartCapture]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020040&lt;br /&gt;
| [[CAMU:StopCapture|StopCapture]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030040&lt;br /&gt;
| [[CAMU:IsBusy|IsBusy]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040040&lt;br /&gt;
| [[CAMU:ClearBuffer|ClearBuffer]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050040&lt;br /&gt;
| [[CAMU:GetVsyncInterruptEvent|GetVsyncInterruptEvent]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060040&lt;br /&gt;
| [[CAMU:GetBufferErrorInterruptEvent|GetBufferErrorInterruptEvent]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070102&lt;br /&gt;
| [[CAMU:SetReceiving|SetReceiving]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080040&lt;br /&gt;
| [[CAMU:IsFinishedReceiving|IsFinishedReceiving]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090100&lt;br /&gt;
| [[CAMU:SetTransferLines|SetTransferLines]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0080&lt;br /&gt;
| [[CAMU:GetMaxLines|GetMaxLines]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0100&lt;br /&gt;
| [[CAMU:SetTransferBytes|SetTransferBytes]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0040&lt;br /&gt;
| [[CAMU:GetTransferBytes|GetTransferBytes]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0080&lt;br /&gt;
| [[CAMU:GetMaxBytes|GetMaxBytes]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E0080&lt;br /&gt;
| [[CAMU:SetTrimming|SetTrimming]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0040&lt;br /&gt;
| [[CAMU:IsTrimming|IsTrimming]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00100140&lt;br /&gt;
| [[CAMU:SetTrimmingParams|SetTrimmingParams]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110040&lt;br /&gt;
| [[CAMU:GetTrimmingParams|GetTrimmingParams]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00120140&lt;br /&gt;
| [[CAMU:SetTrimmingParamsCenter|SetTrimmingParamsCenter]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130040&lt;br /&gt;
| [[CAMU:Activate|Activate]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00140080&lt;br /&gt;
| [[CAMU:SwitchContext|SwitchContext]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00150080&lt;br /&gt;
| [[CAMU:SetExposure|SetExposure]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00160080&lt;br /&gt;
| [[CAMU:SetWhiteBalance|SetWhiteBalance]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00170080&lt;br /&gt;
| [[CAMU:SetWhiteBalanceWithoutBaseUp|SetWhiteBalanceWithoutBaseUp]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00180080&lt;br /&gt;
| [[CAMU:SetSharpness|SetSharpness]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00190080&lt;br /&gt;
| [[CAMU:SetAutoExposure|SetAutoExposure]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001A0040&lt;br /&gt;
| [[CAMU:IsAutoExposure|IsAutoExposure]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001B0080&lt;br /&gt;
| [[CAMU:SetAutoWhiteBalance|SetAutoWhiteBalance]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001C0040&lt;br /&gt;
| [[CAMU:IsAutoWhiteBalance|IsAutoWhiteBalance]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001D00C0&lt;br /&gt;
| [[CAMU:FlipImage|FlipImage]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001E0200&lt;br /&gt;
| [[CAMU:SetDetailSize|SetDetailSize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001F00C0&lt;br /&gt;
| [[CAMU:SetSize|SetSize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200080&lt;br /&gt;
| [[CAMU:SetFrameRate|SetFrameRate]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00210080&lt;br /&gt;
| [[CAMU:SetPhotoMode|SetPhotoMode]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002200C0&lt;br /&gt;
| [[CAMU:SetEffect|SetEffect]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00230080&lt;br /&gt;
| [[CAMU:SetContrast|SetContrast]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00240080&lt;br /&gt;
| [[CAMU:SetLensCorrection|SetLensCorrection]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002500C0&lt;br /&gt;
| [[CAMU:SetOutputFormat|SetOutputFormat]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00260140&lt;br /&gt;
| [[CAMU:SetAutoExposureWindow|SetAutoExposureWindow]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00270140&lt;br /&gt;
| [[CAMU:SetAutoWhiteBalanceWindow|SetAutoWhiteBalanceWindow]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00280080&lt;br /&gt;
| [[CAMU:SetNoiseFilter|SetNoiseFilter]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00290080&lt;br /&gt;
| [[CAMU:SynchronizeVsyncTiming|SynchronizeVsyncTiming]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002A0080&lt;br /&gt;
| [[CAMU:GetLatestVsyncTiming|GetLatestVsyncTiming]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002B0000&lt;br /&gt;
| [[CAMU:GetStereoCameraCalibrationData|GetStereoCameraCalibrationData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002C0400&lt;br /&gt;
| [[CAMU:SetStereoCameraCalibrationData|SetStereoCameraCalibrationData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002D00C0&lt;br /&gt;
| [[CAMU:WriteRegisterI2c|WriteRegisterI2c]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002E00C0&lt;br /&gt;
| [[CAMU:WriteMcuVariableI2c|WriteMcuVariableI2c]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002F0080&lt;br /&gt;
| [[CAMU:ReadRegisterI2cExclusive|ReadRegisterI2cExclusive]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00300080&lt;br /&gt;
| [[CAMU:ReadMcuVariableI2cExclusive|ReadMcuVariableI2cExclusive]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00310180&lt;br /&gt;
| [[CAMU:SetImageQualityCalibrationData|SetImageQualityCalibrationData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00320000&lt;br /&gt;
| [[CAMU:GetImageQualityCalibrationData|GetImageQualityCalibrationData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003302C0&lt;br /&gt;
| [[CAMU:SetPackageParameterWithoutContext|SetPackageParameterWithoutContext]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00340140&lt;br /&gt;
| [[CAMU:SetPackageParameterWithContext|SetPackageParameterWithContext]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003501C0&lt;br /&gt;
| [[CAMU:SetPackageParameterWithContextDetail|SetPackageParameterWithContextDetail]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00360000&lt;br /&gt;
| [[CAMU:GetSuitableY2rStandardCoefficient|GetSuitableY2rStandardCoefficient]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00370202&lt;br /&gt;
| [[CAMU:PlayShutterSoundWithWave|PlayShutterSoundWithWave]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00380040&lt;br /&gt;
| [[CAMU:PlayShutterSound|PlayShutterSound]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00390000&lt;br /&gt;
| [[CAMU:DriverInitialize|DriverInitialize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003A0000&lt;br /&gt;
| [[CAMU:DriverFinalize|DriverFinalize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003B0000&lt;br /&gt;
| [[CAMU:GetActivatedCamera|GetActivatedCamera]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003C0000&lt;br /&gt;
| [[CAMU:GetSleepCamera|GetSleepCamera]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003D0040&lt;br /&gt;
| [[CAMU:SetSleepCamera|SetSleepCamera]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003E0040&lt;br /&gt;
| [[CAMU:SetBrightnessSynchronization|SetBrightnessSynchronization]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003F0040&lt;br /&gt;
| Stubbed, always returns 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x004000C0&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| 0x00410040&lt;br /&gt;
| Stubbed, returns D8A053EA if flag is not 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x00420040&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| 0x00430000&lt;br /&gt;
| Stubbed, returns D8A053EA if flag is not 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x00440000&lt;br /&gt;
| Stubbed, returns D8A053EA if flag is not 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Port===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| PORT_NONE&lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| PORT_CAM1&lt;br /&gt;
| 0x1 &amp;lt;&amp;lt; 0x0&lt;br /&gt;
|-&lt;br /&gt;
| PORT_CAM2&lt;br /&gt;
| 0x1 &amp;lt;&amp;lt; 0x1&lt;br /&gt;
|-&lt;br /&gt;
| PORT_BOTH&lt;br /&gt;
| PORT_CAM1 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; PORT_CAM2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===CameraSelect===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| SELECT_NONE&lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| SELECT_OUT1&lt;br /&gt;
| 0x1 &amp;lt;&amp;lt; 0x0&lt;br /&gt;
|-&lt;br /&gt;
| SELECT_IN1 &lt;br /&gt;
| 0x1 &amp;lt;&amp;lt; 0x1&lt;br /&gt;
|-&lt;br /&gt;
| SELECT_OUT2&lt;br /&gt;
| 0x1 &amp;lt;&amp;lt; 0x2&lt;br /&gt;
|-&lt;br /&gt;
| SELECT_IN1_OUT1 &lt;br /&gt;
| SELECT_OUT1 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; SELECT_IN1&lt;br /&gt;
|-&lt;br /&gt;
| SELECT_OUT1_OUT2&lt;br /&gt;
| SELECT_OUT1 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; SELECT_OUT2&lt;br /&gt;
|-&lt;br /&gt;
| SELECT_IN1_OUT2 &lt;br /&gt;
| SELECT_IN1 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; SELECT_OUT2&lt;br /&gt;
|-&lt;br /&gt;
| SELECT_ALL      &lt;br /&gt;
| SELECT_OUT1 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; SELECT_IN1 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; SELECT_OUT2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| CONTEXT_NONE&lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| CONTEXT_A   &lt;br /&gt;
| 0x1 &amp;lt;&amp;lt; 0x0&lt;br /&gt;
|-&lt;br /&gt;
| CONTEXT_B   &lt;br /&gt;
| 0x1 &amp;lt;&amp;lt; 0x1&lt;br /&gt;
|-&lt;br /&gt;
| CONTEXT_BOTH&lt;br /&gt;
| CONTEXT_A &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; CONTEXT_B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Flip===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| FLIP_NONE      &lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| FLIP_HORIZONTAL&lt;br /&gt;
| 0x1&lt;br /&gt;
|-&lt;br /&gt;
| FLIP_VERTICAL  &lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| FLIP_REVERSE   &lt;br /&gt;
| 0x3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Size===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| SIZE_VGA        &lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| SIZE_QVGA       &lt;br /&gt;
| 0x1&lt;br /&gt;
|-&lt;br /&gt;
| SIZE_QQVGA      &lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| SIZE_CIF        &lt;br /&gt;
| 0x3&lt;br /&gt;
|-&lt;br /&gt;
| SIZE_QCIF       &lt;br /&gt;
| 0x4&lt;br /&gt;
|-&lt;br /&gt;
| SIZE_DS_LCD     &lt;br /&gt;
| 0x5&lt;br /&gt;
|-&lt;br /&gt;
| SIZE_DS_LCDx4   &lt;br /&gt;
| 0x6&lt;br /&gt;
|-&lt;br /&gt;
| SIZE_CTR_TOP_LCD&lt;br /&gt;
| 0x7&lt;br /&gt;
|-&lt;br /&gt;
| SIZE_CTR_BOTTOM_LCD&lt;br /&gt;
| SIZE_QVGA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===FrameRate===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| FRAME_RATE_15      &lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| FRAME_RATE_15_TO_5 &lt;br /&gt;
| 0x1&lt;br /&gt;
|-&lt;br /&gt;
| FRAME_RATE_15_TO_2 &lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| FRAME_RATE_10      &lt;br /&gt;
| 0x3&lt;br /&gt;
|-&lt;br /&gt;
| FRAME_RATE_8_5     &lt;br /&gt;
| 0x4&lt;br /&gt;
|-&lt;br /&gt;
| FRAME_RATE_5       &lt;br /&gt;
| 0x5&lt;br /&gt;
|-&lt;br /&gt;
| FRAME_RATE_20      &lt;br /&gt;
| 0x6&lt;br /&gt;
|-&lt;br /&gt;
| FRAME_RATE_20_TO_5 &lt;br /&gt;
| 0x7&lt;br /&gt;
|-&lt;br /&gt;
| FRAME_RATE_30      &lt;br /&gt;
| 0x8&lt;br /&gt;
|-&lt;br /&gt;
| FRAME_RATE_30_TO_5 &lt;br /&gt;
| 0x9&lt;br /&gt;
|-&lt;br /&gt;
| FRAME_RATE_15_TO_10&lt;br /&gt;
| 0xA&lt;br /&gt;
|-&lt;br /&gt;
| FRAME_RATE_20_TO_10&lt;br /&gt;
| 0xB&lt;br /&gt;
|-&lt;br /&gt;
| FRAME_RATE_30_TO_10&lt;br /&gt;
| 0xC&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===WhiteBalance===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_AUTO &lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_3200K&lt;br /&gt;
| 0x1&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_4150K&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_5200K&lt;br /&gt;
| 0x3&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_6000K&lt;br /&gt;
| 0x4&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_7000K&lt;br /&gt;
| 0x5&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_MAX  &lt;br /&gt;
| 0x6&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_NORMAL                 &lt;br /&gt;
| WHITE_BALANCE_AUTO&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_TUNGSTEN               &lt;br /&gt;
| WHITE_BALANCE_3200K&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_WHITE_FLUORESCENT_LIGHT&lt;br /&gt;
| WHITE_BALANCE_4150K&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_DAYLIGHT               &lt;br /&gt;
| WHITE_BALANCE_5200K&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_CLOUDY                 &lt;br /&gt;
| WHITE_BALANCE_6000K&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_HORIZON                &lt;br /&gt;
| WHITE_BALANCE_6000K&lt;br /&gt;
|-&lt;br /&gt;
| WHITE_BALANCE_SHADE                  &lt;br /&gt;
| WHITE_BALANCE_7000K&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===PhotoMode===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| PHOTO_MODE_NORMAL   &lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| PHOTO_MODE_PORTRAIT &lt;br /&gt;
| 0x1&lt;br /&gt;
|-&lt;br /&gt;
| PHOTO_MODE_LANDSCAPE&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| PHOTO_MODE_NIGHTVIEW&lt;br /&gt;
| 0x3&lt;br /&gt;
|-&lt;br /&gt;
| PHOTO_MODE_LETTER   &lt;br /&gt;
| 0x4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Effect===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| EFFECT_NONE    &lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| EFFECT_MONO    &lt;br /&gt;
| 0x1&lt;br /&gt;
|-&lt;br /&gt;
| EFFECT_SEPIA   &lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| EFFECT_NEGATIVE&lt;br /&gt;
| 0x3&lt;br /&gt;
|-&lt;br /&gt;
| EFFECT_NEGAFILM&lt;br /&gt;
| 0x4&lt;br /&gt;
|-&lt;br /&gt;
| EFFECT_SEPIA01 &lt;br /&gt;
| 0x5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Contrast===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_PATTERN_01&lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_PATTERN_02&lt;br /&gt;
| 0x1&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_PATTERN_03&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_PATTERN_04&lt;br /&gt;
| 0x3&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_PATTERN_05&lt;br /&gt;
| 0x4&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_PATTERN_06&lt;br /&gt;
| 0x5&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_PATTERN_07&lt;br /&gt;
| 0x6&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_PATTERN_08&lt;br /&gt;
| 0x7&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_PATTERN_09&lt;br /&gt;
| 0x8&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_PATTERN_10&lt;br /&gt;
| 0x9&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_PATTERN_11&lt;br /&gt;
| 0xA&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_LOW   &lt;br /&gt;
| CONTRAST_PATTERN_05&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_NORMAL&lt;br /&gt;
| CONTRAST_PATTERN_06&lt;br /&gt;
|-&lt;br /&gt;
| CONTRAST_HIGH  &lt;br /&gt;
| CONTRAST_PATTERN_07&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===LensCorrection===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| LENS_CORRECTION_OFF  &lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| LENS_CORRECTION_ON_70&lt;br /&gt;
| 0x1&lt;br /&gt;
|-&lt;br /&gt;
| LENS_CORRECTION_ON_90&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| LENS_CORRECTION_DARK  &lt;br /&gt;
| LENS_CORRECTION_OFF&lt;br /&gt;
|-&lt;br /&gt;
| LENS_CORRECTION_NORMAL&lt;br /&gt;
| LENS_CORRECTION_ON_70&lt;br /&gt;
|-&lt;br /&gt;
| LENS_CORRECTION_BRIGHT&lt;br /&gt;
| LENS_CORRECTION_ON_90&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===OutputFormat===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| OUTPUT_YUV_422&lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| OUTPUT_RGB_565&lt;br /&gt;
| 0x1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===ShutterSoundType===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| SHUTTER_SOUND_TYPE_NORMAL   &lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| SHUTTER_SOUND_TYPE_MOVIE    &lt;br /&gt;
| 0x1&lt;br /&gt;
|-&lt;br /&gt;
| SHUTTER_SOUND_TYPE_MOVIE_END&lt;br /&gt;
| 0x2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===ImageQualityCalibrationData===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Type&lt;br /&gt;
!  Field&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| aeBaseTarget&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| kRL&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| kGL&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| kBL&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| ccmPosition&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| awbCcmL9Right&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| awbCcmL9Left&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| awbCcmL10Right&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| awbCcmL10Left&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| awbX0Right&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| awbX0Left&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StereoCameraCalibrationData===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Type&lt;br /&gt;
!  Field&lt;br /&gt;
|-&lt;br /&gt;
| bool&lt;br /&gt;
| isValidRotationXY&lt;br /&gt;
|-&lt;br /&gt;
| bool[3]&lt;br /&gt;
| reservedFlag&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| scale&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| rotationZ&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| translationX&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| translationY&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| rotationX&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| rotationY&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| angleOfViewRight&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| angleOfViewLeft&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| distanceToChart&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| distanceCameras&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| imageWidth&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| imageHeight&lt;br /&gt;
|-&lt;br /&gt;
| u8[16]&lt;br /&gt;
| reserved&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===PackageParameterCameraSelect===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Type&lt;br /&gt;
!  Field&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#CameraSelect|CameraSelect]] camera&lt;br /&gt;
|-&lt;br /&gt;
| s8&lt;br /&gt;
| exposure&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#WhiteBalance|WhiteBalance]] whiteBalance&lt;br /&gt;
|-&lt;br /&gt;
| s8&lt;br /&gt;
| sharpness&lt;br /&gt;
|-&lt;br /&gt;
| bool&lt;br /&gt;
| autoExposureOn&lt;br /&gt;
|-&lt;br /&gt;
| bool&lt;br /&gt;
| autoWhiteBalanceOn&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#FrameRate|FrameRate]] frameRate&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#PhotoMode|PhotoMode]] photoMode&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| contrast&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#LensCorrection|LensCorrection]] lensCorrection&lt;br /&gt;
|-&lt;br /&gt;
| bool&lt;br /&gt;
| noiseFilterOn&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| padding&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| autoExposureWindowX&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| autoExposureWindowY&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| autoExposureWindowWidth&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| autoExposureWindowHeight&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| autoWhiteBalanceWindowX&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| autoWhiteBalanceWindowY&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| autoWhiteBalanceWindowWidth&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| autoWhiteBalanceWindowHeight&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===PackageParameterContext===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Type&lt;br /&gt;
!  Field&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#CameraSelect|CameraSelect]] camera&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#Context|Context]] context&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#Flip|Flip]] flip&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#Effect|Effect]] effect&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#Size|Size]] size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===PackageParameterContextDetail===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Type&lt;br /&gt;
!  Field&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#CameraSelect|CameraSelect]] camera&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#Context|Context]] context&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#Flip|Flip]] flip&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#Effect|Effect]] effect&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| width&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| height&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| cropX0&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| cropY0&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| cropX1&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| cropY1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Anchor|Y2R}}{{Anchor|Y2RU}}{{Anchor|y2r:u}}&lt;br /&gt;
== y2r:u ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010040&lt;br /&gt;
| [[Y2R:SetInputFormat|SetInputFormat]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020000&lt;br /&gt;
| [[Y2R:GetInputFormat|GetInputFormat]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030040&lt;br /&gt;
| [[Y2R:SetOutputFormat|SetOutputFormat]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040000&lt;br /&gt;
| [[Y2R:GetOutputFormat|GetOutputFormat]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050040&lt;br /&gt;
| [[Y2R:SetRotation|SetRotation]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060000&lt;br /&gt;
| [[Y2R:GetRotation|GetRotation]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070040&lt;br /&gt;
| [[Y2R:SetBlockAlignment|SetBlockAlignment]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080000&lt;br /&gt;
| [[Y2R:GetBlockAlignment|GetBlockAlignment]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090040&lt;br /&gt;
| [[Y2R:SetSpacialDithering|SetSpacialDithering]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0000&lt;br /&gt;
| [[Y2R:GetSpacialDithering|GetSpacialDithering]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0040&lt;br /&gt;
| [[Y2R:SetTemporalDithering|SetTemporalDithering]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0000&lt;br /&gt;
| [[Y2R:GetTemporalDithering|GetTemporalDithering]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0040&lt;br /&gt;
| [[Y2R:SetTransferEndInterrupt|SetTransferEndInterrupt]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E0000&lt;br /&gt;
| [[Y2R:GetTransferEndInterrupt|GetTransferEndInterrupt]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0000&lt;br /&gt;
| [[Y2R:GetTransferEndEvent|GetTransferEndEvent]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00100102&lt;br /&gt;
| [[Y2R:SetSendingY|SetSendingY]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110102&lt;br /&gt;
| [[Y2R:SetSendingU|SetSendingU]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00120102&lt;br /&gt;
| [[Y2R:SetSendingV|SetSendingV]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130102&lt;br /&gt;
| [[Y2R:SetSendingYuv|SetSendingYuv]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00140000&lt;br /&gt;
| [[Y2R:IsFinishedSendingYuv|IsFinishedSendingYuv]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00150000&lt;br /&gt;
| [[Y2R:IsFinishedSendingY|IsFinishedSendingY]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00160000&lt;br /&gt;
| [[Y2R:IsFinishedSendingU|IsFinishedSendingU]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00170000&lt;br /&gt;
| [[Y2R:IsFinishedSendingV|IsFinishedSendingV]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00180102&lt;br /&gt;
| [[Y2R:SetReceiving|SetReceiving]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00190000&lt;br /&gt;
| [[Y2R:IsFinishedReceiving|IsFinishedReceiving]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001A0040&lt;br /&gt;
| [[Y2R:SetInputLineWidth|SetInputLineWidth]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001B0000&lt;br /&gt;
| [[Y2R:GetInputLineWidth|GetInputLineWidth]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001C0040&lt;br /&gt;
| [[Y2R:SetInputLines|SetInputLines]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001D0000&lt;br /&gt;
| [[Y2R:GetInputLines|GetInputLines]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001E0100&lt;br /&gt;
| [[Y2R:SetCoefficientParams|SetCoefficientParams]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001F0000&lt;br /&gt;
| [[Y2R:GetCoefficientParams|GetCoefficientParams]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200040&lt;br /&gt;
| [[Y2R:SetStandardCoefficient|SetStandardCoefficient]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00210040&lt;br /&gt;
| [[Y2R:GetStandardCoefficientParams|GetStandardCoefficientParams]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00220040&lt;br /&gt;
| [[Y2R:SetAlpha|SetAlpha]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00230000&lt;br /&gt;
| [[Y2R:GetAlpha|GetAlpha]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00240200&lt;br /&gt;
| [[Y2R:SetDitheringWeightParams|SetDitheringWeightParams]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00250000&lt;br /&gt;
| [[Y2R:GetDitheringWeightParams|GetDitheringWeightParams]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00260000&lt;br /&gt;
| [[Y2R:StartConversion|StartConversion]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00270000&lt;br /&gt;
| [[Y2R:StopConversion|StopConversion]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00280000&lt;br /&gt;
| [[Y2R:IsBusyConversion|IsBusyConversion]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002901C0&lt;br /&gt;
| [[Y2R:SetPackageParameter|SetPackageParameter]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002A0000&lt;br /&gt;
| [[Y2R:PingProcess|PingProcess]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002B0000&lt;br /&gt;
| [[Y2R:DriverInitialize|DriverInitialize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002C0000&lt;br /&gt;
| [[Y2R:DriverFinalize|DriverFinalize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002D0000&lt;br /&gt;
| [[Y2R:GetPackageParameter|GetPackageParameter]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===InputFormat===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| INPUT_YUV422_INDIV_8&lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| INPUT_YUV420_INDIV_8&lt;br /&gt;
| 0x1&lt;br /&gt;
|-&lt;br /&gt;
| INPUT_YUV422_INDIV_16&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| INPUT_YUV420_INDIV_16&lt;br /&gt;
| 0x3&lt;br /&gt;
|-&lt;br /&gt;
| INPUT_YUV422_BATCH&lt;br /&gt;
| 0x4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===OutputFormat===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| OUTPUT_RGB_32&lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| OUTPUT_RGB_24&lt;br /&gt;
| 0x1&lt;br /&gt;
|-&lt;br /&gt;
| OUTPUT_RGB_16_555&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| OUTPUT_RGB_16_565&lt;br /&gt;
| 0x3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Rotation===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| ROTATION_NONE&lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| ROTATION_CLOCKWISE_90&lt;br /&gt;
| 0x1&lt;br /&gt;
|-&lt;br /&gt;
| ROTATION_CLOCKWISE_180&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| ROTATION_CLOCKWISE_270&lt;br /&gt;
| 0x3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===BlockAlignment===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Enum&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| BLOCK_LINE&lt;br /&gt;
| 0x0&lt;br /&gt;
| Output buffer&#039;s pixels are arranged linearly. Used when outputting to the framebuffer.&lt;br /&gt;
|-&lt;br /&gt;
| BLOCK_8_BY_8&lt;br /&gt;
| 0x1&lt;br /&gt;
| Output buffer&#039;s pixels are morton swizzled. Used when outputting to a GPU texture.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===CoefficientParams===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Type&lt;br /&gt;
!  Field&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| Y_A&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| R_V&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| G_V&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| G_U&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| B_U&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| R_Offset&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| G_Offset&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| B_Offset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StandardCoefficient===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| COEFFICIENT_ITU_R_BT_601&lt;br /&gt;
| 0x0&lt;br /&gt;
|-&lt;br /&gt;
| COEFFICIENT_ITU_R_BT_709&lt;br /&gt;
| 0x1&lt;br /&gt;
|-&lt;br /&gt;
| COEFFICIENT_ITU_R_BT_601_SCALING&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| COEFFICIENT_ITU_R_BT_709_SCALING&lt;br /&gt;
| 0x3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===DitheringWeightParams===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Type&lt;br /&gt;
!  Field&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w0_xEven_yEven&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w0_xOdd_yEven&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w0_xEven_yOdd&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w0_xOdd_yOdd&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w1_xEven_yEven&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w1_xOdd_yEven&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w1_xEven_yOdd&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w1_xOdd_yOdd&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w2_xEven_yEven&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w2_xOdd_yEven&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w2_xEven_yOdd&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w2_xOdd_yOdd&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w3_xEven_yEven&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w3_xOdd_yEven&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w3_xEven_yOdd&lt;br /&gt;
|-&lt;br /&gt;
| u16&lt;br /&gt;
| w3_xOdd_yOdd&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===PackageParameter===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Type&lt;br /&gt;
!  Field&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#InputFormat|InputFormat]] inputFormat&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#OutputFormat_2|OutputFormat]] outputFormat&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#Rotation|Rotation]] rotation&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#BlockAlignment|BlockAlignment]] blockAlignment&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| inputLineWidth&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| inputLines&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| [[Camera_Services#StandardCoefficient|StandardCoefficient]] standardCoefficient&lt;br /&gt;
|-&lt;br /&gt;
| u8&lt;br /&gt;
| padding&lt;br /&gt;
|-&lt;br /&gt;
| s16&lt;br /&gt;
| alpha&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Services]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Csnd:SND&amp;diff=22756</id>
		<title>Csnd:SND</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Csnd:SND&amp;diff=22756"/>
		<updated>2024-09-19T05:58:15Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to CSND Services#csnd:SND&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[CSND_Services#csnd:SND]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=IPC_Command_Structure&amp;diff=22755</id>
		<title>IPC Command Structure</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=IPC_Command_Structure&amp;diff=22755"/>
		<updated>2024-09-19T05:51:37Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirect to message structure subsection&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[IPC#Message_Structure]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=CSND_Services&amp;diff=22754</id>
		<title>CSND Services</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=CSND_Services&amp;diff=22754"/>
		<updated>2024-09-19T05:50:06Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Add anchors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CSND service talks to the DSP using the DSP FIFO to negotiate what CSND channels are allocated to the DSP, and this seems to be channels 0-7 (usually). The rest are dedicated to CSND services.&lt;br /&gt;
&lt;br /&gt;
{{Anchor|CSND}}{{Anchor|csnd:SND}}&lt;br /&gt;
= CSND service &amp;quot;csnd:SND&amp;quot; =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010140&lt;br /&gt;
| [[CSND:Initialize|Initialize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020000&lt;br /&gt;
| [[CSND:Shutdown|Shutdown]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030040&lt;br /&gt;
| [[CSND:ExecuteCommands|ExecuteCommands]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040080&lt;br /&gt;
| [[CSND:PlaySoundDirectly|PlaySoundDirectly]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050000&lt;br /&gt;
| [[CSND:AcquireSoundChannels|AcquireSoundChannels]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060000&lt;br /&gt;
| [[CSND:ReleaseSoundChannels|ReleaseSoundChannels]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070000&lt;br /&gt;
| [[CSND:AcquireCapUnit|AcquireCapUnit]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080040&lt;br /&gt;
| [[CSND:ReleaseCapUnit|ReleaseCapUnit]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090082&lt;br /&gt;
| [[CSND:FlushDataCache|FlushDataCache]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0082&lt;br /&gt;
| [[CSND:StoreDataCache|StoreDataCache]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0082&lt;br /&gt;
| [[CSND:InvalidateDataCache|InvalidateDataCache]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0000&lt;br /&gt;
| [[CSND:Reset|Reset]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A maximum of 4 service sessions can be opened at the same time for this service.&lt;br /&gt;
&lt;br /&gt;
For cache operations addresses must be in 0x14000000-0x1C000000 range. Starting with [[8.0.0-18]] addresses in the range 0x30000000-0x40000000 are also allowed.&lt;br /&gt;
&lt;br /&gt;
This service is normally used for playing [[BCWAV|CWAVs]]. The audio data must be located in the 0x14000000 virtual memory region, since CSND requires the physical address for playing the audio.&lt;br /&gt;
&lt;br /&gt;
[[Category:Services]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=APT:U&amp;diff=22753</id>
		<title>APT:U</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=APT:U&amp;diff=22753"/>
		<updated>2024-09-19T05:48:53Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to NS and APT Services#APT:U&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[NS_and_APT Services#APT:U]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=APT:S&amp;diff=22752</id>
		<title>APT:S</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=APT:S&amp;diff=22752"/>
		<updated>2024-09-19T05:48:03Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to NS and APT Services#APT:S&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[NS_and_APT Services#APT:S]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=APT:A&amp;diff=22751</id>
		<title>APT:A</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=APT:A&amp;diff=22751"/>
		<updated>2024-09-19T05:47:38Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to NS and APT Services#APT:A&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[NS_and_APT Services#APT:A]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:IPC/RequestHeader&amp;diff=22750</id>
		<title>Template:IPC/RequestHeader</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:IPC/RequestHeader&amp;diff=22750"/>
		<updated>2024-09-18T17:18:34Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Merge full header code in the subtable&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/Request|ipc_offset_prefix=n&amp;amp;nbsp;+&amp;amp;nbsp;}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;|-&lt;br /&gt;
| {{#var:ipc_offset_prefix}}{{#var:ipc_offset}}{{#vardefine:ipc_offset|{{#expr: {{#var:ipc_offset}} + 1}}}}&lt;br /&gt;
| &lt;br /&gt;
  {| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;margin:0.2em 0&amp;quot;&lt;br /&gt;
  |-&lt;br /&gt;
  ! Header&lt;br /&gt;
  | {{{1}}}{{&lt;br /&gt;
#vardefine:headerlow|{{#expr:{{{3}}}+({{{2}}}*64)}}}}{{&lt;br /&gt;
#vardefine:looppow|12}}{{#while:&lt;br /&gt;
 | {{#ifexpr: {{#var:looppow}} &amp;gt;= 0 | true }}&lt;br /&gt;
 | {{#switch: {{#expr:trunc({{#var:headerlow}}/(2^{{#var:looppow}})) mod 16}}&lt;br /&gt;
 | 0 = 0&lt;br /&gt;
 | 1 = 1&lt;br /&gt;
 | 2 = 2&lt;br /&gt;
 | 3 = 3&lt;br /&gt;
 | 4 = 4&lt;br /&gt;
 | 5 = 5&lt;br /&gt;
 | 6 = 6&lt;br /&gt;
 | 7 = 7&lt;br /&gt;
 | 8 = 8&lt;br /&gt;
 | 9 = 9&lt;br /&gt;
 | 10 = A&lt;br /&gt;
 | 11 = B&lt;br /&gt;
 | 12 = C&lt;br /&gt;
 | 13 = D&lt;br /&gt;
 | 14 = E&lt;br /&gt;
 | 15 = F&lt;br /&gt;
 | #default = ?&lt;br /&gt;
}}{{#vardefine:looppow|{{#expr:{{#var:looppow}}-4}}}}&lt;br /&gt;
}}&lt;br /&gt;
  ! &amp;lt;abbr title=&amp;quot;Command ID&amp;quot;&amp;gt;Cmd&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  | {{{1}}}&lt;br /&gt;
  ! &amp;lt;abbr title=&amp;quot;Number of raw parameter words&amp;quot;&amp;gt;Param&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  | {{{2}}}&lt;br /&gt;
  ! &amp;lt;abbr title=&amp;quot;Number of words in the translate section of the message&amp;quot;&amp;gt;Xlat&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  | {{{3}}}&lt;br /&gt;
  |}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
[[Category:IPC message contents templates]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Ndm:u&amp;diff=22749</id>
		<title>Ndm:u</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Ndm:u&amp;diff=22749"/>
		<updated>2024-09-18T16:42:18Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to NDM Services#ndm:u&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[NDM_Services#ndm:u]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=NDM_Services&amp;diff=22748</id>
		<title>NDM Services</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=NDM_Services&amp;diff=22748"/>
		<updated>2024-09-18T16:04:17Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Add anchors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{Anchor|NDMU}}{{Anchor|ndm:u}}&lt;br /&gt;
= NDM service &amp;quot;ndm:u&amp;quot; =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010042&lt;br /&gt;
| [[NDMU:EnterExclusiveState|EnterExclusiveState]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020002&lt;br /&gt;
| [[NDMU:LeaveExclusiveState|LeaveExclusiveState]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030000&lt;br /&gt;
| [[NDMU:QueryExclusiveMode|QueryExclusiveMode]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040002&lt;br /&gt;
| [[NDMU:LockState|LockState]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050002&lt;br /&gt;
| [[NDMU:UnlockState|UnlockState]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060040&lt;br /&gt;
| [[NDMU:SuspendDaemons|SuspendDaemons]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070040&lt;br /&gt;
| [[NDMU:ResumeDaemons|ResumeDaemons]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080040&lt;br /&gt;
| [[NDMU:SuspendScheduler|SuspendScheduler]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090000&lt;br /&gt;
| [[NDMU:ResumeScheduler|ResumeScheduler]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0000&lt;br /&gt;
| [[NDMU:GetCurrentState|GetCurrentState]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0000&lt;br /&gt;
| [[NDMU:GetTargetState|GetTargetState]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0000&lt;br /&gt;
| Stubbed. (Not implemented)&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0040&lt;br /&gt;
| [[NDMU:QueryStatus|QueryStatus]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E0040&lt;br /&gt;
| [[NDMU:GetDaemonDisableCount|GetDaemonDisableCount]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0000&lt;br /&gt;
| [[NDMU:GetSchedulerDisableCount|GetSchedulerDisableCount]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00100040&lt;br /&gt;
| [[NDMU:SetScanInterval|SetScanInterval]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110000&lt;br /&gt;
| [[NDMU:GetScanInterval|GetScanInterval]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00120040&lt;br /&gt;
| [[NDMU:SetRetryInterval|SetRetryInterval]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130000&lt;br /&gt;
| [[NDMU:GetRetryInterval|GetRetryInterval]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00140040&lt;br /&gt;
| [[NDMU:OverrideDefaultDaemons|OverrideDefaultDaemons]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00150000&lt;br /&gt;
| [[NDMU:ResetDefaultDaemons|ResetDefaultDaemons]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00160000&lt;br /&gt;
| [[NDMU:GetDefaultDaemons|GetDefaultDaemons]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00170000&lt;br /&gt;
| [[NDMU:ClearHalfAwakeMacFilter|ClearHalfAwakeMacFilter]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;enum ExclusiveState&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| EXCLUSIVE_STATE_NONE&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| EXCLUSIVE_STATE_INFRASTRUCTURE&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| EXCLUSIVE_STATE_LOCAL_COMMUNICATIONS&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| EXCLUSIVE_STATE_STREETPASS&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| EXCLUSIVE_STATE_STREETPASS_DATA&lt;br /&gt;
| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;enum Daemon&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| DAEMON_CEC&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| DAEMON_BOSS&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| DAEMON_NIM&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| DAEMON_FRIENDS&lt;br /&gt;
| 3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;enum DaemonMask&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| DAEMON_MASK_CEC&lt;br /&gt;
| 1 &amp;lt;&amp;lt; DAEMON_CEC&lt;br /&gt;
|-&lt;br /&gt;
| DAEMON_MASK_BOSS&lt;br /&gt;
| 1 &amp;lt;&amp;lt; DAEMON_BOSS&lt;br /&gt;
|-&lt;br /&gt;
| DAEMON_MASK_NIM&lt;br /&gt;
| 1 &amp;lt;&amp;lt; DAEMON_NIM&lt;br /&gt;
|-&lt;br /&gt;
| DAEMON_MASK_FRIENDS&lt;br /&gt;
| 1 &amp;lt;&amp;lt; DAEMON_FRIENDS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;enum DaemonStatus&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| DAEMON_STATUS_BUSY&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| DAEMON_STATUS_IDLE&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| DAEMON_STATUS_SUSPENDING&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| DAEMON_STATUS_SUSPENDED&lt;br /&gt;
| 3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;enum State&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Enum&lt;br /&gt;
!  Value&lt;br /&gt;
|-&lt;br /&gt;
| STATE_INITIAL&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| STATE_SUSPENDED&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| STATE_INFRASTRUCTURE_CONNECTING&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| STATE_INFRASTRUCTURE_CONNECTED&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| STATE_INFRASTRUCTURE_WORKING&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| STATE_INFRASTRUCTURE_SUSPENDING&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| STATE_INFRASTRUCTURE_FORCE_SUSPENDING&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| STATE_INFRASTRUCTURE_DISCONNECTING&lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| STATE_INFRASTRUCTURE_FORCE_DISCONNECTING&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| STATE_CEC_WORKING&lt;br /&gt;
| 9&lt;br /&gt;
|-&lt;br /&gt;
| STATE_CEC_FORCE_SUSPENDING&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| STATE_CEC_SUSPENDING&lt;br /&gt;
| 11&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Services]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Ns:c&amp;diff=22747</id>
		<title>Ns:c</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Ns:c&amp;diff=22747"/>
		<updated>2024-09-18T15:03:05Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to NS and APT Services#ns:c&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[NS_and_APT_Services#ns:c]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Ns:p&amp;diff=22746</id>
		<title>Ns:p</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Ns:p&amp;diff=22746"/>
		<updated>2024-09-18T15:01:47Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to NS and APT Services#ns:p&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[NS_and_APT_Services#ns:p]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Ns:s&amp;diff=22745</id>
		<title>Ns:s</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Ns:s&amp;diff=22745"/>
		<updated>2024-09-18T15:01:30Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to NS and APT Services#ns:s&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[NS_and_APT_Services#ns:s]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:ServiceCall&amp;diff=22744</id>
		<title>Template:ServiceCall</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:ServiceCall&amp;diff=22744"/>
		<updated>2024-09-18T10:47:00Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Created page with &amp;quot;&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;:{{{1}}}&amp;lt;/span&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;[[:{{{1}}}]]&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Ldr:ro&amp;diff=22743</id>
		<title>Ldr:ro</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Ldr:ro&amp;diff=22743"/>
		<updated>2024-09-18T10:43:44Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to RO Services#ldr:ro&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[RO_Services#ldr:ro]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=NS_and_APT_Services&amp;diff=22742</id>
		<title>NS and APT Services</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=NS_and_APT_Services&amp;diff=22742"/>
		<updated>2024-09-18T10:42:20Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Add anchors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The NS (&#039;&#039;&#039;N&#039;&#039;&#039;intendo User Interface &#039;&#039;&#039;S&#039;&#039;&#039;hell) system module is the first module launched from a CTR-NAND title after the [[FIRM]] processes are loaded (also see [[Bootloader]]). This module is launched by the pm process, with the titleID loaded from NS state(hard-coded TID initialized during applet TID-array initialization). NS first launches [[ErrDisp]], then the menu. On retail the menu TID is loaded from NS state, while on dev/debug the menu TID is loaded from [[Config_Savegame|config]]. On dev-units if the menu TID block doesn&#039;t exist in [[Config_Savegame|config]], NS will attempt to launch the alternate menu instead. The TID of the launched menu is then written to [[Configuration Memory|ACTIVEMENUTID]]. NS uses [[PMApp:LaunchTitle|pm:app]] to launch titles.&lt;br /&gt;
&lt;br /&gt;
NS will not trigger the [[ErrDisp|fatal-error]] screen when launching the regular/alternate menu fails.&lt;br /&gt;
&lt;br /&gt;
Like home menu NS is constantly running while the system is in 3DS-mode. When attempting to return to home-menu when the home-menu process isn&#039;t running(like when the process terminated/crashed), NS will trigger a [[ErrDisp|fatal]] error.&lt;br /&gt;
&lt;br /&gt;
= Alternate menu =&lt;br /&gt;
When launching the regular menu fails, NS will then attempt to launch the alternate menu. This title could be used as a recovery process, however it&#039;s normally not used after the factory.&lt;br /&gt;
&lt;br /&gt;
At the factory for all 3DS systems, [[3DS Development Unit GUI#Test Menu|Test Menu]] is installed with this TID. On retail this title is eventually deleted during [[Factory Setup]].&lt;br /&gt;
&lt;br /&gt;
= Auto-boot =&lt;br /&gt;
After [[PMApp:GetFIRMLaunchParams|loading]] [[FIRM]] params and prior to launching [[ErrDisp]]/Home Menu, NS handles auto-booting titles. The same code called by [[APT:Reboot]] is used for launching FIRM here. When the [[Configuration_Memory|UPDATEFLAG]] is set, NS will launch SAFE_MODE_FIRM with the application titleID set to the [[System_Settings#System_Updater|System Updater]] titleID for this region. When the UPDATEFLAG is not set, NS can auto-boot the following titles as well if [[Configuration_Memory|0x1FF80016]] bit0 is set.&lt;br /&gt;
&lt;br /&gt;
When bit1 and bit2 are value zero in [[Configuration_Memory|0x1FF80016]], NS will [[NSS:LaunchFIRM|launch]] the title specified by the [[FIRM]] parameters if the title-info is set. This FIRM launch is done after launching [[ErrDisp]] and Home Menu. Otherwise when [[Configuration_Memory|0x1FF80016]] is value 2 and the output u8 from [[PTM|PTMSYSM]] command 0x08140000 is value 0, NS will boot the title specified from the TWL TLNC block from FIRMparams+0x300. This is the same TLNC block which DSi titles wrote to RAM+0x300 for launching other titles via the launcher title. When handling the TLNC block, NS will boot the 3DS System Settings title when the TLNC titleID is the DSi System Settings titleID(the region field in the TLNC TID is not checked/used). When the TLNC titleID is not System Settings, NS will convert the input DSi titleID-high to the 3DS TWL titleID-high(tidhigh = (TLNCtidhigh &amp;amp; 0x7FFF) | 0x48000), then launch TWL_FIRM to run the title. NS does not support launching from gamecard via TLNC.&lt;br /&gt;
&lt;br /&gt;
= NS Workaround =&lt;br /&gt;
A &amp;quot;ns_workaround&amp;quot; was [[5.1.0-11|added]] in NS to workaround the flaw added with [[5.0.0-11]]. When NS is loading before launching any ARM11 processes and certain [[Configuration Memory]] fields are set, NS will launch [[Application_Manager_Services|AM]] then use command [[AM:InstallNATIVEFIRM]]. NS will then execute the code called by [[APT:StartNewestHomeMenu]], the code related to APT:PrepareToStartNewestHomeMenu is not executed here.&lt;br /&gt;
&lt;br /&gt;
NS will only execute this code-path when [[Configuration Memory|0x1FF80016]] is value zero, when KERNEL_VERSIONMAJOR is value 2, and when KERNEL_VERSIONMINOR is less than 35. Therefore, this code-path is only executed when the running NATIVE_FIRM version is prior to [[5.0.0-11]].&lt;br /&gt;
&lt;br /&gt;
{{Anchor|NSS}}{{Anchor|ns:s}}&lt;br /&gt;
= NS Service &amp;quot;ns:s&amp;quot; =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Available since system version&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000100C0&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| [[NSS:LaunchFIRM|LaunchFIRM]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000200C0&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| [[NSS:LaunchTitle|LaunchTitle]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030000&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| [[NSS:TerminateApplication|TerminateApplication]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040040&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| [[NSS:TerminateProcess|TerminateProcess]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000500C0&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| [[NSS:LaunchApplicationFIRM|LaunchApplicationFIRM]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060042&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| [[NSS:SetWirelessRebootInfo|SetWirelessRebootInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070042&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| [[NSS:CardUpdateInitialize|CardUpdateInitialize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080000&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| [[NSS:CardUpdateShutdown|CardUpdateShutdown]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090000&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| Gamecard system update related.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0000&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| Gamecard system update related.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0000&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| Gamecard system update related.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0000&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| Gamecard system update related.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0140&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| [[NSS:SetTWLBannerHMAC|SetTWLBannerHMAC]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E0000&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| [[NSS:ShutdownAsync|ShutdownAsync]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0000&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| This calls [[APT:AppletUtility]] with fixed input params.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00100180&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| [[NSS:RebootSystem|RebootSystem]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110100&lt;br /&gt;
| [[1.0.0-0]] - [[2.0.0-2]]&lt;br /&gt;
| [[NSS:TerminateTitle|TerminateTitle]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001200C0&lt;br /&gt;
| ?&lt;br /&gt;
| [[NSS:SetApplicationCpuTimeLimit|SetApplicationCpuTimeLimit]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130000&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00140042&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00150140&lt;br /&gt;
| ?&lt;br /&gt;
| [[NSS:LaunchApplication|LaunchApplication]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00160000&lt;br /&gt;
| [[8.0.0-18]]&lt;br /&gt;
| [[NSS:RebootSystemClean|RebootSystemClean]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The maximum sessions that can be used with this service is two, therefore only two processes can use this service at the same time.&lt;br /&gt;
&lt;br /&gt;
{{Anchor|NSP}}{{Anchor|ns:p}}&lt;br /&gt;
=NS Power Service &amp;quot;ns:p&amp;quot;=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010040&lt;br /&gt;
| [[NSP:RebootSystem|RebootSystem]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020000&lt;br /&gt;
| [[NSS:ShutdownAsync|ShutdownAsync]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This was added with [[3.0.0-5]]. The PTM sysmodule connects to this service, and syncs whenever [[PTM|ptm:s GetShellState()]] changes.&lt;br /&gt;
&lt;br /&gt;
{{Anchor|NSC}}{{Anchor|ns:c}}&lt;br /&gt;
=NS Service &amp;quot;ns:c&amp;quot;=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010100&lt;br /&gt;
| [[NSC:LockSpecialContent|LockSpecialContent]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020100&lt;br /&gt;
| [[NSC:UnlockSpecialContent|UnlockSpecialContent]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This was added with [[5.0.0-11]]. It is used by the Instruction Manual applet, and is likely related to triggering SD/Game Card removal errors when ejecting the media the manual is stored on.&lt;br /&gt;
&lt;br /&gt;
{{Anchor|APT}}{{Anchor|APTU}}{{Anchor|APT:U}}{{Anchor|APTS}}{{Anchor|APT:S}}&lt;br /&gt;
=APT Services=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Available since system version&lt;br /&gt;
!  Accessible with APT:U&lt;br /&gt;
!  Accessible with APT:A&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetLockHandle|GetLockHandle]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020080&lt;br /&gt;
| &lt;br /&gt;
| See [[APT:Initialize|here]].&lt;br /&gt;
| See [[APT:Initialize|here]].&lt;br /&gt;
| [[APT:Initialize|Initialize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:Enable|Enable]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:Finalize|Finalize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetAppletManInfo|GetAppletManInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060040&lt;br /&gt;
| &lt;br /&gt;
| Yes (AppID != 0x300)&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetAppletInfo|GetAppletInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetLastSignaledAppletId|GetLastSignaledAppletId]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:CountRegisteredApplet|CountRegisteredApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:IsRegistered|IsRegistered]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetAttribute|GetAttribute]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:InquireNotification|InquireNotification]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0104&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:SendParameter|SendParameter]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0080&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:ReceiveParameter|ReceiveParameter]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E0080&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GlanceParameter|GlanceParameter]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0100&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:CancelParameter|CancelParameter]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001000C2&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:DebugFunc|DebugFunc]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001100C0&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:MapProgramIdForDebug|MapProgramIdForDebug]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00120040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:SetHomeMenuAppletIdForDebug|SetHomeMenuAppletIdForDebug]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetPreparationState|GetPreparationState]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00140040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:SetPreparationState|SetPreparationState]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00150140&lt;br /&gt;
| &lt;br /&gt;
| No&lt;br /&gt;
| No&lt;br /&gt;
| [[APT:PrepareToStartApplication|PrepareToStartApplication]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00160040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PreloadLibraryApplet|PreloadLibraryApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00170040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:FinishPreloadingLibraryApplet|FinishPreloadingLibraryApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00180040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PrepareToStartLibraryApplet|PrepareToStartLibraryApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00190040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PrepareToStartSystemApplet|PrepareToStartSystemApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001A0000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PrepareToStartNewestHomeMenu|PrepareToStartNewestHomeMenu]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001B00C4&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:StartApplication|StartApplication]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001C0000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:WakeupApplication|WakeupApplication]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001D0000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:CancelApplication|CancelApplication]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001E0084&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:StartLibraryApplet|StartLibraryApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001F0084&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:StartSystemApplet|StartSystemApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200044&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:StartNewestHomeMenu|StartNewestHomeMenu]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00210000&lt;br /&gt;
| &lt;br /&gt;
| No&lt;br /&gt;
| No&lt;br /&gt;
| [[APT:OrderToCloseApplication|OrderToCloseApplication]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00220040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PrepareToCloseApplication|PrepareToCloseApplication]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00230040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PrepareToJumpToApplication|PrepareToJumpToApplication]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00240044&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:JumpToApplication|JumpToApplication]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002500C0&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PrepareToCloseLibraryApplet|PrepareToCloseLibraryApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00260000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PrepareToCloseSystemApplet|PrepareToCloseSystemApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00270044&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:CloseApplication|CloseApplication]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00280044&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:CloseLibraryApplet|CloseLibraryApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00290044&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:CloseSystemApplet|CloseSystemApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002A0000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:OrderToCloseSystemApplet|OrderToCloseSystemApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002B0000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PrepareToJumpToHomeMenu|PrepareToJumpToHomeMenu]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002C0044&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:JumpToHomeMenu|JumpToHomeMenu]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002D0000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PrepareToLeaveHomeMenu|PrepareToLeaveHomeMenu]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002E0044&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:LeaveHomeMenu|LeaveHomeMenu]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002F0040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PrepareToLeaveResidentApplet|PrepareToLeaveResidentApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00300044&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:LeaveResidentApplet|LeaveResidentApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00310100&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PrepareToDoApplicationJump|PrepareToDoApplicationJump]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00320084&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:DoApplicationJump|DoApplicationJump]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00330000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetProgramIdOnApplicationJump|GetProgramIdOnApplicationJump]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00340084&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:SendDeliverArg|SendDeliverArg]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00350080&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:ReceiveDeliverArg|ReceiveDeliverArg]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00360040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:LoadSysMenuArg|LoadSysMenuArg]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00370042&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:StoreSysMenuArg|StoreSysMenuArg]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00380040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PreloadResidentApplet|PreloadResidentApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00390040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:PrepareToStartResidentApplet|PrepareToStartResidentApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003A0044&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:StartResidentApplet|StartResidentApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003B0040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:CancelLibraryApplet|CancelLibraryApplet]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003C0042&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:SendDspSleep|SendDspSleep]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003D0042&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:SendDspWakeUp|SendDspWakeUp]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003E0080&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:ReplySleepQuery|ReplySleepQuery]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003F0040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:ReplySleepNotificationComplete|ReplySleepNotificationComplete]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00400042&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:SendCaptureBufferInfo|SendCaptureBufferInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00410040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:ReceiveCaptureBufferInfo|ReceiveCaptureBufferInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00420080&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:SleepSystem|SleepSystem]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00430040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:NotifyToWait|NotifyToWait]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00440000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetSharedFont|GetSharedFont]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00450040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetWirelessRebootInfo|GetWirelessRebootInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00460104&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:Wrap|Wrap]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00470104&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:Unwrap|Unwrap]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00480100&lt;br /&gt;
| &lt;br /&gt;
| No&lt;br /&gt;
| No&lt;br /&gt;
| [[APT:GetProgramInfo|GetProgramInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00490180&lt;br /&gt;
| &lt;br /&gt;
| No&lt;br /&gt;
| No&lt;br /&gt;
| [[APT:Reboot|Reboot]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x004A0040&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetCaptureInfo|GetCaptureInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x004B00C2&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:AppletUtility|AppletUtility]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x004C0000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:SetFatalErrDispMode|SetFatalErrDispMode]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x004D0080&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetAppletProgramInfo|GetAppletProgramInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x004E0000&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:HardwareResetAsync|HardwareResetAsync]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x004F0080&lt;br /&gt;
| [[2.2.0-X]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:SetApplicationCpuTimeLimit|SetApplicationCpuTimeLimit]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00500040&lt;br /&gt;
| [[2.2.0-X]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetApplicationCpuTimeLimit|GetApplicationCpuTimeLimit]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00510080&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetStartupArgument|GetStartupArgument]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00520104&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:Wrap1|Wrap1]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00530104&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:Unwrap1|Unwrap1]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00540040&lt;br /&gt;
| [[5.0.0-11]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Takes an unknown parameter, outputs a result code and media type.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00550040&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:SetScreenCapturePostPermission|SetScreenCapturePostPermission]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00560000&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetScreenCapturePostPermission|GetScreenCapturePostPermission]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00570044&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:WakeupApplication2|WakeupApplication2]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00580002&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetProgramID|GetProgramID]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x01010000&lt;br /&gt;
| [[8.0.0-18]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetTargetPlatform|GetTargetPlatform]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x01020000&lt;br /&gt;
| [[8.0.0-18]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:CheckNew3DS|CheckNew3DS]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x01030000&lt;br /&gt;
| [[8.0.0-18]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:GetApplicationRunningMode|GetApplicationRunningMode]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x01040000&lt;br /&gt;
| [[8.0.0-18]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:IsStandardMemoryLayout|IsStandardMemoryLayout]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x01050100&lt;br /&gt;
| [[10.4.0-29]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| [[APT:IsTitleAllowed|IsTitleAllowed]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These &amp;quot;APT:U&amp;quot; and &amp;quot;APT:S&amp;quot; NS services can handle launching titles/&amp;quot;applets&amp;quot;, these services handle signaling for home/power button as well. Only one session for either APT service can be open at a time, normally processes close the service handle immediately once finished using the service. The commands for APT:U and APT:S are exactly the same, however certain commands are only accessible with APT:S(NS module will call [[SVC|svcBreak]] when the command isn&#039;t accessible).&lt;br /&gt;
&lt;br /&gt;
Applets returning to home-menu first use commands APT:PrepareToJumpToHomeMenu and APT:JumpToHomeMenu, followed by these commands to launch home-menu: [[APT:PrepareToStartSystemApplet]] and [[APT:StartSystemApplet]]. [[APT:PrepareToStartSystemApplet]] and [[APT:StartSystemApplet]] are also used for launching the [[Internet Browser]], the camera applet, etc.&lt;br /&gt;
&lt;br /&gt;
Processes launch applications via home-menu, not directly with [[APT:PrepareToStartApplication]] and [[APT:StartApplication]]. Regular applications can&#039;t directly launch applications since [[APT:StartApplication]] launches the process without terminating the currently running application.&lt;br /&gt;
&lt;br /&gt;
APT:PrepareToDoApplicationJump and APT:DoApplicationJump are used by applications, for launching native/&amp;lt;non-NATIVE_FIRM&amp;gt; applications. These commands notify Home Menu that title launching needs done, Home Menu does the actual title launching via NS commands.&lt;br /&gt;
&lt;br /&gt;
== AppletAttr ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bits&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0-2&lt;br /&gt;
| [[NS_and_APT_Services#AppletPos|AppletPos]]&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Manually Acquire/Release GPU Rights&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Manually Acquire/Release DSP Rights&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DisplayBufferMode ==&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;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| FORMAT_R8G8B8A8&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| FORMAT_R8G8B8&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| FORMAT_R5G6B5&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| FORMAT_R5G5B5A1&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| FORMAT_R4G4B4A4&lt;br /&gt;
|-&lt;br /&gt;
| 0xFFFFFFFF&lt;br /&gt;
| FORMAT_UNIMPORTABLE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the same mapping as used for the [[GPU/External_Registers#Framebuffer_color_formats|GPU framebuffer color formats]].&lt;br /&gt;
&lt;br /&gt;
== AppletPos ==&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;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| -1&lt;br /&gt;
| POS_NONE&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| POS_APP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| POS_APPLIB&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| POS_SYS&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| POS_SYSLIB&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| POS_RESIDENT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== QueryReply ==&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;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| REPLY_REJECT&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| REPLY_ACCEPT&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| REPLY_LATER&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notification ==&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;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| NOTIFICATION_NONE&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| NOTIFICATION_HOME_BUTTON_1&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| NOTIFICATION_HOME_BUTTON_2&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| NOTIFICATION_SLEEP_QUERY&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| NOTIFICATION_SLEEP_CANCELED_BY_OPEN&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| NOTIFICATION_SLEEP_ACCEPTED&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| NOTIFICATION_SLEEP_AWAKE&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| NOTIFICATION_SHUTDOWN&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| NOTIFICATION_POWER_BUTTON_CLICK&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| NOTIFICATION_POWER_BUTTON_CLEAR&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| NOTIFICATION_TRY_SLEEP&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| NOTIFICATION_ORDER_TO_CLOSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Command ==&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;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| COMMAND_NONE&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| COMMAND_WAKEUP&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| COMMAND_REQUEST&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| COMMAND_RESPONSE&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| COMMAND_EXIT&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| COMMAND_MESSAGE&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| COMMAND_HOME_BUTTON_SINGLE&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| COMMAND_HOME_BUTTON_DOUBLE&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| COMMAND_DSP_SLEEP&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| COMMAND_DSP_WAKEUP&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| COMMAND_WAKEUP_BY_EXIT&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| COMMAND_WAKEUP_BY_PAUSE&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| COMMAND_WAKEUP_BY_CANCEL&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| COMMAND_WAKEUP_BY_CANCELALL&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| COMMAND_WAKEUP_BY_POWER_BUTTON_CLICK&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| COMMAND_WAKEUP_TO_JUMP_HOME&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| COMMAND_REQUEST_FOR_SYS_APPLET&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| COMMAND_WAKEUP_TO_LAUNCH_APPLICATION&lt;br /&gt;
|-&lt;br /&gt;
| 0x41&lt;br /&gt;
| Unknown. [[APT:ReceiveParameter|Received]] by Home Menu during boot when the Home Menu process doesn&#039;t terminate properly(svcExitProcess/crash).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== AppletPreparationState ==&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;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| NO_PREPARATION&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| PREPARED_TO_LAUNCH_APP&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| PREPARED_TO_CLOSE_APP&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| PREPARED_TO_FORCE_TO_CLOSE_APP&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| PREPARED_TO_PRELOAD_APPLIB&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| PREPARED_TO_LAUNCH_APPLIB&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| PREPARED_TO_CLOSE_APPLIB&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| PREPARED_TO_LAUNCH_SYS&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| PREPARED_TO_CLOSE_SYS&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| PREPARED_TO_PRELOAD_SYSLIB&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| PREPARED_TO_LAUNCH_SYSLIB&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| PREPARED_TO_CLOSE_SYSLIB&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| PREPARED_TO_LAUNCH_RESIDENT&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| PREPARED_TO_LEAVE_RESIDENT&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| PREPARED_TO_DO_HOMEMENU&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| PREPARED_TO_LEAVE_HOMEMENU&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| PREPARED_TO_START_RESIDENT&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| PREPARED_TO_DO_APP_JUMP&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| PREPARED_TO_FORCE_TO_CLOSE_SYS&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| PREPARED_TO_LAUNCH_OTHER_SYS&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| PREPARED_TO_JUMP_TO_APP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== StartupArgumentType ==&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;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| STARTUP_ARGUMENT_TYPE_OTHER_APP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| STARTUP_ARGUMENT_TYPE_RESTART&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| STARTUP_ARGUMENT_TYPE_OTHER_MEDIA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CaptureBufferInfo ==&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;
| u32, Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x1&lt;br /&gt;
| u8, 3D (0 = not 3D, 1 = 3D)&lt;br /&gt;
|-&lt;br /&gt;
| 0x5&lt;br /&gt;
| 0x3&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Main Screen Left Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Main Screen Right Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Main Screen [[NS_and_APT_Services#DisplayBufferMode|DisplayBufferMode]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Sub Screen Left Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Sub Screen Right Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Sub Screen [[NS_and_APT_Services#DisplayBufferMode|DisplayBufferMode]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==WirelessRebootInfo==&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;
| 0x6&lt;br /&gt;
| Host MAC address.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6&lt;br /&gt;
| 0x9&lt;br /&gt;
| WirelessRebootPassphrase&lt;br /&gt;
|-&lt;br /&gt;
| 0xF&lt;br /&gt;
| 0x1&lt;br /&gt;
| Uninitialized&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is [[NSS:SetWirelessRebootInfo|setup]] by the dlplay system-application, before launching the DLP-child which can then use [[APT:GetWirelessRebootInfo]]. The MAC address and passphrase is used for connecting to the host by the DLP-child. See also [[DLP_Services|here]].&lt;br /&gt;
&lt;br /&gt;
{{Anchor|APTA}}{{Anchor|APT:A}}&lt;br /&gt;
=&amp;quot;APT:A&amp;quot; Service=&lt;br /&gt;
This was added with [[7.0.0-13|7.0.0-X]]. Official apps built with the CTRSDK for system-version &amp;gt;=[[7.0.0-13|7.0.0-X]] normally use the &amp;quot;APT:A&amp;quot; service instead of &amp;quot;APT:U&amp;quot;. Those processes also have &amp;quot;APT:A&amp;quot; instead of &amp;quot;APT:U&amp;quot; in the service-access-control. Unlike APT:U, APT:A can call [[APT:GetAppletInfo]] with applet ID 0x300.&lt;br /&gt;
&lt;br /&gt;
=Applets=&lt;br /&gt;
NS module does not verify that the input appID for the APT service cmds are correct for that type of command. For example, a process-launch of a SystemApplet via LibraryApplet commands works fine(minus the launched-process side of APT probably).&lt;br /&gt;
&lt;br /&gt;
==System Applets==&lt;br /&gt;
On Old3DS there could only be one applet here(Home Menu, Internet Browser, Friend-List, etc) with programID-high 00040030 running at a time. On Old3DS when directly launching one of these 00040030 applets with Home Menu, the Home Menu process will terminate once the process is launched. On Old3DS when returning to Home Menu from that launched process, the Home Menu process is launched again.&lt;br /&gt;
&lt;br /&gt;
On New3DS the Home Menu process is still running/in-memory, while another system-applet is running. On New3DS it appears that the Home Menu process is terminated+relaunched, when another system-applet terminated without exiting with APT properly.&lt;br /&gt;
&lt;br /&gt;
==Library Applets==&lt;br /&gt;
Library applets can be launched by applications and regular applets. These library applets render to the screen(s) when running, etc. For example, this includes swkbd for text input. See the below appIDs in the 0x2XX range, the actual appID used is 0x4XX however.&lt;br /&gt;
&lt;br /&gt;
Input data can be sent to the library applet via the NS [[APT:SendParameter|parameter]] buffer, and/or with shared-memory with a shared-mem handle sent to the library applet. Output data from the library applet can be received by [[APT:ReceiveParameter]], the library applet can also use the specified shared-mem for output too.&lt;br /&gt;
&lt;br /&gt;
=AppIDs=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  AppID&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x101&lt;br /&gt;
| [[Home Menu]] (menu)&lt;br /&gt;
|-&lt;br /&gt;
| 0x103&lt;br /&gt;
| Alternate Menu&lt;br /&gt;
|-&lt;br /&gt;
| 0x110&lt;br /&gt;
| Camera applet ([[Camera Applet|CtrApp]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x112&lt;br /&gt;
| Friends List applet ([[Friend List|friend]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x113&lt;br /&gt;
| Game Notes applet (Cherry)&lt;br /&gt;
|-&lt;br /&gt;
| 0x114&lt;br /&gt;
| [[Internet Browser]] (spider/SKATER)&lt;br /&gt;
|-&lt;br /&gt;
| 0x115&lt;br /&gt;
| Instruction Manual applet&lt;br /&gt;
|-&lt;br /&gt;
| 0x116&lt;br /&gt;
| [[Notifications]] applet (newslist)&lt;br /&gt;
|-&lt;br /&gt;
| 0x117&lt;br /&gt;
| Miiverse applet (olv)&lt;br /&gt;
|-&lt;br /&gt;
| 0x118&lt;br /&gt;
| [[Miiverse]] posting applet (solv3)&lt;br /&gt;
|-&lt;br /&gt;
| 0x119&lt;br /&gt;
| Amiibo settings (cabinet)&lt;br /&gt;
|-&lt;br /&gt;
| 0x201&lt;br /&gt;
| Software Keyboard (swkbd) (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x202&lt;br /&gt;
| [[Mii Selector]] (appletEd) (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x204&lt;br /&gt;
| Photo Selector (PNOTE_AP) (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x205&lt;br /&gt;
| Sound Selector (SNOTE_AP) (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x206&lt;br /&gt;
| Error Display ([[ErrDisp|error]]) (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x207&lt;br /&gt;
| eShop applet ([[EShop#NS_eShop_application_parameters|mint]]) (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x208&lt;br /&gt;
| Circle Pad Pro Calibrator ([[Extrapad_Applet|extrapad]]) (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x209&lt;br /&gt;
| Notepad (memolib) (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x300&lt;br /&gt;
| Application&lt;br /&gt;
|-&lt;br /&gt;
| 0x301&lt;br /&gt;
| eShop (tiger)&lt;br /&gt;
|-&lt;br /&gt;
| 0x401&lt;br /&gt;
| Software Keyboard (swkbd)&lt;br /&gt;
|-&lt;br /&gt;
| 0x402&lt;br /&gt;
| Mii Selector (appletEd)&lt;br /&gt;
|-&lt;br /&gt;
| 0x404&lt;br /&gt;
| Photo Selector (PNOTE_AP)&lt;br /&gt;
|-&lt;br /&gt;
| 0x405&lt;br /&gt;
| Sound Selector (SNOTE_AP)&lt;br /&gt;
|-&lt;br /&gt;
| 0x406&lt;br /&gt;
| Error Display (error)&lt;br /&gt;
|-&lt;br /&gt;
| 0x407&lt;br /&gt;
| eShop applet (mint)&lt;br /&gt;
|-&lt;br /&gt;
| 0x408&lt;br /&gt;
| Circle Pad Pro Calibrator ([[Extrapad_Applet|extrapad]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x409&lt;br /&gt;
| Notepad (memolib)&lt;br /&gt;
|-&lt;br /&gt;
| 0xF10&lt;br /&gt;
| ProgramID: 0004003000008900.&lt;br /&gt;
|-&lt;br /&gt;
| 0xF11&lt;br /&gt;
| ProgramID: 000400000FFFFD00.&lt;br /&gt;
|-&lt;br /&gt;
| 0xF12&lt;br /&gt;
| ProgramID: 000400000FFFFC00.&lt;br /&gt;
|-&lt;br /&gt;
| 0xF13&lt;br /&gt;
| ProgramID: 000400000FFFFB00.&lt;br /&gt;
|-&lt;br /&gt;
| 0xF14&lt;br /&gt;
| ProgramID: 000400000FFFF900.&lt;br /&gt;
|-&lt;br /&gt;
| 0xF15&lt;br /&gt;
| ProgramID: 000400000FFFF800.&lt;br /&gt;
|-&lt;br /&gt;
| 0xF16&lt;br /&gt;
| ProgramID: 000400000FFFF700.&lt;br /&gt;
|-&lt;br /&gt;
| 0xF17&lt;br /&gt;
| ProgramID: 000400000FFFF600.&lt;br /&gt;
|-&lt;br /&gt;
| 0xF18&lt;br /&gt;
| ProgramID: 000400000FFFF500.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These AppIDs are all for NAND titles, except for 0x300. AppIDs in the 0x1XX range are applets(programID-high 00040030), and the AppIDs in the 0x2XX range are &amp;quot;system libraries&amp;quot;(programID-high 00040030). The 0xFXX AppID range is for development NAND applications, these are not available for retail.&lt;br /&gt;
&lt;br /&gt;
Note that at some point the total AppID entry count was changed from 28 to 27.&lt;br /&gt;
&lt;br /&gt;
[[Category:Services]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Services_API&amp;diff=22741</id>
		<title>Services API</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Services_API&amp;diff=22741"/>
		<updated>2024-09-18T10:31:21Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Replace service links with new Template:Service&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nintendo provides application developers with an API, which communicate with certain services. Services, in this sense, are [[Title_list#00040130_-_System_Modules|system processes running in the background]] which wait for incoming requests. When a process wants to communicate with a service, it first needs to get a handle to the named service, and then it can communicate with the service via interprocess communication. Each service has a name up to 8 characters, for example {{Service|nim:u}}.&lt;br /&gt;
&lt;br /&gt;
Handles for services are retrieved from the [[Services|service manager port]], &amp;lt;code&amp;gt;srv:&amp;lt;/code&amp;gt;. Services are an abstraction of ports, they operate the same way except regular ports can have their handles retrieved directly from a SVC.&lt;br /&gt;
&lt;br /&gt;
For a description of how commands and arguments are passed to services, see [[IPC Command Structure]].&lt;br /&gt;
&lt;br /&gt;
List of services (grouped by the process which provides them):&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Old3ds&lt;br /&gt;
!  Services&lt;br /&gt;
!  Service names&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200&amp;quot; |  Notes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Filesystem services‎]]&lt;br /&gt;
| {{Service|fs:USER}}, {{Service|fs:LDR}}, {{Service|fs:REG}}&lt;br /&gt;
| USER: normal applications and system modules, LDR: loader, REG: register&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Process Services‎]]&lt;br /&gt;
| {{Service|ps:ps}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[PXI Services‎]]&lt;br /&gt;
| {{Service|PxiFS0}}, {{Service|PxiFS1}}, {{Service|PxiFSB}}, {{Service|PxiFSR}}, {{Service|PxiPM}}, {{Service|pxi:am9}}, {{Service|pxi:dev}}, {{Service|pxi:mc}}, {{Service|pxi:ps9}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Application Manager Services]]&lt;br /&gt;
| {{Service|am:app}}, {{Service|am:net}}, {{Service|am:u}}, {{Service|am:sys}}, {{Service|am:pipe}}&lt;br /&gt;
| app: am for applications, net: network installation ([[NIM_Services|nim]]), u: local installation, sys: am for system titles, pipe: not an actual port (internally used to represent the [[Application_Manager_Services#File_service|FSFile-like interface]])&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Process Manager Services]]&lt;br /&gt;
| {{Service|pm:app}}, {{Service|pm:dbg}}&lt;br /&gt;
| app: launching titles, dbg: launching titles with debugging enabled&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[NIM Services]]&lt;br /&gt;
| {{Service|nim:aoc}}, {{Service|nim:ndm}}, {{Service|nim:s}}, {{Service|nim:u}}&lt;br /&gt;
| aoc: DLC, ndm: for [[NDM Services|ndm]], s: for eShop, u: for updater&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Config Services]]&lt;br /&gt;
| {{Service|cfg:u}}, {{Service|cfg:s}}, {{Service|cfg:i}}, {{Service|cfg:nor}}&lt;br /&gt;
| u: for user, s: for system, i: for initialization/formatting, nor: accesses wifi SPI flash&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[NS|NS and APT Services]]&lt;br /&gt;
| {{Service|ns:s}}, {{Service|ns:p}}, {{Service|ns:c}}, {{Service|APT:A}}, {{Service|APT:S}}, {{Service|APT:U}}&lt;br /&gt;
| ns:s: for system, ns:p: power (shutdown/reboot), ns:c: ?, APT:A: application, APT:S: system, APT:U: user&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[RO Services]]&lt;br /&gt;
| {{Service|ldr:ro}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[NDM Services]]&lt;br /&gt;
| {{Service|ndm:u}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[CSND Services]]&lt;br /&gt;
| {{Service|csnd:SND}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Camera Services]]&lt;br /&gt;
| {{Service|cam:u}}, {{Service|y2r:u}}, {{Service|cam:s}}, {{Service|cam:c}}, {{Service|cam:q}} (New3DS only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Codec Services]]&lt;br /&gt;
| {{Service|cdc:HID}}, {{Service|cdc:MIC}}, {{Service|cdc:CSN}}, {{Service|cdc:DSP}}, {{Service|cdc:LGY}}, {{Service|cdc:CHK}}&lt;br /&gt;
| HID: human interface device, MIC: microphone, CSN: for [[CSND_Services|csnd]]?, DSP: for [[DSP_Services|dsp]]?, LGY: legacy (some kind of backwards compat?), CHK: ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[DLP Services]]&lt;br /&gt;
| {{Service|dlp:CLNT}}, {{Service|dlp:FKCL}}, {{Service|dlp:SRVR}}&lt;br /&gt;
| CLNT: client, FKCL: fake client, SRVR: server&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[DSP Services]]&lt;br /&gt;
| {{Service|dsp::DSP}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[GSP Services]]&lt;br /&gt;
| {{Service|gsp::Lcd}}, {{Service|gsp::Gpu}}&lt;br /&gt;
| Lcd: LCD control, Gpu: GPU control&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[BOSS Services]]&lt;br /&gt;
| {{Service|boss:U}}, {{Service|boss:P}}, {{Service|boss:M}}&lt;br /&gt;
| U: user, P: privileged, M: for [[NDM Services|ndm]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[CECD Services]]&lt;br /&gt;
| {{Service|cecd:u}}, {{Service|cecd:s}}, {{Service|cecd:ndm}}&lt;br /&gt;
| u: user, s: system, ndm: for [[NDM Services|ndm]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[IR Services]]&lt;br /&gt;
| {{Service|ir:u}}, {{Service|ir:USER}}, {{Service|ir:rst}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[I2C Services]]&lt;br /&gt;
| {{Service|i2c::MCU}}, {{Service|i2c::CAM}}, {{Service|i2c::LCD}}, {{Service|i2c::DEB}}, {{Service|i2c::HID}}, {{Service|i2c::IR}}, {{Service|i2c::EEP}}, {{Service|i2c::NFC}}, {{Service|i2c::QTM}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[GPIO Services]]&lt;br /&gt;
| {{Service|gpio:CDC}}, {{Service|gpio:MCU}}, {{Service|gpio:HID}}, {{Service|gpio:NWM}}, {{Service|gpio:IR}}, {{Service|gpio:NFC}}, {{Service|gpio:QTM}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[HID Services]]&lt;br /&gt;
| {{Service|hid:NFC}}, {{Service|hid:QTM}}, {{Service|hid:SPVR}}, {{Service|hid:USER}}&lt;br /&gt;
| NFC: near-field communication (amiibo), QTM: head tracking device (related to [[QTM_Services|QTM Services]])?, SPVR: system privileged?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[PTM Services]]&lt;br /&gt;
| {{Service|ptm:gets}}, {{Service|ptm:play}}, {{Service|ptm:s}}, {{Service|ptm:sets}}, {{Service|ptm:sysm}}, {{Service|ptm:u}}&lt;br /&gt;
| gets: get system time, play: play history, s: system, sets: set system time, sysm: system menu (homemenu/testmenu), u: user&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[NWM Services]]&lt;br /&gt;
| {{Service|nwm::CEC}}, {{Service|nwm::EXT}}, {{Service|nwm::INF}}, {{Service|nwm::SAP}}, {{Service|nwm::SOC}}, {{Service|nwm::TST}}, {{Service|nwm::UDS}}&lt;br /&gt;
| CEC: streetpass, EXT: ?, INF: infrastructure, SAP: ?, SOC: socket, UDS: local WLAN, TST: ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[HTTP Services]]&lt;br /&gt;
| {{Service|http:C}}&lt;br /&gt;
| C: connection&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[SSL Services]]&lt;br /&gt;
| {{Service|ssl:C}}&lt;br /&gt;
| C: connection&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Socket Services]]&lt;br /&gt;
| {{Service|soc:P}}, {{Service|soc:U}}&lt;br /&gt;
| P: privileged, U: user&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[AC Services]]&lt;br /&gt;
| {{Service|ac:i}}, {{Service|ac:u}}&lt;br /&gt;
| i: internal, u: user&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Friend Services]]&lt;br /&gt;
| {{Service|frd:a}}, {{Service|frd:n}}, {{Service|frd:u}}&lt;br /&gt;
| a: admin, n: for [[NDM Services|ndm]], u: user&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[News Services]]&lt;br /&gt;
| {{Service|news:s}}, {{Service|news:u}}&lt;br /&gt;
| s: system, u:user&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[PDN Services]]&lt;br /&gt;
| {{Service|pdn:s}}, {{Service|pdn:d}}, {{Service|pdn:i}}, {{Service|pdn:g}}, {{Service|pdn:c}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[SPI Services]]&lt;br /&gt;
| {{Service|SPI::NOR}}, {{Service|SPI::CD2}}, {{Service|SPI::CS2}}, {{Service|SPI::CS3}}, {{Service|SPI::DEF}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Loader Services]]&lt;br /&gt;
| {{Service|Loader}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[MCU Services]]&lt;br /&gt;
| {{Service|mcu::CAM}}, {{Service|mcu::GPU}}, {{Service|mcu::HID}}, {{Service|mcu::RTC}}, {{Service|mcu::SND}}, {{Service|mcu::NWM}}, {{Service|mcu::HWC}}, {{Service|mcu::PLS}}, {{Service|mcu::CDC}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[MIC Services]]&lt;br /&gt;
| {{Service|mic:u}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[ACT Services]]&lt;br /&gt;
| {{Service|act:a}}, {{Service|act:u}}&lt;br /&gt;
| a: admin, u: user&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
| {{Service|mp:u}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[NFC Services]]&lt;br /&gt;
| {{Service|nfc:dev}}, {{Service|nfc:m}}, {{Service|nfc:p}}, {{Service|nfc:r}}, {{Service|nfc:s}}, {{Service|nfc:u}}&lt;br /&gt;
| dev: developer, m: ? p: passthrough?, r: raw?, s: system, u: user&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| [[QTM Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
List of PXI services:&lt;br /&gt;
* [[Filesystem services PXI]]&lt;br /&gt;
* [[Process Services PXI]]&lt;br /&gt;
* [[Application Manager Services PXI]]&lt;br /&gt;
* [[Process Manager Services PXI]]&lt;br /&gt;
* [[Development Services PXI]]&lt;br /&gt;
* [[Gamecard Services PXI]]&lt;br /&gt;
* [[Legacy FIRM PXI]] (TWL_FIRM/AGB_FIRM)&lt;br /&gt;
&lt;br /&gt;
List of ports:&lt;br /&gt;
* [[ErrDisp]]&lt;br /&gt;
* [[Services]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See [[Error codes]].&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:Service&amp;diff=22740</id>
		<title>Template:Service</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:Service&amp;diff=22740"/>
		<updated>2024-09-18T10:19:43Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Prevent &amp;quot;news:*&amp;quot; service links from breaking&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;[[:{{{1}}}]]&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Template:Service&amp;diff=22739</id>
		<title>Template:Service</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Template:Service&amp;diff=22739"/>
		<updated>2024-09-18T10:16:37Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Created page with &amp;quot;&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;[[{{{1}}}]]&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Cfg:nor&amp;diff=22738</id>
		<title>Cfg:nor</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Cfg:nor&amp;diff=22738"/>
		<updated>2024-09-18T09:58:30Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to Config Services#cfg:nor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Config_Services#cfg:nor]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Cfg:i&amp;diff=22737</id>
		<title>Cfg:i</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Cfg:i&amp;diff=22737"/>
		<updated>2024-09-18T09:57:22Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to Config Services#cfg:i&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Config_Services#cfg:i]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Cfg:s&amp;diff=22736</id>
		<title>Cfg:s</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Cfg:s&amp;diff=22736"/>
		<updated>2024-09-18T09:57:06Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to Config Services#cfg:s&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Config_Services#cfg:s]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Cfg:u&amp;diff=22735</id>
		<title>Cfg:u</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Cfg:u&amp;diff=22735"/>
		<updated>2024-09-18T09:56:09Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to Config Services#cfg:u&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Config_Services#cfg:u]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=SRV:RegisterService&amp;diff=22734</id>
		<title>SRV:RegisterService</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=SRV:RegisterService&amp;diff=22734"/>
		<updated>2024-09-18T09:54:28Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Convert to IPC templates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Request=&lt;br /&gt;
{{IPC/Request|Request}}&lt;br /&gt;
{{IPC/RequestHeader|0x0003|4|0}}&lt;br /&gt;
{{IPC/RequestEntryRange|2|8-byte UTF-8 service name}}&lt;br /&gt;
{{IPC/RequestEntry|Name length}}&lt;br /&gt;
{{IPC/RequestEntry|Maximum sessions}}&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
&lt;br /&gt;
=Response=&lt;br /&gt;
{{IPC/Request|Response}}&lt;br /&gt;
{{IPC/RequestHeader|0x0003|1|2}}&lt;br /&gt;
{{IPC/RequestEntry|Result code}}&lt;br /&gt;
{{IPC/MoveHandle|1}}&lt;br /&gt;
{{IPC/MoveHandleEntry|&amp;lt;code&amp;gt;Handle&amp;lt;[[KServerPort]]&amp;gt;&amp;lt;/code&amp;gt; which will receive incoming connections to the service.}}&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
&lt;br /&gt;
This function registers a new service which can be accessed using [[SRV:GetServiceHandle]]. The service manager will create a new client-server port pair, registering the [[KPort|client endpoint]] under the given name, and returning the [[KServerPort|server endpoint]] for the service to listen on for incoming connections.&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=GSPGPU:WriteHWRegsWithMask&amp;diff=22733</id>
		<title>GSPGPU:WriteHWRegsWithMask</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=GSPGPU:WriteHWRegsWithMask&amp;diff=22733"/>
		<updated>2024-09-18T09:50:30Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Fix reponse section saying &amp;quot;request&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Request=&lt;br /&gt;
{{IPC/Request|Request}}&lt;br /&gt;
{{IPC/RequestHeader|0x0002|2|4}}&lt;br /&gt;
{{IPC/RequestEntry|[[GPU]] address based at 0x1EB00000, must be word-aligned}}&lt;br /&gt;
{{IPC/RequestEntry|&amp;lt;nowiki&amp;gt;Size, must be &amp;lt;=0x80 and word-aligned&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{IPC/TranslateStaticBuffer|Data pointer|0}}&lt;br /&gt;
{{IPC/TranslateStaticBuffer|Mask data pointer|1}}&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
&lt;br /&gt;
=Response=&lt;br /&gt;
{{IPC/Request|Response}}&lt;br /&gt;
{{IPC/RequestHeader|0x0002|2|0}}&lt;br /&gt;
{{IPC/RequestEntry|Header code}}&lt;br /&gt;
{{IPC/RequestEntry|Result code}}&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
The GPU register offset must be &amp;lt;0x420000. GPU register = (register &amp;amp; ~maskword) | (data &amp;amp; maskword).&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Nim:u&amp;diff=22732</id>
		<title>Nim:u</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Nim:u&amp;diff=22732"/>
		<updated>2024-09-18T09:40:33Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to NIM Services#nim:u&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[NIM_Services#nim:u]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Nim:s&amp;diff=22731</id>
		<title>Nim:s</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Nim:s&amp;diff=22731"/>
		<updated>2024-09-18T09:39:58Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to NIM Services#nim:s&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[NIM_Services#nim:s]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Nim:ndm&amp;diff=22730</id>
		<title>Nim:ndm</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Nim:ndm&amp;diff=22730"/>
		<updated>2024-09-18T09:39:33Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to NIM Services#nim:ndm&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[NIM_Services#nim:ndm]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Nim:aoc&amp;diff=22729</id>
		<title>Nim:aoc</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Nim:aoc&amp;diff=22729"/>
		<updated>2024-09-18T09:39:06Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to NIM Services#nim:aoc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[NIM_Services#nim:aoc]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Pm:dbg&amp;diff=22728</id>
		<title>Pm:dbg</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Pm:dbg&amp;diff=22728"/>
		<updated>2024-09-18T09:37:12Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to Process Manager Services#pm:dbg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Process_Manager_Services#pm:dbg]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Pm:app&amp;diff=22727</id>
		<title>Pm:app</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Pm:app&amp;diff=22727"/>
		<updated>2024-09-18T09:36:48Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Redirected page to Process Manager Services#pm:app&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Process_Manager_Services#pm:app]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=RO_Services&amp;diff=22726</id>
		<title>RO Services</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=RO_Services&amp;diff=22726"/>
		<updated>2024-09-18T09:35:04Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Add anchors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Anchor|RO}}{{Anchor|ldr:ro}}&lt;br /&gt;
= RO service &amp;quot;ldr:ro&amp;quot; =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Available since system version&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000100C2&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[RO:Initialize|Initialize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020082&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[RO:LoadCRR|LoadCRR]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030042&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[RO:UnloadCRR|UnloadCRR]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000402C2&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[RO:LoadExeCRO|LoadCRO]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000500C2&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[RO:UnloadCRO|UnloadCRO]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060042&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[RO:LinkCRO|LinkCRO]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070042&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[RO:UnlinkCRO|UnlinkCRO]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080042&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[RO:Shutdown|Shutdown]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000902C2&lt;br /&gt;
| [[7.2.0-17]]&lt;br /&gt;
| [[RO:LoadExeCRO|LoadCRO_New]]&lt;br /&gt;
|}&lt;br /&gt;
The mapadress used in these services is calculated by the user-process like so: when inputaddr is &amp;lt;0x08000000, the address used is the same one from inputaddr. Otherwise, the address is: mapvaddr = inputaddr - (0x08000000 - &amp;lt;main-process .text address + .text, .rodata, .data, and .bss size aligned to pagesize&amp;gt;). This service API is used for CTR &amp;quot;DLLs&amp;quot;/shared libraries: [[CRO0|CRO]].&lt;br /&gt;
&lt;br /&gt;
= Error Codes =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border =&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Error Code&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
| D9012FF1&lt;br /&gt;
| Address is misaligned&lt;br /&gt;
|-&lt;br /&gt;
| E0A12FF9&lt;br /&gt;
| Service is already Initialized&lt;br /&gt;
|-&lt;br /&gt;
| E1612FF7&lt;br /&gt;
| Provided Kernel Handle is invalid&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
= Version history =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Version&lt;br /&gt;
!  Changes&lt;br /&gt;
|-&lt;br /&gt;
| v0&lt;br /&gt;
| Initial version.&lt;br /&gt;
|-&lt;br /&gt;
| v1024&lt;br /&gt;
| Removed access for SVC&#039;s: 5,7,D,E,10.&lt;br /&gt;
&lt;br /&gt;
Cmd5 now sets the last segment in the CRO binary to R-X when it&#039;s done.&lt;br /&gt;
&lt;br /&gt;
Maybe more.&lt;br /&gt;
|-&lt;br /&gt;
| v2049&lt;br /&gt;
| No changes.&lt;br /&gt;
|-&lt;br /&gt;
| v3074&lt;br /&gt;
| Added cmd9.&lt;br /&gt;
|-&lt;br /&gt;
| v4096&lt;br /&gt;
| No changes.&lt;br /&gt;
|-&lt;br /&gt;
| [[9.0.0-20|v5120]]&lt;br /&gt;
| No actual changes, just a rebuild with latest CTRSDK(only the CTRSDK version values in .code for [[ErrDisp]] were updated).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Services]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Config_Services&amp;diff=22725</id>
		<title>Config Services</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Config_Services&amp;diff=22725"/>
		<updated>2024-09-18T09:33:40Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Add anchors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{Anchor|Cfg}}{{Anchor|CfgU}}{{Anchor|CFG}}{{Anchor|CFGU}}{{Anchor|cfg:u}}&lt;br /&gt;
= Config service &amp;quot;cfg:u&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Available since system version&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010082&lt;br /&gt;
| &lt;br /&gt;
| [[CfgS:GetConfigInfoBlk2|GetConfigInfoBlk2]]/GetConfig&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020000&lt;br /&gt;
| &lt;br /&gt;
| [[Cfg:SecureInfoGetRegion|SecureInfoGetRegion]]/GetRegion&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030040&lt;br /&gt;
| &lt;br /&gt;
| [[Cfg:GenHashConsoleUnique|GenHashConsoleUnique]]/GetTransferableId&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040000&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| [[Cfg:GetRegionCanadaUSA|GetRegionCanadaUSA]]/IsCoppacsSupported&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050000&lt;br /&gt;
| [[5.0.0-11]]&lt;br /&gt;
| [[Cfg:GetSystemModel|GetSystemModel]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060000&lt;br /&gt;
| [[6.0.0-11]]&lt;br /&gt;
| [[Cfg:GetModelNintendo2DS|GetModelNintendo2DS]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070040&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| (u8 val) This writes the input u8 to the first byte in the config-block for blkID [[Config_Savegame|0x00160000]].&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080080&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| [[Cfg:TranslateCountryInfo|TranslateCountryInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090040&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| [[Cfg:GetCountryCodeString|GetCountryCodeString]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0040&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| [[Cfg:GetCountryCodeID|GetCountryCodeID]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0000&lt;br /&gt;
| [[9.3.0-21|9.3.0-X]]&lt;br /&gt;
| IsFangateSupported&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Anchor|CfgS}}{{Anchor|CFGS}}{{Anchor|cfg:s}}&lt;br /&gt;
= Config service &amp;quot;cfg:s&amp;quot; =&lt;br /&gt;
cfg:s contains all the commands in [[#cfg:u|cfg:u]], in addition to the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Available since system version&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x04010082&lt;br /&gt;
| &lt;br /&gt;
| [[CfgS:GetConfigInfoBlk8|GetConfigInfoBlk8]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x04020082&lt;br /&gt;
| &lt;br /&gt;
| [[CfgS:SetConfigInfoBlk4|SetConfigInfoBlk4]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x04030000&lt;br /&gt;
| &lt;br /&gt;
| [[Cfg:UpdateConfigNANDSavegame|UpdateConfigNANDSavegame]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x04040042&lt;br /&gt;
| &lt;br /&gt;
| [[Cfg:GetLocalFriendCodeSeedData|GetLocalFriendCodeSeedData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x04050000&lt;br /&gt;
| &lt;br /&gt;
| [[CfgS:GetLocalFriendCodeSeed|GetLocalFriendCodeSeed]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x04060000&lt;br /&gt;
| &lt;br /&gt;
| [[Cfg:SecureInfoGetRegion|SecureInfoGetRegion]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x04070000&lt;br /&gt;
| &lt;br /&gt;
| [[CfgS:SecureInfoGetByte101|SecureInfoGetByte101]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x04080042&lt;br /&gt;
| &lt;br /&gt;
| [[CfgS:SecureInfoGetSerialNo|SecureInfoGetSerialNo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x04090000&lt;br /&gt;
| &lt;br /&gt;
| [[Cfg:UpdateConfigBlk00040003|UpdateConfigBlk00040003]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x040A0000&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x040B0000&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x040C0000&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x040D0040&lt;br /&gt;
| &lt;br /&gt;
| SetUUIDClockSequence&lt;br /&gt;
|-&lt;br /&gt;
| 0x040E0000&lt;br /&gt;
| &lt;br /&gt;
| GetUUIDClockSequence&lt;br /&gt;
|-&lt;br /&gt;
| 0x040F0000&lt;br /&gt;
| &lt;br /&gt;
| [[CfgS:ClearParentalControls|ClearParentalControls]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
CfgS command 0x04060000(SecureInfoGetRegion) is used by NIM module to determine the SOAP RegionId, when sending SOAP requests. See [[Nandrw/sys/SecureInfo_A|here]].&lt;br /&gt;
&lt;br /&gt;
{{Anchor|CfgI}}{{Anchor|CFGI}}{{Anchor|cfg:i}}&lt;br /&gt;
= Config service &amp;quot;cfg:i&amp;quot; =&lt;br /&gt;
cfg:i contains all the commands in [[#cfg:u|cfg:u]] and [[#cfg:s|cfg:s]], in addition to the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Available since system version&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x08010082&lt;br /&gt;
| &lt;br /&gt;
| [[CfgS:GetConfigInfoBlk8|GetConfigInfoBlk8]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08020082&lt;br /&gt;
| &lt;br /&gt;
| [[CfgS:SetConfigInfoBlk4|SetConfigInfoBlk4]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08030000&lt;br /&gt;
| &lt;br /&gt;
| [[Cfg:UpdateConfigNANDSavegame|UpdateConfigNANDSavegame]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x080400C2&lt;br /&gt;
| &lt;br /&gt;
| [[CfgI:CreateConfigInfoBlk|CreateConfigInfoBlk]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08050000&lt;br /&gt;
| &lt;br /&gt;
| [[CfgI:DeleteConfigNANDSavefile|DeleteConfigNANDSavefile]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08060000&lt;br /&gt;
| &lt;br /&gt;
| [[CfgI:FormatConfig|FormatConfig]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08070000&lt;br /&gt;
| &lt;br /&gt;
| This basically just returns result-code value 0x0, due to code this eventually executes being NOPed out.&lt;br /&gt;
|-&lt;br /&gt;
| 0x08080000&lt;br /&gt;
| &lt;br /&gt;
| This updates the config blocks for blkIDs 0x0 and 0x20000. In certain cases this may call the code for [[CfgI:FormatConfig|FormatConfig]].&lt;br /&gt;
|-&lt;br /&gt;
| 0x08090000&lt;br /&gt;
| &lt;br /&gt;
| This updates the config block for blkID 0x60000.&lt;br /&gt;
|-&lt;br /&gt;
| 0x080A0000&lt;br /&gt;
| &lt;br /&gt;
| ResetAnalogStickCalibrationParam? This updates the config block for blkID 0x00040001.&lt;br /&gt;
|-&lt;br /&gt;
| 0x080B0082&lt;br /&gt;
| &lt;br /&gt;
| [[CfgI:SetGetLocalFriendCodeSeedData|SetGetLocalFriendCodeSeedData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x080C0042&lt;br /&gt;
| &lt;br /&gt;
| [[CfgI:SetLocalFriendCodeSeedSignature|SetLocalFriendCodeSeedSignature]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x080D0000&lt;br /&gt;
| &lt;br /&gt;
| [[CfgI:DeleteCreateNANDLocalFriendCodeSeed|DeleteCreateNANDLocalFriendCodeSeed]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x080E0000&lt;br /&gt;
| &lt;br /&gt;
| [[CfgI:VerifySigLocalFriendCodeSeed|VerifySigLocalFriendCodeSeed]] &lt;br /&gt;
|-&lt;br /&gt;
| 0x080F0042&lt;br /&gt;
| &lt;br /&gt;
| [[Cfg:GetLocalFriendCodeSeedData|GetLocalFriendCodeSeedData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08100000&lt;br /&gt;
| &lt;br /&gt;
| [[CfgS:GetLocalFriendCodeSeed|GetLocalFriendCodeSeed]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08110084&lt;br /&gt;
| &lt;br /&gt;
| [[CfgI:SetSecureInfo|SetSecureInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08120000&lt;br /&gt;
| &lt;br /&gt;
| [[CfgI:DeleteCreateNANDSecureInfo|DeleteCreateNANDSecureInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08130000&lt;br /&gt;
| &lt;br /&gt;
| [[CfgI:VerifySigSecureInfo|VerifySigSecureInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08140042&lt;br /&gt;
| &lt;br /&gt;
| [[CfgI:SecureInfoGetData|SecureInfoGetData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08150042&lt;br /&gt;
| &lt;br /&gt;
| [[CfgI:SecureInfoGetSignature|SecureInfoGetSignature]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08160000&lt;br /&gt;
| &lt;br /&gt;
| [[Cfg:SecureInfoGetRegion|SecureInfoGetRegion]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08170000&lt;br /&gt;
| &lt;br /&gt;
| [[CfgS:SecureInfoGetByte101|SecureInfoGetByte101]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08180042&lt;br /&gt;
| &lt;br /&gt;
| [[CfgS:SecureInfoGetSerialNo|SecureInfoGetSerialNo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0819....&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x081A....&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x081B....&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x081C....&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x081D....&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x081E....&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x081F....&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0820....&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Anchor|CfgNor}}{{Anchor|CFGNOR}}{{Anchor|cfg:nor}}&lt;br /&gt;
= Config NVRAM service &amp;quot;cfg:nor&amp;quot; =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010040&lt;br /&gt;
| [[CfgNor:Initialize|Initialize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020000&lt;br /&gt;
| [[CfgNor:Shutdown|Shutdown]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030040&lt;br /&gt;
| (u8 flag) Writes the input flag to state. Uses SPI service command [[SPI_Services|EnableSpiBus]].&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040000&lt;br /&gt;
| Writes the u8 from the state written by 0x00030040 to cmdreply[2].&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050082&lt;br /&gt;
| [[CfgNor:ReadData|ReadData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060082&lt;br /&gt;
| [[CfgNor:WriteData|WriteData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070000&lt;br /&gt;
| This just uses the WREN command.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080000&lt;br /&gt;
| This just uses the WRDI command.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090000&lt;br /&gt;
| [[CfgNor:ReadIdentification|ReadIdentification]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0000&lt;br /&gt;
| This waits for the WIP bit in the status register to clear(wait for writing to finish).&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0000&lt;br /&gt;
| This waits for the WEL bit in the status register to become set(write enabled).&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0000&lt;br /&gt;
| This writes the value of the WIP bit in the status register to u8 cmdreply[2].&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0000&lt;br /&gt;
| This writes the value of the WIP bit in the status register to u8 cmdreply[2].&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E0000&lt;br /&gt;
| [[CfgNor:ReadStatusRegister|ReadStatusRegister]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0082&lt;br /&gt;
| [[CfgNor:ReadDataOther|ReadDataOther]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00100082&lt;br /&gt;
| [[CfgNor:WriteDataOther|WriteDataOther]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110040&lt;br /&gt;
| (u32 offset) Uses command WREN then waits for WEL to become enabled. Sends command 0xDB to SPI followed by the specified flash offset.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00120040&lt;br /&gt;
| (u32 offset) Identical to 0x00110040 except this uses SPI-command 0xD8 instead(&amp;quot;block erase&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130000&lt;br /&gt;
| This uses SPI command 0xB9 for &amp;quot;Deep power down&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00140000&lt;br /&gt;
| This uses SPI command 0xAB for &amp;quot;Release from deep power down&amp;quot;.&lt;br /&gt;
|}&lt;br /&gt;
This is an interface for the [[SPI::NOR]] service, for accessing the Wifi NVRAM/SPI Flash.&lt;br /&gt;
&lt;br /&gt;
[[Category:Services]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=NIM_Services&amp;diff=22724</id>
		<title>NIM Services</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=NIM_Services&amp;diff=22724"/>
		<updated>2024-09-18T09:29:25Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Add anchors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{Anchor|NIMU}}{{Anchor|nim:u}}&lt;br /&gt;
= NIM updater service &amp;quot;nim:u&amp;quot; =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010000&lt;br /&gt;
| [[NIMU:StartNetworkUpdate|StartNetworkUpdate]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020000&lt;br /&gt;
| [[NIMU:GetProgress|GetProgress]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030000&lt;br /&gt;
| [[NIMU:Cancel|Cancel]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040000&lt;br /&gt;
| [[NIMU:CommitSystemTitles|CommitSystemTitles]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050000&lt;br /&gt;
| [[NIMU:GetBackgroundEventForMenu|GetBackgroundEventForMenu]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060000&lt;br /&gt;
| [[NIMU:GetBackgroundEventForNews|GetBackgroundEventForNews]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070000&lt;br /&gt;
| [[NIMU:FormatSaveData|FormatSaveData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080000&lt;br /&gt;
| [[NIMU:GetCustomerSupportCode|GetCustomerSupportCode]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090000&lt;br /&gt;
| [[NIMU:IsCommittableAllSystemTitles|IsCommittableAllSystemTitles]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0000&lt;br /&gt;
| [[NIMU:GetBackgroundProgress|GetBackgroundProgress]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0000&lt;br /&gt;
| [[NIMU:GetSavedHash|GetSavedHash]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0082&lt;br /&gt;
| [[NIMU:UnregisterTask|UnregisterTask]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0080&lt;br /&gt;
| [[NIMU:IsRegistered|IsRegistered]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E0080&lt;br /&gt;
| [[NIMU:FindTaskInfo|FindTaskInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0042&lt;br /&gt;
| [[NIMU:GetTaskInfos|GetTaskInfos]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00100000&lt;br /&gt;
| [[NIMU:DeleteUnmanagedContexts|DeleteUnmanagedContexts]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110000&lt;br /&gt;
| [[NIMU:UpdateAutoTitleDownloadTasksAsync|UpdateAutoTitleDownloadTasksAsync]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00120000&lt;br /&gt;
| [[NIMU:StartPendingAutoTitleDownloadTasksAsync|StartPendingAutoTitleDownloadTasksAsync]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130000&lt;br /&gt;
| [[NIMU:GetAsyncResult|GetAsyncResult]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00140000&lt;br /&gt;
| [[NIMU:CancelAsyncCall|CancelAsyncCall]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00150000&lt;br /&gt;
| [[NIMU:IsPendingAutoTitleDownloadTasks|IsPendingAutoTitleDownloadTasks]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00160000&lt;br /&gt;
| [[NIMU:GetNumAutoTitleDownloadTasks|GetNumAutoTitleDownloadTasks]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00170042&lt;br /&gt;
| [[NIMU:GetAutoTitleDownloadTaskInfos|GetAutoTitleDownloadTaskInfos]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00180080&lt;br /&gt;
| [[NIMU:CancelAutoTitleDownloadTask|CancelAutoTitleDownloadTask]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00190002&lt;br /&gt;
| [[NIMU:SetAutoDbgDat|SetAutoDbgDat]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001A0002&lt;br /&gt;
| [[NIMU:GetAutoDbgDat|GetAutoDbgDat]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001B0042&lt;br /&gt;
| [[NIMU:SetDbgTasks|SetDbgTasks]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001C0042&lt;br /&gt;
| [[NIMU:GetDbgTasks|GetDbgTasks]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001D0000&lt;br /&gt;
| [[NIMU:DeleteDbgData|DeleteDbgData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001E0042&lt;br /&gt;
| [[NIMU:SetTslXml|SetTslXml]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001F0000&lt;br /&gt;
| [[NIMU:GetTslXmlSize|GetTslXmlSize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200042&lt;br /&gt;
| [[NIMU:GetTslXml|GetTslXml]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00210000&lt;br /&gt;
| [[NIMU:DeleteTslXml|DeleteTslXml]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00220042&lt;br /&gt;
| [[NIMU:SetDtlXml|SetDtlXml]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00230000&lt;br /&gt;
| [[NIMU:GetDtlXmlSize|GetDtlXmlSize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00240042&lt;br /&gt;
| [[NIMU:GetDtlXml|GetDtlXml]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00250000&lt;br /&gt;
| [[NIMU:UpdateAccountStatus|UpdateAccountStatus]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00260180&lt;br /&gt;
| [[NIMU:StartTitleDownload|StartTitleDownload]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00270000&lt;br /&gt;
| [[NIMU:StopTitleDownload|StopTitleDownload]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00280000&lt;br /&gt;
| [[NIMU:GetTitleDownloadProgress|GetTitleDownloadProgress]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00290246&lt;br /&gt;
| [[NIMU:RegisterTask|RegisterTask]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002A0000&lt;br /&gt;
| [[NIMU:IsSystemUpdateAvailable|IsSystemUpdateAvailable]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002B0000&lt;br /&gt;
| ? (Response: 0 = 0x002B0040, 1 = Result Code)&lt;br /&gt;
|-&lt;br /&gt;
| 0x002C0000&lt;br /&gt;
| [[NIMU:UpdateTickets|UpdateTickets]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002D00C0&lt;br /&gt;
| [[NIMU:DownloadTitleSeedAsync|DownloadTitleSeedAsync]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002E0000&lt;br /&gt;
| [[NIMU:DownloadMissingTitleSeedsAsync|DownloadMissingTitleSeedsAsync]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Anchor|NIMS}}{{Anchor|nim:s}}&lt;br /&gt;
= NIM shop service &amp;quot;nim:s&amp;quot; =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010200&lt;br /&gt;
| [[NIMS:StartDownloadSimple|StartDownloadSimple]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020000&lt;br /&gt;
| [[NIMS:CancelDownload|CancelDownload]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030000&lt;br /&gt;
| [[NIMS:GetProgress|GetProgress]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050082&lt;br /&gt;
| [[NIMS:UnregisterTask|UnregisterTask]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060080&lt;br /&gt;
| [[NIMS:IsTaskRegistered|IsTaskRegistered]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070080&lt;br /&gt;
| GetTaskInfoFromTitleId&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080042&lt;br /&gt;
| GetTaskList&lt;br /&gt;
|-&lt;br /&gt;
| 0x0009xxxx&lt;br /&gt;
| Returns 0xE0C0D3F4, not implemented.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0000&lt;br /&gt;
| [[NIMS:CheckSysupdateAvailableSOAP|CheckSysupdateAvailableSOAP]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0084&lt;br /&gt;
| [[NIMS:SetAttribute|SetAttribute]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0082&lt;br /&gt;
| SetAttributeInt32&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0082&lt;br /&gt;
| Connect&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E0000&lt;br /&gt;
| UnregisterSOAP, aka soap account delete&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0042&lt;br /&gt;
| SetCountrySOAP, change effective country registry&lt;br /&gt;
|-&lt;br /&gt;
| 0x00100080&lt;br /&gt;
| Returns 0xE0C0D3F4, not implemented, reads for an int64 in IPC.&lt;br /&gt;
|-&lt;br /&gt;
| 0x001100C4&lt;br /&gt;
| Returns 0xE0C0D3F4, not implemented, reads for IPC parameters.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00120084&lt;br /&gt;
| SetExternalAccountSOAP&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130042&lt;br /&gt;
| DeleteExternalAccountSOAP&lt;br /&gt;
|-&lt;br /&gt;
| 0x00140000&lt;br /&gt;
| DeleteSavedCardSOAP&lt;br /&gt;
|-&lt;br /&gt;
| 0x00150082&lt;br /&gt;
| ListCashReplenishAmountsSOAP&lt;br /&gt;
|-&lt;br /&gt;
| 0x0016020A&lt;br /&gt;
| [[NIMS:ListTitles|ListTitles]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0017020A&lt;br /&gt;
| ListContentSetsExSOAP&lt;br /&gt;
|-&lt;br /&gt;
| 0x0018020A&lt;br /&gt;
| ListItemsSOAP&lt;br /&gt;
|-&lt;br /&gt;
| 0x0019028C&lt;br /&gt;
| ListContentSetGroupsSOAP&lt;br /&gt;
|-&lt;br /&gt;
| 0x001E0104&lt;br /&gt;
| GetTaxesSOAP&lt;br /&gt;
|-&lt;br /&gt;
| 0x001F0106&lt;br /&gt;
| GetTaxLocationSOAP&lt;br /&gt;
|-&lt;br /&gt;
| 0x00220080&lt;br /&gt;
| AccountDeleteTitleETicketsSOAP. The SOAP request is sent only after the ticket for the specified titleID has been successfully deleted.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00290000&lt;br /&gt;
| [[NIMS:AccountCheckBalanceSOAP|AccountCheckBalanceSOAP]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002D0042&lt;br /&gt;
| [[NIMS:DownloadTickets|DownloadTickets]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0036xxxx&lt;br /&gt;
| Returns 0xE0C0D3F4, not implemented.&lt;br /&gt;
|-&lt;br /&gt;
| 0x003C0002&lt;br /&gt;
| [[NIMS:RegisterSelf|RegisterSelf]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003F0000&lt;br /&gt;
| GetInitializeResult. Checks whether nim is properly initialized or not. If it is not, the result code returned is non-zero.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00420240&lt;br /&gt;
| [[NIMS:StartDownload|StartDownload]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00550246&lt;br /&gt;
| [[NIMS:RegisterTask|RegisterTask]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00570082&lt;br /&gt;
| [[NIMS:ConnectNoTicketDownload|ConnectNoTicketDownload]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x005B0000&lt;br /&gt;
| DeleteInitAccSavedData&lt;br /&gt;
|-&lt;br /&gt;
| 0x005C0000&lt;br /&gt;
| DeleteAccountSavedData&lt;br /&gt;
|-&lt;br /&gt;
| 0x005F00C0&lt;br /&gt;
| DownloadTitleSeed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Anchor|NIMAOC}}{{Anchor|nim:aoc}}&lt;br /&gt;
= NIM server service &amp;quot;nim:aoc&amp;quot; =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030042&lt;br /&gt;
| SetApplicationId&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040042&lt;br /&gt;
| SetTin&lt;br /&gt;
|-&lt;br /&gt;
| 0x000902D0&lt;br /&gt;
| ListContentSetsEx&lt;br /&gt;
|-&lt;br /&gt;
| 0x00180000&lt;br /&gt;
| GetBalance&lt;br /&gt;
|-&lt;br /&gt;
| 0x001D0000&lt;br /&gt;
| GetCustomerSupportCode&lt;br /&gt;
|-&lt;br /&gt;
| 0x00210000&lt;br /&gt;
| Initialize&lt;br /&gt;
|-&lt;br /&gt;
| 0x00240282&lt;br /&gt;
| CalculateContentsRequiredSize&lt;br /&gt;
|-&lt;br /&gt;
| 0x00250000&lt;br /&gt;
| RefreshServerTime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Anchor|NIMNDM}}{{Anchor|nim:ndm}}&lt;br /&gt;
= NIM service &amp;quot;nim:ndm&amp;quot; =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010000&lt;br /&gt;
| GetDaemonEventHandle&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020000&lt;br /&gt;
| Does nothing, always returns 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030000&lt;br /&gt;
| SetDaemonToWorkingState&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040040&lt;br /&gt;
| SetDaemonToSuspendedState&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050000&lt;br /&gt;
| GetDaemonState&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= kagiya server =&lt;br /&gt;
The nim system module communicates with a server called kagiya (kagiya-ctr.cdn.nintendo.net or kagiya-dev-ctr.cdn.nintendo.net for development units). It provides the 9.6 crypto seed in binary form for any given title ID under (HTTPS) kagiya-ctr.cdn.nintendo.net/title/0x%16llx/ext_key?country=%s, where %16llx is the title ID and %s is a country code as used in the [[EShop|eShop]].&lt;br /&gt;
&lt;br /&gt;
=New3DS=&lt;br /&gt;
NIM module only uses [[PTMSYSM:CheckNew3DS|CheckNew3DS]] for determining what heap sizes to use, in two functions. One is for the size of the 0x08000000 vmem heap, the other is probably for some buffer allocated on that heap. The New3DS version of these sizes are 0x1C000-bytes larger than the Old3DS sizes here.&lt;br /&gt;
&lt;br /&gt;
=HTTPS requests=&lt;br /&gt;
&lt;br /&gt;
==Trusted RootCAs==&lt;br /&gt;
During startup NIM-module creates two RootCertChains with [[HTTP_Services|HTTPC]]. Both of these only contain the same [[HTTPC:RootCertChainAddDefaultCert|default]] cert with ID 0x3. The first RootCertChain is used with NetUpdateSOAP. Requests such as the &amp;quot;notifications.json&amp;quot; page don&#039;t use these RootCertChains(in this case just [[HTTPC:AddDefaultCert|default]] certID 0xB is used).&lt;br /&gt;
&lt;br /&gt;
==SOAP==&lt;br /&gt;
&lt;br /&gt;
===NetUpdateSOAP===&lt;br /&gt;
There are exactly 3 types of network SOAP requests used with [https://nus.c.shop.nintendowifi.net/nus/services/NetUpdateSOAP NetUpdateSOAP] by NIM module, described below. This URL contained in NIM module itself is only used with GetSystemTitleHash. The other requests use an identical URL loaded from an ECommerceSOAP response instead.&lt;br /&gt;
&lt;br /&gt;
See also [https://github.com/yellows8/ninupdates here].&lt;br /&gt;
&lt;br /&gt;
====GetSystemUpdate====&lt;br /&gt;
Returns the current sysupdate title-listing. This also contains the SystemTitleHash returned by GetSystemTitleHash.&lt;br /&gt;
&lt;br /&gt;
====GetSystemTitleHash====&lt;br /&gt;
Returns the current SystemTitleHash for the current sysupdate title-listing.&lt;br /&gt;
&lt;br /&gt;
====GetSystemCommonETicket====&lt;br /&gt;
Returns the Base64-encoded cetk for each specified TitleId entry.&lt;br /&gt;
&lt;br /&gt;
This is only used when installing new titles. This means with CDN system-updates, tickets are never installed except when a title is being installed for the first time. For example, a system on the latest system-version that was only ever updated via CDN has the same NATIVE_FIRM ticket installed from the factory.&lt;br /&gt;
&lt;br /&gt;
=Sysupdate checking process=&lt;br /&gt;
This section describes the process used when checking whether a sysupdate is required.&lt;br /&gt;
&lt;br /&gt;
First the GetSystemTitleHash SOAP request is done. Then the SystemTitleHash in savedata hash.dat is compared with the received one. If they match and the SystemTitleHash flag is set to value 0x03, it will immediately return that no sysupdate is required. Otherwise it will start the GetSystemUpdate SOAP request handling.&lt;br /&gt;
&lt;br /&gt;
The GetSystemUpdate SOAP request contains a titlelist of all NAND system-titles. For GetSystemUpdate response parsing, it compares each SOAP title_entry with the NAND system titlelist. If a SOAP titleID isn&#039;t found in the NAND titlelist, this means NAND is missing a new title and hence a sysupdate is required for installing that title. If a NAND title_entry-version is less than the SOAP title_entry-version, this means the title needs updated and hence a sysupdate is required.&lt;br /&gt;
&lt;br /&gt;
At least one &amp;lt;TitleVersion&amp;gt; entry with valid data in the GetSystemUpdate response is required.&lt;br /&gt;
&lt;br /&gt;
The titleIDs sent in the GetSystemUpdate SOAP request are decimal, while the titleIDs in the response are hex.&lt;br /&gt;
&lt;br /&gt;
=NIM [[System_SaveData]]=&lt;br /&gt;
==hash.dat==&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;
| 0x60&lt;br /&gt;
| 0x1&lt;br /&gt;
| u8 flag used with the SystemTitleHash. 0x01 = latest sysupdate isn&#039;t installed as of last SOAP requests, 0x03 = latest sysupdate is installed as of last SOAP requests.&lt;br /&gt;
|-&lt;br /&gt;
| 0x61&lt;br /&gt;
| 0x21&lt;br /&gt;
| ASCII hex SystemTitleHash, including NUL-terminator. This is the latest SystemTitleHash which NIM module received from SOAP.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Types=&lt;br /&gt;
&lt;br /&gt;
==SystemUpdateProgress==&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;
!  Length&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x01&lt;br /&gt;
| [[#SystemUpdateState|System Update State]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 0x03&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 0x04&lt;br /&gt;
| Last Operation Result Code&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 0x08&lt;br /&gt;
| Current Title Downloaded Bytes&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x08&lt;br /&gt;
| Current Title Total Bytes&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x08&lt;br /&gt;
| Titles Downloaded&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 0x08&lt;br /&gt;
| Titles Total&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==SystemUpdateState==&lt;br /&gt;
&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;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Not Initialized&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Starting System Update&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Fetching System Hash and Account Status&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Installing New Tickets&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Installing Titles&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Update Complete&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Failed - System Updates Disabled (Dev Units Only)&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| ? (Only for background updates)&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| ? (Only for background updates)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TitleDownloadProgress==&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;
!  Length&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x01&lt;br /&gt;
| [[#TitleDownloadState|Title Download State]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| 0x03&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 0x04&lt;br /&gt;
| Last Operation Result Code&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 0x08&lt;br /&gt;
| Downloaded Bytes&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x08&lt;br /&gt;
| Total Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TitleDownloadState==&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;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Not Initialized&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Starting Title Download&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Downloading and Installing TMD&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Committing TMD&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Downloading and Installing Contents&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Contents Installed&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| [[AM:CommitImportPrograms|Committing Titles]]&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Finished&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| ? (Unknown error regarding title version?)&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| ? (Creating the .ctx file (or error doing so)?)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| Background Download Failed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TitleDownloadConfig==&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;
!  Length&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x08&lt;br /&gt;
| Title ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 0x04&lt;br /&gt;
| Title version&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 0x04&lt;br /&gt;
| Unknown (always 0?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x01&lt;br /&gt;
| Age Rating (for HOME Menu parental controls)&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| 0x01&lt;br /&gt;
| [[Filesystem_services#MediaType|Media Type]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x02&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x04&lt;br /&gt;
| Unknown (always 0?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BackgroundTitleDownloadConfig==&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;
!  Length&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 0x018&lt;br /&gt;
| [[#TitleDownloadConfig|Title Download Config]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x018&lt;br /&gt;
| 0x001&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x019&lt;br /&gt;
| 0x001&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x01A&lt;br /&gt;
| 0x006&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x020&lt;br /&gt;
| 0x008&lt;br /&gt;
| Requester Title ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x028&lt;br /&gt;
| 0x090&lt;br /&gt;
| Title Name (UTF-16)&lt;br /&gt;
|-&lt;br /&gt;
| 0x0B8&lt;br /&gt;
| 0x002&lt;br /&gt;
| Title Name Forced NUL Terminator (always 0)&lt;br /&gt;
|-&lt;br /&gt;
| 0x0BA&lt;br /&gt;
| 0x048&lt;br /&gt;
| Developer Name (UTF-16)&lt;br /&gt;
|-&lt;br /&gt;
| 0x102&lt;br /&gt;
| 0x002&lt;br /&gt;
| Developer Name Forced NUL Terminator (always 0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BackgroundTitleDownloadTaskInfo==&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;
!  Length&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 0x104&lt;br /&gt;
| [[#BackgroundTitleDownloadConfig|Background Title Download Config]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x104&lt;br /&gt;
| 0x004&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x108&lt;br /&gt;
| 0x018&lt;br /&gt;
| [[#TitleDownloadProgress|Title Download Progress]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AutoTitleDownloadTaskInfo==&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;
!  Length&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 0x008&lt;br /&gt;
| Task ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x008&lt;br /&gt;
| 0x008&lt;br /&gt;
| Title ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x010&lt;br /&gt;
| 0x004&lt;br /&gt;
| Title Version&lt;br /&gt;
|-&lt;br /&gt;
| 0x014&lt;br /&gt;
| 0x014&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x028&lt;br /&gt;
| 0x008&lt;br /&gt;
| Required Storage Space&lt;br /&gt;
|-&lt;br /&gt;
| 0x030&lt;br /&gt;
| 0x004&lt;br /&gt;
| Last Operation Result code&lt;br /&gt;
|-&lt;br /&gt;
| 0x034&lt;br /&gt;
| 0x004&lt;br /&gt;
| Last Operation Customer Support Code&lt;br /&gt;
|-&lt;br /&gt;
| 0x038&lt;br /&gt;
| 0x090&lt;br /&gt;
| Title Name (UTF-16)&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C8&lt;br /&gt;
| 0x002&lt;br /&gt;
| Title Name Forced NUL Terminator (always 0)&lt;br /&gt;
|-&lt;br /&gt;
| 0x0CA&lt;br /&gt;
| 0x048&lt;br /&gt;
| Developer Name (UTF-16)&lt;br /&gt;
|-&lt;br /&gt;
| 0x112&lt;br /&gt;
| 0x002&lt;br /&gt;
| Developer Name Forced NUL Terminator (always 0)&lt;br /&gt;
|-&lt;br /&gt;
| 0x114&lt;br /&gt;
| 0x024&lt;br /&gt;
| Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==InstallationMode==&lt;br /&gt;
&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;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Initial Installation&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Re-installation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Autodbg==&lt;br /&gt;
&lt;br /&gt;
Despite this being for debug purposes, it&#039;s used in retail if present.&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;
!  Length&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 0x004&lt;br /&gt;
| Debug flags&lt;br /&gt;
|-&lt;br /&gt;
| 0x004&lt;br /&gt;
| 0x004&lt;br /&gt;
| Number of debug tasks in dbgtasks.dat&lt;br /&gt;
|-&lt;br /&gt;
| 0x008&lt;br /&gt;
| 0x100&lt;br /&gt;
| Debug URL dst.xml override&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Autodbg flag bits===&lt;br /&gt;
&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;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Use the tasks stored in dbgtasks.dat&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Use provided debug dtl.xml URL override&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Disable the download of dtl.xml&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Skip connecting to SOAP EC and download ETickets with a false success result during TSL processing&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Fake assume always ticket is present during TSL task condition processing&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Skip NPNS notification fetch for auto title downloads with a false success result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Error Results=&lt;br /&gt;
&lt;br /&gt;
==NIM Results==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Result&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0xE0E0D001&lt;br /&gt;
| Non-null terminated string on IPC parameter for given length.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D003&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of unhandled values or -4199.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D004&lt;br /&gt;
| Unexpected/invalid state enums. (generic)&lt;br /&gt;
|-&lt;br /&gt;
| 0xC820D005&lt;br /&gt;
| Invalid state under one title install manager.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8A0D006&lt;br /&gt;
| Error state enum value. (generic)&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D008&lt;br /&gt;
| When content downloading, HTTP Status was not 200 or 206 when connecting, and when status is 206, the Content-Range values failed sanity check.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D009&lt;br /&gt;
| Mismatch system title hash with server system title hash.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC960D00C&lt;br /&gt;
| Failed to convert country enum value in CFG save block 0xB0000 to country ISO 3166-1 Alpha-2 code.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC960D00D&lt;br /&gt;
| CFG didn&#039;t reply any serial number or dummy serial number &amp;quot;000000000000000&amp;quot; was given.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC860D00E&lt;br /&gt;
| Max total size exceeded for system update pending titles. (128 MiB)&lt;br /&gt;
|-&lt;br /&gt;
| 0xC880D00F&lt;br /&gt;
| *to be filled*&lt;br /&gt;
|-&lt;br /&gt;
| 0xC8E0D011&lt;br /&gt;
| Bad condition, title id for purpose or size under one title install manager.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC960D012&lt;br /&gt;
| Invalid .dat or less than expected size of buffer length read from .dat save files during raw data load.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC960D013&lt;br /&gt;
| Daemon service is suspended.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC8A0D014&lt;br /&gt;
| *to be filled*&lt;br /&gt;
|-&lt;br /&gt;
| 0xC960D015&lt;br /&gt;
| Version mismatch for reinstall condition.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC960D016&lt;br /&gt;
| Used in a few contexts where length does not match expected or the limit. Example, seed data size from HTTP is not 16 bytes.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D017&lt;br /&gt;
| SetIVSData will not perform, conditions are not adequate to set IVS. In Service Standby mode or not registered successfully in IAS.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D019&lt;br /&gt;
| Certain EC connect flows disallowed to continue while IVS is waiting to be synced from servers. System Transfer has previously occurred and IVS is pending.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D01A&lt;br /&gt;
| For nim:s IPC cmd id 0x40, IVS not flagged for synchronization on target console on EC connect after system transfer.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC960D01B&lt;br /&gt;
| Failed to convert language enum value in CFG save block 0xA0002 to language ISO 639-1 code.&lt;br /&gt;
|-&lt;br /&gt;
| 0xE0E0D01C&lt;br /&gt;
| Invalid installation mode for some IPC contexts.&lt;br /&gt;
|-&lt;br /&gt;
| 0xE0C0D01E&lt;br /&gt;
| May be either:&lt;br /&gt;
* Trying to set autodbg or dbgtasks with too many tasks on nim:u IPC cmd ids 0x19 and 0x1B, respectively.&lt;br /&gt;
* Non debug ENVINFO when calling debug version of get balance nim:s IPC cmd id 0x56.&lt;br /&gt;
* A boolean parameter for nim:s IPC cmd id 0x58 was set false.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD860D020&lt;br /&gt;
| May be either:&lt;br /&gt;
* Result translation of 0xC860D06E if returned by the early attributes filter handler.&lt;br /&gt;
* If the internal Work-only heap fails to initialize with buffer length lesser than 32 bytes. This buffer is given over IPC.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC860D021&lt;br /&gt;
| Task manager has run out of task slots.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D022&lt;br /&gt;
| Buffer size too small for ticket length on nim:aoc IPC cmd id 0x1B.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD880D023&lt;br /&gt;
| When Account Id missing for nim:aoc IPC cmd id 0x1B and 0x20 or when Account Id or Token are missing for nim:s IPC cmd id 0x53.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD860D024&lt;br /&gt;
| Failed to initialize Data Heap using buffer given over IPC.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD920D025&lt;br /&gt;
| SOAP reply implied that Service Standby mode is enabled. Certain EC flows cancelled.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC8A0D026&lt;br /&gt;
| May be either:&lt;br /&gt;
* Result translation, NIM ran into NPNS result 0xD8A15C06 or NIM result 0xD960D02B.&lt;br /&gt;
* System updates pending while trying to SOAP EC connect with ETicket download while processing auto downloads.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC8A0D027&lt;br /&gt;
| This occurs under certain code paths.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Result translation of result error from:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;HTTP module&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;SSL module&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;NIM module if description is between 100 to 299 (inclusive), 200 descriptions to fit the reserved range of the SOAP manager internal error range of -4000 to -4199 &amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Unexpected HTTP status, followed up also by generating error integer with 54400 + http status, result value used as a 005-xxxx error&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D028&lt;br /&gt;
| Generic XML parsing error. Not related to SOAP XML.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D029&lt;br /&gt;
| XML processor stub function called. Not related to SOAP XML.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D02A&lt;br /&gt;
| Generic XML data processing error: bad length or insufficient memory. Not related to SOAP XML.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D02B&lt;br /&gt;
| Result translation of 0xD960D028.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D02C&lt;br /&gt;
| Auto download programmed max task count exceeded trying to add more to list. (64)&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D02D&lt;br /&gt;
| tsl.xml or tsl.xml.tmp couldn&#039;t be opened. FS result translation of description between 100 and 179, inclusive.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D02E&lt;br /&gt;
| During tsl.xml task condition check. Still unclear, type of task check&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D030&lt;br /&gt;
| During tsl.xml task condition check. Ticket missing for title when expected. Will not occur with autodbg flag bit 4 set.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D031&lt;br /&gt;
| During tsl.xml task condition check. Title already installed when not overwrite mode.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D032&lt;br /&gt;
| During tsl.xml task condition check. Task for title already exists with same or higher version in task.dat.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D033&lt;br /&gt;
| During tsl.xml task condition check. Task for title already exists in task.dat.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E0D034&lt;br /&gt;
| During tsl.xml task condition check. Unexpected task title type.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D035&lt;br /&gt;
| During tsl.xml task condition check. Tsl.xml task will not be processed while max programmed maximum for tasks pending in task.dat is equal or exceeded. (10)&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D037&lt;br /&gt;
| Failed to load saved dtl.xml with result error of FS with description between 100 and 179, inclusive.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D038&lt;br /&gt;
| During tsl.xml task condition check. Not enough space for target SDMC user title.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8A0D03A&lt;br /&gt;
| No valid NPNS X-Device-Token was available while trying to fetch it from CFG save block 0xF0006.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD940D03B&lt;br /&gt;
| Selected tsl.xml task was cancelled with nim:u IPC cmd id 0x18.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D03C&lt;br /&gt;
| Result translation for 0xD960D028 while trying to read XML. Not related to SOAP XML.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8A0D03D&lt;br /&gt;
| During tsl.xml task condition check. SDMC not inserted or non-writable for SDMC title. (bad media status)&lt;br /&gt;
|-&lt;br /&gt;
| 0xD960D03E&lt;br /&gt;
| During tsl.xml task condition check. Not enough space for target TWL user title.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD940D03F&lt;br /&gt;
| NPNS notification url is not HTTPS.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD940D040&lt;br /&gt;
| NIM ran into NPNS result 0xD8A15C07. Result translation.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD860D041&lt;br /&gt;
| During tsl.xml task condition check. Pending task count of task.dat and installed SDMC user title count exceed programmed max. (300)&lt;br /&gt;
|-&lt;br /&gt;
| 0xD860D042&lt;br /&gt;
| During tsl.xml task condition check. Pending task count of task.dat and installed TWL user title count exceed programmed max. (40)&lt;br /&gt;
|-&lt;br /&gt;
| 0xD880D043&lt;br /&gt;
| HTTP 404 while fetching title crypto seed from kagiya.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD880D044&lt;br /&gt;
| HTTP 503 while fetching title crypto seed from kagiya.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC960D065&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4001&lt;br /&gt;
|-&lt;br /&gt;
| 0xE0C0D066&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4002&lt;br /&gt;
|-&lt;br /&gt;
| 0xE0E0D068&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4004&lt;br /&gt;
|-&lt;br /&gt;
| 0xC860D069&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4005&lt;br /&gt;
|-&lt;br /&gt;
| 0xC880D06A&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4006&lt;br /&gt;
|-&lt;br /&gt;
| 0xC8A0D06B&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4007&lt;br /&gt;
|-&lt;br /&gt;
| 0xC8A0D06C&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4008&lt;br /&gt;
|-&lt;br /&gt;
| 0xC860D06E&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4010&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D073&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4015&lt;br /&gt;
|-&lt;br /&gt;
| 0xC900D075&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4017&lt;br /&gt;
|-&lt;br /&gt;
| 0xC860D076&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4018&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D077&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4019&lt;br /&gt;
|-&lt;br /&gt;
| 0xC900D084&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4032&lt;br /&gt;
|-&lt;br /&gt;
| 0xC900D085&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4033&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D086&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4034&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D08A&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4038&lt;br /&gt;
|-&lt;br /&gt;
| 0xC900D08B&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4039&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D08C&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4040&lt;br /&gt;
|-&lt;br /&gt;
| 0xE0A0D08D&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4041&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D08F&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4043&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D095&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4049&lt;br /&gt;
|-&lt;br /&gt;
| 0xE0E0D099&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4053&lt;br /&gt;
|-&lt;br /&gt;
| 0xC900D09F&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4059&lt;br /&gt;
|-&lt;br /&gt;
| 0xE100D0A0&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4060&lt;br /&gt;
|-&lt;br /&gt;
| 0xE100D0A1&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4061&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D0A4&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4064&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D0A7&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4067&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D0A8&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4068&lt;br /&gt;
|-&lt;br /&gt;
| 0xE0A0D0A9&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4069&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D0AD&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4073&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D0B1&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4077&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D0B3&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4079&lt;br /&gt;
|-&lt;br /&gt;
| 0xC920D0B5&lt;br /&gt;
| SOAP EC/NUP manager internal error number translation of value -4081&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==NPNS Results==&lt;br /&gt;
&lt;br /&gt;
NPNS has a module number for results, but no module exists, but can be at least in part found inside NIM.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Result&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0xC9215C00&lt;br /&gt;
| Result translation, HTTP result 0xD8A0A018.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8615C01&lt;br /&gt;
| Allocation error, insufficient memory.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8A15C02&lt;br /&gt;
| HTTP non 2xx, json message processing, default error code switch result error.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8A15C03&lt;br /&gt;
| JSON processing errors.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8A15C04&lt;br /&gt;
| Notifications array bigger than expected.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8A15C05&lt;br /&gt;
| HTTP Empty body response.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8A15C06&lt;br /&gt;
| HTTP non 2xx, json message processing, error code 1003 given in json body.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8A15C07&lt;br /&gt;
| HTTP non 2xx, json message processing, error code 1000 given in json body.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8A15C08&lt;br /&gt;
| HTTP non 2xx, json message processing, error code 1004 given in json body.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other Results==&lt;br /&gt;
&lt;br /&gt;
Any other result that is not given by other modules as a response, but found internally in NIM.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Result&lt;br /&gt;
!  Module value&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8600801&lt;br /&gt;
| Util (2)&lt;br /&gt;
| Encoding errors. In NIM, if error while encoding base64 for X-Authentication-Key or X-Authentication-Data HTTP parameters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Services]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=PXI_Services&amp;diff=22723</id>
		<title>PXI Services</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=PXI_Services&amp;diff=22723"/>
		<updated>2024-09-18T09:27:17Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Add to Category:Services&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= PXI Services =&lt;br /&gt;
The &#039;pxi&#039; sysmodule contains the following services:&lt;br /&gt;
*[[Filesystem services PXI|PxiFS0]]&lt;br /&gt;
*[[Filesystem services PXI|PxiFS1]]&lt;br /&gt;
*[[Filesystem services PXI|PxiFSB]]&lt;br /&gt;
*[[Filesystem services PXI|PxiFSR]]&lt;br /&gt;
*[[Process Manager Services PXI|PxiPM]]&lt;br /&gt;
*[[Application Manager Services PXI|pxi:am9]]&lt;br /&gt;
*[[Gamecard Services PXI|pxi:dev]]&lt;br /&gt;
*[[Development Services PXI|pxi:mc]]&lt;br /&gt;
*[[Process Services PXI|pxi:ps9]]&lt;br /&gt;
&lt;br /&gt;
Each of these services has up to 4 static IPC buffers of size 0x1000. When any of these service ports are sync:d, the IPC cmdbuf (TLS+0x80+) is sent over [[PXI_Registers|PXI]] to the ARM9.&lt;br /&gt;
&lt;br /&gt;
Each PXI service can only have one session open for it at a time.&lt;br /&gt;
&lt;br /&gt;
= Protocol =&lt;br /&gt;
The communication protocol for normal PXI commands is documented below. The size of cmd_buf is calculated from the cmd_hdr. With newer FIRM the total size for command header + buffer must be at most 0x40 words, otherwise Process9 will panic.&lt;br /&gt;
&lt;br /&gt;
The PXI protocol is bidirectional - both processors can host a PXI service for a given pxi_id. In practice, Process9 hosts all but one of the services (pxi_11 is hosted by pxi-module instead). Each pxi_id corresponds to a PXI command-handler(called from threads) which handles the actual command processing. With newer FIRM the pxi_id must be in a certain range.&lt;br /&gt;
&lt;br /&gt;
There&#039;s a dedicated Process9 thread for receiving data from PXI(in newer FIRM this is the main-thread), once it finishes receiving a request it copies the cmd_buf into a buffer for the corresponding pxi_id then signals an event so that the cmd-handler thread can process it. Once a cmd-handler thread finishes processing a command, the thread itself then sends the response over PXI. This means that multiple commands for different pxiIDs can be be handled at the same time, even when one cmd-handler completely hangs/etc for example.&lt;br /&gt;
&lt;br /&gt;
Process9 will execute [[SVC|svcBreak]] when it receives a PXI command with a pxi_id where another command with that same pxi_id is still being processed by the command-handler(this won&#039;t happen with commands sent by the ARM11 PXI-module, since it waits for the command reply before sending another command request for that same pxi_id).&lt;br /&gt;
&lt;br /&gt;
=PXI service &amp;quot;pxi_11&amp;quot;=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010040&lt;br /&gt;
| PublishToSubscriber - this exposes [[Services|&amp;quot;srv:&amp;quot; notifications]] to the Process9-side using [[SRV:PublishToSubscriber]] (with flags=1), to allow sending card-insert notifications etc. directly to ARM11.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Request==&lt;br /&gt;
 A11-&amp;gt;A9 (u32) pxi_id&lt;br /&gt;
 A11-&amp;gt;A9 (u32) cmd_hdr&lt;br /&gt;
 A11-&amp;gt;A9 (u32[]) cmd_buf&lt;br /&gt;
&lt;br /&gt;
==Response==&lt;br /&gt;
 A9-&amp;gt;A11 (u32) pxi_id&lt;br /&gt;
 A9-&amp;gt;A11 (u32) cmd_hdr&lt;br /&gt;
 A9-&amp;gt;A11 (u32[]) cmd_buf&lt;br /&gt;
&lt;br /&gt;
==pxi_id==&lt;br /&gt;
 0 = pxi_mc&lt;br /&gt;
 1 = pxi_fs&lt;br /&gt;
 2 = pxi_fs&lt;br /&gt;
 3 = pxi_fs&lt;br /&gt;
 4 = pxi_fs&lt;br /&gt;
 5 = pxi_pm&lt;br /&gt;
 6 = pxi_dev&lt;br /&gt;
 7 = pxi_am&lt;br /&gt;
 8 = pxi_ps&lt;br /&gt;
 9 = pxi_11&lt;br /&gt;
&lt;br /&gt;
[[Category:Services]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Process_Manager_Services&amp;diff=22722</id>
		<title>Process Manager Services</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Process_Manager_Services&amp;diff=22722"/>
		<updated>2024-09-18T09:26:43Z</updated>

		<summary type="html">&lt;p&gt;ElementW: Add anchors, add to Category:Services&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Anchor|PMApp}}{{Anchor|PMAPP}}{{Anchor|pm:app}}&lt;br /&gt;
= Process Manager app service &amp;quot;pm:app&amp;quot; =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010140&lt;br /&gt;
| [[PMApp:LaunchTitle|LaunchTitle]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020082&lt;br /&gt;
| [[PMApp:LaunchFIRM|LaunchFIRM]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030080&lt;br /&gt;
| [[PMApp:TerminateApplication|TerminateApplication]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040100&lt;br /&gt;
| [[PMApp:TerminateTitle|TerminateTitle]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000500C0&lt;br /&gt;
| [[PMApp:TerminateProcess|TerminateProcess]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060082&lt;br /&gt;
| [[PMApp:PrepareForReboot|PrepareForReboot]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070042&lt;br /&gt;
| [[PMApp:GetFIRMLaunchParams|GetFIRMLaunchParams]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080100&lt;br /&gt;
| [[PMApp:GetTitleExheaderFlags|GetTitleExheaderFlags]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090042&lt;br /&gt;
| [[PMApp:SetFIRMLaunchParams|SetFIRMLaunchParams]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0140&lt;br /&gt;
| [[PMApp:SetAppResourceLimit|SetAppResourceLimit]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0140&lt;br /&gt;
| [[PMApp:GetAppResourceLimit|GetAppResourceLimit]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0080&lt;br /&gt;
| [[PMApp:UnregisterProcess|UnregisterProcess]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0240&lt;br /&gt;
| [[PMApp:LaunchTitleUpdate|LaunchTitleUpdate]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Anchor|PMDbg}}{{Anchor|PMDBG}}{{Anchor|pm:dbg}}&lt;br /&gt;
= Process Manager debug service &amp;quot;pm:dbg&amp;quot; =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010140&lt;br /&gt;
| [[PMDbg:LaunchAppDebug|LaunchAppDebug]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020140&lt;br /&gt;
| [[PMDbg:LaunchApp|LaunchApp]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030000&lt;br /&gt;
| [[PMDbg:RunQueuedProcess|RunQueuedProcess]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A maximum of three sessions can be open with both of these services combined, therefore only three processes can use either of these services at once.&lt;br /&gt;
&lt;br /&gt;
[[Category:Services]]&lt;/div&gt;</summary>
		<author><name>ElementW</name></author>
	</entry>
</feed>