Files
gbdk-2020/docs/api/nes_2hardware_8h.html
2023-08-09 00:12:51 -07:00

835 lines
42 KiB
HTML

<!-- HTML header for doxygen 1.8.14-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="cache-control" content="max-age=86400"/>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GBDK 2020 Docs: gbdk-lib/include/nes/hardware.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen_extra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">GBDK 2020 Docs
&#160;<span id="projectnumber">4.2.0</span>
</div>
<div id="projectbrief">API Documentation for GBDK 2020</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('nes_2hardware_8h.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">hardware.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;types.h&gt;</code><br />
</div>
<p><a href="nes_2hardware_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ae61804714a30560fb686c9e5217e54f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#ae61804714a30560fb686c9e5217e54f3">__SHADOW_REG</a>&#160;&#160;&#160;extern volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></td></tr>
<tr class="separator:ae61804714a30560fb686c9e5217e54f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1053e08ff700b39d8bdc370ff4d18a34"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a1053e08ff700b39d8bdc370ff4d18a34">__REG</a>(addr)&#160;&#160;&#160;volatile __at (addr) <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></td></tr>
<tr class="separator:a1053e08ff700b39d8bdc370ff4d18a34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4195c2da9cc37e948b779a3bba574da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#ad4195c2da9cc37e948b779a3bba574da">PPUCTRL_NMI</a>&#160;&#160;&#160;0b10000000</td></tr>
<tr class="separator:ad4195c2da9cc37e948b779a3bba574da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1912c130a459dc70b7814721e62853f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a1912c130a459dc70b7814721e62853f3">PPUCTRL_SPR_8X8</a>&#160;&#160;&#160;0b00000000</td></tr>
<tr class="separator:a1912c130a459dc70b7814721e62853f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d712a8ba6ec86c2937aeb1b8b36f340"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a6d712a8ba6ec86c2937aeb1b8b36f340">PPUCTRL_SPR_8X16</a>&#160;&#160;&#160;0b00100000</td></tr>
<tr class="separator:a6d712a8ba6ec86c2937aeb1b8b36f340"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a693ef1e7481e9d66811dc6848e5575"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a8a693ef1e7481e9d66811dc6848e5575">PPUCTRL_BG_CHR</a>&#160;&#160;&#160;0b00010000</td></tr>
<tr class="separator:a8a693ef1e7481e9d66811dc6848e5575"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3147e0e9e56b86bebba0bcf1c7609af"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#ab3147e0e9e56b86bebba0bcf1c7609af">PPUCTRL_SPR_CHR</a>&#160;&#160;&#160;0b00001000</td></tr>
<tr class="separator:ab3147e0e9e56b86bebba0bcf1c7609af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5709b6a188c2042aa32a4d4abe9f619a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a5709b6a188c2042aa32a4d4abe9f619a">PPUCTRL_INC32</a>&#160;&#160;&#160;0b00000100</td></tr>
<tr class="separator:a5709b6a188c2042aa32a4d4abe9f619a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c924ea42b8f571a6461bf6d42167491"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a2c924ea42b8f571a6461bf6d42167491">PPUMASK_BLUE</a>&#160;&#160;&#160;0b10000000</td></tr>
<tr class="separator:a2c924ea42b8f571a6461bf6d42167491"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32c11331376cfa653f9d66571382d430"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a32c11331376cfa653f9d66571382d430">PPUMASK_RED</a>&#160;&#160;&#160;0b01000000</td></tr>
<tr class="separator:a32c11331376cfa653f9d66571382d430"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb6fcefb52ab83fe8aeeafe033391f94"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#adb6fcefb52ab83fe8aeeafe033391f94">PPUMASK_GREEN</a>&#160;&#160;&#160;0b00100000</td></tr>
<tr class="separator:adb6fcefb52ab83fe8aeeafe033391f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73dfa1e321b7b5a3835450c0382f7779"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a73dfa1e321b7b5a3835450c0382f7779">PPUMASK_SHOW_SPR</a>&#160;&#160;&#160;0b00010000</td></tr>
<tr class="separator:a73dfa1e321b7b5a3835450c0382f7779"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf30bd58f6f863e21f605957d547bdd7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#aaf30bd58f6f863e21f605957d547bdd7">PPUMASK_SHOW_BG</a>&#160;&#160;&#160;0b00001000</td></tr>
<tr class="separator:aaf30bd58f6f863e21f605957d547bdd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add0805a7bbaa88cf568f7a8fa7eb252c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#add0805a7bbaa88cf568f7a8fa7eb252c">PPUMASK_SHOW_SPR_LC</a>&#160;&#160;&#160;0b00000100</td></tr>
<tr class="separator:add0805a7bbaa88cf568f7a8fa7eb252c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0921fb5a3bfa138b479df91189d51f1c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a0921fb5a3bfa138b479df91189d51f1c">PPUMASK_SHOW_BG_LC</a>&#160;&#160;&#160;0b00000010</td></tr>
<tr class="separator:a0921fb5a3bfa138b479df91189d51f1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4358b756ed8f83ee57451a4428a11829"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a4358b756ed8f83ee57451a4428a11829">PPUMASK_MONOCHROME</a>&#160;&#160;&#160;0b00000001</td></tr>
<tr class="separator:a4358b756ed8f83ee57451a4428a11829"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a519e327cac96f68a8ca9b77e0343672f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a519e327cac96f68a8ca9b77e0343672f">DEVICE_SCREEN_X_OFFSET</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a519e327cac96f68a8ca9b77e0343672f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af334c0e7dd6e434b3dbebd45bcdeb75a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#af334c0e7dd6e434b3dbebd45bcdeb75a">DEVICE_SCREEN_Y_OFFSET</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:af334c0e7dd6e434b3dbebd45bcdeb75a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add7f32ba868ef6517798f5fce337e4b2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#add7f32ba868ef6517798f5fce337e4b2">DEVICE_SCREEN_WIDTH</a>&#160;&#160;&#160;32</td></tr>
<tr class="separator:add7f32ba868ef6517798f5fce337e4b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad252264fdcf900e5fbf611f7a45962ed"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#ad252264fdcf900e5fbf611f7a45962ed">DEVICE_SCREEN_HEIGHT</a>&#160;&#160;&#160;30</td></tr>
<tr class="separator:ad252264fdcf900e5fbf611f7a45962ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a491dc081eae8c81e7ca88075ab806291"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a491dc081eae8c81e7ca88075ab806291">DEVICE_SCREEN_BUFFER_WIDTH</a>&#160;&#160;&#160;32</td></tr>
<tr class="separator:a491dc081eae8c81e7ca88075ab806291"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81fb56b6778772f829dab4c534e7749e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a81fb56b6778772f829dab4c534e7749e">DEVICE_SCREEN_BUFFER_HEIGHT</a>&#160;&#160;&#160;30</td></tr>
<tr class="separator:a81fb56b6778772f829dab4c534e7749e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d682ed7a6158c5ba10afec739b17a8a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a4d682ed7a6158c5ba10afec739b17a8a">DEVICE_SCREEN_MAP_ENTRY_SIZE</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a4d682ed7a6158c5ba10afec739b17a8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af531e7ac0c0a58517fa3061631745c31"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#af531e7ac0c0a58517fa3061631745c31">DEVICE_SPRITE_PX_OFFSET_X</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:af531e7ac0c0a58517fa3061631745c31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f6c8420831388300bbec13ea4cb57a0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a7f6c8420831388300bbec13ea4cb57a0">DEVICE_SPRITE_PX_OFFSET_Y</a>&#160;&#160;&#160;-1</td></tr>
<tr class="separator:a7f6c8420831388300bbec13ea4cb57a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62cb8564bf5e8cdd85ac33bc1c7896f2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a62cb8564bf5e8cdd85ac33bc1c7896f2">DEVICE_WINDOW_PX_OFFSET_X</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a62cb8564bf5e8cdd85ac33bc1c7896f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f8565ca9dc8eacd88d0d58313408329"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a3f8565ca9dc8eacd88d0d58313408329">DEVICE_WINDOW_PX_OFFSET_Y</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a3f8565ca9dc8eacd88d0d58313408329"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad14c51cdfb347c34c364f54e67dc978d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d">DEVICE_SCREEN_PX_WIDTH</a>&#160;&#160;&#160;(<a class="el" href="nes_2hardware_8h.html#add7f32ba868ef6517798f5fce337e4b2">DEVICE_SCREEN_WIDTH</a> * 8)</td></tr>
<tr class="separator:ad14c51cdfb347c34c364f54e67dc978d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bd450aa268b881257089cf8cd6697ec"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec">DEVICE_SCREEN_PX_HEIGHT</a>&#160;&#160;&#160;(<a class="el" href="nes_2hardware_8h.html#ad252264fdcf900e5fbf611f7a45962ed">DEVICE_SCREEN_HEIGHT</a> * 8)</td></tr>
<tr class="separator:a7bd450aa268b881257089cf8cd6697ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a5f02ccf1491e0ff70833ac35d83cb814"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a5f02ccf1491e0ff70833ac35d83cb814">__REG</a> (0x2000) PPUCTRL</td></tr>
<tr class="separator:a5f02ccf1491e0ff70833ac35d83cb814"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a06f6bfe5466b54fcffb30e1fe657e5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a6a06f6bfe5466b54fcffb30e1fe657e5">__REG</a> (0x2001) PPUMASK</td></tr>
<tr class="separator:a6a06f6bfe5466b54fcffb30e1fe657e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a922873e2061c4bb9dc81c2888b6ec006"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a922873e2061c4bb9dc81c2888b6ec006">__REG</a> (0x2002) PPUSTATUS</td></tr>
<tr class="separator:a922873e2061c4bb9dc81c2888b6ec006"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49def3011c577712d7b1f28a39d95c5d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a49def3011c577712d7b1f28a39d95c5d">__REG</a> (0x2003) OAMADDR</td></tr>
<tr class="separator:a49def3011c577712d7b1f28a39d95c5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e3f1838c5af00b194772c6d02b5808a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a8e3f1838c5af00b194772c6d02b5808a">__REG</a> (0x2004) OAMDATA</td></tr>
<tr class="separator:a8e3f1838c5af00b194772c6d02b5808a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80603593390422b6f3d40fa7cf861b16"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a80603593390422b6f3d40fa7cf861b16">__REG</a> (0x2005) PPUSCROLL</td></tr>
<tr class="separator:a80603593390422b6f3d40fa7cf861b16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dea727962e32b701a7894c5b938fbda"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a8dea727962e32b701a7894c5b938fbda">__REG</a> (0x2006) PPUADDR</td></tr>
<tr class="separator:a8dea727962e32b701a7894c5b938fbda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1833135b570bb325c30ca1d5720682d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#aa1833135b570bb325c30ca1d5720682d">__REG</a> (0x2007) PPUDATA</td></tr>
<tr class="separator:aa1833135b570bb325c30ca1d5720682d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa5336aa76cfcbe00fc5dab15549bc23"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#afa5336aa76cfcbe00fc5dab15549bc23">__REG</a> (0x4014) OAMDMA</td></tr>
<tr class="separator:afa5336aa76cfcbe00fc5dab15549bc23"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ae7753ae877137d76083b660aea9526b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="nes_2hardware_8h.html#ae61804714a30560fb686c9e5217e54f3">__SHADOW_REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#ae7753ae877137d76083b660aea9526b7">shadow_PPUCTRL</a></td></tr>
<tr class="separator:ae7753ae877137d76083b660aea9526b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a179ba142ebf05f2d0d2df6c47da2f6b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="nes_2hardware_8h.html#ae61804714a30560fb686c9e5217e54f3">__SHADOW_REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a179ba142ebf05f2d0d2df6c47da2f6b4">shadow_PPUMASK</a></td></tr>
<tr class="separator:a179ba142ebf05f2d0d2df6c47da2f6b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a406100d23af09b16e4b43a2d0eefe741"><td class="memItemLeft" align="right" valign="top"><a class="el" href="nes_2hardware_8h.html#ae61804714a30560fb686c9e5217e54f3">__SHADOW_REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a406100d23af09b16e4b43a2d0eefe741">bkg_scroll_x</a></td></tr>
<tr class="separator:a406100d23af09b16e4b43a2d0eefe741"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6629a16788cf8cc495555d7fae64d9f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="nes_2hardware_8h.html#ae61804714a30560fb686c9e5217e54f3">__SHADOW_REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#ad6629a16788cf8cc495555d7fae64d9f">bkg_scroll_y</a></td></tr>
<tr class="separator:ad6629a16788cf8cc495555d7fae64d9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Defines that let the NES hardware registers be accessed from C. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ae61804714a30560fb686c9e5217e54f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae61804714a30560fb686c9e5217e54f3">&#9670;&nbsp;</a></span>__SHADOW_REG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define __SHADOW_REG&#160;&#160;&#160;extern volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1053e08ff700b39d8bdc370ff4d18a34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1053e08ff700b39d8bdc370ff4d18a34">&#9670;&nbsp;</a></span>__REG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define __REG</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">addr</td><td>)</td>
<td>&#160;&#160;&#160;volatile __at (addr) <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad4195c2da9cc37e948b779a3bba574da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4195c2da9cc37e948b779a3bba574da">&#9670;&nbsp;</a></span>PPUCTRL_NMI</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUCTRL_NMI&#160;&#160;&#160;0b10000000</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1912c130a459dc70b7814721e62853f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1912c130a459dc70b7814721e62853f3">&#9670;&nbsp;</a></span>PPUCTRL_SPR_8X8</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUCTRL_SPR_8X8&#160;&#160;&#160;0b00000000</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6d712a8ba6ec86c2937aeb1b8b36f340"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d712a8ba6ec86c2937aeb1b8b36f340">&#9670;&nbsp;</a></span>PPUCTRL_SPR_8X16</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUCTRL_SPR_8X16&#160;&#160;&#160;0b00100000</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8a693ef1e7481e9d66811dc6848e5575"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a693ef1e7481e9d66811dc6848e5575">&#9670;&nbsp;</a></span>PPUCTRL_BG_CHR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUCTRL_BG_CHR&#160;&#160;&#160;0b00010000</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab3147e0e9e56b86bebba0bcf1c7609af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3147e0e9e56b86bebba0bcf1c7609af">&#9670;&nbsp;</a></span>PPUCTRL_SPR_CHR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUCTRL_SPR_CHR&#160;&#160;&#160;0b00001000</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5709b6a188c2042aa32a4d4abe9f619a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5709b6a188c2042aa32a4d4abe9f619a">&#9670;&nbsp;</a></span>PPUCTRL_INC32</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUCTRL_INC32&#160;&#160;&#160;0b00000100</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2c924ea42b8f571a6461bf6d42167491"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c924ea42b8f571a6461bf6d42167491">&#9670;&nbsp;</a></span>PPUMASK_BLUE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUMASK_BLUE&#160;&#160;&#160;0b10000000</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a32c11331376cfa653f9d66571382d430"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32c11331376cfa653f9d66571382d430">&#9670;&nbsp;</a></span>PPUMASK_RED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUMASK_RED&#160;&#160;&#160;0b01000000</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="adb6fcefb52ab83fe8aeeafe033391f94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb6fcefb52ab83fe8aeeafe033391f94">&#9670;&nbsp;</a></span>PPUMASK_GREEN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUMASK_GREEN&#160;&#160;&#160;0b00100000</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a73dfa1e321b7b5a3835450c0382f7779"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73dfa1e321b7b5a3835450c0382f7779">&#9670;&nbsp;</a></span>PPUMASK_SHOW_SPR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUMASK_SHOW_SPR&#160;&#160;&#160;0b00010000</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aaf30bd58f6f863e21f605957d547bdd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf30bd58f6f863e21f605957d547bdd7">&#9670;&nbsp;</a></span>PPUMASK_SHOW_BG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUMASK_SHOW_BG&#160;&#160;&#160;0b00001000</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="add0805a7bbaa88cf568f7a8fa7eb252c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add0805a7bbaa88cf568f7a8fa7eb252c">&#9670;&nbsp;</a></span>PPUMASK_SHOW_SPR_LC</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUMASK_SHOW_SPR_LC&#160;&#160;&#160;0b00000100</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0921fb5a3bfa138b479df91189d51f1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0921fb5a3bfa138b479df91189d51f1c">&#9670;&nbsp;</a></span>PPUMASK_SHOW_BG_LC</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUMASK_SHOW_BG_LC&#160;&#160;&#160;0b00000010</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4358b756ed8f83ee57451a4428a11829"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4358b756ed8f83ee57451a4428a11829">&#9670;&nbsp;</a></span>PPUMASK_MONOCHROME</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PPUMASK_MONOCHROME&#160;&#160;&#160;0b00000001</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a519e327cac96f68a8ca9b77e0343672f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a519e327cac96f68a8ca9b77e0343672f">&#9670;&nbsp;</a></span>DEVICE_SCREEN_X_OFFSET</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEVICE_SCREEN_X_OFFSET&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af334c0e7dd6e434b3dbebd45bcdeb75a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af334c0e7dd6e434b3dbebd45bcdeb75a">&#9670;&nbsp;</a></span>DEVICE_SCREEN_Y_OFFSET</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEVICE_SCREEN_Y_OFFSET&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="add7f32ba868ef6517798f5fce337e4b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add7f32ba868ef6517798f5fce337e4b2">&#9670;&nbsp;</a></span>DEVICE_SCREEN_WIDTH</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEVICE_SCREEN_WIDTH&#160;&#160;&#160;32</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad252264fdcf900e5fbf611f7a45962ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad252264fdcf900e5fbf611f7a45962ed">&#9670;&nbsp;</a></span>DEVICE_SCREEN_HEIGHT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEVICE_SCREEN_HEIGHT&#160;&#160;&#160;30</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a491dc081eae8c81e7ca88075ab806291"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a491dc081eae8c81e7ca88075ab806291">&#9670;&nbsp;</a></span>DEVICE_SCREEN_BUFFER_WIDTH</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEVICE_SCREEN_BUFFER_WIDTH&#160;&#160;&#160;32</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a81fb56b6778772f829dab4c534e7749e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81fb56b6778772f829dab4c534e7749e">&#9670;&nbsp;</a></span>DEVICE_SCREEN_BUFFER_HEIGHT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEVICE_SCREEN_BUFFER_HEIGHT&#160;&#160;&#160;30</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4d682ed7a6158c5ba10afec739b17a8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d682ed7a6158c5ba10afec739b17a8a">&#9670;&nbsp;</a></span>DEVICE_SCREEN_MAP_ENTRY_SIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEVICE_SCREEN_MAP_ENTRY_SIZE&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af531e7ac0c0a58517fa3061631745c31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af531e7ac0c0a58517fa3061631745c31">&#9670;&nbsp;</a></span>DEVICE_SPRITE_PX_OFFSET_X</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEVICE_SPRITE_PX_OFFSET_X&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7f6c8420831388300bbec13ea4cb57a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f6c8420831388300bbec13ea4cb57a0">&#9670;&nbsp;</a></span>DEVICE_SPRITE_PX_OFFSET_Y</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEVICE_SPRITE_PX_OFFSET_Y&#160;&#160;&#160;-1</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a62cb8564bf5e8cdd85ac33bc1c7896f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62cb8564bf5e8cdd85ac33bc1c7896f2">&#9670;&nbsp;</a></span>DEVICE_WINDOW_PX_OFFSET_X</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEVICE_WINDOW_PX_OFFSET_X&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3f8565ca9dc8eacd88d0d58313408329"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f8565ca9dc8eacd88d0d58313408329">&#9670;&nbsp;</a></span>DEVICE_WINDOW_PX_OFFSET_Y</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEVICE_WINDOW_PX_OFFSET_Y&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad14c51cdfb347c34c364f54e67dc978d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad14c51cdfb347c34c364f54e67dc978d">&#9670;&nbsp;</a></span>DEVICE_SCREEN_PX_WIDTH</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEVICE_SCREEN_PX_WIDTH&#160;&#160;&#160;(<a class="el" href="nes_2hardware_8h.html#add7f32ba868ef6517798f5fce337e4b2">DEVICE_SCREEN_WIDTH</a> * 8)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7bd450aa268b881257089cf8cd6697ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bd450aa268b881257089cf8cd6697ec">&#9670;&nbsp;</a></span>DEVICE_SCREEN_PX_HEIGHT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEVICE_SCREEN_PX_HEIGHT&#160;&#160;&#160;(<a class="el" href="nes_2hardware_8h.html#ad252264fdcf900e5fbf611f7a45962ed">DEVICE_SCREEN_HEIGHT</a> * 8)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a5f02ccf1491e0ff70833ac35d83cb814"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f02ccf1491e0ff70833ac35d83cb814">&#9670;&nbsp;</a></span>__REG() <span class="overload">[1/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__REG </td>
<td>(</td>
<td class="paramtype">0x2000&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6a06f6bfe5466b54fcffb30e1fe657e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a06f6bfe5466b54fcffb30e1fe657e5">&#9670;&nbsp;</a></span>__REG() <span class="overload">[2/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__REG </td>
<td>(</td>
<td class="paramtype">0x2001&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a922873e2061c4bb9dc81c2888b6ec006"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a922873e2061c4bb9dc81c2888b6ec006">&#9670;&nbsp;</a></span>__REG() <span class="overload">[3/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__REG </td>
<td>(</td>
<td class="paramtype">0x2002&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a49def3011c577712d7b1f28a39d95c5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49def3011c577712d7b1f28a39d95c5d">&#9670;&nbsp;</a></span>__REG() <span class="overload">[4/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__REG </td>
<td>(</td>
<td class="paramtype">0x2003&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8e3f1838c5af00b194772c6d02b5808a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e3f1838c5af00b194772c6d02b5808a">&#9670;&nbsp;</a></span>__REG() <span class="overload">[5/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__REG </td>
<td>(</td>
<td class="paramtype">0x2004&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a80603593390422b6f3d40fa7cf861b16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80603593390422b6f3d40fa7cf861b16">&#9670;&nbsp;</a></span>__REG() <span class="overload">[6/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__REG </td>
<td>(</td>
<td class="paramtype">0x2005&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8dea727962e32b701a7894c5b938fbda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8dea727962e32b701a7894c5b938fbda">&#9670;&nbsp;</a></span>__REG() <span class="overload">[7/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__REG </td>
<td>(</td>
<td class="paramtype">0x2006&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa1833135b570bb325c30ca1d5720682d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1833135b570bb325c30ca1d5720682d">&#9670;&nbsp;</a></span>__REG() <span class="overload">[8/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__REG </td>
<td>(</td>
<td class="paramtype">0x2007&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afa5336aa76cfcbe00fc5dab15549bc23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa5336aa76cfcbe00fc5dab15549bc23">&#9670;&nbsp;</a></span>__REG() <span class="overload">[9/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__REG </td>
<td>(</td>
<td class="paramtype">0x4014&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="ae7753ae877137d76083b660aea9526b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7753ae877137d76083b660aea9526b7">&#9670;&nbsp;</a></span>shadow_PPUCTRL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="nes_2hardware_8h.html#ae61804714a30560fb686c9e5217e54f3">__SHADOW_REG</a> shadow_PPUCTRL</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a179ba142ebf05f2d0d2df6c47da2f6b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a179ba142ebf05f2d0d2df6c47da2f6b4">&#9670;&nbsp;</a></span>shadow_PPUMASK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="nes_2hardware_8h.html#ae61804714a30560fb686c9e5217e54f3">__SHADOW_REG</a> shadow_PPUMASK</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a406100d23af09b16e4b43a2d0eefe741"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a406100d23af09b16e4b43a2d0eefe741">&#9670;&nbsp;</a></span>bkg_scroll_x</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="nes_2hardware_8h.html#ae61804714a30560fb686c9e5217e54f3">__SHADOW_REG</a> bkg_scroll_x</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad6629a16788cf8cc495555d7fae64d9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6629a16788cf8cc495555d7fae64d9f">&#9670;&nbsp;</a></span>bkg_scroll_y</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="nes_2hardware_8h.html#ae61804714a30560fb686c9e5217e54f3">__SHADOW_REG</a> bkg_scroll_y</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
</div>
</body>
</html>