<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Coranac</title>
	<atom:link href="http://www.coranac.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coranac.com</link>
	<description>my own little world</description>
	<pubDate>Sun, 30 Nov 2008 17:59:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>grit 0.8.2 / usenti 1.7.10</title>
		<link>http://www.coranac.com/2008/11/30/grit-082-usenti-1710/</link>
		<comments>http://www.coranac.com/2008/11/30/grit-082-usenti-1710/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 17:58:21 +0000</pubDate>
		<dc:creator>cearn</dc:creator>
		
		<category><![CDATA[grit]]></category>

		<category><![CDATA[usenti]]></category>

		<guid isPermaLink="false">http://www.coranac.com/?p=61</guid>
		<description><![CDATA[
Apparently, the GRF format didn&#8217;t quite follow the official RIFF specs, so I had to fix it (thanks for pointing it out, Daniel). While I was at it, I also changed the names of the meta-tile arrays if a meta-map was asked for. In stead of the -Map affix, it now uses the more logical [...]]]></description>
			<content:encoded><![CDATA[<p>
Apparently, the GRF format didn&#8217;t quite follow the official RIFF specs, so I had to fix it (thanks for pointing it out, Daniel). While I was at it, I also changed the names of the meta-tile arrays if a meta-map was asked for. In stead of the <code>-Map</code> affix, it now uses the more logical <code>-MetaTiles</code>. Yes, this probably will break something, but in the long run it&#8217;s better this way and it&#8217;s a compiler error, so it&#8217;s easy to fix.
</p>
<p>
Usenti&#8217;s been updated to match.
</p>
<p><p>&nbsp;</p></p>
<ul>
<li><a href=/projects/#grit>link to grit</a></li>
<li><a href=/projects/#usenti>link to usenti</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.coranac.com/2008/11/30/grit-082-usenti-1710/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Little programming game</title>
		<link>http://www.coranac.com/2008/09/22/little-programming-game/</link>
		<comments>http://www.coranac.com/2008/09/22/little-programming-game/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 16:41:55 +0000</pubDate>
		<dc:creator>cearn</dc:creator>
		
		<category><![CDATA[tainment]]></category>

		<guid isPermaLink="false">http://www.coranac.com/?p=59</guid>
		<description><![CDATA[
I found this little game yesterday: Light-bot. You control a bot with a few commands to light up evry blue tile in the level; kinda like LOGO or Lego Mindstorms. At 12 levels it&#8217;s a nice little activity.
]]></description>
			<content:encoded><![CDATA[<p>
I found this little game yesterday: <a href="http://www.gameroo.nl/games/light-bot">Light-bot</a>. You control a bot with a few commands to light up evry blue tile in the level; kinda like LOGO or Lego Mindstorms. At 12 levels it&#8217;s a nice little activity.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coranac.com/2008/09/22/little-programming-game/feed/</wfw:commentRss>
		</item>
		<item>
		<title>NDS register overview</title>
		<link>http://www.coranac.com/2008/09/11/nds-register-overview/</link>
		<comments>http://www.coranac.com/2008/09/11/nds-register-overview/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 15:45:42 +0000</pubDate>
		<dc:creator>cearn</dc:creator>
		
		<category><![CDATA[nds]]></category>

		<guid isPermaLink="false">http://www.coranac.com/?p=58</guid>
		<description><![CDATA[
The state of register names for NDS homebrew is a bit of a mess.
First, there are the GBATek names. Since GBATek is considered
the source of GBA/NDS information, it would make sense to
adhere to those names pretty closely. But, of course, that&#8217;s not
how actually is in the de facto library for NDS homebrew, libnds.


libnds has two [...]]]></description>
			<content:encoded><![CDATA[<p>
The state of register names for NDS homebrew is a bit of a mess.<br />
First, there are the GBATek names. Since GBATek is considered<br />
<i>the</i> source of GBA/NDS information, it would make sense to<br />
adhere to those names pretty closely. But, of course, that&#8217;s not<br />
how actually is in the de facto library for NDS homebrew, libnds.
</p>
<p>
libnds has two sets of names. This probably is a result of serving<br />
different masters in its early days. One set uses<br />
<a href="http://www.auia.net/mappy/sdk/">Mappy</a>&#8217;s nomenclature.<br />
That&#8217;s the one without the <code>REG_</code> in front of it, and<br />
uses things like <code>_CR</code>, and <code>_SR</code>. This is<br />
one you&#8217;re most likely to see in the current NDS tutorials.<br />
The second set uses GBATek&#8217;s names (mostly) plus a <code>REG_</code><br />
prefix. If you&#8217;ve done GBA programming, these should feel quite<br />
familiar.
</p>
<p><p>&nbsp;</p></p>
<p><span id="more-58"></span></p>
<p>
For the most part, I don&#8217;t really care much for the the Mappy names.<br />
One reason for this is that they don&#8217;t match up with the GBATek names,<br />
making it harder to look-up what they do. More importantly, though,<br />
without any sort of prefix that indicates they&#8217;re registers, they all<br />
look like the constants you put <i>in</i> the<br />
registers. After all, that&#8217;s what all-caps usually means: a constant.<br />
When I see the identifier <code>WIN0_X0</code>, I&#8217;m more likely to<br />
think that it&#8217;s something to set a window coordinate <i>to</i>, rather<br />
than that it is how to control the window. Having to wonder constantly<br />
whether a particular identifier is a constant or a register is pretty<br />
annoying<span class="fnote"><a href="#ft-nr1" title="See also BG_TILE_BASE and
BG_TILE_RAM, for the REG_BGxCNT macro and
the VRAM address, respectively. Yeah, you can tell because obviously
RAM means memory, but it&#8217;s still an easy mistake to make, especially
since the VRAM areas are called &ldquo;base&rdquo; as well.">(1)</a></span>.<br />
But perhaps this is just me.
</p>
<p>
What&#8217;s especially grating about these names is that the elements of<br />
the <a href="http://www.coranac.com/tonc/text/affine.htm">affine matrix</a><br />
are transposed. <code>HY</code> is actually <code>VX</code> and vice<br />
versa. Shame, actually, because the <code>HX-VY</code> naming<br />
scheme does make more sense than old <code>PA-PD</code> names.
</p>
<p>
Elements <code>XDY</code> and <code>YDX</code> are also transposed &hellip;<br />
I think. It&#8217;s hard to be sure since this nomenclature is highly ambiguous<br />
anyway. I really can&#8217;t tell how the elements are supposed to<br />
be read, much less determine if they are in the correct order.
</p>
<p><p>&nbsp;</p></p>
<p>
The <code>REG_</code> registers do not suffer from those problems, but<br />
they have their own issues. The registers that had a GBA counterpart<br />
are generally okay, except that some are mapped with the wrong<br />
datatype. For the NDS-specific ones, some follow the GBATek names,<br />
some <i>almost</i> follow them (<code>MTX_LOAD_4x4</code> vs<br />
<code>REG_MTX_LOAD4x4</code>, for example; note the underscores), and<br />
some are the Mappy-like names plus prefix.
</p>
<p>
And to top it all, registers of both nomenclatures lie sprinkled<br />
across multiple files and one file called <tt>registers_alt.h</tt>,<br />
which is not included by <tt>nds.h</tt>, making sure you never<br />
know which names are included or not until you either search<br />
though the whole include hierarchy or get an error from the compiler.<br />
And then have to search the hierarchy to find out the<br />
exact spelling.
</p>
<p><p>&nbsp;</p></p>
<p>
What I&#8217;m trying to say is, it&#8217;s a frickin mess. To make a little<br />
more sense of things, here is a list of all the registers as they<br />
appear in GBATek, the primary libnds set (plus the file where they&#8217;re<br />
defined), and the alternate libnds set (<tt>registers_alt.h</tt>).<br />
I&#8217;ve also included links to where you can find the descriptions<br />
in GBATek.
</p>
<ul>
<li>
    The <b>bold black</b> names are those corresponding exactly to GBATek.
  </li>
<li>
    The <span class=rem><b>bold red</b></span> items are problematic in some<br />
    way; usually the datatype is not what is should be, or some registers<br />
    have been swapped somehow. Follow the footnotes or hover over them to<br />
	see my comments. Note that some of these are already fixed in CVS.
  </li>
<li>
    Sometimes there are gaps. In this case, that particular set has<br />
    no name for it.
  </li>
</ul>
<p><div class=note>
<div  class=nhcare>Status : volatile</div>
</p>
<p>
This list represents the state of the <i>current</i> officially released libnds from 2007-10-23. When the next version comes out, the list will be updated to match.
</p>
<p></div>
</p>
<p><ul>
  <li> <a href="#sec-arm9">1
Arm 9 registers
</a> </li>
  <li> <a href="#sec-arm7">2
Arm 7 registers
</a> </li>
</ul>
</p>
<p><h2 id="sec-arm9">1
Arm 9 registers
</h2>
</p>
<table style="border:2px solid black;" cellpadding=2 cellspacing=0>
<col span=3 align=center></p>
<tr class=bg1 align=center>
<th>&nbsp;</th>
<th class="bdrL bdrR" colspan=3>GBATek / official</th>
<th class="bdrL bdrR" colspan=3>libnds primary</th>
<th class="bdrL" colspan=2>libnds alternate</th>
</tr>
<tr class=bg1 align=center>
<th class="bdrB">addr</th>
<th class="bdrL bdrB">size</th>
<th class="bdrL bdrB">name</th>
<th class="bdrL bdrR bdrB">name</th>
<th class="bdrL bdrB">file</th>
<th class="bdrL bdrB">type</th>
<th class="bdrR bdrB">name</th>
<th class="bdrL bdrB">type</th>
<th class="bdrB">name</th>
</tr>
<tr class=bg0>
<td>0400:0000</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsvideobgmodescontrol">DISPCNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DISPLAY_CR</td>
<td class="bdrL">vu32</td>
<td><b>REG_DISPCNT</b></td>
</tr>
<tr class=bg1>
<td>0400:0004</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiointerruptsandstatus">DISPSTAT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">system.h</td>
<td class="bdrL">vu16</td>
<td class="bdrR"><b>REG_DISPSTAT</b></td>
<td class="bdrL">vu16</td>
<td>DISP_SR</td>
</tr>
<tr class=bg0>
<td>0400:0006</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiointerruptsandstatus">VCOUNT</a></td>
<td class="bdrL bdrR rem"><b>R/W</b><span class="fnote"><a href="#ft-nr2" title="
Read/Write, seriously?">(2)</a></span></td>
<td class="bdrL">system.h</td>
<td class="bdrL">vu16</td>
<td class="bdrR"><b>REG_VCOUNT</b></td>
<td class="bdrL">vu16</td>
<td>DISP_Y</td>
</tr>
<tr class=bg1>
<td>0400:0008</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">bg_attribute </td>
<td class="bdrR">BACKGROUND</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0008</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BGCTRL[ ]</td>
<td class="bdrL">vu16</td>
<td>REG_BGCTRL[ ]</td>
</tr>
<tr class=bg1>
<td>0400:0008</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgcontrol">BG0CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BG0_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG0CNT</b></td>
</tr>
<tr class=bg0>
<td>0400:000A</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgcontrol">BG1CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BG1_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG1CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:000C</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgcontrol">BG2CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BG2_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG2CNT</b></td>
</tr>
<tr class=bg0>
<td>0400:000E</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgcontrol">BG3CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BG3_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG3CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:0010</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">bg_scroll</td>
<td class="bdrR">BG_OFFSET[ ]</td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr3" title="
Should be a double u16 type (like bg_scroll)">(3)</a></span></td>
<td>REG_BGOFFSETS[ ]</td>
</tr>
<tr class=bg0>
<td>0400:0010</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG0HOFS</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BG0_X0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG0HOFS</b></td>
</tr>
<tr class=bg1>
<td>0400:0012</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG0VOFS</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BG0_Y0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG0VOFS</b></td>
</tr>
<tr class=bg0>
<td>0400:0014</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG1HOFS</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BG1_X0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG1HOFS</b></td>
</tr>
<tr class=bg1>
<td>0400:0016</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG1VOFS</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BG1_Y0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG1VOFS</b></td>
</tr>
<tr class=bg0>
<td>0400:0018</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG2HOFS</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BG2_X0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG2HOFS</b></td>
</tr>
<tr class=bg1>
<td>0400:001A</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG2VOFS</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BG2_Y0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG2VOFS</b></td>
</tr>
<tr class=bg0>
<td>0400:001C</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG3HOFS</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BG3_X0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG3HOFS</b></td>
</tr>
<tr class=bg1>
<td>0400:001E</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG3VOFS</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BG3_Y0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG3VOFS</b></td>
</tr>
<tr class=bg0>
<td>0400:0020</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG2PA</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>BG2_XDX</b><span class="fnote"><a href="#ft-nr5" title="
Ambiguous terms: X/Y for both vector and coordinate.">(5)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG2PA</b></td>
</tr>
<tr class=bg1>
<td>0400:0022</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG2PB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>BG2_XDY</b><span class="fnote"><a href="#ft-nr6" title="
Ambiguous terms: X/Y for both vector and coordinate.
Should probably be _YDX element.">(6)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG2PB</b></td>
</tr>
<tr class=bg0>
<td>0400:0024</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG2PC</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>BG2_YDX</b><span class="fnote"><a href="#ft-nr7" title="
Ambiguous terms: X/Y for both vector and coordinate.
Should probably be _XDY element">(7)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG2PC</b></td>
</tr>
<tr class=bg1>
<td>0400:0026</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG2PD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>BG2_YDY</b><span class="fnote"><a href="#ft-nr5" title="
Ambiguous terms: X/Y for both vector and coordinate.">(5)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG2PD</b></td>
</tr>
<tr class=bg0>
<td>0400:0028</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG2X</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR">BG2_CX</td>
<td class="bdrL rem"><b>vu32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG2X</b></td>
</tr>
<tr class=bg1>
<td>0400:002C</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG2Y</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR">BG2_CY</td>
<td class="bdrL rem"><b>vu32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG2Y</b></td>
</tr>
<tr class=bg0>
<td>0400:0030</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG3PA</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>BG3_XDX</b><span class="fnote"><a href="#ft-nr5" title="
Ambiguous terms: X/Y for both vector and coordinate.">(5)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG3PA</b></td>
</tr>
<tr class=bg1>
<td>0400:0032</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG3PB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>BG3_XDY</b><span class="fnote"><a href="#ft-nr6" title="
Ambiguous terms: X/Y for both vector and coordinate.
Should probably be _YDX element.">(6)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG3PB</b></td>
</tr>
<tr class=bg0>
<td>0400:0034</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG3PC</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>BG3_YDX</b><span class="fnote"><a href="#ft-nr7" title="
Ambiguous terms: X/Y for both vector and coordinate.
Should probably be _XDY element">(7)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG3PC</b></td>
</tr>
<tr class=bg1>
<td>0400:0036</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG3PD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>BG3_YDY</b><span class="fnote"><a href="#ft-nr5" title="
Ambiguous terms: X/Y for both vector and coordinate.">(5)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG3PD</b></td>
</tr>
<tr class=bg0>
<td>0400:0038</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG3X</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR">BG3_CX</td>
<td class="bdrL rem"><b>vu32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG3X</b></td>
</tr>
<tr class=bg1>
<td>0400:003C</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG3Y</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR">BG3_CY</td>
<td class="bdrL rem"><b>vu32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG3Y</b></td>
</tr>
<tr class=bg0>
<td>0400:0040</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature">WIN0H</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">vu16</td>
<td><b>REG_WIN0H</b></td>
</tr>
<tr class=bg1>
<td>0400:0040</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">WIN0_X1</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0041</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">WIN0_X0</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0042</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature">WIN1H</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">vu16</td>
<td><b>REG_WIN1H</b></td>
</tr>
<tr class=bg0>
<td>0400:0042</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR rem"><b>WIN1_X0</b><span class="fnote"><a href="#ft-nr8" title="
Is actually WIN1_X1">(8)</a></span></td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0043</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR rem"><b>WIN1_X1</b><span class="fnote"><a href="#ft-nr9" title="
Is actually WIN_X0">(9)</a></span></td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0044</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature">WIN0V</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">vu16</td>
<td><b>REG_WIN0V</b></td>
</tr>
<tr class=bg1>
<td>0400:0044</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">WIN0_Y1</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0045</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">WIN0_Y0</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0046</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature">WIN1V</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">vu16</td>
<td><b>REG_WIN1V</b></td>
</tr>
<tr class=bg0>
<td>0400:0046</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">WIN1_Y1</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0047</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">WIN1_Y0</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0048</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature">WININ</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">WIN_IN</td>
<td class="bdrL">vu16</td>
<td><b>REG_WININ</b></td>
</tr>
<tr class=bg1>
<td>0400:004A</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature">WINOUT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">WIN_OUT</td>
<td class="bdrL">vu16</td>
<td><b>REG_WINOUT</b></td>
</tr>
<tr class=bg0>
<td>0400:004C</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiomosaicfunction">MOSAIC</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">MOSAIC_CR</td>
<td class="bdrL rem"><b>vu32</b><span class="fnote"><a href="#ft-nr10" title="
Should be vu16, not vu32">(10)</a></span></td>
<td><b>REG_MOSAIC</b></td>
</tr>
<tr class=bg1>
<td>0400:0050</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiocolorspecialeffects">BLDCNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BLEND_CR</td>
<td class="bdrL">vu16</td>
<td>REG_BLDMOD</td>
</tr>
<tr class=bg0>
<td>0400:0052</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiocolorspecialeffects">BLDALPHA</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BLEND_AB</td>
<td class="bdrL">vu16</td>
<td>REG_COLV</td>
</tr>
<tr class=bg1>
<td>0400:0054</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiocolorspecialeffects">BLDY</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BLEND_Y</td>
<td class="bdrL">vu16</td>
<td>REG_COLY</td>
</tr>
<tr class=bg0>
<td>0400:0060</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3ddisplaycontrol">DISP3DCNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">GFX_CONTROL</td>
<td class="bdrL">vu16</td>
<td>REG_GFX_CONTROL</td>
</tr>
<tr class=bg1>
<td>0400:0064</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsvideocaptureandmainmemorydisplaymode">DISPCAPCNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR"><b>REG_DISPCAPCNT</b></td>
<td class="bdrL">vuint32</td>
<td>DISP_CAPTURE</td>
</tr>
<tr class=bg0>
<td>0400:0068</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsvideocaptureandmainmemorydisplaymode">DISP_MMEM_FIFO</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR"><b>REG_ DISP_MMEM_FIFO</b></td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:006C</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsvideostuff">MASTER_BRIGHT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BRIGHTNESS</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:00B0</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA_SRC(n)</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:00B4</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA_DEST(n)</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:00B8</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA_CR(n)</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:00B0</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL rem"><b>vu32</b><span class="fnote"><a href="#ft-nr11" title="
Should be struct">(11)</a></span></td>
<td>REG_DMA[ ]</td>
</tr>
<tr class=bg0>
<td>0400:00B0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA0SAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA0_SRC</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA0SAD</b></td>
</tr>
<tr class=bg1>
<td>0400:00B4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA0DAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA0_DEST</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA0DAD</b></td>
</tr>
<tr class=bg0>
<td>0400:00B8</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA0CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA0_CR</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA0CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:00BC</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA1SAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA1_SRC</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA1SAD</b></td>
</tr>
<tr class=bg0>
<td>0400:00C0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA1DAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA1_DEST</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA1DAD</b></td>
</tr>
<tr class=bg1>
<td>0400:00C4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA1CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA1_CR</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA1CNT</b></td>
</tr>
<tr class=bg0>
<td>0400:00C8</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA2SAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA2_SRC</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA2SAD</b></td>
</tr>
<tr class=bg1>
<td>0400:00CC</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA2DAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA2_DEST</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA2DAD</b></td>
</tr>
<tr class=bg0>
<td>0400:00D0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA2CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA2_CR</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA2CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:00D4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA3SAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA3_SRC</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA3SAD</b></td>
</tr>
<tr class=bg0>
<td>0400:00D8</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA3DAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA3_DEST</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA3DAD</b></td>
</tr>
<tr class=bg1>
<td>0400:00DC</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA3CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA3_CR</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA3CNT</b></td>
</tr>
<tr class=bg0>
<td>0400:00E0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA0FILL</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:00E4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA1FILL</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:00E8</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA2FILL</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:00EC</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA3FILL</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0100</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr11" title="
Should be struct">(11)</a></span></td>
<td>REG_TIME[ ]</td>
</tr>
<tr class=bg1>
<td>0400:0100</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER_DATA(n)</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0102</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER_CR(n)</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0100</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM0D</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER0_DATA</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM0D</b></td>
</tr>
<tr class=bg0>
<td>0400:0102</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM0CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER0_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM0CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:0104</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM1D</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER1_DATA</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM1D</b></td>
</tr>
<tr class=bg0>
<td>0400:0106</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM1CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER1_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM1CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:0108</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM2D</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER2_DATA</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM2D</b></td>
</tr>
<tr class=bg0>
<td>0400:010A</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM2CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER2_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM2CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:010C</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM3D</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER3_DATA</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM3D</b></td>
</tr>
<tr class=bg0>
<td>0400:010E</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM3CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER3_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM3CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:0130</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbakeypadinput">KEYINPUT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">system.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR"><b>REG_KEYINPUT</b></td>
<td class="bdrL">vuint16</td>
<td>KEYS</td>
</tr>
<tr class=bg0>
<td>0400:0132</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbakeypadinput">KEYCNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">system.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR"><b>REG_KEYCNT</b></td>
<td class="bdrL">vuint16</td>
<td>KEYS_CR</td>
</tr>
<tr class=bg1>
<td>0400:0180</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsinterprocesscommunicationipc">IPCSYNC</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">ipc.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">REG_IPC_SYNC</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0184</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsinterprocesscommunicationipc">IPCFIFOCNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">ipc.h</td>
<td class="bdrL">vu16</td>
<td class="bdrR">REG_IPC_FIFO_CR</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0188</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsinterprocesscommunicationipc">IPCFIFOSEND</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">ipc.h</td>
<td class="bdrL">vu32</td>
<td class="bdrR">REG_IPC_FIFO_TX</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:01A0</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">AUXSPICNT</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">CARD_CR1</td>
<td class="bdrL">vu32</td>
<td>REG_CARD_CR1</td>
</tr>
<tr class=bg1>
<td>0400:01A1</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">CARD_CR1H</td>
<td class="bdrL">vu8</td>
<td>REG_CARD_CR1H</td>
</tr>
<tr class=bg0>
<td>0400:01A2</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">AUXSPIDATA</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">CARD_EEPDATA</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:01A4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">&nbsp;</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">CARD_CR2</td>
<td class="bdrL">vu32</td>
<td>REG_CARD_CR2</td>
</tr>
<tr class=bg0>
<td>0400:01A8</td>
<td class="bdrL">8</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">&nbsp;</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">CARD_COMMAND</td>
<td class="bdrL">vu8</td>
<td>REG_CARD_COMMAND[ ]</td>
</tr>
<tr class=bg1>
<td>0400:01B0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">&nbsp;</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">CARD_1B0</td>
<td class="bdrL">vu32</td>
<td>REG_CARD_1B0</td>
</tr>
<tr class=bg0>
<td>0400:01B4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">&nbsp;</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">CARD_1B4</td>
<td class="bdrL">vu32</td>
<td>REG_CARD_1B4</td>
</tr>
<tr class=bg1>
<td>0400:01B8</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">&nbsp;</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">CARD_1B8</td>
<td class="bdrL">vu16</td>
<td>REG_CARD_1B8</td>
</tr>
<tr class=bg0>
<td>0400:01BA</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">&nbsp;</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">CARD_1BA</td>
<td class="bdrL">vu16</td>
<td>REG_CARD_1BA</td>
</tr>
<tr class=bg1>
<td>0400:0204</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolcartridgesandmainram">EXMEMCNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">memory.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR"><b>REG_EXMEMCNT</b></td>
<td class="bdrL">vuint16</td>
<td>WAIT_CR</td>
</tr>
<tr class=bg0>
<td>0400:0208</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbainterruptcontrol">IME</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">interrupts.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR"><b>REG_IME</b></td>
<td class="bdrL">vuint16</td>
<td>IME</td>
</tr>
<tr class=bg1>
<td>0400:0210</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsinterrupts">IE</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">interrupts.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR"><b>REG_IE</b></td>
<td class="bdrL">vuint32</td>
<td>IE</td>
</tr>
<tr class=bg0>
<td>0400:0214</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsinterrupts">IF</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">interrupts.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR"><b>REG_IF</b></td>
<td class="bdrL">vuint32</td>
<td>IF</td>
</tr>
<tr class=bg1>
<td>0400:0240</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">VRAM_CR</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0240</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolvram">VRAMCNT_A</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">VRAM_A_CR</td>
<td class="bdrL">vu8</td>
<td>REG_VRAM_A_CR</td>
</tr>
<tr class=bg1>
<td>0400:0241</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolvram">VRAMCNT_B</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">VRAM_B_CR</td>
<td class="bdrL">vu8</td>
<td>REG_VRAM_B_CR</td>
</tr>
<tr class=bg0>
<td>0400:0242</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolvram">VRAMCNT_C</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">VRAM_C_CR</td>
<td class="bdrL">vu8</td>
<td>REG_VRAM_C_CR</td>
</tr>
<tr class=bg1>
<td>0400:0243</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolvram">VRAMCNT_D</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">VRAM_D_CR</td>
<td class="bdrL">vu8</td>
<td>REG_VRAM_D_CR</td>
</tr>
<tr class=bg0>
<td>0400:0244</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolvram">VRAMCNT_E</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">VRAM_E_CR</td>
<td class="bdrL">vu8</td>
<td>REG_VRAM_E_CR</td>
</tr>
<tr class=bg1>
<td>0400:0245</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolvram">VRAMCNT_F</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">VRAM_F_CR</td>
<td class="bdrL">vu8</td>
<td>REG_VRAM_F_CR</td>
</tr>
<tr class=bg0>
<td>0400:0246</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolvram">VRAMCNT_G</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">VRAM_G_CR</td>
<td class="bdrL">vu8</td>
<td>REG_VRAM_G_CR</td>
</tr>
<tr class=bg1>
<td>0400:0247</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolwram">WRAMCNT</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">WRAM_CR</td>
<td class="bdrL">vu8</td>
<td>REG_WRAM_CNT</td>
</tr>
<tr class=bg0>
<td>0400:0248</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolvram">VRAMCNT_H</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">VRAM_H_CR</td>
<td class="bdrL">vu8</td>
<td>REG_VRAM_H_CR</td>
</tr>
<tr class=bg1>
<td>0400:0249</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolvram">VRAMCNT_I</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">VRAM_I_CR</td>
<td class="bdrL">vu8</td>
<td>REG_VRAM_I_CR</td>
</tr>
<tr class=bg0>
<td>0400:0280</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmaths">DIVCNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/math.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">DIV_CR</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0290</td>
<td class="bdrL">8</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmaths">DIV_NUMER</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/math.h</td>
<td class="bdrL">vint64</td>
<td class="bdrR">DIV_NUMERATOR64</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0290</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/math.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">DIV_NUMERATOR32</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0298</td>
<td class="bdrL">8</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmaths">DIV_DENOM</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/math.h</td>
<td class="bdrL">vint64</td>
<td class="bdrR">DIV_DENOMINATOR64</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0298</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/math.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">DIV_DENOMINATOR32</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:02A0</td>
<td class="bdrL">8</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmaths">DIV_RESULT</a></td>
<td class="bdrL bdrR">R</td>
<td class="bdrL">arm9/math.h</td>
<td class="bdrL">vint64</td>
<td class="bdrR">DIV_RESULT64</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:02A0</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/math.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">DIV_RESULT32</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:02A8</td>
<td class="bdrL">8</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmaths">DIVREM_RESULT</a></td>
<td class="bdrL bdrR">R</td>
<td class="bdrL">arm9/math.h</td>
<td class="bdrL">vint64</td>
<td class="bdrR">DIV_REMAINDER64</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:02A8</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/math.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">DIV_REMAINDER32</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:02B0</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmaths">SQRTCNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/math.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SQRT_CR</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:02B4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmaths">SQRT_RESULT</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/math.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">SQRT_RESULT32</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:02B8</td>
<td class="bdrL">8</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmaths">SQRT_PARAM</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/math.h</td>
<td class="bdrL">vint64</td>
<td class="bdrR">SQRT_PARAM64</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:02B8</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/math.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">SQRT_PARAM32</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0300</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dspowermanagement">POSTFLG</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0304</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dspowermanagement">POWCNT1</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">system.h</td>
<td class="bdrL">vu16</td>
<td class="bdrR">REG_POWERCNT</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0320</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dstatus">RDLINES_COUNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0330</td>
<td class="bdrL">16</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dtoonedgefog">EDGE_COLOR</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">GFX_EDGE_TABLE</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0340</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3ddisplaycontrol">ALPHA_TEST_REF</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">GFX_ALPHA_TEST</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0350</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3drearplane">CLEAR_COLOR</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_CLEAR_COLOR</td>
<td class="bdrL">vu32</td>
<td><b>REG_CLEAR_COLOR</b></td>
</tr>
<tr class=bg1>
<td>0400:0354</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3drearplane">CLEAR_DEPTH</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">GFX_CLEAR_DEPTH</td>
<td class="bdrL">vu16</td>
<td><b>REG_CLEAR_DEPTH</b></td>
</tr>
<tr class=bg0>
<td>0400:0356</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3drearplane">CLRIMAGE_OFFSET</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0358</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dtoonedgefog">FOG_COLOR</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_FOG_COLOR</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:035C</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dtoonedgefog">FOG_OFFSET</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_FOG_OFFSET</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0360</td>
<td class="bdrL">32</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dtoonedgefog">FOG_TABLE</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8 </td>
<td class="bdrR">GFX_FOG_TABLE[ ]</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0380</td>
<td class="bdrL">64</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dtoonedgefog">TOON_TABLE</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">GFX_TOON_TABLE[ ]</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0400</td>
<td class="bdrL">64</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dgeometrycommands">GXFIFO</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_FIFO</td>
<td class="bdrL">vu32</td>
<td><b>REG_GFX_FIFO</b></td>
</tr>
<tr class=bg0>
<td>0400:0440</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixloadmultiply">MTX_MODE</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">MATRIX_CONTROL</td>
<td class="bdrL">vu32</td>
<td>REG_MTX_CONTROL</td>
</tr>
<tr class=bg1>
<td>0400:0444</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixstack">MTX_PUSH</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">MATRIX_PUSH</td>
<td class="bdrL">vu32</td>
<td><b>REG_MTX_PUSH</b></td>
</tr>
<tr class=bg0>
<td>0400:0448</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixstack">MTX_POP</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">MATRIX_POP</td>
<td class="bdrL">vu32</td>
<td><b>REG_MTX_POP</b></td>
</tr>
<tr class=bg1>
<td>0400:044C</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixstack">MTX_STORE</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">MATRIX_STORE</td>
<td class="bdrL">vu32</td>
<td><b>REG_MTX_STORE</b></td>
</tr>
<tr class=bg0>
<td>0400:0450</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixstack">MTX_RESTORE</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">MATRIX_RESTORE</td>
<td class="bdrL">vu32</td>
<td><b>REG_MTX_RESTORE</b></td>
</tr>
<tr class=bg1>
<td>0400:0454</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixloadmultiply">MTX_IDENTITY</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">MATRIX_IDENTITY</td>
<td class="bdrL">vu32</td>
<td><b>REG_MTX_IDENTITY</b></td>
</tr>
<tr class=bg0>
<td>0400:0458</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixloadmultiply">MTX_LOAD_4&#215;4</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">MATRIX_LOAD4&#215;4</td>
<td class="bdrL">vf32</td>
<td>REG_MTX_LOAD4&#215;4</td>
</tr>
<tr class=bg1>
<td>0400:045C</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixloadmultiply">MTX_LOAD_4&#215;3</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">MATRIX_LOAD4&#215;3</td>
<td class="bdrL">vf32</td>
<td>REG_MTX_LOAD4&#215;3</td>
</tr>
<tr class=bg0>
<td>0400:0460</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixloadmultiply">MTX_MULT_4&#215;4</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">MATRIX_MULT4&#215;4</td>
<td class="bdrL">vf32</td>
<td>REG_MTX_MULT4&#215;4</td>
</tr>
<tr class=bg1>
<td>0400:0464</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixloadmultiply">MTX_MULT_4&#215;3</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">MATRIX_MULT4&#215;3</td>
<td class="bdrL">vf32</td>
<td>REG_MTX_MULT4&#215;3</td>
</tr>
<tr class=bg0>
<td>0400:0468</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixloadmultiply">MTX_MULT_3&#215;3</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">MATRIX_MULT3&#215;3</td>
<td class="bdrL">vf32</td>
<td>REG_MTX_MULT3&#215;3</td>
</tr>
<tr class=bg1>
<td>0400:046C</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixloadmultiply">MTX_SCALE</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">MATRIX_SCALE</td>
<td class="bdrL">vint32</td>
<td><b>REG_MTX_SCALE</b></td>
</tr>
<tr class=bg0>
<td>0400:0470</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixloadmultiply">MTX_TRANS</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">MATRIX_TRANSLATE</td>
<td class="bdrL">vint32</td>
<td>REG_MTX_TRANSLATE</td>
</tr>
<tr class=bg1>
<td>0400:0480</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygonattributes">COLOR</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_COLOR</td>
<td class="bdrL">vu32</td>
<td><b>REG_COLOR</b></td>
</tr>
<tr class=bg0>
<td>0400:0484</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygonlightparameters">NORMAL</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_NORMAL</td>
<td class="bdrL">vu32</td>
<td><b>REG_NORMAL</b></td>
</tr>
<tr class=bg1>
<td>0400:0488</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dtextureattributes">TEXCOORD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_TEX_COORD</td>
<td class="bdrL">vu32</td>
<td>REG_TEXT_COORD</td>
</tr>
<tr class=bg0>
<td>0400:048C</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygondefinitionsbyvertices">VTX_16</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_VERTEX16</td>
<td class="bdrL">vu32</td>
<td>REG_VERTEX16</td>
</tr>
<tr class=bg1>
<td>0400:0490</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygondefinitionsbyvertices">VTX_10</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_VERTEX10</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0494</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygondefinitionsbyvertices">VTX_XY</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_VERTEX_XY</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0498</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygondefinitionsbyvertices">VTX_XZ</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_VERTEX_XZ</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:049C</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygondefinitionsbyvertices">VTX_YZ</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_VERTEX_YZ</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:04A0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygondefinitionsbyvertices">VTX_DIFF</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_VERTEX_DIFF</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:04A4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygonattributes">POLYGON_ATTR</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_POLY_FORMAT</td>
<td class="bdrL">vu32</td>
<td>REG_POLY_FORMAT</td>
</tr>
<tr class=bg1>
<td>0400:04A8</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dtextureattributes">TEXIMAGE_PARAM</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_TEX_FORMAT</td>
<td class="bdrL">vu32</td>
<td>REG_TEXT_FORMAT</td>
</tr>
<tr class=bg0>
<td>0400:04AC</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dtextureattributes">PLTT_BASE</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_PAL_FORMAT</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:04C0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygonlightparameters">DIF_AMB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_DIFFUSE_AMBIENT</td>
<td class="bdrL">vu32</td>
<td>REG_DIFFUSE_AMBIENT</td>
</tr>
<tr class=bg0>
<td>0400:04C4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygonlightparameters">SPE_EMI</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_SPECULAR_EMISSION</td>
<td class="bdrL">vu32</td>
<td>REG_SPECULAR_EMISSION</td>
</tr>
<tr class=bg1>
<td>0400:04C8</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygonlightparameters">LIGHT_VECTOR</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_LIGHT_VECTOR</td>
<td class="bdrL">vu32</td>
<td><b>REG_LIGHT_VECTOR</b></td>
</tr>
<tr class=bg0>
<td>0400:04CC</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygonlightparameters">LIGHT_COLOR</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_LIGHT_COLOR</td>
<td class="bdrL">vu32</td>
<td><b>REG_LIGHT_COLOR</b></td>
</tr>
<tr class=bg1>
<td>0400:04D0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygonlightparameters">SHININESS</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_SHININESS</td>
<td class="bdrL">vu32</td>
<td><b>REG_SHININESS</b></td>
</tr>
<tr class=bg0>
<td>0400:0500</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygondefinitionsbyvertices">BEGIN_VTXS</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_BEGIN</td>
<td class="bdrL">vu32</td>
<td>REG_GFX_BEGIN</td>
</tr>
<tr class=bg1>
<td>0400:0504</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dpolygondefinitionsbyvertices">END_VTXS</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_END</td>
<td class="bdrL">vu32</td>
<td>REG_GFX_END</td>
</tr>
<tr class=bg0>
<td>0400:0540</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3ddisplaycontrol">SWAP_BUFFERS</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_FLUSH</td>
<td class="bdrL">vu32</td>
<td>REG_GFX_FLUSH</td>
</tr>
<tr class=bg1>
<td>0400:0580</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3ddisplaycontrol">VIEWPORT</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_VIEWPORT</td>
<td class="bdrL">vu32</td>
<td>REG_GFX_VIEWPORT</td>
</tr>
<tr class=bg0>
<td>0400:05C0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dtests">BOX_TEST</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">GFX_BOX_TEST</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:05C4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dtests">POS_TEST</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_POS_TEST</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:05C8</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dtests">VEC_TEST</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0600</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dstatus">GXSTAT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">GFX_STATUS</td>
<td class="bdrL">vu32</td>
<td>REG_GFX_STATUS</td>
</tr>
<tr class=bg0>
<td>0400:0604</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dstatus">RAM_COUNT</a></td>
<td class="bdrL bdrR">R</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0604</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">uint16</td>
<td class="bdrR">GFX_POLYGON_RAM_USAGE</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0606</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">uint16</td>
<td class="bdrR">GFX_VERTEX_RAM_USAGE</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0610</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3ddisplaycontrol">DISP_1DOT_DEPTH</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">uint16</td>
<td class="bdrR">GFX_CUTOFF_DEPTH</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0620</td>
<td class="bdrL">10</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dtests">POS_RESULT</a></td>
<td class="bdrL bdrR">R</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">GFX_POS_RESULT[ ]</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0620</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">POINT_RESULT[ ]</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0630</td>
<td class="bdrL">6</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dtests">VEC_RESULT</a></td>
<td class="bdrL bdrR">R</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">VECTOR_RESULT[ ]</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0640</td>
<td class="bdrL">40</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixloadmultiply">CLIPMTX_RESULT</a></td>
<td class="bdrL bdrR">R</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">MATRIX_READ_CLIP[ ]</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0680</td>
<td class="bdrL">24</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#ds3dmatrixloadmultiply">VECMTX_RESULT</a></td>
<td class="bdrL bdrR">R</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vint32</td>
<td class="bdrR">MATRIX_READ_VECTOR[ ]</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:1000</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsvideobgmodescontrol">DISPCNT_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">SUB_DISPLAY_CR</td>
<td class="bdrL">vu32</td>
<td><b>REG_DISPCNT_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:1008</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">bg_attribute </td>
<td class="bdrR">BACKGROUND_SUB</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:1008</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">BGCTRL_SUB[ ]</td>
<td class="bdrL">vu16</td>
<td>REG_BGCTRL_SUB</td>
</tr>
<tr class=bg0>
<td>0400:1008</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgcontrol">BG0CNT_SUB</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BG0_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG0CNT_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:100A</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgcontrol">BG1CNT_SUB</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BG1_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG1CNT_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:100C</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgcontrol">BG2CNT_SUB</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BG2_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG2CNT_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:100E</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgcontrol">BG3CNT_SUB</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BG3_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG3CNT_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:1010</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">vu16</td>
<td>REG_BGOFFSETS_SUB[ ]</td>
</tr>
<tr class=bg1>
<td>0400:1010</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG0HOFS_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BG0_X0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG0HOFS_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:1012</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG0VOFS_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BG0_Y0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG0VOFS_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:1014</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG1HOFS_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BG1_X0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG1HOFS_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:1016</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG1VOFS_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BG1_Y0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG1VOFS_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:1018</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG2HOFS_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BG2_X0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG2HOFS_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:101A</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG2VOFS_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BG2_Y0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG2VOFS_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:101C</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG3HOFS_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BG3_X0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG3HOFS_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:101E</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling">BG3VOFS_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BG3_Y0</td>
<td class="bdrL">vu16</td>
<td><b>REG_BG3VOFS_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:1020</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG2PA_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>SUB_BG2_XDX</b><span class="fnote"><a href="#ft-nr5" title="
Ambiguous terms: X/Y for both vector and coordinate.">(5)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG2PA_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:1022</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG2PB_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>SUB_BG2_XDY</b><span class="fnote"><a href="#ft-nr6" title="
Ambiguous terms: X/Y for both vector and coordinate.
Should probably be _YDX element.">(6)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG2PB_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:1024</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG2PC_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>SUB_BG2_YDX</b><span class="fnote"><a href="#ft-nr7" title="
Ambiguous terms: X/Y for both vector and coordinate.
Should probably be _XDY element">(7)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG2PC_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:1026</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG2PD_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>SUB_BG2_YDY</b><span class="fnote"><a href="#ft-nr5" title="
Ambiguous terms: X/Y for both vector and coordinate.">(5)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG2PD_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:1028</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG2X_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR">SUB_BG2_CX</td>
<td class="bdrL rem"><b>vu32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG2X_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:102C</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG2Y_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR">SUB_BG2_CY</td>
<td class="bdrL rem"><b>vu32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG2Y_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:1030</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG3PA_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>SUB_BG3_XDX</b><span class="fnote"><a href="#ft-nr5" title="
Ambiguous terms: X/Y for both vector and coordinate.">(5)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG3PA_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:1032</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG3PB_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>SUB_BG3_XDY</b><span class="fnote"><a href="#ft-nr6" title="
Ambiguous terms: X/Y for both vector and coordinate.
Should probably be _YDX element.">(6)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG3PB_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:1034</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG3PC_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>SUB_BG3_YDX</b><span class="fnote"><a href="#ft-nr7" title="
Ambiguous terms: X/Y for both vector and coordinate.
Should probably be _XDY element">(7)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG3PC_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:1036</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG3PD_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR rem"><b>SUB_BG3_YDY</b><span class="fnote"><a href="#ft-nr5" title="
Ambiguous terms: X/Y for both vector and coordinate.">(5)</a></span></td>
<td class="bdrL rem"><b>vu16</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG3PD_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:1038</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG3X_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR">SUB_BG3_CX</td>
<td class="bdrL rem"><b>vu32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG3X_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:103C</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling">BG3Y_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL rem"><b>vuint32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td class="bdrR">SUB_BG3_CY</td>
<td class="bdrL rem"><b>vu32</b><span class="fnote"><a href="#ft-nr4" title="
Should be signed.">(4)</a></span></td>
<td><b>REG_BG3Y_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:1040</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature">WIN0H_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">vu16</td>
<td><b>REG_WIN0H_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:1040</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">SUB_WIN0_X1</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:1041</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">SUB_WIN0_X0</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:1042</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature">WIN1H_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">vu16</td>
<td><b>REG_WIN1H_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:1042</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR rem"><b>SUB_WIN1_X0</b><span class="fnote"><a href="#ft-nr12" title="
Is actually SUB_WIN1_X1">(12)</a></span></td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:1043</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR rem"><b>SUB_WIN1_X1</b><span class="fnote"><a href="#ft-nr13" title="
Is actually SUB_WIN_X0">(13)</a></span></td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:1044</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature">WIN0V_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">vu16</td>
<td><b>REG_WIN0V_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:1044</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">SUB_WIN0_Y1</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:1045</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">SUB_WIN0_Y0</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:1046</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature">WIN1V_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">vu16</td>
<td><b>REG_WIN1V_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:1046</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">SUB_WIN1_Y1</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:1047</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">SUB_WIN1_Y0</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:1048</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature">WININ_SUB</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_WIN_IN</td>
<td class="bdrL">vu16</td>
<td><b>REG_WININ_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:104A</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature">WINOUT_SUB</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_WIN_OUT</td>
<td class="bdrL">vu16</td>
<td><b>REG_WINOUT_SUB</b></td>
</tr>
<tr class=bg1>
<td>0400:104C</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiomosaicfunction">MOSAIC_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_MOSAIC_CR</td>
<td class="bdrL rem"><b>vu32</b><span class="fnote"><a href="#ft-nr10" title="
Should be vu16, not vu32">(10)</a></span></td>
<td><b>REG_MOSAIC_SUB</b></td>
</tr>
<tr class=bg0>
<td>0400:1050</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiocolorspecialeffects">BLDCNT_SUB</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BLEND_CR</td>
<td class="bdrL">vu16</td>
<td>REG_BLDMOD_SUB</td>
</tr>
<tr class=bg1>
<td>0400:1052</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiocolorspecialeffects">BLDALPHA_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BLEND_AB</td>
<td class="bdrL">vu16</td>
<td>REG_COLV_SUB</td>
</tr>
<tr class=bg0>
<td>0400:1054</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiocolorspecialeffects">BLDY_SUB</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SUB_BLEND_Y</td>
<td class="bdrL">vu16</td>
<td>REG_COLY_SUB</td>
</tr>
<tr class=bg1>
<td>0400:106C</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsvideostuff">MASTER_BRIGHT_SUB</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm9/video.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR"><b>SUB_BRIGHTNESS</b></td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0410:0000</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsinterprocesscommunicationipc">IPCFIFORECV</a></td>
<td class="bdrL bdrR">R</td>
<td class="bdrL">ipc.h</td>
<td class="bdrL">vu32</td>
<td class="bdrR">REG_IPC_FIFO_RX</td>
<td class="bdrL">vu32</td>
<td>REG_CARD_DATA</td>
</tr>
<tr class=bg1>
<td>0410:0010</td>
<td class="bdrL">4</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">CARD_DATA_RD</td>
<td class="bdrL">vu32</td>
<td>REG_CARD_DATA_RD</td>
</tr>
</table>
<p><h2 id="sec-arm7">2
Arm 7 registers
</h2>
</p>
<table style="border:2px solid black;" cellpadding=2 cellspacing=0>
<col span=3 align=center></p>
<tr class=bg1 align=center>
<th>&nbsp;</th>
<th class="bdrL bdrR" colspan=3>GBATek / official</th>
<th class="bdrL bdrR" colspan=3>libnds primary</th>
<th class="bdrL" colspan=2>libnds alternate</th>
</tr>
<tr class=bg1 align=center>
<th class="bdrB">addr</th>
<th class="bdrL bdrB">size</th>
<th class="bdrL bdrB">name</th>
<th class="bdrL bdrR bdrB">name</th>
<th class="bdrL bdrB">file</th>
<th class="bdrL bdrB">type</th>
<th class="bdrR bdrB">name</th>
<th class="bdrL bdrB">type</th>
<th class="bdrB">name</th>
</tr>
<tr class=bg0>
<td>0400:0004</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiointerruptsandstatus">DISPSTAT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">system.h</td>
<td class="bdrL">vu16</td>
<td class="bdrR"><b>REG_DISPSTAT</b></td>
<td class="bdrL">vu16</td>
<td>DISP_SR</td>
</tr>
<tr class=bg1>
<td>0400:0006</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#lcdiointerruptsandstatus">VCOUNT</a></td>
<td class="bdrL bdrR rem"><b>R/W</b><span class="fnote"><a href="#ft-nr2" title="
Read/Write, seriously?">(2)</a></span></td>
<td class="bdrL">system.h</td>
<td class="bdrL">vu16</td>
<td class="bdrR"><b>REG_VCOUNT</b></td>
<td class="bdrL">vu16</td>
<td>DISP_Y</td>
</tr>
<tr class=bg0>
<td>0400:00B0</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA_SRC(n)</td>
<td class="bdrL">&nbsp;</td>
<td><b>&nbsp;</b></td>
</tr>
<tr class=bg1>
<td>0400:00B4</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA_DEST(n)</td>
<td class="bdrL">&nbsp;</td>
<td><b>&nbsp;</b></td>
</tr>
<tr class=bg0>
<td>0400:00B8</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA_CR(n)</td>
<td class="bdrL">&nbsp;</td>
<td><b>&nbsp;</b></td>
</tr>
<tr class=bg1>
<td>0400:00B0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA0SAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA0_SRC</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA0SAD</b></td>
</tr>
<tr class=bg0>
<td>0400:00B4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA0DAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA0_DEST</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA0DAD</b></td>
</tr>
<tr class=bg1>
<td>0400:00B8</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA0CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA0_CR</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA0CNT</b></td>
</tr>
<tr class=bg0>
<td>0400:00BC</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA1SAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA1_SRC</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA1SAD</b></td>
</tr>
<tr class=bg1>
<td>0400:00C0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA1DAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA1_DEST</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA1DAD</b></td>
</tr>
<tr class=bg0>
<td>0400:00C4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA1CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA1_CR</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA1CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:00C8</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA2SAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA2_SRC</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA2SAD</b></td>
</tr>
<tr class=bg0>
<td>0400:00CC</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA2DAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA2_DEST</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA2DAD</b></td>
</tr>
<tr class=bg1>
<td>0400:00D0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA2CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA2_CR</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA2CNT</b></td>
</tr>
<tr class=bg0>
<td>0400:00D4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA3SAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA3_SRC</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA3SAD</b></td>
</tr>
<tr class=bg1>
<td>0400:00D8</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA3DAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA3_DEST</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA3DAD</b></td>
</tr>
<tr class=bg0>
<td>0400:00DC</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsdmatransfers">DMA3CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">dma.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">DMA3_CR</td>
<td class="bdrL">vu32</td>
<td><b>REG_DMA3CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:0100</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER_DATA(n)</td>
<td class="bdrL">&nbsp;</td>
<td><b>&nbsp;</b></td>
</tr>
<tr class=bg0>
<td>0400:0102</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER_CR(n)</td>
<td class="bdrL">&nbsp;</td>
<td><b>&nbsp;</b></td>
</tr>
<tr class=bg1>
<td>0400:0100</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM0D</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER0_DATA</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM0D</b></td>
</tr>
<tr class=bg0>
<td>0400:0102</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM0CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER0_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM0CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:0104</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM1D</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER1_DATA</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM1D</b></td>
</tr>
<tr class=bg0>
<td>0400:0106</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM1CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER1_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM1CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:0108</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM2D</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER2_DATA</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM2D</b></td>
</tr>
<tr class=bg0>
<td>0400:010A</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM2CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER2_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM2CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:010C</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM3D</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER3_DATA</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM3D</b></td>
</tr>
<tr class=bg0>
<td>0400:010E</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbatimers">TM3CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">timer.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">TIMER3_CR</td>
<td class="bdrL">vu16</td>
<td><b>REG_TM3CNT</b></td>
</tr>
<tr class=bg1>
<td>0400:0120</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsabsentlinkport">SIODATA32</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">SIO_DATA32</td>
<td class="bdrL">&nbsp;</td>
<td><b>&nbsp;</b></td>
</tr>
<tr class=bg0>
<td>0400:0120</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SIO_MULTI_0</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0122</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SIO_MULTI_1</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0124</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SIO_MULTI_2</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0126</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SIO_MULTI_3</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0128</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsabsentlinkport">SIOCNT</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">REG_SIOCNT</td>
<td class="bdrL">vu16</td>
<td><b>REG_SIOCNT</b></td>
</tr>
<tr class=bg1>
<td>0400:012A</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">SIO_DATA8</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:012A</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SIO_MULTI_SEND</td>
<td class="bdrL">vu16</td>
<td><b>REG_SIOMLT_SEND</b></td>
</tr>
<tr class=bg1>
<td>0400:012C</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsabsentlinkport">SIOSEL</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td><b>&nbsp;</b></td>
</tr>
<tr class=bg0>
<td>0400:0130</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbakeypadinput">KEYINPUT</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">system.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR"><b>REG_KEYINPUT</b></td>
<td class="bdrL">vuint16</td>
<td>KEYS</td>
</tr>
<tr class=bg1>
<td>0400:0132</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbakeypadinput">KEYCNT</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">system.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR"><b>REG_KEYCNT</b></td>
<td class="bdrL">vuint16</td>
<td>KEYS_CR</td>
</tr>
<tr class=bg0>
<td>0400:0134</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsabsentlinkport">RCNT</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR"><b>REG_RCNT</b></td>
<td class="bdrL">vu16</td>
<td>REG_RCNT</td>
</tr>
<tr class=bg1>
<td>0400:0136</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dskeypad">EXTKEYIN</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">REG_KEYXY</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0138</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsrealtimeclockrtc">&nbsp;</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">RTC_CR</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0138</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL"> vuint8</td>
<td class="bdrR">RTC_CR8</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0140</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsabsentlinkport">JOYCNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">vu16</td>
<td>REG_HS_CTRL</td>
</tr>
<tr class=bg1>
<td>0400:0180</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsinterprocesscommunicationipc">IPCSYNC</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">ipc.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">REG_IPC_SYNC</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0184</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsinterprocesscommunicationipc">IPCFIFOCNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">ipc.h</td>
<td class="bdrL">vu16</td>
<td class="bdrR">REG_IPC_FIFO_CR</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0188</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsinterprocesscommunicationipc">IPCFIFOSEND</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">ipc.h</td>
<td class="bdrL">vu32</td>
<td class="bdrR">REG_IPC_FIFO_TX</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:01A0</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">AUXSPICNT</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">CARD_CR1</td>
<td class="bdrL">vu32</td>
<td>REG_CARD_CR1</td>
</tr>
<tr class=bg1>
<td>0400:01A1</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">CARD_CR1H</td>
<td class="bdrL">vu8</td>
<td>REG_CARD_CR1H</td>
</tr>
<tr class=bg0>
<td>0400:01A2</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">AUXSPIDATA</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">CARD_EEPDATA</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:01A4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">ROMCTRL</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">CARD_CR2</td>
<td class="bdrL">vu32</td>
<td>REG_CARD_CR2</td>
</tr>
<tr class=bg0>
<td>0400:01A8</td>
<td class="bdrL">8</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">&nbsp;</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">CARD_COMMAND[ ]</td>
<td class="bdrL">vu8</td>
<td>REG_CARD_COMMAND[ ]</td>
</tr>
<tr class=bg1>
<td>0400:01B0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">&nbsp;</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">CARD_1B0</td>
<td class="bdrL">vu32</td>
<td>REG_CARD_1B0</td>
</tr>
<tr class=bg0>
<td>0400:01B4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">&nbsp;</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">CARD_1B4</td>
<td class="bdrL">vu32</td>
<td>REG_CARD_1B4</td>
</tr>
<tr class=bg1>
<td>0400:01B8</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">&nbsp;</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">CARD_1B8</td>
<td class="bdrL">vu16</td>
<td>REG_CARD_1B8</td>
</tr>
<tr class=bg0>
<td>0400:01BA</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">&nbsp;</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">CARD_1BA</td>
<td class="bdrL">vu16</td>
<td>REG_CARD_1BA</td>
</tr>
<tr class=bg1>
<td>0400:01C0</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsserialperipheralinterfacebusspi">SPICNT</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR"><b>REG_SPICNT</b></td>
<td class="bdrL">vuint16</td>
<td>SERIAL_CR</td>
</tr>
<tr class=bg0>
<td>0400:01C2</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsserialperipheralinterfacebusspi">SPIDATA</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/serial.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR"><b>REG_SPIDATA</b></td>
<td class="bdrL">vuint16</td>
<td>SERIAL_DATA</td>
</tr>
<tr class=bg1>
<td>0400:0204</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolcartridgesandmainram">EXMEMSTAT</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">memory.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR"><b>REG_EXMEMSTAT</b></td>
<td class="bdrL">vuint16</td>
<td>WAIT_CR</td>
</tr>
<tr class=bg0>
<td>0400:0206</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dspowermanagement">WIFIWAITCNT</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0208</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#gbainterruptcontrol">IME</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">interrupts.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR"><b>REG_IME</b></td>
<td class="bdrL">vuint16</td>
<td>IME</td>
</tr>
<tr class=bg0>
<td>0400:0210</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsinterrupts">IE</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">interrupts.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR"><b>REG_IE</b></td>
<td class="bdrL">vuint32</td>
<td>IE</td>
</tr>
<tr class=bg1>
<td>0400:0214</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsinterrupts">IF</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">interrupts.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR"><b>REG_IF</b></td>
<td class="bdrL">vuint32</td>
<td>IF</td>
</tr>
<tr class=bg0>
<td>0400:0240</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolvram">VRAMSTAT</a></td>
<td class="bdrL bdrR">R</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0241</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolwram">WRAMSTAT</a></td>
<td class="bdrL bdrR">R</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0300</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dspowermanagement">POSTFLG</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">system.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">HALT_CR</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0301</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dspowermanagement">HALTCNT</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0304</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dspowermanagement">POWCNT2</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">system.h</td>
<td class="bdrL">vu16</td>
<td class="bdrR">REG_POWERCNT</td>
<td class="bdrL">vu16</td>
<td>POWER_CR</td>
</tr>
<tr class=bg1>
<td>0400:0308</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolbios">BIOSPROT</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">memory.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">PROTECTION</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:04&#215;0</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dssoundchannels015">SOUNDxCNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">SCHANNEL_CR(n)</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0400</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">SCHANNEL_VOL(n)</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0402</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">SCHANNEL_PAN(n)</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:04&#215;4</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dssoundchannels015">SOUNDxSAD</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">SCHANNEL_SOURCE(n)</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:04&#215;8</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dssoundchannels015">SOUNDxTMR</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vint16</td>
<td class="bdrR">SCHANNEL_TIMER(n)</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:04xA</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dssoundchannels015">SOUNDxPNT</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SCHANNEL_REPEAT_POINT(n)</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:04xC</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dssoundchannels015">SOUNDxLEN</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">SCHANNEL_LENGTH(n)</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0500</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dssoundcontrolregisters">SOUNDCNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SOUND_CR</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0500</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint8</td>
<td class="bdrR">SOUND_MASTER_VOL</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0504</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dssoundcontrolregisters">SOUNDBIAS</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SOUND_BIAS</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0508</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dssoundcapture">SNDCAP0CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SOUND508</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0509</td>
<td class="bdrL">1</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dssoundcapture">SNDCAP1CNT</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td class="bdrR">&nbsp;</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0510</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dssoundcapture">SNDCAP0DAD</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SOUND510</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:0514</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dssoundcapture">SNDCAP0LEN</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SOUND514</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0400:0518</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dssoundcapture">SNDCAP1DAD</a></td>
<td class="bdrL bdrR">R/W</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SOUND518</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg1>
<td>0400:051C</td>
<td class="bdrL">2</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dssoundcapture">SNDCAP1LEN</a></td>
<td class="bdrL bdrR">W</td>
<td class="bdrL">arm7/audio.h</td>
<td class="bdrL">vuint16</td>
<td class="bdrR">SOUND51C</td>
<td class="bdrL">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class=bg0>
<td>0410:0000</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dsinterprocesscommunicationipc">IPCFIFORECV</a></td>
<td class="bdrL bdrR">R</td>
<td class="bdrL">ipc.h</td>
<td class="bdrL">vu32</td>
<td class="bdrR">REG_IPC_FIFO_RX</td>
<td class="bdrL">vu32</td>
<td>REG_CARD_DATA</td>
</tr>
<tr class=bg1>
<td>0410:0010</td>
<td class="bdrL">4</td>
<td class="bdrL"><a href="http://nocash.emubase.de/gbatek.htm#dscartridgeioports">&nbsp;</a></td>
<td class="bdrL bdrR">&nbsp;</td>
<td class="bdrL">card.h</td>
<td class="bdrL">vuint32</td>
<td class="bdrR">CARD_DATA_RD</td>
<td class="bdrL">vu32</td>
<td>REG_CARD_DATA_RD</td>
</tr>
</table>
<hr /><div class="footnotes">
<ol>
<li id="ft-nr1"> 
  See also <code>BG_TILE_BASE</code> and<br />
<code>BG_TILE_RAM</code>, for the <code>REG_BGxCNT</code> macro and<br />
the VRAM address, respectively. Yeah, you can tell because obviously<br />
RAM means memory, but it&#8217;s still an easy mistake to make, especially<br />
since the VRAM areas are called &ldquo;base&rdquo; as well.
</li>
<li id="ft-nr2"> 
  <br />
Read/Write, seriously?
</li>
<li id="ft-nr3"> 
  <br />
Should be a double u16 type (like bg_scroll)
</li>
<li id="ft-nr4"> 
  <br />
Should be signed.
</li>
<li id="ft-nr5"> 
  <br />
Ambiguous terms: X/Y for both vector and coordinate.
</li>
<li id="ft-nr6"> 
  <br />
Ambiguous terms: X/Y for both vector and coordinate.<br />
Should probably be _YDX element.
</li>
<li id="ft-nr7"> 
  <br />
Ambiguous terms: X/Y for both vector and coordinate.<br />
Should probably be _XDY element
</li>
<li id="ft-nr8"> 
  <br />
Is actually WIN1_X1
</li>
<li id="ft-nr9"> 
  <br />
Is actually WIN_X0
</li>
<li id="ft-nr10"> 
  <br />
Should be vu16, not vu32
</li>
<li id="ft-nr11"> 
  <br />
Should be struct
</li>
<li id="ft-nr12"> 
  <br />
Is actually SUB_WIN1_X1
</li>
<li id="ft-nr13"> 
  <br />
Is actually SUB_WIN_X0
</li>
</ol>
</div
<hr />
]]></content:encoded>
			<wfw:commentRss>http://www.coranac.com/2008/09/11/nds-register-overview/feed/</wfw:commentRss>
		</item>
		<item>
		<title>hurray for bookies</title>
		<link>http://www.coranac.com/2008/09/10/hurray-for-bookies/</link>
		<comments>http://www.coranac.com/2008/09/10/hurray-for-bookies/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 13:08:02 +0000</pubDate>
		<dc:creator>cearn</dc:creator>
		
		<category><![CDATA[tainment]]></category>

		<guid isPermaLink="false">http://www.coranac.com/?p=57</guid>
		<description><![CDATA[
I think I mentioned this before, but we have this Book fair thing over here. These are generally wonderful in that the admission is free, things are usually pretty damn cheap compared to regular stores and even teh internets, and (very unlike most stores in this country *grumble*) there&#8217;s a large variety of computer and [...]]]></description>
			<content:encoded><![CDATA[<p>
I think I mentioned this before, but we have this <a href="http://www.boekenfestijn.nl">Book fair</a> thing over here. These are generally wonderful in that the admission is free, things are usually pretty damn cheap compared to regular stores and even teh internets, and (very unlike most stores in this country *grumble*) there&#8217;s a large variety of computer and science books as well. Even good ones.
</p>
<p>
Every month there&#8217;s one in a different location; and this weekend it was Utrecht. I wasn&#8217;t planning on going at first because I <i>know</i> I can&#8217;t keep my hands of the things and I <i>still</i> have a considerable backlog from the last few times I went, but I had to go in that direction anyway, so I figured why not. And, as always, I went in with the idea that I didn&#8217;t really need anything anymore, but came out with a bag full regardless. Book included:
</p>
<ul>
<li>&ldquo;<a href="http://www.amazon.co.uk/Must-Be-Beautiful-Equations-Science/dp/1862074798/">It Must Be Beautiful: Great Equations of Modern Science</a>&rdquo;, exploring the story behind some of the most important equations in physics today.
  </li>
<li>&ldquo;<a href="http://www.amazon.co.uk/Quantum-Field-Theory-Modern-Introduction/dp/0195091582/">Quantum Field Theory: A Modern Introduction</a>&rdquo; by Michio Kaku. Yes <i>that</i> Kaku. I didn&#8217;t do much with QFT at univeristy because it&#8217;s fucking scary, but perhaps this time I can have better luck. If I ever get round to reading it.
  </li>
<li>&ldquo;<a href="http://www.amazon.co.uk/Platform-Programming-Charles-Development-Paperback/dp/1584503793">Cross-Platform Game programming</a>&ldquo;, dealing with memory and resource management for multiple systems, creating debugging facilities and more. I think this would have come in handy if I&#8217;d found it a few years ago. Oh well. Particularly nice feature: it was only &euro;4; nearly a tenth of the regular price.
  </li>
</ul>
<p>
So yeah, another good batch. Now I just have to find the time to read them all.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coranac.com/2008/09/10/hurray-for-bookies/feed/</wfw:commentRss>
		</item>
		<item>
		<title>To C or not to C</title>
		<link>http://www.coranac.com/2008/09/03/to-c-or-not-to-c/</link>
		<comments>http://www.coranac.com/2008/09/03/to-c-or-not-to-c/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 23:14:15 +0000</pubDate>
		<dc:creator>cearn</dc:creator>
		
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://www.coranac.com/?p=56</guid>
		<description><![CDATA[
Tonclib is coded mostly in C. The reason for this was twofold. First, I still have it in my head that C is lower level than C++, and that the former would compile to faster code; and faster is good. Second, it&#8217;s easier for C++ to call C than the other way around so, for [...]]]></description>
			<content:encoded><![CDATA[<p>
Tonclib is coded mostly in C. The reason for this was twofold. First, I still have it in my head that C is lower level than C++, and that the former would compile to faster code; and faster is good. Second, it&#8217;s easier for C++ to call C than the other way around so, for maximum compatibility, it made sense to code it in C. But these arguments always felt a little weak and now that I&#8217;m trying to port tonclib&#8217;s functions to the DS, the question pops up again.
</p>
<p><p>&nbsp;</p></p>
<p>
On many occasions, I just <i>hated</i> not going for C++. Not so much for its higher-level functionality like classes, inheritance and other OOPy goodness (or badness, some might say), but more because I would really, really like to make use of things like function 