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_8h_source.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/nes.h Source File</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_8h_source.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="headertitle"><div class="title">nes.h</div></div>
    103 </div><!--header-->
    104 <div class="contents">
    105 <a href="nes_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
    106 <div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="preprocessor">#ifndef _NES_H</span></div>
    107 <div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#define _NES_H</span></div>
    108 <div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span> </div>
    109 <div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="preprocessor">#include &lt;types.h&gt;</span></div>
    110 <div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#include &lt;<a class="code" href="stdint_8h.html">stdint.h</a>&gt;</span></div>
    111 <div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#include &lt;<a class="code" href="version_8h.html">gbdk/version.h</a>&gt;</span></div>
    112 <div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#include &lt;<a class="code" href="nes_2hardware_8h.html">nes/hardware.h</a>&gt;</span></div>
    113 <div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#include &lt;<a class="code" href="rgb__to__nes__macro_8h.html">nes/rgb_to_nes_macro.h</a>&gt;</span></div>
    114 <div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span> </div>
    115 <div class="line"><a id="l00013" name="l00013"></a><span class="lineno"><a class="line" href="nes_8h.html#NINTENDO_NES">   13</a></span><span class="preprocessor">#define NINTENDO_NES</span></div>
    116 <div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span> </div>
    117 <div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="comment">// Here NINTENDO means Game Boy &amp; related clones</span></div>
    118 <div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#ifdef NINTENDO</span></div>
    119 <div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#undef NINTENDO</span></div>
    120 <div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor">#endif</span></div>
    121 <div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
    122 <div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#ifdef SEGA</span></div>
    123 <div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#undef SEGA</span></div>
    124 <div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#endif</span></div>
    125 <div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
    126 <div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#ifdef MSX</span></div>
    127 <div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#undef MSX</span></div>
    128 <div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#endif</span></div>
    129 <div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
    130 <div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="nes_8h.html#SYSTEM_BITS_NTSC">   28</a></span><span class="preprocessor">#define SYSTEM_BITS_NTSC        0x00</span></div>
    131 <div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="nes_8h.html#SYSTEM_BITS_PAL">   29</a></span><span class="preprocessor">#define SYSTEM_BITS_PAL         0x40</span></div>
    132 <div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="nes_8h.html#SYSTEM_BITS_DENDY">   30</a></span><span class="preprocessor">#define SYSTEM_BITS_DENDY       0x80</span></div>
    133 <div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">extern</span> <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="nes_8h.html#_SYSTEM">_SYSTEM</a>;</div>
    134 <div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
    135 <div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="nes_8h.html#SYSTEM_60HZ">   33</a></span><span class="preprocessor">#define SYSTEM_60HZ    0x00</span></div>
    136 <div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="nes_8h.html#SYSTEM_50HZ">   34</a></span><span class="preprocessor">#define SYSTEM_50HZ    0x01</span></div>
    137 <div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span> </div>
    138 <div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="nes_8h.html#TIMER_VBLANK_PARITY_MODE_SYSTEM_">   36</a></span><span class="preprocessor">#define TIMER_VBLANK_PARITY_MODE_SYSTEM_60HZ    0x78</span></div>
    139 <div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="nes_8h.html#TIMER_VBLANK_PARITY_MODE_SYSTEM_">   37</a></span><span class="preprocessor">#define TIMER_VBLANK_PARITY_MODE_SYSTEM_50HZ    0x5D</span></div>
    140 <div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
    141 <div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB">   39</a></span><span class="preprocessor">#define RGB(r,g,b)        RGB_TO_NES(((r) | ((g) &lt;&lt; 2) | ((b) &lt;&lt; 4)))</span></div>
    142 <div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB8">   40</a></span><span class="preprocessor">#define RGB8(r,g,b)       RGB_TO_NES((((r) &gt;&gt; 6) | (((g) &gt;&gt; 6) &lt;&lt; 2) | (((b) &gt;&gt; 6) &lt;&lt; 4)))</span></div>
    143 <div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="nes_8h.html#RGBHTML">   41</a></span><span class="preprocessor">#define RGBHTML(RGB24bit) RGB_TO_NES((((RGB24bit) &gt;&gt; 22) | ((((RGB24bit) &amp; 0xFFFF) &gt;&gt; 14) &lt;&lt; 2) | ((((RGB24bit) &amp; 0xFF) &gt;&gt; 6) &lt;&lt; 4)))</span></div>
    144 <div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span> </div>
    145 <div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_RED">   48</a></span><span class="preprocessor">#define RGB_RED        0x16     </span><span class="comment">// EGA12</span></div>
    146 <div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_DARKRED">   49</a></span><span class="preprocessor">#define RGB_DARKRED    0x06     </span><span class="comment">// EGA4</span></div>
    147 <div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_GREEN">   50</a></span><span class="preprocessor">#define RGB_GREEN      0x2A     </span><span class="comment">// EGA10</span></div>
    148 <div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_DARKGREEN">   51</a></span><span class="preprocessor">#define RGB_DARKGREEN  0x1A     </span><span class="comment">// EGA2</span></div>
    149 <div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_BLUE">   52</a></span><span class="preprocessor">#define RGB_BLUE       0x12     </span><span class="comment">// EGA9</span></div>
    150 <div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_DARKBLUE">   53</a></span><span class="preprocessor">#define RGB_DARKBLUE   0x02     </span><span class="comment">// EGA1</span></div>
    151 <div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_YELLOW">   54</a></span><span class="preprocessor">#define RGB_YELLOW     0x28     </span><span class="comment">// EGA14</span></div>
    152 <div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_DARKYELLOW">   55</a></span><span class="preprocessor">#define RGB_DARKYELLOW 0x18     </span><span class="comment">// EGA6</span></div>
    153 <div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_CYAN">   56</a></span><span class="preprocessor">#define RGB_CYAN       0x2C     </span><span class="comment">// EGA11</span></div>
    154 <div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_AQUA">   57</a></span><span class="preprocessor">#define RGB_AQUA       0x1C     </span><span class="comment">// EGA3</span></div>
    155 <div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_PINK">   58</a></span><span class="preprocessor">#define RGB_PINK       0x24     </span><span class="comment">// EGA13</span></div>
    156 <div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_PURPLE">   59</a></span><span class="preprocessor">#define RGB_PURPLE     0x14     </span><span class="comment">// EGA5</span></div>
    157 <div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_BLACK">   60</a></span><span class="preprocessor">#define RGB_BLACK      0x0F     </span><span class="comment">// EGA0</span></div>
    158 <div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_DARKGRAY">   61</a></span><span class="preprocessor">#define RGB_DARKGRAY   0x00     </span><span class="comment">// EGA8</span></div>
    159 <div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_LIGHTGRAY">   62</a></span><span class="preprocessor">#define RGB_LIGHTGRAY  0x10     </span><span class="comment">// EGA7</span></div>
    160 <div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="nes_8h.html#RGB_WHITE">   63</a></span><span class="preprocessor">#define RGB_WHITE      0x30     </span><span class="comment">// EGA15</span></div>
    161 <div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span> </div>
    162 <div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="nes_8h.html#palette_color_t">   65</a></span><span class="keyword">typedef</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_typedef" href="nes_8h.html#palette_color_t">palette_color_t</a>;</div>
    163 <div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span> </div>
    164 <div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="nes_8h.html#set_bkg_palette">   67</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_palette">set_bkg_palette</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> first_palette, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb_palettes, <span class="keyword">const</span> <a class="code hl_typedef" href="cgb_8h.html#palette_color_t">palette_color_t</a> *rgb_data) NO_OVERLAY_LOCALS;</div>
    165 <div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span> </div>
    166 <div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="nes_8h.html#set_sprite_palette">   69</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_sprite_palette">set_sprite_palette</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> first_palette, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb_palettes, <span class="keyword">const</span> <a class="code hl_typedef" href="cgb_8h.html#palette_color_t">palette_color_t</a> *rgb_data) NO_OVERLAY_LOCALS;</div>
    167 <div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span> </div>
    168 <div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="nes_8h.html#set_bkg_palette_entry">   71</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_palette_entry">set_bkg_palette_entry</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> palette, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> entry, <a class="code hl_typedef" href="cgb_8h.html#palette_color_t">palette_color_t</a> rgb_data) NO_OVERLAY_LOCALS;</div>
    169 <div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span> </div>
    170 <div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="nes_8h.html#set_sprite_palette_entry">   73</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_sprite_palette_entry">set_sprite_palette_entry</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> palette, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> entry, <a class="code hl_typedef" href="cgb_8h.html#palette_color_t">palette_color_t</a> rgb_data) NO_OVERLAY_LOCALS;</div>
    171 <div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span> </div>
    172 <div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="nes_8h.html#J_UP">   88</a></span><span class="preprocessor">#define J_UP         0x08U</span></div>
    173 <div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="nes_8h.html#J_DOWN">   89</a></span><span class="preprocessor">#define J_DOWN       0x04U</span></div>
    174 <div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="nes_8h.html#J_LEFT">   90</a></span><span class="preprocessor">#define J_LEFT       0x02U</span></div>
    175 <div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="nes_8h.html#J_RIGHT">   91</a></span><span class="preprocessor">#define J_RIGHT      0x01U</span></div>
    176 <div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="nes_8h.html#J_A">   92</a></span><span class="preprocessor">#define J_A          0x80U</span></div>
    177 <div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="nes_8h.html#J_B">   93</a></span><span class="preprocessor">#define J_B          0x40U</span></div>
    178 <div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="nes_8h.html#J_SELECT">   94</a></span><span class="preprocessor">#define J_SELECT     0x20U</span></div>
    179 <div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="nes_8h.html#J_START">   95</a></span><span class="preprocessor">#define J_START      0x10U</span></div>
    180 <div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span> </div>
    181 <div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="nes_8h.html#M_DRAWING">  101</a></span><span class="preprocessor">#define M_DRAWING    0x01U</span></div>
    182 <div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="nes_8h.html#M_TEXT_OUT">  102</a></span><span class="preprocessor">#define M_TEXT_OUT   0x02U</span></div>
    183 <div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="nes_8h.html#M_TEXT_INOUT">  103</a></span><span class="preprocessor">#define M_TEXT_INOUT 0x03U</span></div>
    184 <div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="nes_8h.html#M_NO_SCROLL">  109</a></span><span class="preprocessor">#define M_NO_SCROLL  0x04U</span></div>
    185 <div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="nes_8h.html#M_NO_INTERP">  113</a></span><span class="preprocessor">#define M_NO_INTERP  0x08U</span></div>
    186 <div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span> </div>
    187 <div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="nes_8h.html#S_PALETTE">  119</a></span><span class="preprocessor">#define S_PALETTE    0x10U</span></div>
    188 <div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="nes_8h.html#S_FLIPX">  123</a></span><span class="preprocessor">#define S_FLIPX      0x40U</span></div>
    189 <div class="line"><a id="l00127" name="l00127"></a><span class="lineno"><a class="line" href="nes_8h.html#S_FLIPY">  127</a></span><span class="preprocessor">#define S_FLIPY      0x80U</span></div>
    190 <div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="nes_8h.html#S_PRIORITY">  132</a></span><span class="preprocessor">#define S_PRIORITY   0x20U</span></div>
    191 <div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="nes_8h.html#S_PAL">  136</a></span><span class="preprocessor">#define S_PAL(n)     n</span></div>
    192 <div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span> </div>
    193 <div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span><span class="comment">/* Interrupt flags */</span></div>
    194 <div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="nes_8h.html#EMPTY_IFLAG">  141</a></span><span class="preprocessor">#define EMPTY_IFLAG  0x00U</span></div>
    195 <div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="nes_8h.html#VBL_IFLAG">  147</a></span><span class="preprocessor">#define VBL_IFLAG    0x01U</span></div>
    196 <div class="line"><a id="l00151" name="l00151"></a><span class="lineno"><a class="line" href="nes_8h.html#LCD_IFLAG">  151</a></span><span class="preprocessor">#define LCD_IFLAG    0x02U</span></div>
    197 <div class="line"><a id="l00155" name="l00155"></a><span class="lineno"><a class="line" href="nes_8h.html#TIM_IFLAG">  155</a></span><span class="preprocessor">#define TIM_IFLAG    0x04U</span></div>
    198 <div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span> </div>
    199 <div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span><span class="comment">/* DMG Palettes */</span></div>
    200 <div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="nes_8h.html#DMG_BLACK">  158</a></span><span class="preprocessor">#define DMG_BLACK     0x03</span></div>
    201 <div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="nes_8h.html#DMG_DARK_GRAY">  159</a></span><span class="preprocessor">#define DMG_DARK_GRAY 0x02</span></div>
    202 <div class="line"><a id="l00160" name="l00160"></a><span class="lineno"><a class="line" href="nes_8h.html#DMG_LITE_GRAY">  160</a></span><span class="preprocessor">#define DMG_LITE_GRAY 0x01</span></div>
    203 <div class="line"><a id="l00161" name="l00161"></a><span class="lineno"><a class="line" href="nes_8h.html#DMG_WHITE">  161</a></span><span class="preprocessor">#define DMG_WHITE     0x00</span></div>
    204 <div class="line"><a id="l00181" name="l00181"></a><span class="lineno"><a class="line" href="nes_8h.html#DMG_PALETTE">  181</a></span><span class="preprocessor">#define DMG_PALETTE(C0, C1, C2, C3) ((uint8_t)((((C3) &amp; 0x03) &lt;&lt; 6) | (((C2) &amp; 0x03) &lt;&lt; 4) | (((C1) &amp; 0x03) &lt;&lt; 2) | ((C0) &amp; 0x03)))</span></div>
    205 <div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span> </div>
    206 <div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span><span class="comment">/* Limits */</span></div>
    207 <div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="nes_8h.html#SCREENWIDTH">  186</a></span><span class="preprocessor">#define SCREENWIDTH  DEVICE_SCREEN_PX_WIDTH</span></div>
    208 <div class="line"><a id="l00189" name="l00189"></a><span class="lineno"><a class="line" href="nes_8h.html#SCREENHEIGHT">  189</a></span><span class="preprocessor">#define SCREENHEIGHT DEVICE_SCREEN_PX_HEIGHT</span></div>
    209 <div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span> </div>
    210 <div class="line"><a id="l00193" name="l00193"></a><span class="lineno"><a class="line" href="nes_8h.html#int_handler">  193</a></span><span class="keyword">typedef</span> void (*<a class="code hl_typedef" href="nes_8h.html#int_handler">int_handler</a>)(void) <a class="code hl_define" href="asm_2types_8h.html#NONBANKED">NONBANKED</a>;</div>
    211 <div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span> </div>
    212 <div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="nes_8h.html#remove_VBL">  202</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#remove_VBL">remove_VBL</a>(<a class="code hl_typedef" href="nes_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>) NO_OVERLAY_LOCALS;</div>
    213 <div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span> </div>
    214 <div class="line"><a id="l00207" name="l00207"></a><span class="lineno"><a class="line" href="nes_8h.html#remove_LCD">  207</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#remove_LCD">remove_LCD</a>(<a class="code hl_typedef" href="nes_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>) NO_OVERLAY_LOCALS;</div>
    215 <div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span> </div>
    216 <div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="nes_8h.html#remove_TIM">  212</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#remove_TIM">remove_TIM</a>(<a class="code hl_typedef" href="nes_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>) NO_OVERLAY_LOCALS;</div>
    217 <div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span> </div>
    218 <div class="line"><a id="l00242" name="l00242"></a><span class="lineno"><a class="line" href="nes_8h.html#add_VBL">  242</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#add_VBL">add_VBL</a>(<a class="code hl_typedef" href="nes_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>) NO_OVERLAY_LOCALS;</div>
    219 <div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span> </div>
    220 <div class="line"><a id="l00276" name="l00276"></a><span class="lineno"><a class="line" href="nes_8h.html#add_LCD">  276</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#add_LCD">add_LCD</a>(<a class="code hl_typedef" href="nes_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>) NO_OVERLAY_LOCALS;</div>
    221 <div class="line"><a id="l00277" name="l00277"></a><span class="lineno">  277</span> </div>
    222 <div class="line"><a id="l00295" name="l00295"></a><span class="lineno"><a class="line" href="nes_8h.html#add_TIM">  295</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#add_TIM">add_TIM</a>(<a class="code hl_typedef" href="nes_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>) NO_OVERLAY_LOCALS;</div>
    223 <div class="line"><a id="l00296" name="l00296"></a><span class="lineno">  296</span> </div>
    224 <div class="line"><a id="l00299" name="l00299"></a><span class="lineno"><a class="line" href="nes_8h.html#MAX_LCD_ISR_CALLS">  299</a></span><span class="preprocessor">#define MAX_LCD_ISR_CALLS 4</span></div>
    225 <div class="line"><a id="l00300" name="l00300"></a><span class="lineno">  300</span> </div>
    226 <div class="line"><a id="l00307" name="l00307"></a><span class="lineno"><a class="line" href="nes_8h.html#mode">  307</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#mode">mode</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> m) NO_OVERLAY_LOCALS;</div>
    227 <div class="line"><a id="l00308" name="l00308"></a><span class="lineno">  308</span> </div>
    228 <div class="line"><a id="l00313" name="l00313"></a><span class="lineno"><a class="line" href="nes_8h.html#get_mode">  313</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="nes_8h.html#get_mode">get_mode</a>(<span class="keywordtype">void</span>) NO_OVERLAY_LOCALS;</div>
    229 <div class="line"><a id="l00314" name="l00314"></a><span class="lineno">  314</span> </div>
    230 <div class="line"><a id="l00318" name="l00318"></a><span class="lineno"><a class="line" href="nes_8h.html#get_system">  318</a></span><span class="keyword">inline</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="nes_8h.html#get_system">get_system</a>(<span class="keywordtype">void</span>) {</div>
    231 <div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span>    <span class="keywordflow">if</span>(<a class="code hl_variable" href="nes_8h.html#_SYSTEM">_SYSTEM</a> == <a class="code hl_define" href="nes_8h.html#SYSTEM_BITS_NTSC">SYSTEM_BITS_NTSC</a>)</div>
    232 <div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span>        <span class="keywordflow">return</span> <a class="code hl_define" href="nes_8h.html#SYSTEM_60HZ">SYSTEM_60HZ</a>;</div>
    233 <div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span>    <span class="keywordflow">else</span></div>
    234 <div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span>        <span class="keywordflow">return</span> <a class="code hl_define" href="nes_8h.html#SYSTEM_50HZ">SYSTEM_50HZ</a>;</div>
    235 <div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span>}</div>
    236 <div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span> </div>
    237 <div class="line"><a id="l00331" name="l00331"></a><span class="lineno">  331</span><span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> <a class="code hl_variable" href="nes_8h.html#sys_time">sys_time</a>;</div>
    238 <div class="line"><a id="l00332" name="l00332"></a><span class="lineno">  332</span> </div>
    239 <div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span><span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="nes_8h.html#_current_bank">_current_bank</a>;</div>
    240 <div class="line"><a id="l00344" name="l00344"></a><span class="lineno"><a class="line" href="nes_8h.html#CURRENT_BANK">  344</a></span><span class="preprocessor">#define CURRENT_BANK _current_bank</span></div>
    241 <div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span> </div>
    242 <div class="line"><a id="l00355" name="l00355"></a><span class="lineno">  355</span><span class="preprocessor">#ifndef BANK</span></div>
    243 <div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="nes_8h.html#BANK">  356</a></span><span class="preprocessor">#define BANK(VARNAME) ( (uint8_t) &amp; __bank_ ## VARNAME )</span></div>
    244 <div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span><span class="preprocessor">#endif</span></div>
    245 <div class="line"><a id="l00358" name="l00358"></a><span class="lineno">  358</span> </div>
    246 <div class="line"><a id="l00371" name="l00371"></a><span class="lineno"><a class="line" href="nes_8h.html#BANKREF">  371</a></span><span class="preprocessor">#define BANKREF(VARNAME) void __func_ ## VARNAME(void) __banked __naked { \</span></div>
    247 <div class="line"><a id="l00372" name="l00372"></a><span class="lineno">  372</span><span class="preprocessor">__asm \</span></div>
    248 <div class="line"><a id="l00373" name="l00373"></a><span class="lineno">  373</span><span class="preprocessor">    .local b___func_ ## VARNAME \</span></div>
    249 <div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span><span class="preprocessor">    ___bank_ ## VARNAME = b___func_ ## VARNAME \</span></div>
    250 <div class="line"><a id="l00375" name="l00375"></a><span class="lineno">  375</span><span class="preprocessor">    .globl ___bank_ ## VARNAME \</span></div>
    251 <div class="line"><a id="l00376" name="l00376"></a><span class="lineno">  376</span><span class="preprocessor">__endasm; \</span></div>
    252 <div class="line"><a id="l00377" name="l00377"></a><span class="lineno">  377</span><span class="preprocessor">}</span></div>
    253 <div class="line"><a id="l00378" name="l00378"></a><span class="lineno">  378</span> </div>
    254 <div class="line"><a id="l00388" name="l00388"></a><span class="lineno"><a class="line" href="nes_8h.html#BANKREF_EXTERN">  388</a></span><span class="preprocessor">#define BANKREF_EXTERN(VARNAME) extern const void __bank_ ## VARNAME;</span></div>
    255 <div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span> </div>
    256 <div class="line"><a id="l00393" name="l00393"></a><span class="lineno"><a class="line" href="nes_8h.html#SWITCH_ROM_DUMMY">  393</a></span><span class="preprocessor">#define SWITCH_ROM_DUMMY(b)</span></div>
    257 <div class="line"><a id="l00394" name="l00394"></a><span class="lineno">  394</span> </div>
    258 <div class="line"><a id="l00398" name="l00398"></a><span class="lineno"><a class="line" href="nes_8h.html#SWITCH_ROM_UNROM">  398</a></span><span class="preprocessor">#define SWITCH_ROM_UNROM(b) _switch_prg0(b)</span></div>
    259 <div class="line"><a id="l00399" name="l00399"></a><span class="lineno">  399</span> </div>
    260 <div class="line"><a id="l00405" name="l00405"></a><span class="lineno"><a class="line" href="nes_8h.html#SWITCH_ROM">  405</a></span><span class="preprocessor">#define SWITCH_ROM SWITCH_ROM_UNROM</span></div>
    261 <div class="line"><a id="l00406" name="l00406"></a><span class="lineno">  406</span> </div>
    262 <div class="line"><a id="l00411" name="l00411"></a><span class="lineno"><a class="line" href="nes_8h.html#SWITCH_RAM">  411</a></span><span class="preprocessor">#define SWITCH_RAM(b) 0</span></div>
    263 <div class="line"><a id="l00412" name="l00412"></a><span class="lineno">  412</span> </div>
    264 <div class="line"><a id="l00416" name="l00416"></a><span class="lineno"><a class="line" href="nes_8h.html#ENABLE_RAM">  416</a></span><span class="preprocessor">#define ENABLE_RAM</span></div>
    265 <div class="line"><a id="l00417" name="l00417"></a><span class="lineno">  417</span> </div>
    266 <div class="line"><a id="l00421" name="l00421"></a><span class="lineno"><a class="line" href="nes_8h.html#DISABLE_RAM">  421</a></span><span class="preprocessor">#define DISABLE_RAM</span></div>
    267 <div class="line"><a id="l00422" name="l00422"></a><span class="lineno">  422</span> </div>
    268 <div class="line"><a id="l00427" name="l00427"></a><span class="lineno"><a class="line" href="nes_8h.html#delay">  427</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#delay">delay</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> <a class="code hl_variable" href="gb_8h.html#d">d</a>) NO_OVERLAY_LOCALS;</div>
    269 <div class="line"><a id="l00428" name="l00428"></a><span class="lineno">  428</span> </div>
    270 <div class="line"><a id="l00438" name="l00438"></a><span class="lineno"><a class="line" href="nes_8h.html#joypad">  438</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="nes_8h.html#joypad">joypad</a>(<span class="keywordtype">void</span>) NO_OVERLAY_LOCALS;</div>
    271 <div class="line"><a id="l00439" name="l00439"></a><span class="lineno">  439</span> </div>
    272 <div class="line"><a id="l00448" name="l00448"></a><span class="lineno"><a class="line" href="nes_8h.html#waitpad">  448</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="nes_8h.html#waitpad">waitpad</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> mask) NO_OVERLAY_LOCALS;</div>
    273 <div class="line"><a id="l00449" name="l00449"></a><span class="lineno">  449</span> </div>
    274 <div class="line"><a id="l00453" name="l00453"></a><span class="lineno"><a class="line" href="nes_8h.html#waitpadup">  453</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#waitpadup">waitpadup</a>(<span class="keywordtype">void</span>) NO_OVERLAY_LOCALS;</div>
    275 <div class="line"><a id="l00454" name="l00454"></a><span class="lineno">  454</span> </div>
    276 <div class="line"><a id="l00460" name="l00460"></a><span class="lineno">  460</span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
    277 <div class="line"><a id="l00461" name="l00461"></a><span class="lineno">  461</span>    <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> npads;</div>
    278 <div class="line"><a id="l00462" name="l00462"></a><span class="lineno">  462</span>    <span class="keyword">union </span>{</div>
    279 <div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  463</span>        <span class="keyword">struct </span>{</div>
    280 <div class="line"><a id="l00464" name="l00464"></a><span class="lineno">  464</span>            <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> joy0, joy1, joy2, joy3;</div>
    281 <div class="line"><a id="l00465" name="l00465"></a><span class="lineno">  465</span>        };</div>
    282 <div class="line"><a id="l00466" name="l00466"></a><span class="lineno">  466</span>        <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> joypads[4];</div>
    283 <div class="line"><a id="l00467" name="l00467"></a><span class="lineno">  467</span>    };</div>
    284 <div class="line"><a id="l00468" name="l00468"></a><span class="lineno">  468</span>} <a class="code hl_struct" href="structjoypads__t.html">joypads_t</a>;</div>
    285 <div class="line"><a id="l00469" name="l00469"></a><span class="lineno">  469</span> </div>
    286 <div class="line"><a id="l00478" name="l00478"></a><span class="lineno"><a class="line" href="nes_8h.html#joypad_init">  478</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="nes_8h.html#joypad_init">joypad_init</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> npads, <a class="code hl_struct" href="structjoypads__t.html">joypads_t</a> * joypads) NO_OVERLAY_LOCALS;</div>
    287 <div class="line"><a id="l00479" name="l00479"></a><span class="lineno">  479</span> </div>
    288 <div class="line"><a id="l00484" name="l00484"></a><span class="lineno"><a class="line" href="nes_8h.html#joypad_ex">  484</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#joypad_ex">joypad_ex</a>(<a class="code hl_struct" href="structjoypads__t.html">joypads_t</a> * joypads) NO_OVERLAY_LOCALS;</div>
    289 <div class="line"><a id="l00485" name="l00485"></a><span class="lineno">  485</span> </div>
    290 <div class="line"><a id="l00486" name="l00486"></a><span class="lineno">  486</span> </div>
    291 <div class="line"><a id="l00487" name="l00487"></a><span class="lineno">  487</span> </div>
    292 <div class="line"><a id="l00496" name="l00496"></a><span class="lineno"><a class="line" href="nes_8h.html#enable_interrupts">  496</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#enable_interrupts">enable_interrupts</a>(<span class="keywordtype">void</span>) {</div>
    293 <div class="line"><a id="l00497" name="l00497"></a><span class="lineno">  497</span>    __asm__(<span class="stringliteral">&quot;cli&quot;</span>);</div>
    294 <div class="line"><a id="l00498" name="l00498"></a><span class="lineno">  498</span>}</div>
    295 <div class="line"><a id="l00499" name="l00499"></a><span class="lineno">  499</span> </div>
    296 <div class="line"><a id="l00512" name="l00512"></a><span class="lineno"><a class="line" href="nes_8h.html#disable_interrupts">  512</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#disable_interrupts">disable_interrupts</a>(<span class="keywordtype">void</span>) {</div>
    297 <div class="line"><a id="l00513" name="l00513"></a><span class="lineno">  513</span>    __asm__(<span class="stringliteral">&quot;sei&quot;</span>);</div>
    298 <div class="line"><a id="l00514" name="l00514"></a><span class="lineno">  514</span>}</div>
    299 <div class="line"><a id="l00515" name="l00515"></a><span class="lineno">  515</span> </div>
    300 <div class="line"><a id="l00521" name="l00521"></a><span class="lineno"><a class="line" href="nes_8h.html#set_interrupts">  521</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_interrupts">set_interrupts</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> flags) NO_OVERLAY_LOCALS;</div>
    301 <div class="line"><a id="l00522" name="l00522"></a><span class="lineno">  522</span> </div>
    302 <div class="line"><a id="l00534" name="l00534"></a><span class="lineno"><a class="line" href="gb_8h.html#reset">  534</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#reset">reset</a>(<span class="keywordtype">void</span>) {</div>
    303 <div class="line"><a id="l00535" name="l00535"></a><span class="lineno">  535</span>    __asm__(<span class="stringliteral">&quot;jmp [0xFFFC]&quot;</span>);</div>
    304 <div class="line"><a id="l00536" name="l00536"></a><span class="lineno">  536</span>}</div>
    305 <div class="line"><a id="l00537" name="l00537"></a><span class="lineno">  537</span> </div>
    306 <div class="line"><a id="l00547" name="l00547"></a><span class="lineno"><a class="line" href="nes_8h.html#vsync">  547</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#vsync">vsync</a>(<span class="keywordtype">void</span>) NO_OVERLAY_LOCALS;</div>
    307 <div class="line"><a id="l00548" name="l00548"></a><span class="lineno">  548</span> </div>
    308 <div class="line"><a id="l00551" name="l00551"></a><span class="lineno"><a class="line" href="nes_8h.html#wait_vbl_done">  551</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#wait_vbl_done">wait_vbl_done</a>(<span class="keywordtype">void</span>) NO_OVERLAY_LOCALS;</div>
    309 <div class="line"><a id="l00552" name="l00552"></a><span class="lineno">  552</span> </div>
    310 <div class="line"><a id="l00557" name="l00557"></a><span class="lineno"><a class="line" href="nes_8h.html#display_on">  557</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#display_on">display_on</a>(<span class="keywordtype">void</span>) NO_OVERLAY_LOCALS;</div>
    311 <div class="line"><a id="l00558" name="l00558"></a><span class="lineno">  558</span> </div>
    312 <div class="line"><a id="l00562" name="l00562"></a><span class="lineno">  562</span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#display_off">display_off</a>(<span class="keywordtype">void</span>) NO_OVERLAY_LOCALS;</div>
    313 <div class="line"><a id="l00563" name="l00563"></a><span class="lineno">  563</span> </div>
    314 <div class="line"><a id="l00566" name="l00566"></a><span class="lineno"><a class="line" href="nes_8h.html#refresh_OAM">  566</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#refresh_OAM">refresh_OAM</a>(<span class="keywordtype">void</span>) NO_OVERLAY_LOCALS;</div>
    315 <div class="line"><a id="l00567" name="l00567"></a><span class="lineno">  567</span> </div>
    316 <div class="line"><a id="l00571" name="l00571"></a><span class="lineno"><a class="line" href="nes_8h.html#DISPLAY_ON">  571</a></span><span class="preprocessor">#define DISPLAY_ON \</span></div>
    317 <div class="line"><a id="l00572" name="l00572"></a><span class="lineno">  572</span><span class="preprocessor">  display_on();</span></div>
    318 <div class="line"><a id="l00573" name="l00573"></a><span class="lineno">  573</span> </div>
    319 <div class="line"><a id="l00577" name="l00577"></a><span class="lineno"><a class="line" href="nes_8h.html#DISPLAY_OFF">  577</a></span><span class="preprocessor">#define DISPLAY_OFF \</span></div>
    320 <div class="line"><a id="l00578" name="l00578"></a><span class="lineno">  578</span><span class="preprocessor">  display_off();</span></div>
    321 <div class="line"><a id="l00579" name="l00579"></a><span class="lineno">  579</span> </div>
    322 <div class="line"><a id="l00583" name="l00583"></a><span class="lineno"><a class="line" href="nes_8h.html#HIDE_LEFT_COLUMN">  583</a></span><span class="preprocessor">#define HIDE_LEFT_COLUMN \</span></div>
    323 <div class="line"><a id="l00584" name="l00584"></a><span class="lineno">  584</span><span class="preprocessor">    shadow_PPUMASK &amp;= ~(PPUMASK_SHOW_BG_LC | PPUMASK_SHOW_SPR_LC); \</span></div>
    324 <div class="line"><a id="l00585" name="l00585"></a><span class="lineno">  585</span><span class="preprocessor"></span> </div>
    325 <div class="line"><a id="l00589" name="l00589"></a><span class="lineno"><a class="line" href="nes_8h.html#SHOW_LEFT_COLUMN">  589</a></span><span class="preprocessor">#define SHOW_LEFT_COLUMN \</span></div>
    326 <div class="line"><a id="l00590" name="l00590"></a><span class="lineno">  590</span><span class="preprocessor">    shadow_PPUMASK |= (PPUMASK_SHOW_BG_LC | PPUMASK_SHOW_SPR_LC);</span></div>
    327 <div class="line"><a id="l00591" name="l00591"></a><span class="lineno">  591</span> </div>
    328 <div class="line"><a id="l00595" name="l00595"></a><span class="lineno"><a class="line" href="nes_8h.html#SET_BORDER_COLOR">  595</a></span><span class="preprocessor">#define SET_BORDER_COLOR(C)</span></div>
    329 <div class="line"><a id="l00596" name="l00596"></a><span class="lineno">  596</span> </div>
    330 <div class="line"><a id="l00600" name="l00600"></a><span class="lineno"><a class="line" href="nes_8h.html#SHOW_BKG">  600</a></span><span class="preprocessor">#define SHOW_BKG \</span></div>
    331 <div class="line"><a id="l00601" name="l00601"></a><span class="lineno">  601</span><span class="preprocessor">    shadow_PPUMASK |= PPUMASK_SHOW_BG;</span></div>
    332 <div class="line"><a id="l00602" name="l00602"></a><span class="lineno">  602</span> </div>
    333 <div class="line"><a id="l00606" name="l00606"></a><span class="lineno"><a class="line" href="nes_8h.html#HIDE_BKG">  606</a></span><span class="preprocessor">#define HIDE_BKG \</span></div>
    334 <div class="line"><a id="l00607" name="l00607"></a><span class="lineno">  607</span><span class="preprocessor">    shadow_PPUMASK &amp;= ~PPUMASK_SHOW_BG;</span></div>
    335 <div class="line"><a id="l00608" name="l00608"></a><span class="lineno">  608</span> </div>
    336 <div class="line"><a id="l00612" name="l00612"></a><span class="lineno"><a class="line" href="nes_8h.html#SHOW_SPRITES">  612</a></span><span class="preprocessor">#define SHOW_SPRITES \</span></div>
    337 <div class="line"><a id="l00613" name="l00613"></a><span class="lineno">  613</span><span class="preprocessor">    shadow_PPUMASK |= PPUMASK_SHOW_SPR;</span></div>
    338 <div class="line"><a id="l00614" name="l00614"></a><span class="lineno">  614</span> </div>
    339 <div class="line"><a id="l00618" name="l00618"></a><span class="lineno"><a class="line" href="nes_8h.html#HIDE_SPRITES">  618</a></span><span class="preprocessor">#define HIDE_SPRITES \</span></div>
    340 <div class="line"><a id="l00619" name="l00619"></a><span class="lineno">  619</span><span class="preprocessor">    shadow_PPUMASK &amp;= ~PPUMASK_SHOW_SPR;</span></div>
    341 <div class="line"><a id="l00620" name="l00620"></a><span class="lineno">  620</span> </div>
    342 <div class="line"><a id="l00624" name="l00624"></a><span class="lineno"><a class="line" href="nes_8h.html#SPRITES_8x16">  624</a></span><span class="preprocessor">#define SPRITES_8x16 \</span></div>
    343 <div class="line"><a id="l00625" name="l00625"></a><span class="lineno">  625</span><span class="preprocessor">  shadow_PPUCTRL |= PPUCTRL_SPR_8X16;</span></div>
    344 <div class="line"><a id="l00626" name="l00626"></a><span class="lineno">  626</span> </div>
    345 <div class="line"><a id="l00630" name="l00630"></a><span class="lineno"><a class="line" href="nes_8h.html#SPRITES_8x8">  630</a></span><span class="preprocessor">#define SPRITES_8x8 \</span></div>
    346 <div class="line"><a id="l00631" name="l00631"></a><span class="lineno">  631</span><span class="preprocessor">  shadow_PPUCTRL &amp;= ~PPUCTRL_SPR_8X16;</span></div>
    347 <div class="line"><a id="l00632" name="l00632"></a><span class="lineno">  632</span> </div>
    348 <div class="line"><a id="l00633" name="l00633"></a><span class="lineno">  633</span> </div>
    349 <div class="line"><a id="l00634" name="l00634"></a><span class="lineno">  634</span> </div>
    350 <div class="line"><a id="l00641" name="l00641"></a><span class="lineno"><a class="line" href="nes_8h.html#set_vram_byte">  641</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_vram_byte">set_vram_byte</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> * addr, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> v) NO_OVERLAY_LOCALS;</div>
    351 <div class="line"><a id="l00642" name="l00642"></a><span class="lineno">  642</span> </div>
    352 <div class="line"><a id="l00646" name="l00646"></a><span class="lineno"><a class="line" href="nes_8h.html#get_bkg_xy_addr">  646</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> * <a class="code hl_function" href="nes_8h.html#get_bkg_xy_addr">get_bkg_xy_addr</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y) NO_OVERLAY_LOCALS;</div>
    353 <div class="line"><a id="l00647" name="l00647"></a><span class="lineno">  647</span> </div>
    354 <div class="line"><a id="l00648" name="l00648"></a><span class="lineno"><a class="line" href="nes_8h.html#COMPAT_PALETTE">  648</a></span><span class="preprocessor">#define COMPAT_PALETTE(C0,C1,C2,C3) ((uint8_t)(((C3) &lt;&lt; 6) | ((C2) &lt;&lt; 4) | ((C1) &lt;&lt; 2) | (C0)))</span></div>
    355 <div class="line"><a id="l00649" name="l00649"></a><span class="lineno">  649</span> </div>
    356 <div class="line"><a id="l00652" name="l00652"></a><span class="lineno"><a class="line" href="nes_8h.html#set_2bpp_palette">  652</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_2bpp_palette">set_2bpp_palette</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> palette) {</div>
    357 <div class="line"><a id="l00653" name="l00653"></a><span class="lineno">  653</span>    palette;</div>
    358 <div class="line"><a id="l00654" name="l00654"></a><span class="lineno">  654</span>}</div>
    359 <div class="line"><a id="l00655" name="l00655"></a><span class="lineno">  655</span> </div>
    360 <div class="line"><a id="l00656" name="l00656"></a><span class="lineno">  656</span><span class="keyword">extern</span> <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> <a class="code hl_variable" href="nes_8h.html#_current_1bpp_colors">_current_1bpp_colors</a>;</div>
    361 <div class="line"><a id="l00657" name="l00657"></a><span class="lineno"><a class="line" href="nes_8h.html#set_1bpp_colors_ex">  657</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_1bpp_colors_ex">set_1bpp_colors_ex</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> fgcolor, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> bgcolor, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="nes_8h.html#mode">mode</a>) NO_OVERLAY_LOCALS;</div>
    362 <div class="line"><a id="l00658" name="l00658"></a><span class="lineno"><a class="line" href="nes_8h.html#set_1bpp_colors">  658</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_1bpp_colors">set_1bpp_colors</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> fgcolor, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> bgcolor) {</div>
    363 <div class="line"><a id="l00659" name="l00659"></a><span class="lineno">  659</span>    <a class="code hl_function" href="nes_8h.html#set_1bpp_colors_ex">set_1bpp_colors_ex</a>(fgcolor, bgcolor, 0);</div>
    364 <div class="line"><a id="l00660" name="l00660"></a><span class="lineno">  660</span>}</div>
    365 <div class="line"><a id="l00661" name="l00661"></a><span class="lineno">  661</span> </div>
    366 <div class="line"><a id="l00671" name="l00671"></a><span class="lineno"><a class="line" href="nes_8h.html#set_bkg_data">  671</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_data">set_bkg_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> first_tile, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *data) NO_OVERLAY_LOCALS;</div>
    367 <div class="line"><a id="l00672" name="l00672"></a><span class="lineno"><a class="line" href="nes_8h.html#set_bkg_2bpp_data">  672</a></span><span class="preprocessor">#define set_bkg_2bpp_data set_bkg_data</span></div>
    368 <div class="line"><a id="l00673" name="l00673"></a><span class="lineno">  673</span> </div>
    369 <div class="line"><a id="l00685" name="l00685"></a><span class="lineno"><a class="line" href="nes_8h.html#set_bkg_1bpp_data">  685</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_1bpp_data">set_bkg_1bpp_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> first_tile, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *data) NO_OVERLAY_LOCALS;</div>
    370 <div class="line"><a id="l00686" name="l00686"></a><span class="lineno">  686</span> </div>
    371 <div class="line"><a id="l00705" name="l00705"></a><span class="lineno"><a class="line" href="nes_8h.html#set_bkg_tiles">  705</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_tiles">set_bkg_tiles</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles) NO_OVERLAY_LOCALS;</div>
    372 <div class="line"><a id="l00706" name="l00706"></a><span class="lineno"><a class="line" href="nes_8h.html#set_tile_map">  706</a></span><span class="preprocessor">#define set_tile_map set_bkg_tiles</span></div>
    373 <div class="line"><a id="l00707" name="l00707"></a><span class="lineno">  707</span> </div>
    374 <div class="line"><a id="l00731" name="l00731"></a><span class="lineno"><a class="line" href="nes_8h.html#set_bkg_attributes_nes16x16">  731</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_attributes_nes16x16">set_bkg_attributes_nes16x16</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *attributes) NO_OVERLAY_LOCALS;</div>
    375 <div class="line"><a id="l00732" name="l00732"></a><span class="lineno">  732</span> </div>
    376 <div class="line"><a id="l00756" name="l00756"></a><span class="lineno"><a class="line" href="nes_8h.html#set_bkg_attributes">  756</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_attributes">set_bkg_attributes</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *attributes)</div>
    377 <div class="line"><a id="l00757" name="l00757"></a><span class="lineno">  757</span>{</div>
    378 <div class="line"><a id="l00758" name="l00758"></a><span class="lineno">  758</span>    <a class="code hl_function" href="nes_8h.html#set_bkg_attributes_nes16x16">set_bkg_attributes_nes16x16</a>(x &gt;&gt; 1, y &gt;&gt; 1, (w + 1) &gt;&gt; 1, (<a class="code hl_variable" href="gb_8h.html#h">h</a> + 1) &gt;&gt; 1, attributes);</div>
    379 <div class="line"><a id="l00759" name="l00759"></a><span class="lineno">  759</span>}</div>
    380 <div class="line"><a id="l00805" name="l00805"></a><span class="lineno"><a class="line" href="nes_8h.html#set_bkg_submap_attributes_nes16x">  805</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_submap_attributes_nes16x">set_bkg_submap_attributes_nes16x16</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *map, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> map_w) NO_OVERLAY_LOCALS;</div>
    381 <div class="line"><a id="l00806" name="l00806"></a><span class="lineno">  806</span> </div>
    382 <div class="line"><a id="l00819" name="l00819"></a><span class="lineno"><a class="line" href="nes_8h.html#set_bkg_submap_attributes">  819</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_submap_attributes">set_bkg_submap_attributes</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *attributes, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> map_w)</div>
    383 <div class="line"><a id="l00820" name="l00820"></a><span class="lineno">  820</span>{</div>
    384 <div class="line"><a id="l00821" name="l00821"></a><span class="lineno">  821</span>    <a class="code hl_function" href="nes_8h.html#set_bkg_submap_attributes_nes16x">set_bkg_submap_attributes_nes16x16</a>(x &gt;&gt; 1, y &gt;&gt; 1, (w + 1) &gt;&gt; 1, (<a class="code hl_variable" href="gb_8h.html#h">h</a> + 1) &gt;&gt; 1, attributes, (map_w + 1) &gt;&gt; 1);</div>
    385 <div class="line"><a id="l00822" name="l00822"></a><span class="lineno">  822</span>}</div>
    386 <div class="line"><a id="l00823" name="l00823"></a><span class="lineno">  823</span> </div>
    387 <div class="line"><a id="l00824" name="l00824"></a><span class="lineno">  824</span> </div>
    388 <div class="line"><a id="l00843" name="l00843"></a><span class="lineno">  843</span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_based_tiles">set_bkg_based_tiles</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile);</div>
    389 <div class="line"><a id="l00844" name="l00844"></a><span class="lineno">  844</span> </div>
    390 <div class="line"><a id="l00845" name="l00845"></a><span class="lineno">  845</span> </div>
    391 <div class="line"><a id="l00874" name="l00874"></a><span class="lineno">  874</span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_submap">set_bkg_submap</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *map, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> map_w) NO_OVERLAY_LOCALS;</div>
    392 <div class="line"><a id="l00875" name="l00875"></a><span class="lineno"><a class="line" href="nes_8h.html#set_tile_submap">  875</a></span><span class="preprocessor">#define set_tile_submap set_bkg_submap</span></div>
    393 <div class="line"><a id="l00876" name="l00876"></a><span class="lineno">  876</span> </div>
    394 <div class="line"><a id="l00877" name="l00877"></a><span class="lineno">  877</span> </div>
    395 <div class="line"><a id="l00897" name="l00897"></a><span class="lineno">  897</span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_based_submap">set_bkg_based_submap</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *map, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> map_w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile);</div>
    396 <div class="line"><a id="l00898" name="l00898"></a><span class="lineno">  898</span> </div>
    397 <div class="line"><a id="l00899" name="l00899"></a><span class="lineno">  899</span> </div>
    398 <div class="line"><a id="l00911" name="l00911"></a><span class="lineno"><a class="line" href="nes_8h.html#get_bkg_tiles">  911</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#get_bkg_tiles">get_bkg_tiles</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles) NO_OVERLAY_LOCALS;</div>
    399 <div class="line"><a id="l00912" name="l00912"></a><span class="lineno">  912</span> </div>
    400 <div class="line"><a id="l00913" name="l00913"></a><span class="lineno">  913</span> </div>
    401 <div class="line"><a id="l00921" name="l00921"></a><span class="lineno"><a class="line" href="nes_8h.html#set_bkg_tile_xy">  921</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> * <a class="code hl_function" href="nes_8h.html#set_bkg_tile_xy">set_bkg_tile_xy</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> t) NO_OVERLAY_LOCALS;</div>
    402 <div class="line"><a id="l00922" name="l00922"></a><span class="lineno"><a class="line" href="nes_8h.html#set_tile_xy">  922</a></span><span class="preprocessor">#define set_tile_xy set_bkg_tile_xy</span></div>
    403 <div class="line"><a id="l00923" name="l00923"></a><span class="lineno">  923</span> </div>
    404 <div class="line"><a id="l00931" name="l00931"></a><span class="lineno"><a class="line" href="nes_8h.html#set_bkg_attribute_xy_nes16x16">  931</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_attribute_xy_nes16x16">set_bkg_attribute_xy_nes16x16</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> a) NO_OVERLAY_LOCALS;</div>
    405 <div class="line"><a id="l00932" name="l00932"></a><span class="lineno">  932</span> </div>
    406 <div class="line"><a id="l00945" name="l00945"></a><span class="lineno"><a class="line" href="nes_8h.html#set_bkg_attribute_xy">  945</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_attribute_xy">set_bkg_attribute_xy</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> a)</div>
    407 <div class="line"><a id="l00946" name="l00946"></a><span class="lineno">  946</span>{</div>
    408 <div class="line"><a id="l00947" name="l00947"></a><span class="lineno">  947</span>    <a class="code hl_function" href="nes_8h.html#set_bkg_attribute_xy_nes16x16">set_bkg_attribute_xy_nes16x16</a>(x &gt;&gt; 1, y &gt;&gt; 1, a);</div>
    409 <div class="line"><a id="l00948" name="l00948"></a><span class="lineno">  948</span>}</div>
    410 <div class="line"><a id="l00949" name="l00949"></a><span class="lineno"><a class="line" href="nes_8h.html#set_attribute_xy">  949</a></span><span class="preprocessor">#define set_attribute_xy set_bkg_attribute_xy</span></div>
    411 <div class="line"><a id="l00950" name="l00950"></a><span class="lineno">  950</span> </div>
    412 <div class="line"><a id="l00957" name="l00957"></a><span class="lineno"><a class="line" href="nes_8h.html#get_bkg_tile_xy">  957</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="nes_8h.html#get_bkg_tile_xy">get_bkg_tile_xy</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y) NO_OVERLAY_LOCALS;</div>
    413 <div class="line"><a id="l00958" name="l00958"></a><span class="lineno">  958</span> </div>
    414 <div class="line"><a id="l00959" name="l00959"></a><span class="lineno">  959</span> </div>
    415 <div class="line"><a id="l00973" name="l00973"></a><span class="lineno"><a class="line" href="nes_8h.html#move_bkg">  973</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#move_bkg">move_bkg</a>(<a class="code hl_typedef" href="nes_2hardware_8h.html#scroll_x_t">scroll_x_t</a> x, <a class="code hl_typedef" href="nes_2hardware_8h.html#scroll_y_t">scroll_y_t</a> y) {</div>
    416 <div class="line"><a id="l00974" name="l00974"></a><span class="lineno">  974</span>    <span class="comment">// store low 8 bits to shadow scroll registers</span></div>
    417 <div class="line"><a id="l00975" name="l00975"></a><span class="lineno">  975</span>    <a class="code hl_variable" href="nes_2hardware_8h.html#bkg_scroll_x">bkg_scroll_x</a> = (<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a>)x;</div>
    418 <div class="line"><a id="l00976" name="l00976"></a><span class="lineno">  976</span>    <a class="code hl_variable" href="nes_2hardware_8h.html#bkg_scroll_y">bkg_scroll_y</a> = (<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a>)(y &gt;= 240 ? (y - 240) : y);</div>
    419 <div class="line"><a id="l00977" name="l00977"></a><span class="lineno">  977</span>    <span class="comment">// store 9th bit of x and y in shadow PPUCTRL register</span></div>
    420 <div class="line"><a id="l00978" name="l00978"></a><span class="lineno">  978</span><span class="preprocessor">#if DEVICE_SCREEN_BUFFER_WIDTH &gt; 32 &amp;&amp; DEVICE_SCREEN_BUFFER_HEIGHT &gt; 30</span></div>
    421 <div class="line"><a id="l00979" name="l00979"></a><span class="lineno">  979</span>    <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> msb_x = (<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a>)((x &gt;&gt; 8) &amp; 1);</div>
    422 <div class="line"><a id="l00980" name="l00980"></a><span class="lineno">  980</span>    <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> msb_y = (<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a>)(y &gt;= 240 ? 1 : 0);</div>
    423 <div class="line"><a id="l00981" name="l00981"></a><span class="lineno">  981</span>    <a class="code hl_variable" href="nes_2hardware_8h.html#shadow_PPUCTRL">shadow_PPUCTRL</a> = (<a class="code hl_variable" href="nes_2hardware_8h.html#shadow_PPUCTRL">shadow_PPUCTRL</a> &amp; 0xFC) | (msb_y &lt;&lt; 1) | msb_x;</div>
    424 <div class="line"><a id="l00982" name="l00982"></a><span class="lineno">  982</span><span class="preprocessor">#elif DEVICE_SCREEN_BUFFER_WIDTH &gt; 32</span></div>
    425 <div class="line"><a id="l00983" name="l00983"></a><span class="lineno">  983</span>    <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> msb_x = (<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a>)((x &gt;&gt; 8) &amp; 1);</div>
    426 <div class="line"><a id="l00984" name="l00984"></a><span class="lineno">  984</span>    <a class="code hl_variable" href="nes_2hardware_8h.html#shadow_PPUCTRL">shadow_PPUCTRL</a> = (<a class="code hl_variable" href="nes_2hardware_8h.html#shadow_PPUCTRL">shadow_PPUCTRL</a> &amp; 0xFC) | msb_x;</div>
    427 <div class="line"><a id="l00985" name="l00985"></a><span class="lineno">  985</span><span class="preprocessor">#elif DEVICE_SCREEN_BUFFER_HEIGHT &gt; 30</span></div>
    428 <div class="line"><a id="l00986" name="l00986"></a><span class="lineno">  986</span>    <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> msb_y = (<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a>)(y &gt;= 240 ? 1 : 0);</div>
    429 <div class="line"><a id="l00987" name="l00987"></a><span class="lineno">  987</span>    <a class="code hl_variable" href="nes_2hardware_8h.html#shadow_PPUCTRL">shadow_PPUCTRL</a> = (<a class="code hl_variable" href="nes_2hardware_8h.html#shadow_PPUCTRL">shadow_PPUCTRL</a> &amp; 0xFC) | (msb_y &lt;&lt; 1);</div>
    430 <div class="line"><a id="l00988" name="l00988"></a><span class="lineno">  988</span><span class="preprocessor">#endif</span></div>
    431 <div class="line"><a id="l00989" name="l00989"></a><span class="lineno">  989</span>}</div>
    432 <div class="line"><a id="l00990" name="l00990"></a><span class="lineno">  990</span> </div>
    433 <div class="line"><a id="l00991" name="l00991"></a><span class="lineno">  991</span> </div>
    434 <div class="line"><a id="l01001" name="l01001"></a><span class="lineno"><a class="line" href="nes_8h.html#scroll_bkg"> 1001</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#scroll_bkg">scroll_bkg</a>(<a class="code hl_typedef" href="stdint_8h.html#int8_t">int8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#int8_t">int8_t</a> y) {</div>
    435 <div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span>    <a class="code hl_function" href="nes_8h.html#move_bkg">move_bkg</a>(<a class="code hl_variable" href="nes_2hardware_8h.html#bkg_scroll_x">bkg_scroll_x</a> + x, <a class="code hl_variable" href="nes_2hardware_8h.html#bkg_scroll_y">bkg_scroll_y</a> + y);</div>
    436 <div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span>}</div>
    437 <div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</span> </div>
    438 <div class="line"><a id="l01005" name="l01005"></a><span class="lineno"> 1005</span> </div>
    439 <div class="line"><a id="l01017" name="l01017"></a><span class="lineno"><a class="line" href="nes_8h.html#set_sprite_data"> 1017</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_sprite_data">set_sprite_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> first_tile, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *data) NO_OVERLAY_LOCALS;</div>
    440 <div class="line"><a id="l01018" name="l01018"></a><span class="lineno"><a class="line" href="nes_8h.html#set_sprite_2bpp_data"> 1018</a></span><span class="preprocessor">#define set_sprite_2bpp_data set_sprite_data</span></div>
    441 <div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span> </div>
    442 <div class="line"><a id="l01031" name="l01031"></a><span class="lineno"><a class="line" href="nes_8h.html#set_sprite_1bpp_data"> 1031</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_sprite_1bpp_data">set_sprite_1bpp_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> first_tile, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *data) NO_OVERLAY_LOCALS;</div>
    443 <div class="line"><a id="l01032" name="l01032"></a><span class="lineno"> 1032</span> </div>
    444 <div class="line"><a id="l01039" name="l01039"></a><span class="lineno"> 1039</span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_o_a_m__item__t.html">OAM_item_t</a> {</div>
    445 <div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span>    <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#y">y</a>;     <span class="comment">//&lt; Y coordinate of the sprite on screen - 1</span></div>
    446 <div class="line"><a id="l01041" name="l01041"></a><span class="lineno"> 1041</span>    <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#tile">tile</a>;  <span class="comment">//&lt; Sprite tile number</span></div>
    447 <div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span>    <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#prop">prop</a>;  <span class="comment">//&lt; OAM Property Flags</span></div>
    448 <div class="line"><a id="l01043" name="l01043"></a><span class="lineno"> 1043</span>    <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#x">x</a>;     <span class="comment">//&lt; X coordinate of the sprite on screen</span></div>
    449 <div class="line"><a id="l01044" name="l01044"></a><span class="lineno"><a class="line" href="nes_8h.html#OAM_item_t"> 1044</a></span>} <a class="code hl_typedef" href="nes_8h.html#OAM_item_t">OAM_item_t</a>;</div>
    450 <div class="line"><a id="l01045" name="l01045"></a><span class="lineno"> 1045</span> </div>
    451 <div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span> </div>
    452 <div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span><span class="keyword">extern</span> <span class="keyword">volatile</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_o_a_m__item__t.html">OAM_item_t</a> <a class="code hl_variable" href="nes_8h.html#shadow_OAM">shadow_OAM</a>[];</div>
    453 <div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span> </div>
    454 <div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span><span class="keyword">extern</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="nes_8h.html#_shadow_OAM_base">_shadow_OAM_base</a>;</div>
    455 <div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span> </div>
    456 <div class="line"><a id="l01055" name="l01055"></a><span class="lineno"><a class="line" href="nes_8h.html#DISABLE_OAM_DMA"> 1055</a></span><span class="preprocessor">#define DISABLE_OAM_DMA \</span></div>
    457 <div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span><span class="preprocessor">    _shadow_OAM_base = 0</span></div>
    458 <div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span> </div>
    459 <div class="line"><a id="l01060" name="l01060"></a><span class="lineno"><a class="line" href="nes_8h.html#DISABLE_VBL_TRANSFER"> 1060</a></span><span class="preprocessor">#define DISABLE_VBL_TRANSFER DISABLE_OAM_DMA</span></div>
    460 <div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> </div>
    461 <div class="line"><a id="l01062" name="l01062"></a><span class="lineno"><a class="line" href="nes_8h.html#ENABLE_OAM_DMA"> 1062</a></span><span class="preprocessor">#define ENABLE_OAM_DMA \</span></div>
    462 <div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span><span class="preprocessor">    _shadow_OAM_base = (uint8_t)((uint16_t)&amp;shadow_OAM &gt;&gt; 8)</span></div>
    463 <div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span> </div>
    464 <div class="line"><a id="l01067" name="l01067"></a><span class="lineno"><a class="line" href="nes_8h.html#ENABLE_VBL_TRANSFER"> 1067</a></span><span class="preprocessor">#define ENABLE_VBL_TRANSFER ENABLE_OAM_DMA</span></div>
    465 <div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span> </div>
    466 <div class="line"><a id="l01071" name="l01071"></a><span class="lineno"><a class="line" href="nes_8h.html#MAX_HARDWARE_SPRITES"> 1071</a></span><span class="preprocessor">#define MAX_HARDWARE_SPRITES 64</span></div>
    467 <div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> </div>
    468 <div class="line"><a id="l01075" name="l01075"></a><span class="lineno"><a class="line" href="nes_8h.html#HARDWARE_SPRITE_CAN_FLIP_X"> 1075</a></span><span class="preprocessor">#define HARDWARE_SPRITE_CAN_FLIP_X 1</span></div>
    469 <div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span> </div>
    470 <div class="line"><a id="l01079" name="l01079"></a><span class="lineno"><a class="line" href="nes_8h.html#HARDWARE_SPRITE_CAN_FLIP_Y"> 1079</a></span><span class="preprocessor">#define HARDWARE_SPRITE_CAN_FLIP_Y 1</span></div>
    471 <div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span> </div>
    472 <div class="line"><a id="l01083" name="l01083"></a><span class="lineno"><a class="line" href="nes_8h.html#SET_SHADOW_OAM_ADDRESS"> 1083</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#SET_SHADOW_OAM_ADDRESS">SET_SHADOW_OAM_ADDRESS</a>(<span class="keywordtype">void</span> * address) {</div>
    473 <div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span>    <a class="code hl_variable" href="nes_8h.html#_shadow_OAM_base">_shadow_OAM_base</a> = (<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a>)((<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a>)address &gt;&gt; 8);</div>
    474 <div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span>}</div>
    475 <div class="line"><a id="l01086" name="l01086"></a><span class="lineno"> 1086</span> </div>
    476 <div class="line"><a id="l01100" name="l01100"></a><span class="lineno"> 1100</span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_sprite_tile">set_sprite_tile</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#tile">tile</a>) NO_OVERLAY_LOCALS;</div>
    477 <div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span> </div>
    478 <div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> </div>
    479 <div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="nes_8h.html#get_sprite_tile">get_sprite_tile</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb) NO_OVERLAY_LOCALS;</div>
    480 <div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span> </div>
    481 <div class="line"><a id="l01111" name="l01111"></a><span class="lineno"> 1111</span> </div>
    482 <div class="line"><a id="l01149" name="l01149"></a><span class="lineno"> 1149</span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_sprite_prop">set_sprite_prop</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#prop">prop</a>) NO_OVERLAY_LOCALS;</div>
    483 <div class="line"><a id="l01150" name="l01150"></a><span class="lineno"> 1150</span> </div>
    484 <div class="line"><a id="l01151" name="l01151"></a><span class="lineno"> 1151</span> </div>
    485 <div class="line"><a id="l01157" name="l01157"></a><span class="lineno"> 1157</span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="nes_8h.html#get_sprite_prop">get_sprite_prop</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb) NO_OVERLAY_LOCALS;</div>
    486 <div class="line"><a id="l01158" name="l01158"></a><span class="lineno"> 1158</span> </div>
    487 <div class="line"><a id="l01159" name="l01159"></a><span class="lineno"> 1159</span> </div>
    488 <div class="line"><a id="l01169" name="l01169"></a><span class="lineno"> 1169</span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#move_sprite">move_sprite</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#x">x</a>, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#y">y</a>) NO_OVERLAY_LOCALS;</div>
    489 <div class="line"><a id="l01170" name="l01170"></a><span class="lineno"> 1170</span> </div>
    490 <div class="line"><a id="l01171" name="l01171"></a><span class="lineno"> 1171</span> </div>
    491 <div class="line"><a id="l01182" name="l01182"></a><span class="lineno"> 1182</span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#scroll_sprite">scroll_sprite</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb, <a class="code hl_typedef" href="stdint_8h.html#int8_t">int8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#x">x</a>, <a class="code hl_typedef" href="stdint_8h.html#int8_t">int8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#y">y</a>) NO_OVERLAY_LOCALS;</div>
    492 <div class="line"><a id="l01183" name="l01183"></a><span class="lineno"> 1183</span> </div>
    493 <div class="line"><a id="l01184" name="l01184"></a><span class="lineno"> 1184</span> </div>
    494 <div class="line"><a id="l01189" name="l01189"></a><span class="lineno"> 1189</span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#hide_sprite">hide_sprite</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb) NO_OVERLAY_LOCALS;</div>
    495 <div class="line"><a id="l01190" name="l01190"></a><span class="lineno"> 1190</span> </div>
    496 <div class="line"><a id="l01191" name="l01191"></a><span class="lineno"> 1191</span> </div>
    497 <div class="line"><a id="l01192" name="l01192"></a><span class="lineno"> 1192</span> </div>
    498 <div class="line"><a id="l01200" name="l01200"></a><span class="lineno"><a class="line" href="nes_8h.html#set_data"> 1200</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_data">set_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *vram_addr, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *data, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> len) NO_OVERLAY_LOCALS;</div>
    499 <div class="line"><a id="l01201" name="l01201"></a><span class="lineno"> 1201</span> </div>
    500 <div class="line"><a id="l01202" name="l01202"></a><span class="lineno"> 1202</span> </div>
    501 <div class="line"><a id="l01221" name="l01221"></a><span class="lineno"><a class="line" href="nes_8h.html#set_tiles"> 1221</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_tiles">set_tiles</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#x">x</a>, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#y">y</a>, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *vram_addr, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles) NO_OVERLAY_LOCALS;</div>
    502 <div class="line"><a id="l01222" name="l01222"></a><span class="lineno"> 1222</span> </div>
    503 <div class="line"><a id="l01228" name="l01228"></a><span class="lineno"><a class="line" href="nes_8h.html#set_tile_data"> 1228</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_tile_data">set_tile_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> first_tile, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *data) {</div>
    504 <div class="line"><a id="l01229" name="l01229"></a><span class="lineno"> 1229</span>    <span class="keywordflow">if</span> (first_tile &lt; 256) {</div>
    505 <div class="line"><a id="l01230" name="l01230"></a><span class="lineno"> 1230</span>        <a class="code hl_function" href="nes_8h.html#set_bkg_data">set_bkg_data</a>(first_tile, nb_tiles, data);</div>
    506 <div class="line"><a id="l01231" name="l01231"></a><span class="lineno"> 1231</span>        <span class="keywordflow">if</span>(first_tile + nb_tiles &gt; 256)</div>
    507 <div class="line"><a id="l01232" name="l01232"></a><span class="lineno"> 1232</span>            <a class="code hl_function" href="nes_8h.html#set_sprite_data">set_sprite_data</a>(first_tile - 256, nb_tiles, data);</div>
    508 <div class="line"><a id="l01233" name="l01233"></a><span class="lineno"> 1233</span>    } <span class="keywordflow">else</span> {</div>
    509 <div class="line"><a id="l01234" name="l01234"></a><span class="lineno"> 1234</span>        <a class="code hl_function" href="nes_8h.html#set_sprite_data">set_sprite_data</a>(first_tile - 256, nb_tiles, data);</div>
    510 <div class="line"><a id="l01235" name="l01235"></a><span class="lineno"> 1235</span>    }</div>
    511 <div class="line"><a id="l01236" name="l01236"></a><span class="lineno"> 1236</span>}</div>
    512 <div class="line"><a id="l01237" name="l01237"></a><span class="lineno"> 1237</span> </div>
    513 <div class="line"><a id="l01249" name="l01249"></a><span class="lineno"> 1249</span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_bkg_native_data">set_bkg_native_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> first_tile, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *data) NO_OVERLAY_LOCALS;</div>
    514 <div class="line"><a id="l01250" name="l01250"></a><span class="lineno"> 1250</span> </div>
    515 <div class="line"><a id="l01260" name="l01260"></a><span class="lineno"> 1260</span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_sprite_native_data">set_sprite_native_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> first_tile, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *data) NO_OVERLAY_LOCALS;</div>
    516 <div class="line"><a id="l01261" name="l01261"></a><span class="lineno"> 1261</span> </div>
    517 <div class="line"><a id="l01275" name="l01275"></a><span class="lineno"><a class="line" href="nes_8h.html#set_native_tile_data"> 1275</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#set_native_tile_data">set_native_tile_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> first_tile, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *data) {</div>
    518 <div class="line"><a id="l01276" name="l01276"></a><span class="lineno"> 1276</span>    <span class="keywordflow">if</span> (first_tile &lt; 256) {</div>
    519 <div class="line"><a id="l01277" name="l01277"></a><span class="lineno"> 1277</span>        <a class="code hl_function" href="nes_8h.html#set_bkg_native_data">set_bkg_native_data</a>(first_tile, nb_tiles, data);</div>
    520 <div class="line"><a id="l01278" name="l01278"></a><span class="lineno"> 1278</span>        <span class="keywordflow">if</span>(first_tile + nb_tiles &gt; 256)</div>
    521 <div class="line"><a id="l01279" name="l01279"></a><span class="lineno"> 1279</span>            <a class="code hl_function" href="nes_8h.html#set_sprite_native_data">set_sprite_native_data</a>(first_tile - 256, nb_tiles, data);</div>
    522 <div class="line"><a id="l01280" name="l01280"></a><span class="lineno"> 1280</span>    } <span class="keywordflow">else</span> {</div>
    523 <div class="line"><a id="l01281" name="l01281"></a><span class="lineno"> 1281</span>        <a class="code hl_function" href="nes_8h.html#set_sprite_native_data">set_sprite_native_data</a>(first_tile - 256, nb_tiles, data);</div>
    524 <div class="line"><a id="l01282" name="l01282"></a><span class="lineno"> 1282</span>    }</div>
    525 <div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span>}</div>
    526 <div class="line"><a id="l01284" name="l01284"></a><span class="lineno"> 1284</span> </div>
    527 <div class="line"><a id="l01290" name="l01290"></a><span class="lineno"><a class="line" href="nes_8h.html#init_bkg"> 1290</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#init_bkg">init_bkg</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="asm_2sm83_2string_8h.html#c">c</a>) NO_OVERLAY_LOCALS;</div>
    528 <div class="line"><a id="l01291" name="l01291"></a><span class="lineno"> 1291</span> </div>
    529 <div class="line"><a id="l01299" name="l01299"></a><span class="lineno"><a class="line" href="nes_8h.html#vmemset"> 1299</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#vmemset">vmemset</a> (<span class="keywordtype">void</span> *s, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="asm_2sm83_2string_8h.html#c">c</a>, <span class="keywordtype">size_t</span> n) NO_OVERLAY_LOCALS;</div>
    530 <div class="line"><a id="l01300" name="l01300"></a><span class="lineno"> 1300</span> </div>
    531 <div class="line"><a id="l01309" name="l01309"></a><span class="lineno"><a class="line" href="nes_8h.html#fill_bkg_rect"> 1309</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#fill_bkg_rect">fill_bkg_rect</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#x">x</a>, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#y">y</a>, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="gb_8h.html#h">h</a>, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="struct_o_a_m__item__t.html#tile">tile</a>) NO_OVERLAY_LOCALS;</div>
    532 <div class="line"><a id="l01310" name="l01310"></a><span class="lineno"><a class="line" href="nes_8h.html#fill_rect"> 1310</a></span><span class="preprocessor">#define fill_rect fill_bkg_rect</span></div>
    533 <div class="line"><a id="l01311" name="l01311"></a><span class="lineno"> 1311</span> </div>
    534 <div class="line"><a id="l01319" name="l01319"></a><span class="lineno"><a class="line" href="nes_8h.html#flush_shadow_attributes"> 1319</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="nes_8h.html#flush_shadow_attributes">flush_shadow_attributes</a>(<span class="keywordtype">void</span>) NO_OVERLAY_LOCALS;</div>
    535 <div class="line"><a id="l01320" name="l01320"></a><span class="lineno"> 1320</span> </div>
    536 <div class="line"><a id="l01321" name="l01321"></a><span class="lineno"><a class="line" href="nes_8h.html#_switch_prg0"> 1321</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="nes_8h.html#_switch_prg0">_switch_prg0</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> bank) NO_OVERLAY_LOCALS;</div>
    537 <div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span> </div>
    538 <div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span><span class="preprocessor">#endif </span><span class="comment">/* _NES_H */</span><span class="preprocessor"></span></div>
    539 <div class="ttc" id="aasm_2sm83_2string_8h_html_c"><div class="ttname"><a href="asm_2sm83_2string_8h.html#c">c</a></div><div class="ttdeci">char c</div><div class="ttdef"><b>Definition:</b> string.h:20</div></div>
    540 <div class="ttc" id="aasm_2types_8h_html_NONBANKED"><div class="ttname"><a href="asm_2types_8h.html#NONBANKED">NONBANKED</a></div><div class="ttdeci">#define NONBANKED</div><div class="ttdef"><b>Definition:</b> types.h:40</div></div>
    541 <div class="ttc" id="acgb_8h_html_palette_color_t"><div class="ttname"><a href="cgb_8h.html#palette_color_t">palette_color_t</a></div><div class="ttdeci">uint16_t palette_color_t</div><div class="ttdef"><b>Definition:</b> cgb.h:85</div></div>
    542 <div class="ttc" id="agb_8h_html_d"><div class="ttname"><a href="gb_8h.html#d">d</a></div><div class="ttdeci">uint8_t d</div><div class="ttdef"><b>Definition:</b> gb.h:419</div></div>
    543 <div class="ttc" id="agb_8h_html_h"><div class="ttname"><a href="gb_8h.html#h">h</a></div><div class="ttdeci">uint8_t h</div><div class="ttdef"><b>Definition:</b> gb.h:419</div></div>
    544 <div class="ttc" id="anes_2hardware_8h_html"><div class="ttname"><a href="nes_2hardware_8h.html">hardware.h</a></div></div>
    545 <div class="ttc" id="anes_2hardware_8h_html_bkg_scroll_x"><div class="ttname"><a href="nes_2hardware_8h.html#bkg_scroll_x">bkg_scroll_x</a></div><div class="ttdeci">__SHADOW_REG bkg_scroll_x</div><div class="ttdef"><b>Definition:</b> hardware.h:81</div></div>
    546 <div class="ttc" id="anes_2hardware_8h_html_bkg_scroll_y"><div class="ttname"><a href="nes_2hardware_8h.html#bkg_scroll_y">bkg_scroll_y</a></div><div class="ttdeci">__SHADOW_REG bkg_scroll_y</div><div class="ttdef"><b>Definition:</b> hardware.h:82</div></div>
    547 <div class="ttc" id="anes_2hardware_8h_html_scroll_x_t"><div class="ttname"><a href="nes_2hardware_8h.html#scroll_x_t">scroll_x_t</a></div><div class="ttdeci">uint8_t scroll_x_t</div><div class="ttdef"><b>Definition:</b> hardware.h:68</div></div>
    548 <div class="ttc" id="anes_2hardware_8h_html_scroll_y_t"><div class="ttname"><a href="nes_2hardware_8h.html#scroll_y_t">scroll_y_t</a></div><div class="ttdeci">uint8_t scroll_y_t</div><div class="ttdef"><b>Definition:</b> hardware.h:69</div></div>
    549 <div class="ttc" id="anes_2hardware_8h_html_shadow_PPUCTRL"><div class="ttname"><a href="nes_2hardware_8h.html#shadow_PPUCTRL">shadow_PPUCTRL</a></div><div class="ttdeci">__SHADOW_REG shadow_PPUCTRL</div><div class="ttdef"><b>Definition:</b> hardware.h:20</div></div>
    550 <div class="ttc" id="anes_8h_html_OAM_item_t"><div class="ttname"><a href="nes_8h.html#OAM_item_t">OAM_item_t</a></div><div class="ttdeci">struct OAM_item_t OAM_item_t</div></div>
    551 <div class="ttc" id="anes_8h_html_SET_SHADOW_OAM_ADDRESS"><div class="ttname"><a href="nes_8h.html#SET_SHADOW_OAM_ADDRESS">SET_SHADOW_OAM_ADDRESS</a></div><div class="ttdeci">void SET_SHADOW_OAM_ADDRESS(void *address)</div><div class="ttdef"><b>Definition:</b> nes.h:1083</div></div>
    552 <div class="ttc" id="anes_8h_html_SYSTEM_50HZ"><div class="ttname"><a href="nes_8h.html#SYSTEM_50HZ">SYSTEM_50HZ</a></div><div class="ttdeci">#define SYSTEM_50HZ</div><div class="ttdef"><b>Definition:</b> nes.h:34</div></div>
    553 <div class="ttc" id="anes_8h_html_SYSTEM_60HZ"><div class="ttname"><a href="nes_8h.html#SYSTEM_60HZ">SYSTEM_60HZ</a></div><div class="ttdeci">#define SYSTEM_60HZ</div><div class="ttdef"><b>Definition:</b> nes.h:33</div></div>
    554 <div class="ttc" id="anes_8h_html_SYSTEM_BITS_NTSC"><div class="ttname"><a href="nes_8h.html#SYSTEM_BITS_NTSC">SYSTEM_BITS_NTSC</a></div><div class="ttdeci">#define SYSTEM_BITS_NTSC</div><div class="ttdef"><b>Definition:</b> nes.h:28</div></div>
    555 <div class="ttc" id="anes_8h_html__SYSTEM"><div class="ttname"><a href="nes_8h.html#_SYSTEM">_SYSTEM</a></div><div class="ttdeci">const uint8_t _SYSTEM</div></div>
    556 <div class="ttc" id="anes_8h_html__current_1bpp_colors"><div class="ttname"><a href="nes_8h.html#_current_1bpp_colors">_current_1bpp_colors</a></div><div class="ttdeci">uint16_t _current_1bpp_colors</div></div>
    557 <div class="ttc" id="anes_8h_html__current_bank"><div class="ttname"><a href="nes_8h.html#_current_bank">_current_bank</a></div><div class="ttdeci">volatile uint8_t _current_bank</div><div class="ttdef"><b>Definition:</b> gb.h:534</div></div>
    558 <div class="ttc" id="anes_8h_html__shadow_OAM_base"><div class="ttname"><a href="nes_8h.html#_shadow_OAM_base">_shadow_OAM_base</a></div><div class="ttdeci">uint8_t _shadow_OAM_base</div><div class="ttdef"><b>Definition:</b> gb.h:1836</div></div>
    559 <div class="ttc" id="anes_8h_html__switch_prg0"><div class="ttname"><a href="nes_8h.html#_switch_prg0">_switch_prg0</a></div><div class="ttdeci">uint8_t _switch_prg0(uint8_t bank) NO_OVERLAY_LOCALS</div></div>
    560 <div class="ttc" id="anes_8h_html_add_LCD"><div class="ttname"><a href="nes_8h.html#add_LCD">add_LCD</a></div><div class="ttdeci">void add_LCD(int_handler h) NO_OVERLAY_LOCALS</div></div>
    561 <div class="ttc" id="anes_8h_html_add_TIM"><div class="ttname"><a href="nes_8h.html#add_TIM">add_TIM</a></div><div class="ttdeci">void add_TIM(int_handler h) NO_OVERLAY_LOCALS</div></div>
    562 <div class="ttc" id="anes_8h_html_add_VBL"><div class="ttname"><a href="nes_8h.html#add_VBL">add_VBL</a></div><div class="ttdeci">void add_VBL(int_handler h) NO_OVERLAY_LOCALS</div></div>
    563 <div class="ttc" id="anes_8h_html_delay"><div class="ttname"><a href="nes_8h.html#delay">delay</a></div><div class="ttdeci">void delay(uint16_t d) NO_OVERLAY_LOCALS</div></div>
    564 <div class="ttc" id="anes_8h_html_disable_interrupts"><div class="ttname"><a href="nes_8h.html#disable_interrupts">disable_interrupts</a></div><div class="ttdeci">void disable_interrupts(void)</div><div class="ttdef"><b>Definition:</b> nes.h:512</div></div>
    565 <div class="ttc" id="anes_8h_html_display_off"><div class="ttname"><a href="nes_8h.html#display_off">display_off</a></div><div class="ttdeci">void display_off(void) NO_OVERLAY_LOCALS</div><div class="ttdef"><b>Definition:</b> msx.h:248</div></div>
    566 <div class="ttc" id="anes_8h_html_display_on"><div class="ttname"><a href="nes_8h.html#display_on">display_on</a></div><div class="ttdeci">void display_on(void) NO_OVERLAY_LOCALS</div></div>
    567 <div class="ttc" id="anes_8h_html_enable_interrupts"><div class="ttname"><a href="nes_8h.html#enable_interrupts">enable_interrupts</a></div><div class="ttdeci">void enable_interrupts(void)</div><div class="ttdef"><b>Definition:</b> nes.h:496</div></div>
    568 <div class="ttc" id="anes_8h_html_fill_bkg_rect"><div class="ttname"><a href="nes_8h.html#fill_bkg_rect">fill_bkg_rect</a></div><div class="ttdeci">void fill_bkg_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t tile) NO_OVERLAY_LOCALS</div></div>
    569 <div class="ttc" id="anes_8h_html_flush_shadow_attributes"><div class="ttname"><a href="nes_8h.html#flush_shadow_attributes">flush_shadow_attributes</a></div><div class="ttdeci">void flush_shadow_attributes(void) NO_OVERLAY_LOCALS</div></div>
    570 <div class="ttc" id="anes_8h_html_get_bkg_tile_xy"><div class="ttname"><a href="nes_8h.html#get_bkg_tile_xy">get_bkg_tile_xy</a></div><div class="ttdeci">uint8_t get_bkg_tile_xy(uint8_t x, uint8_t y) NO_OVERLAY_LOCALS</div></div>
    571 <div class="ttc" id="anes_8h_html_get_bkg_tiles"><div class="ttname"><a href="nes_8h.html#get_bkg_tiles">get_bkg_tiles</a></div><div class="ttdeci">void get_bkg_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t *tiles) NO_OVERLAY_LOCALS</div></div>
    572 <div class="ttc" id="anes_8h_html_get_bkg_xy_addr"><div class="ttname"><a href="nes_8h.html#get_bkg_xy_addr">get_bkg_xy_addr</a></div><div class="ttdeci">uint8_t * get_bkg_xy_addr(uint8_t x, uint8_t y) NO_OVERLAY_LOCALS</div></div>
    573 <div class="ttc" id="anes_8h_html_get_mode"><div class="ttname"><a href="nes_8h.html#get_mode">get_mode</a></div><div class="ttdeci">uint8_t get_mode(void) NO_OVERLAY_LOCALS</div></div>
    574 <div class="ttc" id="anes_8h_html_get_sprite_prop"><div class="ttname"><a href="nes_8h.html#get_sprite_prop">get_sprite_prop</a></div><div class="ttdeci">uint8_t get_sprite_prop(uint8_t nb) NO_OVERLAY_LOCALS</div><div class="ttdef"><b>Definition:</b> gb.h:1955</div></div>
    575 <div class="ttc" id="anes_8h_html_get_sprite_tile"><div class="ttname"><a href="nes_8h.html#get_sprite_tile">get_sprite_tile</a></div><div class="ttdeci">uint8_t get_sprite_tile(uint8_t nb) NO_OVERLAY_LOCALS</div><div class="ttdef"><b>Definition:</b> gb.h:1897</div></div>
    576 <div class="ttc" id="anes_8h_html_get_system"><div class="ttname"><a href="nes_8h.html#get_system">get_system</a></div><div class="ttdeci">uint8_t get_system(void)</div><div class="ttdef"><b>Definition:</b> nes.h:318</div></div>
    577 <div class="ttc" id="anes_8h_html_hide_sprite"><div class="ttname"><a href="nes_8h.html#hide_sprite">hide_sprite</a></div><div class="ttdeci">void hide_sprite(uint8_t nb) NO_OVERLAY_LOCALS</div><div class="ttdef"><b>Definition:</b> gb.h:2000</div></div>
    578 <div class="ttc" id="anes_8h_html_init_bkg"><div class="ttname"><a href="nes_8h.html#init_bkg">init_bkg</a></div><div class="ttdeci">void init_bkg(uint8_t c) NO_OVERLAY_LOCALS</div></div>
    579 <div class="ttc" id="anes_8h_html_int_handler"><div class="ttname"><a href="nes_8h.html#int_handler">int_handler</a></div><div class="ttdeci">void(* int_handler)(void) NONBANKED</div><div class="ttdef"><b>Definition:</b> nes.h:193</div></div>
    580 <div class="ttc" id="anes_8h_html_joypad"><div class="ttname"><a href="nes_8h.html#joypad">joypad</a></div><div class="ttdeci">uint8_t joypad(void) NO_OVERLAY_LOCALS</div></div>
    581 <div class="ttc" id="anes_8h_html_joypad_ex"><div class="ttname"><a href="nes_8h.html#joypad_ex">joypad_ex</a></div><div class="ttdeci">void joypad_ex(joypads_t *joypads) NO_OVERLAY_LOCALS</div></div>
    582 <div class="ttc" id="anes_8h_html_joypad_init"><div class="ttname"><a href="nes_8h.html#joypad_init">joypad_init</a></div><div class="ttdeci">uint8_t joypad_init(uint8_t npads, joypads_t *joypads) NO_OVERLAY_LOCALS</div></div>
    583 <div class="ttc" id="anes_8h_html_mode"><div class="ttname"><a href="nes_8h.html#mode">mode</a></div><div class="ttdeci">void mode(uint8_t m) NO_OVERLAY_LOCALS</div></div>
    584 <div class="ttc" id="anes_8h_html_move_bkg"><div class="ttname"><a href="nes_8h.html#move_bkg">move_bkg</a></div><div class="ttdeci">void move_bkg(scroll_x_t x, scroll_y_t y)</div><div class="ttdef"><b>Definition:</b> nes.h:973</div></div>
    585 <div class="ttc" id="anes_8h_html_move_sprite"><div class="ttname"><a href="nes_8h.html#move_sprite">move_sprite</a></div><div class="ttdeci">void move_sprite(uint8_t nb, uint8_t x, uint8_t y) NO_OVERLAY_LOCALS</div><div class="ttdef"><b>Definition:</b> gb.h:1972</div></div>
    586 <div class="ttc" id="anes_8h_html_palette_color_t"><div class="ttname"><a href="nes_8h.html#palette_color_t">palette_color_t</a></div><div class="ttdeci">uint8_t palette_color_t</div><div class="ttdef"><b>Definition:</b> nes.h:65</div></div>
    587 <div class="ttc" id="anes_8h_html_refresh_OAM"><div class="ttname"><a href="nes_8h.html#refresh_OAM">refresh_OAM</a></div><div class="ttdeci">void refresh_OAM(void) NO_OVERLAY_LOCALS</div></div>
    588 <div class="ttc" id="anes_8h_html_remove_LCD"><div class="ttname"><a href="nes_8h.html#remove_LCD">remove_LCD</a></div><div class="ttdeci">void remove_LCD(int_handler h) NO_OVERLAY_LOCALS</div></div>
    589 <div class="ttc" id="anes_8h_html_remove_TIM"><div class="ttname"><a href="nes_8h.html#remove_TIM">remove_TIM</a></div><div class="ttdeci">void remove_TIM(int_handler h) NO_OVERLAY_LOCALS</div></div>
    590 <div class="ttc" id="anes_8h_html_remove_VBL"><div class="ttname"><a href="nes_8h.html#remove_VBL">remove_VBL</a></div><div class="ttdeci">void remove_VBL(int_handler h) NO_OVERLAY_LOCALS</div></div>
    591 <div class="ttc" id="anes_8h_html_reset"><div class="ttname"><a href="nes_8h.html#reset">reset</a></div><div class="ttdeci">void reset(void)</div><div class="ttdef"><b>Definition:</b> nes.h:534</div></div>
    592 <div class="ttc" id="anes_8h_html_scroll_bkg"><div class="ttname"><a href="nes_8h.html#scroll_bkg">scroll_bkg</a></div><div class="ttdeci">void scroll_bkg(int8_t x, int8_t y)</div><div class="ttdef"><b>Definition:</b> nes.h:1001</div></div>
    593 <div class="ttc" id="anes_8h_html_scroll_sprite"><div class="ttname"><a href="nes_8h.html#scroll_sprite">scroll_sprite</a></div><div class="ttdeci">void scroll_sprite(uint8_t nb, int8_t x, int8_t y) NO_OVERLAY_LOCALS</div><div class="ttdef"><b>Definition:</b> gb.h:1988</div></div>
    594 <div class="ttc" id="anes_8h_html_set_1bpp_colors"><div class="ttname"><a href="nes_8h.html#set_1bpp_colors">set_1bpp_colors</a></div><div class="ttdeci">void set_1bpp_colors(uint8_t fgcolor, uint8_t bgcolor)</div><div class="ttdef"><b>Definition:</b> nes.h:658</div></div>
    595 <div class="ttc" id="anes_8h_html_set_1bpp_colors_ex"><div class="ttname"><a href="nes_8h.html#set_1bpp_colors_ex">set_1bpp_colors_ex</a></div><div class="ttdeci">void set_1bpp_colors_ex(uint8_t fgcolor, uint8_t bgcolor, uint8_t mode) NO_OVERLAY_LOCALS</div></div>
    596 <div class="ttc" id="anes_8h_html_set_2bpp_palette"><div class="ttname"><a href="nes_8h.html#set_2bpp_palette">set_2bpp_palette</a></div><div class="ttdeci">void set_2bpp_palette(uint16_t palette)</div><div class="ttdef"><b>Definition:</b> nes.h:652</div></div>
    597 <div class="ttc" id="anes_8h_html_set_bkg_1bpp_data"><div class="ttname"><a href="nes_8h.html#set_bkg_1bpp_data">set_bkg_1bpp_data</a></div><div class="ttdeci">void set_bkg_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) NO_OVERLAY_LOCALS</div></div>
    598 <div class="ttc" id="anes_8h_html_set_bkg_attribute_xy"><div class="ttname"><a href="nes_8h.html#set_bkg_attribute_xy">set_bkg_attribute_xy</a></div><div class="ttdeci">void set_bkg_attribute_xy(uint8_t x, uint8_t y, uint8_t a)</div><div class="ttdef"><b>Definition:</b> nes.h:945</div></div>
    599 <div class="ttc" id="anes_8h_html_set_bkg_attribute_xy_nes16x16"><div class="ttname"><a href="nes_8h.html#set_bkg_attribute_xy_nes16x16">set_bkg_attribute_xy_nes16x16</a></div><div class="ttdeci">void set_bkg_attribute_xy_nes16x16(uint8_t x, uint8_t y, uint8_t a) NO_OVERLAY_LOCALS</div></div>
    600 <div class="ttc" id="anes_8h_html_set_bkg_attributes"><div class="ttname"><a href="nes_8h.html#set_bkg_attributes">set_bkg_attributes</a></div><div class="ttdeci">void set_bkg_attributes(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *attributes)</div><div class="ttdef"><b>Definition:</b> nes.h:756</div></div>
    601 <div class="ttc" id="anes_8h_html_set_bkg_attributes_nes16x16"><div class="ttname"><a href="nes_8h.html#set_bkg_attributes_nes16x16">set_bkg_attributes_nes16x16</a></div><div class="ttdeci">void set_bkg_attributes_nes16x16(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *attributes) NO_OVERLAY_LOCALS</div></div>
    602 <div class="ttc" id="anes_8h_html_set_bkg_based_submap"><div class="ttname"><a href="nes_8h.html#set_bkg_based_submap">set_bkg_based_submap</a></div><div class="ttdeci">void set_bkg_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> gb.h:1314</div></div>
    603 <div class="ttc" id="anes_8h_html_set_bkg_based_tiles"><div class="ttname"><a href="nes_8h.html#set_bkg_based_tiles">set_bkg_based_tiles</a></div><div class="ttdeci">void set_bkg_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> gb.h:1181</div></div>
    604 <div class="ttc" id="anes_8h_html_set_bkg_data"><div class="ttname"><a href="nes_8h.html#set_bkg_data">set_bkg_data</a></div><div class="ttdeci">void set_bkg_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) NO_OVERLAY_LOCALS</div></div>
    605 <div class="ttc" id="anes_8h_html_set_bkg_native_data"><div class="ttname"><a href="nes_8h.html#set_bkg_native_data">set_bkg_native_data</a></div><div class="ttdeci">void set_bkg_native_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) NO_OVERLAY_LOCALS</div><div class="ttdef"><b>Definition:</b> gb.h:2167</div></div>
    606 <div class="ttc" id="anes_8h_html_set_bkg_palette"><div class="ttname"><a href="nes_8h.html#set_bkg_palette">set_bkg_palette</a></div><div class="ttdeci">void set_bkg_palette(uint8_t first_palette, uint8_t nb_palettes, const palette_color_t *rgb_data) NO_OVERLAY_LOCALS</div></div>
    607 <div class="ttc" id="anes_8h_html_set_bkg_palette_entry"><div class="ttname"><a href="nes_8h.html#set_bkg_palette_entry">set_bkg_palette_entry</a></div><div class="ttdeci">void set_bkg_palette_entry(uint8_t palette, uint8_t entry, palette_color_t rgb_data) NO_OVERLAY_LOCALS</div></div>
    608 <div class="ttc" id="anes_8h_html_set_bkg_submap"><div class="ttname"><a href="nes_8h.html#set_bkg_submap">set_bkg_submap</a></div><div class="ttdeci">void set_bkg_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) NO_OVERLAY_LOCALS</div><div class="ttdef"><b>Definition:</b> msx.h:627</div></div>
    609 <div class="ttc" id="anes_8h_html_set_bkg_submap_attributes"><div class="ttname"><a href="nes_8h.html#set_bkg_submap_attributes">set_bkg_submap_attributes</a></div><div class="ttdeci">void set_bkg_submap_attributes(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *attributes, uint8_t map_w)</div><div class="ttdef"><b>Definition:</b> nes.h:819</div></div>
    610 <div class="ttc" id="anes_8h_html_set_bkg_submap_attributes_nes16x"><div class="ttname"><a href="nes_8h.html#set_bkg_submap_attributes_nes16x">set_bkg_submap_attributes_nes16x16</a></div><div class="ttdeci">void set_bkg_submap_attributes_nes16x16(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) NO_OVERLAY_LOCALS</div></div>
    611 <div class="ttc" id="anes_8h_html_set_bkg_tile_xy"><div class="ttname"><a href="nes_8h.html#set_bkg_tile_xy">set_bkg_tile_xy</a></div><div class="ttdeci">uint8_t * set_bkg_tile_xy(uint8_t x, uint8_t y, uint8_t t) NO_OVERLAY_LOCALS</div></div>
    612 <div class="ttc" id="anes_8h_html_set_bkg_tiles"><div class="ttname"><a href="nes_8h.html#set_bkg_tiles">set_bkg_tiles</a></div><div class="ttdeci">void set_bkg_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) NO_OVERLAY_LOCALS</div></div>
    613 <div class="ttc" id="anes_8h_html_set_data"><div class="ttname"><a href="nes_8h.html#set_data">set_data</a></div><div class="ttdeci">void set_data(uint8_t *vram_addr, const uint8_t *data, uint16_t len) NO_OVERLAY_LOCALS</div></div>
    614 <div class="ttc" id="anes_8h_html_set_interrupts"><div class="ttname"><a href="nes_8h.html#set_interrupts">set_interrupts</a></div><div class="ttdeci">void set_interrupts(uint8_t flags) NO_OVERLAY_LOCALS</div></div>
    615 <div class="ttc" id="anes_8h_html_set_native_tile_data"><div class="ttname"><a href="nes_8h.html#set_native_tile_data">set_native_tile_data</a></div><div class="ttdeci">void set_native_tile_data(uint16_t first_tile, uint8_t nb_tiles, const uint8_t *data)</div><div class="ttdef"><b>Definition:</b> nes.h:1275</div></div>
    616 <div class="ttc" id="anes_8h_html_set_sprite_1bpp_data"><div class="ttname"><a href="nes_8h.html#set_sprite_1bpp_data">set_sprite_1bpp_data</a></div><div class="ttdeci">void set_sprite_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) NO_OVERLAY_LOCALS</div></div>
    617 <div class="ttc" id="anes_8h_html_set_sprite_data"><div class="ttname"><a href="nes_8h.html#set_sprite_data">set_sprite_data</a></div><div class="ttdeci">void set_sprite_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) NO_OVERLAY_LOCALS</div></div>
    618 <div class="ttc" id="anes_8h_html_set_sprite_native_data"><div class="ttname"><a href="nes_8h.html#set_sprite_native_data">set_sprite_native_data</a></div><div class="ttdeci">void set_sprite_native_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) NO_OVERLAY_LOCALS</div><div class="ttdef"><b>Definition:</b> gb.h:2184</div></div>
    619 <div class="ttc" id="anes_8h_html_set_sprite_palette"><div class="ttname"><a href="nes_8h.html#set_sprite_palette">set_sprite_palette</a></div><div class="ttdeci">void set_sprite_palette(uint8_t first_palette, uint8_t nb_palettes, const palette_color_t *rgb_data) NO_OVERLAY_LOCALS</div></div>
    620 <div class="ttc" id="anes_8h_html_set_sprite_palette_entry"><div class="ttname"><a href="nes_8h.html#set_sprite_palette_entry">set_sprite_palette_entry</a></div><div class="ttdeci">void set_sprite_palette_entry(uint8_t palette, uint8_t entry, palette_color_t rgb_data) NO_OVERLAY_LOCALS</div></div>
    621 <div class="ttc" id="anes_8h_html_set_sprite_prop"><div class="ttname"><a href="nes_8h.html#set_sprite_prop">set_sprite_prop</a></div><div class="ttdeci">void set_sprite_prop(uint8_t nb, uint8_t prop) NO_OVERLAY_LOCALS</div><div class="ttdef"><b>Definition:</b> gb.h:1945</div></div>
    622 <div class="ttc" id="anes_8h_html_set_sprite_tile"><div class="ttname"><a href="nes_8h.html#set_sprite_tile">set_sprite_tile</a></div><div class="ttdeci">void set_sprite_tile(uint8_t nb, uint8_t tile) NO_OVERLAY_LOCALS</div><div class="ttdef"><b>Definition:</b> gb.h:1886</div></div>
    623 <div class="ttc" id="anes_8h_html_set_tile_data"><div class="ttname"><a href="nes_8h.html#set_tile_data">set_tile_data</a></div><div class="ttdeci">void set_tile_data(uint16_t first_tile, uint8_t nb_tiles, const uint8_t *data)</div><div class="ttdef"><b>Definition:</b> nes.h:1228</div></div>
    624 <div class="ttc" id="anes_8h_html_set_tiles"><div class="ttname"><a href="nes_8h.html#set_tiles">set_tiles</a></div><div class="ttdeci">void set_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t *vram_addr, const uint8_t *tiles) NO_OVERLAY_LOCALS</div></div>
    625 <div class="ttc" id="anes_8h_html_set_vram_byte"><div class="ttname"><a href="nes_8h.html#set_vram_byte">set_vram_byte</a></div><div class="ttdeci">void set_vram_byte(uint8_t *addr, uint8_t v) NO_OVERLAY_LOCALS</div></div>
    626 <div class="ttc" id="anes_8h_html_shadow_OAM"><div class="ttname"><a href="nes_8h.html#shadow_OAM">shadow_OAM</a></div><div class="ttdeci">volatile struct OAM_item_t shadow_OAM[]</div></div>
    627 <div class="ttc" id="anes_8h_html_sys_time"><div class="ttname"><a href="nes_8h.html#sys_time">sys_time</a></div><div class="ttdeci">volatile uint16_t sys_time</div></div>
    628 <div class="ttc" id="anes_8h_html_vmemset"><div class="ttname"><a href="nes_8h.html#vmemset">vmemset</a></div><div class="ttdeci">void vmemset(void *s, uint8_t c, size_t n) NO_OVERLAY_LOCALS</div></div>
    629 <div class="ttc" id="anes_8h_html_vsync"><div class="ttname"><a href="nes_8h.html#vsync">vsync</a></div><div class="ttdeci">void vsync(void) NO_OVERLAY_LOCALS</div></div>
    630 <div class="ttc" id="anes_8h_html_wait_vbl_done"><div class="ttname"><a href="nes_8h.html#wait_vbl_done">wait_vbl_done</a></div><div class="ttdeci">void wait_vbl_done(void) NO_OVERLAY_LOCALS</div></div>
    631 <div class="ttc" id="anes_8h_html_waitpad"><div class="ttname"><a href="nes_8h.html#waitpad">waitpad</a></div><div class="ttdeci">uint8_t waitpad(uint8_t mask) NO_OVERLAY_LOCALS</div></div>
    632 <div class="ttc" id="anes_8h_html_waitpadup"><div class="ttname"><a href="nes_8h.html#waitpadup">waitpadup</a></div><div class="ttdeci">void waitpadup(void) NO_OVERLAY_LOCALS</div></div>
    633 <div class="ttc" id="argb__to__nes__macro_8h_html"><div class="ttname"><a href="rgb__to__nes__macro_8h.html">rgb_to_nes_macro.h</a></div></div>
    634 <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div>
    635 <div class="ttc" id="astdint_8h_html_int8_t"><div class="ttname"><a href="stdint_8h.html#int8_t">int8_t</a></div><div class="ttdeci">signed char int8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:43</div></div>
    636 <div class="ttc" id="astdint_8h_html_uint16_t"><div class="ttname"><a href="stdint_8h.html#uint16_t">uint16_t</a></div><div class="ttdeci">unsigned short int uint16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:52</div></div>
    637 <div class="ttc" id="astdint_8h_html_uint8_t"><div class="ttname"><a href="stdint_8h.html#uint8_t">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div>
    638 <div class="ttc" id="astruct_o_a_m__item__t_html"><div class="ttname"><a href="struct_o_a_m__item__t.html">OAM_item_t</a></div><div class="ttdef"><b>Definition:</b> gb.h:1823</div></div>
    639 <div class="ttc" id="astruct_o_a_m__item__t_html_prop"><div class="ttname"><a href="struct_o_a_m__item__t.html#prop">OAM_item_t::prop</a></div><div class="ttdeci">uint8_t prop</div><div class="ttdef"><b>Definition:</b> gb.h:1826</div></div>
    640 <div class="ttc" id="astruct_o_a_m__item__t_html_tile"><div class="ttname"><a href="struct_o_a_m__item__t.html#tile">OAM_item_t::tile</a></div><div class="ttdeci">uint8_t tile</div><div class="ttdef"><b>Definition:</b> gb.h:1825</div></div>
    641 <div class="ttc" id="astruct_o_a_m__item__t_html_x"><div class="ttname"><a href="struct_o_a_m__item__t.html#x">OAM_item_t::x</a></div><div class="ttdeci">uint8_t x</div><div class="ttdef"><b>Definition:</b> gb.h:1824</div></div>
    642 <div class="ttc" id="astruct_o_a_m__item__t_html_y"><div class="ttname"><a href="struct_o_a_m__item__t.html#y">OAM_item_t::y</a></div><div class="ttdeci">uint8_t y</div><div class="ttdef"><b>Definition:</b> gb.h:1824</div></div>
    643 <div class="ttc" id="astructjoypads__t_html"><div class="ttname"><a href="structjoypads__t.html">joypads_t</a></div><div class="ttdef"><b>Definition:</b> gb.h:755</div></div>
    644 <div class="ttc" id="aversion_8h_html"><div class="ttname"><a href="version_8h.html">version.h</a></div></div>
    645 </div><!-- fragment --></div><!-- contents -->
    646 </div><!-- doc-content -->
    647 <!-- start footer part -->
    648 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
    649   <ul>
    650     <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_8h.html">nes.h</a></li>
    651     <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>
    652   </ul>
    653 </div>
    654 </body>
    655 </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.