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

772 lines
168 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/gb/gb.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('gb_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">gb.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="gb_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 _GB_H</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#define _GB_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="gb_2hardware_8h.html">gb/hardware.h</a>&gt;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="gb_8h.html#a385397587c93683e8e11afb712e2960b"> 12</a></span>&#160;<span class="preprocessor">#define NINTENDO</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#ifdef SEGA</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#undef SEGA</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#if defined(__TARGET_ap)</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#define ANALOGUEPOCKET</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#elif defined(__TARGET_gb)</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="gb_8h.html#af10046e88cba47031142a763a94210df"> 19</a></span>&#160;<span class="preprocessor">#define GAMEBOY</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#elif defined(__TARGET_duck)</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#define MEGADUCK</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="gb_8h.html#a05ca817ab32f6da612c3ae26db5abf02"> 38</a></span>&#160;<span class="preprocessor">#define J_UP 0x04U</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="gb_8h.html#ae032c5c544196e37ec0432f6cfad7904"> 39</a></span>&#160;<span class="preprocessor">#define J_DOWN 0x08U</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="gb_8h.html#ac70894fecac30c1ca9917f07373cf81c"> 40</a></span>&#160;<span class="preprocessor">#define J_LEFT 0x02U</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="gb_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325"> 41</a></span>&#160;<span class="preprocessor">#define J_RIGHT 0x01U</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="gb_8h.html#a31af766e3b598eb7a6b63f55a4988e7a"> 42</a></span>&#160;<span class="preprocessor">#define J_A 0x10U</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="gb_8h.html#ae47e59a309120f9420993f26816b5e6d"> 43</a></span>&#160;<span class="preprocessor">#define J_B 0x20U</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="gb_8h.html#ab416a9d96d1582490828f4bac78a8b5b"> 44</a></span>&#160;<span class="preprocessor">#define J_SELECT 0x40U</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="gb_8h.html#ab769c6e20778298be8bc3321476ceb53"> 45</a></span>&#160;<span class="preprocessor">#define J_START 0x80U</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="gb_8h.html#acc9798fc62b5d626c91c8b0f20b522ff"> 51</a></span>&#160;<span class="preprocessor">#define M_DRAWING 0x01U</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="gb_8h.html#af0e30d6af308ffe5a025fbe85da40f6f"> 52</a></span>&#160;<span class="preprocessor">#define M_TEXT_OUT 0x02U</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="gb_8h.html#a908826e7180f94a5988ceb8633313a2e"> 53</a></span>&#160;<span class="preprocessor">#define M_TEXT_INOUT 0x03U</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="gb_8h.html#a04382de20738146fe873ddfb0585052b"> 59</a></span>&#160;<span class="preprocessor">#define M_NO_SCROLL 0x04U</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="gb_8h.html#aca2855edd2d28f66be551a0f7ec23f07"> 63</a></span>&#160;<span class="preprocessor">#define M_NO_INTERP 0x08U</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="gb_8h.html#a54572cf6791463b6d60623837e0bb5a6"> 69</a></span>&#160;<span class="preprocessor">#define S_PALETTE 0x10U</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="gb_8h.html#ae97793b4039609f93b0f7f8bddb18011"> 73</a></span>&#160;<span class="preprocessor">#define S_FLIPX 0x20U</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="gb_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b"> 77</a></span>&#160;<span class="preprocessor">#define S_FLIPY 0x40U</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="gb_8h.html#a9506d04c2ec7d2442a52054f67d2b32f"> 82</a></span>&#160;<span class="preprocessor">#define S_PRIORITY 0x80U</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="gb_8h.html#a826169925ff12d52f0a0d51f14d2936b"> 86</a></span>&#160;<span class="preprocessor">#define S_PAL(n) n</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment">/* Interrupt flags */</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="gb_8h.html#aa027abe630d44039f238034bcb2d2f36"> 91</a></span>&#160;<span class="preprocessor">#define EMPTY_IFLAG 0x00U</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="gb_8h.html#a2ca7720b9a5da9b2173e1f74dba85541"> 97</a></span>&#160;<span class="preprocessor">#define VBL_IFLAG 0x01U</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="gb_8h.html#a61a9e2910380de6abb34df14ef634eb4"> 101</a></span>&#160;<span class="preprocessor">#define LCD_IFLAG 0x02U</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="gb_8h.html#a604256210ec5b90b68185e1a18efab49"> 105</a></span>&#160;<span class="preprocessor">#define TIM_IFLAG 0x04U</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="gb_8h.html#ad90564458646c5646b3880b93db3443e"> 109</a></span>&#160;<span class="preprocessor">#define SIO_IFLAG 0x08U</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="gb_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280"> 113</a></span>&#160;<span class="preprocessor">#define JOY_IFLAG 0x10U</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; </div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment">/* DMG Palettes */</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="gb_8h.html#ab311e53739c992294ae07ca506a924ad"> 117</a></span>&#160;<span class="preprocessor">#define DMG_BLACK 0x03</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="gb_8h.html#a45d13a674e169dd83df7e1f46513ccba"> 118</a></span>&#160;<span class="preprocessor">#define DMG_DARK_GRAY 0x02</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3"> 119</a></span>&#160;<span class="preprocessor">#define DMG_LITE_GRAY 0x01</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3"> 120</a></span>&#160;<span class="preprocessor">#define DMG_WHITE 0x00</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="gb_8h.html#a9727caafc483ba6ec65e9344b033d684"> 140</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="l00141"></a><span class="lineno"> 141</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment">/* Limits */</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="gb_8h.html#ada0cc738d27aad251151e69cb8d250e1"> 145</a></span>&#160;<span class="preprocessor">#define SCREENWIDTH DEVICE_SCREEN_PX_WIDTH</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="gb_8h.html#ae189e98d0ef9263c37869ce1ff3710a5"> 148</a></span>&#160;<span class="preprocessor">#define SCREENHEIGHT DEVICE_SCREEN_PX_HEIGHT</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="gb_8h.html#a5a796bbf3e4347d914b83568350143a9"> 151</a></span>&#160;<span class="preprocessor">#define MINWNDPOSX 0x07U</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="gb_8h.html#af3d632ba2d7cef6619df5dfea8730909"> 154</a></span>&#160;<span class="preprocessor">#define MINWNDPOSY 0x00U</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="gb_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5"> 157</a></span>&#160;<span class="preprocessor">#define MAXWNDPOSX 0xA6U</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="gb_8h.html#ad57f2f8c54204687f02801d8ab1bd150"> 160</a></span>&#160;<span class="preprocessor">#define MAXWNDPOSY 0x8FU</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; </div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d"> 165</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>)(void) <a class="code" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; </div>
<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="gb_8h.html#ac6b62210da8713ab1fca7cb3ff6e80c5"> 174</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ac6b62210da8713ab1fca7cb3ff6e80c5">remove_VBL</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>);</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; </div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="gb_8h.html#a67ef797ca230a941c1cc0c580720327b"> 179</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a67ef797ca230a941c1cc0c580720327b">remove_LCD</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>);</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="gb_8h.html#a623f1ed8ee1d48bfa6e884d546991a6f"> 184</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a623f1ed8ee1d48bfa6e884d546991a6f">remove_TIM</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>);</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; </div>
<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="gb_8h.html#a325751f7e2373601d2a7a94671deef29"> 198</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a325751f7e2373601d2a7a94671deef29">remove_SIO</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>);</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; </div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="gb_8h.html#a62770721f72bd8ad399a7bfcc0305db2"> 203</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a62770721f72bd8ad399a7bfcc0305db2">remove_JOY</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>);</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; </div>
<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="gb_8h.html#a83bce4c8764eddefd9ab8af88669065e"> 228</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a83bce4c8764eddefd9ab8af88669065e">add_VBL</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>);</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; </div>
<div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="gb_8h.html#ae2dae907ea199eee9abb0eb4b831778f"> 263</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ae2dae907ea199eee9abb0eb4b831778f">add_LCD</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>);</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; </div>
<div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="gb_8h.html#aa1b9d8d215e844834d2be5c10969d712"> 278</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aa1b9d8d215e844834d2be5c10969d712">add_TIM</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>);</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; </div>
<div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="gb_8h.html#a617176cc314371eeddcd8903584d62f0"> 295</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a617176cc314371eeddcd8903584d62f0">add_low_priority_TIM</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>);</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; </div>
<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="gb_8h.html#ae655adc762bf0b4320d2e11d2e5fbc72"> 308</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ae655adc762bf0b4320d2e11d2e5fbc72">add_SIO</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>);</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; </div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; </div>
<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="gb_8h.html#ae370c3fa15b70edda4c26464d49129a8"> 325</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ae370c3fa15b70edda4c26464d49129a8">add_JOY</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>);</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; </div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; </div>
<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="gb_8h.html#a4e4afc51edff293a392211cb8d836591"> 343</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a4e4afc51edff293a392211cb8d836591">nowait_int_handler</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; </div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; </div>
<div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="gb_8h.html#a4d670e24f1a48820fa2e612de3224234"> 358</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a4d670e24f1a48820fa2e612de3224234">wait_int_handler</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; </div>
<div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="gb_8h.html#ade1cd2eab862b0e479415288964b3d63"> 362</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#ade1cd2eab862b0e479415288964b3d63">cancel_pending_interrupts</a>(<span class="keywordtype">void</span>) {</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">return</span> <a class="code" href="gb_2hardware_8h.html#a509a5d0f138b40830cb447a862573be5">IF_REG</a> = 0;</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;}</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; </div>
<div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="gb_8h.html#afb0c344e6a417709af9497543f072aa3"> 372</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#afb0c344e6a417709af9497543f072aa3">mode</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> m);</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; </div>
<div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a"> 378</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#aa1bf03fa405248ec322b2a02d95975de">get_mode</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; </div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;<span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45">_cpu</a>;</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; </div>
<div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="gb_8h.html#a0031c07799247a6d6c1bfa3decac79d0"> 388</a></span>&#160;<span class="preprocessor">#define DMG_TYPE 0x01</span></div>
<div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="gb_8h.html#ae996ed4fd8bb6b308b9c8708a91df06b"> 391</a></span>&#160;<span class="preprocessor">#define MGB_TYPE 0xFF</span></div>
<div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="gb_8h.html#aee435a3a0dde3dbd7b6112dbb456cde8"> 394</a></span>&#160;<span class="preprocessor">#define CGB_TYPE 0x11</span></div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; </div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36">_is_GBA</a>;</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; </div>
<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="gb_8h.html#aa311f84dd9fce6e136ba4881e7b0d98d"> 404</a></span>&#160;<span class="preprocessor">#define GBA_NOT_DETECTED 0x00</span></div>
<div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="gb_8h.html#a6ccf5d0f34fb0af0b6e73b9df0ccd745"> 407</a></span>&#160;<span class="preprocessor">#define GBA_DETECTED 0x01</span></div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; </div>
<div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="gb_8h.html#a231ec05679809190782e61c6e8aaaba4"> 411</a></span>&#160;<span class="preprocessor">#define DEVICE_SUPPORTS_COLOR (_cpu == CGB_TYPE)</span></div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; </div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</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="gb_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a>;</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; </div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; </div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; </div>
<div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="gb_8h.html#a1259cf3a23fd2166a9d1a2e93942e30e"> 430</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1259cf3a23fd2166a9d1a2e93942e30e">send_byte</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; </div>
<div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="gb_8h.html#a34d6500215984e8f9a986523a2f2dadd"> 439</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a34d6500215984e8f9a986523a2f2dadd">receive_byte</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; </div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</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="gb_8h.html#a2e3415ce2f7fb63427618bd9b9cb6635">_io_status</a>;</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; </div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</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="gb_8h.html#a02f3a1585ae654444e628c1aa98ef0cf">_io_in</a>;</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; </div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</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="gb_8h.html#acae13736da20f9fc53e8d38934aa2119">_io_out</a>;</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; </div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;<span class="comment">/* Status codes */</span></div>
<div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="gb_8h.html#a268cc6c704e16f3fa02dd1cf0e17070a"> 454</a></span>&#160;<span class="preprocessor">#define IO_IDLE 0x00U</span></div>
<div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="gb_8h.html#ab69a3f7cd2c6b5eb4f518aefee099007"> 456</a></span>&#160;<span class="preprocessor">#define IO_SENDING 0x01U</span></div>
<div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="gb_8h.html#aee03efddee0f2f6fbcaec789301aaa9b"> 458</a></span>&#160;<span class="preprocessor">#define IO_RECEIVING 0x02U</span></div>
<div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="gb_8h.html#a5d4c9c7b61a0326a939f9109f96d7423"> 460</a></span>&#160;<span class="preprocessor">#define IO_ERROR 0x04U</span></div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; </div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; </div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; </div>
<div class="line"><a name="l00474"></a><span class="lineno"><a class="line" href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a"> 474</a></span>&#160;<a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a">_current_bank</a>;</div>
<div class="line"><a name="l00475"></a><span class="lineno"><a class="line" href="gb_8h.html#ae042588f20bf5a2349c8ad8716245233"> 475</a></span>&#160;<span class="preprocessor">#define CURRENT_BANK _current_bank</span></div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; </div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;<span class="preprocessor">#ifndef BANK</span></div>
<div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="gb_8h.html#a42705001e2b9897f5167b67fb36c69dd"> 487</a></span>&#160;<span class="preprocessor">#define BANK(VARNAME) ( (uint8_t) &amp; __bank_ ## VARNAME )</span></div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; </div>
<div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3"> 502</a></span>&#160;<span class="preprocessor">#define BANKREF(VARNAME) void __func_ ## VARNAME(void) __banked __naked { \</span></div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;<span class="preprocessor">__asm \</span></div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;<span class="preprocessor"> .local b___func_ ## VARNAME \</span></div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;<span class="preprocessor"> ___bank_ ## VARNAME = b___func_ ## VARNAME \</span></div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;<span class="preprocessor"> .globl ___bank_ ## VARNAME \</span></div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;<span class="preprocessor">__endasm; \</span></div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;<span class="preprocessor">}</span></div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; </div>
<div class="line"><a name="l00519"></a><span class="lineno"><a class="line" href="gb_8h.html#a261bba55a07b802baf99346feadd9852"> 519</a></span>&#160;<span class="preprocessor">#define BANKREF_EXTERN(VARNAME) extern const void __bank_ ## VARNAME;</span></div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; </div>
<div class="line"><a name="l00536"></a><span class="lineno"><a class="line" href="gb_8h.html#af61262bbc05629f31020afce67e1b9ea"> 536</a></span>&#160;<span class="preprocessor">#define SWITCH_ROM(b) (_current_bank = (b), rROMB0 = (b))</span></div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; </div>
<div class="line"><a name="l00538"></a><span class="lineno"><a class="line" href="gb_8h.html#a121feb0c32d124562f52398aa9656e7b"> 538</a></span>&#160;<span class="preprocessor">#define SWITCH_RAM(b) (rRAMB = (b))</span></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"><a class="line" href="gb_8h.html#a0e9c88657beaac946231a4801481b97f"> 540</a></span>&#160;<span class="preprocessor">#define ENABLE_RAM (rRAMG = 0x0A)</span></div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; </div>
<div class="line"><a name="l00542"></a><span class="lineno"><a class="line" href="gb_8h.html#a649d27b5587de16a66176e03a1b8ebd5"> 542</a></span>&#160;<span class="preprocessor">#define DISABLE_RAM (rRAMG = 0x00)</span></div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; </div>
<div class="line"><a name="l00547"></a><span class="lineno"><a class="line" href="gb_8h.html#a3fca2d0a22aa2717e62fed659caf4743"> 547</a></span>&#160;<span class="preprocessor">#define SWITCH_ROM_MEGADUCK(b) SWITCH_ROM(b)</span></div>
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; </div>
<div class="line"><a name="l00557"></a><span class="lineno"><a class="line" href="gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f"> 557</a></span>&#160;<span class="preprocessor">#define SWITCH_ROM_MBC1(b) SWITCH_ROM(b)</span></div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; </div>
<div class="line"><a name="l00562"></a><span class="lineno"><a class="line" href="gb_8h.html#a38ea3e4dfe02b8eae70df27f39d4a951"> 562</a></span>&#160;<span class="preprocessor">#define SWITCH_RAM_MBC1(b) SWITCH_RAM(b)</span></div>
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; </div>
<div class="line"><a name="l00572"></a><span class="lineno"><a class="line" href="gb_8h.html#ae202f64307ec00f6970ef9225e54646c"> 572</a></span>&#160;<span class="preprocessor">#define ENABLE_RAM_MBC1 ENABLE_RAM</span></div>
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; </div>
<div class="line"><a name="l00576"></a><span class="lineno"><a class="line" href="gb_8h.html#a177fadce938422926b186a8e42575d1d"> 576</a></span>&#160;<span class="preprocessor">#define DISABLE_RAM_MBC1 DISABLE_RAM</span></div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; </div>
<div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="gb_8h.html#a0c689c5a814f1c347c4d98f28ed6c7d6"> 578</a></span>&#160;<span class="preprocessor">#define SWITCH_16_8_MODE_MBC1 (*(volatile uint8_t *)0x6000 = 0x00)</span></div>
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; </div>
<div class="line"><a name="l00580"></a><span class="lineno"><a class="line" href="gb_8h.html#aa5d64e386a00b373f22ffdc5a152c7ba"> 580</a></span>&#160;<span class="preprocessor">#define SWITCH_4_32_MODE_MBC1 (*(volatile uint8_t *)0x6000 = 0x01)</span></div>
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; </div>
<div class="line"><a name="l00594"></a><span class="lineno"><a class="line" href="gb_8h.html#a92d040284342702026eb19dab59b586e"> 594</a></span>&#160;<span class="preprocessor">#define SWITCH_ROM_MBC5(b) (_current_bank = (b), rROMB1 = 0, rROMB0 = (b))</span></div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; </div>
<div class="line"><a name="l00609"></a><span class="lineno"><a class="line" href="gb_8h.html#a6c15ebc660abd3a978137493ab63ffe9"> 609</a></span>&#160;<span class="preprocessor">#define SWITCH_ROM_MBC5_8M(b) (rROMB1 = ((uint16_t)(b) &gt;&gt; 8), rROMB0 = (b))</span></div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; </div>
<div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="gb_8h.html#a361d5055a7ae880fc1c9d6e0d1164fd6"> 614</a></span>&#160;<span class="preprocessor">#define SWITCH_RAM_MBC5(b) SWITCH_RAM(b)</span></div>
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; </div>
<div class="line"><a name="l00618"></a><span class="lineno"><a class="line" href="gb_8h.html#a3f033f00c8d781637f9a665b06750937"> 618</a></span>&#160;<span class="preprocessor">#define ENABLE_RAM_MBC5 ENABLE_RAM</span></div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; </div>
<div class="line"><a name="l00622"></a><span class="lineno"><a class="line" href="gb_8h.html#a60191cdfa50ed9b88515f181747eaba2"> 622</a></span>&#160;<span class="preprocessor">#define DISABLE_RAM_MBC5 DISABLE_RAM</span></div>
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; </div>
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; </div>
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; </div>
<div class="line"><a name="l00630"></a><span class="lineno"><a class="line" href="gb_8h.html#a79b9feff94d525e0237be22dcefd5850"> 630</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a79b9feff94d525e0237be22dcefd5850">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#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</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="l00644"></a><span class="lineno"><a class="line" href="gb_8h.html#a4344fefd260763e12703138066841b19"> 644</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a4344fefd260763e12703138066841b19">joypad</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div>
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; </div>
<div class="line"><a name="l00658"></a><span class="lineno"><a class="line" href="gb_8h.html#abb680388b5bcbf0c69526d7017ffe8d2"> 658</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#abb680388b5bcbf0c69526d7017ffe8d2">waitpad</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> mask) <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div>
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; </div>
<div class="line"><a name="l00665"></a><span class="lineno"><a class="line" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937"> 665</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ada353868815f4a2923812ac63aa00003">waitpadup</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(a, <a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div>
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; </div>
<div class="line"><a name="l00672"></a><span class="lineno"><a class="line" href="structjoypads__t.html"> 672</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00673"></a><span class="lineno"><a class="line" href="structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5"> 673</a></span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5">npads</a>;</div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keyword">union </span>{</div>
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00676"></a><span class="lineno"><a class="line" href="structjoypads__t.html#a5e953c63dfb5148ba29f5735a735035f"> 676</a></span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structjoypads__t.html#a5e953c63dfb5148ba29f5735a735035f">joy0</a>, joy1, joy2, joy3;</div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; };</div>
<div class="line"><a name="l00678"></a><span class="lineno"><a class="line" href="structjoypads__t.html#a8d181ece2d3db614ed6686cfba545238"> 678</a></span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> joypads[4];</div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; };</div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;} <a class="code" href="structjoypads__t.html">joypads_t</a>;</div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; </div>
<div class="line"><a name="l00691"></a><span class="lineno"><a class="line" href="gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e"> 691</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_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="l00692"></a><span class="lineno"> 692</span>&#160; </div>
<div class="line"><a name="l00699"></a><span class="lineno"><a class="line" href="gb_8h.html#ab6634cc802b70972dc0ce0961ffc9693"> 699</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ab6634cc802b70972dc0ce0961ffc9693">joypad_ex</a>(<a class="code" href="structjoypads__t.html">joypads_t</a> * joypads) <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; </div>
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; </div>
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; </div>
<div class="line"><a name="l00711"></a><span class="lineno"><a class="line" href="gb_8h.html#aad3a9797fd6d216671b5bbaccd8a4916"> 711</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aad3a9797fd6d216671b5bbaccd8a4916">enable_interrupts</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(a, <a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>) {</div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; __asm__(<span class="stringliteral">&quot;ei&quot;</span>);</div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;}</div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; </div>
<div class="line"><a name="l00727"></a><span class="lineno"><a class="line" href="gb_8h.html#ae3e53d15b4fc64f43761f55c1793b490"> 727</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ae3e53d15b4fc64f43761f55c1793b490">disable_interrupts</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(a, <a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>) {</div>
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; __asm__(<span class="stringliteral">&quot;di&quot;</span>);</div>
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;}</div>
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; </div>
<div class="line"><a name="l00741"></a><span class="lineno"><a class="line" href="gb_8h.html#ae6bc65c789195b4c19ee8765b1a2aa28"> 741</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ae6bc65c789195b4c19ee8765b1a2aa28">set_interrupts</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> flags) <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; </div>
<div class="line"><a name="l00746"></a><span class="lineno"><a class="line" href="gb_8h.html#a3aea9deb2a0bfea9ff05a898f4822e31"> 746</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a3aea9deb2a0bfea9ff05a898f4822e31">reset</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; </div>
<div class="line"><a name="l00759"></a><span class="lineno"><a class="line" href="gb_8h.html#af57b77452ef377da18e4fbf0288013d1"> 759</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#af57b77452ef377da18e4fbf0288013d1">vsync</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; </div>
<div class="line"><a name="l00764"></a><span class="lineno"><a class="line" href="gb_8h.html#a815f8ecad32d14b786a8ed1168518773"> 764</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a815f8ecad32d14b786a8ed1168518773">wait_vbl_done</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div>
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; </div>
<div class="line"><a name="l00771"></a><span class="lineno"><a class="line" href="gb_8h.html#aae96812c15f9003428180ec3d0964145"> 771</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aae96812c15f9003428180ec3d0964145">display_off</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; </div>
<div class="line"><a name="l00775"></a><span class="lineno"><a class="line" href="gb_8h.html#a1ae1f52fbe4d2c2657e3d1fccc0d543c"> 775</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1ae1f52fbe4d2c2657e3d1fccc0d543c">refresh_OAM</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; </div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; </div>
<div class="line"><a name="l00783"></a><span class="lineno"><a class="line" href="gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44"> 783</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44">hiramcpy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> dst, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> n) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; </div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; </div>
<div class="line"><a name="l00789"></a><span class="lineno"><a class="line" href="gb_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4"> 789</a></span>&#160;<span class="preprocessor">#define DISPLAY_ON \</span></div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;<span class="preprocessor"> LCDC_REG|=LCDCF_ON</span></div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; </div>
<div class="line"><a name="l00795"></a><span class="lineno"><a class="line" href="gb_8h.html#ad2ec9831813c5e7069917aa4455af682"> 795</a></span>&#160;<span class="preprocessor">#define DISPLAY_OFF \</span></div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;<span class="preprocessor"> display_off();</span></div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; </div>
<div class="line"><a name="l00800"></a><span class="lineno"><a class="line" href="gb_8h.html#a0659212acd317ccdebc0ecf435df330f"> 800</a></span>&#160;<span class="preprocessor">#define HIDE_LEFT_COLUMN</span></div>
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; </div>
<div class="line"><a name="l00804"></a><span class="lineno"><a class="line" href="gb_8h.html#a5497c2255a9474d397446710189eacbe"> 804</a></span>&#160;<span class="preprocessor">#define SHOW_LEFT_COLUMN</span></div>
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; </div>
<div class="line"><a name="l00809"></a><span class="lineno"><a class="line" href="gb_8h.html#a8e3f36aa68ac036695816757f2a1322c"> 809</a></span>&#160;<span class="preprocessor">#define SHOW_BKG \</span></div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;<span class="preprocessor"> LCDC_REG|=LCDCF_BGON</span></div>
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; </div>
<div class="line"><a name="l00815"></a><span class="lineno"><a class="line" href="gb_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141"> 815</a></span>&#160;<span class="preprocessor">#define HIDE_BKG \</span></div>
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;<span class="preprocessor"> LCDC_REG&amp;=~LCDCF_BGON</span></div>
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; </div>
<div class="line"><a name="l00827"></a><span class="lineno"><a class="line" href="gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8"> 827</a></span>&#160;<span class="preprocessor">#define SHOW_WIN \</span></div>
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160;<span class="preprocessor"> LCDC_REG|=LCDCF_WINON</span></div>
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; </div>
<div class="line"><a name="l00833"></a><span class="lineno"><a class="line" href="gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3"> 833</a></span>&#160;<span class="preprocessor">#define HIDE_WIN \</span></div>
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160;<span class="preprocessor"> LCDC_REG&amp;=~LCDCF_WINON</span></div>
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; </div>
<div class="line"><a name="l00839"></a><span class="lineno"><a class="line" href="gb_8h.html#a495bc9f405f916f02ad5d97e6e730134"> 839</a></span>&#160;<span class="preprocessor">#define SHOW_SPRITES \</span></div>
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160;<span class="preprocessor"> LCDC_REG|=LCDCF_OBJON</span></div>
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; </div>
<div class="line"><a name="l00847"></a><span class="lineno"><a class="line" href="gb_8h.html#a69ef98aee664b8abd8d1a3d45f016dda"> 847</a></span>&#160;<span class="preprocessor">#define HIDE_SPRITES \</span></div>
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160;<span class="preprocessor"> LCDC_REG&amp;=~LCDCF_OBJON</span></div>
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; </div>
<div class="line"><a name="l00853"></a><span class="lineno"><a class="line" href="gb_8h.html#af91d252f07f4764996154820f970c101"> 853</a></span>&#160;<span class="preprocessor">#define SPRITES_8x16 \</span></div>
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160;<span class="preprocessor"> LCDC_REG|=LCDCF_OBJ16</span></div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; </div>
<div class="line"><a name="l00859"></a><span class="lineno"><a class="line" href="gb_8h.html#aa87bec0d134136fdb727f52cb773b792"> 859</a></span>&#160;<span class="preprocessor">#define SPRITES_8x8 \</span></div>
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160;<span class="preprocessor"> LCDC_REG&amp;=~LCDCF_OBJ16</span></div>
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; </div>
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; </div>
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; </div>
<div class="line"><a name="l00870"></a><span class="lineno"><a class="line" href="gb_8h.html#a7080649e10765996c581e5b618e603b8"> 870</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a7080649e10765996c581e5b618e603b8">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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; </div>
<div class="line"><a name="l00878"></a><span class="lineno"><a class="line" href="gb_8h.html#ae32250cfb4daaa1fff7250a0e3f0ad0f"> 878</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#ae32250cfb4daaa1fff7250a0e3f0ad0f">get_vram_byte</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * addr) <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div>
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; </div>
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; </div>
<div class="line"><a name="l00884"></a><span class="lineno"><a class="line" href="gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f"> 884</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f">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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; </div>
<div class="line"><a name="l00886"></a><span class="lineno"><a class="line" href="gb_8h.html#a67f80e65620470b55a4950e2966eb868"> 886</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="l00887"></a><span class="lineno"> 887</span>&#160; </div>
<div class="line"><a name="l00890"></a><span class="lineno"><a class="line" href="gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84"> 890</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_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="l00891"></a><span class="lineno"> 891</span>&#160; palette;</div>
<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160;}</div>
<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; </div>
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160;<span class="keyword">extern</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="gb_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a>;</div>
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; </div>
<div class="line"><a name="l00903"></a><span class="lineno"><a class="line" href="gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c"> 903</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_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="gb_8h.html#afb0c344e6a417709af9497543f072aa3">mode</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div>
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; </div>
<div class="line"><a name="l00924"></a><span class="lineno"><a class="line" href="gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad"> 924</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_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="l00925"></a><span class="lineno"> 925</span>&#160; <a class="code" href="gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c">set_1bpp_colors_ex</a>(fgcolor, bgcolor, 0);</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="l00945"></a><span class="lineno"><a class="line" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626"> 945</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l00946"></a><span class="lineno"><a class="line" href="gb_8h.html#ab94bfec130df50d9cb808142f94603a5"> 946</a></span>&#160;<span class="preprocessor">#define set_bkg_2bpp_data set_bkg_data</span></div>
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; </div>
<div class="line"><a name="l00966"></a><span class="lineno"><a class="line" href="gb_8h.html#a711fa26feecc76dc51482b0f77062859"> 966</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a711fa26feecc76dc51482b0f77062859">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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; </div>
<div class="line"><a name="l00982"></a><span class="lineno"><a class="line" href="gb_8h.html#a5c13238dfec416439d75b133a272e6df"> 982</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a5c13238dfec416439d75b133a272e6df">get_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, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; </div>
<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; </div>
<div class="line"><a name="l01037"></a><span class="lineno"><a class="line" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7"> 1037</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01038"></a><span class="lineno"><a class="line" href="gb_8h.html#a55f82ff980398dd97036fd936ebd727e"> 1038</a></span>&#160;<span class="preprocessor">#define set_tile_map set_bkg_tiles</span></div>
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; </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="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a>;</div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; </div>
<div class="line"><a name="l01061"></a><span class="lineno"><a class="line" href="gb_8h.html#a811c386cac0df2d260aacb5a43608be5"> 1061</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_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="l01062"></a><span class="lineno"> 1062</span>&#160; <a class="code" href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = base_tile;</div>
<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; <a class="code" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>(x, y, w, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, tiles);</div>
<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; <a class="code" href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = 0;</div>
<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;}</div>
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; </div>
<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; </div>
<div class="line"><a name="l01114"></a><span class="lineno"><a class="line" href="gb_8h.html#a0bcf384938628c4ab52e63b2df8f78f8"> 1114</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a0bcf384938628c4ab52e63b2df8f78f8">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> *tiles)</div>
<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;{</div>
<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160; <a class="code" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a> = <a class="code" href="gb_2hardware_8h.html#a418a105f4c7d4bf1cbc556eab72c27ca">VBK_ATTRIBUTES</a>;</div>
<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160; <a class="code" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>(x, y, w, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, tiles);</div>
<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160; <a class="code" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a> = <a class="code" href="gb_2hardware_8h.html#a6b6b917fd4f396ba028bb18631165781">VBK_TILES</a>;</div>
<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;}</div>
<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; </div>
<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; </div>
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_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="l01168"></a><span class="lineno"><a class="line" href="gb_8h.html#adb5d0970167b81401113812773c90838"> 1168</a></span>&#160;<span class="preprocessor">#define set_tile_submap set_bkg_submap</span></div>
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160; </div>
<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160; </div>
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;<span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a>;</div>
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160; </div>
<div class="line"><a name="l01192"></a><span class="lineno"><a class="line" href="gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0"> 1192</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_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="l01193"></a><span class="lineno"> 1193</span>&#160; <a class="code" href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = base_tile;</div>
<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; <a class="code" href="gb_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="l01195"></a><span class="lineno"> 1195</span>&#160; <a class="code" href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = 0;</div>
<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;}</div>
<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160; </div>
<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160; </div>
<div class="line"><a name="l01244"></a><span class="lineno"><a class="line" href="gb_8h.html#a1cefe143b3861632897e0c989401bce7"> 1244</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1cefe143b3861632897e0c989401bce7">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> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w)</div>
<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;{</div>
<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160; <a class="code" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a> = <a class="code" href="gb_2hardware_8h.html#a418a105f4c7d4bf1cbc556eab72c27ca">VBK_ATTRIBUTES</a>;</div>
<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; <a class="code" href="gb_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="l01248"></a><span class="lineno"> 1248</span>&#160; <a class="code" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a> = <a class="code" href="gb_2hardware_8h.html#a6b6b917fd4f396ba028bb18631165781">VBK_TILES</a>;</div>
<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;}</div>
<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160; </div>
<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160; </div>
<div class="line"><a name="l01270"></a><span class="lineno"><a class="line" href="gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0"> 1270</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0">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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; </div>
<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160; </div>
<div class="line"><a name="l01280"></a><span class="lineno"><a class="line" href="gb_8h.html#a74ee8f0a3495508c90de4ce246b81060"> 1280</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#a74ee8f0a3495508c90de4ce246b81060">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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01281"></a><span class="lineno"><a class="line" href="gb_8h.html#a3b235c526c517fb02d20cdea780ee2c5"> 1281</a></span>&#160;<span class="preprocessor">#define set_tile_xy set_bkg_tile_xy</span></div>
<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160; </div>
<div class="line"><a name="l01289"></a><span class="lineno"><a class="line" href="gb_8h.html#a55c6581dbe9300dc6df41730f090af51"> 1289</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a55c6581dbe9300dc6df41730f090af51">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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; </div>
<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160; </div>
<div class="line"><a name="l01305"></a><span class="lineno"><a class="line" href="gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57"> 1305</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_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="l01306"></a><span class="lineno"> 1306</span>&#160; <a class="code" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a>=x, <a class="code" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a>=y;</div>
<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;}</div>
<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; </div>
<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160; </div>
<div class="line"><a name="l01319"></a><span class="lineno"><a class="line" href="gb_8h.html#a1f583f7a880daa6145ca78b086a209d1"> 1319</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_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="l01320"></a><span class="lineno"> 1320</span>&#160; <a class="code" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a>+=x, <a class="code" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a>+=y;</div>
<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;}</div>
<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160; </div>
<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160; </div>
<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; </div>
<div class="line"><a name="l01328"></a><span class="lineno"><a class="line" href="gb_8h.html#aa8213cfad631865e3b6faec18e772cb4"> 1328</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#aa8213cfad631865e3b6faec18e772cb4">get_win_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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160; </div>
<div class="line"><a name="l01343"></a><span class="lineno"><a class="line" href="gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f"> 1343</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f">set_win_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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160; </div>
<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160; </div>
<div class="line"><a name="l01364"></a><span class="lineno"><a class="line" href="gb_8h.html#acd5ee7a94059e6edbe9223f291bc2b46"> 1364</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#acd5ee7a94059e6edbe9223f291bc2b46">set_win_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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; </div>
<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; </div>
<div class="line"><a name="l01378"></a><span class="lineno"><a class="line" href="gb_8h.html#a7ef32e7c1669aba48f235500a495baba"> 1378</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a7ef32e7c1669aba48f235500a495baba">get_win_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, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160; </div>
<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160; </div>
<div class="line"><a name="l01412"></a><span class="lineno"><a class="line" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b"> 1412</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; </div>
<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; </div>
<div class="line"><a name="l01433"></a><span class="lineno"><a class="line" href="gb_8h.html#a739a212609ae60c9c56c095f96b4ea80"> 1433</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a739a212609ae60c9c56c095f96b4ea80">set_win_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="l01434"></a><span class="lineno"> 1434</span>&#160; <a class="code" href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = base_tile;</div>
<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160; <a class="code" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a>(x, y, w, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, tiles);</div>
<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; <a class="code" href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = 0;</div>
<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;}</div>
<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; </div>
<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_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="l01487"></a><span class="lineno"> 1487</span>&#160; </div>
<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160; </div>
<div class="line"><a name="l01508"></a><span class="lineno"><a class="line" href="gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0"> 1508</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">set_win_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="l01509"></a><span class="lineno"> 1509</span>&#160; <a class="code" href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = base_tile;</div>
<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160; <a class="code" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a>(x, y, w, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, map, map_w);</div>
<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160; <a class="code" href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = 0;</div>
<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;}</div>
<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160; </div>
<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160; </div>
<div class="line"><a name="l01532"></a><span class="lineno"><a class="line" href="gb_8h.html#a8a469de4c6640f921254b336b5a6191a"> 1532</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a8a469de4c6640f921254b336b5a6191a">get_win_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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160; </div>
<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160; </div>
<div class="line"><a name="l01542"></a><span class="lineno"><a class="line" href="gb_8h.html#a0c70a53db1fbc0c99627da3f282befd8"> 1542</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#a0c70a53db1fbc0c99627da3f282befd8">set_win_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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160; </div>
<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160; </div>
<div class="line"><a name="l01551"></a><span class="lineno"><a class="line" href="gb_8h.html#a2e29fdca81c28c627c2591029722e71c"> 1551</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a2e29fdca81c28c627c2591029722e71c">get_win_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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160; </div>
<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160; </div>
<div class="line"><a name="l01565"></a><span class="lineno"><a class="line" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5"> 1565</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5">move_win</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="l01566"></a><span class="lineno"> 1566</span>&#160; <a class="code" href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0">WX_REG</a>=x, <a class="code" href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850">WY_REG</a>=y;</div>
<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160;}</div>
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160; </div>
<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; </div>
<div class="line"><a name="l01579"></a><span class="lineno"><a class="line" href="gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044"> 1579</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044">scroll_win</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="l01580"></a><span class="lineno"> 1580</span>&#160; <a class="code" href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0">WX_REG</a>+=x, <a class="code" href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850">WY_REG</a>+=y;</div>
<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;}</div>
<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160; </div>
<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160; </div>
<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160; </div>
<div class="line"><a name="l01600"></a><span class="lineno"><a class="line" href="gb_8h.html#ae45b1c639698951b47e44fa8e89556f2"> 1600</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ae45b1c639698951b47e44fa8e89556f2">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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01601"></a><span class="lineno"><a class="line" href="gb_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4"> 1601</a></span>&#160;<span class="preprocessor">#define set_sprite_2bpp_data set_sprite_data</span></div>
<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160; </div>
<div class="line"><a name="l01621"></a><span class="lineno"><a class="line" href="gb_8h.html#ab3e60c92c9f8fbed855f8712187ea3ea"> 1621</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ab3e60c92c9f8fbed855f8712187ea3ea">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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160; </div>
<div class="line"><a name="l01635"></a><span class="lineno"><a class="line" href="gb_8h.html#adcdec4034a14abc5be9bb88c29b947c9"> 1635</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#adcdec4034a14abc5be9bb88c29b947c9">get_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, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; </div>
<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; </div>
<div class="line"><a name="l01644"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html"> 1644</a></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="l01645"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b"> 1645</a></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>, <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>; <span class="comment">//&lt; X, Y Coordinates of the sprite on screen</span></div>
<div class="line"><a name="l01646"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6"> 1646</a></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="l01647"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9"> 1647</a></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="l01648"></a><span class="lineno"><a class="line" href="gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03"> 1648</a></span>&#160;} <a class="code" href="gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03">OAM_item_t</a>;</div>
<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160; </div>
<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160; </div>
<div class="line"><a name="l01653"></a><span class="lineno"> 1653</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="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[];</div>
<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; </div>
<div class="line"><a name="l01657"></a><span class="lineno"><a class="line" href="gb_8h.html#a7b662ae4d83f9837bacb9fd580673054"> 1657</a></span>&#160;<a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_8h.html#a7b662ae4d83f9837bacb9fd580673054">_shadow_OAM_base</a>;</div>
<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160; </div>
<div class="line"><a name="l01659"></a><span class="lineno"><a class="line" href="gb_8h.html#a47607089a434dcda7a8583cfca03b604"> 1659</a></span>&#160;<span class="preprocessor">#define DISABLE_OAM_DMA \</span></div>
<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160;<span class="preprocessor"> _shadow_OAM_base = 0</span></div>
<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160; </div>
<div class="line"><a name="l01664"></a><span class="lineno"><a class="line" href="gb_8h.html#abfd70bf31185a4900680977c9fb5a5ec"> 1664</a></span>&#160;<span class="preprocessor">#define DISABLE_VBL_TRANSFER DISABLE_OAM_DMA</span></div>
<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160; </div>
<div class="line"><a name="l01666"></a><span class="lineno"><a class="line" href="gb_8h.html#a20895d53fe9caacb08ce8b071d57ce53"> 1666</a></span>&#160;<span class="preprocessor">#define ENABLE_OAM_DMA \</span></div>
<div class="line"><a name="l01667"></a><span class="lineno"> 1667</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="l01668"></a><span class="lineno"> 1668</span>&#160; </div>
<div class="line"><a name="l01671"></a><span class="lineno"><a class="line" href="gb_8h.html#a77d516c9d3f86f100eddea5e0d133a76"> 1671</a></span>&#160;<span class="preprocessor">#define ENABLE_VBL_TRANSFER ENABLE_OAM_DMA</span></div>
<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; </div>
<div class="line"><a name="l01675"></a><span class="lineno"><a class="line" href="gb_8h.html#a8b77608c87a9aef65a03531482b2163b"> 1675</a></span>&#160;<span class="preprocessor">#define MAX_HARDWARE_SPRITES 40</span></div>
<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160; </div>
<div class="line"><a name="l01679"></a><span class="lineno"><a class="line" href="gb_8h.html#afc296eacbda6a42f2a71aacab376ceb7"> 1679</a></span>&#160;<span class="preprocessor">#define HARDWARE_SPRITE_CAN_FLIP_X 1</span></div>
<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160; </div>
<div class="line"><a name="l01683"></a><span class="lineno"><a class="line" href="gb_8h.html#a9119d69d971f6bee9e55d0df8f0ac983"> 1683</a></span>&#160;<span class="preprocessor">#define HARDWARE_SPRITE_CAN_FLIP_Y 1</span></div>
<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160; </div>
<div class="line"><a name="l01687"></a><span class="lineno"><a class="line" href="gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687"> 1687</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">SET_SHADOW_OAM_ADDRESS</a>(<span class="keywordtype">void</span> * address) {</div>
<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; <a class="code" href="gb_8h.html#a7b662ae4d83f9837bacb9fd580673054">_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="l01689"></a><span class="lineno"> 1689</span>&#160;}</div>
<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; </div>
<div class="line"><a name="l01707"></a><span class="lineno"><a class="line" href="gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe"> 1707</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_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="l01708"></a><span class="lineno"> 1708</span>&#160; <a class="code" href="gb_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="l01709"></a><span class="lineno"> 1709</span>&#160;}</div>
<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160; </div>
<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; </div>
<div class="line"><a name="l01718"></a><span class="lineno"><a class="line" href="gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a"> 1718</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_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="l01719"></a><span class="lineno"> 1719</span>&#160; <span class="keywordflow">return</span> <a class="code" href="gb_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="l01720"></a><span class="lineno"> 1720</span>&#160;}</div>
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; </div>
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160; </div>
<div class="line"><a name="l01753"></a><span class="lineno"><a class="line" href="gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7"> 1753</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_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="l01754"></a><span class="lineno"> 1754</span>&#160; <a class="code" href="gb_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="l01755"></a><span class="lineno"> 1755</span>&#160;}</div>
<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160; </div>
<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160; </div>
<div class="line"><a name="l01763"></a><span class="lineno"><a class="line" href="gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88"> 1763</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_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="l01764"></a><span class="lineno"> 1764</span>&#160; <span class="keywordflow">return</span> <a class="code" href="gb_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="l01765"></a><span class="lineno"> 1765</span>&#160;}</div>
<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160; </div>
<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160; </div>
<div class="line"><a name="l01780"></a><span class="lineno"><a class="line" href="gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd"> 1780</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_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="l01781"></a><span class="lineno"> 1781</span>&#160; <a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> * itm = &amp;<a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb];</div>
<div class="line"><a name="l01782"></a><span class="lineno"> 1782</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="l01783"></a><span class="lineno"> 1783</span>&#160;}</div>
<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160; </div>
<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160; </div>
<div class="line"><a name="l01796"></a><span class="lineno"><a class="line" href="gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe"> 1796</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_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="l01797"></a><span class="lineno"> 1797</span>&#160; <a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> * itm = &amp;<a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb];</div>
<div class="line"><a name="l01798"></a><span class="lineno"> 1798</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="l01799"></a><span class="lineno"> 1799</span>&#160;}</div>
<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160; </div>
<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160; </div>
<div class="line"><a name="l01808"></a><span class="lineno"><a class="line" href="gb_8h.html#ad22c51635d052399bbbe1777999c794d"> 1808</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div>
<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160; <a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a> = 0;</div>
<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160;}</div>
<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160; </div>
<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160; </div>
<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160; </div>
<div class="line"><a name="l01829"></a><span class="lineno"><a class="line" href="gb_8h.html#a6148e40610bc542991df842c6b19e4c9"> 1829</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a6148e40610bc542991df842c6b19e4c9">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);</div>
<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160; </div>
<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160; </div>
<div class="line"><a name="l01847"></a><span class="lineno"><a class="line" href="gb_8h.html#a77d34577e9f97ffaf8463c752115722b"> 1847</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a77d34577e9f97ffaf8463c752115722b">get_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len);</div>
<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160; </div>
<div class="line"><a name="l01861"></a><span class="lineno"><a class="line" href="gb_8h.html#a2dd9f335a197647264f01a713bd31a70"> 1861</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a2dd9f335a197647264f01a713bd31a70">vmemcpy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *dest, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len);</div>
<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160; </div>
<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160; </div>
<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160; </div>
<div class="line"><a name="l01888"></a><span class="lineno"><a class="line" href="gb_8h.html#a6224b2e4b72c062a2bb2959b0aaf860a"> 1888</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_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="l01889"></a><span class="lineno"> 1889</span>&#160; </div>
<div class="line"><a name="l01900"></a><span class="lineno"><a class="line" href="gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30"> 1900</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30">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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160; </div>
<div class="line"><a name="l01923"></a><span class="lineno"><a class="line" href="gb_8h.html#af9830fb188433cb0305c2cefb8f8ab11"> 1923</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#af9830fb188433cb0305c2cefb8f8ab11">get_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, <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="l01924"></a><span class="lineno"> 1924</span>&#160; </div>
<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160; </div>
<div class="line"><a name="l01940"></a><span class="lineno"><a class="line" href="gb_8h.html#a68651e50243349b48164a8ad983dca4e"> 1940</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_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="l01941"></a><span class="lineno"> 1941</span>&#160; <span class="keywordflow">if</span> (first_tile &lt; 256) {</div>
<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160; <a class="code" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>(first_tile, nb_tiles, data);</div>
<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160; <a class="code" href="gb_8h.html#ae45b1c639698951b47e44fa8e89556f2">set_sprite_data</a>(first_tile - 256, nb_tiles, data);</div>
<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160; }</div>
<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160;}</div>
<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160; </div>
<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160; </div>
<div class="line"><a name="l01954"></a><span class="lineno"><a class="line" href="gb_8h.html#af6ac67037de041eb0141ba3725b1db83"> 1954</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#af6ac67037de041eb0141ba3725b1db83">init_win</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160; </div>
<div class="line"><a name="l01961"></a><span class="lineno"><a class="line" href="gb_8h.html#a46058204097dd305bf72bc20ea7f7a3b"> 1961</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a46058204097dd305bf72bc20ea7f7a3b">init_bkg</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160; </div>
<div class="line"><a name="l01970"></a><span class="lineno"><a class="line" href="gb_8h.html#a97bab71effd5e4e386629cb6ca5816cf"> 1970</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a97bab71effd5e4e386629cb6ca5816cf">vmemset</a> (<span class="keywordtype">void</span> *s, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <span class="keywordtype">size_t</span> n) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160; </div>
<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160; </div>
<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160; </div>
<div class="line"><a name="l01982"></a><span class="lineno"><a class="line" href="gb_8h.html#a74c3f53fca019f7abcd1270650808849"> 1982</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a74c3f53fca019f7abcd1270650808849">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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01983"></a><span class="lineno"><a class="line" href="gb_8h.html#a47865835d7d007d71b4bc8ae5cefb73a"> 1983</a></span>&#160;<span class="preprocessor">#define fill_rect fill_bkg_rect</span></div>
<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160; </div>
<div class="line"><a name="l01993"></a><span class="lineno"><a class="line" href="gb_8h.html#ad5bc3dc922707507aa51ed7f5b4a21e3"> 1993</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ad5bc3dc922707507aa51ed7f5b4a21e3">fill_win_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> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div>
<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160; </div>
<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _GB_H */</span><span class="preprocessor"></span></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="aasm_2types_8h_html_a7ed081d8dfb6902784b2fc730bbb7f96"><div class="ttname"><a href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></div><div class="ttdeci">#define NONBANKED</div><div class="ttdef"><b>Definition:</b> types.h:38</div></div>
<div class="ttc" id="aasm_2types_8h_html_acb825e83a33fcc06482c59b4ab2cf961"><div class="ttname"><a href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a></div><div class="ttdeci">#define PRESERVES_REGS(...)</div><div class="ttdef"><b>Definition:</b> types.h:31</div></div>
<div class="ttc" id="agb_2hardware_8h_html"><div class="ttname"><a href="gb_2hardware_8h.html">hardware.h</a></div></div>
<div class="ttc" id="agb_2hardware_8h_html_a0b42e4dadd74c927e8b801b4f42c0e44"><div class="ttname"><a href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a></div><div class="ttdeci">#define __REG</div><div class="ttdef"><b>Definition:</b> hardware.h:14</div></div>
<div class="ttc" id="agb_2hardware_8h_html_a1c8d52607616ef37da335447e4cbe850"><div class="ttname"><a href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850">WY_REG</a></div><div class="ttdeci">__REG WY_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:301</div></div>
<div class="ttc" id="agb_2hardware_8h_html_a244b162cf13bbcb4fe842d7e298b39c2"><div class="ttname"><a href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a></div><div class="ttdeci">__REG SCY_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:285</div></div>
<div class="ttc" id="agb_2hardware_8h_html_a310aa43fbee2fd6b6b419df48acce1e0"><div class="ttname"><a href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0">WX_REG</a></div><div class="ttdeci">__REG WX_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:303</div></div>
<div class="ttc" id="agb_2hardware_8h_html_a418a105f4c7d4bf1cbc556eab72c27ca"><div class="ttname"><a href="gb_2hardware_8h.html#a418a105f4c7d4bf1cbc556eab72c27ca">VBK_ATTRIBUTES</a></div><div class="ttdeci">#define VBK_ATTRIBUTES</div><div class="ttdef"><b>Definition:</b> hardware.h:318</div></div>
<div class="ttc" id="agb_2hardware_8h_html_a509a5d0f138b40830cb447a862573be5"><div class="ttname"><a href="gb_2hardware_8h.html#a509a5d0f138b40830cb447a862573be5">IF_REG</a></div><div class="ttdeci">__REG IF_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:84</div></div>
<div class="ttc" id="agb_2hardware_8h_html_a5ccae0d556500e1055a0ec8de20c535a"><div class="ttname"><a href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a></div><div class="ttdeci">__REG VBK_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:312</div></div>
<div class="ttc" id="agb_2hardware_8h_html_a6b6b917fd4f396ba028bb18631165781"><div class="ttname"><a href="gb_2hardware_8h.html#a6b6b917fd4f396ba028bb18631165781">VBK_TILES</a></div><div class="ttdeci">#define VBK_TILES</div><div class="ttdef"><b>Definition:</b> hardware.h:316</div></div>
<div class="ttc" id="agb_2hardware_8h_html_a86cc170585319565195f2c163250be1f"><div class="ttname"><a href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a></div><div class="ttdeci">__REG SCX_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:287</div></div>
<div class="ttc" id="agb_8h_html_a02f3a1585ae654444e628c1aa98ef0cf"><div class="ttname"><a href="gb_8h.html#a02f3a1585ae654444e628c1aa98ef0cf">_io_in</a></div><div class="ttdeci">volatile uint8_t _io_in</div></div>
<div class="ttc" id="agb_8h_html_a05bf0b9f1328de7b568a19a2a428bcfe"><div class="ttname"><a href="gb_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> gb.h:1707</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_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">uint8_t c</div><div class="ttdef"><b>Definition:</b> gb.h:378</div></div>
<div class="ttc" id="agb_8h_html_a0bcf384938628c4ab52e63b2df8f78f8"><div class="ttname"><a href="gb_8h.html#a0bcf384938628c4ab52e63b2df8f78f8">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 *tiles)</div><div class="ttdef"><b>Definition:</b> gb.h:1114</div></div>
<div class="ttc" id="agb_8h_html_a0c70a53db1fbc0c99627da3f282befd8"><div class="ttname"><a href="gb_8h.html#a0c70a53db1fbc0c99627da3f282befd8">set_win_tile_xy</a></div><div class="ttdeci">uint8_t * set_win_tile_xy(uint8_t x, uint8_t y, uint8_t t) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a1259cf3a23fd2166a9d1a2e93942e30e"><div class="ttname"><a href="gb_8h.html#a1259cf3a23fd2166a9d1a2e93942e30e">send_byte</a></div><div class="ttdeci">void send_byte(void)</div></div>
<div class="ttc" id="agb_8h_html_a12c2b5ac249d01caf1561cbbf3962044"><div class="ttname"><a href="gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044">scroll_win</a></div><div class="ttdeci">void scroll_win(int8_t x, int8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:1579</div></div>
<div class="ttc" id="agb_8h_html_a1ae1f52fbe4d2c2657e3d1fccc0d543c"><div class="ttname"><a href="gb_8h.html#a1ae1f52fbe4d2c2657e3d1fccc0d543c">refresh_OAM</a></div><div class="ttdeci">void refresh_OAM(void) PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a1b8a1026983cb2b2c0bd46334b4692a0"><div class="ttname"><a href="gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">set_win_based_submap</a></div><div class="ttdeci">void set_win_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> gb.h:1508</div></div>
<div class="ttc" id="agb_8h_html_a1cefe143b3861632897e0c989401bce7"><div class="ttname"><a href="gb_8h.html#a1cefe143b3861632897e0c989401bce7">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 *map, uint8_t map_w)</div><div class="ttdef"><b>Definition:</b> gb.h:1244</div></div>
<div class="ttc" id="agb_8h_html_a1f00bd35cd56aac84c108f5a802c3f9c"><div class="ttname"><a href="gb_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="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="agb_8h_html_a1f5101f2b7bb0123c26a3e257f843626"><div class="ttname"><a href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">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 PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a1f583f7a880daa6145ca78b086a209d1"><div class="ttname"><a href="gb_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> gb.h:1319</div></div>
<div class="ttc" id="agb_8h_html_a250f5339e05523912926be566e9eb8c0"><div class="ttname"><a href="gb_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a></div><div class="ttdeci">uint16_t _current_1bpp_colors</div></div>
<div class="ttc" id="agb_8h_html_a2dd9f335a197647264f01a713bd31a70"><div class="ttname"><a href="gb_8h.html#a2dd9f335a197647264f01a713bd31a70">vmemcpy</a></div><div class="ttdeci">void vmemcpy(uint8_t *dest, uint8_t *sour, uint16_t len)</div></div>
<div class="ttc" id="agb_8h_html_a2e29fdca81c28c627c2591029722e71c"><div class="ttname"><a href="gb_8h.html#a2e29fdca81c28c627c2591029722e71c">get_win_tile_xy</a></div><div class="ttdeci">uint8_t get_win_tile_xy(uint8_t x, uint8_t y) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a2e3415ce2f7fb63427618bd9b9cb6635"><div class="ttname"><a href="gb_8h.html#a2e3415ce2f7fb63427618bd9b9cb6635">_io_status</a></div><div class="ttdeci">volatile uint8_t _io_status</div></div>
<div class="ttc" id="agb_8h_html_a325751f7e2373601d2a7a94671deef29"><div class="ttname"><a href="gb_8h.html#a325751f7e2373601d2a7a94671deef29">remove_SIO</a></div><div class="ttdeci">void remove_SIO(int_handler h)</div></div>
<div class="ttc" id="agb_8h_html_a34d6500215984e8f9a986523a2f2dadd"><div class="ttname"><a href="gb_8h.html#a34d6500215984e8f9a986523a2f2dadd">receive_byte</a></div><div class="ttdeci">void receive_byte(void)</div></div>
<div class="ttc" id="agb_8h_html_a3619f9cb1e3c92238a033ead79a0c551"><div class="ttname"><a href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a></div><div class="ttdeci">volatile struct OAM_item_t shadow_OAM[]</div></div>
<div class="ttc" id="agb_8h_html_a3aea9deb2a0bfea9ff05a898f4822e31"><div class="ttname"><a href="gb_8h.html#a3aea9deb2a0bfea9ff05a898f4822e31">reset</a></div><div class="ttdeci">void reset(void)</div></div>
<div class="ttc" id="agb_8h_html_a4344fefd260763e12703138066841b19"><div class="ttname"><a href="gb_8h.html#a4344fefd260763e12703138066841b19">joypad</a></div><div class="ttdeci">uint8_t joypad(void) PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a46058204097dd305bf72bc20ea7f7a3b"><div class="ttname"><a href="gb_8h.html#a46058204097dd305bf72bc20ea7f7a3b">init_bkg</a></div><div class="ttdeci">void init_bkg(uint8_t c) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:665</div></div>
<div class="ttc" id="agb_8h_html_a4d670e24f1a48820fa2e612de3224234"><div class="ttname"><a href="gb_8h.html#a4d670e24f1a48820fa2e612de3224234">wait_int_handler</a></div><div class="ttdeci">void wait_int_handler(void)</div></div>
<div class="ttc" id="agb_8h_html_a4e4afc51edff293a392211cb8d836591"><div class="ttname"><a href="gb_8h.html#a4e4afc51edff293a392211cb8d836591">nowait_int_handler</a></div><div class="ttdeci">void nowait_int_handler(void)</div></div>
<div class="ttc" id="agb_8h_html_a539b7b45b1c2d6b2051553665c76fd36"><div class="ttname"><a href="gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36">_is_GBA</a></div><div class="ttdeci">uint8_t _is_GBA</div></div>
<div class="ttc" id="agb_8h_html_a55c6581dbe9300dc6df41730f090af51"><div class="ttname"><a href="gb_8h.html#a55c6581dbe9300dc6df41730f090af51">get_bkg_tile_xy</a></div><div class="ttdeci">uint8_t get_bkg_tile_xy(uint8_t x, uint8_t y) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a5c13238dfec416439d75b133a272e6df"><div class="ttname"><a href="gb_8h.html#a5c13238dfec416439d75b133a272e6df">get_bkg_data</a></div><div class="ttdeci">void get_bkg_data(uint8_t first_tile, uint8_t nb_tiles, uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a5c59b4ee6323af9832998906d087266b"><div class="ttname"><a href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a></div><div class="ttdeci">void set_win_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a6148e40610bc542991df842c6b19e4c9"><div class="ttname"><a href="gb_8h.html#a6148e40610bc542991df842c6b19e4c9">set_data</a></div><div class="ttdeci">void set_data(uint8_t *vram_addr, const uint8_t *data, uint16_t len)</div></div>
<div class="ttc" id="agb_8h_html_a617176cc314371eeddcd8903584d62f0"><div class="ttname"><a href="gb_8h.html#a617176cc314371eeddcd8903584d62f0">add_low_priority_TIM</a></div><div class="ttdeci">void add_low_priority_TIM(int_handler h)</div></div>
<div class="ttc" id="agb_8h_html_a6224b2e4b72c062a2bb2959b0aaf860a"><div class="ttname"><a href="gb_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="agb_8h_html_a623f1ed8ee1d48bfa6e884d546991a6f"><div class="ttname"><a href="gb_8h.html#a623f1ed8ee1d48bfa6e884d546991a6f">remove_TIM</a></div><div class="ttdeci">void remove_TIM(int_handler h)</div></div>
<div class="ttc" id="agb_8h_html_a6261537edc74068e3f7f057e6a3e8a57"><div class="ttname"><a href="gb_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> gb.h:1305</div></div>
<div class="ttc" id="agb_8h_html_a62770721f72bd8ad399a7bfcc0305db2"><div class="ttname"><a href="gb_8h.html#a62770721f72bd8ad399a7bfcc0305db2">remove_JOY</a></div><div class="ttdeci">void remove_JOY(int_handler h)</div></div>
<div class="ttc" id="agb_8h_html_a67ef797ca230a941c1cc0c580720327b"><div class="ttname"><a href="gb_8h.html#a67ef797ca230a941c1cc0c580720327b">remove_LCD</a></div><div class="ttdeci">void remove_LCD(int_handler h)</div></div>
<div class="ttc" id="agb_8h_html_a68651e50243349b48164a8ad983dca4e"><div class="ttname"><a href="gb_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> gb.h:1940</div></div>
<div class="ttc" id="agb_8h_html_a6b873c807c9e2c90fb574951e85fdf88"><div class="ttname"><a href="gb_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> gb.h:1763</div></div>
<div class="ttc" id="agb_8h_html_a6c59aa9a4f9ea42bed6ca6940b2741fe"><div class="ttname"><a href="gb_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> gb.h:1796</div></div>
<div class="ttc" id="agb_8h_html_a6da9e2fa1bafd35363e84ee999909ec7"><div class="ttname"><a href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">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 PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a7080649e10765996c581e5b618e603b8"><div class="ttname"><a href="gb_8h.html#a7080649e10765996c581e5b618e603b8">set_vram_byte</a></div><div class="ttdeci">void set_vram_byte(uint8_t *addr, uint8_t v) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a711fa26feecc76dc51482b0f77062859"><div class="ttname"><a href="gb_8h.html#a711fa26feecc76dc51482b0f77062859">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 PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a739a212609ae60c9c56c095f96b4ea80"><div class="ttname"><a href="gb_8h.html#a739a212609ae60c9c56c095f96b4ea80">set_win_based_tiles</a></div><div class="ttdeci">void set_win_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> gb.h:1433</div></div>
<div class="ttc" id="agb_8h_html_a74c3f53fca019f7abcd1270650808849"><div class="ttname"><a href="gb_8h.html#a74c3f53fca019f7abcd1270650808849">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 PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a74ee8f0a3495508c90de4ce246b81060"><div class="ttname"><a href="gb_8h.html#a74ee8f0a3495508c90de4ce246b81060">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 PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a77d34577e9f97ffaf8463c752115722b"><div class="ttname"><a href="gb_8h.html#a77d34577e9f97ffaf8463c752115722b">get_data</a></div><div class="ttdeci">void get_data(uint8_t *data, uint8_t *vram_addr, uint16_t len)</div></div>
<div class="ttc" id="agb_8h_html_a78d2fd18666afec116f176d46debb4e7"><div class="ttname"><a href="gb_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a></div><div class="ttdeci">volatile uint16_t sys_time</div></div>
<div class="ttc" id="agb_8h_html_a79b9feff94d525e0237be22dcefd5850"><div class="ttname"><a href="gb_8h.html#a79b9feff94d525e0237be22dcefd5850">delay</a></div><div class="ttdeci">void delay(uint16_t d) PRESERVES_REGS(h</div></div>
<div class="ttc" id="agb_8h_html_a7b662ae4d83f9837bacb9fd580673054"><div class="ttname"><a href="gb_8h.html#a7b662ae4d83f9837bacb9fd580673054">_shadow_OAM_base</a></div><div class="ttdeci">__REG _shadow_OAM_base</div><div class="ttdef"><b>Definition:</b> gb.h:1657</div></div>
<div class="ttc" id="agb_8h_html_a7e0cdfd6b9a2ae1b7f30384f132d8687"><div class="ttname"><a href="gb_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> gb.h:1687</div></div>
<div class="ttc" id="agb_8h_html_a7ef32e7c1669aba48f235500a495baba"><div class="ttname"><a href="gb_8h.html#a7ef32e7c1669aba48f235500a495baba">get_win_data</a></div><div class="ttdeci">void get_win_data(uint8_t first_tile, uint8_t nb_tiles, uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a811c386cac0df2d260aacb5a43608be5"><div class="ttname"><a href="gb_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> gb.h:1061</div></div>
<div class="ttc" id="agb_8h_html_a815f8ecad32d14b786a8ed1168518773"><div class="ttname"><a href="gb_8h.html#a815f8ecad32d14b786a8ed1168518773">wait_vbl_done</a></div><div class="ttdeci">void wait_vbl_done(void) PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a83bce4c8764eddefd9ab8af88669065e"><div class="ttname"><a href="gb_8h.html#a83bce4c8764eddefd9ab8af88669065e">add_VBL</a></div><div class="ttdeci">void add_VBL(int_handler h)</div></div>
<div class="ttc" id="agb_8h_html_a874b9bd95b0a05d6a6072feabc879e45"><div class="ttname"><a href="gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45">_cpu</a></div><div class="ttdeci">uint8_t _cpu</div></div>
<div class="ttc" id="agb_8h_html_a8a469de4c6640f921254b336b5a6191a"><div class="ttname"><a href="gb_8h.html#a8a469de4c6640f921254b336b5a6191a">get_win_tiles</a></div><div class="ttdeci">void get_win_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t *tiles) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a8e5ea12b86bdfc812448c2f5c4336c03"><div class="ttname"><a href="gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03">OAM_item_t</a></div><div class="ttdeci">struct OAM_item_t OAM_item_t</div></div>
<div class="ttc" id="agb_8h_html_a9005b80d3315f50f0fb0e1728e7ee60f"><div class="ttname"><a href="gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f">get_bkg_xy_addr</a></div><div class="ttdeci">uint8_t * get_bkg_xy_addr(uint8_t x, uint8_t y) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a9508f919d9482d1d51534ccac212454d"><div class="ttname"><a href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a></div><div class="ttdeci">void(* int_handler)(void) NONBANKED</div><div class="ttdef"><b>Definition:</b> gb.h:165</div></div>
<div class="ttc" id="agb_8h_html_a97b9f2fc6ac7cae97656aca940d65d44"><div class="ttname"><a href="gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44">hiramcpy</a></div><div class="ttdeci">void hiramcpy(uint8_t dst, const void *src, uint8_t n) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a97bab71effd5e4e386629cb6ca5816cf"><div class="ttname"><a href="gb_8h.html#a97bab71effd5e4e386629cb6ca5816cf">vmemset</a></div><div class="ttdeci">void vmemset(void *s, uint8_t c, size_t n) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_a98b848953a95ce2fff6fda643575d74a"><div class="ttname"><a href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a">_current_bank</a></div><div class="ttdeci">__REG _current_bank</div><div class="ttdef"><b>Definition:</b> gb.h:474</div></div>
<div class="ttc" id="agb_8h_html_a99ea3252469e3614e977cce2aa1d06f7"><div class="ttname"><a href="gb_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> gb.h:1753</div></div>
<div class="ttc" id="agb_8h_html_aa1b9d8d215e844834d2be5c10969d712"><div class="ttname"><a href="gb_8h.html#aa1b9d8d215e844834d2be5c10969d712">add_TIM</a></div><div class="ttdeci">void add_TIM(int_handler h)</div></div>
<div class="ttc" id="agb_8h_html_aa1bf03fa405248ec322b2a02d95975de"><div class="ttname"><a href="gb_8h.html#aa1bf03fa405248ec322b2a02d95975de">get_mode</a></div><div class="ttdeci">uint8_t get_mode(void) PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_aa224c9bac27c7fd268e62bdf33338a84"><div class="ttname"><a href="gb_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> gb.h:890</div></div>
<div class="ttc" id="agb_8h_html_aa6bcf24d97f93307b30f2906251f39a0"><div class="ttname"><a href="gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0">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 PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_aa8213cfad631865e3b6faec18e772cb4"><div class="ttname"><a href="gb_8h.html#aa8213cfad631865e3b6faec18e772cb4">get_win_xy_addr</a></div><div class="ttdeci">uint8_t * get_win_xy_addr(uint8_t x, uint8_t y) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_aa82205e9629f984d0b3dc8055c211522"><div class="ttname"><a href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a></div><div class="ttdeci">uint8_t _map_tile_offset</div></div>
<div class="ttc" id="agb_8h_html_aad3a9797fd6d216671b5bbaccd8a4916"><div class="ttname"><a href="gb_8h.html#aad3a9797fd6d216671b5bbaccd8a4916">enable_interrupts</a></div><div class="ttdeci">void enable_interrupts(void) PRESERVES_REGS(a</div></div>
<div class="ttc" id="agb_8h_html_aae96812c15f9003428180ec3d0964145"><div class="ttname"><a href="gb_8h.html#aae96812c15f9003428180ec3d0964145">display_off</a></div><div class="ttdeci">void display_off(void) PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_ab3e60c92c9f8fbed855f8712187ea3ea"><div class="ttname"><a href="gb_8h.html#ab3e60c92c9f8fbed855f8712187ea3ea">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 PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_ab42c12c1d9aed3fd963248fbea9830cd"><div class="ttname"><a href="gb_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> gb.h:1780</div></div>
<div class="ttc" id="agb_8h_html_ab472d9bbb1bcfd141374f5babc71934c"><div class="ttname"><a href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a></div><div class="ttdeci">uint8_t _submap_tile_offset</div></div>
<div class="ttc" id="agb_8h_html_ab6634cc802b70972dc0ce0961ffc9693"><div class="ttname"><a href="gb_8h.html#ab6634cc802b70972dc0ce0961ffc9693">joypad_ex</a></div><div class="ttdeci">void joypad_ex(joypads_t *joypads) PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_ab7e35e1eff44ed78ad8f0015c6e85b4e"><div class="ttname"><a href="gb_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="agb_8h_html_abb680388b5bcbf0c69526d7017ffe8d2"><div class="ttname"><a href="gb_8h.html#abb680388b5bcbf0c69526d7017ffe8d2">waitpad</a></div><div class="ttdeci">uint8_t waitpad(uint8_t mask) PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_abc8bc5808620a9717263b8c9ec2237f0"><div class="ttname"><a href="gb_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> gb.h:1192</div></div>
<div class="ttc" id="agb_8h_html_abe4846d4570b4880b0e54b9e503f4d30"><div class="ttname"><a href="gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30">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 PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_ac2bf0c4919c30d322fa5853c896e710f"><div class="ttname"><a href="gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f">set_win_data</a></div><div class="ttdeci">void set_win_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_ac6b62210da8713ab1fca7cb3ff6e80c5"><div class="ttname"><a href="gb_8h.html#ac6b62210da8713ab1fca7cb3ff6e80c5">remove_VBL</a></div><div class="ttdeci">void remove_VBL(int_handler h)</div></div>
<div class="ttc" id="agb_8h_html_acae13736da20f9fc53e8d38934aa2119"><div class="ttname"><a href="gb_8h.html#acae13736da20f9fc53e8d38934aa2119">_io_out</a></div><div class="ttdeci">volatile uint8_t _io_out</div></div>
<div class="ttc" id="agb_8h_html_acd5ee7a94059e6edbe9223f291bc2b46"><div class="ttname"><a href="gb_8h.html#acd5ee7a94059e6edbe9223f291bc2b46">set_win_1bpp_data</a></div><div class="ttdeci">void set_win_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_ad22c51635d052399bbbe1777999c794d"><div class="ttname"><a href="gb_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a></div><div class="ttdeci">void hide_sprite(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> gb.h:1808</div></div>
<div class="ttc" id="agb_8h_html_ad5bc3dc922707507aa51ed7f5b4a21e3"><div class="ttname"><a href="gb_8h.html#ad5bc3dc922707507aa51ed7f5b4a21e3">fill_win_rect</a></div><div class="ttdeci">void fill_win_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t tile) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_ada353868815f4a2923812ac63aa00003"><div class="ttname"><a href="gb_8h.html#ada353868815f4a2923812ac63aa00003">waitpadup</a></div><div class="ttdeci">void waitpadup(void) PRESERVES_REGS(a</div></div>
<div class="ttc" id="agb_8h_html_adb21d1c7d533a7133bab36a845489780"><div class="ttname"><a href="gb_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="agb_8h_html_adcb394299a1033616fc7d2faec8bd6ad"><div class="ttname"><a href="gb_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> gb.h:924</div></div>
<div class="ttc" id="agb_8h_html_adcdec4034a14abc5be9bb88c29b947c9"><div class="ttname"><a href="gb_8h.html#adcdec4034a14abc5be9bb88c29b947c9">get_sprite_data</a></div><div class="ttdeci">void get_sprite_data(uint8_t first_tile, uint8_t nb_tiles, uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_ade1cd2eab862b0e479415288964b3d63"><div class="ttname"><a href="gb_8h.html#ade1cd2eab862b0e479415288964b3d63">cancel_pending_interrupts</a></div><div class="ttdeci">uint8_t cancel_pending_interrupts(void)</div><div class="ttdef"><b>Definition:</b> gb.h:362</div></div>
<div class="ttc" id="agb_8h_html_ae2dae907ea199eee9abb0eb4b831778f"><div class="ttname"><a href="gb_8h.html#ae2dae907ea199eee9abb0eb4b831778f">add_LCD</a></div><div class="ttdeci">void add_LCD(int_handler h)</div></div>
<div class="ttc" id="agb_8h_html_ae32250cfb4daaa1fff7250a0e3f0ad0f"><div class="ttname"><a href="gb_8h.html#ae32250cfb4daaa1fff7250a0e3f0ad0f">get_vram_byte</a></div><div class="ttdeci">uint8_t get_vram_byte(uint8_t *addr) PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_ae370c3fa15b70edda4c26464d49129a8"><div class="ttname"><a href="gb_8h.html#ae370c3fa15b70edda4c26464d49129a8">add_JOY</a></div><div class="ttdeci">void add_JOY(int_handler h)</div></div>
<div class="ttc" id="agb_8h_html_ae3e53d15b4fc64f43761f55c1793b490"><div class="ttname"><a href="gb_8h.html#ae3e53d15b4fc64f43761f55c1793b490">disable_interrupts</a></div><div class="ttdeci">void disable_interrupts(void) PRESERVES_REGS(a</div></div>
<div class="ttc" id="agb_8h_html_ae45b1c639698951b47e44fa8e89556f2"><div class="ttname"><a href="gb_8h.html#ae45b1c639698951b47e44fa8e89556f2">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 PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_ae655adc762bf0b4320d2e11d2e5fbc72"><div class="ttname"><a href="gb_8h.html#ae655adc762bf0b4320d2e11d2e5fbc72">add_SIO</a></div><div class="ttdeci">void add_SIO(int_handler h)</div></div>
<div class="ttc" id="agb_8h_html_ae6bc65c789195b4c19ee8765b1a2aa28"><div class="ttname"><a href="gb_8h.html#ae6bc65c789195b4c19ee8765b1a2aa28">set_interrupts</a></div><div class="ttdeci">void set_interrupts(uint8_t flags) PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_aeda4515a31485c9688c4601ac5ce2d79"><div class="ttname"><a href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a></div><div class="ttdeci">uint8_t e</div><div class="ttdef"><b>Definition:</b> gb.h:378</div></div>
<div class="ttc" id="agb_8h_html_aeef17768c494bcd6b67f7591329f7ff5"><div class="ttname"><a href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5">move_win</a></div><div class="ttdeci">void move_win(uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:1565</div></div>
<div class="ttc" id="agb_8h_html_af57b77452ef377da18e4fbf0288013d1"><div class="ttname"><a href="gb_8h.html#af57b77452ef377da18e4fbf0288013d1">vsync</a></div><div class="ttdeci">void vsync(void) PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_af5c0beff7d7a7d8641b51fd95c811b2a"><div class="ttname"><a href="gb_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> gb.h:1718</div></div>
<div class="ttc" id="agb_8h_html_af6ac67037de041eb0141ba3725b1db83"><div class="ttname"><a href="gb_8h.html#af6ac67037de041eb0141ba3725b1db83">init_win</a></div><div class="ttdeci">void init_win(uint8_t c) OLDCALL PRESERVES_REGS(b</div></div>
<div class="ttc" id="agb_8h_html_af79b920bcb642bba2e652874c4f7eeff"><div class="ttname"><a href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a></div><div class="ttdeci">uint8_t l</div><div class="ttdef"><b>Definition:</b> gb.h:378</div></div>
<div class="ttc" id="agb_8h_html_af80befa3cad9cae361c7cf4fffb3a8de"><div class="ttname"><a href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a></div><div class="ttdeci">void set_win_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:557</div></div>
<div class="ttc" id="agb_8h_html_af9830fb188433cb0305c2cefb8f8ab11"><div class="ttname"><a href="gb_8h.html#af9830fb188433cb0305c2cefb8f8ab11">get_tiles</a></div><div class="ttdeci">void get_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t *vram_addr, uint8_t *tiles) OLDCALL</div></div>
<div class="ttc" id="agb_8h_html_afb0c344e6a417709af9497543f072aa3"><div class="ttname"><a href="gb_8h.html#afb0c344e6a417709af9497543f072aa3">mode</a></div><div class="ttdeci">void mode(uint8_t m)</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="astructjoypads__t_html_a5e953c63dfb5148ba29f5735a735035f"><div class="ttname"><a href="structjoypads__t.html#a5e953c63dfb5148ba29f5735a735035f">joypads_t::joy0</a></div><div class="ttdeci">uint8_t joy0</div><div class="ttdef"><b>Definition:</b> gb.h:676</div></div>
<div class="ttc" id="astructjoypads__t_html_af84e3549a0708ee0e04295e5f853e9f5"><div class="ttname"><a href="structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5">joypads_t::npads</a></div><div class="ttdeci">uint8_t npads</div><div class="ttdef"><b>Definition:</b> gb.h:673</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>