Files
gbdk-2020/docs/api/nes_8h_source.html
2023-02-28 12:36:34 +03:00

534 lines
106 KiB
HTML

<!-- HTML header for doxygen 1.8.14-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="cache-control" content="max-age=86400"/>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GBDK 2020 Docs: gbdk-lib/include/nes/nes.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen_extra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">GBDK 2020 Docs
&#160;<span id="projectnumber">4.1.1</span>
</div>
<div id="projectbrief">API Documentation for GBDK 2020</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('nes_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">nes.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="nes_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#ifndef _NES_H</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#define _NES_H</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; </div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &lt;types.h&gt;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="stdint_8h.html">stdint.h</a>&gt;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="version_8h.html">gbdk/version.h</a>&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nes_2hardware_8h.html">nes/hardware.h</a>&gt;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<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>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="nes_8h.html#aeaa6e975056958216c8308f25e95758d"> 13</a></span>&#160;<span class="preprocessor">#define NINTENDO_ENTERTAINMENT_SYSTEM</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#ifdef SEGA</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#undef SEGA</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="nes_8h.html#a4a118ad3ee36468a3fa616977a64864e"> 18</a></span>&#160;<span class="preprocessor">#define RGB(r,g,b) RGB_TO_NES(((r) | ((g) &lt;&lt; 2) | ((b) &lt;&lt; 4)))</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="nes_8h.html#a7d2ed0f10b2b74123a544327bbfd7564"> 19</a></span>&#160;<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>
<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="nes_8h.html#ab5a6e450fcf10402278fe585a421dbbd"> 20</a></span>&#160;<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>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="nes_8h.html#aa039288455af8a3812a35aa1e7b903e4"> 27</a></span>&#160;<span class="preprocessor">#define RGB_RED 0x16 </span><span class="comment">// EGA12</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="nes_8h.html#ae29b6947ac7dca7db513e59f1cfcbf51"> 28</a></span>&#160;<span class="preprocessor">#define RGB_DARKRED 0x06 </span><span class="comment">// EGA4</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="nes_8h.html#ab6c97468034c02fe204fd37036d9be15"> 29</a></span>&#160;<span class="preprocessor">#define RGB_GREEN 0x2A </span><span class="comment">// EGA10</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="nes_8h.html#a1ee7a5d8fd635e9132a2820a60f9789d"> 30</a></span>&#160;<span class="preprocessor">#define RGB_DARKGREEN 0x1A </span><span class="comment">// EGA2</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="nes_8h.html#a0eff802f1ca228046476209dc01c76ad"> 31</a></span>&#160;<span class="preprocessor">#define RGB_BLUE 0x12 </span><span class="comment">// EGA9</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="nes_8h.html#ad44385fc245bbabf6da787dcc8930385"> 32</a></span>&#160;<span class="preprocessor">#define RGB_DARKBLUE 0x02 </span><span class="comment">// EGA1</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="nes_8h.html#ad74a18fca945f257dc9d1b99f9edbd40"> 33</a></span>&#160;<span class="preprocessor">#define RGB_YELLOW 0x28 </span><span class="comment">// EGA14</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="nes_8h.html#a2727da9f8c0b09a67375575a00186e2a"> 34</a></span>&#160;<span class="preprocessor">#define RGB_DARKYELLOW 0x18 </span><span class="comment">// EGA6</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="nes_8h.html#a2ce30ac984869b55594447722b9d0579"> 35</a></span>&#160;<span class="preprocessor">#define RGB_CYAN 0x2C </span><span class="comment">// EGA11</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="nes_8h.html#ae4fe0c6cfa46b0c4804425f23bb48f4c"> 36</a></span>&#160;<span class="preprocessor">#define RGB_AQUA 0x1C </span><span class="comment">// EGA3</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="nes_8h.html#a59fb596d3d65cfc4d3cb7e5044b8b10a"> 37</a></span>&#160;<span class="preprocessor">#define RGB_PINK 0x24 </span><span class="comment">// EGA13</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="nes_8h.html#a9d5a5f880df6bd4b64e6546839d41101"> 38</a></span>&#160;<span class="preprocessor">#define RGB_PURPLE 0x14 </span><span class="comment">// EGA5</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="nes_8h.html#ae168f0f9864d4ed4be7807b9783f17f1"> 39</a></span>&#160;<span class="preprocessor">#define RGB_BLACK 0x0F </span><span class="comment">// EGA0</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="nes_8h.html#a29b47e2361025eabcdc3bcbff2308044"> 40</a></span>&#160;<span class="preprocessor">#define RGB_DARKGRAY 0x00 </span><span class="comment">// EGA8</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="nes_8h.html#a80efbf7b13421922fb174f3e6a3e235c"> 41</a></span>&#160;<span class="preprocessor">#define RGB_LIGHTGRAY 0x10 </span><span class="comment">// EGA7</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="nes_8h.html#ac1771f95d9887118764bd8a074e537e1"> 42</a></span>&#160;<span class="preprocessor">#define RGB_WHITE 0x30 </span><span class="comment">// EGA15</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="nes_8h.html#aa1843c9b694489b612595631315c1c21"> 44</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="nes_8h.html#aa1843c9b694489b612595631315c1c21">palette_color_t</a>;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="nes_8h.html#aa8851ca1f515ca55cbf9f6ff53b08e8a"> 46</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#aa8851ca1f515ca55cbf9f6ff53b08e8a">set_bkg_palette</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_palette, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_palettes, <a class="code" href="cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495">palette_color_t</a> *rgb_data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="nes_8h.html#a9ca9f825284da0db522d15aa2e42a4af"> 48</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a9ca9f825284da0db522d15aa2e42a4af">set_sprite_palette</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_palette, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_palettes, <a class="code" href="cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495">palette_color_t</a> *rgb_data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="nes_8h.html#adfaa20c59f6c2cd94d9e9047f34c1719"> 50</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#adfaa20c59f6c2cd94d9e9047f34c1719">set_bkg_palette_entry</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> palette, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> entry, <a class="code" href="cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495">palette_color_t</a> rgb_data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="nes_8h.html#aaf51ac64e2ff2d20a9c6d65091d76d7f"> 52</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#aaf51ac64e2ff2d20a9c6d65091d76d7f">set_sprite_palette_entry</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> palette, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> entry, <a class="code" href="cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495">palette_color_t</a> rgb_data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="nes_8h.html#a05ca817ab32f6da612c3ae26db5abf02"> 67</a></span>&#160;<span class="preprocessor">#define J_UP 0x10U</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="nes_8h.html#ae032c5c544196e37ec0432f6cfad7904"> 68</a></span>&#160;<span class="preprocessor">#define J_DOWN 0x20U</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="nes_8h.html#ac70894fecac30c1ca9917f07373cf81c"> 69</a></span>&#160;<span class="preprocessor">#define J_LEFT 0x40U</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="nes_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325"> 70</a></span>&#160;<span class="preprocessor">#define J_RIGHT 0x80U</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="nes_8h.html#a31af766e3b598eb7a6b63f55a4988e7a"> 71</a></span>&#160;<span class="preprocessor">#define J_A 0x01U</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="nes_8h.html#ae47e59a309120f9420993f26816b5e6d"> 72</a></span>&#160;<span class="preprocessor">#define J_B 0x02U</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="nes_8h.html#ab416a9d96d1582490828f4bac78a8b5b"> 73</a></span>&#160;<span class="preprocessor">#define J_SELECT 0x04U</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="nes_8h.html#ab769c6e20778298be8bc3321476ceb53"> 74</a></span>&#160;<span class="preprocessor">#define J_START 0x08U</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="nes_8h.html#acc9798fc62b5d626c91c8b0f20b522ff"> 80</a></span>&#160;<span class="preprocessor">#define M_DRAWING 0x01U</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="nes_8h.html#af0e30d6af308ffe5a025fbe85da40f6f"> 81</a></span>&#160;<span class="preprocessor">#define M_TEXT_OUT 0x02U</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="nes_8h.html#a908826e7180f94a5988ceb8633313a2e"> 82</a></span>&#160;<span class="preprocessor">#define M_TEXT_INOUT 0x03U</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="nes_8h.html#a04382de20738146fe873ddfb0585052b"> 88</a></span>&#160;<span class="preprocessor">#define M_NO_SCROLL 0x04U</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="nes_8h.html#aca2855edd2d28f66be551a0f7ec23f07"> 92</a></span>&#160;<span class="preprocessor">#define M_NO_INTERP 0x08U</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="nes_8h.html#a54572cf6791463b6d60623837e0bb5a6"> 98</a></span>&#160;<span class="preprocessor">#define S_PALETTE 0x10U</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="nes_8h.html#ae97793b4039609f93b0f7f8bddb18011"> 102</a></span>&#160;<span class="preprocessor">#define S_FLIPX 0x40U</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="nes_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b"> 106</a></span>&#160;<span class="preprocessor">#define S_FLIPY 0x80U</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="nes_8h.html#a9506d04c2ec7d2442a52054f67d2b32f"> 111</a></span>&#160;<span class="preprocessor">#define S_PRIORITY 0x20U</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="nes_8h.html#a826169925ff12d52f0a0d51f14d2936b"> 115</a></span>&#160;<span class="preprocessor">#define S_PAL(n) n</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment">/* DMG Palettes */</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="nes_8h.html#ab311e53739c992294ae07ca506a924ad"> 118</a></span>&#160;<span class="preprocessor">#define DMG_BLACK 0x03</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="nes_8h.html#a45d13a674e169dd83df7e1f46513ccba"> 119</a></span>&#160;<span class="preprocessor">#define DMG_DARK_GRAY 0x02</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="nes_8h.html#a8ccd6732d3bdf390cc0943e8567341f3"> 120</a></span>&#160;<span class="preprocessor">#define DMG_LITE_GRAY 0x01</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="nes_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3"> 121</a></span>&#160;<span class="preprocessor">#define DMG_WHITE 0x00</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="nes_8h.html#a9727caafc483ba6ec65e9344b033d684"> 141</a></span>&#160;<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>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment">/* Limits */</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="nes_8h.html#ada0cc738d27aad251151e69cb8d250e1"> 146</a></span>&#160;<span class="preprocessor">#define SCREENWIDTH DEVICE_SCREEN_PX_WIDTH</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="nes_8h.html#ae189e98d0ef9263c37869ce1ff3710a5"> 149</a></span>&#160;<span class="preprocessor">#define SCREENHEIGHT DEVICE_SCREEN_PX_HEIGHT</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="nes_8h.html#a3ea524204d839377cf39842eec23e202"> 157</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a3ea524204d839377cf39842eec23e202">mode</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> m) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; </div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="nes_8h.html#a6f49bc517509dbff3b7f8fae4373b1f0"> 163</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="nes_8h.html#a6f49bc517509dbff3b7f8fae4373b1f0">get_mode</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="nes_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a>;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="nes_8h.html#a06bab3f8bce032de0d21fbd86e14c3f3">_current_bank</a>;</div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="nes_8h.html#ae042588f20bf5a2349c8ad8716245233"> 184</a></span>&#160;<span class="preprocessor">#define CURRENT_BANK _current_bank</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; </div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="preprocessor">#ifndef BANK</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="nes_8h.html#a42705001e2b9897f5167b67fb36c69dd"> 196</a></span>&#160;<span class="preprocessor">#define BANK(VARNAME) 0</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; </div>
<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="nes_8h.html#a086293f2afb4c7945460a4496b20aea3"> 211</a></span>&#160;<span class="preprocessor">#define BANKREF(VARNAME)</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="nes_8h.html#a261bba55a07b802baf99346feadd9852"> 222</a></span>&#160;<span class="preprocessor">#define BANKREF_EXTERN(VARNAME) extern const void __bank_ ## VARNAME;</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; </div>
<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="nes_8h.html#a412db28bcf6bda7f235d7c5d3c9d52c0"> 227</a></span>&#160;<span class="preprocessor">#define SWITCH_ROM_DUMMY(b)</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; </div>
<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="nes_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc"> 234</a></span>&#160;<span class="preprocessor">#define SWITCH_ROM SWITCH_ROM_DUMMY</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; </div>
<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="nes_8h.html#a2afae202a1f8ca59a12a6455bb909c5d"> 240</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a2afae202a1f8ca59a12a6455bb909c5d">delay</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; </div>
<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="nes_8h.html#a2aa5c3d5a75dc85e842b23b683024027"> 251</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="nes_8h.html#a2aa5c3d5a75dc85e842b23b683024027">joypad</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; </div>
<div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="nes_8h.html#af068fcd54cfae7c070d6caf97b2c6ff2"> 261</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="nes_8h.html#af068fcd54cfae7c070d6caf97b2c6ff2">waitpad</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> mask) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; </div>
<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="nes_8h.html#a1edeb3f3e504ca924b475711f6e3b652"> 266</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a1edeb3f3e504ca924b475711f6e3b652">waitpadup</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; </div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> npads;</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keyword">union </span>{</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> joy0, joy1, joy2, joy3;</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; };</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> joypads[4];</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; };</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;} <a class="code" href="structjoypads__t.html">joypads_t</a>;</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; </div>
<div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="nes_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e"> 291</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="nes_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e">joypad_init</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> npads, <a class="code" href="structjoypads__t.html">joypads_t</a> * joypads) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; </div>
<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="nes_8h.html#aa9a551f91f4b583ddff265e922b0574a"> 297</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#aa9a551f91f4b583ddff265e922b0574a">joypad_ex</a>(<a class="code" href="structjoypads__t.html">joypads_t</a> * joypads) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; </div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; </div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; </div>
<div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="nes_8h.html#a232883ed798bce00a03b09705c67deef"> 309</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a232883ed798bce00a03b09705c67deef">enable_interrupts</a>(<span class="keywordtype">void</span>) {</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; __asm__(<span class="stringliteral">&quot;cli&quot;</span>);</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;}</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; </div>
<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="nes_8h.html#a2b17818c7916bc2ff75196ff0627b1e9"> 325</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a2b17818c7916bc2ff75196ff0627b1e9">disable_interrupts</a>(<span class="keywordtype">void</span>) {</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; __asm__(<span class="stringliteral">&quot;sei&quot;</span>);</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;}</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; </div>
<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="nes_8h.html#a580135f94ed0c4efeb28933097953bcb"> 338</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a580135f94ed0c4efeb28933097953bcb">vsync</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; </div>
<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="nes_8h.html#a21e24279db2c5866f7d3dac45ce0d633"> 342</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a21e24279db2c5866f7d3dac45ce0d633">wait_vbl_done</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; </div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#afe5714734a8fea7b1617ba377b3c0a06">display_off</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; </div>
<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="nes_8h.html#ac23dbe69b5ee241af2da4f77bb580fa5"> 353</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#ac23dbe69b5ee241af2da4f77bb580fa5">refresh_OAM</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; </div>
<div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="nes_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4"> 358</a></span>&#160;<span class="preprocessor">#define DISPLAY_ON \</span></div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;<span class="preprocessor"> display_on();</span></div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; </div>
<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="nes_8h.html#ad2ec9831813c5e7069917aa4455af682"> 364</a></span>&#160;<span class="preprocessor">#define DISPLAY_OFF \</span></div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;<span class="preprocessor"> display_off();</span></div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; </div>
<div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="nes_8h.html#a0659212acd317ccdebc0ecf435df330f"> 370</a></span>&#160;<span class="preprocessor">#define HIDE_LEFT_COLUMN \</span></div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;<span class="preprocessor"> shadow_PPUMASK &amp;= ~(PPUMASK_SHOW_BG_LC | PPUMASK_SHOW_SPR_LC); \</span></div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;<span class="preprocessor"></span> </div>
<div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="nes_8h.html#a5497c2255a9474d397446710189eacbe"> 376</a></span>&#160;<span class="preprocessor">#define SHOW_LEFT_COLUMN \</span></div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;<span class="preprocessor"> shadow_PPUMASK |= (PPUMASK_SHOW_BG_LC | PPUMASK_SHOW_SPR_LC);</span></div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; </div>
<div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="nes_8h.html#a8e3f36aa68ac036695816757f2a1322c"> 382</a></span>&#160;<span class="preprocessor">#define SHOW_BKG \</span></div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;<span class="preprocessor"> shadow_PPUMASK |= PPUMASK_SHOW_BG;</span></div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; </div>
<div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="nes_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141"> 388</a></span>&#160;<span class="preprocessor">#define HIDE_BKG \</span></div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;<span class="preprocessor"> shadow_PPUMASK &amp;= ~PPUMASK_SHOW_BG;</span></div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; </div>
<div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="nes_8h.html#a495bc9f405f916f02ad5d97e6e730134"> 394</a></span>&#160;<span class="preprocessor">#define SHOW_SPRITES \</span></div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;<span class="preprocessor"> shadow_PPUMASK |= PPUMASK_SHOW_SPR;</span></div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; </div>
<div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="nes_8h.html#a69ef98aee664b8abd8d1a3d45f016dda"> 400</a></span>&#160;<span class="preprocessor">#define HIDE_SPRITES \</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="preprocessor"> shadow_PPUMASK &amp;= ~PPUMASK_SHOW_SPR;</span></div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; </div>
<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="nes_8h.html#af91d252f07f4764996154820f970c101"> 406</a></span>&#160;<span class="preprocessor">#define SPRITES_8x16 \</span></div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;<span class="preprocessor"> shadow_PPUCTRL |= PPUCTRL_SPR_8X16;</span></div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; </div>
<div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="nes_8h.html#aa87bec0d134136fdb727f52cb773b792"> 412</a></span>&#160;<span class="preprocessor">#define SPRITES_8x8 \</span></div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="preprocessor"> shadow_PPUCTRL &amp;= ~PPUCTRL_SPR_8X16;</span></div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; </div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; </div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; </div>
<div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="nes_8h.html#a041d2aca17a277b0893d1b00766e56ae"> 423</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a041d2aca17a277b0893d1b00766e56ae">set_vram_byte</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * addr, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> v) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; </div>
<div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="nes_8h.html#abbcda4f1aeab627f991157a05507c341"> 428</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="nes_8h.html#abbcda4f1aeab627f991157a05507c341">get_bkg_xy_addr</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; </div>
<div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="nes_8h.html#a67f80e65620470b55a4950e2966eb868"> 430</a></span>&#160;<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>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; </div>
<div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="nes_8h.html#aa224c9bac27c7fd268e62bdf33338a84"> 434</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> palette) {</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; palette;</div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;}</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; </div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;<span class="keyword">extern</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="nes_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a>;</div>
<div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="nes_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c"> 439</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c">set_1bpp_colors_ex</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> fgcolor, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> bgcolor, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="nes_8h.html#a3ea524204d839377cf39842eec23e202">mode</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="nes_8h.html#adcb394299a1033616fc7d2faec8bd6ad"> 440</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#adcb394299a1033616fc7d2faec8bd6ad">set_1bpp_colors</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> fgcolor, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> bgcolor) {</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <a class="code" href="nes_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c">set_1bpp_colors_ex</a>(fgcolor, bgcolor, 0);</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;}</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; </div>
<div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="nes_8h.html#afe26f09c824742428c6435e87d179020"> 453</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#afe26f09c824742428c6435e87d179020">set_bkg_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="nes_8h.html#ab94bfec130df50d9cb808142f94603a5"> 454</a></span>&#160;<span class="preprocessor">#define set_bkg_2bpp_data set_bkg_data</span></div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; </div>
<div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="nes_8h.html#ad172eeeb14c47791f3656065c5f2ab0f"> 467</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#ad172eeeb14c47791f3656065c5f2ab0f">set_bkg_1bpp_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; </div>
<div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="nes_8h.html#a349526a46416c9345415532cbf0fac87"> 487</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a349526a46416c9345415532cbf0fac87">set_bkg_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00488"></a><span class="lineno"><a class="line" href="nes_8h.html#a55f82ff980398dd97036fd936ebd727e"> 488</a></span>&#160;<span class="preprocessor">#define set_tile_map set_bkg_tiles</span></div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; </div>
<div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="nes_8h.html#a19776bb563b6f64890f9933e67bda7ed"> 513</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a19776bb563b6f64890f9933e67bda7ed">set_bkg_attributes_nes16x16</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *attributes) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; </div>
<div class="line"><a name="l00538"></a><span class="lineno"><a class="line" href="nes_8h.html#a8278909fae5ed243e03f8815ac95bab3"> 538</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a8278909fae5ed243e03f8815ac95bab3">set_bkg_attributes</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *attributes)</div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;{</div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <a class="code" href="nes_8h.html#a19776bb563b6f64890f9933e67bda7ed">set_bkg_attributes_nes16x16</a>(x &gt;&gt; 1, y &gt;&gt; 1, (w + 1) &gt;&gt; 1, (<a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a> + 1) &gt;&gt; 1, attributes);</div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;}</div>
<div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="nes_8h.html#a04f245645e941991e3f8f82eef488847"> 587</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a04f245645e941991e3f8f82eef488847">set_bkg_submap_attributes_nes16x16</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; </div>
<div class="line"><a name="l00601"></a><span class="lineno"><a class="line" href="nes_8h.html#a34490cffc1e857ac41c880b6bca92c4f"> 601</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a34490cffc1e857ac41c880b6bca92c4f">set_bkg_submap_attributes</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *attributes, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w)</div>
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;{</div>
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <a class="code" href="nes_8h.html#a04f245645e941991e3f8f82eef488847">set_bkg_submap_attributes_nes16x16</a>(x &gt;&gt; 1, y &gt;&gt; 1, (w + 1) &gt;&gt; 1, (<a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a> + 1) &gt;&gt; 1, attributes, map_w &gt;&gt; 1);</div>
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;}</div>
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; </div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; </div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;<span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="nes_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a>;</div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; </div>
<div class="line"><a name="l00627"></a><span class="lineno"><a class="line" href="nes_8h.html#a811c386cac0df2d260aacb5a43608be5"> 627</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a811c386cac0df2d260aacb5a43608be5">set_bkg_based_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile) {</div>
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <a class="code" href="nes_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = base_tile;</div>
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <a class="code" href="nes_8h.html#a349526a46416c9345415532cbf0fac87">set_bkg_tiles</a>(x, y, w, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, tiles);</div>
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <a class="code" href="nes_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = 0;</div>
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160;}</div>
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; </div>
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; </div>
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00663"></a><span class="lineno"><a class="line" href="nes_8h.html#adb5d0970167b81401113812773c90838"> 663</a></span>&#160;<span class="preprocessor">#define set_tile_submap set_bkg_submap</span></div>
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; </div>
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; </div>
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160;<span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="nes_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a>;</div>
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; </div>
<div class="line"><a name="l00687"></a><span class="lineno"><a class="line" href="nes_8h.html#abc8bc5808620a9717263b8c9ec2237f0"> 687</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#abc8bc5808620a9717263b8c9ec2237f0">set_bkg_based_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile) {</div>
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <a class="code" href="nes_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = base_tile;</div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <a class="code" href="nes_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a>(x, y, w, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, map, map_w);</div>
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <a class="code" href="nes_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = 0;</div>
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;}</div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; </div>
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; </div>
<div class="line"><a name="l00705"></a><span class="lineno"><a class="line" href="nes_8h.html#adf2374063c8c63b60916f0dbf8255a9c"> 705</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#adf2374063c8c63b60916f0dbf8255a9c">get_bkg_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; </div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; </div>
<div class="line"><a name="l00715"></a><span class="lineno"><a class="line" href="nes_8h.html#a8c294fe74e18b5a1b228f3ca7357dee7"> 715</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="nes_8h.html#a8c294fe74e18b5a1b228f3ca7357dee7">set_bkg_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00716"></a><span class="lineno"><a class="line" href="nes_8h.html#a3b235c526c517fb02d20cdea780ee2c5"> 716</a></span>&#160;<span class="preprocessor">#define set_tile_xy set_bkg_tile_xy</span></div>
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; </div>
<div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="nes_8h.html#acecd46833168c4d32db97b82bc3388a6"> 724</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="nes_8h.html#acecd46833168c4d32db97b82bc3388a6">get_bkg_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; </div>
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; </div>
<div class="line"><a name="l00740"></a><span class="lineno"><a class="line" href="nes_8h.html#a6261537edc74068e3f7f057e6a3e8a57"> 740</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a6261537edc74068e3f7f057e6a3e8a57">move_bkg</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <a class="code" href="nes_2hardware_8h.html#a406100d23af09b16e4b43a2d0eefe741">bkg_scroll_x</a> = x, <a class="code" href="nes_2hardware_8h.html#ad6629a16788cf8cc495555d7fae64d9f">bkg_scroll_y</a> = y;</div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;}</div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; </div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; </div>
<div class="line"><a name="l00754"></a><span class="lineno"><a class="line" href="nes_8h.html#a1f583f7a880daa6145ca78b086a209d1"> 754</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a1f583f7a880daa6145ca78b086a209d1">scroll_bkg</a>(<a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> x, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> y) {</div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <a class="code" href="nes_2hardware_8h.html#a406100d23af09b16e4b43a2d0eefe741">bkg_scroll_x</a> += x, <a class="code" href="nes_2hardware_8h.html#ad6629a16788cf8cc495555d7fae64d9f">bkg_scroll_y</a> += y;</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;}</div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; </div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; </div>
<div class="line"><a name="l00770"></a><span class="lineno"><a class="line" href="nes_8h.html#a9e4e3c89ae9a1c1c118ab8504177f199"> 770</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a9e4e3c89ae9a1c1c118ab8504177f199">set_sprite_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00771"></a><span class="lineno"><a class="line" href="nes_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4"> 771</a></span>&#160;<span class="preprocessor">#define set_sprite_2bpp_data set_sprite_data</span></div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; </div>
<div class="line"><a name="l00784"></a><span class="lineno"><a class="line" href="nes_8h.html#ac108754c8984bbbb8a31118153d4e760"> 784</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#ac108754c8984bbbb8a31118153d4e760">set_sprite_1bpp_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; </div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> {</div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>; <span class="comment">//&lt; Y coordinate of the sprite on screen - 1</span></div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>; <span class="comment">//&lt; Sprite tile number</span></div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>; <span class="comment">//&lt; OAM Property Flags</span></div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>; <span class="comment">//&lt; X coordinate of the sprite on screen</span></div>
<div class="line"><a name="l00797"></a><span class="lineno"><a class="line" href="nes_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03"> 797</a></span>&#160;} <a class="code" href="nes_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03">OAM_item_t</a>;</div>
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; </div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; </div>
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;<span class="keyword">extern</span> <span class="keyword">volatile</span> <span class="keyword">struct </span><a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> <a class="code" href="nes_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[];</div>
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; </div>
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;<span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="nes_8h.html#a6286d69d5fb1133edd0c01c9545c62e4">_shadow_OAM_base</a>;</div>
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; </div>
<div class="line"><a name="l00808"></a><span class="lineno"><a class="line" href="nes_8h.html#a47607089a434dcda7a8583cfca03b604"> 808</a></span>&#160;<span class="preprocessor">#define DISABLE_OAM_DMA \</span></div>
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;<span class="preprocessor"> _shadow_OAM_base = 0</span></div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; </div>
<div class="line"><a name="l00813"></a><span class="lineno"><a class="line" href="nes_8h.html#abfd70bf31185a4900680977c9fb5a5ec"> 813</a></span>&#160;<span class="preprocessor">#define DISABLE_VBL_TRANSFER DISABLE_OAM_DMA</span></div>
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; </div>
<div class="line"><a name="l00815"></a><span class="lineno"><a class="line" href="nes_8h.html#a20895d53fe9caacb08ce8b071d57ce53"> 815</a></span>&#160;<span class="preprocessor">#define ENABLE_OAM_DMA \</span></div>
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;<span class="preprocessor"> _shadow_OAM_base = (uint8_t)((uint16_t)&amp;shadow_OAM &gt;&gt; 8)</span></div>
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; </div>
<div class="line"><a name="l00820"></a><span class="lineno"><a class="line" href="nes_8h.html#a77d516c9d3f86f100eddea5e0d133a76"> 820</a></span>&#160;<span class="preprocessor">#define ENABLE_VBL_TRANSFER ENABLE_OAM_DMA</span></div>
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; </div>
<div class="line"><a name="l00824"></a><span class="lineno"><a class="line" href="nes_8h.html#a8b77608c87a9aef65a03531482b2163b"> 824</a></span>&#160;<span class="preprocessor">#define MAX_HARDWARE_SPRITES 64</span></div>
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; </div>
<div class="line"><a name="l00828"></a><span class="lineno"><a class="line" href="nes_8h.html#afc296eacbda6a42f2a71aacab376ceb7"> 828</a></span>&#160;<span class="preprocessor">#define HARDWARE_SPRITE_CAN_FLIP_X 1</span></div>
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; </div>
<div class="line"><a name="l00832"></a><span class="lineno"><a class="line" href="nes_8h.html#a9119d69d971f6bee9e55d0df8f0ac983"> 832</a></span>&#160;<span class="preprocessor">#define HARDWARE_SPRITE_CAN_FLIP_Y 1</span></div>
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; </div>
<div class="line"><a name="l00836"></a><span class="lineno"><a class="line" href="nes_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687"> 836</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">SET_SHADOW_OAM_ADDRESS</a>(<span class="keywordtype">void</span> * address) {</div>
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; <a class="code" href="nes_8h.html#a6286d69d5fb1133edd0c01c9545c62e4">_shadow_OAM_base</a> = (<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)((<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)address &gt;&gt; 8);</div>
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160;}</div>
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; </div>
<div class="line"><a name="l00853"></a><span class="lineno"><a class="line" href="nes_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe"> 853</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>) {</div>
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <a class="code" href="nes_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>=<a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>;</div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;}</div>
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; </div>
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; </div>
<div class="line"><a name="l00864"></a><span class="lineno"><a class="line" href="nes_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a"> 864</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="nes_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a">get_sprite_tile</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div>
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; <span class="keywordflow">return</span> <a class="code" href="nes_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>;</div>
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160;}</div>
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; </div>
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; </div>
<div class="line"><a name="l00899"></a><span class="lineno"><a class="line" href="nes_8h.html#a99ea3252469e3614e977cce2aa1d06f7"> 899</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a99ea3252469e3614e977cce2aa1d06f7">set_sprite_prop</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>) {</div>
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <a class="code" href="nes_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>=<a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>;</div>
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160;}</div>
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; </div>
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; </div>
<div class="line"><a name="l00909"></a><span class="lineno"><a class="line" href="nes_8h.html#a6b873c807c9e2c90fb574951e85fdf88"> 909</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="nes_8h.html#a6b873c807c9e2c90fb574951e85fdf88">get_sprite_prop</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div>
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <span class="keywordflow">return</span> <a class="code" href="nes_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>;</div>
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160;}</div>
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; </div>
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; </div>
<div class="line"><a name="l00923"></a><span class="lineno"><a class="line" href="nes_8h.html#ab42c12c1d9aed3fd963248fbea9830cd"> 923</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">move_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>) {</div>
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> * itm = &amp;<a class="code" href="nes_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb];</div>
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; itm-&gt;<a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>=<a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, itm-&gt;<a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>=<a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>;</div>
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160;}</div>
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; </div>
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; </div>
<div class="line"><a name="l00939"></a><span class="lineno"><a class="line" href="nes_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe"> 939</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe">scroll_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>) {</div>
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> * itm = &amp;<a class="code" href="nes_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb];</div>
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; itm-&gt;<a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>+=<a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, itm-&gt;<a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>+=<a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>;</div>
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160;}</div>
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; </div>
<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; </div>
<div class="line"><a name="l00949"></a><span class="lineno"><a class="line" href="nes_8h.html#ad22c51635d052399bbbe1777999c794d"> 949</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div>
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <a class="code" href="nes_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a> = 240;</div>
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160;}</div>
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; </div>
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; </div>
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; </div>
<div class="line"><a name="l00962"></a><span class="lineno"><a class="line" href="nes_8h.html#a39071a53e4f4b7986c26138fab0d4182"> 962</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a39071a53e4f4b7986c26138fab0d4182">set_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; </div>
<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; </div>
<div class="line"><a name="l00983"></a><span class="lineno"><a class="line" href="nes_8h.html#a6224b2e4b72c062a2bb2959b0aaf860a"> 983</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a6224b2e4b72c062a2bb2959b0aaf860a">set_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; </div>
<div class="line"><a name="l00990"></a><span class="lineno"><a class="line" href="nes_8h.html#aabdefd0207b7bfb37ac41a402197d006"> 990</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#aabdefd0207b7bfb37ac41a402197d006">set_tile_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; </div>
<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; </div>
<div class="line"><a name="l01006"></a><span class="lineno"><a class="line" href="nes_8h.html#a68651e50243349b48164a8ad983dca4e"> 1006</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a68651e50243349b48164a8ad983dca4e">set_native_tile_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) {</div>
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; <span class="keywordflow">if</span> (first_tile &lt; 256) {</div>
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <a class="code" href="nes_8h.html#afe26f09c824742428c6435e87d179020">set_bkg_data</a>(first_tile, nb_tiles, data);</div>
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; <a class="code" href="nes_8h.html#a9e4e3c89ae9a1c1c118ab8504177f199">set_sprite_data</a>(first_tile - 256, nb_tiles, data);</div>
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; }</div>
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;}</div>
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; </div>
<div class="line"><a name="l01019"></a><span class="lineno"><a class="line" href="nes_8h.html#ad76a59fc3f7f9a33308776dd04f2750a"> 1019</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#ad76a59fc3f7f9a33308776dd04f2750a">init_bkg</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="asm_2sm83_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; </div>
<div class="line"><a name="l01028"></a><span class="lineno"><a class="line" href="nes_8h.html#a2b3faccbd50433879557ee0736f3906e"> 1028</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a2b3faccbd50433879557ee0736f3906e">vmemset</a> (<span class="keywordtype">void</span> *s, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="asm_2sm83_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <span class="keywordtype">size_t</span> n) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; </div>
<div class="line"><a name="l01038"></a><span class="lineno"><a class="line" href="nes_8h.html#a8c21e725f7de2cb86926c09202a80965"> 1038</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="nes_8h.html#a8c21e725f7de2cb86926c09202a80965">fill_bkg_rect</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l01039"></a><span class="lineno"><a class="line" href="nes_8h.html#a47865835d7d007d71b4bc8ae5cefb73a"> 1039</a></span>&#160;<span class="preprocessor">#define fill_rect fill_bkg_rect</span></div>
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; </div>
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _NES_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="aasm_2sm83_2string_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="asm_2sm83_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">char c</div><div class="ttdef"><b>Definition:</b> string.h:20</div></div>
<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div>
<div class="ttc" id="acgb_8h_html_af868d7cdbd052c6b972ef137e02f6495"><div class="ttname"><a href="cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495">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>
<div class="ttc" id="agb_8h_html_a0a3d95ad0ab8ad213016101d2e9c3d3e"><div class="ttname"><a href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a></div><div class="ttdeci">uint8_t d</div><div class="ttdef"><b>Definition:</b> gb.h:378</div></div>
<div class="ttc" id="agb_8h_html_a1f1dfeb2f802fe99f37fe91867b84456"><div class="ttname"><a href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a></div><div class="ttdeci">uint8_t h</div><div class="ttdef"><b>Definition:</b> gb.h:378</div></div>
<div class="ttc" id="anes_2hardware_8h_html"><div class="ttname"><a href="nes_2hardware_8h.html">hardware.h</a></div></div>
<div class="ttc" id="anes_2hardware_8h_html_a406100d23af09b16e4b43a2d0eefe741"><div class="ttname"><a href="nes_2hardware_8h.html#a406100d23af09b16e4b43a2d0eefe741">bkg_scroll_x</a></div><div class="ttdeci">__SHADOW_REG bkg_scroll_x</div><div class="ttdef"><b>Definition:</b> hardware.h:56</div></div>
<div class="ttc" id="anes_2hardware_8h_html_ad6629a16788cf8cc495555d7fae64d9f"><div class="ttname"><a href="nes_2hardware_8h.html#ad6629a16788cf8cc495555d7fae64d9f">bkg_scroll_y</a></div><div class="ttdeci">__SHADOW_REG bkg_scroll_y</div><div class="ttdef"><b>Definition:</b> hardware.h:57</div></div>
<div class="ttc" id="anes_8h_html_a041d2aca17a277b0893d1b00766e56ae"><div class="ttname"><a href="nes_8h.html#a041d2aca17a277b0893d1b00766e56ae">set_vram_byte</a></div><div class="ttdeci">void set_vram_byte(uint8_t *addr, uint8_t v) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a04f245645e941991e3f8f82eef488847"><div class="ttname"><a href="nes_8h.html#a04f245645e941991e3f8f82eef488847">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) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a05bf0b9f1328de7b568a19a2a428bcfe"><div class="ttname"><a href="nes_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a></div><div class="ttdeci">void set_sprite_tile(uint8_t nb, uint8_t tile)</div><div class="ttdef"><b>Definition:</b> nes.h:853</div></div>
<div class="ttc" id="anes_8h_html_a06bab3f8bce032de0d21fbd86e14c3f3"><div class="ttname"><a href="nes_8h.html#a06bab3f8bce032de0d21fbd86e14c3f3">_current_bank</a></div><div class="ttdeci">volatile uint8_t _current_bank</div><div class="ttdef"><b>Definition:</b> gb.h:474</div></div>
<div class="ttc" id="anes_8h_html_a19776bb563b6f64890f9933e67bda7ed"><div class="ttname"><a href="nes_8h.html#a19776bb563b6f64890f9933e67bda7ed">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) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a1edeb3f3e504ca924b475711f6e3b652"><div class="ttname"><a href="nes_8h.html#a1edeb3f3e504ca924b475711f6e3b652">waitpadup</a></div><div class="ttdeci">void waitpadup(void)</div></div>
<div class="ttc" id="anes_8h_html_a1f00bd35cd56aac84c108f5a802c3f9c"><div class="ttname"><a href="nes_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c">set_1bpp_colors_ex</a></div><div class="ttdeci">void set_1bpp_colors_ex(uint8_t fgcolor, uint8_t bgcolor, uint8_t mode) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a1f583f7a880daa6145ca78b086a209d1"><div class="ttname"><a href="nes_8h.html#a1f583f7a880daa6145ca78b086a209d1">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:754</div></div>
<div class="ttc" id="anes_8h_html_a21e24279db2c5866f7d3dac45ce0d633"><div class="ttname"><a href="nes_8h.html#a21e24279db2c5866f7d3dac45ce0d633">wait_vbl_done</a></div><div class="ttdeci">void wait_vbl_done(void)</div></div>
<div class="ttc" id="anes_8h_html_a232883ed798bce00a03b09705c67deef"><div class="ttname"><a href="nes_8h.html#a232883ed798bce00a03b09705c67deef">enable_interrupts</a></div><div class="ttdeci">void enable_interrupts(void)</div><div class="ttdef"><b>Definition:</b> nes.h:309</div></div>
<div class="ttc" id="anes_8h_html_a250f5339e05523912926be566e9eb8c0"><div class="ttname"><a href="nes_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a></div><div class="ttdeci">uint16_t _current_1bpp_colors</div></div>
<div class="ttc" id="anes_8h_html_a2aa5c3d5a75dc85e842b23b683024027"><div class="ttname"><a href="nes_8h.html#a2aa5c3d5a75dc85e842b23b683024027">joypad</a></div><div class="ttdeci">uint8_t joypad(void) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a2afae202a1f8ca59a12a6455bb909c5d"><div class="ttname"><a href="nes_8h.html#a2afae202a1f8ca59a12a6455bb909c5d">delay</a></div><div class="ttdeci">void delay(uint16_t d) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a2b17818c7916bc2ff75196ff0627b1e9"><div class="ttname"><a href="nes_8h.html#a2b17818c7916bc2ff75196ff0627b1e9">disable_interrupts</a></div><div class="ttdeci">void disable_interrupts(void)</div><div class="ttdef"><b>Definition:</b> nes.h:325</div></div>
<div class="ttc" id="anes_8h_html_a2b3faccbd50433879557ee0736f3906e"><div class="ttname"><a href="nes_8h.html#a2b3faccbd50433879557ee0736f3906e">vmemset</a></div><div class="ttdeci">void vmemset(void *s, uint8_t c, size_t n) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a34490cffc1e857ac41c880b6bca92c4f"><div class="ttname"><a href="nes_8h.html#a34490cffc1e857ac41c880b6bca92c4f">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:601</div></div>
<div class="ttc" id="anes_8h_html_a349526a46416c9345415532cbf0fac87"><div class="ttname"><a href="nes_8h.html#a349526a46416c9345415532cbf0fac87">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) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a3619f9cb1e3c92238a033ead79a0c551"><div class="ttname"><a href="nes_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a></div><div class="ttdeci">volatile struct OAM_item_t shadow_OAM[]</div></div>
<div class="ttc" id="anes_8h_html_a39071a53e4f4b7986c26138fab0d4182"><div class="ttname"><a href="nes_8h.html#a39071a53e4f4b7986c26138fab0d4182">set_data</a></div><div class="ttdeci">void set_data(uint8_t *vram_addr, const uint8_t *data, uint16_t len) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a3ea524204d839377cf39842eec23e202"><div class="ttname"><a href="nes_8h.html#a3ea524204d839377cf39842eec23e202">mode</a></div><div class="ttdeci">void mode(uint8_t m) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a580135f94ed0c4efeb28933097953bcb"><div class="ttname"><a href="nes_8h.html#a580135f94ed0c4efeb28933097953bcb">vsync</a></div><div class="ttdeci">void vsync(void)</div></div>
<div class="ttc" id="anes_8h_html_a6224b2e4b72c062a2bb2959b0aaf860a"><div class="ttname"><a href="nes_8h.html#a6224b2e4b72c062a2bb2959b0aaf860a">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) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a6261537edc74068e3f7f057e6a3e8a57"><div class="ttname"><a href="nes_8h.html#a6261537edc74068e3f7f057e6a3e8a57">move_bkg</a></div><div class="ttdeci">void move_bkg(uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> nes.h:740</div></div>
<div class="ttc" id="anes_8h_html_a6286d69d5fb1133edd0c01c9545c62e4"><div class="ttname"><a href="nes_8h.html#a6286d69d5fb1133edd0c01c9545c62e4">_shadow_OAM_base</a></div><div class="ttdeci">uint8_t _shadow_OAM_base</div><div class="ttdef"><b>Definition:</b> gb.h:1657</div></div>
<div class="ttc" id="anes_8h_html_a68651e50243349b48164a8ad983dca4e"><div class="ttname"><a href="nes_8h.html#a68651e50243349b48164a8ad983dca4e">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:1006</div></div>
<div class="ttc" id="anes_8h_html_a6b873c807c9e2c90fb574951e85fdf88"><div class="ttname"><a href="nes_8h.html#a6b873c807c9e2c90fb574951e85fdf88">get_sprite_prop</a></div><div class="ttdeci">uint8_t get_sprite_prop(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> nes.h:909</div></div>
<div class="ttc" id="anes_8h_html_a6c59aa9a4f9ea42bed6ca6940b2741fe"><div class="ttname"><a href="nes_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe">scroll_sprite</a></div><div class="ttdeci">void scroll_sprite(uint8_t nb, int8_t x, int8_t y)</div><div class="ttdef"><b>Definition:</b> nes.h:939</div></div>
<div class="ttc" id="anes_8h_html_a6f49bc517509dbff3b7f8fae4373b1f0"><div class="ttname"><a href="nes_8h.html#a6f49bc517509dbff3b7f8fae4373b1f0">get_mode</a></div><div class="ttdeci">uint8_t get_mode(void) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a78d2fd18666afec116f176d46debb4e7"><div class="ttname"><a href="nes_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a></div><div class="ttdeci">volatile uint16_t sys_time</div></div>
<div class="ttc" id="anes_8h_html_a7e0cdfd6b9a2ae1b7f30384f132d8687"><div class="ttname"><a href="nes_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">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:836</div></div>
<div class="ttc" id="anes_8h_html_a811c386cac0df2d260aacb5a43608be5"><div class="ttname"><a href="nes_8h.html#a811c386cac0df2d260aacb5a43608be5">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> nes.h:627</div></div>
<div class="ttc" id="anes_8h_html_a8278909fae5ed243e03f8815ac95bab3"><div class="ttname"><a href="nes_8h.html#a8278909fae5ed243e03f8815ac95bab3">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:538</div></div>
<div class="ttc" id="anes_8h_html_a8c21e725f7de2cb86926c09202a80965"><div class="ttname"><a href="nes_8h.html#a8c21e725f7de2cb86926c09202a80965">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) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a8c294fe74e18b5a1b228f3ca7357dee7"><div class="ttname"><a href="nes_8h.html#a8c294fe74e18b5a1b228f3ca7357dee7">set_bkg_tile_xy</a></div><div class="ttdeci">uint8_t * set_bkg_tile_xy(uint8_t x, uint8_t y, uint8_t t) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a8e5ea12b86bdfc812448c2f5c4336c03"><div class="ttname"><a href="nes_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03">OAM_item_t</a></div><div class="ttdeci">struct OAM_item_t OAM_item_t</div></div>
<div class="ttc" id="anes_8h_html_a99ea3252469e3614e977cce2aa1d06f7"><div class="ttname"><a href="nes_8h.html#a99ea3252469e3614e977cce2aa1d06f7">set_sprite_prop</a></div><div class="ttdeci">void set_sprite_prop(uint8_t nb, uint8_t prop)</div><div class="ttdef"><b>Definition:</b> nes.h:899</div></div>
<div class="ttc" id="anes_8h_html_a9ca9f825284da0db522d15aa2e42a4af"><div class="ttname"><a href="nes_8h.html#a9ca9f825284da0db522d15aa2e42a4af">set_sprite_palette</a></div><div class="ttdeci">void set_sprite_palette(uint8_t first_palette, uint8_t nb_palettes, palette_color_t *rgb_data) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_a9e4e3c89ae9a1c1c118ab8504177f199"><div class="ttname"><a href="nes_8h.html#a9e4e3c89ae9a1c1c118ab8504177f199">set_sprite_data</a></div><div class="ttdeci">void set_sprite_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_aa1843c9b694489b612595631315c1c21"><div class="ttname"><a href="nes_8h.html#aa1843c9b694489b612595631315c1c21">palette_color_t</a></div><div class="ttdeci">uint8_t palette_color_t</div><div class="ttdef"><b>Definition:</b> nes.h:44</div></div>
<div class="ttc" id="anes_8h_html_aa224c9bac27c7fd268e62bdf33338a84"><div class="ttname"><a href="nes_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a></div><div class="ttdeci">void set_2bpp_palette(uint16_t palette)</div><div class="ttdef"><b>Definition:</b> nes.h:434</div></div>
<div class="ttc" id="anes_8h_html_aa82205e9629f984d0b3dc8055c211522"><div class="ttname"><a href="nes_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a></div><div class="ttdeci">uint8_t _map_tile_offset</div></div>
<div class="ttc" id="anes_8h_html_aa8851ca1f515ca55cbf9f6ff53b08e8a"><div class="ttname"><a href="nes_8h.html#aa8851ca1f515ca55cbf9f6ff53b08e8a">set_bkg_palette</a></div><div class="ttdeci">void set_bkg_palette(uint8_t first_palette, uint8_t nb_palettes, palette_color_t *rgb_data) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_aa9a551f91f4b583ddff265e922b0574a"><div class="ttname"><a href="nes_8h.html#aa9a551f91f4b583ddff265e922b0574a">joypad_ex</a></div><div class="ttdeci">void joypad_ex(joypads_t *joypads) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_aabdefd0207b7bfb37ac41a402197d006"><div class="ttname"><a href="nes_8h.html#aabdefd0207b7bfb37ac41a402197d006">set_tile_data</a></div><div class="ttdeci">void set_tile_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data, uint8_t base) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_aaf51ac64e2ff2d20a9c6d65091d76d7f"><div class="ttname"><a href="nes_8h.html#aaf51ac64e2ff2d20a9c6d65091d76d7f">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) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_ab42c12c1d9aed3fd963248fbea9830cd"><div class="ttname"><a href="nes_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">move_sprite</a></div><div class="ttdeci">void move_sprite(uint8_t nb, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> nes.h:923</div></div>
<div class="ttc" id="anes_8h_html_ab472d9bbb1bcfd141374f5babc71934c"><div class="ttname"><a href="nes_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a></div><div class="ttdeci">uint8_t _submap_tile_offset</div></div>
<div class="ttc" id="anes_8h_html_ab7e35e1eff44ed78ad8f0015c6e85b4e"><div class="ttname"><a href="nes_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e">joypad_init</a></div><div class="ttdeci">uint8_t joypad_init(uint8_t npads, joypads_t *joypads) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_abbcda4f1aeab627f991157a05507c341"><div class="ttname"><a href="nes_8h.html#abbcda4f1aeab627f991157a05507c341">get_bkg_xy_addr</a></div><div class="ttdeci">uint8_t * get_bkg_xy_addr(uint8_t x, uint8_t y) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_abc8bc5808620a9717263b8c9ec2237f0"><div class="ttname"><a href="nes_8h.html#abc8bc5808620a9717263b8c9ec2237f0">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> nes.h:687</div></div>
<div class="ttc" id="anes_8h_html_ac108754c8984bbbb8a31118153d4e760"><div class="ttname"><a href="nes_8h.html#ac108754c8984bbbb8a31118153d4e760">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) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_ac23dbe69b5ee241af2da4f77bb580fa5"><div class="ttname"><a href="nes_8h.html#ac23dbe69b5ee241af2da4f77bb580fa5">refresh_OAM</a></div><div class="ttdeci">void refresh_OAM(void)</div></div>
<div class="ttc" id="anes_8h_html_acecd46833168c4d32db97b82bc3388a6"><div class="ttname"><a href="nes_8h.html#acecd46833168c4d32db97b82bc3388a6">get_bkg_tile_xy</a></div><div class="ttdeci">uint8_t get_bkg_tile_xy(uint8_t x, uint8_t y) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_ad172eeeb14c47791f3656065c5f2ab0f"><div class="ttname"><a href="nes_8h.html#ad172eeeb14c47791f3656065c5f2ab0f">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) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_ad22c51635d052399bbbe1777999c794d"><div class="ttname"><a href="nes_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a></div><div class="ttdeci">void hide_sprite(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> nes.h:949</div></div>
<div class="ttc" id="anes_8h_html_ad76a59fc3f7f9a33308776dd04f2750a"><div class="ttname"><a href="nes_8h.html#ad76a59fc3f7f9a33308776dd04f2750a">init_bkg</a></div><div class="ttdeci">void init_bkg(uint8_t c) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_adb21d1c7d533a7133bab36a845489780"><div class="ttname"><a href="nes_8h.html#adb21d1c7d533a7133bab36a845489780">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) OLDCALL</div><div class="ttdef"><b>Definition:</b> msx.h:554</div></div>
<div class="ttc" id="anes_8h_html_adcb394299a1033616fc7d2faec8bd6ad"><div class="ttname"><a href="nes_8h.html#adcb394299a1033616fc7d2faec8bd6ad">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:440</div></div>
<div class="ttc" id="anes_8h_html_adf2374063c8c63b60916f0dbf8255a9c"><div class="ttname"><a href="nes_8h.html#adf2374063c8c63b60916f0dbf8255a9c">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) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_adfaa20c59f6c2cd94d9e9047f34c1719"><div class="ttname"><a href="nes_8h.html#adfaa20c59f6c2cd94d9e9047f34c1719">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) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_af068fcd54cfae7c070d6caf97b2c6ff2"><div class="ttname"><a href="nes_8h.html#af068fcd54cfae7c070d6caf97b2c6ff2">waitpad</a></div><div class="ttdeci">uint8_t waitpad(uint8_t mask) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_af5c0beff7d7a7d8641b51fd95c811b2a"><div class="ttname"><a href="nes_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a">get_sprite_tile</a></div><div class="ttdeci">uint8_t get_sprite_tile(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> nes.h:864</div></div>
<div class="ttc" id="anes_8h_html_afe26f09c824742428c6435e87d179020"><div class="ttname"><a href="nes_8h.html#afe26f09c824742428c6435e87d179020">set_bkg_data</a></div><div class="ttdeci">void set_bkg_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL</div></div>
<div class="ttc" id="anes_8h_html_afe5714734a8fea7b1617ba377b3c0a06"><div class="ttname"><a href="nes_8h.html#afe5714734a8fea7b1617ba377b3c0a06">display_off</a></div><div class="ttdeci">void display_off(void)</div><div class="ttdef"><b>Definition:</b> msx.h:225</div></div>
<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>
<div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div>
<div class="ttc" id="astdint_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div>
<div class="ttc" id="astdint_8h_html_adf4d876453337156dde61095e1f20223"><div class="ttname"><a href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a></div><div class="ttdeci">unsigned short int uint16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:52</div></div>
<div class="ttc" id="astdint_8h_html_aef44329758059c91c76d334e8fc09700"><div class="ttname"><a href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a></div><div class="ttdeci">signed char int8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:43</div></div>
<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:1644</div></div>
<div class="ttc" id="astruct_o_a_m__item__t_html_a3a13fb7441f8c431d9494cd2441c6c0b"><div class="ttname"><a href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">OAM_item_t::x</a></div><div class="ttdeci">uint8_t x</div><div class="ttdef"><b>Definition:</b> gb.h:1645</div></div>
<div class="ttc" id="astruct_o_a_m__item__t_html_a435e018f3bbc0ebaa9eaf96806d386d9"><div class="ttname"><a href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">OAM_item_t::prop</a></div><div class="ttdeci">uint8_t prop</div><div class="ttdef"><b>Definition:</b> gb.h:1647</div></div>
<div class="ttc" id="astruct_o_a_m__item__t_html_a6c269ed01269d02bcf7e36e0de3696f6"><div class="ttname"><a href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">OAM_item_t::tile</a></div><div class="ttdeci">uint8_t tile</div><div class="ttdef"><b>Definition:</b> gb.h:1646</div></div>
<div class="ttc" id="astruct_o_a_m__item__t_html_ad5ad9d3d300858bf0b1cd9e210366a18"><div class="ttname"><a href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">OAM_item_t::y</a></div><div class="ttdeci">uint8_t y</div><div class="ttdef"><b>Definition:</b> gb.h:1645</div></div>
<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:672</div></div>
<div class="ttc" id="aversion_8h_html"><div class="ttname"><a href="version_8h.html">version.h</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
</div>
</body>
</html>