Files
gbdk-2020/docs/api/gb_8h_source.html
2021-09-10 11:47:31 +03:00

774 lines
152 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.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GBDK 2020 Docs: 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
</div>
<div id="projectbrief">API Documentation for GBDK 2020</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<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');
/* @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"> 19</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">#endif</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="gb_8h.html#a05ca817ab32f6da612c3ae26db5abf02"> 36</a></span>&#160;<span class="preprocessor">#define J_UP 0x04U</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="gb_8h.html#ae032c5c544196e37ec0432f6cfad7904"> 37</a></span>&#160;<span class="preprocessor">#define J_DOWN 0x08U</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="gb_8h.html#ac70894fecac30c1ca9917f07373cf81c"> 38</a></span>&#160;<span class="preprocessor">#define J_LEFT 0x02U</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="gb_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325"> 39</a></span>&#160;<span class="preprocessor">#define J_RIGHT 0x01U</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="gb_8h.html#a31af766e3b598eb7a6b63f55a4988e7a"> 40</a></span>&#160;<span class="preprocessor">#define J_A 0x10U</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="gb_8h.html#ae47e59a309120f9420993f26816b5e6d"> 41</a></span>&#160;<span class="preprocessor">#define J_B 0x20U</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="gb_8h.html#ab416a9d96d1582490828f4bac78a8b5b"> 42</a></span>&#160;<span class="preprocessor">#define J_SELECT 0x40U</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="gb_8h.html#ab769c6e20778298be8bc3321476ceb53"> 43</a></span>&#160;<span class="preprocessor">#define J_START 0x80U</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="gb_8h.html#acc9798fc62b5d626c91c8b0f20b522ff"> 49</a></span>&#160;<span class="preprocessor">#define M_DRAWING 0x01U</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="gb_8h.html#af0e30d6af308ffe5a025fbe85da40f6f"> 50</a></span>&#160;<span class="preprocessor">#define M_TEXT_OUT 0x02U</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="gb_8h.html#a908826e7180f94a5988ceb8633313a2e"> 51</a></span>&#160;<span class="preprocessor">#define M_TEXT_INOUT 0x03U</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="gb_8h.html#a04382de20738146fe873ddfb0585052b"> 57</a></span>&#160;<span class="preprocessor">#define M_NO_SCROLL 0x04U</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="gb_8h.html#aca2855edd2d28f66be551a0f7ec23f07"> 61</a></span>&#160;<span class="preprocessor">#define M_NO_INTERP 0x08U</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="gb_8h.html#a54572cf6791463b6d60623837e0bb5a6"> 67</a></span>&#160;<span class="preprocessor">#define S_PALETTE 0x10U</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="gb_8h.html#ae97793b4039609f93b0f7f8bddb18011"> 71</a></span>&#160;<span class="preprocessor">#define S_FLIPX 0x20U</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="gb_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b"> 75</a></span>&#160;<span class="preprocessor">#define S_FLIPY 0x40U</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="gb_8h.html#a9506d04c2ec7d2442a52054f67d2b32f"> 80</a></span>&#160;<span class="preprocessor">#define S_PRIORITY 0x80U</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment">/* Interrupt flags */</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="gb_8h.html#aa027abe630d44039f238034bcb2d2f36"> 85</a></span>&#160;<span class="preprocessor">#define EMPTY_IFLAG 0x00U</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="gb_8h.html#a2ca7720b9a5da9b2173e1f74dba85541"> 91</a></span>&#160;<span class="preprocessor">#define VBL_IFLAG 0x01U</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="gb_8h.html#a61a9e2910380de6abb34df14ef634eb4"> 95</a></span>&#160;<span class="preprocessor">#define LCD_IFLAG 0x02U</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="gb_8h.html#a604256210ec5b90b68185e1a18efab49"> 99</a></span>&#160;<span class="preprocessor">#define TIM_IFLAG 0x04U</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="gb_8h.html#ad90564458646c5646b3880b93db3443e"> 103</a></span>&#160;<span class="preprocessor">#define SIO_IFLAG 0x08U</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="gb_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280"> 107</a></span>&#160;<span class="preprocessor">#define JOY_IFLAG 0x10U</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment">/* DMG Palettes */</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="gb_8h.html#ab311e53739c992294ae07ca506a924ad"> 111</a></span>&#160;<span class="preprocessor">#define DMG_BLACK 0x03</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="gb_8h.html#a45d13a674e169dd83df7e1f46513ccba"> 112</a></span>&#160;<span class="preprocessor">#define DMG_DARK_GRAY 0x02</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3"> 113</a></span>&#160;<span class="preprocessor">#define DMG_LITE_GRAY 0x01</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3"> 114</a></span>&#160;<span class="preprocessor">#define DMG_WHITE 0x00</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="gb_8h.html#a9727caafc483ba6ec65e9344b033d684"> 134</a></span>&#160;<span class="preprocessor">#define DMG_PALETTE(C0, C1, C2, C3) ((UBYTE)((((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="l00135"></a><span class="lineno"> 135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment">/* Limits */</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="gb_8h.html#ada0cc738d27aad251151e69cb8d250e1"> 139</a></span>&#160;<span class="preprocessor">#define SCREENWIDTH DEVICE_SCREEN_PX_WIDTH</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="gb_8h.html#ae189e98d0ef9263c37869ce1ff3710a5"> 142</a></span>&#160;<span class="preprocessor">#define SCREENHEIGHT DEVICE_SCREEN_PX_HEIGHT</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; </div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="gb_8h.html#a5a796bbf3e4347d914b83568350143a9"> 145</a></span>&#160;<span class="preprocessor">#define MINWNDPOSX 0x07U</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; </div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="gb_8h.html#af3d632ba2d7cef6619df5dfea8730909"> 148</a></span>&#160;<span class="preprocessor">#define MINWNDPOSY 0x00U</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="gb_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5"> 151</a></span>&#160;<span class="preprocessor">#define MAXWNDPOSX 0xA6U</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; </div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="gb_8h.html#ad57f2f8c54204687f02801d8ab1bd150"> 154</a></span>&#160;<span class="preprocessor">#define MAXWNDPOSY 0x8FU</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d"> 159</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_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="gb_8h.html#a3b3171b2e81e23b7d1bc402275a9ac71"> 168</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a3b3171b2e81e23b7d1bc402275a9ac71">remove_VBL</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="gb_8h.html#a4c5db32641410613d785911bafd09ac7"> 173</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a4c5db32641410613d785911bafd09ac7">remove_LCD</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; </div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="gb_8h.html#a1ad25695f4885f15325a82ec935e8579"> 178</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1ad25695f4885f15325a82ec935e8579">remove_TIM</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="gb_8h.html#a18857adb60025a986dbb44ee289b7a7c"> 192</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a18857adb60025a986dbb44ee289b7a7c">remove_SIO</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="gb_8h.html#ae4510032b28f9f4cdaaa96b0b892cf57"> 197</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ae4510032b28f9f4cdaaa96b0b892cf57">remove_JOY</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; </div>
<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="gb_8h.html#a2412b9f97cb59acfcb2383eb9f204ddf"> 215</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a2412b9f97cb59acfcb2383eb9f204ddf">add_VBL</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
<div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="gb_8h.html#a6cc76ea12ac894c4947f85fa1999117c"> 233</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a6cc76ea12ac894c4947f85fa1999117c">add_LCD</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; </div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="gb_8h.html#a411914e5dc5f28ce0afa7cf692a18af1"> 244</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a411914e5dc5f28ce0afa7cf692a18af1">add_TIM</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; </div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; </div>
<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="gb_8h.html#a024fc35ef0ad258d67c8f9dfb0751ee7"> 256</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a024fc35ef0ad258d67c8f9dfb0751ee7">add_SIO</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; </div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; </div>
<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="gb_8h.html#a81f1a67549d3a26dcca22367141eb21b"> 271</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a81f1a67549d3a26dcca22367141eb21b">add_JOY</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; </div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; </div>
<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="gb_8h.html#a115eb30ec86f6af039a27918ffe4cf8c"> 289</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a115eb30ec86f6af039a27918ffe4cf8c">nowait_int_handler</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; </div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; </div>
<div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="gb_8h.html#af461d38864cfc5720f0d9f4d1113cf07"> 304</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#af461d38864cfc5720f0d9f4d1113cf07">wait_int_handler</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; </div>
<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a"> 308</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#ade5d4c955b871b0ed884273cc2b7215a">cancel_pending_interrupts</a>() {</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</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="l00310"></a><span class="lineno"> 310</span>&#160;}</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; </div>
<div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="gb_8h.html#aa48d749c9b381d1c30fb864eda3eee9b"> 318</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aa48d749c9b381d1c30fb864eda3eee9b">mode</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> m) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; </div>
<div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="gb_8h.html#a3604bdce0d51550cf87a7595f60d7218"> 324</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a3604bdce0d51550cf87a7595f60d7218">get_mode</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l00325"></a><span class="lineno"> 325</span>&#160; </div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</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="l00331"></a><span class="lineno"> 331</span>&#160; </div>
<div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="gb_8h.html#a0031c07799247a6d6c1bfa3decac79d0"> 334</a></span>&#160;<span class="preprocessor">#define DMG_TYPE 0x01</span></div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; </div>
<div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="gb_8h.html#ae996ed4fd8bb6b308b9c8708a91df06b"> 337</a></span>&#160;<span class="preprocessor">#define MGB_TYPE 0xFF</span></div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; </div>
<div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="gb_8h.html#aee435a3a0dde3dbd7b6112dbb456cde8"> 340</a></span>&#160;<span class="preprocessor">#define CGB_TYPE 0x11</span></div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; </div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</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="l00347"></a><span class="lineno"> 347</span>&#160; </div>
<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="gb_8h.html#aa311f84dd9fce6e136ba4881e7b0d98d"> 350</a></span>&#160;<span class="preprocessor">#define GBA_NOT_DETECTED 0x00</span></div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; </div>
<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="gb_8h.html#a6ccf5d0f34fb0af0b6e73b9df0ccd745"> 353</a></span>&#160;<span class="preprocessor">#define GBA_DETECTED 0x01</span></div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; </div>
<div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="gb_8h.html#a231ec05679809190782e61c6e8aaaba4"> 357</a></span>&#160;<span class="preprocessor">#define DEVICE_SUPPORTS_COLOR (_cpu == CGB_TYPE)</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; </div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</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="l00366"></a><span class="lineno"> 366</span>&#160; </div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; </div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; </div>
<div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="gb_8h.html#a1259cf3a23fd2166a9d1a2e93942e30e"> 376</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="l00377"></a><span class="lineno"> 377</span>&#160; </div>
<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="gb_8h.html#a34d6500215984e8f9a986523a2f2dadd"> 385</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="l00386"></a><span class="lineno"> 386</span>&#160; </div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</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="l00389"></a><span class="lineno"> 389</span>&#160; </div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</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="l00393"></a><span class="lineno"> 393</span>&#160; </div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</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="l00397"></a><span class="lineno"> 397</span>&#160; </div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;<span class="comment">/* Status codes */</span></div>
<div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="gb_8h.html#a268cc6c704e16f3fa02dd1cf0e17070a"> 400</a></span>&#160;<span class="preprocessor">#define IO_IDLE 0x00U</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; </div>
<div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="gb_8h.html#ab69a3f7cd2c6b5eb4f518aefee099007"> 402</a></span>&#160;<span class="preprocessor">#define IO_SENDING 0x01U</span></div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; </div>
<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="gb_8h.html#aee03efddee0f2f6fbcaec789301aaa9b"> 404</a></span>&#160;<span class="preprocessor">#define IO_RECEIVING 0x02U</span></div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; </div>
<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="gb_8h.html#a5d4c9c7b61a0326a939f9109f96d7423"> 406</a></span>&#160;<span class="preprocessor">#define IO_ERROR 0x04U</span></div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; </div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; </div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; </div>
<div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a"> 414</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="l00415"></a><span class="lineno"><a class="line" href="gb_8h.html#ae042588f20bf5a2349c8ad8716245233"> 415</a></span>&#160;<span class="preprocessor">#define CURRENT_BANK _current_bank</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; </div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;<span class="preprocessor">#ifndef BANK</span></div>
<div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="gb_8h.html#a42705001e2b9897f5167b67fb36c69dd"> 427</a></span>&#160;<span class="preprocessor">#define BANK(VARNAME) ( (uint8_t) &amp; __bank_ ## VARNAME )</span></div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; </div>
<div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3"> 442</a></span>&#160;<span class="preprocessor">#define BANKREF(VARNAME) void __func_ ## VARNAME() __banked __naked { \</span></div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;<span class="preprocessor">__asm \</span></div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;<span class="preprocessor"> .local b___func_ ## VARNAME \</span></div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;<span class="preprocessor"> ___bank_ ## VARNAME = b___func_ ## VARNAME \</span></div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;<span class="preprocessor"> .globl ___bank_ ## VARNAME \</span></div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;<span class="preprocessor">__endasm; \</span></div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;<span class="preprocessor">}</span></div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; </div>
<div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="gb_8h.html#a261bba55a07b802baf99346feadd9852"> 459</a></span>&#160;<span class="preprocessor">#define BANKREF_EXTERN(VARNAME) extern const void __bank_ ## VARNAME;</span></div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; </div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; </div>
<div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f"> 465</a></span>&#160;<span class="preprocessor">#define SWITCH_ROM_MBC1(b) \</span></div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;<span class="preprocessor"> _current_bank = (b), *(uint8_t *)0x2000 = (b)</span></div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; </div>
<div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc"> 473</a></span>&#160;<span class="preprocessor">#define SWITCH_ROM SWITCH_ROM_MBC1</span></div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; </div>
<div class="line"><a name="l00478"></a><span class="lineno"><a class="line" href="gb_8h.html#a38ea3e4dfe02b8eae70df27f39d4a951"> 478</a></span>&#160;<span class="preprocessor">#define SWITCH_RAM_MBC1(b) \</span></div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;<span class="preprocessor"> *(uint8_t *)0x4000 = (b)</span></div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; </div>
<div class="line"><a name="l00486"></a><span class="lineno"><a class="line" href="gb_8h.html#a6e40dcc763efd953181c7400642a9f69"> 486</a></span>&#160;<span class="preprocessor">#define SWITCH_RAM SWITCH_RAM_MBC1</span></div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; </div>
<div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="gb_8h.html#ae202f64307ec00f6970ef9225e54646c"> 490</a></span>&#160;<span class="preprocessor">#define ENABLE_RAM_MBC1 \</span></div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;<span class="preprocessor"> *(uint8_t *)0x0000 = 0x0A</span></div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; </div>
<div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="gb_8h.html#a0e9c88657beaac946231a4801481b97f"> 493</a></span>&#160;<span class="preprocessor">#define ENABLE_RAM ENABLE_RAM_MBC1</span></div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; </div>
<div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="gb_8h.html#a177fadce938422926b186a8e42575d1d"> 497</a></span>&#160;<span class="preprocessor">#define DISABLE_RAM_MBC1 \</span></div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;<span class="preprocessor"> *(uint8_t *)0x0000 = 0x00</span></div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; </div>
<div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="gb_8h.html#a649d27b5587de16a66176e03a1b8ebd5"> 500</a></span>&#160;<span class="preprocessor">#define DISABLE_RAM DISABLE_RAM_MBC1</span></div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; </div>
<div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="gb_8h.html#a0c689c5a814f1c347c4d98f28ed6c7d6"> 502</a></span>&#160;<span class="preprocessor">#define SWITCH_16_8_MODE_MBC1 \</span></div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;<span class="preprocessor"> *(uint8_t *)0x6000 = 0x00</span></div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; </div>
<div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="gb_8h.html#aa5d64e386a00b373f22ffdc5a152c7ba"> 505</a></span>&#160;<span class="preprocessor">#define SWITCH_4_32_MODE_MBC1 \</span></div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;<span class="preprocessor"> *(uint8_t *)0x6000 = 0x01</span></div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; </div>
<div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="gb_8h.html#a92d040284342702026eb19dab59b586e"> 513</a></span>&#160;<span class="preprocessor">#define SWITCH_ROM_MBC5(b) \</span></div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;<span class="preprocessor"> _current_bank = (b), \</span></div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;<span class="preprocessor"> *(uint8_t *)0x3000 = 0, \</span></div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;<span class="preprocessor"> *(uint8_t *)0x2000 = (b)</span></div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; </div>
<div class="line"><a name="l00524"></a><span class="lineno"><a class="line" href="gb_8h.html#a6c15ebc660abd3a978137493ab63ffe9"> 524</a></span>&#160;<span class="preprocessor">#define SWITCH_ROM_MBC5_8M(b) \</span></div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;<span class="preprocessor"> *(uint8_t *)0x3000 = ((uint16_t)(b) &gt;&gt; 8), \</span></div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;<span class="preprocessor"> *(uint8_t *)0x2000 = (b)</span></div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; </div>
<div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="gb_8h.html#a361d5055a7ae880fc1c9d6e0d1164fd6"> 531</a></span>&#160;<span class="preprocessor">#define SWITCH_RAM_MBC5(b) \</span></div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;<span class="preprocessor"> *(uint8_t *)0x4000 = (b)</span></div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; </div>
<div class="line"><a name="l00536"></a><span class="lineno"><a class="line" href="gb_8h.html#a3f033f00c8d781637f9a665b06750937"> 536</a></span>&#160;<span class="preprocessor">#define ENABLE_RAM_MBC5 \</span></div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;<span class="preprocessor"> *(uint8_t *)0x0000 = 0x0A</span></div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; </div>
<div class="line"><a name="l00541"></a><span class="lineno"><a class="line" href="gb_8h.html#a60191cdfa50ed9b88515f181747eaba2"> 541</a></span>&#160;<span class="preprocessor">#define DISABLE_RAM_MBC5 \</span></div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;<span class="preprocessor"> *(uint8_t *)0x0000 = 0x00</span></div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; </div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; </div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; </div>
<div class="line"><a name="l00550"></a><span class="lineno"><a class="line" href="gb_8h.html#a163199ca9660b93aa18c3e4734084121"> 550</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a163199ca9660b93aa18c3e4734084121">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_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; </div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; </div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; </div>
<div class="line"><a name="l00564"></a><span class="lineno"><a class="line" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff"> 564</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#ae6e4ae6169648f1bf1fac9785f8f1c71">joypad</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l00565"></a><span class="lineno"> 565</span>&#160; </div>
<div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="gb_8h.html#a057979766e52b9f93972dad332a5be5d"> 578</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a057979766e52b9f93972dad332a5be5d">waitpad</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> mask) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l00579"></a><span class="lineno"> 579</span>&#160; </div>
<div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="gb_8h.html#ae1f1358e53ec1b153f071d1e16d8ab0e"> 585</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ae1f1358e53ec1b153f071d1e16d8ab0e">waitpadup</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __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="l00586"></a><span class="lineno"> 586</span>&#160; </div>
<div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="structjoypads__t.html"> 592</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00593"></a><span class="lineno"><a class="line" href="structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5"> 593</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="l00594"></a><span class="lineno"> 594</span>&#160; <span class="keyword">union </span>{</div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00596"></a><span class="lineno"><a class="line" href="structjoypads__t.html#ab281d26e5197e49633274f412b164295"> 596</a></span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> joy0, joy1, joy2, <a class="code" href="structjoypads__t.html#ab281d26e5197e49633274f412b164295">joy3</a>;</div>
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; };</div>
<div class="line"><a name="l00598"></a><span class="lineno"><a class="line" href="structjoypads__t.html#a8d181ece2d3db614ed6686cfba545238"> 598</a></span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> joypads[4];</div>
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; };</div>
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160;} <a class="code" href="structjoypads__t.html">joypads_t</a>;</div>
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; </div>
<div class="line"><a name="l00611"></a><span class="lineno"><a class="line" href="gb_8h.html#a714bbced6a4c47ae9f82f81ef3b5b357"> 611</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a714bbced6a4c47ae9f82f81ef3b5b357">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);</div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; </div>
<div class="line"><a name="l00619"></a><span class="lineno"><a class="line" href="gb_8h.html#a1db30aa7479be2276312f3c981553906"> 619</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1db30aa7479be2276312f3c981553906">joypad_ex</a>(<a class="code" href="structjoypads__t.html">joypads_t</a> * joypads) __preserves_regs(<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="l00620"></a><span class="lineno"> 620</span>&#160; </div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; </div>
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; </div>
<div class="line"><a name="l00626"></a><span class="lineno"><a class="line" href="gb_8h.html#add66104772d2d3af28975c79d7c2982f"> 626</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#add66104772d2d3af28975c79d7c2982f">enable_interrupts</a>(<span class="keywordtype">void</span>) __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="l00627"></a><span class="lineno"> 627</span>&#160; __asm__(<span class="stringliteral">&quot;ei&quot;</span>);</div>
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;}</div>
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; </div>
<div class="line"><a name="l00637"></a><span class="lineno"><a class="line" href="gb_8h.html#add2672a8369169878271399583106216"> 637</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#add2672a8369169878271399583106216">disable_interrupts</a>(<span class="keywordtype">void</span>) __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="l00638"></a><span class="lineno"> 638</span>&#160; __asm__(<span class="stringliteral">&quot;di&quot;</span>);</div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;}</div>
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; </div>
<div class="line"><a name="l00647"></a><span class="lineno"><a class="line" href="gb_8h.html#a9b132042678afce70ccb2d479f4133f0"> 647</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a9b132042678afce70ccb2d479f4133f0">set_interrupts</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> flags) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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>);</div>
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; </div>
<div class="line"><a name="l00652"></a><span class="lineno"><a class="line" href="gb_8h.html#af4a728ba51de424a0bed286ac65d3242"> 652</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#af4a728ba51de424a0bed286ac65d3242">reset</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; </div>
<div class="line"><a name="l00664"></a><span class="lineno"><a class="line" href="gb_8h.html#adf6ef63efc4bb4950428015c623bca14"> 664</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#adf6ef63efc4bb4950428015c623bca14">wait_vbl_done</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l00665"></a><span class="lineno"> 665</span>&#160; </div>
<div class="line"><a name="l00671"></a><span class="lineno"><a class="line" href="gb_8h.html#aed072359b42854fffae4cd29c1f34ea1"> 671</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aed072359b42854fffae4cd29c1f34ea1">display_off</a>(<span class="keywordtype">void</span>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l00672"></a><span class="lineno"> 672</span>&#160; </div>
<div class="line"><a name="l00675"></a><span class="lineno"><a class="line" href="gb_8h.html#acb1dcc9caf644e44c049464b9ebcfdc4"> 675</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#acb1dcc9caf644e44c049464b9ebcfdc4">refresh_OAM</a>() <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; </div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; </div>
<div class="line"><a name="l00683"></a><span class="lineno"><a class="line" href="gb_8h.html#adef803cdd559747ad6f36830e126e48f"> 683</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#adef803cdd559747ad6f36830e126e48f">hiramcpy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> dst,</div>
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; const <span class="keywordtype">void</span> *src,</div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> n) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l00686"></a><span class="lineno"> 686</span>&#160; </div>
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; </div>
<div class="line"><a name="l00691"></a><span class="lineno"><a class="line" href="gb_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4"> 691</a></span>&#160;<span class="preprocessor">#define DISPLAY_ON \</span></div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;<span class="preprocessor"> LCDC_REG|=LCDCF_ON</span></div>
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; </div>
<div class="line"><a name="l00697"></a><span class="lineno"><a class="line" href="gb_8h.html#ad2ec9831813c5e7069917aa4455af682"> 697</a></span>&#160;<span class="preprocessor">#define DISPLAY_OFF \</span></div>
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160;<span class="preprocessor"> display_off();</span></div>
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; </div>
<div class="line"><a name="l00702"></a><span class="lineno"><a class="line" href="gb_8h.html#a0659212acd317ccdebc0ecf435df330f"> 702</a></span>&#160;<span class="preprocessor">#define HIDE_LEFT_COLUMN</span></div>
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; </div>
<div class="line"><a name="l00706"></a><span class="lineno"><a class="line" href="gb_8h.html#a5497c2255a9474d397446710189eacbe"> 706</a></span>&#160;<span class="preprocessor">#define SHOW_LEFT_COLUMN</span></div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; </div>
<div class="line"><a name="l00711"></a><span class="lineno"><a class="line" href="gb_8h.html#a8e3f36aa68ac036695816757f2a1322c"> 711</a></span>&#160;<span class="preprocessor">#define SHOW_BKG \</span></div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160;<span class="preprocessor"> LCDC_REG|=LCDCF_BGON</span></div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; </div>
<div class="line"><a name="l00717"></a><span class="lineno"><a class="line" href="gb_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141"> 717</a></span>&#160;<span class="preprocessor">#define HIDE_BKG \</span></div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;<span class="preprocessor"> LCDC_REG&amp;=~LCDCF_BGON</span></div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; </div>
<div class="line"><a name="l00723"></a><span class="lineno"><a class="line" href="gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8"> 723</a></span>&#160;<span class="preprocessor">#define SHOW_WIN \</span></div>
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;<span class="preprocessor"> LCDC_REG|=LCDCF_WINON</span></div>
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; </div>
<div class="line"><a name="l00729"></a><span class="lineno"><a class="line" href="gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3"> 729</a></span>&#160;<span class="preprocessor">#define HIDE_WIN \</span></div>
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160;<span class="preprocessor"> LCDC_REG&amp;=~LCDCF_WINON</span></div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; </div>
<div class="line"><a name="l00735"></a><span class="lineno"><a class="line" href="gb_8h.html#a495bc9f405f916f02ad5d97e6e730134"> 735</a></span>&#160;<span class="preprocessor">#define SHOW_SPRITES \</span></div>
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;<span class="preprocessor"> LCDC_REG|=LCDCF_OBJON</span></div>
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; </div>
<div class="line"><a name="l00741"></a><span class="lineno"><a class="line" href="gb_8h.html#a69ef98aee664b8abd8d1a3d45f016dda"> 741</a></span>&#160;<span class="preprocessor">#define HIDE_SPRITES \</span></div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;<span class="preprocessor"> LCDC_REG&amp;=~LCDCF_OBJON</span></div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; </div>
<div class="line"><a name="l00747"></a><span class="lineno"><a class="line" href="gb_8h.html#af91d252f07f4764996154820f970c101"> 747</a></span>&#160;<span class="preprocessor">#define SPRITES_8x16 \</span></div>
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;<span class="preprocessor"> LCDC_REG|=LCDCF_OBJ16</span></div>
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; </div>
<div class="line"><a name="l00753"></a><span class="lineno"><a class="line" href="gb_8h.html#aa87bec0d134136fdb727f52cb773b792"> 753</a></span>&#160;<span class="preprocessor">#define SPRITES_8x8 \</span></div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;<span class="preprocessor"> LCDC_REG&amp;=~LCDCF_OBJ16</span></div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; </div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; </div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; </div>
<div class="line"><a name="l00764"></a><span class="lineno"><a class="line" href="gb_8h.html#aa8e85b82c4d347edb91c0cd2fb6c8393"> 764</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aa8e85b82c4d347edb91c0cd2fb6c8393">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) __preserves_regs(<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="l00765"></a><span class="lineno"> 765</span>&#160; </div>
<div class="line"><a name="l00772"></a><span class="lineno"><a class="line" href="gb_8h.html#af1e1dffd53a01380c4bb1d491d0e08e8"> 772</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#af1e1dffd53a01380c4bb1d491d0e08e8">get_vram_byte</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * addr) __preserves_regs(<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="l00773"></a><span class="lineno"> 773</span>&#160; </div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; </div>
<div class="line"><a name="l00778"></a><span class="lineno"><a class="line" href="gb_8h.html#a8ca73b01888393cf2d13e7ceebd7da0b"> 778</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#a8ca73b01888393cf2d13e7ceebd7da0b">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) __preserves_regs(<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="l00779"></a><span class="lineno"> 779</span>&#160; </div>
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; </div>
<div class="line"><a name="l00781"></a><span class="lineno"><a class="line" href="gb_8h.html#a67f80e65620470b55a4950e2966eb868"> 781</a></span>&#160;<span class="preprocessor">#define COMPAT_PALETTE(C0,C1,C2,C3) (((C3) &lt;&lt; 6) | ((C2) &lt;&lt; 4) | ((C1) &lt;&lt; 2) | (C0))</span></div>
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; </div>
<div class="line"><a name="l00785"></a><span class="lineno"><a class="line" href="gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84"> 785</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="l00786"></a><span class="lineno"> 786</span>&#160; palette;</div>
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;}</div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; </div>
<div class="line"><a name="l00806"></a><span class="lineno"><a class="line" href="gb_8h.html#ac5ad2687d02b9815986cdac1b3121d15"> 806</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ac5ad2687d02b9815986cdac1b3121d15">set_bkg_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile,</div>
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles,</div>
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l00809"></a><span class="lineno"><a class="line" href="gb_8h.html#ab94bfec130df50d9cb808142f94603a5"> 809</a></span>&#160;<span class="preprocessor">#define set_bkg_2bpp_data set_bkg_data</span></div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; </div>
<div class="line"><a name="l00827"></a><span class="lineno"><a class="line" href="gb_8h.html#abfc6a45a8b4b212ec9cde372a16e3d6e"> 827</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#abfc6a45a8b4b212ec9cde372a16e3d6e">set_bkg_1bit_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile,</div>
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles,</div>
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data,</div>
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="drawing_8h.html#af36897dea18be4c65b69767be47b98e4">color</a>) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l00831"></a><span class="lineno"><a class="line" href="gb_8h.html#a0ac527a7933555e52988f425527de599"> 831</a></span>&#160;<span class="preprocessor">#define set_bkg_1bpp_data set_bkg_1bit_data</span></div>
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; </div>
<div class="line"><a name="l00847"></a><span class="lineno"><a class="line" href="gb_8h.html#a63eddde1631a683fcf362e64b0595dae"> 847</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a63eddde1631a683fcf362e64b0595dae">get_bkg_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile,</div>
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles,</div>
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l00850"></a><span class="lineno"> 850</span>&#160; </div>
<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; </div>
<div class="line"><a name="l00904"></a><span class="lineno"><a class="line" href="gb_8h.html#ad1ec25843468eb57c54e0ebdcf532659"> 904</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ad1ec25843468eb57c54e0ebdcf532659">set_bkg_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x,</div>
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y,</div>
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w,</div>
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>,</div>
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l00909"></a><span class="lineno"><a class="line" href="gb_8h.html#a55f82ff980398dd97036fd936ebd727e"> 909</a></span>&#160;<span class="preprocessor">#define set_tile_map set_bkg_tiles</span></div>
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; </div>
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; </div>
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a0cfd261bc7a94b1f6093f423bad30298">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);</div>
<div class="line"><a name="l00941"></a><span class="lineno"><a class="line" href="gb_8h.html#adb5d0970167b81401113812773c90838"> 941</a></span>&#160;<span class="preprocessor">#define set_tile_submap set_bkg_submap</span></div>
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; </div>
<div class="line"><a name="l00961"></a><span class="lineno"><a class="line" href="gb_8h.html#a93d486a41f2f5859d7e3b0724bc1ce63"> 961</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a93d486a41f2f5859d7e3b0724bc1ce63">get_bkg_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x,</div>
<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y,</div>
<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w,</div>
<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>,</div>
<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l00966"></a><span class="lineno"> 966</span>&#160; </div>
<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; </div>
<div class="line"><a name="l00975"></a><span class="lineno"><a class="line" href="gb_8h.html#a54481c53f28bc5fcfff05be28f16e976"> 975</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#a54481c53f28bc5fcfff05be28f16e976">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) __preserves_regs(<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="l00976"></a><span class="lineno"><a class="line" href="gb_8h.html#a3b235c526c517fb02d20cdea780ee2c5"> 976</a></span>&#160;<span class="preprocessor">#define set_tile_xy set_bkg_tile_xy</span></div>
<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; </div>
<div class="line"><a name="l00984"></a><span class="lineno"><a class="line" href="gb_8h.html#ada5a329f1e932972ff83758bb5e62982"> 984</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#ada5a329f1e932972ff83758bb5e62982">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) __preserves_regs(<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="l00985"></a><span class="lineno"> 985</span>&#160; </div>
<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; </div>
<div class="line"><a name="l01000"></a><span class="lineno"><a class="line" href="gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57"> 1000</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="l01001"></a><span class="lineno"> 1001</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="l01002"></a><span class="lineno"> 1002</span>&#160;}</div>
<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; </div>
<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; </div>
<div class="line"><a name="l01014"></a><span class="lineno"><a class="line" href="gb_8h.html#a1f583f7a880daa6145ca78b086a209d1"> 1014</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="l01015"></a><span class="lineno"> 1015</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="l01016"></a><span class="lineno"> 1016</span>&#160;}</div>
<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; </div>
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; </div>
<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; </div>
<div class="line"><a name="l01023"></a><span class="lineno"><a class="line" href="gb_8h.html#a56e2c5e58303d0f909f26f5d6f7de7b8"> 1023</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#a56e2c5e58303d0f909f26f5d6f7de7b8">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) __preserves_regs(<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="l01024"></a><span class="lineno"> 1024</span>&#160; </div>
<div class="line"><a name="l01038"></a><span class="lineno"><a class="line" href="gb_8h.html#ab4454beccf306245a5085aafc38079be"> 1038</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ab4454beccf306245a5085aafc38079be">set_win_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile,</div>
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles,</div>
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01041"></a><span class="lineno"> 1041</span>&#160; </div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; </div>
<div class="line"><a name="l01054"></a><span class="lineno"><a class="line" href="gb_8h.html#a83bc12932f49f2a9e225e4acd377c882"> 1054</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a83bc12932f49f2a9e225e4acd377c882">set_win_1bit_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile,</div>
<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles,</div>
<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01057"></a><span class="lineno"> 1057</span>&#160; </div>
<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; </div>
<div class="line"><a name="l01070"></a><span class="lineno"><a class="line" href="gb_8h.html#a03ceca65a8640bfb767886199fd8eea8"> 1070</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a03ceca65a8640bfb767886199fd8eea8">get_win_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile,</div>
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles,</div>
<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01073"></a><span class="lineno"> 1073</span>&#160; </div>
<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; </div>
<div class="line"><a name="l01106"></a><span class="lineno"><a class="line" href="gb_8h.html#ac0ef9581f691c213f9aec7a4434dfcab"> 1106</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ac0ef9581f691c213f9aec7a4434dfcab">set_win_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x,</div>
<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y,</div>
<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w,</div>
<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>,</div>
<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01111"></a><span class="lineno"> 1111</span>&#160; </div>
<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; </div>
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#abb50a392ca0d0419a080413287ee5d79">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);</div>
<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160; </div>
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160; </div>
<div class="line"><a name="l01163"></a><span class="lineno"><a class="line" href="gb_8h.html#ab46fb4fb6dfd6123d0aa186c1c7a542f"> 1163</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ab46fb4fb6dfd6123d0aa186c1c7a542f">get_win_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x,</div>
<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y,</div>
<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w,</div>
<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>,</div>
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01168"></a><span class="lineno"> 1168</span>&#160; </div>
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160; </div>
<div class="line"><a name="l01177"></a><span class="lineno"><a class="line" href="gb_8h.html#a3bf7b60dd4dee0e196c601606a462ef0"> 1177</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#a3bf7b60dd4dee0e196c601606a462ef0">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) __preserves_regs(<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="l01178"></a><span class="lineno"> 1178</span>&#160; </div>
<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160; </div>
<div class="line"><a name="l01186"></a><span class="lineno"><a class="line" href="gb_8h.html#a0168f90bec8aff7a826cd4aee7daad89"> 1186</a></span>&#160;<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a0168f90bec8aff7a826cd4aee7daad89">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) __preserves_regs(<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="l01187"></a><span class="lineno"> 1187</span>&#160; </div>
<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160; </div>
<div class="line"><a name="l01200"></a><span class="lineno"><a class="line" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5"> 1200</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="l01201"></a><span class="lineno"> 1201</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="l01202"></a><span class="lineno"> 1202</span>&#160;}</div>
<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160; </div>
<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160; </div>
<div class="line"><a name="l01214"></a><span class="lineno"><a class="line" href="gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044"> 1214</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="l01215"></a><span class="lineno"> 1215</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="l01216"></a><span class="lineno"> 1216</span>&#160;}</div>
<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160; </div>
<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160; </div>
<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; </div>
<div class="line"><a name="l01235"></a><span class="lineno"><a class="line" href="gb_8h.html#a47132bf7f387c2518c507a0b868cbf4c"> 1235</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a47132bf7f387c2518c507a0b868cbf4c">set_sprite_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile,</div>
<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles,</div>
<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160; <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01238"></a><span class="lineno"><a class="line" href="gb_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4"> 1238</a></span>&#160;<span class="preprocessor">#define set_sprite_2bpp_data set_sprite_data</span></div>
<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160; </div>
<div class="line"><a name="l01255"></a><span class="lineno"><a class="line" href="gb_8h.html#ad3a2c7e0bfbc9905bd06b162127d13d9"> 1255</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ad3a2c7e0bfbc9905bd06b162127d13d9">set_sprite_1bit_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile,</div>
<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles,</div>
<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160; <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01258"></a><span class="lineno"><a class="line" href="gb_8h.html#aff8c24b33a29c5bb0c30f5bd039eba0f"> 1258</a></span>&#160;<span class="preprocessor">#define set_sprite_1bpp_data set_sprite_1bit_data</span></div>
<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; </div>
<div class="line"><a name="l01272"></a><span class="lineno"><a class="line" href="gb_8h.html#a94bc1276702dbe1b44df2214506f1549"> 1272</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a94bc1276702dbe1b44df2214506f1549">get_sprite_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile,</div>
<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles,</div>
<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01275"></a><span class="lineno"> 1275</span>&#160; </div>
<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160; </div>
<div class="line"><a name="l01283"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html"> 1283</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="l01284"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18"> 1284</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="l01285"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6"> 1285</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="l01286"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9"> 1286</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="l01287"></a><span class="lineno"><a class="line" href="gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03"> 1287</a></span>&#160;} <a class="code" href="gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03">OAM_item_t</a>;</div>
<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; </div>
<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; </div>
<div class="line"><a name="l01292"></a><span class="lineno"> 1292</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="l01293"></a><span class="lineno"> 1293</span>&#160; </div>
<div class="line"><a name="l01296"></a><span class="lineno"><a class="line" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49"> 1296</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="l01297"></a><span class="lineno"> 1297</span>&#160; </div>
<div class="line"><a name="l01298"></a><span class="lineno"><a class="line" href="gb_8h.html#a47607089a434dcda7a8583cfca03b604"> 1298</a></span>&#160;<span class="preprocessor">#define DISABLE_OAM_DMA \</span></div>
<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;<span class="preprocessor"> _shadow_OAM_base = 0</span></div>
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160; </div>
<div class="line"><a name="l01303"></a><span class="lineno"><a class="line" href="gb_8h.html#abfd70bf31185a4900680977c9fb5a5ec"> 1303</a></span>&#160;<span class="preprocessor">#define DISABLE_VBL_TRANSFER DISABLE_OAM_DMA</span></div>
<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160; </div>
<div class="line"><a name="l01305"></a><span class="lineno"><a class="line" href="gb_8h.html#a20895d53fe9caacb08ce8b071d57ce53"> 1305</a></span>&#160;<span class="preprocessor">#define ENABLE_OAM_DMA \</span></div>
<div class="line"><a name="l01306"></a><span class="lineno"> 1306</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="l01307"></a><span class="lineno"> 1307</span>&#160; </div>
<div class="line"><a name="l01310"></a><span class="lineno"><a class="line" href="gb_8h.html#a77d516c9d3f86f100eddea5e0d133a76"> 1310</a></span>&#160;<span class="preprocessor">#define ENABLE_VBL_TRANSFER ENABLE_OAM_DMA</span></div>
<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; </div>
<div class="line"><a name="l01314"></a><span class="lineno"><a class="line" href="gb_8h.html#a8b77608c87a9aef65a03531482b2163b"> 1314</a></span>&#160;<span class="preprocessor">#define MAX_HARDWARE_SPRITES 40</span></div>
<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160; </div>
<div class="line"><a name="l01318"></a><span class="lineno"><a class="line" href="gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687"> 1318</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="l01319"></a><span class="lineno"> 1319</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="l01320"></a><span class="lineno"> 1320</span>&#160;}</div>
<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; </div>
<div class="line"><a name="l01338"></a><span class="lineno"><a class="line" href="gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe"> 1338</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="l01339"></a><span class="lineno"> 1339</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="l01340"></a><span class="lineno"> 1340</span>&#160;}</div>
<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; </div>
<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; </div>
<div class="line"><a name="l01349"></a><span class="lineno"><a class="line" href="gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a"> 1349</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="l01350"></a><span class="lineno"> 1350</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="l01351"></a><span class="lineno"> 1351</span>&#160;}</div>
<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160; </div>
<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160; </div>
<div class="line"><a name="l01384"></a><span class="lineno"><a class="line" href="gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7"> 1384</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="l01385"></a><span class="lineno"> 1385</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="l01386"></a><span class="lineno"> 1386</span>&#160;}</div>
<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160; </div>
<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160; </div>
<div class="line"><a name="l01394"></a><span class="lineno"><a class="line" href="gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88"> 1394</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="l01395"></a><span class="lineno"> 1395</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="l01396"></a><span class="lineno"> 1396</span>&#160;}</div>
<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160; </div>
<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; </div>
<div class="line"><a name="l01411"></a><span class="lineno"><a class="line" href="gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd"> 1411</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="l01412"></a><span class="lineno"> 1412</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="l01413"></a><span class="lineno"> 1413</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="l01414"></a><span class="lineno"> 1414</span>&#160;}</div>
<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; </div>
<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; </div>
<div class="line"><a name="l01427"></a><span class="lineno"><a class="line" href="gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe"> 1427</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="l01428"></a><span class="lineno"> 1428</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="l01429"></a><span class="lineno"> 1429</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="l01430"></a><span class="lineno"> 1430</span>&#160;}</div>
<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; </div>
<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160; </div>
<div class="line"><a name="l01437"></a><span class="lineno"><a class="line" href="gb_8h.html#ad22c51635d052399bbbe1777999c794d"> 1437</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="l01438"></a><span class="lineno"> 1438</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="l01439"></a><span class="lineno"> 1439</span>&#160;}</div>
<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160; </div>
<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160; </div>
<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160; </div>
<div class="line"><a name="l01458"></a><span class="lineno"><a class="line" href="gb_8h.html#ac65cf20df1886ea11c61c1665d308d31"> 1458</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ac65cf20df1886ea11c61c1665d308d31">set_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr,</div>
<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data,</div>
<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160; <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01461"></a><span class="lineno"> 1461</span>&#160; </div>
<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160; </div>
<div class="line"><a name="l01478"></a><span class="lineno"><a class="line" href="gb_8h.html#aeb2f2155c7aac6bee02bb7377921394f"> 1478</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aeb2f2155c7aac6bee02bb7377921394f">get_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data,</div>
<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr,</div>
<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160; <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01481"></a><span class="lineno"> 1481</span>&#160; </div>
<div class="line"><a name="l01494"></a><span class="lineno"><a class="line" href="gb_8h.html#a4dccf6232263a3b533115e75d63b4e9d"> 1494</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a4dccf6232263a3b533115e75d63b4e9d">vmemcpy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *dest,</div>
<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour,</div>
<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160; <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01497"></a><span class="lineno"> 1497</span>&#160; </div>
<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160; </div>
<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160; </div>
<div class="line"><a name="l01523"></a><span class="lineno"><a class="line" href="gb_8h.html#aac7f4eb7e61237f4ce3b60580ff89ff5"> 1523</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aac7f4eb7e61237f4ce3b60580ff89ff5">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>,</div>
<div class="line"><a name="l01524"></a><span class="lineno"> 1524</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>,</div>
<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w,</div>
<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>,</div>
<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr,</div>
<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160; <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01529"></a><span class="lineno"> 1529</span>&#160; </div>
<div class="line"><a name="l01540"></a><span class="lineno"><a class="line" href="gb_8h.html#a845a29ae3a4ab2ba3533aae20bbc526b"> 1540</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a845a29ae3a4ab2ba3533aae20bbc526b">set_tile_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile,</div>
<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles,</div>
<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160; <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data,</div>
<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01544"></a><span class="lineno"> 1544</span>&#160; </div>
<div class="line"><a name="l01566"></a><span class="lineno"><a class="line" href="gb_8h.html#a2a033e99ac99d6328db0dc75b4afc495"> 1566</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a2a033e99ac99d6328db0dc75b4afc495">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>,</div>
<div class="line"><a name="l01567"></a><span class="lineno"> 1567</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>,</div>
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w,</div>
<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>,</div>
<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr,</div>
<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160; <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01572"></a><span class="lineno"> 1572</span>&#160; </div>
<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160; </div>
<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160; </div>
<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160; </div>
<div class="line"><a name="l01581"></a><span class="lineno"><a class="line" href="gb_8h.html#a68d88347d6f7b781432bb4861a952c87"> 1581</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a68d88347d6f7b781432bb4861a952c87">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_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01582"></a><span class="lineno"> 1582</span>&#160; </div>
<div class="line"><a name="l01588"></a><span class="lineno"><a class="line" href="gb_8h.html#a04fa62cde2d341240a671c7af2d459e1"> 1588</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a04fa62cde2d341240a671c7af2d459e1">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_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01589"></a><span class="lineno"> 1589</span>&#160; </div>
<div class="line"><a name="l01597"></a><span class="lineno"><a class="line" href="gb_8h.html#a6d63a11b7056285dfc8a390e2c3c67dc"> 1597</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a6d63a11b7056285dfc8a390e2c3c67dc">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_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01598"></a><span class="lineno"> 1598</span>&#160; </div>
<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160; </div>
<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160; </div>
<div class="line"><a name="l01609"></a><span class="lineno"><a class="line" href="gb_8h.html#a1b03711e1c95023571add37a455d5f72"> 1609</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1b03711e1c95023571add37a455d5f72">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_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01610"></a><span class="lineno"><a class="line" href="gb_8h.html#a47865835d7d007d71b4bc8ae5cefb73a"> 1610</a></span>&#160;<span class="preprocessor">#define fill_rect fill_bkg_rect</span></div>
<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160; </div>
<div class="line"><a name="l01620"></a><span class="lineno"><a class="line" href="gb_8h.html#a2120d5fbe208b26c4264111ab8e0bfa3"> 1620</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a2120d5fbe208b26c4264111ab8e0bfa3">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_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a> __preserves_regs(<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="l01621"></a><span class="lineno"> 1621</span>&#160; </div>
<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _GB_H */</span><span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<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:1394</div></div>
<div class="ttc" id="agb_8h_html_af4a728ba51de424a0bed286ac65d3242"><div class="ttname"><a href="gb_8h.html#af4a728ba51de424a0bed286ac65d3242">reset</a></div><div class="ttdeci">void reset(void) NONBANKED</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_aed072359b42854fffae4cd29c1f34ea1"><div class="ttname"><a href="gb_8h.html#aed072359b42854fffae4cd29c1f34ea1">display_off</a></div><div class="ttdeci">void display_off(void) NONBANKED __preserves_regs(b</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="agb_8h_html_ae6e4ae6169648f1bf1fac9785f8f1c71"><div class="ttname"><a href="gb_8h.html#ae6e4ae6169648f1bf1fac9785f8f1c71">joypad</a></div><div class="ttdeci">uint8_t joypad(void) NONBANKED __preserves_regs(b</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:1284</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:1000</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="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="agb_8h_html_ac5ad2687d02b9815986cdac1b3121d15"><div class="ttname"><a href="gb_8h.html#ac5ad2687d02b9815986cdac1b3121d15">set_bkg_data</a></div><div class="ttdeci">void set_bkg_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_a1ad25695f4885f15325a82ec935e8579"><div class="ttname"><a href="gb_8h.html#a1ad25695f4885f15325a82ec935e8579">remove_TIM</a></div><div class="ttdeci">void remove_TIM(int_handler h) NONBANKED</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="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:593</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_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:414</div></div>
<div class="ttc" id="agb_8h_html_a3604bdce0d51550cf87a7595f60d7218"><div class="ttname"><a href="gb_8h.html#a3604bdce0d51550cf87a7595f60d7218">get_mode</a></div><div class="ttdeci">uint8_t get_mode(void) NONBANKED __preserves_regs(b</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:592</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:1384</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_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:252</div></div>
<div class="ttc" id="agb_8h_html_aa48d749c9b381d1c30fb864eda3eee9b"><div class="ttname"><a href="gb_8h.html#aa48d749c9b381d1c30fb864eda3eee9b">mode</a></div><div class="ttdeci">void mode(uint8_t m) NONBANKED</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_af461d38864cfc5720f0d9f4d1113cf07"><div class="ttname"><a href="gb_8h.html#af461d38864cfc5720f0d9f4d1113cf07">wait_int_handler</a></div><div class="ttdeci">void wait_int_handler(void) NONBANKED</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:1296</div></div>
<div class="ttc" id="agb_8h_html_abb50a392ca0d0419a080413287ee5d79"><div class="ttname"><a href="gb_8h.html#abb50a392ca0d0419a080413287ee5d79">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)</div><div class="ttdef"><b>Definition:</b> sms.h:578</div></div>
<div class="ttc" id="agb_8h_html_a0cfd261bc7a94b1f6093f423bad30298"><div class="ttname"><a href="gb_8h.html#a0cfd261bc7a94b1f6093f423bad30298">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)</div><div class="ttdef"><b>Definition:</b> sms.h:575</div></div>
<div class="ttc" id="agb_8h_html_a83bc12932f49f2a9e225e4acd377c882"><div class="ttname"><a href="gb_8h.html#a83bc12932f49f2a9e225e4acd377c882">set_win_1bit_data</a></div><div class="ttdeci">void set_win_1bit_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_a4c5db32641410613d785911bafd09ac7"><div class="ttname"><a href="gb_8h.html#a4c5db32641410613d785911bafd09ac7">remove_LCD</a></div><div class="ttdeci">void remove_LCD(int_handler h) NONBANKED</div></div>
<div class="ttc" id="agb_8h_html_ae4510032b28f9f4cdaaa96b0b892cf57"><div class="ttname"><a href="gb_8h.html#ae4510032b28f9f4cdaaa96b0b892cf57">remove_JOY</a></div><div class="ttdeci">void remove_JOY(int_handler h) NONBANKED</div></div>
<div class="ttc" id="agb_8h_html_a47132bf7f387c2518c507a0b868cbf4c"><div class="ttname"><a href="gb_8h.html#a47132bf7f387c2518c507a0b868cbf4c">set_sprite_data</a></div><div class="ttdeci">void set_sprite_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_ae1f1358e53ec1b153f071d1e16d8ab0e"><div class="ttname"><a href="gb_8h.html#ae1f1358e53ec1b153f071d1e16d8ab0e">waitpadup</a></div><div class="ttdeci">void waitpadup(void) NONBANKED __preserves_regs(a</div></div>
<div class="ttc" id="agb_8h_html_aac7f4eb7e61237f4ce3b60580ff89ff5"><div class="ttname"><a href="gb_8h.html#aac7f4eb7e61237f4ce3b60580ff89ff5">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) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_ab46fb4fb6dfd6123d0aa186c1c7a542f"><div class="ttname"><a href="gb_8h.html#ab46fb4fb6dfd6123d0aa186c1c7a542f">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) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_ac65cf20df1886ea11c61c1665d308d31"><div class="ttname"><a href="gb_8h.html#ac65cf20df1886ea11c61c1665d308d31">set_data</a></div><div class="ttdeci">void set_data(uint8_t *vram_addr, const uint8_t *data, uint16_t len) NONBANKED __preserves_regs(b</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="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:324</div></div>
<div class="ttc" id="agb_8h_html_a411914e5dc5f28ce0afa7cf692a18af1"><div class="ttname"><a href="gb_8h.html#a411914e5dc5f28ce0afa7cf692a18af1">add_TIM</a></div><div class="ttdeci">void add_TIM(int_handler h) NONBANKED</div></div>
<div class="ttc" id="aversion_8h_html"><div class="ttname"><a href="version_8h.html">version.h</a></div></div>
<div class="ttc" id="agb_8h_html_a115eb30ec86f6af039a27918ffe4cf8c"><div class="ttname"><a href="gb_8h.html#a115eb30ec86f6af039a27918ffe4cf8c">nowait_int_handler</a></div><div class="ttdeci">void nowait_int_handler(void) NONBANKED</div></div>
<div class="ttc" id="agb_8h_html_a1b03711e1c95023571add37a455d5f72"><div class="ttname"><a href="gb_8h.html#a1b03711e1c95023571add37a455d5f72">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) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="adrawing_8h_html_af36897dea18be4c65b69767be47b98e4"><div class="ttname"><a href="drawing_8h.html#af36897dea18be4c65b69767be47b98e4">color</a></div><div class="ttdeci">void color(uint8_t forecolor, uint8_t backcolor, uint8_t mode)</div></div>
<div class="ttc" id="agb_8h_html_a1db30aa7479be2276312f3c981553906"><div class="ttname"><a href="gb_8h.html#a1db30aa7479be2276312f3c981553906">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_a024fc35ef0ad258d67c8f9dfb0751ee7"><div class="ttname"><a href="gb_8h.html#a024fc35ef0ad258d67c8f9dfb0751ee7">add_SIO</a></div><div class="ttdeci">void add_SIO(int_handler h) NONBANKED</div></div>
<div class="ttc" id="agb_8h_html_ab4454beccf306245a5085aafc38079be"><div class="ttname"><a href="gb_8h.html#ab4454beccf306245a5085aafc38079be">set_win_data</a></div><div class="ttdeci">void set_win_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) NONBANKED __preserves_regs(b</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:75</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:564</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:268</div></div>
<div class="ttc" id="agb_8h_html_a845a29ae3a4ab2ba3533aae20bbc526b"><div class="ttname"><a href="gb_8h.html#a845a29ae3a4ab2ba3533aae20bbc526b">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) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_a9b132042678afce70ccb2d479f4133f0"><div class="ttname"><a href="gb_8h.html#a9b132042678afce70ccb2d479f4133f0">set_interrupts</a></div><div class="ttdeci">void set_interrupts(uint8_t flags) NONBANKED __preserves_regs(b</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_a18857adb60025a986dbb44ee289b7a7c"><div class="ttname"><a href="gb_8h.html#a18857adb60025a986dbb44ee289b7a7c">remove_SIO</a></div><div class="ttdeci">void remove_SIO(int_handler h) NONBANKED</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_ada5a329f1e932972ff83758bb5e62982"><div class="ttname"><a href="gb_8h.html#ada5a329f1e932972ff83758bb5e62982">get_bkg_tile_xy</a></div><div class="ttdeci">uint8_t get_bkg_tile_xy(uint8_t x, uint8_t y) __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_ade5d4c955b871b0ed884273cc2b7215a"><div class="ttname"><a href="gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a">cancel_pending_interrupts</a></div><div class="ttdeci">uint8_t cancel_pending_interrupts()</div><div class="ttdef"><b>Definition:</b> gb.h:308</div></div>
<div class="ttc" id="agb_8h_html_acb1dcc9caf644e44c049464b9ebcfdc4"><div class="ttname"><a href="gb_8h.html#acb1dcc9caf644e44c049464b9ebcfdc4">refresh_OAM</a></div><div class="ttdeci">void refresh_OAM() NONBANKED</div></div>
<div class="ttc" id="agb_8h_html_a54481c53f28bc5fcfff05be28f16e976"><div class="ttname"><a href="gb_8h.html#a54481c53f28bc5fcfff05be28f16e976">set_bkg_tile_xy</a></div><div class="ttdeci">uint8_t * set_bkg_tile_xy(uint8_t x, uint8_t y, uint8_t t) __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_a3bf7b60dd4dee0e196c601606a462ef0"><div class="ttname"><a href="gb_8h.html#a3bf7b60dd4dee0e196c601606a462ef0">set_win_tile_xy</a></div><div class="ttdeci">uint8_t * set_win_tile_xy(uint8_t x, uint8_t y, uint8_t t) __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_a4dccf6232263a3b533115e75d63b4e9d"><div class="ttname"><a href="gb_8h.html#a4dccf6232263a3b533115e75d63b4e9d">vmemcpy</a></div><div class="ttdeci">void vmemcpy(uint8_t *dest, uint8_t *sour, uint16_t len) NONBANKED __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">void e</div><div class="ttdef"><b>Definition:</b> gb.h:585</div></div>
<div class="ttc" id="agb_8h_html_aeb2f2155c7aac6bee02bb7377921394f"><div class="ttname"><a href="gb_8h.html#aeb2f2155c7aac6bee02bb7377921394f">get_data</a></div><div class="ttdeci">void get_data(uint8_t *data, uint8_t *vram_addr, uint16_t len) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_a3b3171b2e81e23b7d1bc402275a9ac71"><div class="ttname"><a href="gb_8h.html#a3b3171b2e81e23b7d1bc402275a9ac71">remove_VBL</a></div><div class="ttdeci">void remove_VBL(int_handler h) NONBANKED</div></div>
<div class="ttc" id="agb_8h_html_a04fa62cde2d341240a671c7af2d459e1"><div class="ttname"><a href="gb_8h.html#a04fa62cde2d341240a671c7af2d459e1">init_bkg</a></div><div class="ttdeci">void init_bkg(uint8_t c) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_a714bbced6a4c47ae9f82f81ef3b5b357"><div class="ttname"><a href="gb_8h.html#a714bbced6a4c47ae9f82f81ef3b5b357">joypad_init</a></div><div class="ttdeci">uint8_t joypad_init(uint8_t npads, joypads_t *joypads)</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:1318</div></div>
<div class="ttc" id="agb_8h_html_a0168f90bec8aff7a826cd4aee7daad89"><div class="ttname"><a href="gb_8h.html#a0168f90bec8aff7a826cd4aee7daad89">get_win_tile_xy</a></div><div class="ttdeci">uint8_t get_win_tile_xy(uint8_t x, uint8_t y) __preserves_regs(b</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="agb_8h_html_a94bc1276702dbe1b44df2214506f1549"><div class="ttname"><a href="gb_8h.html#a94bc1276702dbe1b44df2214506f1549">get_sprite_data</a></div><div class="ttdeci">void get_sprite_data(uint8_t first_tile, uint8_t nb_tiles, uint8_t *data) NONBANKED __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:159</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_ad3a2c7e0bfbc9905bd06b162127d13d9"><div class="ttname"><a href="gb_8h.html#ad3a2c7e0bfbc9905bd06b162127d13d9">set_sprite_1bit_data</a></div><div class="ttdeci">void set_sprite_1bit_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_add66104772d2d3af28975c79d7c2982f"><div class="ttname"><a href="gb_8h.html#add66104772d2d3af28975c79d7c2982f">enable_interrupts</a></div><div class="ttdeci">void enable_interrupts(void) __preserves_regs(a</div></div>
<div class="ttc" id="agb_8h_html_ad1ec25843468eb57c54e0ebdcf532659"><div class="ttname"><a href="gb_8h.html#ad1ec25843468eb57c54e0ebdcf532659">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) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_abfc6a45a8b4b212ec9cde372a16e3d6e"><div class="ttname"><a href="gb_8h.html#abfc6a45a8b4b212ec9cde372a16e3d6e">set_bkg_1bit_data</a></div><div class="ttdeci">void set_bkg_1bit_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data, uint8_t color) NONBANKED __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:1411</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_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:585</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:1427</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_aa8e85b82c4d347edb91c0cd2fb6c8393"><div class="ttname"><a href="gb_8h.html#aa8e85b82c4d347edb91c0cd2fb6c8393">set_vram_byte</a></div><div class="ttdeci">void set_vram_byte(uint8_t *addr, uint8_t v) __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_a6d63a11b7056285dfc8a390e2c3c67dc"><div class="ttname"><a href="gb_8h.html#a6d63a11b7056285dfc8a390e2c3c67dc">vmemset</a></div><div class="ttdeci">void vmemset(void *s, uint8_t c, size_t n) NONBANKED __preserves_regs(b</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:564</div></div>
<div class="ttc" id="agb_8h_html_a93d486a41f2f5859d7e3b0724bc1ce63"><div class="ttname"><a href="gb_8h.html#a93d486a41f2f5859d7e3b0724bc1ce63">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) NONBANKED __preserves_regs(b</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">void d</div><div class="ttdef"><b>Definition:</b> gb.h:585</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:1214</div></div>
<div class="ttc" id="agb_8h_html_a2a033e99ac99d6328db0dc75b4afc495"><div class="ttname"><a href="gb_8h.html#a2a033e99ac99d6328db0dc75b4afc495">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) NONBANKED __preserves_regs(b</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="aasm_2gbz80_2types_8h_html_a7ed081d8dfb6902784b2fc730bbb7f96"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></div><div class="ttdeci">#define NONBANKED</div><div class="ttdef"><b>Definition:</b> types.h:12</div></div>
<div class="ttc" id="agb_8h_html_a057979766e52b9f93972dad332a5be5d"><div class="ttname"><a href="gb_8h.html#a057979766e52b9f93972dad332a5be5d">waitpad</a></div><div class="ttdeci">uint8_t waitpad(uint8_t mask) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_a2412b9f97cb59acfcb2383eb9f204ddf"><div class="ttname"><a href="gb_8h.html#a2412b9f97cb59acfcb2383eb9f204ddf">add_VBL</a></div><div class="ttdeci">void add_VBL(int_handler h) NONBANKED</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:1338</div></div>
<div class="ttc" id="agb_8h_html_adef803cdd559747ad6f36830e126e48f"><div class="ttname"><a href="gb_8h.html#adef803cdd559747ad6f36830e126e48f">hiramcpy</a></div><div class="ttdeci">void hiramcpy(uint8_t dst, const void *src, uint8_t n) NONBANKED __preserves_regs(b</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:1285</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:1014</div></div>
<div class="ttc" id="agb_8h_html_a81f1a67549d3a26dcca22367141eb21b"><div class="ttname"><a href="gb_8h.html#a81f1a67549d3a26dcca22367141eb21b">add_JOY</a></div><div class="ttdeci">void add_JOY(int_handler h) NONBANKED</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:1349</div></div>
<div class="ttc" id="agb_8h_html_add2672a8369169878271399583106216"><div class="ttname"><a href="gb_8h.html#add2672a8369169878271399583106216">disable_interrupts</a></div><div class="ttdeci">void disable_interrupts(void) __preserves_regs(a</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:266</div></div>
<div class="ttc" id="agb_8h_html_adf6ef63efc4bb4950428015c623bca14"><div class="ttname"><a href="gb_8h.html#adf6ef63efc4bb4950428015c623bca14">wait_vbl_done</a></div><div class="ttdeci">void wait_vbl_done(void) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_ac0ef9581f691c213f9aec7a4434dfcab"><div class="ttname"><a href="gb_8h.html#ac0ef9581f691c213f9aec7a4434dfcab">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) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_a163199ca9660b93aa18c3e4734084121"><div class="ttname"><a href="gb_8h.html#a163199ca9660b93aa18c3e4734084121">delay</a></div><div class="ttdeci">void delay(uint16_t d) NONBANKED</div></div>
<div class="ttc" id="agb_8h_html_af1e1dffd53a01380c4bb1d491d0e08e8"><div class="ttname"><a href="gb_8h.html#af1e1dffd53a01380c4bb1d491d0e08e8">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_a2120d5fbe208b26c4264111ab8e0bfa3"><div class="ttname"><a href="gb_8h.html#a2120d5fbe208b26c4264111ab8e0bfa3">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) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_a8ca73b01888393cf2d13e7ceebd7da0b"><div class="ttname"><a href="gb_8h.html#a8ca73b01888393cf2d13e7ceebd7da0b">get_bkg_xy_addr</a></div><div class="ttdeci">uint8_t * get_bkg_xy_addr(uint8_t x, uint8_t y) __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_a63eddde1631a683fcf362e64b0595dae"><div class="ttname"><a href="gb_8h.html#a63eddde1631a683fcf362e64b0595dae">get_bkg_data</a></div><div class="ttdeci">void get_bkg_data(uint8_t first_tile, uint8_t nb_tiles, uint8_t *data) NONBANKED __preserves_regs(b</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:1283</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:785</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:1284</div></div>
<div class="ttc" id="agb_8h_html_a56e2c5e58303d0f909f26f5d6f7de7b8"><div class="ttname"><a href="gb_8h.html#a56e2c5e58303d0f909f26f5d6f7de7b8">get_win_xy_addr</a></div><div class="ttdeci">uint8_t * get_win_xy_addr(uint8_t x, uint8_t y) __preserves_regs(b</div></div>
<div class="ttc" id="agb_8h_html_a68d88347d6f7b781432bb4861a952c87"><div class="ttname"><a href="gb_8h.html#a68d88347d6f7b781432bb4861a952c87">init_win</a></div><div class="ttdeci">void init_win(uint8_t c) NONBANKED __preserves_regs(b</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:1200</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:1286</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:250</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:1437</div></div>
<div class="ttc" id="agb_8h_html_a03ceca65a8640bfb767886199fd8eea8"><div class="ttname"><a href="gb_8h.html#a03ceca65a8640bfb767886199fd8eea8">get_win_data</a></div><div class="ttdeci">void get_win_data(uint8_t first_tile, uint8_t nb_tiles, uint8_t *data) NONBANKED __preserves_regs(b</div></div>
<div class="ttc" id="astructjoypads__t_html_ab281d26e5197e49633274f412b164295"><div class="ttname"><a href="structjoypads__t.html#ab281d26e5197e49633274f412b164295">joypads_t::joy3</a></div><div class="ttdeci">uint8_t joy3</div><div class="ttdef"><b>Definition:</b> gb.h:596</div></div>
<div class="ttc" id="agb_8h_html_a6cc76ea12ac894c4947f85fa1999117c"><div class="ttname"><a href="gb_8h.html#a6cc76ea12ac894c4947f85fa1999117c">add_LCD</a></div><div class="ttdeci">void add_LCD(int_handler h) NONBANKED</div></div>
<!-- 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>