git.y1.nz

gbdk-2020

GameBoy Development Kit
download: https://git.y1.nz/archives/gbdk.tar.gz
README | Files | Log | Refs | LICENSE

docs/api/nes_2hardware_8h.html

      1 <!-- HTML header for doxygen 1.8.14-->
      2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      3 <html xmlns="http://www.w3.org/1999/xhtml">
      4 <head>
      5 <meta http-equiv="cache-control" content="max-age=86400"/>
      6 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
      7 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
      8 <meta name="generator" content="Doxygen 1.9.2"/>
      9 <meta name="viewport" content="width=device-width, initial-scale=1"/>
     10 <title>GBDK 2020 Docs: gbdk-lib/include/nes/hardware.h File Reference</title>
     11 <link href="tabs.css" rel="stylesheet" type="text/css"/>
     12 <script type="text/javascript" src="jquery.js"></script>
     13 <script type="text/javascript" src="dynsections.js"></script>
     14 <link href="navtree.css" rel="stylesheet" type="text/css"/>
     15 <script type="text/javascript" src="resize.js"></script>
     16 <script type="text/javascript" src="navtreedata.js"></script>
     17 <script type="text/javascript" src="navtree.js"></script>
     18 <link href="search/search.css" rel="stylesheet" type="text/css"/>
     19 <script type="text/javascript" src="search/searchdata.js"></script>
     20 <script type="text/javascript" src="search/search.js"></script>
     21 <link href="doxygen.css" rel="stylesheet" type="text/css" />
     22 <link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
     23 <link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
     24 <link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
     25 <!-- BEGIN: doxygen-awesome-css -->
     26         <script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
     27         <script type="text/javascript">
     28             DoxygenAwesomeDarkModeToggle.init()
     29         </script>
     30         <script type="text/javascript" src="doxygen-awesome-paragraph-link.js"></script>
     31         <script type="text/javascript">
     32             DoxygenAwesomeParagraphLink.init()
     33         </script>        
     34 <!-- END: doxygen-awesome-css -->
     35 </head>
     36 <body>
     37 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
     38 <div id="titlearea">
     39 <table cellspacing="0" cellpadding="0">
     40  <tbody>
     41  <tr style="height: 56px;">
     42   <td id="projectalign" style="padding-left: 0.5em;">
     43    <div id="projectname">GBDK 2020 Docs
     44    &#160;<span id="projectnumber">4.5.0</span>
     45    </div>
     46    <div id="projectbrief">API Documentation for GBDK 2020</div>
     47   </td>
     48  </tr>
     49  </tbody>
     50 </table>
     51 </div>
     52 <!-- end header part -->
     53 <!-- Generated by Doxygen 1.9.2 -->
     54 <script type="text/javascript">
     55 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
     56 var searchBox = new SearchBox("searchBox", "search",'Search','.html');
     57 /* @license-end */
     58 </script>
     59 <script type="text/javascript" src="menudata.js"></script>
     60 <script type="text/javascript" src="menu.js"></script>
     61 <script type="text/javascript">
     62 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
     63 $(function() {
     64   initMenu('',true,false,'search.php','Search');
     65   $(document).ready(function() { init_search(); });
     66 });
     67 /* @license-end */
     68 </script>
     69 <div id="main-nav"></div>
     70 </div><!-- top -->
     71 <div id="side-nav" class="ui-resizable side-nav-resizable">
     72   <div id="nav-tree">
     73     <div id="nav-tree-contents">
     74       <div id="nav-sync" class="sync"></div>
     75     </div>
     76   </div>
     77   <div id="splitbar" style="-moz-user-select:none;" 
     78        class="ui-resizable-handle">
     79   </div>
     80 </div>
     81 <script type="text/javascript">
     82 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
     83 $(document).ready(function(){initNavTree('nes_2hardware_8h.html',''); initResizable(); });
     84 /* @license-end */
     85 </script>
     86 <div id="doc-content">
     87 <!-- window showing the filter options -->
     88 <div id="MSearchSelectWindow"
     89      onmouseover="return searchBox.OnSearchSelectShow()"
     90      onmouseout="return searchBox.OnSearchSelectHide()"
     91      onkeydown="return searchBox.OnSearchSelectKey(event)">
     92 </div>
     93 
     94 <!-- iframe showing the search results (closed by default) -->
     95 <div id="MSearchResultsWindow">
     96 <iframe src="javascript:void(0)" frameborder="0" 
     97         name="MSearchResults" id="MSearchResults">
     98 </iframe>
     99 </div>
    100 
    101 <div class="header">
    102   <div class="summary">
    103 <a href="#define-members">Macros</a> &#124;
    104 <a href="#typedef-members">Typedefs</a> &#124;
    105 <a href="#func-members">Functions</a> &#124;
    106 <a href="#var-members">Variables</a>  </div>
    107   <div class="headertitle"><div class="title">hardware.h File Reference</div></div>
    108 </div><!--header-->
    109 <div class="contents">
    110 <div class="textblock"><code>#include &lt;types.h&gt;</code><br />
    111 </div>
    112 <p><a href="nes_2hardware_8h_source.html">Go to the source code of this file.</a></p>
    113 <table class="memberdecls">
    114 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
    115 Macros</h2></td></tr>
    116 <tr class="memitem:__SHADOW_REG"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#__SHADOW_REG">__SHADOW_REG</a>&#160;&#160;&#160;extern volatile <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a></td></tr>
    117 <tr class="separator:__SHADOW_REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    118 <tr class="memitem:__REG"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#__REG">__REG</a>(addr)&#160;&#160;&#160;volatile __at (addr) <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a></td></tr>
    119 <tr class="separator:__REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    120 <tr class="memitem:PPUCTRL_NMI"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUCTRL_NMI">PPUCTRL_NMI</a>&#160;&#160;&#160;0b10000000</td></tr>
    121 <tr class="separator:PPUCTRL_NMI"><td class="memSeparator" colspan="2">&#160;</td></tr>
    122 <tr class="memitem:PPUCTRL_SPR_8X8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUCTRL_SPR_8X8">PPUCTRL_SPR_8X8</a>&#160;&#160;&#160;0b00000000</td></tr>
    123 <tr class="separator:PPUCTRL_SPR_8X8"><td class="memSeparator" colspan="2">&#160;</td></tr>
    124 <tr class="memitem:PPUCTRL_SPR_8X16"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUCTRL_SPR_8X16">PPUCTRL_SPR_8X16</a>&#160;&#160;&#160;0b00100000</td></tr>
    125 <tr class="separator:PPUCTRL_SPR_8X16"><td class="memSeparator" colspan="2">&#160;</td></tr>
    126 <tr class="memitem:PPUCTRL_BG_CHR"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUCTRL_BG_CHR">PPUCTRL_BG_CHR</a>&#160;&#160;&#160;0b00010000</td></tr>
    127 <tr class="separator:PPUCTRL_BG_CHR"><td class="memSeparator" colspan="2">&#160;</td></tr>
    128 <tr class="memitem:PPUCTRL_SPR_CHR"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUCTRL_SPR_CHR">PPUCTRL_SPR_CHR</a>&#160;&#160;&#160;0b00001000</td></tr>
    129 <tr class="separator:PPUCTRL_SPR_CHR"><td class="memSeparator" colspan="2">&#160;</td></tr>
    130 <tr class="memitem:PPUCTRL_INC32"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUCTRL_INC32">PPUCTRL_INC32</a>&#160;&#160;&#160;0b00000100</td></tr>
    131 <tr class="separator:PPUCTRL_INC32"><td class="memSeparator" colspan="2">&#160;</td></tr>
    132 <tr class="memitem:PPUMASK_BLUE"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUMASK_BLUE">PPUMASK_BLUE</a>&#160;&#160;&#160;0b10000000</td></tr>
    133 <tr class="separator:PPUMASK_BLUE"><td class="memSeparator" colspan="2">&#160;</td></tr>
    134 <tr class="memitem:PPUMASK_RED"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUMASK_RED">PPUMASK_RED</a>&#160;&#160;&#160;0b01000000</td></tr>
    135 <tr class="separator:PPUMASK_RED"><td class="memSeparator" colspan="2">&#160;</td></tr>
    136 <tr class="memitem:PPUMASK_GREEN"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUMASK_GREEN">PPUMASK_GREEN</a>&#160;&#160;&#160;0b00100000</td></tr>
    137 <tr class="separator:PPUMASK_GREEN"><td class="memSeparator" colspan="2">&#160;</td></tr>
    138 <tr class="memitem:PPUMASK_SHOW_SPR"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUMASK_SHOW_SPR">PPUMASK_SHOW_SPR</a>&#160;&#160;&#160;0b00010000</td></tr>
    139 <tr class="separator:PPUMASK_SHOW_SPR"><td class="memSeparator" colspan="2">&#160;</td></tr>
    140 <tr class="memitem:PPUMASK_SHOW_BG"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUMASK_SHOW_BG">PPUMASK_SHOW_BG</a>&#160;&#160;&#160;0b00001000</td></tr>
    141 <tr class="separator:PPUMASK_SHOW_BG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    142 <tr class="memitem:PPUMASK_SHOW_SPR_LC"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUMASK_SHOW_SPR_LC">PPUMASK_SHOW_SPR_LC</a>&#160;&#160;&#160;0b00000100</td></tr>
    143 <tr class="separator:PPUMASK_SHOW_SPR_LC"><td class="memSeparator" colspan="2">&#160;</td></tr>
    144 <tr class="memitem:PPUMASK_SHOW_BG_LC"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUMASK_SHOW_BG_LC">PPUMASK_SHOW_BG_LC</a>&#160;&#160;&#160;0b00000010</td></tr>
    145 <tr class="separator:PPUMASK_SHOW_BG_LC"><td class="memSeparator" colspan="2">&#160;</td></tr>
    146 <tr class="memitem:PPUMASK_MONOCHROME"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#PPUMASK_MONOCHROME">PPUMASK_MONOCHROME</a>&#160;&#160;&#160;0b00000001</td></tr>
    147 <tr class="separator:PPUMASK_MONOCHROME"><td class="memSeparator" colspan="2">&#160;</td></tr>
    148 <tr class="memitem:DEVICE_SCREEN_X_OFFSET"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#DEVICE_SCREEN_X_OFFSET">DEVICE_SCREEN_X_OFFSET</a>&#160;&#160;&#160;0</td></tr>
    149 <tr class="separator:DEVICE_SCREEN_X_OFFSET"><td class="memSeparator" colspan="2">&#160;</td></tr>
    150 <tr class="memitem:DEVICE_SCREEN_Y_OFFSET"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#DEVICE_SCREEN_Y_OFFSET">DEVICE_SCREEN_Y_OFFSET</a>&#160;&#160;&#160;0</td></tr>
    151 <tr class="separator:DEVICE_SCREEN_Y_OFFSET"><td class="memSeparator" colspan="2">&#160;</td></tr>
    152 <tr class="memitem:DEVICE_SCREEN_WIDTH"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#DEVICE_SCREEN_WIDTH">DEVICE_SCREEN_WIDTH</a>&#160;&#160;&#160;32</td></tr>
    153 <tr class="separator:DEVICE_SCREEN_WIDTH"><td class="memSeparator" colspan="2">&#160;</td></tr>
    154 <tr class="memitem:DEVICE_SCREEN_HEIGHT"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#DEVICE_SCREEN_HEIGHT">DEVICE_SCREEN_HEIGHT</a>&#160;&#160;&#160;30</td></tr>
    155 <tr class="separator:DEVICE_SCREEN_HEIGHT"><td class="memSeparator" colspan="2">&#160;</td></tr>
    156 <tr class="memitem:DEVICE_SCREEN_BUFFER_WIDTH"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#DEVICE_SCREEN_BUFFER_WIDTH">DEVICE_SCREEN_BUFFER_WIDTH</a>&#160;&#160;&#160;32</td></tr>
    157 <tr class="separator:DEVICE_SCREEN_BUFFER_WIDTH"><td class="memSeparator" colspan="2">&#160;</td></tr>
    158 <tr class="memitem:DEVICE_SCREEN_BUFFER_HEIGHT"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#DEVICE_SCREEN_BUFFER_HEIGHT">DEVICE_SCREEN_BUFFER_HEIGHT</a>&#160;&#160;&#160;30</td></tr>
    159 <tr class="separator:DEVICE_SCREEN_BUFFER_HEIGHT"><td class="memSeparator" colspan="2">&#160;</td></tr>
    160 <tr class="memitem:DEVICE_SCREEN_MAP_ENTRY_SIZE"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#DEVICE_SCREEN_MAP_ENTRY_SIZE">DEVICE_SCREEN_MAP_ENTRY_SIZE</a>&#160;&#160;&#160;1</td></tr>
    161 <tr class="separator:DEVICE_SCREEN_MAP_ENTRY_SIZE"><td class="memSeparator" colspan="2">&#160;</td></tr>
    162 <tr class="memitem:DEVICE_SPRITE_PX_OFFSET_X"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#DEVICE_SPRITE_PX_OFFSET_X">DEVICE_SPRITE_PX_OFFSET_X</a>&#160;&#160;&#160;0</td></tr>
    163 <tr class="separator:DEVICE_SPRITE_PX_OFFSET_X"><td class="memSeparator" colspan="2">&#160;</td></tr>
    164 <tr class="memitem:DEVICE_SPRITE_PX_OFFSET_Y"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#DEVICE_SPRITE_PX_OFFSET_Y">DEVICE_SPRITE_PX_OFFSET_Y</a>&#160;&#160;&#160;-1</td></tr>
    165 <tr class="separator:DEVICE_SPRITE_PX_OFFSET_Y"><td class="memSeparator" colspan="2">&#160;</td></tr>
    166 <tr class="memitem:DEVICE_WINDOW_PX_OFFSET_X"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#DEVICE_WINDOW_PX_OFFSET_X">DEVICE_WINDOW_PX_OFFSET_X</a>&#160;&#160;&#160;0</td></tr>
    167 <tr class="separator:DEVICE_WINDOW_PX_OFFSET_X"><td class="memSeparator" colspan="2">&#160;</td></tr>
    168 <tr class="memitem:DEVICE_WINDOW_PX_OFFSET_Y"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#DEVICE_WINDOW_PX_OFFSET_Y">DEVICE_WINDOW_PX_OFFSET_Y</a>&#160;&#160;&#160;0</td></tr>
    169 <tr class="separator:DEVICE_WINDOW_PX_OFFSET_Y"><td class="memSeparator" colspan="2">&#160;</td></tr>
    170 <tr class="memitem:DEVICE_SCREEN_PX_WIDTH"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#DEVICE_SCREEN_PX_WIDTH">DEVICE_SCREEN_PX_WIDTH</a>&#160;&#160;&#160;(<a class="el" href="nes_2hardware_8h.html#DEVICE_SCREEN_WIDTH">DEVICE_SCREEN_WIDTH</a> * 8)</td></tr>
    171 <tr class="separator:DEVICE_SCREEN_PX_WIDTH"><td class="memSeparator" colspan="2">&#160;</td></tr>
    172 <tr class="memitem:DEVICE_SCREEN_PX_HEIGHT"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#DEVICE_SCREEN_PX_HEIGHT">DEVICE_SCREEN_PX_HEIGHT</a>&#160;&#160;&#160;(<a class="el" href="nes_2hardware_8h.html#DEVICE_SCREEN_HEIGHT">DEVICE_SCREEN_HEIGHT</a> * 8)</td></tr>
    173 <tr class="separator:DEVICE_SCREEN_PX_HEIGHT"><td class="memSeparator" colspan="2">&#160;</td></tr>
    174 <tr class="memitem:SCY_REG"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#SCY_REG">SCY_REG</a>&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#bkg_scroll_y">bkg_scroll_y</a></td></tr>
    175 <tr class="separator:SCY_REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    176 <tr class="memitem:rSCY"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#rSCY">rSCY</a>&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#SCY_REG">SCY_REG</a></td></tr>
    177 <tr class="separator:rSCY"><td class="memSeparator" colspan="2">&#160;</td></tr>
    178 <tr class="memitem:SCX_REG"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#SCX_REG">SCX_REG</a>&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#bkg_scroll_x">bkg_scroll_x</a></td></tr>
    179 <tr class="separator:SCX_REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    180 <tr class="memitem:rSCX"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#rSCX">rSCX</a>&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#SCX_REG">SCX_REG</a></td></tr>
    181 <tr class="separator:rSCX"><td class="memSeparator" colspan="2">&#160;</td></tr>
    182 <tr class="memitem:LY_REG"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#LY_REG">LY_REG</a>&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#_lcd_scanline">_lcd_scanline</a></td></tr>
    183 <tr class="separator:LY_REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    184 <tr class="memitem:rLY"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#rLY">rLY</a>&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#LY_REG">LY_REG</a></td></tr>
    185 <tr class="separator:rLY"><td class="memSeparator" colspan="2">&#160;</td></tr>
    186 <tr class="memitem:LYC_REG"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#LYC_REG">LYC_REG</a>&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#_lcd_scanline">_lcd_scanline</a></td></tr>
    187 <tr class="separator:LYC_REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    188 <tr class="memitem:rLYC"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#rLYC">rLYC</a>&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#LYC_REG">LYC_REG</a></td></tr>
    189 <tr class="separator:rLYC"><td class="memSeparator" colspan="2">&#160;</td></tr>
    190 </table><table class="memberdecls">
    191 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
    192 Typedefs</h2></td></tr>
    193 <tr class="memitem:scroll_x_t"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#scroll_x_t">scroll_x_t</a></td></tr>
    194 <tr class="separator:scroll_x_t"><td class="memSeparator" colspan="2">&#160;</td></tr>
    195 <tr class="memitem:scroll_y_t"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#scroll_y_t">scroll_y_t</a></td></tr>
    196 <tr class="separator:scroll_y_t"><td class="memSeparator" colspan="2">&#160;</td></tr>
    197 </table><table class="memberdecls">
    198 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
    199 Functions</h2></td></tr>
    200 <tr class="memitem:__REG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#__REG">__REG</a> (0x2000) PPUCTRL</td></tr>
    201 <tr class="separator:__REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    202 <tr class="memitem:__REG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#__REG">__REG</a> (0x2001) PPUMASK</td></tr>
    203 <tr class="separator:__REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    204 <tr class="memitem:__REG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#__REG">__REG</a> (0x2002) PPUSTATUS</td></tr>
    205 <tr class="separator:__REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    206 <tr class="memitem:__REG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#__REG">__REG</a> (0x2003) OAMADDR</td></tr>
    207 <tr class="separator:__REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    208 <tr class="memitem:__REG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#__REG">__REG</a> (0x2004) OAMDATA</td></tr>
    209 <tr class="separator:__REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    210 <tr class="memitem:__REG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#__REG">__REG</a> (0x2005) PPUSCROLL</td></tr>
    211 <tr class="separator:__REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    212 <tr class="memitem:__REG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#__REG">__REG</a> (0x2006) PPUADDR</td></tr>
    213 <tr class="separator:__REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    214 <tr class="memitem:__REG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#__REG">__REG</a> (0x2007) PPUDATA</td></tr>
    215 <tr class="separator:__REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    216 <tr class="memitem:__REG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#__REG">__REG</a> (0x4014) OAMDMA</td></tr>
    217 <tr class="separator:__REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    218 </table><table class="memberdecls">
    219 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
    220 Variables</h2></td></tr>
    221 <tr class="memitem:shadow_PPUCTRL"><td class="memItemLeft" align="right" valign="top"><a class="el" href="nes_2hardware_8h.html#__SHADOW_REG">__SHADOW_REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#shadow_PPUCTRL">shadow_PPUCTRL</a></td></tr>
    222 <tr class="separator:shadow_PPUCTRL"><td class="memSeparator" colspan="2">&#160;</td></tr>
    223 <tr class="memitem:shadow_PPUMASK"><td class="memItemLeft" align="right" valign="top"><a class="el" href="nes_2hardware_8h.html#__SHADOW_REG">__SHADOW_REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#shadow_PPUMASK">shadow_PPUMASK</a></td></tr>
    224 <tr class="separator:shadow_PPUMASK"><td class="memSeparator" colspan="2">&#160;</td></tr>
    225 <tr class="memitem:bkg_scroll_x"><td class="memItemLeft" align="right" valign="top"><a class="el" href="nes_2hardware_8h.html#__SHADOW_REG">__SHADOW_REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#bkg_scroll_x">bkg_scroll_x</a></td></tr>
    226 <tr class="separator:bkg_scroll_x"><td class="memSeparator" colspan="2">&#160;</td></tr>
    227 <tr class="memitem:bkg_scroll_y"><td class="memItemLeft" align="right" valign="top"><a class="el" href="nes_2hardware_8h.html#__SHADOW_REG">__SHADOW_REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#bkg_scroll_y">bkg_scroll_y</a></td></tr>
    228 <tr class="separator:bkg_scroll_y"><td class="memSeparator" colspan="2">&#160;</td></tr>
    229 <tr class="memitem:_lcd_scanline"><td class="memItemLeft" align="right" valign="top"><a class="el" href="nes_2hardware_8h.html#__SHADOW_REG">__SHADOW_REG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#_lcd_scanline">_lcd_scanline</a></td></tr>
    230 <tr class="separator:_lcd_scanline"><td class="memSeparator" colspan="2">&#160;</td></tr>
    231 <tr class="memitem:TIMA_REG"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="asm_2types_8h.html#UBYTE">UBYTE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#TIMA_REG">TIMA_REG</a></td></tr>
    232 <tr class="separator:TIMA_REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    233 <tr class="memitem:TMA_REG"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="asm_2types_8h.html#UBYTE">UBYTE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#TMA_REG">TMA_REG</a></td></tr>
    234 <tr class="separator:TMA_REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    235 <tr class="memitem:TAC_REG"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="asm_2types_8h.html#UBYTE">UBYTE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nes_2hardware_8h.html#TAC_REG">TAC_REG</a></td></tr>
    236 <tr class="separator:TAC_REG"><td class="memSeparator" colspan="2">&#160;</td></tr>
    237 </table>
    238 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
    239 <div class="textblock"><p >Defines that let the NES hardware registers be accessed from C. </p>
    240 </div><h2 class="groupheader">Macro Definition Documentation</h2>
    241 <a id="__SHADOW_REG" name="__SHADOW_REG"></a>
    242 <h2 class="memtitle"><span class="permalink"><a href="#__SHADOW_REG">&#9670;&nbsp;</a></span>__SHADOW_REG</h2>
    243 
    244 <div class="memitem">
    245 <div class="memproto">
    246       <table class="memname">
    247         <tr>
    248           <td class="memname">#define __SHADOW_REG&#160;&#160;&#160;extern volatile <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a></td>
    249         </tr>
    250       </table>
    251 </div><div class="memdoc">
    252 
    253 </div>
    254 </div>
    255 <a id="__REG" name="__REG"></a>
    256 <h2 class="memtitle"><span class="permalink"><a href="#__REG">&#9670;&nbsp;</a></span>__REG</h2>
    257 
    258 <div class="memitem">
    259 <div class="memproto">
    260       <table class="memname">
    261         <tr>
    262           <td class="memname">#define __REG</td>
    263           <td>(</td>
    264           <td class="paramtype">&#160;</td>
    265           <td class="paramname">addr</td><td>)</td>
    266           <td>&#160;&#160;&#160;volatile __at (addr) <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a></td>
    267         </tr>
    268       </table>
    269 </div><div class="memdoc">
    270 
    271 </div>
    272 </div>
    273 <a id="PPUCTRL_NMI" name="PPUCTRL_NMI"></a>
    274 <h2 class="memtitle"><span class="permalink"><a href="#PPUCTRL_NMI">&#9670;&nbsp;</a></span>PPUCTRL_NMI</h2>
    275 
    276 <div class="memitem">
    277 <div class="memproto">
    278       <table class="memname">
    279         <tr>
    280           <td class="memname">#define PPUCTRL_NMI&#160;&#160;&#160;0b10000000</td>
    281         </tr>
    282       </table>
    283 </div><div class="memdoc">
    284 
    285 </div>
    286 </div>
    287 <a id="PPUCTRL_SPR_8X8" name="PPUCTRL_SPR_8X8"></a>
    288 <h2 class="memtitle"><span class="permalink"><a href="#PPUCTRL_SPR_8X8">&#9670;&nbsp;</a></span>PPUCTRL_SPR_8X8</h2>
    289 
    290 <div class="memitem">
    291 <div class="memproto">
    292       <table class="memname">
    293         <tr>
    294           <td class="memname">#define PPUCTRL_SPR_8X8&#160;&#160;&#160;0b00000000</td>
    295         </tr>
    296       </table>
    297 </div><div class="memdoc">
    298 
    299 </div>
    300 </div>
    301 <a id="PPUCTRL_SPR_8X16" name="PPUCTRL_SPR_8X16"></a>
    302 <h2 class="memtitle"><span class="permalink"><a href="#PPUCTRL_SPR_8X16">&#9670;&nbsp;</a></span>PPUCTRL_SPR_8X16</h2>
    303 
    304 <div class="memitem">
    305 <div class="memproto">
    306       <table class="memname">
    307         <tr>
    308           <td class="memname">#define PPUCTRL_SPR_8X16&#160;&#160;&#160;0b00100000</td>
    309         </tr>
    310       </table>
    311 </div><div class="memdoc">
    312 
    313 </div>
    314 </div>
    315 <a id="PPUCTRL_BG_CHR" name="PPUCTRL_BG_CHR"></a>
    316 <h2 class="memtitle"><span class="permalink"><a href="#PPUCTRL_BG_CHR">&#9670;&nbsp;</a></span>PPUCTRL_BG_CHR</h2>
    317 
    318 <div class="memitem">
    319 <div class="memproto">
    320       <table class="memname">
    321         <tr>
    322           <td class="memname">#define PPUCTRL_BG_CHR&#160;&#160;&#160;0b00010000</td>
    323         </tr>
    324       </table>
    325 </div><div class="memdoc">
    326 
    327 </div>
    328 </div>
    329 <a id="PPUCTRL_SPR_CHR" name="PPUCTRL_SPR_CHR"></a>
    330 <h2 class="memtitle"><span class="permalink"><a href="#PPUCTRL_SPR_CHR">&#9670;&nbsp;</a></span>PPUCTRL_SPR_CHR</h2>
    331 
    332 <div class="memitem">
    333 <div class="memproto">
    334       <table class="memname">
    335         <tr>
    336           <td class="memname">#define PPUCTRL_SPR_CHR&#160;&#160;&#160;0b00001000</td>
    337         </tr>
    338       </table>
    339 </div><div class="memdoc">
    340 
    341 </div>
    342 </div>
    343 <a id="PPUCTRL_INC32" name="PPUCTRL_INC32"></a>
    344 <h2 class="memtitle"><span class="permalink"><a href="#PPUCTRL_INC32">&#9670;&nbsp;</a></span>PPUCTRL_INC32</h2>
    345 
    346 <div class="memitem">
    347 <div class="memproto">
    348       <table class="memname">
    349         <tr>
    350           <td class="memname">#define PPUCTRL_INC32&#160;&#160;&#160;0b00000100</td>
    351         </tr>
    352       </table>
    353 </div><div class="memdoc">
    354 
    355 </div>
    356 </div>
    357 <a id="PPUMASK_BLUE" name="PPUMASK_BLUE"></a>
    358 <h2 class="memtitle"><span class="permalink"><a href="#PPUMASK_BLUE">&#9670;&nbsp;</a></span>PPUMASK_BLUE</h2>
    359 
    360 <div class="memitem">
    361 <div class="memproto">
    362       <table class="memname">
    363         <tr>
    364           <td class="memname">#define PPUMASK_BLUE&#160;&#160;&#160;0b10000000</td>
    365         </tr>
    366       </table>
    367 </div><div class="memdoc">
    368 
    369 </div>
    370 </div>
    371 <a id="PPUMASK_RED" name="PPUMASK_RED"></a>
    372 <h2 class="memtitle"><span class="permalink"><a href="#PPUMASK_RED">&#9670;&nbsp;</a></span>PPUMASK_RED</h2>
    373 
    374 <div class="memitem">
    375 <div class="memproto">
    376       <table class="memname">
    377         <tr>
    378           <td class="memname">#define PPUMASK_RED&#160;&#160;&#160;0b01000000</td>
    379         </tr>
    380       </table>
    381 </div><div class="memdoc">
    382 
    383 </div>
    384 </div>
    385 <a id="PPUMASK_GREEN" name="PPUMASK_GREEN"></a>
    386 <h2 class="memtitle"><span class="permalink"><a href="#PPUMASK_GREEN">&#9670;&nbsp;</a></span>PPUMASK_GREEN</h2>
    387 
    388 <div class="memitem">
    389 <div class="memproto">
    390       <table class="memname">
    391         <tr>
    392           <td class="memname">#define PPUMASK_GREEN&#160;&#160;&#160;0b00100000</td>
    393         </tr>
    394       </table>
    395 </div><div class="memdoc">
    396 
    397 </div>
    398 </div>
    399 <a id="PPUMASK_SHOW_SPR" name="PPUMASK_SHOW_SPR"></a>
    400 <h2 class="memtitle"><span class="permalink"><a href="#PPUMASK_SHOW_SPR">&#9670;&nbsp;</a></span>PPUMASK_SHOW_SPR</h2>
    401 
    402 <div class="memitem">
    403 <div class="memproto">
    404       <table class="memname">
    405         <tr>
    406           <td class="memname">#define PPUMASK_SHOW_SPR&#160;&#160;&#160;0b00010000</td>
    407         </tr>
    408       </table>
    409 </div><div class="memdoc">
    410 
    411 </div>
    412 </div>
    413 <a id="PPUMASK_SHOW_BG" name="PPUMASK_SHOW_BG"></a>
    414 <h2 class="memtitle"><span class="permalink"><a href="#PPUMASK_SHOW_BG">&#9670;&nbsp;</a></span>PPUMASK_SHOW_BG</h2>
    415 
    416 <div class="memitem">
    417 <div class="memproto">
    418       <table class="memname">
    419         <tr>
    420           <td class="memname">#define PPUMASK_SHOW_BG&#160;&#160;&#160;0b00001000</td>
    421         </tr>
    422       </table>
    423 </div><div class="memdoc">
    424 
    425 </div>
    426 </div>
    427 <a id="PPUMASK_SHOW_SPR_LC" name="PPUMASK_SHOW_SPR_LC"></a>
    428 <h2 class="memtitle"><span class="permalink"><a href="#PPUMASK_SHOW_SPR_LC">&#9670;&nbsp;</a></span>PPUMASK_SHOW_SPR_LC</h2>
    429 
    430 <div class="memitem">
    431 <div class="memproto">
    432       <table class="memname">
    433         <tr>
    434           <td class="memname">#define PPUMASK_SHOW_SPR_LC&#160;&#160;&#160;0b00000100</td>
    435         </tr>
    436       </table>
    437 </div><div class="memdoc">
    438 
    439 </div>
    440 </div>
    441 <a id="PPUMASK_SHOW_BG_LC" name="PPUMASK_SHOW_BG_LC"></a>
    442 <h2 class="memtitle"><span class="permalink"><a href="#PPUMASK_SHOW_BG_LC">&#9670;&nbsp;</a></span>PPUMASK_SHOW_BG_LC</h2>
    443 
    444 <div class="memitem">
    445 <div class="memproto">
    446       <table class="memname">
    447         <tr>
    448           <td class="memname">#define PPUMASK_SHOW_BG_LC&#160;&#160;&#160;0b00000010</td>
    449         </tr>
    450       </table>
    451 </div><div class="memdoc">
    452 
    453 </div>
    454 </div>
    455 <a id="PPUMASK_MONOCHROME" name="PPUMASK_MONOCHROME"></a>
    456 <h2 class="memtitle"><span class="permalink"><a href="#PPUMASK_MONOCHROME">&#9670;&nbsp;</a></span>PPUMASK_MONOCHROME</h2>
    457 
    458 <div class="memitem">
    459 <div class="memproto">
    460       <table class="memname">
    461         <tr>
    462           <td class="memname">#define PPUMASK_MONOCHROME&#160;&#160;&#160;0b00000001</td>
    463         </tr>
    464       </table>
    465 </div><div class="memdoc">
    466 
    467 </div>
    468 </div>
    469 <a id="DEVICE_SCREEN_X_OFFSET" name="DEVICE_SCREEN_X_OFFSET"></a>
    470 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_SCREEN_X_OFFSET">&#9670;&nbsp;</a></span>DEVICE_SCREEN_X_OFFSET</h2>
    471 
    472 <div class="memitem">
    473 <div class="memproto">
    474       <table class="memname">
    475         <tr>
    476           <td class="memname">#define DEVICE_SCREEN_X_OFFSET&#160;&#160;&#160;0</td>
    477         </tr>
    478       </table>
    479 </div><div class="memdoc">
    480 
    481 </div>
    482 </div>
    483 <a id="DEVICE_SCREEN_Y_OFFSET" name="DEVICE_SCREEN_Y_OFFSET"></a>
    484 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_SCREEN_Y_OFFSET">&#9670;&nbsp;</a></span>DEVICE_SCREEN_Y_OFFSET</h2>
    485 
    486 <div class="memitem">
    487 <div class="memproto">
    488       <table class="memname">
    489         <tr>
    490           <td class="memname">#define DEVICE_SCREEN_Y_OFFSET&#160;&#160;&#160;0</td>
    491         </tr>
    492       </table>
    493 </div><div class="memdoc">
    494 
    495 </div>
    496 </div>
    497 <a id="DEVICE_SCREEN_WIDTH" name="DEVICE_SCREEN_WIDTH"></a>
    498 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_SCREEN_WIDTH">&#9670;&nbsp;</a></span>DEVICE_SCREEN_WIDTH</h2>
    499 
    500 <div class="memitem">
    501 <div class="memproto">
    502       <table class="memname">
    503         <tr>
    504           <td class="memname">#define DEVICE_SCREEN_WIDTH&#160;&#160;&#160;32</td>
    505         </tr>
    506       </table>
    507 </div><div class="memdoc">
    508 
    509 </div>
    510 </div>
    511 <a id="DEVICE_SCREEN_HEIGHT" name="DEVICE_SCREEN_HEIGHT"></a>
    512 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_SCREEN_HEIGHT">&#9670;&nbsp;</a></span>DEVICE_SCREEN_HEIGHT</h2>
    513 
    514 <div class="memitem">
    515 <div class="memproto">
    516       <table class="memname">
    517         <tr>
    518           <td class="memname">#define DEVICE_SCREEN_HEIGHT&#160;&#160;&#160;30</td>
    519         </tr>
    520       </table>
    521 </div><div class="memdoc">
    522 
    523 </div>
    524 </div>
    525 <a id="DEVICE_SCREEN_BUFFER_WIDTH" name="DEVICE_SCREEN_BUFFER_WIDTH"></a>
    526 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_SCREEN_BUFFER_WIDTH">&#9670;&nbsp;</a></span>DEVICE_SCREEN_BUFFER_WIDTH</h2>
    527 
    528 <div class="memitem">
    529 <div class="memproto">
    530       <table class="memname">
    531         <tr>
    532           <td class="memname">#define DEVICE_SCREEN_BUFFER_WIDTH&#160;&#160;&#160;32</td>
    533         </tr>
    534       </table>
    535 </div><div class="memdoc">
    536 
    537 </div>
    538 </div>
    539 <a id="DEVICE_SCREEN_BUFFER_HEIGHT" name="DEVICE_SCREEN_BUFFER_HEIGHT"></a>
    540 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_SCREEN_BUFFER_HEIGHT">&#9670;&nbsp;</a></span>DEVICE_SCREEN_BUFFER_HEIGHT</h2>
    541 
    542 <div class="memitem">
    543 <div class="memproto">
    544       <table class="memname">
    545         <tr>
    546           <td class="memname">#define DEVICE_SCREEN_BUFFER_HEIGHT&#160;&#160;&#160;30</td>
    547         </tr>
    548       </table>
    549 </div><div class="memdoc">
    550 
    551 </div>
    552 </div>
    553 <a id="DEVICE_SCREEN_MAP_ENTRY_SIZE" name="DEVICE_SCREEN_MAP_ENTRY_SIZE"></a>
    554 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_SCREEN_MAP_ENTRY_SIZE">&#9670;&nbsp;</a></span>DEVICE_SCREEN_MAP_ENTRY_SIZE</h2>
    555 
    556 <div class="memitem">
    557 <div class="memproto">
    558       <table class="memname">
    559         <tr>
    560           <td class="memname">#define DEVICE_SCREEN_MAP_ENTRY_SIZE&#160;&#160;&#160;1</td>
    561         </tr>
    562       </table>
    563 </div><div class="memdoc">
    564 
    565 </div>
    566 </div>
    567 <a id="DEVICE_SPRITE_PX_OFFSET_X" name="DEVICE_SPRITE_PX_OFFSET_X"></a>
    568 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_SPRITE_PX_OFFSET_X">&#9670;&nbsp;</a></span>DEVICE_SPRITE_PX_OFFSET_X</h2>
    569 
    570 <div class="memitem">
    571 <div class="memproto">
    572       <table class="memname">
    573         <tr>
    574           <td class="memname">#define DEVICE_SPRITE_PX_OFFSET_X&#160;&#160;&#160;0</td>
    575         </tr>
    576       </table>
    577 </div><div class="memdoc">
    578 
    579 </div>
    580 </div>
    581 <a id="DEVICE_SPRITE_PX_OFFSET_Y" name="DEVICE_SPRITE_PX_OFFSET_Y"></a>
    582 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_SPRITE_PX_OFFSET_Y">&#9670;&nbsp;</a></span>DEVICE_SPRITE_PX_OFFSET_Y</h2>
    583 
    584 <div class="memitem">
    585 <div class="memproto">
    586       <table class="memname">
    587         <tr>
    588           <td class="memname">#define DEVICE_SPRITE_PX_OFFSET_Y&#160;&#160;&#160;-1</td>
    589         </tr>
    590       </table>
    591 </div><div class="memdoc">
    592 
    593 </div>
    594 </div>
    595 <a id="DEVICE_WINDOW_PX_OFFSET_X" name="DEVICE_WINDOW_PX_OFFSET_X"></a>
    596 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_WINDOW_PX_OFFSET_X">&#9670;&nbsp;</a></span>DEVICE_WINDOW_PX_OFFSET_X</h2>
    597 
    598 <div class="memitem">
    599 <div class="memproto">
    600       <table class="memname">
    601         <tr>
    602           <td class="memname">#define DEVICE_WINDOW_PX_OFFSET_X&#160;&#160;&#160;0</td>
    603         </tr>
    604       </table>
    605 </div><div class="memdoc">
    606 
    607 </div>
    608 </div>
    609 <a id="DEVICE_WINDOW_PX_OFFSET_Y" name="DEVICE_WINDOW_PX_OFFSET_Y"></a>
    610 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_WINDOW_PX_OFFSET_Y">&#9670;&nbsp;</a></span>DEVICE_WINDOW_PX_OFFSET_Y</h2>
    611 
    612 <div class="memitem">
    613 <div class="memproto">
    614       <table class="memname">
    615         <tr>
    616           <td class="memname">#define DEVICE_WINDOW_PX_OFFSET_Y&#160;&#160;&#160;0</td>
    617         </tr>
    618       </table>
    619 </div><div class="memdoc">
    620 
    621 </div>
    622 </div>
    623 <a id="DEVICE_SCREEN_PX_WIDTH" name="DEVICE_SCREEN_PX_WIDTH"></a>
    624 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_SCREEN_PX_WIDTH">&#9670;&nbsp;</a></span>DEVICE_SCREEN_PX_WIDTH</h2>
    625 
    626 <div class="memitem">
    627 <div class="memproto">
    628       <table class="memname">
    629         <tr>
    630           <td class="memname">#define DEVICE_SCREEN_PX_WIDTH&#160;&#160;&#160;(<a class="el" href="nes_2hardware_8h.html#DEVICE_SCREEN_WIDTH">DEVICE_SCREEN_WIDTH</a> * 8)</td>
    631         </tr>
    632       </table>
    633 </div><div class="memdoc">
    634 
    635 </div>
    636 </div>
    637 <a id="DEVICE_SCREEN_PX_HEIGHT" name="DEVICE_SCREEN_PX_HEIGHT"></a>
    638 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_SCREEN_PX_HEIGHT">&#9670;&nbsp;</a></span>DEVICE_SCREEN_PX_HEIGHT</h2>
    639 
    640 <div class="memitem">
    641 <div class="memproto">
    642       <table class="memname">
    643         <tr>
    644           <td class="memname">#define DEVICE_SCREEN_PX_HEIGHT&#160;&#160;&#160;(<a class="el" href="nes_2hardware_8h.html#DEVICE_SCREEN_HEIGHT">DEVICE_SCREEN_HEIGHT</a> * 8)</td>
    645         </tr>
    646       </table>
    647 </div><div class="memdoc">
    648 
    649 </div>
    650 </div>
    651 <a id="SCY_REG" name="SCY_REG"></a>
    652 <h2 class="memtitle"><span class="permalink"><a href="#SCY_REG">&#9670;&nbsp;</a></span>SCY_REG</h2>
    653 
    654 <div class="memitem">
    655 <div class="memproto">
    656       <table class="memname">
    657         <tr>
    658           <td class="memname">#define SCY_REG&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#bkg_scroll_y">bkg_scroll_y</a></td>
    659         </tr>
    660       </table>
    661 </div><div class="memdoc">
    662 <p >Scroll Y </p>
    663 
    664 </div>
    665 </div>
    666 <a id="rSCY" name="rSCY"></a>
    667 <h2 class="memtitle"><span class="permalink"><a href="#rSCY">&#9670;&nbsp;</a></span>rSCY</h2>
    668 
    669 <div class="memitem">
    670 <div class="memproto">
    671       <table class="memname">
    672         <tr>
    673           <td class="memname">#define rSCY&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#SCY_REG">SCY_REG</a></td>
    674         </tr>
    675       </table>
    676 </div><div class="memdoc">
    677 
    678 </div>
    679 </div>
    680 <a id="SCX_REG" name="SCX_REG"></a>
    681 <h2 class="memtitle"><span class="permalink"><a href="#SCX_REG">&#9670;&nbsp;</a></span>SCX_REG</h2>
    682 
    683 <div class="memitem">
    684 <div class="memproto">
    685       <table class="memname">
    686         <tr>
    687           <td class="memname">#define SCX_REG&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#bkg_scroll_x">bkg_scroll_x</a></td>
    688         </tr>
    689       </table>
    690 </div><div class="memdoc">
    691 <p >Scroll X </p>
    692 
    693 </div>
    694 </div>
    695 <a id="rSCX" name="rSCX"></a>
    696 <h2 class="memtitle"><span class="permalink"><a href="#rSCX">&#9670;&nbsp;</a></span>rSCX</h2>
    697 
    698 <div class="memitem">
    699 <div class="memproto">
    700       <table class="memname">
    701         <tr>
    702           <td class="memname">#define rSCX&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#SCX_REG">SCX_REG</a></td>
    703         </tr>
    704       </table>
    705 </div><div class="memdoc">
    706 
    707 </div>
    708 </div>
    709 <a id="LY_REG" name="LY_REG"></a>
    710 <h2 class="memtitle"><span class="permalink"><a href="#LY_REG">&#9670;&nbsp;</a></span>LY_REG</h2>
    711 
    712 <div class="memitem">
    713 <div class="memproto">
    714       <table class="memname">
    715         <tr>
    716           <td class="memname">#define LY_REG&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#_lcd_scanline">_lcd_scanline</a></td>
    717         </tr>
    718       </table>
    719 </div><div class="memdoc">
    720 <p >LCDC Y-coordinate </p>
    721 
    722 </div>
    723 </div>
    724 <a id="rLY" name="rLY"></a>
    725 <h2 class="memtitle"><span class="permalink"><a href="#rLY">&#9670;&nbsp;</a></span>rLY</h2>
    726 
    727 <div class="memitem">
    728 <div class="memproto">
    729       <table class="memname">
    730         <tr>
    731           <td class="memname">#define rLY&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#LY_REG">LY_REG</a></td>
    732         </tr>
    733       </table>
    734 </div><div class="memdoc">
    735 
    736 </div>
    737 </div>
    738 <a id="LYC_REG" name="LYC_REG"></a>
    739 <h2 class="memtitle"><span class="permalink"><a href="#LYC_REG">&#9670;&nbsp;</a></span>LYC_REG</h2>
    740 
    741 <div class="memitem">
    742 <div class="memproto">
    743       <table class="memname">
    744         <tr>
    745           <td class="memname">#define LYC_REG&#160;&#160;&#160;<a class="el" href="nes_2hardware_8h.html#_lcd_scanline">_lcd_scanline</a></td>
    746         </tr>
    747       </table>
    748 </div><div class="memdoc">
    749 <p >LY compare </p>
    750 
    751 </div>
    752 </div>
    753 <a id="rLYC" name="rLYC"></a>
    754 <h2 class="memtitle"><span class="permalink"><a href="#rLYC">&#9670;&nbsp;</a></span>rLYC</h2>
    755 
    756 <div class="memitem">
    757 <div class="memproto">
    758       <table class="memname">
    759         <tr>
    760           <td class="memname">#define rLYC&#160;&#160;&#160;<a class="el" href="gb_2hardware_8h.html#LYC_REG">LYC_REG</a></td>
    761         </tr>
    762       </table>
    763 </div><div class="memdoc">
    764 
    765 </div>
    766 </div>
    767 <h2 class="groupheader">Typedef Documentation</h2>
    768 <a id="scroll_x_t" name="scroll_x_t"></a>
    769 <h2 class="memtitle"><span class="permalink"><a href="#scroll_x_t">&#9670;&nbsp;</a></span>scroll_x_t</h2>
    770 
    771 <div class="memitem">
    772 <div class="memproto">
    773       <table class="memname">
    774         <tr>
    775           <td class="memname">typedef <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="nes_2hardware_8h.html#scroll_x_t">scroll_x_t</a></td>
    776         </tr>
    777       </table>
    778 </div><div class="memdoc">
    779 
    780 </div>
    781 </div>
    782 <a id="scroll_y_t" name="scroll_y_t"></a>
    783 <h2 class="memtitle"><span class="permalink"><a href="#scroll_y_t">&#9670;&nbsp;</a></span>scroll_y_t</h2>
    784 
    785 <div class="memitem">
    786 <div class="memproto">
    787       <table class="memname">
    788         <tr>
    789           <td class="memname">typedef <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="nes_2hardware_8h.html#scroll_y_t">scroll_y_t</a></td>
    790         </tr>
    791       </table>
    792 </div><div class="memdoc">
    793 
    794 </div>
    795 </div>
    796 <h2 class="groupheader">Function Documentation</h2>
    797 <a id="__REG" name="__REG"></a>
    798 <h2 class="memtitle"><span class="permalink"><a href="#__REG">&#9670;&nbsp;</a></span>__REG() <span class="overload">[1/9]</span></h2>
    799 
    800 <div class="memitem">
    801 <div class="memproto">
    802       <table class="memname">
    803         <tr>
    804           <td class="memname">__REG </td>
    805           <td>(</td>
    806           <td class="paramtype">0x2000&#160;</td>
    807           <td class="paramname"></td><td>)</td>
    808           <td></td>
    809         </tr>
    810       </table>
    811 </div><div class="memdoc">
    812 
    813 </div>
    814 </div>
    815 <a id="__REG" name="__REG"></a>
    816 <h2 class="memtitle"><span class="permalink"><a href="#__REG">&#9670;&nbsp;</a></span>__REG() <span class="overload">[2/9]</span></h2>
    817 
    818 <div class="memitem">
    819 <div class="memproto">
    820       <table class="memname">
    821         <tr>
    822           <td class="memname">__REG </td>
    823           <td>(</td>
    824           <td class="paramtype">0x2001&#160;</td>
    825           <td class="paramname"></td><td>)</td>
    826           <td></td>
    827         </tr>
    828       </table>
    829 </div><div class="memdoc">
    830 
    831 </div>
    832 </div>
    833 <a id="__REG" name="__REG"></a>
    834 <h2 class="memtitle"><span class="permalink"><a href="#__REG">&#9670;&nbsp;</a></span>__REG() <span class="overload">[3/9]</span></h2>
    835 
    836 <div class="memitem">
    837 <div class="memproto">
    838       <table class="memname">
    839         <tr>
    840           <td class="memname">__REG </td>
    841           <td>(</td>
    842           <td class="paramtype">0x2002&#160;</td>
    843           <td class="paramname"></td><td>)</td>
    844           <td></td>
    845         </tr>
    846       </table>
    847 </div><div class="memdoc">
    848 
    849 </div>
    850 </div>
    851 <a id="__REG" name="__REG"></a>
    852 <h2 class="memtitle"><span class="permalink"><a href="#__REG">&#9670;&nbsp;</a></span>__REG() <span class="overload">[4/9]</span></h2>
    853 
    854 <div class="memitem">
    855 <div class="memproto">
    856       <table class="memname">
    857         <tr>
    858           <td class="memname">__REG </td>
    859           <td>(</td>
    860           <td class="paramtype">0x2003&#160;</td>
    861           <td class="paramname"></td><td>)</td>
    862           <td></td>
    863         </tr>
    864       </table>
    865 </div><div class="memdoc">
    866 
    867 </div>
    868 </div>
    869 <a id="__REG" name="__REG"></a>
    870 <h2 class="memtitle"><span class="permalink"><a href="#__REG">&#9670;&nbsp;</a></span>__REG() <span class="overload">[5/9]</span></h2>
    871 
    872 <div class="memitem">
    873 <div class="memproto">
    874       <table class="memname">
    875         <tr>
    876           <td class="memname">__REG </td>
    877           <td>(</td>
    878           <td class="paramtype">0x2004&#160;</td>
    879           <td class="paramname"></td><td>)</td>
    880           <td></td>
    881         </tr>
    882       </table>
    883 </div><div class="memdoc">
    884 
    885 </div>
    886 </div>
    887 <a id="__REG" name="__REG"></a>
    888 <h2 class="memtitle"><span class="permalink"><a href="#__REG">&#9670;&nbsp;</a></span>__REG() <span class="overload">[6/9]</span></h2>
    889 
    890 <div class="memitem">
    891 <div class="memproto">
    892       <table class="memname">
    893         <tr>
    894           <td class="memname">__REG </td>
    895           <td>(</td>
    896           <td class="paramtype">0x2005&#160;</td>
    897           <td class="paramname"></td><td>)</td>
    898           <td></td>
    899         </tr>
    900       </table>
    901 </div><div class="memdoc">
    902 
    903 </div>
    904 </div>
    905 <a id="__REG" name="__REG"></a>
    906 <h2 class="memtitle"><span class="permalink"><a href="#__REG">&#9670;&nbsp;</a></span>__REG() <span class="overload">[7/9]</span></h2>
    907 
    908 <div class="memitem">
    909 <div class="memproto">
    910       <table class="memname">
    911         <tr>
    912           <td class="memname">__REG </td>
    913           <td>(</td>
    914           <td class="paramtype">0x2006&#160;</td>
    915           <td class="paramname"></td><td>)</td>
    916           <td></td>
    917         </tr>
    918       </table>
    919 </div><div class="memdoc">
    920 
    921 </div>
    922 </div>
    923 <a id="__REG" name="__REG"></a>
    924 <h2 class="memtitle"><span class="permalink"><a href="#__REG">&#9670;&nbsp;</a></span>__REG() <span class="overload">[8/9]</span></h2>
    925 
    926 <div class="memitem">
    927 <div class="memproto">
    928       <table class="memname">
    929         <tr>
    930           <td class="memname">__REG </td>
    931           <td>(</td>
    932           <td class="paramtype">0x2007&#160;</td>
    933           <td class="paramname"></td><td>)</td>
    934           <td></td>
    935         </tr>
    936       </table>
    937 </div><div class="memdoc">
    938 
    939 </div>
    940 </div>
    941 <a id="__REG" name="__REG"></a>
    942 <h2 class="memtitle"><span class="permalink"><a href="#__REG">&#9670;&nbsp;</a></span>__REG() <span class="overload">[9/9]</span></h2>
    943 
    944 <div class="memitem">
    945 <div class="memproto">
    946       <table class="memname">
    947         <tr>
    948           <td class="memname">__REG </td>
    949           <td>(</td>
    950           <td class="paramtype">0x4014&#160;</td>
    951           <td class="paramname"></td><td>)</td>
    952           <td></td>
    953         </tr>
    954       </table>
    955 </div><div class="memdoc">
    956 
    957 </div>
    958 </div>
    959 <h2 class="groupheader">Variable Documentation</h2>
    960 <a id="shadow_PPUCTRL" name="shadow_PPUCTRL"></a>
    961 <h2 class="memtitle"><span class="permalink"><a href="#shadow_PPUCTRL">&#9670;&nbsp;</a></span>shadow_PPUCTRL</h2>
    962 
    963 <div class="memitem">
    964 <div class="memproto">
    965       <table class="memname">
    966         <tr>
    967           <td class="memname"><a class="el" href="nes_2hardware_8h.html#__SHADOW_REG">__SHADOW_REG</a> shadow_PPUCTRL</td>
    968         </tr>
    969       </table>
    970 </div><div class="memdoc">
    971 
    972 </div>
    973 </div>
    974 <a id="shadow_PPUMASK" name="shadow_PPUMASK"></a>
    975 <h2 class="memtitle"><span class="permalink"><a href="#shadow_PPUMASK">&#9670;&nbsp;</a></span>shadow_PPUMASK</h2>
    976 
    977 <div class="memitem">
    978 <div class="memproto">
    979       <table class="memname">
    980         <tr>
    981           <td class="memname"><a class="el" href="nes_2hardware_8h.html#__SHADOW_REG">__SHADOW_REG</a> shadow_PPUMASK</td>
    982         </tr>
    983       </table>
    984 </div><div class="memdoc">
    985 
    986 </div>
    987 </div>
    988 <a id="bkg_scroll_x" name="bkg_scroll_x"></a>
    989 <h2 class="memtitle"><span class="permalink"><a href="#bkg_scroll_x">&#9670;&nbsp;</a></span>bkg_scroll_x</h2>
    990 
    991 <div class="memitem">
    992 <div class="memproto">
    993       <table class="memname">
    994         <tr>
    995           <td class="memname"><a class="el" href="nes_2hardware_8h.html#__SHADOW_REG">__SHADOW_REG</a> bkg_scroll_x</td>
    996         </tr>
    997       </table>
    998 </div><div class="memdoc">
    999 
   1000 </div>
   1001 </div>
   1002 <a id="bkg_scroll_y" name="bkg_scroll_y"></a>
   1003 <h2 class="memtitle"><span class="permalink"><a href="#bkg_scroll_y">&#9670;&nbsp;</a></span>bkg_scroll_y</h2>
   1004 
   1005 <div class="memitem">
   1006 <div class="memproto">
   1007       <table class="memname">
   1008         <tr>
   1009           <td class="memname"><a class="el" href="nes_2hardware_8h.html#__SHADOW_REG">__SHADOW_REG</a> bkg_scroll_y</td>
   1010         </tr>
   1011       </table>
   1012 </div><div class="memdoc">
   1013 
   1014 </div>
   1015 </div>
   1016 <a id="_lcd_scanline" name="_lcd_scanline"></a>
   1017 <h2 class="memtitle"><span class="permalink"><a href="#_lcd_scanline">&#9670;&nbsp;</a></span>_lcd_scanline</h2>
   1018 
   1019 <div class="memitem">
   1020 <div class="memproto">
   1021       <table class="memname">
   1022         <tr>
   1023           <td class="memname"><a class="el" href="nes_2hardware_8h.html#__SHADOW_REG">__SHADOW_REG</a> _lcd_scanline</td>
   1024         </tr>
   1025       </table>
   1026 </div><div class="memdoc">
   1027 
   1028 </div>
   1029 </div>
   1030 <a id="TIMA_REG" name="TIMA_REG"></a>
   1031 <h2 class="memtitle"><span class="permalink"><a href="#TIMA_REG">&#9670;&nbsp;</a></span>TIMA_REG</h2>
   1032 
   1033 <div class="memitem">
   1034 <div class="memproto">
   1035 <table class="mlabels">
   1036   <tr>
   1037   <td class="mlabels-left">
   1038       <table class="memname">
   1039         <tr>
   1040           <td class="memname">volatile <a class="el" href="asm_2types_8h.html#UBYTE">UBYTE</a> TIMA_REG</td>
   1041         </tr>
   1042       </table>
   1043   </td>
   1044   <td class="mlabels-right">
   1045 <span class="mlabels"><span class="mlabel">extern</span></span>  </td>
   1046   </tr>
   1047 </table>
   1048 </div><div class="memdoc">
   1049 <p >Timer counter </p>
   1050 
   1051 </div>
   1052 </div>
   1053 <a id="TMA_REG" name="TMA_REG"></a>
   1054 <h2 class="memtitle"><span class="permalink"><a href="#TMA_REG">&#9670;&nbsp;</a></span>TMA_REG</h2>
   1055 
   1056 <div class="memitem">
   1057 <div class="memproto">
   1058 <table class="mlabels">
   1059   <tr>
   1060   <td class="mlabels-left">
   1061       <table class="memname">
   1062         <tr>
   1063           <td class="memname">volatile <a class="el" href="asm_2types_8h.html#UBYTE">UBYTE</a> TMA_REG</td>
   1064         </tr>
   1065       </table>
   1066   </td>
   1067   <td class="mlabels-right">
   1068 <span class="mlabels"><span class="mlabel">extern</span></span>  </td>
   1069   </tr>
   1070 </table>
   1071 </div><div class="memdoc">
   1072 <p >Timer modulo </p>
   1073 
   1074 </div>
   1075 </div>
   1076 <a id="TAC_REG" name="TAC_REG"></a>
   1077 <h2 class="memtitle"><span class="permalink"><a href="#TAC_REG">&#9670;&nbsp;</a></span>TAC_REG</h2>
   1078 
   1079 <div class="memitem">
   1080 <div class="memproto">
   1081 <table class="mlabels">
   1082   <tr>
   1083   <td class="mlabels-left">
   1084       <table class="memname">
   1085         <tr>
   1086           <td class="memname">volatile <a class="el" href="asm_2types_8h.html#UBYTE">UBYTE</a> TAC_REG</td>
   1087         </tr>
   1088       </table>
   1089   </td>
   1090   <td class="mlabels-right">
   1091 <span class="mlabels"><span class="mlabel">extern</span></span>  </td>
   1092   </tr>
   1093 </table>
   1094 </div><div class="memdoc">
   1095 <p >Timer control </p>
   1096 
   1097 </div>
   1098 </div>
   1099 </div><!-- contents -->
   1100 </div><!-- doc-content -->
   1101 <!-- start footer part -->
   1102 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   1103   <ul>
   1104     <li class="navelem"><a class="el" href="dir_8bd3092e915ccc8a773a74e0a10d4d15.html">gbdk-lib</a></li><li class="navelem"><a class="el" href="dir_a9f896cff747ba031115e41245385c17.html">include</a></li><li class="navelem"><a class="el" href="dir_af92cb28f7f9115544c8de6a3c7e6d6b.html">nes</a></li><li class="navelem"><a class="el" href="nes_2hardware_8h.html">hardware.h</a></li>
   1105     <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
   1106   </ul>
   1107 </div>
   1108 </body>
   1109 </html>

This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.