<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://dsibrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Neimod</id>
	<title>DSiBrew - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://dsibrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Neimod"/>
	<link rel="alternate" type="text/html" href="https://dsibrew.org/wiki/Special:Contributions/Neimod"/>
	<updated>2026-05-03T06:14:50Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3908</id>
		<title>File:Twl cpu pinout.pdf</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3908"/>
		<updated>2011-04-17T15:31:45Z</updated>

		<summary type="html">&lt;p&gt;Neimod: uploaded a new version of &amp;amp;quot;File:Twl cpu pinout.pdf&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Common_key&amp;diff=3450</id>
		<title>Common key</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Common_key&amp;diff=3450"/>
		<updated>2011-02-03T19:33:37Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The DSi&#039;s common key is a known encryption key (using the AES-CBC-128 algorithm). It is used to decrypt the title key in a ticket.&lt;br /&gt;
&lt;br /&gt;
Loopy had substantially claimed to have found the common key, somewhere around 2009, but he didn&#039;t share it. He did, however, provide a small amount of information on it. (There are no 00 bytes and the first bit is a 1.)&lt;br /&gt;
&lt;br /&gt;
The common key can together with [http://wiibrew.org/wiki/NUS_Downloader NUSD] be used to decrypt system software only, &#039;&#039;&#039;not DSiWare&#039;&#039;&#039;, because DSiWare tickets like WiiWare tickets aren&#039;t available on NUS.(The only DSiWare tickets available on NUS are the free DSiWare, opera and flipnote.)&lt;br /&gt;
&lt;br /&gt;
The common key is *not* in the RAM while either of the currently exploited games are running. The common key is not the same as (and not to be confused with) the Wii&#039;s.&lt;br /&gt;
&lt;br /&gt;
Apparently, someone registered the common key as a .com domain the 16 of september 2009 with the following text:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;GTFO NAO, U CANNOT HAZ SITEZ.&lt;br /&gt;
&lt;br /&gt;
DSI COMMON KEY HAS WAN USE. SIGNIN HOMEBREW 2 RUN ON DSI IZ NOT WAN OV THEM. NINTENDO DOESNT EPIC FAIL LIEK SONY IN DIS REGARD.&lt;br /&gt;
&lt;br /&gt;
BTW, OH HAI THAR NINTENDO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The Common key can be extracted from this program (for legal reasons): &#039;&#039;&#039;CENSORED&#039;&#039;&#039;. This program is not legal because it contains a verbatim copy of the key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sources:&lt;br /&gt;
[http://www.elotrolado.net/hilo_dsi-common-key-revelada_1554262 Elotrolado.net, Spanish]&lt;br /&gt;
[http://www.ds-scene.net/?s=viewtopic&amp;amp;id=3366#9 Chat log]&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=User_talk:Endres&amp;diff=3352</id>
		<title>User talk:Endres</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=User_talk:Endres&amp;diff=3352"/>
		<updated>2011-01-21T07:36:02Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moving pics from a PC to your DS can already be done, look under the camera section or anything to do with the pit.bin file for information on how to do this [[User:Steven|Steven]] 22:20, 16 February 2010 (UTC)&lt;br /&gt;
:They won&#039;t be viewable on a DSi. Jpeg photos created by DSi contain a special EXIF tag with an AES-CCM MAC of the entire jpeg file, which the DSi will verify first before viewing. Normal jpeg photos, not created by a DSi, do not contain this tag, and will be rejected by the DSi. The same applies for tampered DSi jpeg photos because the stored MAC will not match. Unfortunately, the method for computing this MAC is not publicly available. [[User:Neimod|Neimod]]&lt;br /&gt;
Have you successfully edited a PPM file on your computer and put it back on your DSi without it showing the data corrupted error and deleting it? --[[User:Matt|Matt]] 02:02, 20 May 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3351</id>
		<title>File:Twl cpu pinout.pdf</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3351"/>
		<updated>2011-01-21T01:32:44Z</updated>

		<summary type="html">&lt;p&gt;Neimod: uploaded a new version of &amp;amp;quot;File:Twl cpu pinout.pdf&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3350</id>
		<title>File:Twl cpu pinout.pdf</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3350"/>
		<updated>2011-01-21T01:30:27Z</updated>

		<summary type="html">&lt;p&gt;Neimod: uploaded a new version of &amp;amp;quot;File:Twl cpu pinout.pdf&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3349</id>
		<title>File:Twl cpu pinout.pdf</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3349"/>
		<updated>2011-01-21T01:28:58Z</updated>

		<summary type="html">&lt;p&gt;Neimod: uploaded a new version of &amp;amp;quot;File:Twl cpu pinout.pdf&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3348</id>
		<title>File:Twl cpu pinout.pdf</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3348"/>
		<updated>2011-01-21T01:26:49Z</updated>

		<summary type="html">&lt;p&gt;Neimod: uploaded a new version of &amp;amp;quot;File:Twl cpu pinout.pdf&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3347</id>
		<title>File:Twl cpu pinout.pdf</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3347"/>
		<updated>2011-01-21T00:57:06Z</updated>

		<summary type="html">&lt;p&gt;Neimod: uploaded a new version of &amp;amp;quot;File:Twl cpu pinout.pdf&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Hardware&amp;diff=3346</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Hardware&amp;diff=3346"/>
		<updated>2011-01-20T23:10:09Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
*[[Cameras|Includes (2) 0.3 Megapixel VGA Cameras]]&lt;br /&gt;
*240MB(+16MB probably reserved for wear leveling purposes (e.g. replacing bad blocks)) Internal Flash Memory - Samsung kmapf0000m-S998 MOVI [[NAND]] - MMC Interface&lt;br /&gt;
*16MB RAM - NEC uPD 46128512AF1 - DDR SRAM or a Fujitsu 128-Mbit FCRAM 82DBS08164D-70L (datasheet: http://edevice.fujitsu.com/fj/DATASHEET/e-ds/e511454.pdf)&lt;br /&gt;
*(2) 256 x 192 3.25 Inch Displays, one of which has a resistive touch screen&lt;br /&gt;
*Backwards compatible with Nintendo DS games but not GBA games due to the lack of a gameboy cartridge port.&lt;br /&gt;
*Integrated ARM7/ARM9 cores clocked at 133mhz in real mode and downclocked to 66mhz for compatibility mode.&lt;br /&gt;
*PAIC3000D Sound Chip - possibly a TI codecs: AIC3    ????&lt;br /&gt;
*Mitsumi (MM3317A) or TI 72071B0 - Power supply and charger circuit ????&lt;br /&gt;
*SD/SDHC Card slot&lt;br /&gt;
*WiFi dongle with integrated 128KB SPI Flash for NVRAM, WiFi settings&lt;br /&gt;
&lt;br /&gt;
== Images ==&lt;br /&gt;
&lt;br /&gt;
=== Front ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Twl_front.jpg]]&lt;br /&gt;
[[Image:Twl_front_traces.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
The socket to the left of the ARM processor is the wifi chip socket.&lt;br /&gt;
&lt;br /&gt;
TWL CPU pinout map: [[File:Twl_cpu_pinout.pdf]] (WIP)&lt;br /&gt;
&lt;br /&gt;
=== Back ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Twl_back.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== NAND pinout ===&lt;br /&gt;
[[Image:Dsi_nand.jpg|600px]]&lt;br /&gt;
[[Image:Dsi_nanddat.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== PCB overlay ===&lt;br /&gt;
[[Image:Nintendo DSi PCB Layered.jpg|600px]]&lt;br /&gt;
=== CPU with new ram ===&lt;br /&gt;
&lt;br /&gt;
[[Image:CPUv2.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Glamor Shot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Nintendo-dsi-Glamor-Shot.jpg]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# http://en.wikipedia.org/wiki/Nintendo_DSi&lt;br /&gt;
# http://insidetronics.blogspot.com/2008/11/new-nintendo-dsi-teardown.html&lt;br /&gt;
# http://techon.nikkeibp.co.jp/english/NEWS_EN/20081111/161077/&lt;br /&gt;
# http://games.gearlive.com/playfeed/article/q408-nintendo-dsi-announced-larger-screens-dual-cameras-dsi-shop-store/&lt;br /&gt;
# http://www.ifixit.com/Guide/First-Look/Nintendo-DSi/714/1&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3345</id>
		<title>File:Twl cpu pinout.pdf</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=File:Twl_cpu_pinout.pdf&amp;diff=3345"/>
		<updated>2011-01-20T23:08:25Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Hardware&amp;diff=3344</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Hardware&amp;diff=3344"/>
		<updated>2011-01-20T21:25:03Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
*[[Cameras|Includes (2) 0.3 Megapixel VGA Cameras]]&lt;br /&gt;
*240MB(+16MB probably reserved for wear leveling purposes (e.g. replacing bad blocks)) Internal Flash Memory - Samsung kmapf0000m-S998 MOVI [[NAND]] - MMC Interface&lt;br /&gt;
*16MB RAM - NEC uPD 46128512AF1 - DDR SRAM or a Fujitsu 128-Mbit FCRAM 82DBS08164D-70L (datasheet: http://edevice.fujitsu.com/fj/DATASHEET/e-ds/e511454.pdf)&lt;br /&gt;
*(2) 256 x 192 3.25 Inch Displays, one of which has a resistive touch screen&lt;br /&gt;
*Backwards compatible with Nintendo DS games but not GBA games due to the lack of a gameboy cartridge port.&lt;br /&gt;
*Integrated ARM7/ARM9 cores clocked at 133mhz in real mode and downclocked to 66mhz for compatibility mode.&lt;br /&gt;
*PAIC3000D Sound Chip - possibly a TI codecs: AIC3    ????&lt;br /&gt;
*Mitsumi (MM3317A) or TI 72071B0 - Power supply and charger circuit ????&lt;br /&gt;
*SD/SDHC Card slot&lt;br /&gt;
*WiFi dongle with integrated 128KB SPI Flash for NVRAM, WiFi settings&lt;br /&gt;
&lt;br /&gt;
== Images ==&lt;br /&gt;
&lt;br /&gt;
=== Front ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Twl_front.jpg]]&lt;br /&gt;
[[Image:Twl_front_traces.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
The socket to the left of the ARM processor is the wifi chip socket.&lt;br /&gt;
&lt;br /&gt;
=== Back ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Twl_back.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== NAND pinout ===&lt;br /&gt;
[[Image:Dsi_nand.jpg|600px]]&lt;br /&gt;
[[Image:Dsi_nanddat.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== PCB overlay ===&lt;br /&gt;
[[Image:Nintendo DSi PCB Layered.jpg|600px]]&lt;br /&gt;
=== CPU with new ram ===&lt;br /&gt;
&lt;br /&gt;
[[Image:CPUv2.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Glamor Shot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Nintendo-dsi-Glamor-Shot.jpg]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# http://en.wikipedia.org/wiki/Nintendo_DSi&lt;br /&gt;
# http://insidetronics.blogspot.com/2008/11/new-nintendo-dsi-teardown.html&lt;br /&gt;
# http://techon.nikkeibp.co.jp/english/NEWS_EN/20081111/161077/&lt;br /&gt;
# http://games.gearlive.com/playfeed/article/q408-nintendo-dsi-announced-larger-screens-dual-cameras-dsi-shop-store/&lt;br /&gt;
# http://www.ifixit.com/Guide/First-Look/Nintendo-DSi/714/1&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=File:Twl_front_traces.jpg&amp;diff=3343</id>
		<title>File:Twl front traces.jpg</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=File:Twl_front_traces.jpg&amp;diff=3343"/>
		<updated>2011-01-20T21:23:54Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiBrew:News&amp;diff=3330</id>
		<title>DSiBrew:News</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiBrew:News&amp;diff=3330"/>
		<updated>2011-01-16T02:31:25Z</updated>

		<summary type="html">&lt;p&gt;Neimod: Created page with &amp;quot;&amp;lt;noinclude&amp;gt; ==Adding an item== * Log in to the wiki. Editing is disabled if you don&amp;#039;t have an account. * Add the news event to the top of the list, using this format for the date...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
==Adding an item==&lt;br /&gt;
* Log in to the wiki. Editing is disabled if you don&#039;t have an account.&lt;br /&gt;
* Add the news event to the top of the list, using this format for the date: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;{{#time: d F y}}&amp;lt;nowiki&amp;gt;&#039;&#039;&#039; &amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. Please include the application&#039;s creator, version number, and a link to a page on DSiBrew about the application. No external links please.&lt;br /&gt;
* &#039;&#039;&#039;Move the last entry to the [[DSiBrew:News/Archive|news archive]]. There should be no more than 4 entrees in the list.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Archives==&lt;br /&gt;
For older news, see the [[DSiBrew:News/Archive|news archive]].&lt;br /&gt;
&lt;br /&gt;
=== News ===&lt;br /&gt;
&amp;lt;!-- Add news below --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;14 January 11&#039;&#039;&#039; The DSi Common key has been disclosed to the public. Please do not post it here.&lt;br /&gt;
*&#039;&#039;&#039;07 September 10&#039;&#039;&#039; Nintendo released [[System Menu 1.4.1]] in all regions except China where [[System Menu 1.4.2]] was released instead. This update blocks some flashcards.&lt;br /&gt;
*&#039;&#039;&#039;25 August 10&#039;&#039;&#039; Dave J Murphy (WinterMute) released DSi Link, allowing running larger DSi mode homebrew binaries [http://davejmurphy.com/dsi-mode-homebrew-anyone/]&lt;br /&gt;
*&#039;&#039;&#039;9 February 10&#039;&#039;&#039; Nintendo has released an update for the DSi System. The DSi [[Nintendo Zone]] client was updated to version 3.0, but the system still runs on [[System Menu 1.4]]. No other changes have been identified.&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiBrew_talk:News&amp;diff=3295</id>
		<title>DSiBrew talk:News</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiBrew_talk:News&amp;diff=3295"/>
		<updated>2010-12-27T08:30:54Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Forbidden News / Material? ==&lt;br /&gt;
&lt;br /&gt;
I&#039;m trying to be a general maintenance guy around here, editing links into things and organizing and whatnot, and I realized that some of the articles that are getting pulled from the front page didn&#039;t send up red flags to me. I mean, the DS download service one was pretty obviously against everything moral, but the carts didn&#039;t throw up a red flag because I personally *use* an R4 for homebrew, and the idea of using it for piracy doesn&#039;t immediately come to mind. (I don&#039;t, never have.)&lt;br /&gt;
&lt;br /&gt;
So what exactly do we not allow here? Clearly anything that&#039;s blatantly for piracy is out. Since the DSi is likely going to get some kind of SD card loader, do we want to avoid flash cart in general here? What should definitely not be here? --[[User:Thegamefreak0134|Thegamefreak0134]] 18:28, 22 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
I&#039;m mulling over the update history, someone needs to ban that kid. ^_^ --[[User:Thegamefreak0134|Thegamefreak0134]] 12:47, 26 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Do not post claims or announcements about DSi exploits or homebrew flashcards that at the time cannot be verified.[[User:Neimod|Neimod]] 10:30, 27 December 2010 (CET)&lt;br /&gt;
&lt;br /&gt;
== Yellows8 ==&lt;br /&gt;
.:SOLUTION?:.&lt;br /&gt;
I think i know a solution for downloading Homebrew onto the NDS when it&#039;s made.&lt;br /&gt;
I&#039;ve noticed that a group called Pokemon Fan Centre has made an edit to a wi-fi place in the pokemon games.they did it by doing this:&lt;br /&gt;
&lt;br /&gt;
In your DS&#039;s wifi settings,&lt;br /&gt;
http://gts.determinismsucks.net/gtsinstruct2.png&lt;br /&gt;
assuming you&#039;ve already got a connection to your local wireless network set up, click the settings for that connection.&lt;br /&gt;
http://gts.determinismsucks.net/gtsinstruct3.png&lt;br /&gt;
Scroll down a bit and, where it says something about the &amp;quot;DNS&amp;quot;, change Autoconnect to &amp;quot;No&amp;quot;,&lt;br /&gt;
http://gts.determinismsucks.net/gtsinstruct4a.png&lt;br /&gt;
and manually enter &amp;quot;X.X.X.X&amp;quot; as the primary DNS server.&lt;br /&gt;
http://gts.determinismsucks.net/gtsinstruct5.png&lt;br /&gt;
Save your settings.&lt;br /&gt;
&lt;br /&gt;
So i think it would be a good idea to set up a DNS server and using it on the DSi Shop to dowload DSiBrew. 9:08, 8 April 2010.&amp;lt;small&amp;gt;By FireGrey&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DNS redirection can&#039;t be used with the shop to install a homebrew title. The shop uses only https, we can&#039;t send anything with https, as DS will reject our certificates. --[[User:Yellows8|Yellows8]] 20:57, 8 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
I&#039;m so happy they find an exploit but does it coming to be realased ? &amp;lt;small&amp;gt;—Preceding unsigned comment added by [[User:Geniusdj|Geniusdj]] ([[User talk:Geniusdj|talk]] • [[Special:Contributions/Geniusdj|contribs]]) 15:07, 9 July 2009 (UTC)&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiBrew_talk:News&amp;diff=3294</id>
		<title>DSiBrew talk:News</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiBrew_talk:News&amp;diff=3294"/>
		<updated>2010-12-27T08:30:10Z</updated>

		<summary type="html">&lt;p&gt;Neimod: Do not post claims or announcements about DSi exploits or homebrew flashcards that at the time cannot be verified.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Forbidden News / Material? ==&lt;br /&gt;
&lt;br /&gt;
I&#039;m trying to be a general maintenance guy around here, editing links into things and organizing and whatnot, and I realized that some of the articles that are getting pulled from the front page didn&#039;t send up red flags to me. I mean, the DS download service one was pretty obviously against everything moral, but the carts didn&#039;t throw up a red flag because I personally *use* an R4 for homebrew, and the idea of using it for piracy doesn&#039;t immediately come to mind. (I don&#039;t, never have.)&lt;br /&gt;
&lt;br /&gt;
So what exactly do we not allow here? Clearly anything that&#039;s blatantly for piracy is out. Since the DSi is likely going to get some kind of SD card loader, do we want to avoid flash cart in general here? What should definitely not be here? --[[User:Thegamefreak0134|Thegamefreak0134]] 18:28, 22 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
I&#039;m mulling over the update history, someone needs to ban that kid. ^_^ --[[User:Thegamefreak0134|Thegamefreak0134]] 12:47, 26 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Do not post claims or announcements about DSi exploits or homebrew flashcards that at the time cannot be verified.&lt;br /&gt;
&lt;br /&gt;
== Yellows8 ==&lt;br /&gt;
.:SOLUTION?:.&lt;br /&gt;
I think i know a solution for downloading Homebrew onto the NDS when it&#039;s made.&lt;br /&gt;
I&#039;ve noticed that a group called Pokemon Fan Centre has made an edit to a wi-fi place in the pokemon games.they did it by doing this:&lt;br /&gt;
&lt;br /&gt;
In your DS&#039;s wifi settings,&lt;br /&gt;
http://gts.determinismsucks.net/gtsinstruct2.png&lt;br /&gt;
assuming you&#039;ve already got a connection to your local wireless network set up, click the settings for that connection.&lt;br /&gt;
http://gts.determinismsucks.net/gtsinstruct3.png&lt;br /&gt;
Scroll down a bit and, where it says something about the &amp;quot;DNS&amp;quot;, change Autoconnect to &amp;quot;No&amp;quot;,&lt;br /&gt;
http://gts.determinismsucks.net/gtsinstruct4a.png&lt;br /&gt;
and manually enter &amp;quot;X.X.X.X&amp;quot; as the primary DNS server.&lt;br /&gt;
http://gts.determinismsucks.net/gtsinstruct5.png&lt;br /&gt;
Save your settings.&lt;br /&gt;
&lt;br /&gt;
So i think it would be a good idea to set up a DNS server and using it on the DSi Shop to dowload DSiBrew. 9:08, 8 April 2010.&amp;lt;small&amp;gt;By FireGrey&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DNS redirection can&#039;t be used with the shop to install a homebrew title. The shop uses only https, we can&#039;t send anything with https, as DS will reject our certificates. --[[User:Yellows8|Yellows8]] 20:57, 8 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
I&#039;m so happy they find an exploit but does it coming to be realased ? &amp;lt;small&amp;gt;—Preceding unsigned comment added by [[User:Geniusdj|Geniusdj]] ([[User talk:Geniusdj|talk]] • [[Special:Contributions/Geniusdj|contribs]]) 15:07, 9 July 2009 (UTC)&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Talk:DSi_exploits&amp;diff=3288</id>
		<title>Talk:DSi exploits</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Talk:DSi_exploits&amp;diff=3288"/>
		<updated>2010-12-19T02:48:00Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dub-T&#039;s Nintendo DSi Shop Hack ==&lt;br /&gt;
&lt;br /&gt;
Erm, doesn&#039;t this just follow from what I wrote on Hackmii? http://hackmii.com/2009/01/dsibrew/ --[[User:Bushing|Bushing]] 11:41, 20 April 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Kasu&#039;s Hack ==&lt;br /&gt;
&lt;br /&gt;
Fake ? Everyone can do that using a DSi flashcard and remove it after ! &amp;lt;br/&amp;gt;&lt;br /&gt;
If it isn&#039;t a fake show us how you load the code ! --[[User:Ludo6431|Ludo6431]] 16:39, 20 April 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== DSi-only Game Exploit ==&lt;br /&gt;
&lt;br /&gt;
Well, there&#039;s the first DSi-only game out there ([http://www.amazon.fr/Mon-coach-personnel-recettes-plaisir/dp/B001VOV7XI french cooking crap]). Is that of any use? [[User:BlackNeedle|BlackNeedle]] 00:20, 12 July 2009 (UTC)&amp;lt;br/&amp;gt;&lt;br /&gt;
Mh, actually it&#039;s a hybrid game with extra functionality (camera) on DSi. [[User:BlackNeedle|BlackNeedle]] 00:22, 12 July 2009 (UTC)&lt;br /&gt;
There is 2 others game like this :&lt;br /&gt;
- My Cooking Coach : Prepare Healthy Recipes [EUR]&lt;br /&gt;
- Classic Word Games [EUR]&lt;br /&gt;
&lt;br /&gt;
But I don&#039;t know if DSiDev Team (include loopy, darkfader and the others on IRC) are working on it ! &amp;lt;small&amp;gt;—Preceding unsigned comment added by [[User:Geniusdj|Geniusdj]] ([[User talk:Geniusdj|talk]] • [[Special:Contributions/Geniusdj|contribs]]) 10:29, 9 July 2009 (UTC)&amp;lt;/small&amp;gt;&lt;br /&gt;
Oh ! Team Twiizers have find an exploit (semi hardware and software, I guess) !&lt;br /&gt;
But you&#039;re right that was one of those game who served for the exploit (Classic Word Game). &amp;lt;small&amp;gt;—Preceding unsigned comment added by [[User:Geniusdj|Geniusdj]] ([[User talk:Geniusdj|talk]] • [[Special:Contributions/Geniusdj|contribs]]) 15:08, 9 July 2009 (UTC)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:ahhh, happy day.  I&#039;ll be watching this closely.--[[User:Funkamatic|&amp;lt;font face=&amp;quot;Copperplate Gothic Light&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;FUNK&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;A&amp;lt;/font&amp;gt;MATIC&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;]][[User talk:Funkamatic|&amp;lt;font face=&amp;quot;Impact&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;   ~talk&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;]] 17:28, 9 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
We could try modifying the files it copies onto the SD card from the DSi Applications. I&#039;ve been trying to do this but with no success. If anyone wants to help me out email me at: the2banned2one@gmail.com . Any help would be much appreciated. If I can get anything from this I will post it and the files here. --[[User:The2Banned2One|&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;The2Banned2One&amp;lt;/font&amp;gt;]][[User talk:The2Banned2One| ~talk]] &amp;lt;s&amp;gt;17:21, 5 August 2009 (EST)&amp;lt;/s&amp;gt; &amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;autosigned&amp;quot;&amp;gt;—Preceding undated comment added 21:24, 5 August 2009 (UTC).&amp;lt;/span&amp;gt;&amp;lt;!--Template:Undated--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== BannerBomb Like Exploit ==&lt;br /&gt;
&lt;br /&gt;
Could we program something that can make the DSi Crash and load homebrew like the Wii&#039;s Bannerbomb?&lt;br /&gt;
--[[User:TWLREECE|TWLREECE]] 18:35, 17 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Action Replay DSi ==&lt;br /&gt;
&lt;br /&gt;
The Action Replay DSi runs in DSi Mode, has a Micro SD Card slot, and can run homebrew applications in a .nds format, could an installer program be written to install a homebrew channel on the DSi?--DSiDude&lt;br /&gt;
:I&#039;d like to know this also, but how do you know it runs in DSi mode?--[[User:Funkamatic|&amp;lt;font face=&amp;quot;Copperplate Gothic Light&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;FUNK&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;A&amp;lt;/font&amp;gt;MATIC&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;]][[User talk:Funkamatic|&amp;lt;font face=&amp;quot;Impact&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;   ~talk&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;]] 22:38, 21 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
 According to [[http://www.youtube.com/watch?v=y4etylDSHrw this video]] the Action Replay DSi shows up as a Game and Watch collection NDS game. &lt;br /&gt;
 This automatically means it cannot support DSi mode, and is running in normal DS mode. -- neimod&lt;br /&gt;
&lt;br /&gt;
That IS the DSi Mode, because if you use it on a DS, it just automatically boots up the Action Replay, without going to the DS menu. I have tried this. I don&#039;t know much about the DSi&#039;s workings but I&#039;m pretty sure of this. --DSiDude&lt;br /&gt;
&lt;br /&gt;
:No, it means the DSi System Menu will see it as a NDS game, not as a DSi game. As such it will disable all DSi features and revert to DS compatibility mode. Just try to load a DSi game, and it should fail to load (DSi only), or have all DSi features disabled (DSi enhanced). -- neimod&lt;br /&gt;
&lt;br /&gt;
::Action Replay on a DS always just boots up, that doesn&#039;t have anything to do with DSi mode --[[User:Bg4545|bg4545]] 03:19, 24 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Flip Note studio bug ==&lt;br /&gt;
&lt;br /&gt;
i dunno if this is of ANY use to anyone, but i found a glitch in Flipnote studio. As you may know, it accesses the SD card to see if there are any animations. I noticed it also tries to access the SD card when youre in a flipnote. I was making an animation, and i go to the story board mode to delete some frames. It then gave me a pop-up saying The object in the SD card slot could not be read (or something like that). It gives me that particular message because i have an SD adapter thats supposed to hold a micro sd. Anyways, just trying to be helpful.&lt;br /&gt;
&lt;br /&gt;
That&#039;s only useless MMC hw fail. That isn&#039;t exploitable at all. --[[User:Yellows8|Yellows8]] 02:44, 26 November 2010 (CET)&lt;br /&gt;
&lt;br /&gt;
No, not that, just the odd timing of it trying to access the SD card was weird to me.&lt;br /&gt;
&lt;br /&gt;
== Team Cyclops flashcard ==&lt;br /&gt;
&lt;br /&gt;
It&#039;s called the CycloDsi, and i guess it can access DSi features.  Should that go on this exploits page?&lt;br /&gt;
[http://www.cyclopsds.com/cgi-bin/cyclods/engine.pl here&#039;s] their site.&lt;br /&gt;
&lt;br /&gt;
: The exploits page is only for homebrew exploits, _no_ flash cards. And if you look at recent changes a news entry for that flash card was removed. --[[User:Yellows8|Yellows8]] 00:00, 19 December 2010 (CET)&lt;br /&gt;
&lt;br /&gt;
: Only technical information regarding the internal workings of the card exploit is welcome. Just pointing to a site that claims to have built a flashcard that has access to DSi features is NOT useful. --[[User:Neimod|Neimod]] 04:48, 19 December 2010 (CET)&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Talk:DSi_exploits&amp;diff=3287</id>
		<title>Talk:DSi exploits</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Talk:DSi_exploits&amp;diff=3287"/>
		<updated>2010-12-19T02:46:45Z</updated>

		<summary type="html">&lt;p&gt;Neimod: CORRELATION IS NOT CAUSATION&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dub-T&#039;s Nintendo DSi Shop Hack ==&lt;br /&gt;
&lt;br /&gt;
Erm, doesn&#039;t this just follow from what I wrote on Hackmii? http://hackmii.com/2009/01/dsibrew/ --[[User:Bushing|Bushing]] 11:41, 20 April 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Kasu&#039;s Hack ==&lt;br /&gt;
&lt;br /&gt;
Fake ? Everyone can do that using a DSi flashcard and remove it after ! &amp;lt;br/&amp;gt;&lt;br /&gt;
If it isn&#039;t a fake show us how you load the code ! --[[User:Ludo6431|Ludo6431]] 16:39, 20 April 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== DSi-only Game Exploit ==&lt;br /&gt;
&lt;br /&gt;
Well, there&#039;s the first DSi-only game out there ([http://www.amazon.fr/Mon-coach-personnel-recettes-plaisir/dp/B001VOV7XI french cooking crap]). Is that of any use? [[User:BlackNeedle|BlackNeedle]] 00:20, 12 July 2009 (UTC)&amp;lt;br/&amp;gt;&lt;br /&gt;
Mh, actually it&#039;s a hybrid game with extra functionality (camera) on DSi. [[User:BlackNeedle|BlackNeedle]] 00:22, 12 July 2009 (UTC)&lt;br /&gt;
There is 2 others game like this :&lt;br /&gt;
- My Cooking Coach : Prepare Healthy Recipes [EUR]&lt;br /&gt;
- Classic Word Games [EUR]&lt;br /&gt;
&lt;br /&gt;
But I don&#039;t know if DSiDev Team (include loopy, darkfader and the others on IRC) are working on it ! &amp;lt;small&amp;gt;—Preceding unsigned comment added by [[User:Geniusdj|Geniusdj]] ([[User talk:Geniusdj|talk]] • [[Special:Contributions/Geniusdj|contribs]]) 10:29, 9 July 2009 (UTC)&amp;lt;/small&amp;gt;&lt;br /&gt;
Oh ! Team Twiizers have find an exploit (semi hardware and software, I guess) !&lt;br /&gt;
But you&#039;re right that was one of those game who served for the exploit (Classic Word Game). &amp;lt;small&amp;gt;—Preceding unsigned comment added by [[User:Geniusdj|Geniusdj]] ([[User talk:Geniusdj|talk]] • [[Special:Contributions/Geniusdj|contribs]]) 15:08, 9 July 2009 (UTC)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:ahhh, happy day.  I&#039;ll be watching this closely.--[[User:Funkamatic|&amp;lt;font face=&amp;quot;Copperplate Gothic Light&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;FUNK&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;A&amp;lt;/font&amp;gt;MATIC&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;]][[User talk:Funkamatic|&amp;lt;font face=&amp;quot;Impact&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;   ~talk&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;]] 17:28, 9 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
We could try modifying the files it copies onto the SD card from the DSi Applications. I&#039;ve been trying to do this but with no success. If anyone wants to help me out email me at: the2banned2one@gmail.com . Any help would be much appreciated. If I can get anything from this I will post it and the files here. --[[User:The2Banned2One|&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;The2Banned2One&amp;lt;/font&amp;gt;]][[User talk:The2Banned2One| ~talk]] &amp;lt;s&amp;gt;17:21, 5 August 2009 (EST)&amp;lt;/s&amp;gt; &amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;autosigned&amp;quot;&amp;gt;—Preceding undated comment added 21:24, 5 August 2009 (UTC).&amp;lt;/span&amp;gt;&amp;lt;!--Template:Undated--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== BannerBomb Like Exploit ==&lt;br /&gt;
&lt;br /&gt;
Could we program something that can make the DSi Crash and load homebrew like the Wii&#039;s Bannerbomb?&lt;br /&gt;
--[[User:TWLREECE|TWLREECE]] 18:35, 17 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Action Replay DSi ==&lt;br /&gt;
&lt;br /&gt;
The Action Replay DSi runs in DSi Mode, has a Micro SD Card slot, and can run homebrew applications in a .nds format, could an installer program be written to install a homebrew channel on the DSi?--DSiDude&lt;br /&gt;
:I&#039;d like to know this also, but how do you know it runs in DSi mode?--[[User:Funkamatic|&amp;lt;font face=&amp;quot;Copperplate Gothic Light&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;FUNK&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;A&amp;lt;/font&amp;gt;MATIC&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;]][[User talk:Funkamatic|&amp;lt;font face=&amp;quot;Impact&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;   ~talk&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;]] 22:38, 21 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
 According to [[http://www.youtube.com/watch?v=y4etylDSHrw this video]] the Action Replay DSi shows up as a Game and Watch collection NDS game. &lt;br /&gt;
 This automatically means it cannot support DSi mode, and is running in normal DS mode. -- neimod&lt;br /&gt;
&lt;br /&gt;
That IS the DSi Mode, because if you use it on a DS, it just automatically boots up the Action Replay, without going to the DS menu. I have tried this. I don&#039;t know much about the DSi&#039;s workings but I&#039;m pretty sure of this. --DSiDude&lt;br /&gt;
&lt;br /&gt;
:No, it means the DSi System Menu will see it as a NDS game, not as a DSi game. As such it will disable all DSi features and revert to DS compatibility mode. Just try to load a DSi game, and it should fail to load (DSi only), or have all DSi features disabled (DSi enhanced). -- neimod&lt;br /&gt;
&lt;br /&gt;
::Action Replay on a DS always just boots up, that doesn&#039;t have anything to do with DSi mode --[[User:Bg4545|bg4545]] 03:19, 24 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Flip Note studio bug ==&lt;br /&gt;
&lt;br /&gt;
i dunno if this is of ANY use to anyone, but i found a glitch in Flipnote studio. As you may know, it accesses the SD card to see if there are any animations. I noticed it also tries to access the SD card when youre in a flipnote. I was making an animation, and i go to the story board mode to delete some frames. It then gave me a pop-up saying The object in the SD card slot could not be read (or something like that). It gives me that particular message because i have an SD adapter thats supposed to hold a micro sd. Anyways, just trying to be helpful.&lt;br /&gt;
&lt;br /&gt;
That&#039;s only useless MMC hw fail. That isn&#039;t exploitable at all. --[[User:Yellows8|Yellows8]] 02:44, 26 November 2010 (CET)&lt;br /&gt;
&lt;br /&gt;
No, not that, just the odd timing of it trying to access the SD card was weird to me.&lt;br /&gt;
&lt;br /&gt;
== Team Cyclops flashcard ==&lt;br /&gt;
&lt;br /&gt;
It&#039;s called the CycloDsi, and i guess it can access DSi features.  Should that go on this exploits page?&lt;br /&gt;
[http://www.cyclopsds.com/cgi-bin/cyclods/engine.pl here&#039;s] their site.&lt;br /&gt;
&lt;br /&gt;
: The exploits page is only for homebrew exploits, _no_ flash cards. And if you look at recent changes a news entry for that flash card was removed. --[[User:Yellows8|Yellows8]] 00:00, 19 December 2010 (CET)&lt;br /&gt;
&lt;br /&gt;
: Only technical information regarding the internal workings of the card exploit is welcome. Just pointing to a site that claims to have built a flashcard that has access to DSi features is NOT useful.&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Talk:SD_title_export&amp;diff=3278</id>
		<title>Talk:SD title export</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Talk:SD_title_export&amp;diff=3278"/>
		<updated>2010-12-06T11:13:31Z</updated>

		<summary type="html">&lt;p&gt;Neimod: Created page with &amp;quot;If we were able to get this information that requires the shared key, then why isn&amp;#039;t the shared key posted here. It must be known for the person who wrote this to have decrypted ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If we were able to get this information that requires the shared key, then why isn&#039;t the shared key posted here. It must be known for the person who wrote this to have decrypted the header and footer. [[User:The2Banned2One|The2Banned2One]] 02:54, 6 December 2010 (CET)&lt;br /&gt;
: The key is unknown but magic happens. [[User:Neimod|Neimod]] 13:13, 6 December 2010 (CET)&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Interrupts&amp;diff=3271</id>
		<title>Interrupts</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Interrupts&amp;diff=3271"/>
		<updated>2010-12-04T20:35:25Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ARM7 has some new interrupts.&lt;br /&gt;
&lt;br /&gt;
=== ARM7 IO REGISTERS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH (bytes)&lt;br /&gt;
!  NAME&lt;br /&gt;
|-&lt;br /&gt;
|  0x04000218&lt;br /&gt;
|  4&lt;br /&gt;
|  REG_IE2&lt;br /&gt;
|-&lt;br /&gt;
|  0x0400021C&lt;br /&gt;
|  4&lt;br /&gt;
|  REG_IF2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;REG_IE2 / REG_IF2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0&lt;br /&gt;
|  GPIO18[0]&lt;br /&gt;
|-&lt;br /&gt;
|  1&lt;br /&gt;
|  GPIO18[1]&lt;br /&gt;
|-&lt;br /&gt;
|  2&lt;br /&gt;
|  GPIO18[2]&lt;br /&gt;
|-&lt;br /&gt;
|  4&lt;br /&gt;
|  GPIO33[0]&lt;br /&gt;
|-&lt;br /&gt;
|  5&lt;br /&gt;
|  GPIO33[1]&lt;br /&gt;
|-&lt;br /&gt;
|  6&lt;br /&gt;
|  Powerbutton interrupt (GPIO33[2])&lt;br /&gt;
|-&lt;br /&gt;
|  7&lt;br /&gt;
|  GPIO33[3]&lt;br /&gt;
|-&lt;br /&gt;
|  8&lt;br /&gt;
|  SD card 1&lt;br /&gt;
|-&lt;br /&gt;
|  9&lt;br /&gt;
|  SDIO card 1 async&lt;br /&gt;
|-&lt;br /&gt;
|  10&lt;br /&gt;
|  SD card 2&lt;br /&gt;
|-&lt;br /&gt;
|  11&lt;br /&gt;
|  SDIO card 2 async&lt;br /&gt;
|-&lt;br /&gt;
|  12&lt;br /&gt;
|  AES interrupt&lt;br /&gt;
|-&lt;br /&gt;
|  13&lt;br /&gt;
|  I2C interrupt&lt;br /&gt;
|-&lt;br /&gt;
|  14&lt;br /&gt;
|  Microphone Extended interrupt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;REG_IE / REG_IF&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0-27&lt;br /&gt;
|  same as DS&lt;br /&gt;
|-&lt;br /&gt;
|  28&lt;br /&gt;
|  NDMA0 interrupt&lt;br /&gt;
|-&lt;br /&gt;
|  29&lt;br /&gt;
|  NDMA1 interrupt&lt;br /&gt;
|-&lt;br /&gt;
|  30&lt;br /&gt;
|  NDMA2 interrupt&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  NDMA3 interrupt&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3261</id>
		<title>NDMA</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3261"/>
		<updated>2010-11-26T06:44:19Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registers ==&lt;br /&gt;
There&#039;s 4 NDMA channels. Arm7/Arm9 have separate NDMA.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAGCNT&lt;br /&gt;
|  0x04004100&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMASAD(n)&lt;br /&gt;
|  0x04004104 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMADAD(n)&lt;br /&gt;
|  0x04004108 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMATCNT(n)&lt;br /&gt;
|  0x0400410c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAWCNT(n)&lt;br /&gt;
|  0x04004110 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMABCNT(n)&lt;br /&gt;
|  0x04004114 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAFDATA(n)&lt;br /&gt;
|  0x04004118 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMACNT(n)&lt;br /&gt;
|  0x0400411c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAGCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Cycle selection.&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  DMA arbitration method. 0=Fixed method, 1=Round robin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMASAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Source data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMASAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMADAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Destination data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMADAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMATCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  27-0&lt;br /&gt;
|  Total number of words transferred.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAWCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  23-0&lt;br /&gt;
|  Number of words to transfer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMABCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  15-0&lt;br /&gt;
|  Interval timer.&lt;br /&gt;
|-&lt;br /&gt;
|  17-16&lt;br /&gt;
|  Prescaler. 0=System freq, 1=1/4th freq, 2=1/16th freq, 3=1/64th freq.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAFDATA ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Fill data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMACNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  11-10&lt;br /&gt;
|  Destination address update method. 0=Increment, 1=Decrement, 2=Fixed.&lt;br /&gt;
|-&lt;br /&gt;
|  12&lt;br /&gt;
|  Destination address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  14-13&lt;br /&gt;
|  Source address update method. 0=Increment, 1=Decrement, 2=Fixed, 3=No address (for filling)&lt;br /&gt;
|-&lt;br /&gt;
|  15&lt;br /&gt;
|  Source address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Block transfer word count = (1&amp;lt;&amp;lt;x) words.&lt;br /&gt;
|-&lt;br /&gt;
|  27-24&lt;br /&gt;
|  Startup mode.&lt;br /&gt;
|-&lt;br /&gt;
|  28&lt;br /&gt;
|  Immediate mode.&lt;br /&gt;
|-&lt;br /&gt;
|  29&lt;br /&gt;
|  Repeating mode.&lt;br /&gt;
|-&lt;br /&gt;
|  30&lt;br /&gt;
|  IRQ enable&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  Enable/busy flag.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Startup modes (27-24) for ARM9 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  VALUE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0&lt;br /&gt;
|  Timer 0&lt;br /&gt;
|-&lt;br /&gt;
|  1&lt;br /&gt;
|  Timer 1&lt;br /&gt;
|-&lt;br /&gt;
|  2&lt;br /&gt;
|  Timer 2&lt;br /&gt;
|-&lt;br /&gt;
|  3&lt;br /&gt;
|  Timer 3&lt;br /&gt;
|-&lt;br /&gt;
|  4&lt;br /&gt;
|  Game Card&lt;br /&gt;
|-&lt;br /&gt;
|  6&lt;br /&gt;
|  V-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  7&lt;br /&gt;
|  H-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  8&lt;br /&gt;
|  Display&lt;br /&gt;
|-&lt;br /&gt;
|  9&lt;br /&gt;
|  Work RAM&lt;br /&gt;
|-&lt;br /&gt;
|  10&lt;br /&gt;
|  Geometry FIFO&lt;br /&gt;
|-&lt;br /&gt;
|  11&lt;br /&gt;
|  Camera&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Startup modes (27-24) for ARM7 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  VALUE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0&lt;br /&gt;
|  Timer 0&lt;br /&gt;
|-&lt;br /&gt;
|  1&lt;br /&gt;
|  Timer 1&lt;br /&gt;
|-&lt;br /&gt;
|  2&lt;br /&gt;
|  Timer 2&lt;br /&gt;
|-&lt;br /&gt;
|  3&lt;br /&gt;
|  Timer 3&lt;br /&gt;
|-&lt;br /&gt;
|  4&lt;br /&gt;
|  Game Card&lt;br /&gt;
|-&lt;br /&gt;
|  6&lt;br /&gt;
|  V-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  7&lt;br /&gt;
|  Wireless&lt;br /&gt;
|-&lt;br /&gt;
|  8&lt;br /&gt;
|  SD I/F 1&lt;br /&gt;
|-&lt;br /&gt;
|  9&lt;br /&gt;
|  SD I/F 2&lt;br /&gt;
|-&lt;br /&gt;
|  10&lt;br /&gt;
|  AES in&lt;br /&gt;
|-&lt;br /&gt;
|  11&lt;br /&gt;
|  AES out / MIC(?)&lt;br /&gt;
|-&lt;br /&gt;
|  12&lt;br /&gt;
|  MIC(?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Block transfers ==&lt;br /&gt;
First, a word is always 32 bits. Second, the block transfer specified in REG_NDMACNT is the smallest atom of data that will be transferred in a burst. The bus is monopolized until this block is transferred, without splitting up.&lt;br /&gt;
&lt;br /&gt;
The next block transfer will happen after the specified time in the REG_NDMABCNT interval timer, until done.&lt;br /&gt;
&lt;br /&gt;
== Immediate mode ==&lt;br /&gt;
Transfers the words specified in REG_NDMAWCNT immediately following block transfer rules. REG_NDMATCNT and repeating mode are ignored.&lt;br /&gt;
&lt;br /&gt;
== Repeating mode ==&lt;br /&gt;
Transfers the words specified in REG_NDMAWCNT following the startup mode event. REG_DMATCNT is ignored.&lt;br /&gt;
&lt;br /&gt;
== No immediate and no repeating mode ==&lt;br /&gt;
Transfers the words specified in REG_NDMAWCNT for each startup event, and gets disabled when the total number of words in REG_NDMATCNT are transferred.&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3260</id>
		<title>NDMA</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3260"/>
		<updated>2010-11-26T06:43:52Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registers ==&lt;br /&gt;
There&#039;s 4 NDMA channels. Arm7/Arm9 have separate NDMA.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAGCNT&lt;br /&gt;
|  0x04004100&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMASAD(n)&lt;br /&gt;
|  0x04004104 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMADAD(n)&lt;br /&gt;
|  0x04004108 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMATCNT(n)&lt;br /&gt;
|  0x0400410c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAWCNT(n)&lt;br /&gt;
|  0x04004110 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMABCNT(n)&lt;br /&gt;
|  0x04004114 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAFDATA(n)&lt;br /&gt;
|  0x04004118 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMACNT(n)&lt;br /&gt;
|  0x0400411c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAGCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Cycle selection.&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  DMA arbitration method. 0=Fixed method, 1=Round robin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMASAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Source data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMASAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMADAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Destination data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMADAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMATCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  27-0&lt;br /&gt;
|  Total number of words transferred.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAWCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  23-0&lt;br /&gt;
|  Number of words to transfer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMABCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  15-0&lt;br /&gt;
|  Interval timer.&lt;br /&gt;
|-&lt;br /&gt;
|  17-16&lt;br /&gt;
|  Prescaler. 0=System freq, 1=1/4th freq, 2=1/16th freq, 3=1/64th freq.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAFDATA ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Fill data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMACNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  11-10&lt;br /&gt;
|  Destination address update method. 0=Increment, 1=Decrement, 2=Fixed.&lt;br /&gt;
|-&lt;br /&gt;
|  12&lt;br /&gt;
|  Destination address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  14-13&lt;br /&gt;
|  Source address update method. 0=Increment, 1=Decrement, 2=Fixed, 3=No address (for filling)&lt;br /&gt;
|-&lt;br /&gt;
|  15&lt;br /&gt;
|  Source address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Block transfer word count = (1&amp;lt;&amp;lt;x) words.&lt;br /&gt;
|-&lt;br /&gt;
|  27-24&lt;br /&gt;
|  Startup mode.&lt;br /&gt;
|-&lt;br /&gt;
|  28&lt;br /&gt;
|  Immediate mode.&lt;br /&gt;
|-&lt;br /&gt;
|  29&lt;br /&gt;
|  Repeating mode.&lt;br /&gt;
|-&lt;br /&gt;
|  30&lt;br /&gt;
|  IRQ enable&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  Enable/busy flag.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Startup modes (27-24) for ARM9 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  VALUE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0&lt;br /&gt;
|  Timer 0&lt;br /&gt;
|-&lt;br /&gt;
|  1&lt;br /&gt;
|  Timer 1&lt;br /&gt;
|-&lt;br /&gt;
|  2&lt;br /&gt;
|  Timer 2&lt;br /&gt;
|-&lt;br /&gt;
|  3&lt;br /&gt;
|  Timer 3&lt;br /&gt;
|-&lt;br /&gt;
|  4&lt;br /&gt;
|  Game Card&lt;br /&gt;
|-&lt;br /&gt;
|  6&lt;br /&gt;
|  V-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  7&lt;br /&gt;
|  H-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  8&lt;br /&gt;
|  Display&lt;br /&gt;
|-&lt;br /&gt;
|  9&lt;br /&gt;
|  Work RAM&lt;br /&gt;
|-&lt;br /&gt;
|  10&lt;br /&gt;
|  Geometry FIFO&lt;br /&gt;
|-&lt;br /&gt;
|  11&lt;br /&gt;
|  Camera&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Startup modes (27-24) for ARM7 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  VALUE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0&lt;br /&gt;
|  Timer 0&lt;br /&gt;
|-&lt;br /&gt;
|  1&lt;br /&gt;
|  Timer 1&lt;br /&gt;
|-&lt;br /&gt;
|  2&lt;br /&gt;
|  Timer 2&lt;br /&gt;
|-&lt;br /&gt;
|  3&lt;br /&gt;
|  Timer 3&lt;br /&gt;
|-&lt;br /&gt;
|  4&lt;br /&gt;
|  Game Card&lt;br /&gt;
|-&lt;br /&gt;
|  6&lt;br /&gt;
|  V-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  7&lt;br /&gt;
|  Wireless&lt;br /&gt;
|-&lt;br /&gt;
|  8&lt;br /&gt;
|  SD I/F 1&lt;br /&gt;
|-&lt;br /&gt;
|  9&lt;br /&gt;
|  SD I/F 2&lt;br /&gt;
|-&lt;br /&gt;
|  10&lt;br /&gt;
|  AES in&lt;br /&gt;
|-&lt;br /&gt;
|  11&lt;br /&gt;
|  AES out / MIC(?)&lt;br /&gt;
|-&lt;br /&gt;
|  12&lt;br /&gt;
|  MIC(?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Block transfers ==&lt;br /&gt;
First, a word is always 32 bits. Second, the block transfer specified in REG_NDMACNT is the smallest atom of data that will be transferred in a burst. The bus is monopolized until this block is transferred, without splitting up.&lt;br /&gt;
&lt;br /&gt;
The next block transfer will happen after the specified time in the REG_NDMABCNT interval timer, until done.&lt;br /&gt;
&lt;br /&gt;
== Immediate mode ==&lt;br /&gt;
Transfers the words specified in REG_NDMAWCNT immediately following block transfer rules. REG_NDMATCNT and repeating mode are ignored.&lt;br /&gt;
&lt;br /&gt;
== Repeating mode ==&lt;br /&gt;
Transfers the words specified in REG_NDMAWCNT following the startup mode event. REG_DMATCNT is ignored.&lt;br /&gt;
&lt;br /&gt;
== No immediate and no repeating mode ==&lt;br /&gt;
Transfers the words specified in REG_NDMAWCNT for each startup event, and gets disabled until the total number of words in REG_NDMATCNT are transferred.&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3255</id>
		<title>NDMA</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3255"/>
		<updated>2010-11-25T05:24:42Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registers ==&lt;br /&gt;
There&#039;s 4 NDMA channels. Arm7/Arm9 have separate NDMA.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAGCNT&lt;br /&gt;
|  0x04004100&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMASAD(n)&lt;br /&gt;
|  0x04004104 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMADAD(n)&lt;br /&gt;
|  0x04004108 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMATCNT(n)&lt;br /&gt;
|  0x0400410c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAWCNT(n)&lt;br /&gt;
|  0x04004110 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMABCNT(n)&lt;br /&gt;
|  0x04004114 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAFDATA(n)&lt;br /&gt;
|  0x04004118 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMACNT(n)&lt;br /&gt;
|  0x0400411c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAGCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Cycle selection.&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  DMA arbitration method. 0=Fixed method, 1=Round robin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMASAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Source data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMASAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMADAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Destination data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMADAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMATCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  27-0&lt;br /&gt;
|  Total number of words transferred.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAWCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  23-0&lt;br /&gt;
|  Number of words to transfer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMABCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  15-0&lt;br /&gt;
|  Interval timer.&lt;br /&gt;
|-&lt;br /&gt;
|  17-16&lt;br /&gt;
|  Prescaler. 0=System freq, 1=1/4th freq, 2=1/16th freq, 3=1/64th freq.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAFDATA ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Fill data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMACNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  11-10&lt;br /&gt;
|  Destination address update method. 0=Increment, 1=Decrement, 2=Fixed.&lt;br /&gt;
|-&lt;br /&gt;
|  12&lt;br /&gt;
|  Destination address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  14-13&lt;br /&gt;
|  Source address update method. 0=Increment, 1=Decrement, 2=Fixed, 3=No address (for filling)&lt;br /&gt;
|-&lt;br /&gt;
|  15&lt;br /&gt;
|  Source address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Block transfer word count = (1&amp;lt;&amp;lt;x) words.&lt;br /&gt;
|-&lt;br /&gt;
|  27-24&lt;br /&gt;
|  Startup mode.&lt;br /&gt;
|-&lt;br /&gt;
|  28&lt;br /&gt;
|  Immediate mode.&lt;br /&gt;
|-&lt;br /&gt;
|  29&lt;br /&gt;
|  Repeating mode.&lt;br /&gt;
|-&lt;br /&gt;
|  30&lt;br /&gt;
|  IRQ enable&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  Enable/busy flag.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Startup modes (27-24) for ARM9 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0&lt;br /&gt;
|  Timer 0&lt;br /&gt;
|-&lt;br /&gt;
|  1&lt;br /&gt;
|  Timer 1&lt;br /&gt;
|-&lt;br /&gt;
|  2&lt;br /&gt;
|  Timer 2&lt;br /&gt;
|-&lt;br /&gt;
|  3&lt;br /&gt;
|  Timer 3&lt;br /&gt;
|-&lt;br /&gt;
|  4&lt;br /&gt;
|  Game Card&lt;br /&gt;
|-&lt;br /&gt;
|  6&lt;br /&gt;
|  V-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  7&lt;br /&gt;
|  H-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  8&lt;br /&gt;
|  Display&lt;br /&gt;
|-&lt;br /&gt;
|  9&lt;br /&gt;
|  Work RAM&lt;br /&gt;
|-&lt;br /&gt;
|  10&lt;br /&gt;
|  Geometry FIFO&lt;br /&gt;
|-&lt;br /&gt;
|  11&lt;br /&gt;
|  Camera&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Startup modes (27-24) for ARM7 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0&lt;br /&gt;
|  Timer 0&lt;br /&gt;
|-&lt;br /&gt;
|  1&lt;br /&gt;
|  Timer 1&lt;br /&gt;
|-&lt;br /&gt;
|  2&lt;br /&gt;
|  Timer 2&lt;br /&gt;
|-&lt;br /&gt;
|  3&lt;br /&gt;
|  Timer 3&lt;br /&gt;
|-&lt;br /&gt;
|  4&lt;br /&gt;
|  Game Card&lt;br /&gt;
|-&lt;br /&gt;
|  6&lt;br /&gt;
|  V-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  7&lt;br /&gt;
|  Wireless&lt;br /&gt;
|-&lt;br /&gt;
|  8&lt;br /&gt;
|  SD I/F 1&lt;br /&gt;
|-&lt;br /&gt;
|  9&lt;br /&gt;
|  SD I/F 2&lt;br /&gt;
|-&lt;br /&gt;
|  10&lt;br /&gt;
|  AES in&lt;br /&gt;
|-&lt;br /&gt;
|  11&lt;br /&gt;
|  AES out / MIC(?)&lt;br /&gt;
|-&lt;br /&gt;
|  12&lt;br /&gt;
|  MIC(?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Block transfers ==&lt;br /&gt;
First, a word is always 32 bits. Second, the block transfer specified in REG_NDMACNT is the smallest atom of data that will be transferred in a burst. The bus is monopolized until this block is transferred, without splitting up.&lt;br /&gt;
&lt;br /&gt;
The next block transfer will happen after the specified time in the REG_NDMABCNT interval timer, until done.&lt;br /&gt;
&lt;br /&gt;
== Immediate mode ==&lt;br /&gt;
Transfers the words specified in REG_NDMAWCNT immediately following block transfer rules. REG_NDMATCNT and repeating mode are ignored.&lt;br /&gt;
&lt;br /&gt;
== Repeating mode ==&lt;br /&gt;
Transfers the words specified in REG_NDMACNT following the startup mode event. REG_DMATCNT is ignored.&lt;br /&gt;
&lt;br /&gt;
== No immediate and no repeating mode ==&lt;br /&gt;
Transfers the total number of words in REG_NDMATCNT.&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3254</id>
		<title>NDMA</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3254"/>
		<updated>2010-11-25T03:56:52Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registers ==&lt;br /&gt;
There&#039;s 4 NDMA channels. Arm7/Arm9 have separate NDMA.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAGCNT&lt;br /&gt;
|  0x04004100&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMASAD(n)&lt;br /&gt;
|  0x04004104 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMADAD(n)&lt;br /&gt;
|  0x04004108 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMATCNT(n)&lt;br /&gt;
|  0x0400410c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAWCNT(n)&lt;br /&gt;
|  0x04004110 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMABCNT(n)&lt;br /&gt;
|  0x04004114 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAFDATA(n)&lt;br /&gt;
|  0x04004118 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMACNT(n)&lt;br /&gt;
|  0x0400411c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAGCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Cycle selection.&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  DMA arbitration method. 0=Fixed method, 1=Round robin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMASAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Source data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMASAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMADAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Destination data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMADAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMATCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  27-0&lt;br /&gt;
|  Total number of words transferred.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAWCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  23-0&lt;br /&gt;
|  Number of words to transfer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMABCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  15-0&lt;br /&gt;
|  Interval timer.&lt;br /&gt;
|-&lt;br /&gt;
|  17-16&lt;br /&gt;
|  Prescaler. 0=System freq, 1=1/4th freq, 2=1/16th freq, 3=1/64th freq.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAFDATA ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Fill data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMACNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  11-10&lt;br /&gt;
|  Destination address update method. 0=Increment, 1=Decrement, 2=Fixed.&lt;br /&gt;
|-&lt;br /&gt;
|  12&lt;br /&gt;
|  Destination address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  14-13&lt;br /&gt;
|  Source address update method. 0=Increment, 1=Decrement, 2=Fixed, 3=No address (for filling)&lt;br /&gt;
|-&lt;br /&gt;
|  15&lt;br /&gt;
|  Source address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Block transfer word count = (1&amp;lt;&amp;lt;x) words.&lt;br /&gt;
|-&lt;br /&gt;
|  27-24&lt;br /&gt;
|  Startup mode.&lt;br /&gt;
|-&lt;br /&gt;
|  28&lt;br /&gt;
|  Immediate mode.&lt;br /&gt;
|-&lt;br /&gt;
|  29&lt;br /&gt;
|  Repeating mode.&lt;br /&gt;
|-&lt;br /&gt;
|  30&lt;br /&gt;
|  IRQ enable&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  Enable/busy flag.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Startup modes (27-24) for ARM9 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0&lt;br /&gt;
|  Timer 0&lt;br /&gt;
|-&lt;br /&gt;
|  1&lt;br /&gt;
|  Timer 1&lt;br /&gt;
|-&lt;br /&gt;
|  2&lt;br /&gt;
|  Timer 2&lt;br /&gt;
|-&lt;br /&gt;
|  3&lt;br /&gt;
|  Timer 3&lt;br /&gt;
|-&lt;br /&gt;
|  4&lt;br /&gt;
|  Game Card&lt;br /&gt;
|-&lt;br /&gt;
|  6&lt;br /&gt;
|  V-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  7&lt;br /&gt;
|  H-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  8&lt;br /&gt;
|  Display&lt;br /&gt;
|-&lt;br /&gt;
|  9&lt;br /&gt;
|  Work RAM&lt;br /&gt;
|-&lt;br /&gt;
|  10&lt;br /&gt;
|  Geometry FIFO&lt;br /&gt;
|-&lt;br /&gt;
|  11&lt;br /&gt;
|  Camera&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Block transfers ==&lt;br /&gt;
First, a word is always 32 bits. Second, the block transfer specified in REG_NDMACNT is the smallest atom of data that will be transferred in a burst. The bus is monopolized until this block is transferred, without splitting up.&lt;br /&gt;
&lt;br /&gt;
The next block transfer will happen after the specified time in the REG_NDMABCNT interval timer, until done.&lt;br /&gt;
&lt;br /&gt;
== Immediate mode ==&lt;br /&gt;
Transfers the words specified in REG_NDMAWCNT immediately following block transfer rules. REG_NDMATCNT and repeating mode are ignored.&lt;br /&gt;
&lt;br /&gt;
== Repeating mode ==&lt;br /&gt;
Transfers the words specified in REG_NDMACNT following the startup mode event. REG_DMATCNT is ignored.&lt;br /&gt;
&lt;br /&gt;
== No immediate and no repeating mode ==&lt;br /&gt;
Transfers the total number of words in REG_NDMATCNT.&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3253</id>
		<title>NDMA</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3253"/>
		<updated>2010-11-25T03:36:42Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registers ==&lt;br /&gt;
There&#039;s 4 NDMA channels. Arm7/Arm9 have separate NDMA.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAGCNT&lt;br /&gt;
|  0x04004100&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMASAD(n)&lt;br /&gt;
|  0x04004104 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMADAD(n)&lt;br /&gt;
|  0x04004108 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMATCNT(n)&lt;br /&gt;
|  0x0400410c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAWCNT(n)&lt;br /&gt;
|  0x04004110 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMABCNT(n)&lt;br /&gt;
|  0x04004114 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAFDATA(n)&lt;br /&gt;
|  0x04004118 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMACNT(n)&lt;br /&gt;
|  0x0400411c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAGCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Cycle selection.&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  DMA arbitration method. 0=Fixed method, 1=Round robin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMASAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Source data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMASAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMADAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Destination data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMADAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMATCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  27-0&lt;br /&gt;
|  Total number of words transferred.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAWCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  23-0&lt;br /&gt;
|  Number of words to transfer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMABCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  15-0&lt;br /&gt;
|  Interval timer.&lt;br /&gt;
|-&lt;br /&gt;
|  17-16&lt;br /&gt;
|  Prescaler. 0=System freq, 1=1/4th freq, 2=1/16th freq, 3=1/64th freq.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAFDATA ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Fill data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMACNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  11-10&lt;br /&gt;
|  Destination address update method. 0=Increment, 1=Decrement, 2=Fixed.&lt;br /&gt;
|-&lt;br /&gt;
|  12&lt;br /&gt;
|  Destination address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  14-13&lt;br /&gt;
|  Source address update method. 0=Increment, 1=Decrement, 2=Fixed, 3=No address(?)&lt;br /&gt;
|-&lt;br /&gt;
|  15&lt;br /&gt;
|  Source address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Block transfer word count = (1&amp;lt;&amp;lt;x) words.&lt;br /&gt;
|-&lt;br /&gt;
|  27-24&lt;br /&gt;
|  Startup mode.&lt;br /&gt;
|-&lt;br /&gt;
|  28&lt;br /&gt;
|  Immediate mode.&lt;br /&gt;
|-&lt;br /&gt;
|  29&lt;br /&gt;
|  Repeating mode.&lt;br /&gt;
|-&lt;br /&gt;
|  30&lt;br /&gt;
|  IRQ enable&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  Enable/busy flag.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Startup modes (27-24) for ARM9 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0&lt;br /&gt;
|  Timer 0&lt;br /&gt;
|-&lt;br /&gt;
|  1&lt;br /&gt;
|  Timer 1&lt;br /&gt;
|-&lt;br /&gt;
|  2&lt;br /&gt;
|  Timer 2&lt;br /&gt;
|-&lt;br /&gt;
|  3&lt;br /&gt;
|  Timer 3&lt;br /&gt;
|-&lt;br /&gt;
|  4&lt;br /&gt;
|  Game Card&lt;br /&gt;
|-&lt;br /&gt;
|  6&lt;br /&gt;
|  V-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  7&lt;br /&gt;
|  H-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  8&lt;br /&gt;
|  Display&lt;br /&gt;
|-&lt;br /&gt;
|  9&lt;br /&gt;
|  Work RAM&lt;br /&gt;
|-&lt;br /&gt;
|  10&lt;br /&gt;
|  Geometry FIFO&lt;br /&gt;
|-&lt;br /&gt;
|  11&lt;br /&gt;
|  Camera&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3252</id>
		<title>NDMA</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3252"/>
		<updated>2010-11-25T03:31:37Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registers ==&lt;br /&gt;
There&#039;s 4 NDMA channels. Arm7/Arm9 have separate NDMA.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAGCNT&lt;br /&gt;
|  0x04004100&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMASAD(n)&lt;br /&gt;
|  0x04004104 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMADAD(n)&lt;br /&gt;
|  0x04004108 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMATCNT(n)&lt;br /&gt;
|  0x0400410c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAWCNT(n)&lt;br /&gt;
|  0x04004110 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMABCNT(n)&lt;br /&gt;
|  0x04004114 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAFDATA(n)&lt;br /&gt;
|  0x04004118 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMACNT(n)&lt;br /&gt;
|  0x0400411c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAGCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Cycle selection.&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  DMA arbitration method. 0=Fixed method, 1=Round robin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMASAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Source data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMASAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMADAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Destination data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMADAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMATCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  27-0&lt;br /&gt;
|  Total number of words transferred.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAWCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  23-0&lt;br /&gt;
|  Number of words to transfer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMABCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  15-0&lt;br /&gt;
|  Interval timer.&lt;br /&gt;
|-&lt;br /&gt;
|  17-16&lt;br /&gt;
|  Prescaler. 0=System freq, 1=1/4th freq, 2=1/16th freq, 3=1/64th freq.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAFDATA ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Fill data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMACNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  11-10&lt;br /&gt;
|  Destination address update method.&lt;br /&gt;
|-&lt;br /&gt;
|  12&lt;br /&gt;
|  Destination address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  14-13&lt;br /&gt;
|  Source address update method.&lt;br /&gt;
|-&lt;br /&gt;
|  15&lt;br /&gt;
|  Source address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Block transfer word count = (1&amp;lt;&amp;lt;x) words.&lt;br /&gt;
|-&lt;br /&gt;
|  27-24&lt;br /&gt;
|  Startup mode.&lt;br /&gt;
|-&lt;br /&gt;
|  28&lt;br /&gt;
|  Immediate mode.&lt;br /&gt;
|-&lt;br /&gt;
|  29&lt;br /&gt;
|  Repeating mode.&lt;br /&gt;
|-&lt;br /&gt;
|  30&lt;br /&gt;
|  IRQ enable&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  Enable/busy flag.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Startup modes (27-24) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0&lt;br /&gt;
|  Timer 0&lt;br /&gt;
|-&lt;br /&gt;
|  1&lt;br /&gt;
|  Timer 1&lt;br /&gt;
|-&lt;br /&gt;
|  2&lt;br /&gt;
|  Timer 2&lt;br /&gt;
|-&lt;br /&gt;
|  3&lt;br /&gt;
|  Timer 3&lt;br /&gt;
|-&lt;br /&gt;
|  4&lt;br /&gt;
|  Game Card&lt;br /&gt;
|-&lt;br /&gt;
|  6&lt;br /&gt;
|  V-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  7&lt;br /&gt;
|  H-Blank&lt;br /&gt;
|-&lt;br /&gt;
|  8&lt;br /&gt;
|  Display&lt;br /&gt;
|-&lt;br /&gt;
|  9&lt;br /&gt;
|  Work RAM&lt;br /&gt;
|-&lt;br /&gt;
|  10&lt;br /&gt;
|  Geometry FIFO&lt;br /&gt;
|-&lt;br /&gt;
|  11&lt;br /&gt;
|  Camera&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3251</id>
		<title>NDMA</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3251"/>
		<updated>2010-11-25T03:26:58Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registers ==&lt;br /&gt;
There&#039;s 4 NDMA channels. Arm7/Arm9 have separate NDMA.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAGCNT&lt;br /&gt;
|  0x04004100&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMASAD(n)&lt;br /&gt;
|  0x04004104 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMADAD(n)&lt;br /&gt;
|  0x04004108 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMATCNT(n)&lt;br /&gt;
|  0x0400410c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAWCNT(n)&lt;br /&gt;
|  0x04004110 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMABCNT(n)&lt;br /&gt;
|  0x04004114 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAFDATA(n)&lt;br /&gt;
|  0x04004118 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMACNT(n)&lt;br /&gt;
|  0x0400411c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAGCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Cycle selection.&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  DMA arbitration method. 0=Fixed method, 1=Round robin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMASAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Source data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMASAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMADAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Destination data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMADAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMATCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  27-0&lt;br /&gt;
|  Total number of words transferred.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAWCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  23-0&lt;br /&gt;
|  Number of words to transfer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMABCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  15-0&lt;br /&gt;
|  Interval timer.&lt;br /&gt;
|-&lt;br /&gt;
|  17-16&lt;br /&gt;
|  Prescaler. 0=System freq, 1=1/4th freq, 2=1/16th freq, 3=1/64th freq.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAFDATA ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Fill data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMACNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  11-10&lt;br /&gt;
|  Destination address update method.&lt;br /&gt;
|-&lt;br /&gt;
|  12&lt;br /&gt;
|  Destination address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  14-13&lt;br /&gt;
|  Source address update method.&lt;br /&gt;
|-&lt;br /&gt;
|  15&lt;br /&gt;
|  Source address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Block transfer word count.&lt;br /&gt;
|-&lt;br /&gt;
|  27-24&lt;br /&gt;
|  Startup mode.&lt;br /&gt;
|-&lt;br /&gt;
|  28&lt;br /&gt;
|  Immediate mode.&lt;br /&gt;
|-&lt;br /&gt;
|  29&lt;br /&gt;
|  Repeating mode.&lt;br /&gt;
|-&lt;br /&gt;
|  30&lt;br /&gt;
|  IRQ enable&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  Enable/busy flag.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3250</id>
		<title>NDMA</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3250"/>
		<updated>2010-11-25T03:23:46Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registers ==&lt;br /&gt;
There&#039;s 4 NDMA channels. Arm7/Arm9 have separate NDMA.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAGCNT&lt;br /&gt;
|  0x04004100&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMASAD(n)&lt;br /&gt;
|  0x04004104 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMADAD(n)&lt;br /&gt;
|  0x04004108 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMATCNT(n)&lt;br /&gt;
|  0x0400410c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAWCNT(n)&lt;br /&gt;
|  0x04004110 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMABCNT(n)&lt;br /&gt;
|  0x04004114 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAFDATA(n)&lt;br /&gt;
|  0x04004118 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMACNT(n)&lt;br /&gt;
|  0x0400411c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAGCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Cycle selection.&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  DMA arbitration method. 0=Fixed method, 1=Round robin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMASAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Source data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMA_SRC is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMADAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Destination data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMADAD is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMATCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  27-0&lt;br /&gt;
|  Total number of words transferred.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAWCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  23-0&lt;br /&gt;
|  Total number of words to transfer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMABCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  15-0&lt;br /&gt;
|  Interval timer.&lt;br /&gt;
|-&lt;br /&gt;
|  17-16&lt;br /&gt;
|  Prescaler. 0=System freq, 1=1/4th freq, 2=1/16th freq, 3=1/64th freq.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAFDATA ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Fill data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMACNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  11-10&lt;br /&gt;
|  Destination address update method.&lt;br /&gt;
|-&lt;br /&gt;
|  12&lt;br /&gt;
|  Destination address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  14-13&lt;br /&gt;
|  Source address update method.&lt;br /&gt;
|-&lt;br /&gt;
|  15&lt;br /&gt;
|  Source address reload flag.&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Block transfer word count.&lt;br /&gt;
|-&lt;br /&gt;
|  27-24&lt;br /&gt;
|  Startup mode.&lt;br /&gt;
|-&lt;br /&gt;
|  28&lt;br /&gt;
|  Immediate mode.&lt;br /&gt;
|-&lt;br /&gt;
|  29&lt;br /&gt;
|  Repeating mode.&lt;br /&gt;
|-&lt;br /&gt;
|  30&lt;br /&gt;
|  IRQ enable&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  Enable/busy flag.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3249</id>
		<title>NDMA</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=NDMA&amp;diff=3249"/>
		<updated>2010-11-25T03:17:53Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registers ==&lt;br /&gt;
There&#039;s 4 NDMA channels. Arm7/Arm9 have separate NDMA.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAGCNT&lt;br /&gt;
|  0x04004100&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMASAD(n)&lt;br /&gt;
|  0x04004104 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMADAD(n)&lt;br /&gt;
|  0x04004108 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMATCNT(n)&lt;br /&gt;
|  0x0400410c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAWCNT(n)&lt;br /&gt;
|  0x04004110 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMABCNT(n)&lt;br /&gt;
|  0x04004114 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMAFDATA(n)&lt;br /&gt;
|  0x04004118 + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_NDMACNT(n)&lt;br /&gt;
|  0x0400411c + (n*0x1c)&lt;br /&gt;
|  4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAGCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  19-16&lt;br /&gt;
|  Cycle selection.&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  DMA arbitration method. 0=Fixed method, 1=Round robin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMASAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Source data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMA_SRC is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMADAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Destination data address. Must be multiple of 4.&lt;br /&gt;
|}&lt;br /&gt;
Like old DMA, REG_NDMA_DEST is copied to internal registers when written to.&lt;br /&gt;
&lt;br /&gt;
== REG_NDMATCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Number of bytes to copy/write, see REG_NDMA_CNT bit28.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAWCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Number of bytes to copy/write, see REG_NDMA_CNT bit28.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMABCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Time related?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMAFDATA ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  31-0&lt;br /&gt;
|  Value to write to destination instead of copying when REG_NDMA_CNT bit13 and bit14 are set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_NDMACNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  10-0&lt;br /&gt;
|  ?&lt;br /&gt;
|-&lt;br /&gt;
|  11&lt;br /&gt;
|  Fixed destination address when set.&lt;br /&gt;
|-&lt;br /&gt;
|  12&lt;br /&gt;
|  ?&lt;br /&gt;
|-&lt;br /&gt;
|  13&lt;br /&gt;
|  When set clear data with the value REG_NDMA_CLEAR instead of copying.&lt;br /&gt;
|-&lt;br /&gt;
|  14&lt;br /&gt;
|  Fixed source address when set.&lt;br /&gt;
|-&lt;br /&gt;
|  27-15&lt;br /&gt;
|  ?&lt;br /&gt;
|-&lt;br /&gt;
|  28&lt;br /&gt;
|  Set when REG_NDMA_NUM0 was set, clear when REG_NDMA_NUM1 was set.&lt;br /&gt;
|-&lt;br /&gt;
|  30&lt;br /&gt;
|  IRQ enable&lt;br /&gt;
|-&lt;br /&gt;
|  31&lt;br /&gt;
|  Enable/busy&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=ES_block_encryption&amp;diff=3162</id>
		<title>ES block encryption</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=ES_block_encryption&amp;diff=3162"/>
		<updated>2010-10-20T00:21:10Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ES block encryption, for lack of a better name, is a commonly used data encryption method on DSi by Nintendo.&lt;br /&gt;
&lt;br /&gt;
It uses AES CCM to encrypt a maximum of 0x20000 bytes of data per time, and extends it with a 32 byte metablock at the end. Data blocks bigger than 0x20000 bytes are segmented into multiple ES blocks.&lt;br /&gt;
&lt;br /&gt;
A part of the last 16 bytes of metablock itself is encrypted with AES CTR, and contains the nonce for decryption and size of the ES block:&lt;br /&gt;
 0000000: qq qq qq qq qq qq qq qq qq qq qq qq qq qq qq qq&lt;br /&gt;
 0000010: xx nn nn nn nn nn nn nn nn nn nn nn nn yy yy yy&lt;br /&gt;
&lt;br /&gt;
The counter used for decrypting the last 16 bytes of the metablock is the last 16 bytes of the metablock itself, with the first, 14th, 15th and 16th byte set to 0:&lt;br /&gt;
 00 nn nn nn nn nn nn nn nn nn nn nn nn 00 00 00&lt;br /&gt;
&lt;br /&gt;
After decrypting the metablock, xx is always 0x3A, and yy is the size of the ES block (excluding the metablock). The nonce after decryption is not used. The 16-byte block qq is a MAC (Message Authentication Code) calculated via AES CBC-MAC, used to verify the contents of the ES block after decryption.&lt;br /&gt;
&lt;br /&gt;
The same 12-byte nonce from the metablock is again used to decrypt the whole ES block itself.&lt;br /&gt;
&lt;br /&gt;
Data larger than 0x20000 bytes is split into multiple ES blocks, each with their own metablock.&lt;br /&gt;
&lt;br /&gt;
A couple of tools to work with DSi AES CTR/CCM binaries can be found [http://github.com/neimod/dsi here].&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=SD_title_export&amp;diff=3161</id>
		<title>SD title export</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=SD_title_export&amp;diff=3161"/>
		<updated>2010-10-20T00:20:04Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The System Settings application delivered with each DSi can be used to export applications from NAND to SD. The bin files created on SD are using the Tad file structure. Tad files are encrypted with AES CCM (CTR with CBC-MAC), using a combination of a shared key and a console specific key.&lt;br /&gt;
&lt;br /&gt;
The application itself (APP), and the title metadata (TMD) is encrypted with a console specific key. This means that Nintendo intended that these files can only be imported back into the same DSi.&lt;br /&gt;
&lt;br /&gt;
While the banner, the public savegame, and several other metablocks are encrypted with a shared key, which means any DSi can inspect these parts of the file.&lt;br /&gt;
&lt;br /&gt;
[[ES block encryption]] is used to encrypt the header block, footer block, and the 11 content parts. Each are their own seperate ES blocks.&lt;br /&gt;
&lt;br /&gt;
= Tad file structure overview =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&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;
| 0x4020 ?&lt;br /&gt;
| Banner/Icon&lt;br /&gt;
|-&lt;br /&gt;
| 0x4020&lt;br /&gt;
| 0xB4&lt;br /&gt;
| Header&lt;br /&gt;
|-&lt;br /&gt;
| 0x40F4&lt;br /&gt;
| 0x460&lt;br /&gt;
| Footer (certificates/hashes)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4554&lt;br /&gt;
| -&lt;br /&gt;
| Content parts in sequence (TMD, SRL, savegame, custom banner).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The banner, header, footer and savegame are encrypted with a shared key between each DSi. The other content parts are encrypted with a console specific key. &lt;br /&gt;
&lt;br /&gt;
= Header block @ 0x4020 (size 0xB4) = &lt;br /&gt;
 0000000: 34 41 4e 54 31 30 00 01 74 e9 2c 1e 24 00 00 00  4ANT10..t.,.$...&lt;br /&gt;
 0000010: d6 e0 39 c3 98 3f 06 b6 9a b2 9d 14 e7 06 e9 00  ..9..?..........&lt;br /&gt;
 0000020: 45 4d 44 4b 04 00 03 00 28 02 00 00 20 d2 e0 00  EMDK....(... ...&lt;br /&gt;
 0000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000040: 00 00 00 00 00 00 00 00 00 00 00 00 80 80 06 00  ................&lt;br /&gt;
 0000050: 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000070: 00 00 00 00 00 80 06 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000080: 00 00 00 00 00 86 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000b0: 00 00 00 00                                      ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0x544E4134 (&#039;TNA4&#039;, endian-swapped)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 2&lt;br /&gt;
| group_id/publisher code&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 2&lt;br /&gt;
| Title version&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 6&lt;br /&gt;
| DSi MAC address&lt;br /&gt;
|-&lt;br /&gt;
| 0x0E&lt;br /&gt;
| 2&lt;br /&gt;
| zero&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 16&lt;br /&gt;
| Extracted from HWINFO_N.dat&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Lower TitleID of exported app&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Upper TitleID of exported app&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 11 * 4&lt;br /&gt;
| Contains the total lengths for each of the 11 parts.&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 8 * 4&lt;br /&gt;
| List of content ids in same order as tmd&lt;br /&gt;
|-&lt;br /&gt;
| 0x74&lt;br /&gt;
| 0x3e&lt;br /&gt;
| reserved section per [http://www.wiibrew.org/wiki/TMD tmds]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= footer block @ 0x40F4 (size 0x460) =&lt;br /&gt;
&lt;br /&gt;
 0000000: d6 f3 24 7c a1 0f 4a dc cd 07 34 d6 ce 62 32 93  ..$|..J...4..b2.&lt;br /&gt;
 0000010: 11 54 54 a5 28 38 13 5a 0c 87 8e dc 63 0a ab 2e  .TT.(8.Z....c...&lt;br /&gt;
 0000020: 4a 0f 12 5c d7 31 ee 29 72 53 39 1d ff 70 c1 8a  J..\.1.)rS9..p..&lt;br /&gt;
 0000030: 45 18 c1 88 85 1f f5 55 c6 5f 48 37 27 f3 0a 02  E......U._H7&#039;...&lt;br /&gt;
 0000040: e7 77 18 8b 84 ee cc e5 e4 40 e5 cb 64 bb 0a f3  .w.......@..d...&lt;br /&gt;
 0000050: 20 00 53 00 74 00 75 00 64 00 69 00 6f 00 0a 00   .S.t.u.d.i.o...&lt;br /&gt;
 0000060: 4e 00 69 00 6e 00 74 00 65 00 6e 00 64 00 6f 00  N.i.n.t.e.n.d.o.&lt;br /&gt;
 0000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000d0: 00 00 00 00 00 00 00 00 00 00 00 00 c5 16 e5 12  ................&lt;br /&gt;
 00000e0: 4c 70 9a fd 7a 03 87 d0 13 94 da 86 46 11 ff 31  Lp..z.......F..1&lt;br /&gt;
 00000f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000100: 00 00 00 00 00 b5 62 b1 02 c9 4e f3 14 2c 85 3d  ......b...N..,.=&lt;br /&gt;
 0000110: a2 c6 be c9 d8 01 db 46 03 12 44 6e 89 87 c4 e5  .......F..Dn....&lt;br /&gt;
 0000120: 83 1e 00 03 8f f8 cd 35 e3 e4 b8 8e be 6e 65 36  .......5.....ne6&lt;br /&gt;
 0000130: f2 6d c6 dc 2c 4b d6 38 2b 2d 7f e5 22 b0 44 3b  .m..,K.8+-..&amp;quot;.D;&lt;br /&gt;
 0000140: 00 01 00 02 00 78 58 de a6 c4 70 9c 89 26 22 f2  .....xX...p..&amp;amp;&amp;quot;.&lt;br /&gt;
 0000150: 60 38 cb c5 d7 54 cd a3 d5 b9 d9 b3 84 63 6f be  `8...T.......co.&lt;br /&gt;
 0000160: 36 ef 00 68 f0 9a 6b 35 91 1a 67 6f 73 dc 54 61  6..h..k5..gos.Ta&lt;br /&gt;
 0000170: c1 c7 6c 6f d4 43 58 e6 e2 62 52 11 65 77 9a ce  ..lo.CX..bR.ew..&lt;br /&gt;
 0000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00001a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00001b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00001c0: 52 6f 6f 74 2d 43 41 30 30 30 30 30 30 30 31 2d  Root-CA00000001-&lt;br /&gt;
 00001d0: 4d 53 30 30 30 30 30 30 30 38 2d 54 57 63 37 39  MS00000008-TWc79&lt;br /&gt;
 00001e0: 64 63 65 63 39 2d 30 38 61 32 30 32 38 37 30 31  dcec9-08a2028701&lt;br /&gt;
 00001f0: 30 38 34 31 31 38 00 00 00 00 00 00 00 00 00 00  084118..........&lt;br /&gt;
 0000200: 00 00 00 02 41 50 30 30 30 33 30 30 31 35 34 38  ....AP0003001548&lt;br /&gt;
 0000210: 34 65 34 32 34 35 00 00 00 00 00 00 00 00 00 00  4e4245..........&lt;br /&gt;
 0000220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000240: 00 00 00 00 00 00 00 00 00 d7 c1 33 4e 24 8c 13  ...........3N$..&lt;br /&gt;
 0000250: 0f b3 f4 c4 bb 2a 4a 79 81 51 39 6f 00 ee a2 00  .....*Jy.Q9o....&lt;br /&gt;
 0000260: 20 a6 f5 cc d8 72 01 74 60 57 4f a4 92 52 9b 5a   ....r.t`WO..R.Z&lt;br /&gt;
 0000270: 56 75 a9 62 4f 67 25 e3 7b 05 21 e4 4f 1f c3 21  Vu.bOg%.{.!.O..!&lt;br /&gt;
 0000280: 2b d8 ec e7 00 00 00 00 00 00 00 00 00 00 00 00  +...............&lt;br /&gt;
 0000290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00002a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00002b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00002c0: 00 01 00 02 00 db da 21 3b e1 f1 bf bb 4d dc 1d  .......!;....M..&lt;br /&gt;
 00002d0: 60 29 da 19 42 1e 66 4f a8 e5 27 a1 d4 ea 46 7d  `)..B.fO..&#039;...F}&lt;br /&gt;
 00002e0: 9b b4 00 95 c5 0d e8 fa ef a7 8d e9 bc 54 da c1  .............T..&lt;br /&gt;
 00002f0: 24 94 0b 7c ad a8 61 d5 05 97 c2 64 38 ad 18 f9  $..|..a....d8...&lt;br /&gt;
 0000300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000340: 52 6f 6f 74 2d 43 41 30 30 30 30 30 30 30 31 2d  Root-CA00000001-&lt;br /&gt;
 0000350: 4d 53 30 30 30 30 30 30 30 38 00 00 00 00 00 00  MS00000008......&lt;br /&gt;
 0000360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000380: 00 00 00 02 54 57 63 37 39 64 63 65 63 39 2d 30  ....TWc79dcec9-0&lt;br /&gt;
 0000390: 38 61 32 30 32 38 37 30 31 30 38 34 31 31 38 00  8a2028701084118.&lt;br /&gt;
 00003a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00003b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00003c0: 00 00 00 00 6f dd de 42 01 e0 34 a3 19 bc a9 af  ....o..B..4.....&lt;br /&gt;
 00003d0: 50 fe 8a ac 75 08 07 a9 3a 2c 21 51 93 ae 4a 90  P...u...:,!Q..J.&lt;br /&gt;
 00003e0: 6e 62 41 f1 a2 fe 00 00 3d 0a 13 97 da 53 17 98  nbA.....=....S..&lt;br /&gt;
 00003f0: 69 38 65 67 ca f4 9c 87 ec 44 b7 eb d0 ec b8 3d  i8eg.....D.....=&lt;br /&gt;
 0000400: 23 cf 7a 35 00 00 00 00 00 00 00 00 00 00 00 00  #.z5............&lt;br /&gt;
 0000410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of banner&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of tna4&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of tmd&lt;br /&gt;
|-&lt;br /&gt;
| 0x3c&lt;br /&gt;
| 20*8&lt;br /&gt;
| SHA1 of up to 8 contents [if unused, can be whatever happened to be in memory before]&lt;br /&gt;
|-&lt;br /&gt;
| 0xdc&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of save data&lt;br /&gt;
|-&lt;br /&gt;
| 0xf0&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x104&lt;br /&gt;
| 0x3c&lt;br /&gt;
| ECC signature of previous 0x104 bytes with AP cert&lt;br /&gt;
|-&lt;br /&gt;
| 0x140&lt;br /&gt;
| 0x180&lt;br /&gt;
| AP cert, signed by TW cert&lt;br /&gt;
|-&lt;br /&gt;
| 0x2c0&lt;br /&gt;
| 0x180&lt;br /&gt;
| TW cert, specific to a console (see dev.kp)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is assumed that this block contains an ECC signature, aswell as the console id and serial of the DSi that exported the file, as part of a Nintendo cert.  Much like the Wii, the DSi carries with it a private ECC key that it can use to sign things, and a certificate signed by Nintendo that attests to the fact that the public ECC key belongs to a genuine DSi.&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=SD_title_export&amp;diff=3160</id>
		<title>SD title export</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=SD_title_export&amp;diff=3160"/>
		<updated>2010-10-19T21:16:35Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The System Settings application delivered with each DSi can be used to export applications from NAND to SD. The bin files created on SD are using the Tad file structure. Tad files are encrypted with AES CCM (CTR with CBC-MAC), using a combination of a shared key and a console specific key.&lt;br /&gt;
&lt;br /&gt;
The application itself (APP), and the title metadata (TMD) is encrypted with a console specific key. This means that Nintendo intended that these files can only be imported back into the same DSi.&lt;br /&gt;
&lt;br /&gt;
While the banner, the public savegame, and several other metablocks are encrypted with a shared key, which means any DSi can inspect these parts of the file.&lt;br /&gt;
&lt;br /&gt;
[[ES block encryption]] is used to encrypt the header block, footer block, and the 11 parts. Each are their own seperate ES blocks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= header block @ 0x4020 (size 0xB4) = &lt;br /&gt;
 0000000: 34 41 4e 54 31 30 00 01 74 e9 2c 1e 24 00 00 00  4ANT10..t.,.$...&lt;br /&gt;
 0000010: d6 e0 39 c3 98 3f 06 b6 9a b2 9d 14 e7 06 e9 00  ..9..?..........&lt;br /&gt;
 0000020: 45 4d 44 4b 04 00 03 00 28 02 00 00 20 d2 e0 00  EMDK....(... ...&lt;br /&gt;
 0000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000040: 00 00 00 00 00 00 00 00 00 00 00 00 80 80 06 00  ................&lt;br /&gt;
 0000050: 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000070: 00 00 00 00 00 80 06 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000080: 00 00 00 00 00 86 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000b0: 00 00 00 00                                      ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0x544E4134 (&#039;TNA4&#039;, endian-swapped)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 2&lt;br /&gt;
| group_id/publisher code&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 2&lt;br /&gt;
| Title version&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 6&lt;br /&gt;
| DSi MAC address&lt;br /&gt;
|-&lt;br /&gt;
| 0x0E&lt;br /&gt;
| 2&lt;br /&gt;
| zero&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 16&lt;br /&gt;
| Extracted from HWINFO_N.dat&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Lower TitleID of exported app&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Upper TitleID of exported app&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 11 * 4&lt;br /&gt;
| Contains the total lengths for each of the 11 parts.&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 8 * 4&lt;br /&gt;
| List of content ids in same order as tmd&lt;br /&gt;
|-&lt;br /&gt;
| 0x74&lt;br /&gt;
| 0x3e&lt;br /&gt;
| reserved section per [http://www.wiibrew.org/wiki/TMD tmds]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= footer block @ 0x40F4 (size 0x460) =&lt;br /&gt;
&lt;br /&gt;
 0000000: d6 f3 24 7c a1 0f 4a dc cd 07 34 d6 ce 62 32 93  ..$|..J...4..b2.&lt;br /&gt;
 0000010: 11 54 54 a5 28 38 13 5a 0c 87 8e dc 63 0a ab 2e  .TT.(8.Z....c...&lt;br /&gt;
 0000020: 4a 0f 12 5c d7 31 ee 29 72 53 39 1d ff 70 c1 8a  J..\.1.)rS9..p..&lt;br /&gt;
 0000030: 45 18 c1 88 85 1f f5 55 c6 5f 48 37 27 f3 0a 02  E......U._H7&#039;...&lt;br /&gt;
 0000040: e7 77 18 8b 84 ee cc e5 e4 40 e5 cb 64 bb 0a f3  .w.......@..d...&lt;br /&gt;
 0000050: 20 00 53 00 74 00 75 00 64 00 69 00 6f 00 0a 00   .S.t.u.d.i.o...&lt;br /&gt;
 0000060: 4e 00 69 00 6e 00 74 00 65 00 6e 00 64 00 6f 00  N.i.n.t.e.n.d.o.&lt;br /&gt;
 0000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000d0: 00 00 00 00 00 00 00 00 00 00 00 00 c5 16 e5 12  ................&lt;br /&gt;
 00000e0: 4c 70 9a fd 7a 03 87 d0 13 94 da 86 46 11 ff 31  Lp..z.......F..1&lt;br /&gt;
 00000f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000100: 00 00 00 00 00 b5 62 b1 02 c9 4e f3 14 2c 85 3d  ......b...N..,.=&lt;br /&gt;
 0000110: a2 c6 be c9 d8 01 db 46 03 12 44 6e 89 87 c4 e5  .......F..Dn....&lt;br /&gt;
 0000120: 83 1e 00 03 8f f8 cd 35 e3 e4 b8 8e be 6e 65 36  .......5.....ne6&lt;br /&gt;
 0000130: f2 6d c6 dc 2c 4b d6 38 2b 2d 7f e5 22 b0 44 3b  .m..,K.8+-..&amp;quot;.D;&lt;br /&gt;
 0000140: 00 01 00 02 00 78 58 de a6 c4 70 9c 89 26 22 f2  .....xX...p..&amp;amp;&amp;quot;.&lt;br /&gt;
 0000150: 60 38 cb c5 d7 54 cd a3 d5 b9 d9 b3 84 63 6f be  `8...T.......co.&lt;br /&gt;
 0000160: 36 ef 00 68 f0 9a 6b 35 91 1a 67 6f 73 dc 54 61  6..h..k5..gos.Ta&lt;br /&gt;
 0000170: c1 c7 6c 6f d4 43 58 e6 e2 62 52 11 65 77 9a ce  ..lo.CX..bR.ew..&lt;br /&gt;
 0000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00001a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00001b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00001c0: 52 6f 6f 74 2d 43 41 30 30 30 30 30 30 30 31 2d  Root-CA00000001-&lt;br /&gt;
 00001d0: 4d 53 30 30 30 30 30 30 30 38 2d 54 57 63 37 39  MS00000008-TWc79&lt;br /&gt;
 00001e0: 64 63 65 63 39 2d 30 38 61 32 30 32 38 37 30 31  dcec9-08a2028701&lt;br /&gt;
 00001f0: 30 38 34 31 31 38 00 00 00 00 00 00 00 00 00 00  084118..........&lt;br /&gt;
 0000200: 00 00 00 02 41 50 30 30 30 33 30 30 31 35 34 38  ....AP0003001548&lt;br /&gt;
 0000210: 34 65 34 32 34 35 00 00 00 00 00 00 00 00 00 00  4e4245..........&lt;br /&gt;
 0000220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000240: 00 00 00 00 00 00 00 00 00 d7 c1 33 4e 24 8c 13  ...........3N$..&lt;br /&gt;
 0000250: 0f b3 f4 c4 bb 2a 4a 79 81 51 39 6f 00 ee a2 00  .....*Jy.Q9o....&lt;br /&gt;
 0000260: 20 a6 f5 cc d8 72 01 74 60 57 4f a4 92 52 9b 5a   ....r.t`WO..R.Z&lt;br /&gt;
 0000270: 56 75 a9 62 4f 67 25 e3 7b 05 21 e4 4f 1f c3 21  Vu.bOg%.{.!.O..!&lt;br /&gt;
 0000280: 2b d8 ec e7 00 00 00 00 00 00 00 00 00 00 00 00  +...............&lt;br /&gt;
 0000290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00002a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00002b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00002c0: 00 01 00 02 00 db da 21 3b e1 f1 bf bb 4d dc 1d  .......!;....M..&lt;br /&gt;
 00002d0: 60 29 da 19 42 1e 66 4f a8 e5 27 a1 d4 ea 46 7d  `)..B.fO..&#039;...F}&lt;br /&gt;
 00002e0: 9b b4 00 95 c5 0d e8 fa ef a7 8d e9 bc 54 da c1  .............T..&lt;br /&gt;
 00002f0: 24 94 0b 7c ad a8 61 d5 05 97 c2 64 38 ad 18 f9  $..|..a....d8...&lt;br /&gt;
 0000300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000340: 52 6f 6f 74 2d 43 41 30 30 30 30 30 30 30 31 2d  Root-CA00000001-&lt;br /&gt;
 0000350: 4d 53 30 30 30 30 30 30 30 38 00 00 00 00 00 00  MS00000008......&lt;br /&gt;
 0000360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000380: 00 00 00 02 54 57 63 37 39 64 63 65 63 39 2d 30  ....TWc79dcec9-0&lt;br /&gt;
 0000390: 38 61 32 30 32 38 37 30 31 30 38 34 31 31 38 00  8a2028701084118.&lt;br /&gt;
 00003a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00003b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00003c0: 00 00 00 00 6f dd de 42 01 e0 34 a3 19 bc a9 af  ....o..B..4.....&lt;br /&gt;
 00003d0: 50 fe 8a ac 75 08 07 a9 3a 2c 21 51 93 ae 4a 90  P...u...:,!Q..J.&lt;br /&gt;
 00003e0: 6e 62 41 f1 a2 fe 00 00 3d 0a 13 97 da 53 17 98  nbA.....=....S..&lt;br /&gt;
 00003f0: 69 38 65 67 ca f4 9c 87 ec 44 b7 eb d0 ec b8 3d  i8eg.....D.....=&lt;br /&gt;
 0000400: 23 cf 7a 35 00 00 00 00 00 00 00 00 00 00 00 00  #.z5............&lt;br /&gt;
 0000410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of banner&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of tna4&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of tmd&lt;br /&gt;
|-&lt;br /&gt;
| 0x3c&lt;br /&gt;
| 20*8&lt;br /&gt;
| SHA1 of up to 8 contents [if unused, can be whatever happened to be in memory before]&lt;br /&gt;
|-&lt;br /&gt;
| 0xdc&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of save data&lt;br /&gt;
|-&lt;br /&gt;
| 0xf0&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x104&lt;br /&gt;
| 0x3c&lt;br /&gt;
| ECC signature of previous 0x104 bytes with AP cert&lt;br /&gt;
|-&lt;br /&gt;
| 0x140&lt;br /&gt;
| 0x180&lt;br /&gt;
| AP cert, signed by TW cert&lt;br /&gt;
|-&lt;br /&gt;
| 0x2c0&lt;br /&gt;
| 0x180&lt;br /&gt;
| TW cert, specific to a console (see dev.kp)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is assumed that this block contains an ECC signature, aswell as the console id and serial of the DSi that exported the file, as part of a Nintendo cert.  Much like the Wii, the DSi carries with it a private ECC key that it can use to sign things, and a certificate signed by Nintendo that attests to the fact that the public ECC key belongs to a genuine DSi.&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Exporting_Apps&amp;diff=3159</id>
		<title>Exporting Apps</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Exporting_Apps&amp;diff=3159"/>
		<updated>2010-10-19T21:15:54Z</updated>

		<summary type="html">&lt;p&gt;Neimod: moved Exporting Apps to Tad: I DO NOT NEED A REASON&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Tad]]&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=SD_title_export&amp;diff=3158</id>
		<title>SD title export</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=SD_title_export&amp;diff=3158"/>
		<updated>2010-10-19T21:15:54Z</updated>

		<summary type="html">&lt;p&gt;Neimod: moved Exporting Apps to Tad: I DO NOT NEED A REASON&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The System Settings application delivered with each DSi can be used to export applications from NAND to SD. The files created on SD are encrypted with AES CCM (CTR with CBC-MAC), using a combination of a shared key and a console specific key.&lt;br /&gt;
&lt;br /&gt;
The application itself (APP), and the title metadata (TMD) is encrypted with a console specific key. This means that Nintendo intended that these files can only be imported back into the same DSi.&lt;br /&gt;
&lt;br /&gt;
While the banner, the public savegame, and several other metablocks are encrypted with a shared key, which means any DSi can inspect these parts of the file.&lt;br /&gt;
&lt;br /&gt;
[[ES block encryption]] is used to encrypt the header block, footer block, and the 11 parts. Each are their own seperate ES blocks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= header block @ 0x4020 (size 0xB4) = &lt;br /&gt;
 0000000: 34 41 4e 54 31 30 00 01 74 e9 2c 1e 24 00 00 00  4ANT10..t.,.$...&lt;br /&gt;
 0000010: d6 e0 39 c3 98 3f 06 b6 9a b2 9d 14 e7 06 e9 00  ..9..?..........&lt;br /&gt;
 0000020: 45 4d 44 4b 04 00 03 00 28 02 00 00 20 d2 e0 00  EMDK....(... ...&lt;br /&gt;
 0000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000040: 00 00 00 00 00 00 00 00 00 00 00 00 80 80 06 00  ................&lt;br /&gt;
 0000050: 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000070: 00 00 00 00 00 80 06 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000080: 00 00 00 00 00 86 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000b0: 00 00 00 00                                      ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0x544E4134 (&#039;TNA4&#039;, endian-swapped)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 2&lt;br /&gt;
| group_id/publisher code&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 2&lt;br /&gt;
| Title version&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 6&lt;br /&gt;
| DSi MAC address&lt;br /&gt;
|-&lt;br /&gt;
| 0x0E&lt;br /&gt;
| 2&lt;br /&gt;
| zero&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 16&lt;br /&gt;
| Extracted from HWINFO_N.dat&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Lower TitleID of exported app&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Upper TitleID of exported app&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 11 * 4&lt;br /&gt;
| Contains the total lengths for each of the 11 parts.&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 8 * 4&lt;br /&gt;
| List of content ids in same order as tmd&lt;br /&gt;
|-&lt;br /&gt;
| 0x74&lt;br /&gt;
| 0x3e&lt;br /&gt;
| reserved section per [http://www.wiibrew.org/wiki/TMD tmds]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= footer block @ 0x40F4 (size 0x460) =&lt;br /&gt;
&lt;br /&gt;
 0000000: d6 f3 24 7c a1 0f 4a dc cd 07 34 d6 ce 62 32 93  ..$|..J...4..b2.&lt;br /&gt;
 0000010: 11 54 54 a5 28 38 13 5a 0c 87 8e dc 63 0a ab 2e  .TT.(8.Z....c...&lt;br /&gt;
 0000020: 4a 0f 12 5c d7 31 ee 29 72 53 39 1d ff 70 c1 8a  J..\.1.)rS9..p..&lt;br /&gt;
 0000030: 45 18 c1 88 85 1f f5 55 c6 5f 48 37 27 f3 0a 02  E......U._H7&#039;...&lt;br /&gt;
 0000040: e7 77 18 8b 84 ee cc e5 e4 40 e5 cb 64 bb 0a f3  .w.......@..d...&lt;br /&gt;
 0000050: 20 00 53 00 74 00 75 00 64 00 69 00 6f 00 0a 00   .S.t.u.d.i.o...&lt;br /&gt;
 0000060: 4e 00 69 00 6e 00 74 00 65 00 6e 00 64 00 6f 00  N.i.n.t.e.n.d.o.&lt;br /&gt;
 0000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000d0: 00 00 00 00 00 00 00 00 00 00 00 00 c5 16 e5 12  ................&lt;br /&gt;
 00000e0: 4c 70 9a fd 7a 03 87 d0 13 94 da 86 46 11 ff 31  Lp..z.......F..1&lt;br /&gt;
 00000f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000100: 00 00 00 00 00 b5 62 b1 02 c9 4e f3 14 2c 85 3d  ......b...N..,.=&lt;br /&gt;
 0000110: a2 c6 be c9 d8 01 db 46 03 12 44 6e 89 87 c4 e5  .......F..Dn....&lt;br /&gt;
 0000120: 83 1e 00 03 8f f8 cd 35 e3 e4 b8 8e be 6e 65 36  .......5.....ne6&lt;br /&gt;
 0000130: f2 6d c6 dc 2c 4b d6 38 2b 2d 7f e5 22 b0 44 3b  .m..,K.8+-..&amp;quot;.D;&lt;br /&gt;
 0000140: 00 01 00 02 00 78 58 de a6 c4 70 9c 89 26 22 f2  .....xX...p..&amp;amp;&amp;quot;.&lt;br /&gt;
 0000150: 60 38 cb c5 d7 54 cd a3 d5 b9 d9 b3 84 63 6f be  `8...T.......co.&lt;br /&gt;
 0000160: 36 ef 00 68 f0 9a 6b 35 91 1a 67 6f 73 dc 54 61  6..h..k5..gos.Ta&lt;br /&gt;
 0000170: c1 c7 6c 6f d4 43 58 e6 e2 62 52 11 65 77 9a ce  ..lo.CX..bR.ew..&lt;br /&gt;
 0000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00001a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00001b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00001c0: 52 6f 6f 74 2d 43 41 30 30 30 30 30 30 30 31 2d  Root-CA00000001-&lt;br /&gt;
 00001d0: 4d 53 30 30 30 30 30 30 30 38 2d 54 57 63 37 39  MS00000008-TWc79&lt;br /&gt;
 00001e0: 64 63 65 63 39 2d 30 38 61 32 30 32 38 37 30 31  dcec9-08a2028701&lt;br /&gt;
 00001f0: 30 38 34 31 31 38 00 00 00 00 00 00 00 00 00 00  084118..........&lt;br /&gt;
 0000200: 00 00 00 02 41 50 30 30 30 33 30 30 31 35 34 38  ....AP0003001548&lt;br /&gt;
 0000210: 34 65 34 32 34 35 00 00 00 00 00 00 00 00 00 00  4e4245..........&lt;br /&gt;
 0000220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000240: 00 00 00 00 00 00 00 00 00 d7 c1 33 4e 24 8c 13  ...........3N$..&lt;br /&gt;
 0000250: 0f b3 f4 c4 bb 2a 4a 79 81 51 39 6f 00 ee a2 00  .....*Jy.Q9o....&lt;br /&gt;
 0000260: 20 a6 f5 cc d8 72 01 74 60 57 4f a4 92 52 9b 5a   ....r.t`WO..R.Z&lt;br /&gt;
 0000270: 56 75 a9 62 4f 67 25 e3 7b 05 21 e4 4f 1f c3 21  Vu.bOg%.{.!.O..!&lt;br /&gt;
 0000280: 2b d8 ec e7 00 00 00 00 00 00 00 00 00 00 00 00  +...............&lt;br /&gt;
 0000290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00002a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00002b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00002c0: 00 01 00 02 00 db da 21 3b e1 f1 bf bb 4d dc 1d  .......!;....M..&lt;br /&gt;
 00002d0: 60 29 da 19 42 1e 66 4f a8 e5 27 a1 d4 ea 46 7d  `)..B.fO..&#039;...F}&lt;br /&gt;
 00002e0: 9b b4 00 95 c5 0d e8 fa ef a7 8d e9 bc 54 da c1  .............T..&lt;br /&gt;
 00002f0: 24 94 0b 7c ad a8 61 d5 05 97 c2 64 38 ad 18 f9  $..|..a....d8...&lt;br /&gt;
 0000300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000340: 52 6f 6f 74 2d 43 41 30 30 30 30 30 30 30 31 2d  Root-CA00000001-&lt;br /&gt;
 0000350: 4d 53 30 30 30 30 30 30 30 38 00 00 00 00 00 00  MS00000008......&lt;br /&gt;
 0000360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000380: 00 00 00 02 54 57 63 37 39 64 63 65 63 39 2d 30  ....TWc79dcec9-0&lt;br /&gt;
 0000390: 38 61 32 30 32 38 37 30 31 30 38 34 31 31 38 00  8a2028701084118.&lt;br /&gt;
 00003a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00003b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00003c0: 00 00 00 00 6f dd de 42 01 e0 34 a3 19 bc a9 af  ....o..B..4.....&lt;br /&gt;
 00003d0: 50 fe 8a ac 75 08 07 a9 3a 2c 21 51 93 ae 4a 90  P...u...:,!Q..J.&lt;br /&gt;
 00003e0: 6e 62 41 f1 a2 fe 00 00 3d 0a 13 97 da 53 17 98  nbA.....=....S..&lt;br /&gt;
 00003f0: 69 38 65 67 ca f4 9c 87 ec 44 b7 eb d0 ec b8 3d  i8eg.....D.....=&lt;br /&gt;
 0000400: 23 cf 7a 35 00 00 00 00 00 00 00 00 00 00 00 00  #.z5............&lt;br /&gt;
 0000410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of banner&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of tna4&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of tmd&lt;br /&gt;
|-&lt;br /&gt;
| 0x3c&lt;br /&gt;
| 20*8&lt;br /&gt;
| SHA1 of up to 8 contents [if unused, can be whatever happened to be in memory before]&lt;br /&gt;
|-&lt;br /&gt;
| 0xdc&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of save data&lt;br /&gt;
|-&lt;br /&gt;
| 0xf0&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x104&lt;br /&gt;
| 0x3c&lt;br /&gt;
| ECC signature of previous 0x104 bytes with AP cert&lt;br /&gt;
|-&lt;br /&gt;
| 0x140&lt;br /&gt;
| 0x180&lt;br /&gt;
| AP cert, signed by TW cert&lt;br /&gt;
|-&lt;br /&gt;
| 0x2c0&lt;br /&gt;
| 0x180&lt;br /&gt;
| TW cert, specific to a console (see dev.kp)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is assumed that this block contains an ECC signature, aswell as the console id and serial of the DSi that exported the file, as part of a Nintendo cert.  Much like the Wii, the DSi carries with it a private ECC key that it can use to sign things, and a certificate signed by Nintendo that attests to the fact that the public ECC key belongs to a genuine DSi.&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=ES_block_encryption&amp;diff=3151</id>
		<title>ES block encryption</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=ES_block_encryption&amp;diff=3151"/>
		<updated>2010-09-29T16:03:25Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ES block encryption, for lack of a better name, is a commonly used data encryption method on DSi by Nintendo.&lt;br /&gt;
&lt;br /&gt;
It uses AES CCM to encrypt a maximum of 0x20000 bytes of data per time, and extends it with a 32 byte metablock at the end.&lt;br /&gt;
&lt;br /&gt;
A part of the last 16 bytes of metablock itself is encrypted with AES CTR, and contains the nonce for decryption and size of the ES block:&lt;br /&gt;
 0000000: qq qq qq qq qq qq qq qq qq qq qq qq qq qq qq qq&lt;br /&gt;
 0000010: xx nn nn nn nn nn nn nn nn nn nn nn nn yy yy yy&lt;br /&gt;
&lt;br /&gt;
The counter used for decrypting the last 16 bytes of the metablock is the last 16 bytes of the metablock itself, with the first, 14th, 15th and 16th byte set to 0:&lt;br /&gt;
 00 nn nn nn nn nn nn nn nn nn nn nn nn 00 00 00&lt;br /&gt;
&lt;br /&gt;
After decrypting the metablock, xx is always 0x3A, and yy is the size of the ES block (excluding the metablock). The nonce after decryption is not used. The 16-byte block qq is a MAC (Message Authentication Code) calculated via AES CBC-MAC, used to verify the contents of the ES block after decryption.&lt;br /&gt;
&lt;br /&gt;
The same 12-byte nonce from the metablock is again used to decrypt the whole ES block itself.&lt;br /&gt;
&lt;br /&gt;
Data larger than 0x20000 bytes is split into multiple ES blocks, each with their own metablock.&lt;br /&gt;
&lt;br /&gt;
A couple of tools to work with DSi AES CTR/CCM binaries can be found [http://github.com/neimod/dsi here].&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Talk:DSi_exploits&amp;diff=2993</id>
		<title>Talk:DSi exploits</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Talk:DSi_exploits&amp;diff=2993"/>
		<updated>2010-07-12T04:24:09Z</updated>

		<summary type="html">&lt;p&gt;Neimod: Reverted edits by Supersonic56 (Talk) to last revision by Bg4545&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dub-T&#039;s Nintendo DSi Shop Hack ==&lt;br /&gt;
&lt;br /&gt;
Erm, doesn&#039;t this just follow from what I wrote on Hackmii? http://hackmii.com/2009/01/dsibrew/ --[[User:Bushing|Bushing]] 11:41, 20 April 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Kasu&#039;s Hack ==&lt;br /&gt;
&lt;br /&gt;
Fake ? Everyone can do that using a DSi flashcard and remove it after ! &amp;lt;br/&amp;gt;&lt;br /&gt;
If it isn&#039;t a fake show us how you load the code ! --[[User:Ludo6431|Ludo6431]] 16:39, 20 April 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== DSi-only Game Exploit ==&lt;br /&gt;
&lt;br /&gt;
Well, there&#039;s the first DSi-only game out there ([http://www.amazon.fr/Mon-coach-personnel-recettes-plaisir/dp/B001VOV7XI french cooking crap]). Is that of any use? [[User:BlackNeedle|BlackNeedle]] 00:20, 12 July 2009 (UTC)&amp;lt;br/&amp;gt;&lt;br /&gt;
Mh, actually it&#039;s a hybrid game with extra functionality (camera) on DSi. [[User:BlackNeedle|BlackNeedle]] 00:22, 12 July 2009 (UTC)&lt;br /&gt;
There is 2 others game like this :&lt;br /&gt;
- My Cooking Coach : Prepare Healthy Recipes [EUR]&lt;br /&gt;
- Classic Word Games [EUR]&lt;br /&gt;
&lt;br /&gt;
But I don&#039;t know if DSiDev Team (include loopy, darkfader and the others on IRC) are working on it ! &amp;lt;small&amp;gt;—Preceding unsigned comment added by [[User:Geniusdj|Geniusdj]] ([[User talk:Geniusdj|talk]] • [[Special:Contributions/Geniusdj|contribs]]) 10:29, 9 July 2009 (UTC)&amp;lt;/small&amp;gt;&lt;br /&gt;
Oh ! Team Twiizers have find an exploit (semi hardware and software, I guess) !&lt;br /&gt;
But you&#039;re right that was one of those game who served for the exploit (Classic Word Game). &amp;lt;small&amp;gt;—Preceding unsigned comment added by [[User:Geniusdj|Geniusdj]] ([[User talk:Geniusdj|talk]] • [[Special:Contributions/Geniusdj|contribs]]) 15:08, 9 July 2009 (UTC)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:ahhh, happy day.  I&#039;ll be watching this closely.--[[User:Funkamatic|&amp;lt;font face=&amp;quot;Copperplate Gothic Light&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;FUNK&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;A&amp;lt;/font&amp;gt;MATIC&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;]][[User talk:Funkamatic|&amp;lt;font face=&amp;quot;Impact&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;   ~talk&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;]] 17:28, 9 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
We could try modifying the files it copies onto the SD card from the DSi Applications. I&#039;ve been trying to do this but with no success. If anyone wants to help me out email me at: the2banned2one@gmail.com . Any help would be much appreciated. If I can get anything from this I will post it and the files here. --[[User:The2Banned2One|&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;The2Banned2One&amp;lt;/font&amp;gt;]][[User talk:The2Banned2One| ~talk]] &amp;lt;s&amp;gt;17:21, 5 August 2009 (EST)&amp;lt;/s&amp;gt; &amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;autosigned&amp;quot;&amp;gt;—Preceding undated comment added 21:24, 5 August 2009 (UTC).&amp;lt;/span&amp;gt;&amp;lt;!--Template:Undated--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== BannerBomb Like Exploit ==&lt;br /&gt;
&lt;br /&gt;
Could we program something that can make the DSi Crash and load homebrew like the Wii&#039;s Bannerbomb?&lt;br /&gt;
--[[User:TWLREECE|TWLREECE]] 18:35, 17 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Action Replay DSi ==&lt;br /&gt;
&lt;br /&gt;
The Action Replay DSi runs in DSi Mode, has a Micro SD Card slot, and can run homebrew applications in a .nds format, could an installer program be written to install a homebrew channel on the DSi?--DSiDude&lt;br /&gt;
:I&#039;d like to know this also, but how do you know it runs in DSi mode?--[[User:Funkamatic|&amp;lt;font face=&amp;quot;Copperplate Gothic Light&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;FUNK&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;A&amp;lt;/font&amp;gt;MATIC&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;]][[User talk:Funkamatic|&amp;lt;font face=&amp;quot;Impact&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;   ~talk&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;]] 22:38, 21 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
 According to [[http://www.youtube.com/watch?v=y4etylDSHrw this video]] the Action Replay DSi shows up as a Game and Watch collection NDS game. &lt;br /&gt;
 This automatically means it cannot support DSi mode, and is running in normal DS mode. -- neimod&lt;br /&gt;
&lt;br /&gt;
That IS the DSi Mode, because if you use it on a DS, it just automatically boots up the Action Replay, without going to the DS menu. I have tried this. I don&#039;t know much about the DSi&#039;s workings but I&#039;m pretty sure of this. --DSiDude&lt;br /&gt;
&lt;br /&gt;
:No, it means the DSi System Menu will see it as a NDS game, not as a DSi game. As such it will disable all DSi features and revert to DS compatibility mode. Just try to load a DSi game, and it should fail to load (DSi only), or have all DSi features disabled (DSi enhanced). -- neimod&lt;br /&gt;
&lt;br /&gt;
::Action Replay on a DS always just boots up, that doesn&#039;t have anything to do with DSi mode --[[User:Bg4545|bg4545]] 03:19, 24 January 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=SD_title_export&amp;diff=2992</id>
		<title>SD title export</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=SD_title_export&amp;diff=2992"/>
		<updated>2010-07-11T18:38:13Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The System Settings application delivered with each DSi can be used to export applications from NAND to SD. The files created on SD are encrypted with AES CCM (CTR with CBC-MAC), using a combination of a shared key and a console specific key.&lt;br /&gt;
&lt;br /&gt;
The application itself (APP), and the title metadata (TMD) is encrypted with a console specific key. This means that Nintendo intended that these files can only be imported back into the same DSi.&lt;br /&gt;
&lt;br /&gt;
While the banner, the public savegame, and several other metablocks are encrypted with a shared key, which means any DSi can inspect these parts of the file.&lt;br /&gt;
&lt;br /&gt;
[[ES block encryption]] is used to encrypt the header block, footer block, and the 11 parts. Each are their own seperate ES blocks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= header block @ 0x4020 (size 0xB4) = &lt;br /&gt;
 0000000: 34 41 4e 54 31 30 00 01 74 e9 2c 1e 24 00 00 00  4ANT10..t.,.$...&lt;br /&gt;
 0000010: d6 e0 39 c3 98 3f 06 b6 9a b2 9d 14 e7 06 e9 00  ..9..?..........&lt;br /&gt;
 0000020: 45 4d 44 4b 04 00 03 00 28 02 00 00 20 d2 e0 00  EMDK....(... ...&lt;br /&gt;
 0000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000040: 00 00 00 00 00 00 00 00 00 00 00 00 80 80 06 00  ................&lt;br /&gt;
 0000050: 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000070: 00 00 00 00 00 80 06 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000080: 00 00 00 00 00 86 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000b0: 00 00 00 00                                      ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0x544E4134 (&#039;TNA4&#039;, endian-swapped)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 2&lt;br /&gt;
| group_id/publisher code&lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| 2&lt;br /&gt;
| Title version&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 6&lt;br /&gt;
| DSi MAC address&lt;br /&gt;
|-&lt;br /&gt;
| 0x0E&lt;br /&gt;
| 2&lt;br /&gt;
| zero&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 16&lt;br /&gt;
| Extracted from HWINFO_N.dat&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Lower TitleID of exported app&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Upper TitleID of exported app&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 11 * 4&lt;br /&gt;
| Contains the total lengths for each of the 11 parts.&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 8 * 4&lt;br /&gt;
| List of content ids in same order as tmd&lt;br /&gt;
|-&lt;br /&gt;
| 0x74&lt;br /&gt;
| 0x3e&lt;br /&gt;
| reserved section per [http://www.wiibrew.org/wiki/TMD tmds]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= footer block @ 0x40F4 (size 0x460) =&lt;br /&gt;
&lt;br /&gt;
 0000000: d6 f3 24 7c a1 0f 4a dc cd 07 34 d6 ce 62 32 93  ..$|..J...4..b2.&lt;br /&gt;
 0000010: 11 54 54 a5 28 38 13 5a 0c 87 8e dc 63 0a ab 2e  .TT.(8.Z....c...&lt;br /&gt;
 0000020: 4a 0f 12 5c d7 31 ee 29 72 53 39 1d ff 70 c1 8a  J..\.1.)rS9..p..&lt;br /&gt;
 0000030: 45 18 c1 88 85 1f f5 55 c6 5f 48 37 27 f3 0a 02  E......U._H7&#039;...&lt;br /&gt;
 0000040: e7 77 18 8b 84 ee cc e5 e4 40 e5 cb 64 bb 0a f3  .w.......@..d...&lt;br /&gt;
 0000050: 20 00 53 00 74 00 75 00 64 00 69 00 6f 00 0a 00   .S.t.u.d.i.o...&lt;br /&gt;
 0000060: 4e 00 69 00 6e 00 74 00 65 00 6e 00 64 00 6f 00  N.i.n.t.e.n.d.o.&lt;br /&gt;
 0000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00000d0: 00 00 00 00 00 00 00 00 00 00 00 00 c5 16 e5 12  ................&lt;br /&gt;
 00000e0: 4c 70 9a fd 7a 03 87 d0 13 94 da 86 46 11 ff 31  Lp..z.......F..1&lt;br /&gt;
 00000f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000100: 00 00 00 00 00 b5 62 b1 02 c9 4e f3 14 2c 85 3d  ......b...N..,.=&lt;br /&gt;
 0000110: a2 c6 be c9 d8 01 db 46 03 12 44 6e 89 87 c4 e5  .......F..Dn....&lt;br /&gt;
 0000120: 83 1e 00 03 8f f8 cd 35 e3 e4 b8 8e be 6e 65 36  .......5.....ne6&lt;br /&gt;
 0000130: f2 6d c6 dc 2c 4b d6 38 2b 2d 7f e5 22 b0 44 3b  .m..,K.8+-..&amp;quot;.D;&lt;br /&gt;
 0000140: 00 01 00 02 00 78 58 de a6 c4 70 9c 89 26 22 f2  .....xX...p..&amp;amp;&amp;quot;.&lt;br /&gt;
 0000150: 60 38 cb c5 d7 54 cd a3 d5 b9 d9 b3 84 63 6f be  `8...T.......co.&lt;br /&gt;
 0000160: 36 ef 00 68 f0 9a 6b 35 91 1a 67 6f 73 dc 54 61  6..h..k5..gos.Ta&lt;br /&gt;
 0000170: c1 c7 6c 6f d4 43 58 e6 e2 62 52 11 65 77 9a ce  ..lo.CX..bR.ew..&lt;br /&gt;
 0000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00001a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00001b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00001c0: 52 6f 6f 74 2d 43 41 30 30 30 30 30 30 30 31 2d  Root-CA00000001-&lt;br /&gt;
 00001d0: 4d 53 30 30 30 30 30 30 30 38 2d 54 57 63 37 39  MS00000008-TWc79&lt;br /&gt;
 00001e0: 64 63 65 63 39 2d 30 38 61 32 30 32 38 37 30 31  dcec9-08a2028701&lt;br /&gt;
 00001f0: 30 38 34 31 31 38 00 00 00 00 00 00 00 00 00 00  084118..........&lt;br /&gt;
 0000200: 00 00 00 02 41 50 30 30 30 33 30 30 31 35 34 38  ....AP0003001548&lt;br /&gt;
 0000210: 34 65 34 32 34 35 00 00 00 00 00 00 00 00 00 00  4e4245..........&lt;br /&gt;
 0000220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000240: 00 00 00 00 00 00 00 00 00 d7 c1 33 4e 24 8c 13  ...........3N$..&lt;br /&gt;
 0000250: 0f b3 f4 c4 bb 2a 4a 79 81 51 39 6f 00 ee a2 00  .....*Jy.Q9o....&lt;br /&gt;
 0000260: 20 a6 f5 cc d8 72 01 74 60 57 4f a4 92 52 9b 5a   ....r.t`WO..R.Z&lt;br /&gt;
 0000270: 56 75 a9 62 4f 67 25 e3 7b 05 21 e4 4f 1f c3 21  Vu.bOg%.{.!.O..!&lt;br /&gt;
 0000280: 2b d8 ec e7 00 00 00 00 00 00 00 00 00 00 00 00  +...............&lt;br /&gt;
 0000290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00002a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00002b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00002c0: 00 01 00 02 00 db da 21 3b e1 f1 bf bb 4d dc 1d  .......!;....M..&lt;br /&gt;
 00002d0: 60 29 da 19 42 1e 66 4f a8 e5 27 a1 d4 ea 46 7d  `)..B.fO..&#039;...F}&lt;br /&gt;
 00002e0: 9b b4 00 95 c5 0d e8 fa ef a7 8d e9 bc 54 da c1  .............T..&lt;br /&gt;
 00002f0: 24 94 0b 7c ad a8 61 d5 05 97 c2 64 38 ad 18 f9  $..|..a....d8...&lt;br /&gt;
 0000300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000340: 52 6f 6f 74 2d 43 41 30 30 30 30 30 30 30 31 2d  Root-CA00000001-&lt;br /&gt;
 0000350: 4d 53 30 30 30 30 30 30 30 38 00 00 00 00 00 00  MS00000008......&lt;br /&gt;
 0000360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000380: 00 00 00 02 54 57 63 37 39 64 63 65 63 39 2d 30  ....TWc79dcec9-0&lt;br /&gt;
 0000390: 38 61 32 30 32 38 37 30 31 30 38 34 31 31 38 00  8a2028701084118.&lt;br /&gt;
 00003a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00003b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 00003c0: 00 00 00 00 6f dd de 42 01 e0 34 a3 19 bc a9 af  ....o..B..4.....&lt;br /&gt;
 00003d0: 50 fe 8a ac 75 08 07 a9 3a 2c 21 51 93 ae 4a 90  P...u...:,!Q..J.&lt;br /&gt;
 00003e0: 6e 62 41 f1 a2 fe 00 00 3d 0a 13 97 da 53 17 98  nbA.....=....S..&lt;br /&gt;
 00003f0: 69 38 65 67 ca f4 9c 87 ec 44 b7 eb d0 ec b8 3d  i8eg.....D.....=&lt;br /&gt;
 0000400: 23 cf 7a 35 00 00 00 00 00 00 00 00 00 00 00 00  #.z5............&lt;br /&gt;
 0000410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
 0000430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of banner&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of tna4&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of tmd&lt;br /&gt;
|-&lt;br /&gt;
| 0x3c&lt;br /&gt;
| 20*8&lt;br /&gt;
| SHA1 of up to 8 contents [if unused, can be whatever happened to be in memory before]&lt;br /&gt;
|-&lt;br /&gt;
| 0xdc&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of save data&lt;br /&gt;
|-&lt;br /&gt;
| 0xf0&lt;br /&gt;
| 20&lt;br /&gt;
| SHA1 of ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x104&lt;br /&gt;
| 0x3c&lt;br /&gt;
| ECC signature of previous 0x104 bytes with AP cert&lt;br /&gt;
|-&lt;br /&gt;
| 0x140&lt;br /&gt;
| 0x180&lt;br /&gt;
| AP cert, signed by TW cert&lt;br /&gt;
|-&lt;br /&gt;
| 0x2c0&lt;br /&gt;
| 0x180&lt;br /&gt;
| TW cert, specific to a console (see dev.kp)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is assumed that this block contains an ECC signature, aswell as the console id and serial of the DSi that exported the file, as part of a Nintendo cert.  Much like the Wii, the DSi carries with it a private ECC key that it can use to sign things, and a certificate signed by Nintendo that attests to the fact that the public ECC key belongs to a genuine DSi.&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=IO_Map&amp;diff=2985</id>
		<title>IO Map</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=IO_Map&amp;diff=2985"/>
		<updated>2010-07-10T17:44:03Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== New ARM7 IO registers ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_IE2&lt;br /&gt;
|  0x04000218&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_IF2&lt;br /&gt;
|  0x0400021C&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESCNT&lt;br /&gt;
|  0x04004400&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESBLKCNT&lt;br /&gt;
|  0x04004404&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESWRFIFO&lt;br /&gt;
|  0x04004408&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESRDFIFO&lt;br /&gt;
|  0x0400440C&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESCTR&lt;br /&gt;
|  0x04004420&lt;br /&gt;
|  16&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESMAC&lt;br /&gt;
|  0x04004430&lt;br /&gt;
|  16&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY0&lt;br /&gt;
|  0x04004440&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY1&lt;br /&gt;
|  0x04004470&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY2&lt;br /&gt;
|  0x040044A0&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY3&lt;br /&gt;
|  0x040044D0&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_I2CDATA&lt;br /&gt;
|  0x04004500&lt;br /&gt;
|  1&lt;br /&gt;
|-&lt;br /&gt;
|  REG_I2CCNT&lt;br /&gt;
|  0x04004501&lt;br /&gt;
|  1&lt;br /&gt;
|-&lt;br /&gt;
|  REG_SNDEXCNT&lt;br /&gt;
|  0x04004700&lt;br /&gt;
|  2&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=IO_Map&amp;diff=2984</id>
		<title>IO Map</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=IO_Map&amp;diff=2984"/>
		<updated>2010-07-10T17:42:32Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== New ARM7 IO registers ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_IE2&lt;br /&gt;
|  0x04000218&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_IF2&lt;br /&gt;
|  0x0400021C&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESCNT&lt;br /&gt;
|  0x04004400&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESBLKCNT&lt;br /&gt;
|  0x04004404&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESWRFIFO&lt;br /&gt;
|  0x04004408&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESRDFIFO&lt;br /&gt;
|  0x0400440C&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESCTR&lt;br /&gt;
|  0x04004420&lt;br /&gt;
|  16&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESMAC&lt;br /&gt;
|  0x04004430&lt;br /&gt;
|  16&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY0&lt;br /&gt;
|  0x04004440&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY1&lt;br /&gt;
|  0x04004470&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY2&lt;br /&gt;
|  0x040044A0&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY3&lt;br /&gt;
|  0x040044D0&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_I2CDATA&lt;br /&gt;
|  0x04004500&lt;br /&gt;
|  1&lt;br /&gt;
|-&lt;br /&gt;
|  REG_I2CCNT&lt;br /&gt;
|  0x04004501&lt;br /&gt;
|  1&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=IO_Map&amp;diff=2983</id>
		<title>IO Map</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=IO_Map&amp;diff=2983"/>
		<updated>2010-07-10T17:42:21Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== New ARM7 IO registers ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_IE2&lt;br /&gt;
|  0x04000218&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_IF2&lt;br /&gt;
|  0x0400021C&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESCNT&lt;br /&gt;
|  0x04004400&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESBLKCNT&lt;br /&gt;
|  0x04004404&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESWRFIFO&lt;br /&gt;
|  0x04004408&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESRDFIFO&lt;br /&gt;
|  0x0400440C&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESCTR&lt;br /&gt;
|  0x04004420&lt;br /&gt;
|  16&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESMAC&lt;br /&gt;
|  0x04004430&lt;br /&gt;
|  16&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY0&lt;br /&gt;
|  0x04004440&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY1&lt;br /&gt;
|  0x04004470&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY2&lt;br /&gt;
|  0x040044A0&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY3&lt;br /&gt;
|  0x040044D0&lt;br /&gt;
|  48&lt;br /&gt;
|  REG_I2CDATA&lt;br /&gt;
|  0x04004500&lt;br /&gt;
|  1&lt;br /&gt;
|-&lt;br /&gt;
|  REG_I2CCNT&lt;br /&gt;
|  0x04004501&lt;br /&gt;
|  1&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=IO_Map&amp;diff=2982</id>
		<title>IO Map</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=IO_Map&amp;diff=2982"/>
		<updated>2010-07-10T17:41:33Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== New ARM7 IO registers ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_IE2&lt;br /&gt;
|  0x04000218&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_IF2&lt;br /&gt;
|  0x0400021C&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESCNT&lt;br /&gt;
|  0x04004400&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESBLKCNT&lt;br /&gt;
|  0x04004404&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESWRFIFO&lt;br /&gt;
|  0x04004408&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESRDFIFO&lt;br /&gt;
|  0x0400440C&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESCTR&lt;br /&gt;
|  0x04004420&lt;br /&gt;
|  16&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESMAC&lt;br /&gt;
|  0x04004430&lt;br /&gt;
|  16&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY0&lt;br /&gt;
|  0x04004440&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY1&lt;br /&gt;
|  0x04004470&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY2&lt;br /&gt;
|  0x040044A0&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY3&lt;br /&gt;
|  0x040044D0&lt;br /&gt;
|  48&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=IO_Map&amp;diff=2981</id>
		<title>IO Map</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=IO_Map&amp;diff=2981"/>
		<updated>2010-07-10T17:41:00Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== New ARM7 IO registers ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  0x04000218&lt;br /&gt;
|  4&lt;br /&gt;
|  REG_IE2&lt;br /&gt;
|-&lt;br /&gt;
|  0x0400021C&lt;br /&gt;
|  4&lt;br /&gt;
|  REG_IF2&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESCNT&lt;br /&gt;
|  0x04004400&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESBLKCNT&lt;br /&gt;
|  0x04004404&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESWRFIFO&lt;br /&gt;
|  0x04004408&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESRDFIFO&lt;br /&gt;
|  0x0400440C&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESCTR&lt;br /&gt;
|  0x04004420&lt;br /&gt;
|  16&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESMAC&lt;br /&gt;
|  0x04004430&lt;br /&gt;
|  16&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY0&lt;br /&gt;
|  0x04004440&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY1&lt;br /&gt;
|  0x04004470&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY2&lt;br /&gt;
|  0x040044A0&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY3&lt;br /&gt;
|  0x040044D0&lt;br /&gt;
|  48&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=IO_Map&amp;diff=2980</id>
		<title>IO Map</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=IO_Map&amp;diff=2980"/>
		<updated>2010-07-10T17:39:55Z</updated>

		<summary type="html">&lt;p&gt;Neimod: Created page with &amp;#039;== Registers == {| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; !  NAME !  ADDRESS !  WIDTH |- |  REG_AESCNT |  0x04004400 |  4 |- | REG_AESBLKCNT |  0x04004404 |  4 |- |  REG_AESWRFIFO |  0x040…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registers ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESCNT&lt;br /&gt;
|  0x04004400&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESBLKCNT&lt;br /&gt;
|  0x04004404&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESWRFIFO&lt;br /&gt;
|  0x04004408&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESRDFIFO&lt;br /&gt;
|  0x0400440C&lt;br /&gt;
|  4&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESCTR&lt;br /&gt;
|  0x04004420&lt;br /&gt;
|  16&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESMAC&lt;br /&gt;
|  0x04004430&lt;br /&gt;
|  16&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY0&lt;br /&gt;
|  0x04004440&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY1&lt;br /&gt;
|  0x04004470&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY2&lt;br /&gt;
|  0x040044A0&lt;br /&gt;
|  48&lt;br /&gt;
|-&lt;br /&gt;
|  REG_AESKEY3&lt;br /&gt;
|  0x040044D0&lt;br /&gt;
|  48&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Hardware&amp;diff=2978</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Hardware&amp;diff=2978"/>
		<updated>2010-07-09T04:02:43Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
*[[Cameras|Includes (2) 0.3 Megapixel VGA Cameras]]&lt;br /&gt;
*240MB(+16MB probably reserved for wear leveling purposes (e.g. replacing bad blocks)) Internal Flash Memory - Samsung kmapf0000m-S998 MOVI [[NAND]] - MMC Interface&lt;br /&gt;
*16MB RAM - NEC uPD 46128512AF1 - DDR SRAM or a Fujitsu 128-Mbit FCRAM 82DBS08164D-70L (datasheet: http://edevice.fujitsu.com/fj/DATASHEET/e-ds/e511454.pdf)&lt;br /&gt;
*(2) 256 x 192 3.25 Inch Displays, one of which has a resistive touch screen&lt;br /&gt;
*Backwards compatible with Nintendo DS games but not GBA games due to the lack of a gameboy cartridge port.&lt;br /&gt;
*Integrated ARM7/ARM9 cores clocked at 133mhz in real mode and downclocked to 66mhz for compatibility mode.&lt;br /&gt;
*PAIC3000D Sound Chip - possibly a TI codecs: AIC3    ????&lt;br /&gt;
*Mitsumi (MM3317A) or TI 72071B0 - Power supply and charger circuit ????&lt;br /&gt;
*SD/SDHC Card slot&lt;br /&gt;
*WiFi dongle with integrated 128KB SPI Flash for NVRAM, WiFi settings&lt;br /&gt;
&lt;br /&gt;
== Images ==&lt;br /&gt;
&lt;br /&gt;
=== Front ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Twl_front.jpg]]&lt;br /&gt;
&lt;br /&gt;
The socket to the left of the ARM processor is the wifi chip socket.&lt;br /&gt;
&lt;br /&gt;
=== Back ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Twl_back.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== NAND pinout ===&lt;br /&gt;
[[Image:Dsi_nand.jpg|600px]]&lt;br /&gt;
[[Image:Dsi_nanddat.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== PCB overlay ===&lt;br /&gt;
[[Image:Nintendo DSi PCB Layered.jpg|600px]]&lt;br /&gt;
=== CPU with new ram ===&lt;br /&gt;
&lt;br /&gt;
[[Image:CPUv2.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Glamor Shot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Nintendo-dsi-Glamor-Shot.jpg]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# http://en.wikipedia.org/wiki/Nintendo_DSi&lt;br /&gt;
# http://insidetronics.blogspot.com/2008/11/new-nintendo-dsi-teardown.html&lt;br /&gt;
# http://techon.nikkeibp.co.jp/english/NEWS_EN/20081111/161077/&lt;br /&gt;
# http://games.gearlive.com/playfeed/article/q408-nintendo-dsi-announced-larger-screens-dual-cameras-dsi-shop-store/&lt;br /&gt;
# http://www.ifixit.com/Guide/First-Look/Nintendo-DSi/714/1&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=File:Dsi_nanddat.png&amp;diff=2977</id>
		<title>File:Dsi nanddat.png</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=File:Dsi_nanddat.png&amp;diff=2977"/>
		<updated>2010-07-09T04:01:35Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=PXI&amp;diff=2965</id>
		<title>PXI</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=PXI&amp;diff=2965"/>
		<updated>2010-07-04T21:24:21Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PXI is the inter-processor communication interface between the ARM7 and ARM9.  Most user code runs on the ARM9 and makes requests to the ARM7 to access various hardware (SD, NAND, AES, etc).   Each module is identified by a tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* PXI 0xB: CARD&lt;br /&gt;
* PXI 0x13: AES&lt;br /&gt;
** subcommand 1,0&lt;br /&gt;
** subcommand 7,6&lt;br /&gt;
** subcommand 0xA, 0&lt;br /&gt;
** subcommand 0xA, 1&lt;br /&gt;
** subcommand 0xA, 2&lt;br /&gt;
** subcommand 0xA, 3&lt;br /&gt;
** subcommand 0xA, 4&lt;br /&gt;
* PXI 0x14: FATFS&lt;br /&gt;
** subcommand 0x0: read&lt;br /&gt;
** subcommand 0x1: write&lt;br /&gt;
** subcommand 0x8: close&lt;br /&gt;
** subcommand 0xD: open&lt;br /&gt;
** subcommand 0xE: seek&lt;br /&gt;
** subcommand 0x15: deletefile&lt;br /&gt;
** subcommand 0x16: renamefile?&lt;br /&gt;
** subcommand 0x17: getpathinfo&lt;br /&gt;
** subcommand 0x19: createdir&lt;br /&gt;
** subcommand 0x1f: truncate&lt;br /&gt;
&lt;br /&gt;
** subcommand 0x20: createfile&lt;br /&gt;
* PXI 0x13: SEA&lt;br /&gt;
** subcommand 1,0&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=PXI&amp;diff=2964</id>
		<title>PXI</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=PXI&amp;diff=2964"/>
		<updated>2010-07-04T21:23:35Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PXI is the inter-processor communication interface between the ARM7 and ARM9.  Most user code runs on the ARM9 and makes requests to the ARM7 to access various hardware (SD, NAND, AES, etc).   Each module is identified by a tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* PXI 0xB: CARD NITROFS&lt;br /&gt;
* PXI 0x13: AES&lt;br /&gt;
** subcommand 1,0&lt;br /&gt;
** subcommand 7,6&lt;br /&gt;
** subcommand 0xA, 0&lt;br /&gt;
** subcommand 0xA, 1&lt;br /&gt;
** subcommand 0xA, 2&lt;br /&gt;
** subcommand 0xA, 3&lt;br /&gt;
** subcommand 0xA, 4&lt;br /&gt;
* PXI 0x14: FATFS&lt;br /&gt;
** subcommand 0x0: read&lt;br /&gt;
** subcommand 0x1: write&lt;br /&gt;
** subcommand 0x8: close&lt;br /&gt;
** subcommand 0xD: open&lt;br /&gt;
** subcommand 0xE: seek&lt;br /&gt;
** subcommand 0x15: deletefile&lt;br /&gt;
** subcommand 0x16: renamefile?&lt;br /&gt;
** subcommand 0x17: getpathinfo&lt;br /&gt;
** subcommand 0x19: createdir&lt;br /&gt;
** subcommand 0x1f: truncate&lt;br /&gt;
&lt;br /&gt;
** subcommand 0x20: createfile&lt;br /&gt;
* PXI 0x13: SEA&lt;br /&gt;
** subcommand 1,0&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSi_cartridge_header&amp;diff=2931</id>
		<title>DSi cartridge header</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSi_cartridge_header&amp;diff=2931"/>
		<updated>2010-06-25T10:09:56Z</updated>

		<summary type="html">&lt;p&gt;Neimod: Updated hash description at 0x3A0 - thanks mxs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following tries to document the structure of the NDS ROM format and its DSi extended version.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x000&lt;br /&gt;
|  12&lt;br /&gt;
|  Game Title&lt;br /&gt;
|-&lt;br /&gt;
|  0x00C&lt;br /&gt;
|  4&lt;br /&gt;
|  Gamecode&lt;br /&gt;
|-&lt;br /&gt;
|  0x010&lt;br /&gt;
|  2&lt;br /&gt;
|  Makercode&lt;br /&gt;
|-&lt;br /&gt;
|  0x012&lt;br /&gt;
|  1&lt;br /&gt;
|  Unitcode&lt;br /&gt;
|-&lt;br /&gt;
|  0x013&lt;br /&gt;
|  1&lt;br /&gt;
|  Encryption seed select&lt;br /&gt;
|-&lt;br /&gt;
|  0x014&lt;br /&gt;
|  1&lt;br /&gt;
|  Devicecapacity&lt;br /&gt;
|-&lt;br /&gt;
|  0x015&lt;br /&gt;
|  9&lt;br /&gt;
|  Reserved&lt;br /&gt;
|-&lt;br /&gt;
|  0x01E&lt;br /&gt;
|  1&lt;br /&gt;
|  ROM Version&lt;br /&gt;
|-&lt;br /&gt;
|  0x01F&lt;br /&gt;
|  1&lt;br /&gt;
|  Internal flags, (Bit2: Autostart)&lt;br /&gt;
|-&lt;br /&gt;
|  0x020&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM9 rom offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x024&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM9 entry address&lt;br /&gt;
|-&lt;br /&gt;
|  0x028&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM9 load address&lt;br /&gt;
|-&lt;br /&gt;
|  0x02C&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM9 size&lt;br /&gt;
|-&lt;br /&gt;
|  0x030&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM7 rom offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x034&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM7 entry address&lt;br /&gt;
|-&lt;br /&gt;
|  0x038&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM7 load address&lt;br /&gt;
|-&lt;br /&gt;
|  0x03C&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM7 size&lt;br /&gt;
|-&lt;br /&gt;
|  0x040&lt;br /&gt;
|  4&lt;br /&gt;
|  File Name Table (FNT) offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x044&lt;br /&gt;
|  4&lt;br /&gt;
|  File Name Table (FNT) length&lt;br /&gt;
|-&lt;br /&gt;
|  0x048&lt;br /&gt;
|  4&lt;br /&gt;
|  File Allocation Table (FAT) offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x04C&lt;br /&gt;
|  4&lt;br /&gt;
|  File Allocation Table (FAT) length&lt;br /&gt;
|-&lt;br /&gt;
|  0x050&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM9 overlay offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x054&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM9 overlay length&lt;br /&gt;
|-&lt;br /&gt;
|  0x058&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM7 overlay offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x05C&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM7 overlay length&lt;br /&gt;
|-&lt;br /&gt;
|  0x060&lt;br /&gt;
|  4&lt;br /&gt;
|  Normal card control register settings&lt;br /&gt;
|-&lt;br /&gt;
|  0x064&lt;br /&gt;
|  4&lt;br /&gt;
|  Secure card control register settings&lt;br /&gt;
|-&lt;br /&gt;
|  0x068&lt;br /&gt;
|  4&lt;br /&gt;
|  Icon Banner offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x06C&lt;br /&gt;
|  2&lt;br /&gt;
|  Secure area (2K) CRC&lt;br /&gt;
|-&lt;br /&gt;
|  0x06E&lt;br /&gt;
|  2&lt;br /&gt;
|  Secure transfer timeout&lt;br /&gt;
|-&lt;br /&gt;
|  0x070&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM9 autoload&lt;br /&gt;
|-&lt;br /&gt;
|  0x074&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM7 autoload&lt;br /&gt;
|-&lt;br /&gt;
|  0x078&lt;br /&gt;
|  8&lt;br /&gt;
|  Secure disable&lt;br /&gt;
|-&lt;br /&gt;
|  0x080&lt;br /&gt;
|  4&lt;br /&gt;
|  NTR region ROM size&lt;br /&gt;
|-&lt;br /&gt;
|  0x084&lt;br /&gt;
|  4&lt;br /&gt;
|  Header size&lt;br /&gt;
|-&lt;br /&gt;
|  0x088&lt;br /&gt;
|  56&lt;br /&gt;
|  Reserved&lt;br /&gt;
|-&lt;br /&gt;
|  0x0C0&lt;br /&gt;
|  156&lt;br /&gt;
|  Nintendo Logo&lt;br /&gt;
|-&lt;br /&gt;
|  0x15C&lt;br /&gt;
|  2&lt;br /&gt;
|  Nintendo Logo CRC&lt;br /&gt;
|-&lt;br /&gt;
|  0x15E&lt;br /&gt;
|  2&lt;br /&gt;
|  Header CRC&lt;br /&gt;
|-&lt;br /&gt;
|  0x160&lt;br /&gt;
|  32&lt;br /&gt;
|  Debugger reserved&lt;br /&gt;
|-&lt;br /&gt;
|  0x180&lt;br /&gt;
|  52&lt;br /&gt;
|  Config settings&lt;br /&gt;
|-&lt;br /&gt;
|  0x1B4&lt;br /&gt;
|  4&lt;br /&gt;
|  Access control&lt;br /&gt;
|-&lt;br /&gt;
|  0x1B8&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM7 SCFG EXT mask (controls which devices to enable)&lt;br /&gt;
|-&lt;br /&gt;
|  0x1BC&lt;br /&gt;
|  4&lt;br /&gt;
|  Reserved&lt;br /&gt;
|-&lt;br /&gt;
|  0x1C0&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM9i rom offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x1C4&lt;br /&gt;
|  4&lt;br /&gt;
|  Reserved&lt;br /&gt;
|-&lt;br /&gt;
|  0x1C8&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM9i load address&lt;br /&gt;
|-&lt;br /&gt;
|  0x1CC&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM9i size&lt;br /&gt;
|-&lt;br /&gt;
|  0x1D0&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM7i rom offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x1D4&lt;br /&gt;
|  4&lt;br /&gt;
|  Reserved&lt;br /&gt;
|-&lt;br /&gt;
|  0x1D8&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM7i load address&lt;br /&gt;
|-&lt;br /&gt;
|  0x1DC&lt;br /&gt;
|  4&lt;br /&gt;
|  ARM7i size&lt;br /&gt;
|-&lt;br /&gt;
|  0x1E0&lt;br /&gt;
|  4&lt;br /&gt;
|  Digest NTR region offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x1E4&lt;br /&gt;
|  4&lt;br /&gt;
|  Digest NTR region length&lt;br /&gt;
|-&lt;br /&gt;
|  0x1E8&lt;br /&gt;
|  4&lt;br /&gt;
|  Digest TWL region offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x1EC&lt;br /&gt;
|  4&lt;br /&gt;
|  Digest TWL region length&lt;br /&gt;
|-&lt;br /&gt;
|  0x1F0&lt;br /&gt;
|  4&lt;br /&gt;
|  Digest Sector Hashtable offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x1F4&lt;br /&gt;
|  4&lt;br /&gt;
|  Digest Sector Hashtable length&lt;br /&gt;
|-&lt;br /&gt;
|  0x1F8&lt;br /&gt;
|  4&lt;br /&gt;
|  Digest Block Hashtable offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x1FC&lt;br /&gt;
|  4&lt;br /&gt;
|  Digest Block Hashtable length&lt;br /&gt;
|-&lt;br /&gt;
|  0x200&lt;br /&gt;
|  4&lt;br /&gt;
|  Digest Sector size&lt;br /&gt;
|-&lt;br /&gt;
|  0x204&lt;br /&gt;
|  4&lt;br /&gt;
|  Digest Block sectorcount&lt;br /&gt;
|-&lt;br /&gt;
|  0x208&lt;br /&gt;
|  24&lt;br /&gt;
|  Reserved&lt;br /&gt;
|-&lt;br /&gt;
|  0x220&lt;br /&gt;
|  4&lt;br /&gt;
|  Modcrypt area 1 offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x224&lt;br /&gt;
|  4&lt;br /&gt;
|  Modcrypt area 1 size&lt;br /&gt;
|-&lt;br /&gt;
|  0x228&lt;br /&gt;
|  4&lt;br /&gt;
|  Modcrypt area 2 offset&lt;br /&gt;
|-&lt;br /&gt;
|  0x22C&lt;br /&gt;
|  4&lt;br /&gt;
|  Modcrypt area 2 size&lt;br /&gt;
|-&lt;br /&gt;
|  0x230&lt;br /&gt;
|  8&lt;br /&gt;
|  Title ID&lt;br /&gt;
|-&lt;br /&gt;
|  0x238&lt;br /&gt;
|  200&lt;br /&gt;
|  Reserved&lt;br /&gt;
|-&lt;br /&gt;
|  0x300&lt;br /&gt;
|  20&lt;br /&gt;
|  ARM9 (with encrypted secure area) SHA1 HMAC hash&lt;br /&gt;
|-&lt;br /&gt;
|  0x314&lt;br /&gt;
|  20&lt;br /&gt;
|  ARM7 SHA1 HMAC hash&lt;br /&gt;
|-&lt;br /&gt;
|  0x328&lt;br /&gt;
|  20&lt;br /&gt;
|  Digest master SHA1 HMAC hash&lt;br /&gt;
|-&lt;br /&gt;
|  0x33C&lt;br /&gt;
|  20&lt;br /&gt;
|  Banner SHA1 HMAC hash&lt;br /&gt;
|-&lt;br /&gt;
|  0x350&lt;br /&gt;
|  20&lt;br /&gt;
|  ARM9i (decrypted) SHA1 HMAC hash&lt;br /&gt;
|-&lt;br /&gt;
|  0x364&lt;br /&gt;
|  20&lt;br /&gt;
|  ARM7i (decrypted) SHA1 HMAC hash&lt;br /&gt;
|-&lt;br /&gt;
|  0x378&lt;br /&gt;
|  40&lt;br /&gt;
|  Reserved&lt;br /&gt;
|-&lt;br /&gt;
|  0x3A0&lt;br /&gt;
|  20&lt;br /&gt;
|  ARM9 (without secure area) SHA1 HMAC hash&lt;br /&gt;
|-&lt;br /&gt;
|  0x3B4&lt;br /&gt;
|  2636&lt;br /&gt;
|  Reserved&lt;br /&gt;
|-&lt;br /&gt;
|  0xE00&lt;br /&gt;
|  0x180&lt;br /&gt;
|  Reserved and unchecked region, always zero. Used for passing arguments in debug environment.&lt;br /&gt;
|-&lt;br /&gt;
|  0xF80&lt;br /&gt;
|  0x80&lt;br /&gt;
|  RSA signature&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 0xE00 bytes of the NDS header is signed with an 1024-bit RSA signature.&lt;br /&gt;
&lt;br /&gt;
= Modcrypt =&lt;br /&gt;
Modcrypt is a new additional way of encrypting parts of the NDS ROM executable binary modules using AES CTR. It is mostly being used to encrypt the ARM9i and ARM7i binaries. For example, DSi hybrid card based games have only the ARM9i binary encrypted, while NAND based applications have both the ARM9i and ARM7i binaries encrypted. The modcrypt areas can span over any of the ARM9/ARM7/ARM9i/ARM7i areas.&lt;br /&gt;
&lt;br /&gt;
The AES counter used for modcrypt area 1 is the first 16 bytes of the ARM9 SHA1 HMAC hash (0x300), and for area 2 the first 16 bytes of the ARM7 SHA1 HMAC hash (0x314). The AES key used is a little more complicated. The header can specify to use a secure or insecure key:&lt;br /&gt;
&lt;br /&gt;
 if ( (header[0x1C] &amp;amp; 4) || (header[0x1BF] &amp;amp; 0x80) )&lt;br /&gt;
   keytype = INSECURE;&lt;br /&gt;
 else&lt;br /&gt;
   keytype = SECURE;&lt;br /&gt;
&lt;br /&gt;
The insecure key is simply the first 16 bytes of the header. The secure key is constructed from a scrambled key pair, where one part is based on an 8-byte shared secret between all DSi&#039;s and an 8-byte expanded gamecode, and the other part is based on the first 16 bytes of the ARM9i SHA1 HMAC hash (0x350). The key pair is scrambled in an unknown way to form the final secure key. &lt;br /&gt;
&lt;br /&gt;
It is likely that the insecure key is only used for a debug version of an application, since most card based and NAND based applications are using the secure key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Digests =&lt;br /&gt;
The NDS format has been extended with a hash tree to verify the entire contents of an NDS ROM. The NDS ROM is divided into sectors, and each sector will be hashed and have its hash stored in the digest sector hashtable. The size of a sector is defined in the header aswell. Furthermore, the sector hashtable is partitioned and hashed again to form block hashes. This block hashtable is hashed again into a single hash called the digest master hash. These hashtables can be used to verify that the sectors of a NDS ROM have not been tampered with, since the integrity of a sector hash can be verified by a block hash, which in turn can be verified by the master hash. And this hash is part of the header, which is signed with RSA.&lt;br /&gt;
&lt;br /&gt;
The sector hashtable reaches over the NTR and TWL regions, respectively.&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=SNDEX&amp;diff=2811</id>
		<title>SNDEX</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=SNDEX&amp;diff=2811"/>
		<updated>2010-04-03T05:39:22Z</updated>

		<summary type="html">&lt;p&gt;Neimod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The DSi has extended the sound memory mapped I/O interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ARM7 IO REGISTERS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH (bytes)&lt;br /&gt;
!  NAME&lt;br /&gt;
|-&lt;br /&gt;
|  0x04004700&lt;br /&gt;
|  2&lt;br /&gt;
|  REG_SNDEXCNT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;REG_SNDEXCNT&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  3-0&lt;br /&gt;
|  NITRO/DSP ratio, valid range is 0 to 8.&lt;br /&gt;
|-&lt;br /&gt;
|  13&lt;br /&gt;
|  I2S frequency, 0=32.73 kHz, 1=47.61 kHz&lt;br /&gt;
|-&lt;br /&gt;
|  14&lt;br /&gt;
|  Mute status&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== NITRO/DSP ratio ===&lt;br /&gt;
The DSP can generate sound output aswell, alongside the old NITRO sound mixer. The following settings configure the ratio between DSP and NITRO mixer output:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Setting&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| DSP sound 8/8, NITRO sound 0/8 (=DSP sound only)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DSP sound 7/8, NITRO sound 1/8&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| DSP sound 6/8, NITRO sound 2/8&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| DSP sound 5/8, NITRO sound 3/8&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| DSP sound 4/8, NITRO sound 4/8&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| DSP sound 3/8, NITRO sound 5/8&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| DSP sound 2/8, NITRO sound 6/8&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| DSP sound 1/8, NITRO sound 7/8&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| DSP sound 0/8, NITRO sound 8/8 (=NITRO sound only)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=SNDEX&amp;diff=2810</id>
		<title>SNDEX</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=SNDEX&amp;diff=2810"/>
		<updated>2010-04-02T01:28:51Z</updated>

		<summary type="html">&lt;p&gt;Neimod: NITRO/DSP rations were in wrong order. Fixed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The DSi has extended the sound memory mapped I/O interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ARM7 IO REGISTERS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH (bytes)&lt;br /&gt;
!  NAME&lt;br /&gt;
|-&lt;br /&gt;
|  0x04004700&lt;br /&gt;
|  2&lt;br /&gt;
|  REG_SNDEXCNT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;REG_SNDEXCNT&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  3-0&lt;br /&gt;
|  NITRO/DSP ratio, valid range is 0 to 8.&lt;br /&gt;
|-&lt;br /&gt;
|  13&lt;br /&gt;
|  I2S frequency&lt;br /&gt;
|-&lt;br /&gt;
|  14&lt;br /&gt;
|  Mute status&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== NITRO/DSP ratio ===&lt;br /&gt;
The DSP can generate sound output aswell, alongside the old NITRO sound mixer. The following settings configure the ratio between DSP and NITRO mixer output:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Setting&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| DSP sound 8/8, NITRO sound 0/8 (=DSP sound only)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DSP sound 7/8, NITRO sound 1/8&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| DSP sound 6/8, NITRO sound 2/8&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| DSP sound 5/8, NITRO sound 3/8&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| DSP sound 4/8, NITRO sound 4/8&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| DSP sound 3/8, NITRO sound 5/8&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| DSP sound 2/8, NITRO sound 6/8&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| DSP sound 1/8, NITRO sound 7/8&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| DSP sound 0/8, NITRO sound 8/8 (=NITRO sound only)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=SNDEX&amp;diff=2809</id>
		<title>SNDEX</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=SNDEX&amp;diff=2809"/>
		<updated>2010-03-28T17:46:25Z</updated>

		<summary type="html">&lt;p&gt;Neimod: New page: The DSi has extended the sound memory mapped I/O interface.   === ARM7 IO REGISTERS === {| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; |- !  ADDRESS !  WIDTH (bytes) !  NAME |- |  0x04004700 |  2 |  REG_...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The DSi has extended the sound memory mapped I/O interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ARM7 IO REGISTERS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ADDRESS&lt;br /&gt;
!  WIDTH (bytes)&lt;br /&gt;
!  NAME&lt;br /&gt;
|-&lt;br /&gt;
|  0x04004700&lt;br /&gt;
|  2&lt;br /&gt;
|  REG_SNDEXCNT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;REG_SNDEXCNT&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!  BIT&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  3-0&lt;br /&gt;
|  NITRO/DSP ratio, valid range is 0 to 8.&lt;br /&gt;
|-&lt;br /&gt;
|  13&lt;br /&gt;
|  I2S frequency&lt;br /&gt;
|-&lt;br /&gt;
|  14&lt;br /&gt;
|  Mute status&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== NITRO/DSP ratio ===&lt;br /&gt;
The DSP can generate sound output aswell, alongside the old NITRO sound mixer. The following settings configure the ratio between DSP and NITRO mixer output:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Setting&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| NITRO sound 8/8, DSP 0/8 (=NITRO sound only)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| NITRO sound 7/8, DSP 1/8&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| NITRO sound 6/8, DSP 2/8&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| NITRO sound 5/8, DSP 3/8&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| NITRO sound 4/8, DSP 4/8&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| NITRO sound 3/8, DSP 5/8&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| NITRO sound 2/8, DSP 6/8&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| NITRO sound 1/8, DSP 7/8&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| NITRO sound 0/8, DSP 8/8 (=DSP sound only)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Neimod</name></author>
	</entry>
</feed>