Files
gbdk-2020/docs/api/nes_2hardware_8h.html
2025-05-09 23:47:16 -07:00

1058 lines
53 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.4.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>
<tr class="memitem:ac94ac39616b51ba3fe8114184c27835c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#ac94ac39616b51ba3fe8114184c27835c">SCY_REG</a>&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#ad6629a16788cf8cc495555d7fae64d9f">bkg_scroll_y</a></td></tr>
<tr class="separator:ac94ac39616b51ba3fe8114184c27835c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2537c13699429afa59a68c6d6598632"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#ad2537c13699429afa59a68c6d6598632">rSCY</a>&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a></td></tr>
<tr class="separator:ad2537c13699429afa59a68c6d6598632"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8abfeb955f7ba9712a82059258acb9c4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a8abfeb955f7ba9712a82059258acb9c4">SCX_REG</a>&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#a406100d23af09b16e4b43a2d0eefe741">bkg_scroll_x</a></td></tr>
<tr class="separator:a8abfeb955f7ba9712a82059258acb9c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97932e023d96ece4715802b6c2565c43"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a97932e023d96ece4715802b6c2565c43">rSCX</a>&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a></td></tr>
<tr class="separator:a97932e023d96ece4715802b6c2565c43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2aa15a7abee74b48af77f2730130d5e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#ae2aa15a7abee74b48af77f2730130d5e">LY_REG</a>&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#a8c89d860d9de0e33d79f13944699ddd7">_lcd_scanline</a></td></tr>
<tr class="separator:ae2aa15a7abee74b48af77f2730130d5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa851dae67d0bb80c17415774558d985f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#aa851dae67d0bb80c17415774558d985f">rLY</a>&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7">LY_REG</a></td></tr>
<tr class="separator:aa851dae67d0bb80c17415774558d985f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6b2d3e024863233f59041b1b931d1ea"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#ab6b2d3e024863233f59041b1b931d1ea">LYC_REG</a>&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#a8c89d860d9de0e33d79f13944699ddd7">_lcd_scanline</a></td></tr>
<tr class="separator:ab6b2d3e024863233f59041b1b931d1ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92083741d31c9b2206b403e97124cbdc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a92083741d31c9b2206b403e97124cbdc">rLYC</a>&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae">LYC_REG</a></td></tr>
<tr class="separator:a92083741d31c9b2206b403e97124cbdc"><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>
<tr class="memitem:a8c89d860d9de0e33d79f13944699ddd7"><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#a8c89d860d9de0e33d79f13944699ddd7">_lcd_scanline</a></td></tr>
<tr class="separator:a8c89d860d9de0e33d79f13944699ddd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4741a62d05deefc649df160baca326dd"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a4741a62d05deefc649df160baca326dd">TIMA_REG</a></td></tr>
<tr class="separator:a4741a62d05deefc649df160baca326dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a555981cd27ce7cf2057c88890208e569"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#a555981cd27ce7cf2057c88890208e569">TMA_REG</a></td></tr>
<tr class="separator:a555981cd27ce7cf2057c88890208e569"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc3c7d0fe4256fd16fe86c1b6386720f"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#adc3c7d0fe4256fd16fe86c1b6386720f">TAC_REG</a></td></tr>
<tr class="separator:adc3c7d0fe4256fd16fe86c1b6386720f"><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>
<a id="ac94ac39616b51ba3fe8114184c27835c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac94ac39616b51ba3fe8114184c27835c">&#9670;&nbsp;</a></span>SCY_REG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SCY_REG&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#ad6629a16788cf8cc495555d7fae64d9f">bkg_scroll_y</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Scroll Y </p>
</div>
</div>
<a id="ad2537c13699429afa59a68c6d6598632"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2537c13699429afa59a68c6d6598632">&#9670;&nbsp;</a></span>rSCY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define rSCY&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8abfeb955f7ba9712a82059258acb9c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8abfeb955f7ba9712a82059258acb9c4">&#9670;&nbsp;</a></span>SCX_REG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SCX_REG&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#a406100d23af09b16e4b43a2d0eefe741">bkg_scroll_x</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Scroll X </p>
</div>
</div>
<a id="a97932e023d96ece4715802b6c2565c43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97932e023d96ece4715802b6c2565c43">&#9670;&nbsp;</a></span>rSCX</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define rSCX&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae2aa15a7abee74b48af77f2730130d5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2aa15a7abee74b48af77f2730130d5e">&#9670;&nbsp;</a></span>LY_REG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LY_REG&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#a8c89d860d9de0e33d79f13944699ddd7">_lcd_scanline</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LCDC Y-coordinate </p>
</div>
</div>
<a id="aa851dae67d0bb80c17415774558d985f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa851dae67d0bb80c17415774558d985f">&#9670;&nbsp;</a></span>rLY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define rLY&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7">LY_REG</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab6b2d3e024863233f59041b1b931d1ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6b2d3e024863233f59041b1b931d1ea">&#9670;&nbsp;</a></span>LYC_REG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LYC_REG&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#a8c89d860d9de0e33d79f13944699ddd7">_lcd_scanline</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LY compare </p>
</div>
</div>
<a id="a92083741d31c9b2206b403e97124cbdc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92083741d31c9b2206b403e97124cbdc">&#9670;&nbsp;</a></span>rLYC</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define rLYC&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae">LYC_REG</a></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>
<a id="a8c89d860d9de0e33d79f13944699ddd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c89d860d9de0e33d79f13944699ddd7">&#9670;&nbsp;</a></span>_lcd_scanline</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> _lcd_scanline</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4741a62d05deefc649df160baca326dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4741a62d05deefc649df160baca326dd">&#9670;&nbsp;</a></span>TIMA_REG</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">volatile <a class="el" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> TIMA_REG</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Timer counter </p>
</div>
</div>
<a id="a555981cd27ce7cf2057c88890208e569"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a555981cd27ce7cf2057c88890208e569">&#9670;&nbsp;</a></span>TMA_REG</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">volatile <a class="el" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> TMA_REG</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Timer modulo </p>
</div>
</div>
<a id="adc3c7d0fe4256fd16fe86c1b6386720f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc3c7d0fe4256fd16fe86c1b6386720f">&#9670;&nbsp;</a></span>TAC_REG</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">volatile <a class="el" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> TAC_REG</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Timer control </p>
</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>