git.y1.nz

gbdk-2020

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

docs/api/sms_8h_source.html

      1 <!-- HTML header for doxygen 1.8.14-->
      2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      3 <html xmlns="http://www.w3.org/1999/xhtml">
      4 <head>
      5 <meta http-equiv="cache-control" content="max-age=86400"/>
      6 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
      7 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
      8 <meta name="generator" content="Doxygen 1.9.2"/>
      9 <meta name="viewport" content="width=device-width, initial-scale=1"/>
     10 <title>GBDK 2020 Docs: gbdk-lib/include/sms/sms.h Source File</title>
     11 <link href="tabs.css" rel="stylesheet" type="text/css"/>
     12 <script type="text/javascript" src="jquery.js"></script>
     13 <script type="text/javascript" src="dynsections.js"></script>
     14 <link href="navtree.css" rel="stylesheet" type="text/css"/>
     15 <script type="text/javascript" src="resize.js"></script>
     16 <script type="text/javascript" src="navtreedata.js"></script>
     17 <script type="text/javascript" src="navtree.js"></script>
     18 <link href="search/search.css" rel="stylesheet" type="text/css"/>
     19 <script type="text/javascript" src="search/searchdata.js"></script>
     20 <script type="text/javascript" src="search/search.js"></script>
     21 <link href="doxygen.css" rel="stylesheet" type="text/css" />
     22 <link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
     23 <link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
     24 <link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
     25 <!-- BEGIN: doxygen-awesome-css -->
     26         <script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
     27         <script type="text/javascript">
     28             DoxygenAwesomeDarkModeToggle.init()
     29         </script>
     30         <script type="text/javascript" src="doxygen-awesome-paragraph-link.js"></script>
     31         <script type="text/javascript">
     32             DoxygenAwesomeParagraphLink.init()
     33         </script>        
     34 <!-- END: doxygen-awesome-css -->
     35 </head>
     36 <body>
     37 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
     38 <div id="titlearea">
     39 <table cellspacing="0" cellpadding="0">
     40  <tbody>
     41  <tr style="height: 56px;">
     42   <td id="projectalign" style="padding-left: 0.5em;">
     43    <div id="projectname">GBDK 2020 Docs
     44    &#160;<span id="projectnumber">4.5.0</span>
     45    </div>
     46    <div id="projectbrief">API Documentation for GBDK 2020</div>
     47   </td>
     48  </tr>
     49  </tbody>
     50 </table>
     51 </div>
     52 <!-- end header part -->
     53 <!-- Generated by Doxygen 1.9.2 -->
     54 <script type="text/javascript">
     55 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
     56 var searchBox = new SearchBox("searchBox", "search",'Search','.html');
     57 /* @license-end */
     58 </script>
     59 <script type="text/javascript" src="menudata.js"></script>
     60 <script type="text/javascript" src="menu.js"></script>
     61 <script type="text/javascript">
     62 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
     63 $(function() {
     64   initMenu('',true,false,'search.php','Search');
     65   $(document).ready(function() { init_search(); });
     66 });
     67 /* @license-end */
     68 </script>
     69 <div id="main-nav"></div>
     70 </div><!-- top -->
     71 <div id="side-nav" class="ui-resizable side-nav-resizable">
     72   <div id="nav-tree">
     73     <div id="nav-tree-contents">
     74       <div id="nav-sync" class="sync"></div>
     75     </div>
     76   </div>
     77   <div id="splitbar" style="-moz-user-select:none;" 
     78        class="ui-resizable-handle">
     79   </div>
     80 </div>
     81 <script type="text/javascript">
     82 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
     83 $(document).ready(function(){initNavTree('sms_8h_source.html',''); initResizable(); });
     84 /* @license-end */
     85 </script>
     86 <div id="doc-content">
     87 <!-- window showing the filter options -->
     88 <div id="MSearchSelectWindow"
     89      onmouseover="return searchBox.OnSearchSelectShow()"
     90      onmouseout="return searchBox.OnSearchSelectHide()"
     91      onkeydown="return searchBox.OnSearchSelectKey(event)">
     92 </div>
     93 
     94 <!-- iframe showing the search results (closed by default) -->
     95 <div id="MSearchResultsWindow">
     96 <iframe src="javascript:void(0)" frameborder="0" 
     97         name="MSearchResults" id="MSearchResults">
     98 </iframe>
     99 </div>
    100 
    101 <div class="header">
    102   <div class="headertitle"><div class="title">sms.h</div></div>
    103 </div><!--header-->
    104 <div class="contents">
    105 <a href="sms_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
    106 <div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="preprocessor">#ifndef _SMS_H</span></div>
    107 <div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#define _SMS_H</span></div>
    108 <div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span> </div>
    109 <div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="preprocessor">#include &lt;types.h&gt;</span></div>
    110 <div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#include &lt;<a class="code" href="stdint_8h.html">stdint.h</a>&gt;</span></div>
    111 <div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#include &lt;<a class="code" href="version_8h.html">gbdk/version.h</a>&gt;</span></div>
    112 <div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#include &lt;<a class="code" href="sms_2hardware_8h.html">sms/hardware.h</a>&gt;</span></div>
    113 <div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span> </div>
    114 <div class="line"><a id="l00012" name="l00012"></a><span class="lineno"><a class="line" href="sms_8h.html#SEGA">   12</a></span><span class="preprocessor">#define SEGA</span></div>
    115 <div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span> </div>
    116 <div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="comment">// Here NINTENDO means Game Boy &amp; related clones</span></div>
    117 <div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="preprocessor">#ifdef NINTENDO</span></div>
    118 <div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#undef NINTENDO</span></div>
    119 <div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#endif</span></div>
    120 <div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span> </div>
    121 <div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifdef NINTENDO_NES</span></div>
    122 <div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#undef NINTENDO_NES</span></div>
    123 <div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#endif</span></div>
    124 <div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
    125 <div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#ifdef MSX</span></div>
    126 <div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#undef MSX</span></div>
    127 <div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#endif</span></div>
    128 <div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
    129 <div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#if defined(__TARGET_sms)</span></div>
    130 <div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#define MASTERSYSTEM</span></div>
    131 <div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#elif defined(__TARGET_gg)</span></div>
    132 <div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#define GAMEGEAR</span></div>
    133 <div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#endif</span></div>
    134 <div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
    135 <div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
    136 <div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">extern</span> <span class="keyword">const</span> <a class="code hl_typedef" href="asm_2types_8h.html#UBYTE">UBYTE</a> <a class="code hl_variable" href="sms_8h.html#_BIOS">_BIOS</a>;</div>
    137 <div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span> </div>
    138 <div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="keyword">extern</span> <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#_SYSTEM">_SYSTEM</a>;</div>
    139 <div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
    140 <div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="sms_8h.html#SYSTEM_60HZ">   38</a></span><span class="preprocessor">#define SYSTEM_60HZ     0x00</span></div>
    141 <div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="sms_8h.html#SYSTEM_50HZ">   39</a></span><span class="preprocessor">#define SYSTEM_50HZ     0x01</span></div>
    142 <div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span> </div>
    143 <div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="sms_8h.html#VBK_REG">   41</a></span><span class="preprocessor">#define VBK_REG VDP_ATTR_SHIFT</span></div>
    144 <div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span> </div>
    145 <div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="sms_8h.html#J_UP">   56</a></span><span class="preprocessor">#define J_UP         0b00000001</span></div>
    146 <div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="sms_8h.html#J_DOWN">   57</a></span><span class="preprocessor">#define J_DOWN       0b00000010</span></div>
    147 <div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="sms_8h.html#J_LEFT">   58</a></span><span class="preprocessor">#define J_LEFT       0b00000100</span></div>
    148 <div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="sms_8h.html#J_RIGHT">   59</a></span><span class="preprocessor">#define J_RIGHT      0b00001000</span></div>
    149 <div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="sms_8h.html#J_B">   60</a></span><span class="preprocessor">#define J_B          0b00010000</span></div>
    150 <div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="sms_8h.html#J_A">   61</a></span><span class="preprocessor">#define J_A          0b00100000</span></div>
    151 <div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="sms_8h.html#J_START">   62</a></span><span class="preprocessor">#define J_START      0b01000000</span></div>
    152 <div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="sms_8h.html#J_SELECT">   63</a></span><span class="preprocessor">#define J_SELECT     0b10000000</span></div>
    153 <div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span> </div>
    154 <div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="sms_8h.html#M_TEXT_OUT">   69</a></span><span class="preprocessor">#define M_TEXT_OUT   0x02U</span></div>
    155 <div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="sms_8h.html#M_TEXT_INOUT">   70</a></span><span class="preprocessor">#define M_TEXT_INOUT 0x03U</span></div>
    156 <div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="sms_8h.html#M_NO_SCROLL">   76</a></span><span class="preprocessor">#define M_NO_SCROLL  0x04U</span></div>
    157 <div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="sms_8h.html#M_NO_INTERP">   80</a></span><span class="preprocessor">#define M_NO_INTERP  0x08U</span></div>
    158 <div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span> </div>
    159 <div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="sms_8h.html#S_BANK">   84</a></span><span class="preprocessor">#define S_BANK       0x01U</span></div>
    160 <div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="sms_8h.html#S_FLIPX">   87</a></span><span class="preprocessor">#define S_FLIPX      0x02U</span></div>
    161 <div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="sms_8h.html#S_FLIPY">   90</a></span><span class="preprocessor">#define S_FLIPY      0x04U</span></div>
    162 <div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="sms_8h.html#S_PALETTE">   93</a></span><span class="preprocessor">#define S_PALETTE    0x08U</span></div>
    163 <div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="sms_8h.html#S_PRIORITY">   96</a></span><span class="preprocessor">#define S_PRIORITY   0x10U</span></div>
    164 <div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="sms_8h.html#S_PAL">  100</a></span><span class="preprocessor">#define S_PAL(n)     (((n) &amp; 0x01U) &lt;&lt; 3)</span></div>
    165 <div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span> </div>
    166 <div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span><span class="comment">// VDP helper macros</span></div>
    167 <div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="sms_8h.html#__WRITE_VDP_REG_UNSAFE">  103</a></span><span class="preprocessor">#define __WRITE_VDP_REG_UNSAFE(REG, v) shadow_##REG=(v),VDP_CMD=(shadow_##REG),VDP_CMD=REG</span></div>
    168 <div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="sms_8h.html#__WRITE_VDP_REG">  104</a></span><span class="preprocessor">#define __WRITE_VDP_REG(REG, v) shadow_##REG=(v);__asm__(&quot;di&quot;</span>);VDP_CMD=(shadow_##REG);VDP_CMD=REG;__asm__(&quot;ei&quot;)</div>
    169 <div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="sms_8h.html#__READ_VDP_REG">  105</a></span><span class="preprocessor">#define __READ_VDP_REG(REG) shadow_##REG</span></div>
    170 <div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span> </div>
    171 <div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="sms_8h.html#c">  107</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#WRITE_VDP_CMD">WRITE_VDP_CMD</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> cmd) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#b">b</a>, <a class="code hl_variable" href="sms_8h.html#c">c</a>, <a class="code hl_variable" href="sms_8h.html#d">d</a>, <a class="code hl_variable" href="sms_8h.html#e">e</a>, <a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    172 <div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="sms_8h.html#WRITE_VDP_DATA">  108</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#WRITE_VDP_DATA">WRITE_VDP_DATA</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> data) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#b">b</a>, <a class="code hl_variable" href="sms_8h.html#c">c</a>, <a class="code hl_variable" href="sms_8h.html#d">d</a>, <a class="code hl_variable" href="sms_8h.html#e">e</a>, <a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    173 <div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span> </div>
    174 <div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="sms_8h.html#mode">  116</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#mode">mode</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> m) <a class="code hl_define" href="asm_2types_8h.html#OLDCALL">OLDCALL</a>;</div>
    175 <div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span> </div>
    176 <div class="line"><a id="l00122" name="l00122"></a><span class="lineno"><a class="line" href="sms_8h.html#get_mode">  122</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="sms_8h.html#get_mode">get_mode</a>(<span class="keywordtype">void</span>) <a class="code hl_define" href="asm_2types_8h.html#OLDCALL">OLDCALL</a>;</div>
    177 <div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span> </div>
    178 <div class="line"><a id="l00127" name="l00127"></a><span class="lineno"><a class="line" href="sms_8h.html#get_system">  127</a></span><span class="keyword">inline</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="sms_8h.html#get_system">get_system</a>(<span class="keywordtype">void</span>) {</div>
    179 <div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span>    <span class="keywordflow">return</span> <a class="code hl_variable" href="sms_8h.html#_SYSTEM">_SYSTEM</a>;</div>
    180 <div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span>}</div>
    181 <div class="line"><a id="l00130" name="l00130"></a><span class="lineno">  130</span> </div>
    182 <div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span><span class="comment">/* Interrupt flags */</span></div>
    183 <div class="line"><a id="l00134" name="l00134"></a><span class="lineno"><a class="line" href="sms_8h.html#EMPTY_IFLAG">  134</a></span><span class="preprocessor">#define EMPTY_IFLAG  0x00U</span></div>
    184 <div class="line"><a id="l00140" name="l00140"></a><span class="lineno"><a class="line" href="sms_8h.html#VBL_IFLAG">  140</a></span><span class="preprocessor">#define VBL_IFLAG    0x01U</span></div>
    185 <div class="line"><a id="l00144" name="l00144"></a><span class="lineno"><a class="line" href="sms_8h.html#LCD_IFLAG">  144</a></span><span class="preprocessor">#define LCD_IFLAG    0x02U</span></div>
    186 <div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="sms_8h.html#TIM_IFLAG">  147</a></span><span class="preprocessor">#define TIM_IFLAG    0x04U</span></div>
    187 <div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="sms_8h.html#SIO_IFLAG">  150</a></span><span class="preprocessor">#define SIO_IFLAG    0x08U</span></div>
    188 <div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="sms_8h.html#JOY_IFLAG">  153</a></span><span class="preprocessor">#define JOY_IFLAG    0x10U</span></div>
    189 <div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span> </div>
    190 <div class="line"><a id="l00155" name="l00155"></a><span class="lineno"><a class="line" href="sms_8h.html#set_interrupts">  155</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_interrupts">set_interrupts</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> flags) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a>;</div>
    191 <div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span> </div>
    192 <div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span><span class="comment">/* Limits */</span></div>
    193 <div class="line"><a id="l00160" name="l00160"></a><span class="lineno"><a class="line" href="sms_8h.html#SCREENWIDTH">  160</a></span><span class="preprocessor">#define SCREENWIDTH  DEVICE_SCREEN_PX_WIDTH</span></div>
    194 <div class="line"><a id="l00163" name="l00163"></a><span class="lineno"><a class="line" href="sms_8h.html#SCREENHEIGHT">  163</a></span><span class="preprocessor">#define SCREENHEIGHT DEVICE_SCREEN_PX_HEIGHT</span></div>
    195 <div class="line"><a id="l00166" name="l00166"></a><span class="lineno"><a class="line" href="sms_8h.html#MINWNDPOSX">  166</a></span><span class="preprocessor">#define MINWNDPOSX   0x00U</span></div>
    196 <div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="sms_8h.html#MINWNDPOSY">  169</a></span><span class="preprocessor">#define MINWNDPOSY   0x00U</span></div>
    197 <div class="line"><a id="l00172" name="l00172"></a><span class="lineno"><a class="line" href="sms_8h.html#MAXWNDPOSX">  172</a></span><span class="preprocessor">#define MAXWNDPOSX   0x00U</span></div>
    198 <div class="line"><a id="l00175" name="l00175"></a><span class="lineno"><a class="line" href="sms_8h.html#MAXWNDPOSY">  175</a></span><span class="preprocessor">#define MAXWNDPOSY   0x00U</span></div>
    199 <div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span> </div>
    200 <div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span> </div>
    201 <div class="line"><a id="l00180" name="l00180"></a><span class="lineno"><a class="line" href="sms_8h.html#int_handler">  180</a></span><span class="keyword">typedef</span> void (*<a class="code hl_typedef" href="sms_8h.html#int_handler">int_handler</a>)(void) <a class="code hl_define" href="asm_2types_8h.html#NONBANKED">NONBANKED</a>;</div>
    202 <div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span> </div>
    203 <div class="line"><a id="l00185" name="l00185"></a><span class="lineno"><a class="line" href="sms_8h.html#remove_VBL">  185</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#remove_VBL">remove_VBL</a>(<a class="code hl_typedef" href="sms_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    204 <div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span> </div>
    205 <div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="sms_8h.html#remove_LCD">  190</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#remove_LCD">remove_LCD</a>(<a class="code hl_typedef" href="sms_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#b">b</a>, <a class="code hl_variable" href="sms_8h.html#c">c</a>, <a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    206 <div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span> </div>
    207 <div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="sms_8h.html#remove_TIM">  192</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#remove_TIM">remove_TIM</a>(<a class="code hl_typedef" href="sms_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a>;</div>
    208 <div class="line"><a id="l00193" name="l00193"></a><span class="lineno"><a class="line" href="sms_8h.html#remove_SIO">  193</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#remove_SIO">remove_SIO</a>(<a class="code hl_typedef" href="sms_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a>;</div>
    209 <div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="sms_8h.html#remove_JOY">  194</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#remove_JOY">remove_JOY</a>(<a class="code hl_typedef" href="sms_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a>;</div>
    210 <div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span> </div>
    211 <div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="sms_8h.html#add_VBL">  198</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#add_VBL">add_VBL</a>(<a class="code hl_typedef" href="sms_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#d">d</a>, <a class="code hl_variable" href="sms_8h.html#e">e</a>, <a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    212 <div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span> </div>
    213 <div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="sms_8h.html#add_LCD">  202</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#add_LCD">add_LCD</a>(<a class="code hl_typedef" href="sms_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#b">b</a>, <a class="code hl_variable" href="sms_8h.html#c">c</a>, <a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    214 <div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span> </div>
    215 <div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="sms_8h.html#add_TIM">  206</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#add_TIM">add_TIM</a>(<a class="code hl_typedef" href="sms_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a>;</div>
    216 <div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span> </div>
    217 <div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="sms_8h.html#add_SIO">  210</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#add_SIO">add_SIO</a>(<a class="code hl_typedef" href="sms_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a>;</div>
    218 <div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span> </div>
    219 <div class="line"><a id="l00214" name="l00214"></a><span class="lineno"><a class="line" href="sms_8h.html#add_JOY">  214</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#add_JOY">add_JOY</a>(<a class="code hl_typedef" href="sms_8h.html#int_handler">int_handler</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a>;</div>
    220 <div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span> </div>
    221 <div class="line"><a id="l00218" name="l00218"></a><span class="lineno"><a class="line" href="sms_8h.html#cancel_pending_interrupts">  218</a></span><span class="keyword">inline</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="sms_8h.html#cancel_pending_interrupts">cancel_pending_interrupts</a>(<span class="keywordtype">void</span>) {</div>
    222 <div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span>    <span class="keywordflow">return</span> VDP_STATUS;</div>
    223 <div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span>}</div>
    224 <div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span> </div>
    225 <div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="sms_8h.html#move_bkg">  222</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#move_bkg">move_bkg</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y) {</div>
    226 <div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>    <a class="code hl_define" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="code hl_define" href="msx_2hardware_8h.html#VDP_RSCX">VDP_RSCX</a>, -x);</div>
    227 <div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>    <a class="code hl_define" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="code hl_define" href="msx_2hardware_8h.html#VDP_RSCY">VDP_RSCY</a>, y);</div>
    228 <div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>}</div>
    229 <div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span> </div>
    230 <div class="line"><a id="l00227" name="l00227"></a><span class="lineno"><a class="line" href="sms_8h.html#scroll_bkg">  227</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#scroll_bkg">scroll_bkg</a>(<a class="code hl_typedef" href="stdint_8h.html#int8_t">int8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#int8_t">int8_t</a> y) {</div>
    231 <div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span>    <a class="code hl_define" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="code hl_define" href="msx_2hardware_8h.html#VDP_RSCX">VDP_RSCX</a>, <a class="code hl_define" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(<a class="code hl_define" href="msx_2hardware_8h.html#VDP_RSCX">VDP_RSCX</a>) - x);</div>
    232 <div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span>    <a class="code hl_typedef" href="stdint_8h.html#int16_t">int16_t</a> tmp = <a class="code hl_define" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(<a class="code hl_define" href="msx_2hardware_8h.html#VDP_RSCY">VDP_RSCY</a>) + y;</div>
    233 <div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>    <a class="code hl_define" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="code hl_define" href="msx_2hardware_8h.html#VDP_RSCY">VDP_RSCY</a>, (tmp &lt; 0) ? 224 + tmp : tmp % 224u);</div>
    234 <div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span>}</div>
    235 <div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span> </div>
    236 <div class="line"><a id="l00243" name="l00243"></a><span class="lineno"><a class="line" href="sms_8h.html#h">  243</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#vsync">vsync</a>(<span class="keywordtype">void</span>) <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#b">b</a>, <a class="code hl_variable" href="sms_8h.html#c">c</a>, <a class="code hl_variable" href="sms_8h.html#d">d</a>, <a class="code hl_variable" href="sms_8h.html#e">e</a>, <a class="code hl_variable" href="sms_8h.html#h">h</a>, <a class="code hl_variable" href="sms_8h.html#l">l</a>, <a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    237 <div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span> </div>
    238 <div class="line"><a id="l00247" name="l00247"></a><span class="lineno"><a class="line" href="sms_8h.html#wait_vbl_done">  247</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#wait_vbl_done">wait_vbl_done</a>(<span class="keywordtype">void</span>) <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#b">b</a>, <a class="code hl_variable" href="sms_8h.html#c">c</a>, <a class="code hl_variable" href="sms_8h.html#d">d</a>, <a class="code hl_variable" href="sms_8h.html#e">e</a>, <a class="code hl_variable" href="sms_8h.html#h">h</a>, <a class="code hl_variable" href="sms_8h.html#l">l</a>, <a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    239 <div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span> </div>
    240 <div class="line"><a id="l00253" name="l00253"></a><span class="lineno"><a class="line" href="sms_8h.html#display_off">  253</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#display_off">display_off</a>(<span class="keywordtype">void</span>) {</div>
    241 <div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span>    <a class="code hl_define" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="code hl_define" href="msx_2hardware_8h.html#VDP_R1">VDP_R1</a>, <a class="code hl_define" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(<a class="code hl_define" href="msx_2hardware_8h.html#VDP_R1">VDP_R1</a>) &amp;= (~<a class="code hl_define" href="msx_2hardware_8h.html#R1_DISP_ON">R1_DISP_ON</a>));</div>
    242 <div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span>}</div>
    243 <div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span> </div>
    244 <div class="line"><a id="l00260" name="l00260"></a><span class="lineno"><a class="line" href="sms_8h.html#DISPLAY_ON">  260</a></span><span class="preprocessor">#define DISPLAY_ON \</span></div>
    245 <div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span><span class="preprocessor">    __WRITE_VDP_REG(VDP_R1, __READ_VDP_REG(VDP_R1) |= R1_DISP_ON)</span></div>
    246 <div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span> </div>
    247 <div class="line"><a id="l00266" name="l00266"></a><span class="lineno"><a class="line" href="sms_8h.html#DISPLAY_OFF">  266</a></span><span class="preprocessor">#define DISPLAY_OFF \</span></div>
    248 <div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span><span class="preprocessor">    display_off();</span></div>
    249 <div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span> </div>
    250 <div class="line"><a id="l00271" name="l00271"></a><span class="lineno"><a class="line" href="sms_8h.html#refresh_OAM">  271</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#refresh_OAM">refresh_OAM</a>(<span class="keywordtype">void</span>);</div>
    251 <div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span> </div>
    252 <div class="line"><a id="l00276" name="l00276"></a><span class="lineno"><a class="line" href="sms_8h.html#HIDE_LEFT_COLUMN">  276</a></span><span class="preprocessor">#define HIDE_LEFT_COLUMN \</span></div>
    253 <div class="line"><a id="l00277" name="l00277"></a><span class="lineno">  277</span><span class="preprocessor">    __WRITE_VDP_REG(VDP_R0, __READ_VDP_REG(VDP_R0) |= R0_LCB)</span></div>
    254 <div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span> </div>
    255 <div class="line"><a id="l00282" name="l00282"></a><span class="lineno"><a class="line" href="sms_8h.html#SHOW_LEFT_COLUMN">  282</a></span><span class="preprocessor">#define SHOW_LEFT_COLUMN \</span></div>
    256 <div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span><span class="preprocessor">    __WRITE_VDP_REG(VDP_R0, __READ_VDP_REG(VDP_R0) &amp;= (~R0_LCB))</span></div>
    257 <div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span> </div>
    258 <div class="line"><a id="l00287" name="l00287"></a><span class="lineno"><a class="line" href="sms_8h.html#SET_BORDER_COLOR">  287</a></span><span class="preprocessor">#define SET_BORDER_COLOR(C) __WRITE_VDP_REG(VDP_R7, ((C) | 0xf0u))</span></div>
    259 <div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span> </div>
    260 <div class="line"><a id="l00292" name="l00292"></a><span class="lineno"><a class="line" href="sms_8h.html#SHOW_BKG">  292</a></span><span class="preprocessor">#define SHOW_BKG</span></div>
    261 <div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span> </div>
    262 <div class="line"><a id="l00297" name="l00297"></a><span class="lineno"><a class="line" href="sms_8h.html#HIDE_BKG">  297</a></span><span class="preprocessor">#define HIDE_BKG</span></div>
    263 <div class="line"><a id="l00298" name="l00298"></a><span class="lineno">  298</span> </div>
    264 <div class="line"><a id="l00302" name="l00302"></a><span class="lineno"><a class="line" href="sms_8h.html#SHOW_WIN">  302</a></span><span class="preprocessor">#define SHOW_WIN</span></div>
    265 <div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span> </div>
    266 <div class="line"><a id="l00307" name="l00307"></a><span class="lineno"><a class="line" href="sms_8h.html#HIDE_WIN">  307</a></span><span class="preprocessor">#define HIDE_WIN</span></div>
    267 <div class="line"><a id="l00308" name="l00308"></a><span class="lineno">  308</span> </div>
    268 <div class="line"><a id="l00311" name="l00311"></a><span class="lineno"><a class="line" href="sms_8h.html#SHOW_SPRITES">  311</a></span><span class="preprocessor">#define SHOW_SPRITES \</span></div>
    269 <div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span><span class="preprocessor">    (_sprites_OFF = 0)</span></div>
    270 <div class="line"><a id="l00313" name="l00313"></a><span class="lineno">  313</span> </div>
    271 <div class="line"><a id="l00316" name="l00316"></a><span class="lineno"><a class="line" href="sms_8h.html#HIDE_SPRITES">  316</a></span><span class="preprocessor">#define HIDE_SPRITES \</span></div>
    272 <div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span><span class="preprocessor">    (_sprites_OFF = 1)</span></div>
    273 <div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span> </div>
    274 <div class="line"><a id="l00321" name="l00321"></a><span class="lineno"><a class="line" href="sms_8h.html#SPRITES_8x16">  321</a></span><span class="preprocessor">#define SPRITES_8x16 \</span></div>
    275 <div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span><span class="preprocessor">    __WRITE_VDP_REG(VDP_R1, __READ_VDP_REG(VDP_R1) |= R1_SPR_8X16)</span></div>
    276 <div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span> </div>
    277 <div class="line"><a id="l00326" name="l00326"></a><span class="lineno"><a class="line" href="sms_8h.html#SPRITES_8x8">  326</a></span><span class="preprocessor">#define SPRITES_8x8 \</span></div>
    278 <div class="line"><a id="l00327" name="l00327"></a><span class="lineno">  327</span><span class="preprocessor">    __WRITE_VDP_REG(VDP_R1, __READ_VDP_REG(VDP_R1) &amp;= (~R1_SPR_8X16))</span></div>
    279 <div class="line"><a id="l00328" name="l00328"></a><span class="lineno">  328</span> </div>
    280 <div class="line"><a id="l00332" name="l00332"></a><span class="lineno"><a class="line" href="sms_8h.html#DEVICE_SUPPORTS_COLOR">  332</a></span><span class="preprocessor">#define DEVICE_SUPPORTS_COLOR (TRUE)</span></div>
    281 <div class="line"><a id="l00333" name="l00333"></a><span class="lineno">  333</span> </div>
    282 <div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span><span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> <a class="code hl_variable" href="sms_8h.html#sys_time">sys_time</a>;</div>
    283 <div class="line"><a id="l00341" name="l00341"></a><span class="lineno">  341</span> </div>
    284 <div class="line"><a id="l00347" name="l00347"></a><span class="lineno">  347</span><span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#_vbl_done">_vbl_done</a>;</div>
    285 <div class="line"><a id="l00348" name="l00348"></a><span class="lineno"><a class="line" href="sms_8h.html#VBL_DONE">  348</a></span><span class="preprocessor">#define VBL_DONE _vbl_done</span></div>
    286 <div class="line"><a id="l00349" name="l00349"></a><span class="lineno">  349</span> </div>
    287 <div class="line"><a id="l00350" name="l00350"></a><span class="lineno">  350</span> </div>
    288 <div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="sms_8h.html#get_r_reg">  356</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="sms_8h.html#get_r_reg">get_r_reg</a>(<span class="keywordtype">void</span>) <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#b">b</a>, <a class="code hl_variable" href="sms_8h.html#c">c</a>, <a class="code hl_variable" href="sms_8h.html#d">d</a>, <a class="code hl_variable" href="sms_8h.html#e">e</a>, <a class="code hl_variable" href="sms_8h.html#h">h</a>, <a class="code hl_variable" href="sms_8h.html#l">l</a>, <a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    289 <div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span> </div>
    290 <div class="line"><a id="l00358" name="l00358"></a><span class="lineno"><a class="line" href="sms_8h.html#DIV_REG">  358</a></span><span class="preprocessor">#define DIV_REG get_r_reg()</span></div>
    291 <div class="line"><a id="l00359" name="l00359"></a><span class="lineno">  359</span> </div>
    292 <div class="line"><a id="l00362" name="l00362"></a><span class="lineno"><a class="line" href="sms_8h.html#_current_bank">  362</a></span><span class="preprocessor">#define _current_bank MAP_FRAME1</span></div>
    293 <div class="line"><a id="l00363" name="l00363"></a><span class="lineno"><a class="line" href="sms_8h.html#CURRENT_BANK">  363</a></span><span class="preprocessor">#define CURRENT_BANK MAP_FRAME1</span></div>
    294 <div class="line"><a id="l00364" name="l00364"></a><span class="lineno">  364</span> </div>
    295 <div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span><span class="preprocessor">#ifndef BANK</span></div>
    296 <div class="line"><a id="l00375" name="l00375"></a><span class="lineno"><a class="line" href="sms_8h.html#BANK">  375</a></span><span class="preprocessor">#define BANK(VARNAME) ( (uint8_t) &amp; __bank_ ## VARNAME )</span></div>
    297 <div class="line"><a id="l00376" name="l00376"></a><span class="lineno">  376</span><span class="preprocessor">#endif</span></div>
    298 <div class="line"><a id="l00377" name="l00377"></a><span class="lineno">  377</span> </div>
    299 <div class="line"><a id="l00390" name="l00390"></a><span class="lineno"><a class="line" href="sms_8h.html#BANKREF">  390</a></span><span class="preprocessor">#define BANKREF(VARNAME) void __func_ ## VARNAME(void) __banked __naked { \</span></div>
    300 <div class="line"><a id="l00391" name="l00391"></a><span class="lineno">  391</span><span class="preprocessor">__asm \</span></div>
    301 <div class="line"><a id="l00392" name="l00392"></a><span class="lineno">  392</span><span class="preprocessor">    .local b___func_ ## VARNAME \</span></div>
    302 <div class="line"><a id="l00393" name="l00393"></a><span class="lineno">  393</span><span class="preprocessor">    ___bank_ ## VARNAME = b___func_ ## VARNAME \</span></div>
    303 <div class="line"><a id="l00394" name="l00394"></a><span class="lineno">  394</span><span class="preprocessor">    .globl ___bank_ ## VARNAME \</span></div>
    304 <div class="line"><a id="l00395" name="l00395"></a><span class="lineno">  395</span><span class="preprocessor">__endasm; \</span></div>
    305 <div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span><span class="preprocessor">}</span></div>
    306 <div class="line"><a id="l00397" name="l00397"></a><span class="lineno">  397</span> </div>
    307 <div class="line"><a id="l00407" name="l00407"></a><span class="lineno"><a class="line" href="sms_8h.html#BANKREF_EXTERN">  407</a></span><span class="preprocessor">#define BANKREF_EXTERN(VARNAME) extern const void __bank_ ## VARNAME;</span></div>
    308 <div class="line"><a id="l00408" name="l00408"></a><span class="lineno">  408</span> </div>
    309 <div class="line"><a id="l00409" name="l00409"></a><span class="lineno">  409</span> </div>
    310 <div class="line"><a id="l00414" name="l00414"></a><span class="lineno"><a class="line" href="sms_8h.html#SWITCH_ROM">  414</a></span><span class="preprocessor">#define SWITCH_ROM(b) MAP_FRAME1=(b)</span></div>
    311 <div class="line"><a id="l00415" name="l00415"></a><span class="lineno"><a class="line" href="sms_8h.html#SWITCH_ROM1">  415</a></span><span class="preprocessor">#define SWITCH_ROM1 SWITCH_ROM</span></div>
    312 <div class="line"><a id="l00416" name="l00416"></a><span class="lineno">  416</span> </div>
    313 <div class="line"><a id="l00421" name="l00421"></a><span class="lineno"><a class="line" href="sms_8h.html#SWITCH_ROM2">  421</a></span><span class="preprocessor">#define SWITCH_ROM2(b) MAP_FRAME2=(b)</span></div>
    314 <div class="line"><a id="l00422" name="l00422"></a><span class="lineno">  422</span> </div>
    315 <div class="line"><a id="l00427" name="l00427"></a><span class="lineno"><a class="line" href="sms_8h.html#SWITCH_RAM">  427</a></span><span class="preprocessor">#define SWITCH_RAM(b) RAM_CONTROL=((b)&amp;1)?RAM_CONTROL|RAMCTL_BANK:RAM_CONTROL&amp;(~RAMCTL_BANK)</span></div>
    316 <div class="line"><a id="l00428" name="l00428"></a><span class="lineno">  428</span> </div>
    317 <div class="line"><a id="l00432" name="l00432"></a><span class="lineno"><a class="line" href="sms_8h.html#ENABLE_RAM">  432</a></span><span class="preprocessor">#define ENABLE_RAM RAM_CONTROL|=RAMCTL_RAM</span></div>
    318 <div class="line"><a id="l00433" name="l00433"></a><span class="lineno">  433</span> </div>
    319 <div class="line"><a id="l00437" name="l00437"></a><span class="lineno"><a class="line" href="sms_8h.html#DISABLE_RAM">  437</a></span><span class="preprocessor">#define DISABLE_RAM RAM_CONTROL&amp;=(~RAMCTL_RAM)</span></div>
    320 <div class="line"><a id="l00438" name="l00438"></a><span class="lineno">  438</span> </div>
    321 <div class="line"><a id="l00439" name="l00439"></a><span class="lineno">  439</span> </div>
    322 <div class="line"><a id="l00444" name="l00444"></a><span class="lineno"><a class="line" href="sms_8h.html#delay">  444</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#delay">delay</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> <a class="code hl_variable" href="sms_8h.html#d">d</a>) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a>;</div>
    323 <div class="line"><a id="l00445" name="l00445"></a><span class="lineno">  445</span> </div>
    324 <div class="line"><a id="l00446" name="l00446"></a><span class="lineno">  446</span> </div>
    325 <div class="line"><a id="l00449" name="l00449"></a><span class="lineno"><a class="line" href="sms_8h.html#joypad">  449</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="sms_8h.html#joypad">joypad</a>(<span class="keywordtype">void</span>) <a class="code hl_define" href="asm_2types_8h.html#OLDCALL">OLDCALL</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#b">b</a>, <a class="code hl_variable" href="sms_8h.html#c">c</a>, <a class="code hl_variable" href="sms_8h.html#d">d</a>, <a class="code hl_variable" href="sms_8h.html#e">e</a>, <a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    326 <div class="line"><a id="l00450" name="l00450"></a><span class="lineno">  450</span> </div>
    327 <div class="line"><a id="l00453" name="l00453"></a><span class="lineno"><a class="line" href="sms_8h.html#waitpad">  453</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="sms_8h.html#waitpad">waitpad</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> mask) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#d">d</a>, <a class="code hl_variable" href="sms_8h.html#e">e</a>, <a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    328 <div class="line"><a id="l00454" name="l00454"></a><span class="lineno">  454</span> </div>
    329 <div class="line"><a id="l00460" name="l00460"></a><span class="lineno"><a class="line" href="sms_8h.html#waitpadup">  460</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#waitpadup">waitpadup</a>(<span class="keywordtype">void</span>) <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#d">d</a>, <a class="code hl_variable" href="sms_8h.html#e">e</a>, <a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    330 <div class="line"><a id="l00461" name="l00461"></a><span class="lineno">  461</span> </div>
    331 <div class="line"><a id="l00467" name="l00467"></a><span class="lineno">  467</span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
    332 <div class="line"><a id="l00468" name="l00468"></a><span class="lineno">  468</span>    <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> npads;</div>
    333 <div class="line"><a id="l00469" name="l00469"></a><span class="lineno">  469</span>    <span class="keyword">union </span>{</div>
    334 <div class="line"><a id="l00470" name="l00470"></a><span class="lineno">  470</span>        <span class="keyword">struct </span>{</div>
    335 <div class="line"><a id="l00471" name="l00471"></a><span class="lineno">  471</span>            <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> joy0, joy1, joy2, joy3;</div>
    336 <div class="line"><a id="l00472" name="l00472"></a><span class="lineno">  472</span>        };</div>
    337 <div class="line"><a id="l00473" name="l00473"></a><span class="lineno">  473</span>        <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> joypads[4];</div>
    338 <div class="line"><a id="l00474" name="l00474"></a><span class="lineno">  474</span>    };</div>
    339 <div class="line"><a id="l00475" name="l00475"></a><span class="lineno">  475</span>} <a class="code hl_struct" href="structjoypads__t.html">joypads_t</a>;</div>
    340 <div class="line"><a id="l00476" name="l00476"></a><span class="lineno">  476</span> </div>
    341 <div class="line"><a id="l00485" name="l00485"></a><span class="lineno"><a class="line" href="sms_8h.html#joypad_init">  485</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="sms_8h.html#joypad_init">joypad_init</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> npads, <a class="code hl_struct" href="structjoypads__t.html">joypads_t</a> * joypads) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a>;</div>
    342 <div class="line"><a id="l00486" name="l00486"></a><span class="lineno">  486</span> </div>
    343 <div class="line"><a id="l00493" name="l00493"></a><span class="lineno"><a class="line" href="sms_8h.html#joypad_ex">  493</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#joypad_ex">joypad_ex</a>(<a class="code hl_struct" href="structjoypads__t.html">joypads_t</a> * joypads) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    344 <div class="line"><a id="l00494" name="l00494"></a><span class="lineno">  494</span> </div>
    345 <div class="line"><a id="l00503" name="l00503"></a><span class="lineno"><a class="line" href="sms_8h.html#b">  503</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#enable_interrupts">enable_interrupts</a>(<span class="keywordtype">void</span>) <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(a, <a class="code hl_variable" href="sms_8h.html#b">b</a>, <a class="code hl_variable" href="sms_8h.html#c">c</a>, <a class="code hl_variable" href="sms_8h.html#d">d</a>, <a class="code hl_variable" href="sms_8h.html#e">e</a>, <a class="code hl_variable" href="sms_8h.html#h">h</a>, <a class="code hl_variable" href="sms_8h.html#l">l</a>, <a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>) {</div>
    346 <div class="line"><a id="l00504" name="l00504"></a><span class="lineno">  504</span>    __asm__(<span class="stringliteral">&quot;ei&quot;</span>);</div>
    347 <div class="line"><a id="l00505" name="l00505"></a><span class="lineno">  505</span>}</div>
    348 <div class="line"><a id="l00506" name="l00506"></a><span class="lineno">  506</span> </div>
    349 <div class="line"><a id="l00519" name="l00519"></a><span class="lineno"><a class="line" href="sms_8h.html#disable_interrupts">  519</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#disable_interrupts">disable_interrupts</a>(<span class="keywordtype">void</span>) <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(a, <a class="code hl_variable" href="sms_8h.html#b">b</a>, <a class="code hl_variable" href="sms_8h.html#c">c</a>, <a class="code hl_variable" href="sms_8h.html#d">d</a>, <a class="code hl_variable" href="sms_8h.html#e">e</a>, <a class="code hl_variable" href="sms_8h.html#h">h</a>, <a class="code hl_variable" href="sms_8h.html#l">l</a>, <a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>) {</div>
    350 <div class="line"><a id="l00520" name="l00520"></a><span class="lineno">  520</span>    __asm__(<span class="stringliteral">&quot;di&quot;</span>);</div>
    351 <div class="line"><a id="l00521" name="l00521"></a><span class="lineno">  521</span>}</div>
    352 <div class="line"><a id="l00522" name="l00522"></a><span class="lineno">  522</span> </div>
    353 <div class="line"><a id="l00523" name="l00523"></a><span class="lineno">  523</span> </div>
    354 <div class="line"><a id="l00524" name="l00524"></a><span class="lineno">  524</span><span class="preprocessor">#if defined(__TARGET_sms)</span></div>
    355 <div class="line"><a id="l00525" name="l00525"></a><span class="lineno">  525</span> </div>
    356 <div class="line"><a id="l00526" name="l00526"></a><span class="lineno">  526</span><span class="preprocessor">#define RGB(r,g,b)        ((r) | ((g) &lt;&lt; 2) | ((b) &lt;&lt; 4))</span></div>
    357 <div class="line"><a id="l00527" name="l00527"></a><span class="lineno">  527</span><span class="preprocessor">#define RGB8(r,g,b)       (((r) &gt;&gt; 6) | (((g) &gt;&gt; 6) &lt;&lt; 2) | (((b) &gt;&gt; 6) &lt;&lt; 4))</span></div>
    358 <div class="line"><a id="l00528" name="l00528"></a><span class="lineno">  528</span><span class="preprocessor">#define RGBHTML(RGB24bit) (((RGB24bit) &gt;&gt; 22) | ((((RGB24bit) &amp; 0xFFFF) &gt;&gt; 14) &lt;&lt; 2) | ((((RGB24bit) &amp; 0xFF) &gt;&gt; 6) &lt;&lt; 4))</span></div>
    359 <div class="line"><a id="l00529" name="l00529"></a><span class="lineno">  529</span> </div>
    360 <div class="line"><a id="l00532" name="l00532"></a><span class="lineno">  532</span><span class="preprocessor">#define RGB_RED        RGB( 3,  0,  0)</span></div>
    361 <div class="line"><a id="l00533" name="l00533"></a><span class="lineno">  533</span><span class="preprocessor">#define RGB_DARKRED    RGB( 2,  0,  0)</span></div>
    362 <div class="line"><a id="l00534" name="l00534"></a><span class="lineno">  534</span><span class="preprocessor">#define RGB_GREEN      RGB( 0,  3,  0)</span></div>
    363 <div class="line"><a id="l00535" name="l00535"></a><span class="lineno">  535</span><span class="preprocessor">#define RGB_DARKGREEN  RGB( 0,  2,  0)</span></div>
    364 <div class="line"><a id="l00536" name="l00536"></a><span class="lineno">  536</span><span class="preprocessor">#define RGB_BLUE       RGB( 0,  0,  3)</span></div>
    365 <div class="line"><a id="l00537" name="l00537"></a><span class="lineno">  537</span><span class="preprocessor">#define RGB_DARKBLUE   RGB( 0,  0,  2)</span></div>
    366 <div class="line"><a id="l00538" name="l00538"></a><span class="lineno">  538</span><span class="preprocessor">#define RGB_YELLOW     RGB( 3,  3,  0)</span></div>
    367 <div class="line"><a id="l00539" name="l00539"></a><span class="lineno">  539</span><span class="preprocessor">#define RGB_DARKYELLOW RGB( 2,  2,  0)</span></div>
    368 <div class="line"><a id="l00540" name="l00540"></a><span class="lineno">  540</span><span class="preprocessor">#define RGB_CYAN       RGB( 0,  3,  3)</span></div>
    369 <div class="line"><a id="l00541" name="l00541"></a><span class="lineno">  541</span><span class="preprocessor">#define RGB_AQUA       RGB( 3,  1,  2)</span></div>
    370 <div class="line"><a id="l00542" name="l00542"></a><span class="lineno">  542</span><span class="preprocessor">#define RGB_PINK       RGB( 3,  0,  3)</span></div>
    371 <div class="line"><a id="l00543" name="l00543"></a><span class="lineno">  543</span><span class="preprocessor">#define RGB_PURPLE     RGB( 2,  0,  2)</span></div>
    372 <div class="line"><a id="l00544" name="l00544"></a><span class="lineno">  544</span><span class="preprocessor">#define RGB_BLACK      RGB( 0,  0,  0)</span></div>
    373 <div class="line"><a id="l00545" name="l00545"></a><span class="lineno">  545</span><span class="preprocessor">#define RGB_DARKGRAY   RGB( 1,  1,  1)</span></div>
    374 <div class="line"><a id="l00546" name="l00546"></a><span class="lineno">  546</span><span class="preprocessor">#define RGB_LIGHTGRAY  RGB( 2,  2,  2)</span></div>
    375 <div class="line"><a id="l00547" name="l00547"></a><span class="lineno">  547</span><span class="preprocessor">#define RGB_WHITE      RGB( 3,  3,  3)</span></div>
    376 <div class="line"><a id="l00548" name="l00548"></a><span class="lineno">  548</span> </div>
    377 <div class="line"><a id="l00549" name="l00549"></a><span class="lineno">  549</span><span class="keyword">typedef</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_typedef" href="cgb_8h.html#palette_color_t">palette_color_t</a>;</div>
    378 <div class="line"><a id="l00550" name="l00550"></a><span class="lineno">  550</span> </div>
    379 <div class="line"><a id="l00551" name="l00551"></a><span class="lineno">  551</span><span class="preprocessor">#elif defined(__TARGET_gg)</span></div>
    380 <div class="line"><a id="l00552" name="l00552"></a><span class="lineno">  552</span> </div>
    381 <div class="line"><a id="l00553" name="l00553"></a><span class="lineno">  553</span><span class="preprocessor">#define RGB(r,g,b)        ((uint16_t)(r) | (uint16_t)((g) &lt;&lt; 4) | (uint16_t)((b) &lt;&lt; 8))</span></div>
    382 <div class="line"><a id="l00554" name="l00554"></a><span class="lineno">  554</span><span class="preprocessor">#define RGB8(r,g,b)       ((uint16_t)((r) &gt;&gt; 4) | ((uint16_t)((g) &gt;&gt; 4) &lt;&lt; 4) | ((uint16_t)((b) &gt;&gt; 4) &lt;&lt; 8))</span></div>
    383 <div class="line"><a id="l00555" name="l00555"></a><span class="lineno">  555</span><span class="preprocessor">#define RGBHTML(RGB24bit) (((RGB24bit) &gt;&gt; 20) | ((((RGB24bit) &amp; 0xFFFF) &gt;&gt; 12) &lt;&lt; 4)|((((RGB24bit) &amp; 0xFF) &gt;&gt; 4) &lt;&lt; 8))</span></div>
    384 <div class="line"><a id="l00556" name="l00556"></a><span class="lineno">  556</span> </div>
    385 <div class="line"><a id="l00559" name="l00559"></a><span class="lineno">  559</span><span class="preprocessor">#define RGB_RED        RGB(15,  0,  0)</span></div>
    386 <div class="line"><a id="l00560" name="l00560"></a><span class="lineno">  560</span><span class="preprocessor">#define RGB_DARKRED    RGB( 7,  0,  0)</span></div>
    387 <div class="line"><a id="l00561" name="l00561"></a><span class="lineno">  561</span><span class="preprocessor">#define RGB_GREEN      RGB( 0, 15,  0)</span></div>
    388 <div class="line"><a id="l00562" name="l00562"></a><span class="lineno">  562</span><span class="preprocessor">#define RGB_DARKGREEN  RGB( 0,  7,  0)</span></div>
    389 <div class="line"><a id="l00563" name="l00563"></a><span class="lineno">  563</span><span class="preprocessor">#define RGB_BLUE       RGB( 0,  0, 15)</span></div>
    390 <div class="line"><a id="l00564" name="l00564"></a><span class="lineno">  564</span><span class="preprocessor">#define RGB_DARKBLUE   RGB( 0,  0,  7)</span></div>
    391 <div class="line"><a id="l00565" name="l00565"></a><span class="lineno">  565</span><span class="preprocessor">#define RGB_YELLOW     RGB(15, 15,  0)</span></div>
    392 <div class="line"><a id="l00566" name="l00566"></a><span class="lineno">  566</span><span class="preprocessor">#define RGB_DARKYELLOW RGB( 7,  7,  0)</span></div>
    393 <div class="line"><a id="l00567" name="l00567"></a><span class="lineno">  567</span><span class="preprocessor">#define RGB_CYAN       RGB( 0, 15, 15)</span></div>
    394 <div class="line"><a id="l00568" name="l00568"></a><span class="lineno">  568</span><span class="preprocessor">#define RGB_AQUA       RGB(14,  2, 11)</span></div>
    395 <div class="line"><a id="l00569" name="l00569"></a><span class="lineno">  569</span><span class="preprocessor">#define RGB_PINK       RGB(15,  0, 15)</span></div>
    396 <div class="line"><a id="l00570" name="l00570"></a><span class="lineno">  570</span><span class="preprocessor">#define RGB_PURPLE     RGB(10,  0, 10)</span></div>
    397 <div class="line"><a id="l00571" name="l00571"></a><span class="lineno">  571</span><span class="preprocessor">#define RGB_BLACK      RGB( 0,  0,  0)</span></div>
    398 <div class="line"><a id="l00572" name="l00572"></a><span class="lineno">  572</span><span class="preprocessor">#define RGB_DARKGRAY   RGB( 5,  5,  5)</span></div>
    399 <div class="line"><a id="l00573" name="l00573"></a><span class="lineno">  573</span><span class="preprocessor">#define RGB_LIGHTGRAY  RGB(10, 10, 10)</span></div>
    400 <div class="line"><a id="l00574" name="l00574"></a><span class="lineno">  574</span><span class="preprocessor">#define RGB_WHITE      RGB(15, 15, 15)</span></div>
    401 <div class="line"><a id="l00575" name="l00575"></a><span class="lineno">  575</span> </div>
    402 <div class="line"><a id="l00576" name="l00576"></a><span class="lineno">  576</span><span class="preprocessor">#define RGB_LIGHTFLESH RGB(15, 10,  7)</span></div>
    403 <div class="line"><a id="l00577" name="l00577"></a><span class="lineno">  577</span><span class="preprocessor">#define RGB_BROWN      RGB( 5,  5,  0)</span></div>
    404 <div class="line"><a id="l00578" name="l00578"></a><span class="lineno">  578</span><span class="preprocessor">#define RGB_ORANGE     RGB(15, 10,  0)</span></div>
    405 <div class="line"><a id="l00579" name="l00579"></a><span class="lineno">  579</span><span class="preprocessor">#define RGB_TEAL       RGB( 7,  7,  0)</span></div>
    406 <div class="line"><a id="l00580" name="l00580"></a><span class="lineno">  580</span> </div>
    407 <div class="line"><a id="l00581" name="l00581"></a><span class="lineno">  581</span><span class="keyword">typedef</span> <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> <a class="code hl_typedef" href="cgb_8h.html#palette_color_t">palette_color_t</a>;</div>
    408 <div class="line"><a id="l00582" name="l00582"></a><span class="lineno">  582</span> </div>
    409 <div class="line"><a id="l00583" name="l00583"></a><span class="lineno">  583</span><span class="preprocessor">#else</span></div>
    410 <div class="line"><a id="l00584" name="l00584"></a><span class="lineno">  584</span><span class="preprocessor">#error Unrecognized port</span></div>
    411 <div class="line"><a id="l00585" name="l00585"></a><span class="lineno">  585</span><span class="preprocessor">#endif</span></div>
    412 <div class="line"><a id="l00586" name="l00586"></a><span class="lineno">  586</span> </div>
    413 <div class="line"><a id="l00587" name="l00587"></a><span class="lineno"><a class="line" href="sms_8h.html#set_default_palette">  587</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_default_palette">set_default_palette</a>(<span class="keywordtype">void</span>);</div>
    414 <div class="line"><a id="l00588" name="l00588"></a><span class="lineno"><a class="line" href="cgb_8h.html#cgb_compatibility">  588</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#cgb_compatibility">cgb_compatibility</a>(<span class="keywordtype">void</span>) {</div>
    415 <div class="line"><a id="l00589" name="l00589"></a><span class="lineno">  589</span>    <a class="code hl_function" href="sms_8h.html#set_default_palette">set_default_palette</a>();</div>
    416 <div class="line"><a id="l00590" name="l00590"></a><span class="lineno">  590</span>}</div>
    417 <div class="line"><a id="l00591" name="l00591"></a><span class="lineno">  591</span> </div>
    418 <div class="line"><a id="l00592" name="l00592"></a><span class="lineno"><a class="line" href="sms_8h.html#cpu_fast">  592</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#cpu_fast">cpu_fast</a>(<span class="keywordtype">void</span>) {}</div>
    419 <div class="line"><a id="l00593" name="l00593"></a><span class="lineno">  593</span> </div>
    420 <div class="line"><a id="l00594" name="l00594"></a><span class="lineno"><a class="line" href="sms_8h.html#set_palette_entry">  594</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_palette_entry">set_palette_entry</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> palette, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> entry, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> rgb_data) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    421 <div class="line"><a id="l00595" name="l00595"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_palette_entry">  595</a></span><span class="preprocessor">#define set_bkg_palette_entry set_palette_entry</span></div>
    422 <div class="line"><a id="l00596" name="l00596"></a><span class="lineno"><a class="line" href="sms_8h.html#set_sprite_palette_entry">  596</a></span><span class="preprocessor">#define set_sprite_palette_entry(palette,entry,rgb_data) set_palette_entry(1,entry,rgb_data)</span></div>
    423 <div class="line"><a id="l00597" name="l00597"></a><span class="lineno">  597</span> </div>
    424 <div class="line"><a id="l00598" name="l00598"></a><span class="lineno">  598</span> </div>
    425 <div class="line"><a id="l00623" name="l00623"></a><span class="lineno"><a class="line" href="sms_8h.html#set_palette">  623</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_palette">set_palette</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> first_palette, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb_palettes, <span class="keyword">const</span> <a class="code hl_typedef" href="cgb_8h.html#palette_color_t">palette_color_t</a> *rgb_data) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a>;</div>
    426 <div class="line"><a id="l00624" name="l00624"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_palette">  624</a></span><span class="preprocessor">#define set_bkg_palette set_palette</span></div>
    427 <div class="line"><a id="l00625" name="l00625"></a><span class="lineno"><a class="line" href="sms_8h.html#set_sprite_palette">  625</a></span><span class="preprocessor">#define set_sprite_palette(first_palette,nb_palettes,rgb_data) set_palette(1,1,rgb_data)</span></div>
    428 <div class="line"><a id="l00626" name="l00626"></a><span class="lineno">  626</span> </div>
    429 <div class="line"><a id="l00627" name="l00627"></a><span class="lineno"><a class="line" href="sms_8h.html#set_native_tile_data">  627</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_native_tile_data">set_native_tile_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    430 <div class="line"><a id="l00628" name="l00628"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_4bpp_data">  628</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_bkg_4bpp_data">set_bkg_4bpp_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    431 <div class="line"><a id="l00629" name="l00629"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_native_data">  629</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_bkg_native_data">set_bkg_native_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    432 <div class="line"><a id="l00630" name="l00630"></a><span class="lineno">  630</span> </div>
    433 <div class="line"><a id="l00631" name="l00631"></a><span class="lineno"><a class="line" href="sms_8h.html#set_sprite_4bpp_data">  631</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_sprite_4bpp_data">set_sprite_4bpp_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> start, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    434 <div class="line"><a id="l00632" name="l00632"></a><span class="lineno"><a class="line" href="sms_8h.html#set_sprite_native_data">  632</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_sprite_native_data">set_sprite_native_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> start, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    435 <div class="line"><a id="l00633" name="l00633"></a><span class="lineno">  633</span> </div>
    436 <div class="line"><a id="l00634" name="l00634"></a><span class="lineno"><a class="line" href="sms_8h.html#COMPAT_PALETTE">  634</a></span><span class="preprocessor">#define COMPAT_PALETTE(C0,C1,C2,C3) (((uint16_t)(C3) &lt;&lt; 12) | ((uint16_t)(C2) &lt;&lt; 8) | ((uint16_t)(C1) &lt;&lt; 4) | (uint16_t)(C0))</span></div>
    437 <div class="line"><a id="l00635" name="l00635"></a><span class="lineno">  635</span><span class="keyword">extern</span> <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> <a class="code hl_variable" href="sms_8h.html#_current_2bpp_palette">_current_2bpp_palette</a>;</div>
    438 <div class="line"><a id="l00636" name="l00636"></a><span class="lineno"><a class="line" href="sms_8h.html#set_2bpp_palette">  636</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_2bpp_palette">set_2bpp_palette</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> palette) {</div>
    439 <div class="line"><a id="l00637" name="l00637"></a><span class="lineno">  637</span>    <a class="code hl_variable" href="sms_8h.html#_current_2bpp_palette">_current_2bpp_palette</a> = palette;</div>
    440 <div class="line"><a id="l00638" name="l00638"></a><span class="lineno">  638</span>}</div>
    441 <div class="line"><a id="l00639" name="l00639"></a><span class="lineno"><a class="line" href="sms_8h.html#set_tile_2bpp_data">  639</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_tile_2bpp_data">set_tile_2bpp_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> palette) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    442 <div class="line"><a id="l00640" name="l00640"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_data">  640</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_bkg_data">set_bkg_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div>
    443 <div class="line"><a id="l00641" name="l00641"></a><span class="lineno">  641</span>    <a class="code hl_function" href="sms_8h.html#set_tile_2bpp_data">set_tile_2bpp_data</a>(start, ntiles, src, <a class="code hl_variable" href="sms_8h.html#_current_2bpp_palette">_current_2bpp_palette</a>);</div>
    444 <div class="line"><a id="l00642" name="l00642"></a><span class="lineno">  642</span>}</div>
    445 <div class="line"><a id="l00643" name="l00643"></a><span class="lineno"><a class="line" href="sms_8h.html#set_sprite_data">  643</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_sprite_data">set_sprite_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div>
    446 <div class="line"><a id="l00644" name="l00644"></a><span class="lineno">  644</span>    <a class="code hl_function" href="sms_8h.html#set_tile_2bpp_data">set_tile_2bpp_data</a>((<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a>)(start) + 0x100u, ntiles, src, <a class="code hl_variable" href="sms_8h.html#_current_2bpp_palette">_current_2bpp_palette</a>);</div>
    447 <div class="line"><a id="l00645" name="l00645"></a><span class="lineno">  645</span>}</div>
    448 <div class="line"><a id="l00646" name="l00646"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_2bpp_data">  646</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_bkg_2bpp_data">set_bkg_2bpp_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div>
    449 <div class="line"><a id="l00647" name="l00647"></a><span class="lineno">  647</span>    <a class="code hl_function" href="sms_8h.html#set_tile_2bpp_data">set_tile_2bpp_data</a>(start, ntiles, src, <a class="code hl_variable" href="sms_8h.html#_current_2bpp_palette">_current_2bpp_palette</a>);</div>
    450 <div class="line"><a id="l00648" name="l00648"></a><span class="lineno">  648</span>}</div>
    451 <div class="line"><a id="l00649" name="l00649"></a><span class="lineno"><a class="line" href="sms_8h.html#set_sprite_2bpp_data">  649</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_sprite_2bpp_data">set_sprite_2bpp_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div>
    452 <div class="line"><a id="l00650" name="l00650"></a><span class="lineno">  650</span>    <a class="code hl_function" href="sms_8h.html#set_tile_2bpp_data">set_tile_2bpp_data</a>((<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a>)(start) + 0x100u, ntiles, src, <a class="code hl_variable" href="sms_8h.html#_current_2bpp_palette">_current_2bpp_palette</a>);</div>
    453 <div class="line"><a id="l00651" name="l00651"></a><span class="lineno">  651</span>}</div>
    454 <div class="line"><a id="l00652" name="l00652"></a><span class="lineno">  652</span> </div>
    455 <div class="line"><a id="l00653" name="l00653"></a><span class="lineno">  653</span><span class="keyword">extern</span> <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> <a class="code hl_variable" href="sms_8h.html#_current_1bpp_colors">_current_1bpp_colors</a>;</div>
    456 <div class="line"><a id="l00654" name="l00654"></a><span class="lineno"><a class="line" href="sms_8h.html#set_1bpp_colors">  654</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_1bpp_colors">set_1bpp_colors</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> fgcolor, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> bgcolor) {</div>
    457 <div class="line"><a id="l00655" name="l00655"></a><span class="lineno">  655</span>    <a class="code hl_variable" href="sms_8h.html#_current_1bpp_colors">_current_1bpp_colors</a> = ((<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a>)bgcolor &lt;&lt; 8) | fgcolor;</div>
    458 <div class="line"><a id="l00656" name="l00656"></a><span class="lineno">  656</span>}</div>
    459 <div class="line"><a id="l00657" name="l00657"></a><span class="lineno"><a class="line" href="sms_8h.html#set_tile_1bpp_data">  657</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_tile_1bpp_data">set_tile_1bpp_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> colors) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    460 <div class="line"><a id="l00658" name="l00658"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_1bpp_data">  658</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_bkg_1bpp_data">set_bkg_1bpp_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div>
    461 <div class="line"><a id="l00659" name="l00659"></a><span class="lineno">  659</span>    <a class="code hl_function" href="sms_8h.html#set_tile_1bpp_data">set_tile_1bpp_data</a>(start, ntiles, src, <a class="code hl_variable" href="sms_8h.html#_current_1bpp_colors">_current_1bpp_colors</a>);</div>
    462 <div class="line"><a id="l00660" name="l00660"></a><span class="lineno">  660</span>}</div>
    463 <div class="line"><a id="l00661" name="l00661"></a><span class="lineno"><a class="line" href="msx_8h.html#set_sprite_1bpp_data">  661</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_sprite_1bpp_data">set_sprite_1bpp_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div>
    464 <div class="line"><a id="l00662" name="l00662"></a><span class="lineno">  662</span>    <a class="code hl_function" href="sms_8h.html#set_tile_1bpp_data">set_tile_1bpp_data</a>((<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a>)(start) + 0x100u, ntiles, src, <a class="code hl_variable" href="sms_8h.html#_current_1bpp_colors">_current_1bpp_colors</a>);</div>
    465 <div class="line"><a id="l00663" name="l00663"></a><span class="lineno">  663</span>}</div>
    466 <div class="line"><a id="l00664" name="l00664"></a><span class="lineno">  664</span> </div>
    467 <div class="line"><a id="l00665" name="l00665"></a><span class="lineno">  665</span> </div>
    468 <div class="line"><a id="l00674" name="l00674"></a><span class="lineno"><a class="line" href="sms_8h.html#set_data">  674</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_data">set_data</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> dst, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> size) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    469 <div class="line"><a id="l00675" name="l00675"></a><span class="lineno"><a class="line" href="sms_8h.html#vmemcpy">  675</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#vmemcpy">vmemcpy</a>(<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> dst, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> size) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    470 <div class="line"><a id="l00676" name="l00676"></a><span class="lineno">  676</span> </div>
    471 <div class="line"><a id="l00677" name="l00677"></a><span class="lineno"><a class="line" href="sms_8h.html#set_tile_map">  677</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_tile_map">set_tile_map</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a>;</div>
    472 <div class="line"><a id="l00678" name="l00678"></a><span class="lineno"><a class="line" href="sms_8h.html#set_tile_map_compat">  678</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_tile_map_compat">set_tile_map_compat</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a>;</div>
    473 <div class="line"><a id="l00679" name="l00679"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_tiles">  679</a></span><span class="preprocessor">#define set_bkg_tiles set_tile_map_compat</span></div>
    474 <div class="line"><a id="l00680" name="l00680"></a><span class="lineno"><a class="line" href="sms_8h.html#set_win_tiles">  680</a></span><span class="preprocessor">#define set_win_tiles set_tile_map_compat</span></div>
    475 <div class="line"><a id="l00681" name="l00681"></a><span class="lineno">  681</span> </div>
    476 <div class="line"><a id="l00682" name="l00682"></a><span class="lineno">  682</span><span class="keyword">extern</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#_map_tile_offset">_map_tile_offset</a>;</div>
    477 <div class="line"><a id="l00683" name="l00683"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_based_tiles">  683</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_bkg_based_tiles">set_bkg_based_tiles</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile) {</div>
    478 <div class="line"><a id="l00684" name="l00684"></a><span class="lineno">  684</span>    <a class="code hl_variable" href="sms_8h.html#_map_tile_offset">_map_tile_offset</a> = base_tile;</div>
    479 <div class="line"><a id="l00685" name="l00685"></a><span class="lineno">  685</span>    <a class="code hl_function" href="sms_8h.html#set_tile_map_compat">set_tile_map_compat</a>(x, y, w, <a class="code hl_variable" href="sms_8h.html#h">h</a>, tiles);</div>
    480 <div class="line"><a id="l00686" name="l00686"></a><span class="lineno">  686</span>    <a class="code hl_variable" href="sms_8h.html#_map_tile_offset">_map_tile_offset</a> = 0;</div>
    481 <div class="line"><a id="l00687" name="l00687"></a><span class="lineno">  687</span>}</div>
    482 <div class="line"><a id="l00688" name="l00688"></a><span class="lineno"><a class="line" href="sms_8h.html#set_win_based_tiles">  688</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_win_based_tiles">set_win_based_tiles</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile) {</div>
    483 <div class="line"><a id="l00689" name="l00689"></a><span class="lineno">  689</span>    <a class="code hl_variable" href="sms_8h.html#_map_tile_offset">_map_tile_offset</a> = base_tile;</div>
    484 <div class="line"><a id="l00690" name="l00690"></a><span class="lineno">  690</span>    <a class="code hl_function" href="sms_8h.html#set_tile_map_compat">set_tile_map_compat</a>(x, y, w, <a class="code hl_variable" href="sms_8h.html#h">h</a>, tiles);</div>
    485 <div class="line"><a id="l00691" name="l00691"></a><span class="lineno">  691</span>    <a class="code hl_variable" href="sms_8h.html#_map_tile_offset">_map_tile_offset</a> = 0;</div>
    486 <div class="line"><a id="l00692" name="l00692"></a><span class="lineno">  692</span>}</div>
    487 <div class="line"><a id="l00693" name="l00693"></a><span class="lineno">  693</span> </div>
    488 <div class="line"><a id="l00694" name="l00694"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_attributes">  694</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_bkg_attributes">set_bkg_attributes</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles)</div>
    489 <div class="line"><a id="l00695" name="l00695"></a><span class="lineno">  695</span>{</div>
    490 <div class="line"><a id="l00696" name="l00696"></a><span class="lineno">  696</span>    <a class="code hl_define" href="sms_8h.html#VBK_REG">VBK_REG</a> = <a class="code hl_define" href="gb_2hardware_8h.html#VBK_ATTRIBUTES">VBK_ATTRIBUTES</a>;</div>
    491 <div class="line"><a id="l00697" name="l00697"></a><span class="lineno">  697</span>    <a class="code hl_define" href="sms_8h.html#set_bkg_tiles">set_bkg_tiles</a>(x, y, w, <a class="code hl_variable" href="sms_8h.html#h">h</a>, tiles);</div>
    492 <div class="line"><a id="l00698" name="l00698"></a><span class="lineno">  698</span>    <a class="code hl_define" href="sms_8h.html#VBK_REG">VBK_REG</a> = <a class="code hl_define" href="gb_2hardware_8h.html#VBK_TILES">VBK_TILES</a>;</div>
    493 <div class="line"><a id="l00699" name="l00699"></a><span class="lineno">  699</span>}</div>
    494 <div class="line"><a id="l00700" name="l00700"></a><span class="lineno">  700</span> </div>
    495 <div class="line"><a id="l00701" name="l00701"></a><span class="lineno"><a class="line" href="sms_8h.html#set_tile_submap">  701</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_tile_submap">set_tile_submap</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *map, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> map_w) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a>;</div>
    496 <div class="line"><a id="l00702" name="l00702"></a><span class="lineno"><a class="line" href="sms_8h.html#set_tile_submap_compat">  702</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_tile_submap_compat">set_tile_submap_compat</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *map, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> map_w) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a>;</div>
    497 <div class="line"><a id="l00703" name="l00703"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_submap">  703</a></span><span class="preprocessor">#define set_bkg_submap set_tile_submap_compat</span></div>
    498 <div class="line"><a id="l00704" name="l00704"></a><span class="lineno"><a class="line" href="sms_8h.html#set_win_submap">  704</a></span><span class="preprocessor">#define set_win_submap set_tile_submap_compat</span></div>
    499 <div class="line"><a id="l00705" name="l00705"></a><span class="lineno">  705</span> </div>
    500 <div class="line"><a id="l00706" name="l00706"></a><span class="lineno">  706</span><span class="keyword">extern</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#_submap_tile_offset">_submap_tile_offset</a>;</div>
    501 <div class="line"><a id="l00707" name="l00707"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_based_submap">  707</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_bkg_based_submap">set_bkg_based_submap</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *map, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> map_w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile) {</div>
    502 <div class="line"><a id="l00708" name="l00708"></a><span class="lineno">  708</span>    <a class="code hl_variable" href="sms_8h.html#_submap_tile_offset">_submap_tile_offset</a> = base_tile;</div>
    503 <div class="line"><a id="l00709" name="l00709"></a><span class="lineno">  709</span>    <a class="code hl_function" href="sms_8h.html#set_tile_submap_compat">set_tile_submap_compat</a>(x, y, w, <a class="code hl_variable" href="sms_8h.html#h">h</a>, map, map_w);</div>
    504 <div class="line"><a id="l00710" name="l00710"></a><span class="lineno">  710</span>    <a class="code hl_variable" href="sms_8h.html#_submap_tile_offset">_submap_tile_offset</a> = 0;</div>
    505 <div class="line"><a id="l00711" name="l00711"></a><span class="lineno">  711</span>}</div>
    506 <div class="line"><a id="l00712" name="l00712"></a><span class="lineno"><a class="line" href="sms_8h.html#set_win_based_submap">  712</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_win_based_submap">set_win_based_submap</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *map, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> map_w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile) {</div>
    507 <div class="line"><a id="l00713" name="l00713"></a><span class="lineno">  713</span>    <a class="code hl_variable" href="sms_8h.html#_submap_tile_offset">_submap_tile_offset</a> = base_tile;</div>
    508 <div class="line"><a id="l00714" name="l00714"></a><span class="lineno">  714</span>    <a class="code hl_function" href="sms_8h.html#set_tile_submap_compat">set_tile_submap_compat</a>(x, y, w, <a class="code hl_variable" href="sms_8h.html#h">h</a>, map, map_w);</div>
    509 <div class="line"><a id="l00715" name="l00715"></a><span class="lineno">  715</span>    <a class="code hl_variable" href="sms_8h.html#_submap_tile_offset">_submap_tile_offset</a> = 0;</div>
    510 <div class="line"><a id="l00716" name="l00716"></a><span class="lineno">  716</span>}</div>
    511 <div class="line"><a id="l00717" name="l00717"></a><span class="lineno">  717</span> </div>
    512 <div class="line"><a id="l00718" name="l00718"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_submap_attributes">  718</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_bkg_submap_attributes">set_bkg_submap_attributes</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> *map, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> map_w) {</div>
    513 <div class="line"><a id="l00719" name="l00719"></a><span class="lineno">  719</span>    <a class="code hl_define" href="sms_8h.html#VBK_REG">VBK_REG</a> = <a class="code hl_define" href="gb_2hardware_8h.html#VBK_ATTRIBUTES">VBK_ATTRIBUTES</a>;</div>
    514 <div class="line"><a id="l00720" name="l00720"></a><span class="lineno">  720</span>    <a class="code hl_function" href="sms_8h.html#set_tile_submap_compat">set_tile_submap_compat</a>(x, y, w, <a class="code hl_variable" href="sms_8h.html#h">h</a>, map, map_w);</div>
    515 <div class="line"><a id="l00721" name="l00721"></a><span class="lineno">  721</span>    <a class="code hl_define" href="sms_8h.html#VBK_REG">VBK_REG</a> = <a class="code hl_define" href="gb_2hardware_8h.html#VBK_TILES">VBK_TILES</a>;</div>
    516 <div class="line"><a id="l00722" name="l00722"></a><span class="lineno">  722</span>}</div>
    517 <div class="line"><a id="l00723" name="l00723"></a><span class="lineno">  723</span> </div>
    518 <div class="line"><a id="l00724" name="l00724"></a><span class="lineno"><a class="line" href="sms_8h.html#fill_rect">  724</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#fill_rect">fill_rect</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> tile) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a>;</div>
    519 <div class="line"><a id="l00725" name="l00725"></a><span class="lineno"><a class="line" href="sms_8h.html#fill_rect_compat">  725</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#fill_rect_compat">fill_rect_compat</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#h">h</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> tile) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a>;</div>
    520 <div class="line"><a id="l00726" name="l00726"></a><span class="lineno"><a class="line" href="sms_8h.html#fill_bkg_rect">  726</a></span><span class="preprocessor">#define fill_bkg_rect fill_rect_compat</span></div>
    521 <div class="line"><a id="l00727" name="l00727"></a><span class="lineno"><a class="line" href="sms_8h.html#fill_win_rect">  727</a></span><span class="preprocessor">#define fill_win_rect fill_rect_compat</span></div>
    522 <div class="line"><a id="l00728" name="l00728"></a><span class="lineno">  728</span> </div>
    523 <div class="line"><a id="l00731" name="l00731"></a><span class="lineno">  731</span><span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#shadow_OAM">shadow_OAM</a>[];</div>
    524 <div class="line"><a id="l00732" name="l00732"></a><span class="lineno">  732</span> </div>
    525 <div class="line"><a id="l00735" name="l00735"></a><span class="lineno">  735</span><span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#_shadow_OAM_base">_shadow_OAM_base</a>;</div>
    526 <div class="line"><a id="l00736" name="l00736"></a><span class="lineno">  736</span> </div>
    527 <div class="line"><a id="l00761" name="l00761"></a><span class="lineno">  761</span><span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#_shadow_OAM_OFF">_shadow_OAM_OFF</a>;</div>
    528 <div class="line"><a id="l00762" name="l00762"></a><span class="lineno">  762</span> </div>
    529 <div class="line"><a id="l00763" name="l00763"></a><span class="lineno">  763</span><span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_variable" href="sms_8h.html#_sprites_OFF">_sprites_OFF</a>;</div>
    530 <div class="line"><a id="l00764" name="l00764"></a><span class="lineno">  764</span> </div>
    531 <div class="line"><a id="l00767" name="l00767"></a><span class="lineno"><a class="line" href="sms_8h.html#DISABLE_VBL_TRANSFER">  767</a></span><span class="preprocessor">#define DISABLE_VBL_TRANSFER \</span></div>
    532 <div class="line"><a id="l00768" name="l00768"></a><span class="lineno">  768</span><span class="preprocessor">    _shadow_OAM_base = 0</span></div>
    533 <div class="line"><a id="l00769" name="l00769"></a><span class="lineno">  769</span> </div>
    534 <div class="line"><a id="l00772" name="l00772"></a><span class="lineno"><a class="line" href="sms_8h.html#ENABLE_VBL_TRANSFER">  772</a></span><span class="preprocessor">#define ENABLE_VBL_TRANSFER \</span></div>
    535 <div class="line"><a id="l00773" name="l00773"></a><span class="lineno">  773</span><span class="preprocessor">    _shadow_OAM_base = (uint8_t)((uint16_t)&amp;shadow_OAM &gt;&gt; 8)</span></div>
    536 <div class="line"><a id="l00774" name="l00774"></a><span class="lineno">  774</span> </div>
    537 <div class="line"><a id="l00777" name="l00777"></a><span class="lineno"><a class="line" href="sms_8h.html#MAX_HARDWARE_SPRITES">  777</a></span><span class="preprocessor">#define MAX_HARDWARE_SPRITES 64</span></div>
    538 <div class="line"><a id="l00778" name="l00778"></a><span class="lineno">  778</span> </div>
    539 <div class="line"><a id="l00781" name="l00781"></a><span class="lineno"><a class="line" href="sms_8h.html#HARDWARE_SPRITE_CAN_FLIP_X">  781</a></span><span class="preprocessor">#define HARDWARE_SPRITE_CAN_FLIP_X 0</span></div>
    540 <div class="line"><a id="l00782" name="l00782"></a><span class="lineno">  782</span> </div>
    541 <div class="line"><a id="l00785" name="l00785"></a><span class="lineno"><a class="line" href="sms_8h.html#HARDWARE_SPRITE_CAN_FLIP_Y">  785</a></span><span class="preprocessor">#define HARDWARE_SPRITE_CAN_FLIP_Y 0</span></div>
    542 <div class="line"><a id="l00786" name="l00786"></a><span class="lineno">  786</span> </div>
    543 <div class="line"><a id="l00789" name="l00789"></a><span class="lineno"><a class="line" href="sms_8h.html#SET_SHADOW_OAM_ADDRESS">  789</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#SET_SHADOW_OAM_ADDRESS">SET_SHADOW_OAM_ADDRESS</a>(<span class="keywordtype">void</span> * address) {</div>
    544 <div class="line"><a id="l00790" name="l00790"></a><span class="lineno">  790</span>    <a class="code hl_variable" href="sms_8h.html#_shadow_OAM_base">_shadow_OAM_base</a> = (<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a>)((<a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a>)address &gt;&gt; 8);</div>
    545 <div class="line"><a id="l00791" name="l00791"></a><span class="lineno">  791</span>}</div>
    546 <div class="line"><a id="l00792" name="l00792"></a><span class="lineno">  792</span> </div>
    547 <div class="line"><a id="l00809" name="l00809"></a><span class="lineno"><a class="line" href="sms_8h.html#set_sprite_tile">  809</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_sprite_tile">set_sprite_tile</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> tile) {</div>
    548 <div class="line"><a id="l00810" name="l00810"></a><span class="lineno">  810</span>    <a class="code hl_variable" href="sms_8h.html#shadow_OAM">shadow_OAM</a>[0x41+(nb &lt;&lt; 1)] = tile;</div>
    549 <div class="line"><a id="l00811" name="l00811"></a><span class="lineno">  811</span>}</div>
    550 <div class="line"><a id="l00812" name="l00812"></a><span class="lineno">  812</span> </div>
    551 <div class="line"><a id="l00813" name="l00813"></a><span class="lineno">  813</span> </div>
    552 <div class="line"><a id="l00820" name="l00820"></a><span class="lineno"><a class="line" href="sms_8h.html#get_sprite_tile">  820</a></span><span class="keyword">inline</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="sms_8h.html#get_sprite_tile">get_sprite_tile</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb) {</div>
    553 <div class="line"><a id="l00821" name="l00821"></a><span class="lineno">  821</span>    <span class="keywordflow">return</span> <a class="code hl_variable" href="sms_8h.html#shadow_OAM">shadow_OAM</a>[0x41+(nb &lt;&lt; 1)];</div>
    554 <div class="line"><a id="l00822" name="l00822"></a><span class="lineno">  822</span>}</div>
    555 <div class="line"><a id="l00823" name="l00823"></a><span class="lineno">  823</span> </div>
    556 <div class="line"><a id="l00829" name="l00829"></a><span class="lineno"><a class="line" href="sms_8h.html#set_sprite_prop">  829</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_sprite_prop">set_sprite_prop</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> prop) {</div>
    557 <div class="line"><a id="l00830" name="l00830"></a><span class="lineno">  830</span>    nb; prop;</div>
    558 <div class="line"><a id="l00831" name="l00831"></a><span class="lineno">  831</span>}</div>
    559 <div class="line"><a id="l00832" name="l00832"></a><span class="lineno">  832</span> </div>
    560 <div class="line"><a id="l00833" name="l00833"></a><span class="lineno"><a class="line" href="sms_8h.html#get_sprite_prop">  833</a></span><span class="keyword">inline</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="code hl_function" href="sms_8h.html#get_sprite_prop">get_sprite_prop</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb) {</div>
    561 <div class="line"><a id="l00834" name="l00834"></a><span class="lineno">  834</span>    nb;</div>
    562 <div class="line"><a id="l00835" name="l00835"></a><span class="lineno">  835</span>    <span class="keywordflow">return</span> 0;</div>
    563 <div class="line"><a id="l00836" name="l00836"></a><span class="lineno">  836</span>}</div>
    564 <div class="line"><a id="l00837" name="l00837"></a><span class="lineno">  837</span> </div>
    565 <div class="line"><a id="l00850" name="l00850"></a><span class="lineno"><a class="line" href="sms_8h.html#move_sprite">  850</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#move_sprite">move_sprite</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y) {</div>
    566 <div class="line"><a id="l00851" name="l00851"></a><span class="lineno">  851</span>    <a class="code hl_variable" href="sms_8h.html#shadow_OAM">shadow_OAM</a>[nb] = (y &lt; <a class="code hl_define" href="msx_2hardware_8h.html#VDP_SAT_TERM">VDP_SAT_TERM</a>) ? y : 0xC0;</div>
    567 <div class="line"><a id="l00852" name="l00852"></a><span class="lineno">  852</span>    <a class="code hl_variable" href="sms_8h.html#shadow_OAM">shadow_OAM</a>[0x40+(nb &lt;&lt; 1)] = x;</div>
    568 <div class="line"><a id="l00853" name="l00853"></a><span class="lineno">  853</span>}</div>
    569 <div class="line"><a id="l00854" name="l00854"></a><span class="lineno">  854</span> </div>
    570 <div class="line"><a id="l00855" name="l00855"></a><span class="lineno">  855</span> </div>
    571 <div class="line"><a id="l00866" name="l00866"></a><span class="lineno"><a class="line" href="sms_8h.html#scroll_sprite">  866</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#scroll_sprite">scroll_sprite</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb, <a class="code hl_typedef" href="stdint_8h.html#int8_t">int8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#int8_t">int8_t</a> y) {</div>
    572 <div class="line"><a id="l00867" name="l00867"></a><span class="lineno">  867</span>    <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> new_y = <a class="code hl_variable" href="sms_8h.html#shadow_OAM">shadow_OAM</a>[nb] + y;</div>
    573 <div class="line"><a id="l00868" name="l00868"></a><span class="lineno">  868</span>    <a class="code hl_variable" href="sms_8h.html#shadow_OAM">shadow_OAM</a>[nb] = (new_y &lt; <a class="code hl_define" href="msx_2hardware_8h.html#VDP_SAT_TERM">VDP_SAT_TERM</a>) ? new_y : 0xC0;</div>
    574 <div class="line"><a id="l00869" name="l00869"></a><span class="lineno">  869</span>    <a class="code hl_variable" href="sms_8h.html#shadow_OAM">shadow_OAM</a>[0x40+(nb &lt;&lt; 1)] += x;</div>
    575 <div class="line"><a id="l00870" name="l00870"></a><span class="lineno">  870</span>}</div>
    576 <div class="line"><a id="l00871" name="l00871"></a><span class="lineno">  871</span> </div>
    577 <div class="line"><a id="l00872" name="l00872"></a><span class="lineno">  872</span> </div>
    578 <div class="line"><a id="l00877" name="l00877"></a><span class="lineno"><a class="line" href="sms_8h.html#hide_sprite">  877</a></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#hide_sprite">hide_sprite</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> nb) {</div>
    579 <div class="line"><a id="l00878" name="l00878"></a><span class="lineno">  878</span>    <a class="code hl_variable" href="sms_8h.html#shadow_OAM">shadow_OAM</a>[nb] = 0xC0;</div>
    580 <div class="line"><a id="l00879" name="l00879"></a><span class="lineno">  879</span>}</div>
    581 <div class="line"><a id="l00880" name="l00880"></a><span class="lineno">  880</span> </div>
    582 <div class="line"><a id="l00887" name="l00887"></a><span class="lineno"><a class="line" href="sms_8h.html#set_vram_byte">  887</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sms_8h.html#set_vram_byte">set_vram_byte</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> * addr, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> v) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    583 <div class="line"><a id="l00888" name="l00888"></a><span class="lineno">  888</span> </div>
    584 <div class="line"><a id="l00896" name="l00896"></a><span class="lineno"><a class="line" href="sms_8h.html#set_attributed_tile_xy">  896</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> * <a class="code hl_function" href="sms_8h.html#set_attributed_tile_xy">set_attributed_tile_xy</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint16_t">uint16_t</a> t) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    585 <div class="line"><a id="l00897" name="l00897"></a><span class="lineno">  897</span> </div>
    586 <div class="line"><a id="l00905" name="l00905"></a><span class="lineno"><a class="line" href="sms_8h.html#set_tile_xy">  905</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> * <a class="code hl_function" href="sms_8h.html#set_tile_xy">set_tile_xy</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> t) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    587 <div class="line"><a id="l00906" name="l00906"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_tile_xy">  906</a></span><span class="preprocessor">#define set_bkg_tile_xy set_tile_xy</span></div>
    588 <div class="line"><a id="l00907" name="l00907"></a><span class="lineno"><a class="line" href="sms_8h.html#set_win_tile_xy">  907</a></span><span class="preprocessor">#define set_win_tile_xy set_tile_xy</span></div>
    589 <div class="line"><a id="l00908" name="l00908"></a><span class="lineno">  908</span> </div>
    590 <div class="line"><a id="l00916" name="l00916"></a><span class="lineno"><a class="line" href="sms_8h.html#set_attribute_xy">  916</a></span><span class="keyword">inline</span> <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> * <a class="code hl_function" href="sms_8h.html#set_attribute_xy">set_attribute_xy</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> a) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    591 <div class="line"><a id="l00917" name="l00917"></a><span class="lineno"><a class="line" href="sms_8h.html#set_bkg_attribute_xy">  917</a></span><span class="preprocessor">#define set_bkg_attribute_xy set_attribute_xy</span></div>
    592 <div class="line"><a id="l00918" name="l00918"></a><span class="lineno"><a class="line" href="sms_8h.html#set_win_attribute_xy">  918</a></span><span class="preprocessor">#define set_win_attribute_xy set_attribute_xy</span></div>
    593 <div class="line"><a id="l00919" name="l00919"></a><span class="lineno">  919</span> </div>
    594 <div class="line"><a id="l00923" name="l00923"></a><span class="lineno"><a class="line" href="sms_8h.html#get_bkg_xy_addr">  923</a></span><a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> * <a class="code hl_function" href="sms_8h.html#get_bkg_xy_addr">get_bkg_xy_addr</a>(<a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="code hl_typedef" href="stdint_8h.html#uint8_t">uint8_t</a> y) <a class="code hl_define" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="code hl_define" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="code hl_variable" href="sms_8h.html#iyh">iyh</a>, <a class="code hl_variable" href="sms_8h.html#iyl">iyl</a>);</div>
    595 <div class="line"><a id="l00924" name="l00924"></a><span class="lineno"><a class="line" href="sms_8h.html#get_win_xy_addr">  924</a></span><span class="preprocessor">#define get_win_xy_addr get_bkg_xy_addr</span></div>
    596 <div class="line"><a id="l00925" name="l00925"></a><span class="lineno">  925</span> </div>
    597 <div class="line"><a id="l00926" name="l00926"></a><span class="lineno">  926</span><span class="preprocessor">#endif </span><span class="comment">/* _SMS_H */</span><span class="preprocessor"></span></div>
    598 <div class="ttc" id="aasm_2types_8h_html_NONBANKED"><div class="ttname"><a href="asm_2types_8h.html#NONBANKED">NONBANKED</a></div><div class="ttdeci">#define NONBANKED</div><div class="ttdef"><b>Definition:</b> types.h:40</div></div>
    599 <div class="ttc" id="aasm_2types_8h_html_OLDCALL"><div class="ttname"><a href="asm_2types_8h.html#OLDCALL">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div>
    600 <div class="ttc" id="aasm_2types_8h_html_PRESERVES_REGS"><div class="ttname"><a href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a></div><div class="ttdeci">#define PRESERVES_REGS(...)</div><div class="ttdef"><b>Definition:</b> types.h:32</div></div>
    601 <div class="ttc" id="aasm_2types_8h_html_UBYTE"><div class="ttname"><a href="asm_2types_8h.html#UBYTE">UBYTE</a></div><div class="ttdeci">UINT8 UBYTE</div><div class="ttdef"><b>Definition:</b> types.h:62</div></div>
    602 <div class="ttc" id="aasm_2z80_2types_8h_html_Z88DK_CALLEE"><div class="ttname"><a href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a></div><div class="ttdeci">#define Z88DK_CALLEE</div><div class="ttdef"><b>Definition:</b> types.h:46</div></div>
    603 <div class="ttc" id="aasm_2z80_2types_8h_html_Z88DK_FASTCALL"><div class="ttname"><a href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a></div><div class="ttdeci">#define Z88DK_FASTCALL</div><div class="ttdef"><b>Definition:</b> types.h:47</div></div>
    604 <div class="ttc" id="acgb_8h_html_palette_color_t"><div class="ttname"><a href="cgb_8h.html#palette_color_t">palette_color_t</a></div><div class="ttdeci">uint16_t palette_color_t</div><div class="ttdef"><b>Definition:</b> cgb.h:85</div></div>
    605 <div class="ttc" id="agb_2hardware_8h_html_VBK_ATTRIBUTES"><div class="ttname"><a href="gb_2hardware_8h.html#VBK_ATTRIBUTES">VBK_ATTRIBUTES</a></div><div class="ttdeci">#define VBK_ATTRIBUTES</div><div class="ttdef"><b>Definition:</b> hardware.h:338</div></div>
    606 <div class="ttc" id="agb_2hardware_8h_html_VBK_TILES"><div class="ttname"><a href="gb_2hardware_8h.html#VBK_TILES">VBK_TILES</a></div><div class="ttdeci">#define VBK_TILES</div><div class="ttdef"><b>Definition:</b> hardware.h:336</div></div>
    607 <div class="ttc" id="amsx_2hardware_8h_html_R1_DISP_ON"><div class="ttname"><a href="msx_2hardware_8h.html#R1_DISP_ON">R1_DISP_ON</a></div><div class="ttdeci">#define R1_DISP_ON</div><div class="ttdef"><b>Definition:</b> hardware.h:58</div></div>
    608 <div class="ttc" id="amsx_2hardware_8h_html_VDP_R1"><div class="ttname"><a href="msx_2hardware_8h.html#VDP_R1">VDP_R1</a></div><div class="ttdeci">#define VDP_R1</div><div class="ttdef"><b>Definition:</b> hardware.h:53</div></div>
    609 <div class="ttc" id="amsx_2hardware_8h_html_VDP_RSCX"><div class="ttname"><a href="msx_2hardware_8h.html#VDP_RSCX">VDP_RSCX</a></div><div class="ttdeci">#define VDP_RSCX</div><div class="ttdef"><b>Definition:</b> hardware.h:108</div></div>
    610 <div class="ttc" id="amsx_2hardware_8h_html_VDP_RSCY"><div class="ttname"><a href="msx_2hardware_8h.html#VDP_RSCY">VDP_RSCY</a></div><div class="ttdeci">#define VDP_RSCY</div><div class="ttdef"><b>Definition:</b> hardware.h:113</div></div>
    611 <div class="ttc" id="amsx_2hardware_8h_html_VDP_SAT_TERM"><div class="ttname"><a href="msx_2hardware_8h.html#VDP_SAT_TERM">VDP_SAT_TERM</a></div><div class="ttdeci">#define VDP_SAT_TERM</div><div class="ttdef"><b>Definition:</b> hardware.h:141</div></div>
    612 <div class="ttc" id="asms_2hardware_8h_html"><div class="ttname"><a href="sms_2hardware_8h.html">hardware.h</a></div></div>
    613 <div class="ttc" id="asms_8h_html_SET_SHADOW_OAM_ADDRESS"><div class="ttname"><a href="sms_8h.html#SET_SHADOW_OAM_ADDRESS">SET_SHADOW_OAM_ADDRESS</a></div><div class="ttdeci">void SET_SHADOW_OAM_ADDRESS(void *address)</div><div class="ttdef"><b>Definition:</b> sms.h:789</div></div>
    614 <div class="ttc" id="asms_8h_html_VBK_REG"><div class="ttname"><a href="sms_8h.html#VBK_REG">VBK_REG</a></div><div class="ttdeci">#define VBK_REG</div><div class="ttdef"><b>Definition:</b> sms.h:41</div></div>
    615 <div class="ttc" id="asms_8h_html_WRITE_VDP_CMD"><div class="ttname"><a href="sms_8h.html#WRITE_VDP_CMD">WRITE_VDP_CMD</a></div><div class="ttdeci">void WRITE_VDP_CMD(uint16_t cmd) Z88DK_FASTCALL PRESERVES_REGS(b</div></div>
    616 <div class="ttc" id="asms_8h_html_WRITE_VDP_DATA"><div class="ttname"><a href="sms_8h.html#WRITE_VDP_DATA">WRITE_VDP_DATA</a></div><div class="ttdeci">void WRITE_VDP_DATA(uint16_t data) Z88DK_FASTCALL PRESERVES_REGS(b</div></div>
    617 <div class="ttc" id="asms_8h_html__BIOS"><div class="ttname"><a href="sms_8h.html#_BIOS">_BIOS</a></div><div class="ttdeci">const UBYTE _BIOS</div></div>
    618 <div class="ttc" id="asms_8h_html__SYSTEM"><div class="ttname"><a href="sms_8h.html#_SYSTEM">_SYSTEM</a></div><div class="ttdeci">const uint8_t _SYSTEM</div></div>
    619 <div class="ttc" id="asms_8h_html___READ_VDP_REG"><div class="ttname"><a href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a></div><div class="ttdeci">#define __READ_VDP_REG(REG)</div><div class="ttdef"><b>Definition:</b> sms.h:105</div></div>
    620 <div class="ttc" id="asms_8h_html___WRITE_VDP_REG"><div class="ttname"><a href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a></div><div class="ttdeci">#define __WRITE_VDP_REG(REG, v)</div><div class="ttdef"><b>Definition:</b> sms.h:104</div></div>
    621 <div class="ttc" id="asms_8h_html__current_1bpp_colors"><div class="ttname"><a href="sms_8h.html#_current_1bpp_colors">_current_1bpp_colors</a></div><div class="ttdeci">uint16_t _current_1bpp_colors</div></div>
    622 <div class="ttc" id="asms_8h_html__current_2bpp_palette"><div class="ttname"><a href="sms_8h.html#_current_2bpp_palette">_current_2bpp_palette</a></div><div class="ttdeci">uint16_t _current_2bpp_palette</div></div>
    623 <div class="ttc" id="asms_8h_html__map_tile_offset"><div class="ttname"><a href="sms_8h.html#_map_tile_offset">_map_tile_offset</a></div><div class="ttdeci">uint8_t _map_tile_offset</div></div>
    624 <div class="ttc" id="asms_8h_html__shadow_OAM_OFF"><div class="ttname"><a href="sms_8h.html#_shadow_OAM_OFF">_shadow_OAM_OFF</a></div><div class="ttdeci">volatile uint8_t _shadow_OAM_OFF</div></div>
    625 <div class="ttc" id="asms_8h_html__shadow_OAM_base"><div class="ttname"><a href="sms_8h.html#_shadow_OAM_base">_shadow_OAM_base</a></div><div class="ttdeci">volatile uint8_t _shadow_OAM_base</div><div class="ttdef"><b>Definition:</b> gb.h:1836</div></div>
    626 <div class="ttc" id="asms_8h_html__sprites_OFF"><div class="ttname"><a href="sms_8h.html#_sprites_OFF">_sprites_OFF</a></div><div class="ttdeci">volatile uint8_t _sprites_OFF</div></div>
    627 <div class="ttc" id="asms_8h_html__submap_tile_offset"><div class="ttname"><a href="sms_8h.html#_submap_tile_offset">_submap_tile_offset</a></div><div class="ttdeci">uint8_t _submap_tile_offset</div></div>
    628 <div class="ttc" id="asms_8h_html__vbl_done"><div class="ttname"><a href="sms_8h.html#_vbl_done">_vbl_done</a></div><div class="ttdeci">volatile uint8_t _vbl_done</div><div class="ttdef"><b>Definition:</b> gb.h:476</div></div>
    629 <div class="ttc" id="asms_8h_html_add_JOY"><div class="ttname"><a href="sms_8h.html#add_JOY">add_JOY</a></div><div class="ttdeci">void add_JOY(int_handler h) Z88DK_FASTCALL</div></div>
    630 <div class="ttc" id="asms_8h_html_add_LCD"><div class="ttname"><a href="sms_8h.html#add_LCD">add_LCD</a></div><div class="ttdeci">void add_LCD(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(b</div></div>
    631 <div class="ttc" id="asms_8h_html_add_SIO"><div class="ttname"><a href="sms_8h.html#add_SIO">add_SIO</a></div><div class="ttdeci">void add_SIO(int_handler h) Z88DK_FASTCALL</div></div>
    632 <div class="ttc" id="asms_8h_html_add_TIM"><div class="ttname"><a href="sms_8h.html#add_TIM">add_TIM</a></div><div class="ttdeci">void add_TIM(int_handler h) Z88DK_FASTCALL</div></div>
    633 <div class="ttc" id="asms_8h_html_add_VBL"><div class="ttname"><a href="sms_8h.html#add_VBL">add_VBL</a></div><div class="ttdeci">void add_VBL(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(d</div></div>
    634 <div class="ttc" id="asms_8h_html_b"><div class="ttname"><a href="sms_8h.html#b">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> sms.h:503</div></div>
    635 <div class="ttc" id="asms_8h_html_c"><div class="ttname"><a href="sms_8h.html#c">c</a></div><div class="ttdeci">void c</div><div class="ttdef"><b>Definition:</b> sms.h:107</div></div>
    636 <div class="ttc" id="asms_8h_html_cancel_pending_interrupts"><div class="ttname"><a href="sms_8h.html#cancel_pending_interrupts">cancel_pending_interrupts</a></div><div class="ttdeci">uint8_t cancel_pending_interrupts(void)</div><div class="ttdef"><b>Definition:</b> sms.h:218</div></div>
    637 <div class="ttc" id="asms_8h_html_cgb_compatibility"><div class="ttname"><a href="sms_8h.html#cgb_compatibility">cgb_compatibility</a></div><div class="ttdeci">void cgb_compatibility(void)</div><div class="ttdef"><b>Definition:</b> sms.h:588</div></div>
    638 <div class="ttc" id="asms_8h_html_cpu_fast"><div class="ttname"><a href="sms_8h.html#cpu_fast">cpu_fast</a></div><div class="ttdeci">void cpu_fast(void)</div><div class="ttdef"><b>Definition:</b> sms.h:592</div></div>
    639 <div class="ttc" id="asms_8h_html_d"><div class="ttname"><a href="sms_8h.html#d">d</a></div><div class="ttdeci">void d</div><div class="ttdef"><b>Definition:</b> sms.h:107</div></div>
    640 <div class="ttc" id="asms_8h_html_delay"><div class="ttname"><a href="sms_8h.html#delay">delay</a></div><div class="ttdeci">void delay(uint16_t d) Z88DK_FASTCALL</div></div>
    641 <div class="ttc" id="asms_8h_html_disable_interrupts"><div class="ttname"><a href="sms_8h.html#disable_interrupts">disable_interrupts</a></div><div class="ttdeci">void disable_interrupts(void) PRESERVES_REGS(a</div></div>
    642 <div class="ttc" id="asms_8h_html_display_off"><div class="ttname"><a href="sms_8h.html#display_off">display_off</a></div><div class="ttdeci">void display_off(void)</div><div class="ttdef"><b>Definition:</b> sms.h:253</div></div>
    643 <div class="ttc" id="asms_8h_html_e"><div class="ttname"><a href="sms_8h.html#e">e</a></div><div class="ttdeci">void e</div><div class="ttdef"><b>Definition:</b> sms.h:107</div></div>
    644 <div class="ttc" id="asms_8h_html_enable_interrupts"><div class="ttname"><a href="sms_8h.html#enable_interrupts">enable_interrupts</a></div><div class="ttdeci">void enable_interrupts(void) PRESERVES_REGS(a</div></div>
    645 <div class="ttc" id="asms_8h_html_fill_rect"><div class="ttname"><a href="sms_8h.html#fill_rect">fill_rect</a></div><div class="ttdeci">void fill_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint16_t tile) Z88DK_CALLEE</div></div>
    646 <div class="ttc" id="asms_8h_html_fill_rect_compat"><div class="ttname"><a href="sms_8h.html#fill_rect_compat">fill_rect_compat</a></div><div class="ttdeci">void fill_rect_compat(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint16_t tile) Z88DK_CALLEE</div></div>
    647 <div class="ttc" id="asms_8h_html_get_bkg_xy_addr"><div class="ttname"><a href="sms_8h.html#get_bkg_xy_addr">get_bkg_xy_addr</a></div><div class="ttdeci">uint8_t * get_bkg_xy_addr(uint8_t x, uint8_t y) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div>
    648 <div class="ttc" id="asms_8h_html_get_mode"><div class="ttname"><a href="sms_8h.html#get_mode">get_mode</a></div><div class="ttdeci">uint8_t get_mode(void) OLDCALL</div></div>
    649 <div class="ttc" id="asms_8h_html_get_r_reg"><div class="ttname"><a href="sms_8h.html#get_r_reg">get_r_reg</a></div><div class="ttdeci">uint8_t get_r_reg(void) PRESERVES_REGS(b</div></div>
    650 <div class="ttc" id="asms_8h_html_get_sprite_prop"><div class="ttname"><a href="sms_8h.html#get_sprite_prop">get_sprite_prop</a></div><div class="ttdeci">uint8_t get_sprite_prop(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> sms.h:833</div></div>
    651 <div class="ttc" id="asms_8h_html_get_sprite_tile"><div class="ttname"><a href="sms_8h.html#get_sprite_tile">get_sprite_tile</a></div><div class="ttdeci">uint8_t get_sprite_tile(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> sms.h:820</div></div>
    652 <div class="ttc" id="asms_8h_html_get_system"><div class="ttname"><a href="sms_8h.html#get_system">get_system</a></div><div class="ttdeci">uint8_t get_system(void)</div><div class="ttdef"><b>Definition:</b> sms.h:127</div></div>
    653 <div class="ttc" id="asms_8h_html_h"><div class="ttname"><a href="sms_8h.html#h">h</a></div><div class="ttdeci">void h</div><div class="ttdef"><b>Definition:</b> sms.h:243</div></div>
    654 <div class="ttc" id="asms_8h_html_hide_sprite"><div class="ttname"><a href="sms_8h.html#hide_sprite">hide_sprite</a></div><div class="ttdeci">void hide_sprite(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> sms.h:877</div></div>
    655 <div class="ttc" id="asms_8h_html_int_handler"><div class="ttname"><a href="sms_8h.html#int_handler">int_handler</a></div><div class="ttdeci">void(* int_handler)(void) NONBANKED</div><div class="ttdef"><b>Definition:</b> sms.h:180</div></div>
    656 <div class="ttc" id="asms_8h_html_iyh"><div class="ttname"><a href="sms_8h.html#iyh">iyh</a></div><div class="ttdeci">void iyh</div><div class="ttdef"><b>Definition:</b> sms.h:107</div></div>
    657 <div class="ttc" id="asms_8h_html_iyl"><div class="ttname"><a href="sms_8h.html#iyl">iyl</a></div><div class="ttdeci">void iyl</div><div class="ttdef"><b>Definition:</b> sms.h:107</div></div>
    658 <div class="ttc" id="asms_8h_html_joypad"><div class="ttname"><a href="sms_8h.html#joypad">joypad</a></div><div class="ttdeci">uint8_t joypad(void) OLDCALL PRESERVES_REGS(b</div></div>
    659 <div class="ttc" id="asms_8h_html_joypad_ex"><div class="ttname"><a href="sms_8h.html#joypad_ex">joypad_ex</a></div><div class="ttdeci">void joypad_ex(joypads_t *joypads) Z88DK_FASTCALL PRESERVES_REGS(iyh</div></div>
    660 <div class="ttc" id="asms_8h_html_joypad_init"><div class="ttname"><a href="sms_8h.html#joypad_init">joypad_init</a></div><div class="ttdeci">uint8_t joypad_init(uint8_t npads, joypads_t *joypads) Z88DK_CALLEE</div></div>
    661 <div class="ttc" id="asms_8h_html_l"><div class="ttname"><a href="sms_8h.html#l">l</a></div><div class="ttdeci">void l</div><div class="ttdef"><b>Definition:</b> sms.h:243</div></div>
    662 <div class="ttc" id="asms_8h_html_mode"><div class="ttname"><a href="sms_8h.html#mode">mode</a></div><div class="ttdeci">void mode(uint8_t m) OLDCALL</div></div>
    663 <div class="ttc" id="asms_8h_html_move_bkg"><div class="ttname"><a href="sms_8h.html#move_bkg">move_bkg</a></div><div class="ttdeci">void move_bkg(uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> sms.h:222</div></div>
    664 <div class="ttc" id="asms_8h_html_move_sprite"><div class="ttname"><a href="sms_8h.html#move_sprite">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> sms.h:850</div></div>
    665 <div class="ttc" id="asms_8h_html_refresh_OAM"><div class="ttname"><a href="sms_8h.html#refresh_OAM">refresh_OAM</a></div><div class="ttdeci">void refresh_OAM(void)</div></div>
    666 <div class="ttc" id="asms_8h_html_remove_JOY"><div class="ttname"><a href="sms_8h.html#remove_JOY">remove_JOY</a></div><div class="ttdeci">void remove_JOY(int_handler h) Z88DK_FASTCALL</div></div>
    667 <div class="ttc" id="asms_8h_html_remove_LCD"><div class="ttname"><a href="sms_8h.html#remove_LCD">remove_LCD</a></div><div class="ttdeci">void remove_LCD(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(b</div></div>
    668 <div class="ttc" id="asms_8h_html_remove_SIO"><div class="ttname"><a href="sms_8h.html#remove_SIO">remove_SIO</a></div><div class="ttdeci">void remove_SIO(int_handler h) Z88DK_FASTCALL</div></div>
    669 <div class="ttc" id="asms_8h_html_remove_TIM"><div class="ttname"><a href="sms_8h.html#remove_TIM">remove_TIM</a></div><div class="ttdeci">void remove_TIM(int_handler h) Z88DK_FASTCALL</div></div>
    670 <div class="ttc" id="asms_8h_html_remove_VBL"><div class="ttname"><a href="sms_8h.html#remove_VBL">remove_VBL</a></div><div class="ttdeci">void remove_VBL(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(iyh</div></div>
    671 <div class="ttc" id="asms_8h_html_scroll_bkg"><div class="ttname"><a href="sms_8h.html#scroll_bkg">scroll_bkg</a></div><div class="ttdeci">void scroll_bkg(int8_t x, int8_t y)</div><div class="ttdef"><b>Definition:</b> sms.h:227</div></div>
    672 <div class="ttc" id="asms_8h_html_scroll_sprite"><div class="ttname"><a href="sms_8h.html#scroll_sprite">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> sms.h:866</div></div>
    673 <div class="ttc" id="asms_8h_html_set_1bpp_colors"><div class="ttname"><a href="sms_8h.html#set_1bpp_colors">set_1bpp_colors</a></div><div class="ttdeci">void set_1bpp_colors(uint8_t fgcolor, uint8_t bgcolor)</div><div class="ttdef"><b>Definition:</b> sms.h:654</div></div>
    674 <div class="ttc" id="asms_8h_html_set_2bpp_palette"><div class="ttname"><a href="sms_8h.html#set_2bpp_palette">set_2bpp_palette</a></div><div class="ttdeci">void set_2bpp_palette(uint16_t palette)</div><div class="ttdef"><b>Definition:</b> sms.h:636</div></div>
    675 <div class="ttc" id="asms_8h_html_set_attribute_xy"><div class="ttname"><a href="sms_8h.html#set_attribute_xy">set_attribute_xy</a></div><div class="ttdeci">uint8_t * set_attribute_xy(uint8_t x, uint8_t y, uint8_t a) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div>
    676 <div class="ttc" id="asms_8h_html_set_attributed_tile_xy"><div class="ttname"><a href="sms_8h.html#set_attributed_tile_xy">set_attributed_tile_xy</a></div><div class="ttdeci">uint8_t * set_attributed_tile_xy(uint8_t x, uint8_t y, uint16_t t) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div>
    677 <div class="ttc" id="asms_8h_html_set_bkg_1bpp_data"><div class="ttname"><a href="sms_8h.html#set_bkg_1bpp_data">set_bkg_1bpp_data</a></div><div class="ttdeci">void set_bkg_1bpp_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:658</div></div>
    678 <div class="ttc" id="asms_8h_html_set_bkg_2bpp_data"><div class="ttname"><a href="sms_8h.html#set_bkg_2bpp_data">set_bkg_2bpp_data</a></div><div class="ttdeci">void set_bkg_2bpp_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:646</div></div>
    679 <div class="ttc" id="asms_8h_html_set_bkg_4bpp_data"><div class="ttname"><a href="sms_8h.html#set_bkg_4bpp_data">set_bkg_4bpp_data</a></div><div class="ttdeci">void set_bkg_4bpp_data(uint16_t start, uint16_t ntiles, const void *src) PRESERVES_REGS(iyh</div></div>
    680 <div class="ttc" id="asms_8h_html_set_bkg_attributes"><div class="ttname"><a href="sms_8h.html#set_bkg_attributes">set_bkg_attributes</a></div><div class="ttdeci">void set_bkg_attributes(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles)</div><div class="ttdef"><b>Definition:</b> sms.h:694</div></div>
    681 <div class="ttc" id="asms_8h_html_set_bkg_based_submap"><div class="ttname"><a href="sms_8h.html#set_bkg_based_submap">set_bkg_based_submap</a></div><div class="ttdeci">void set_bkg_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> sms.h:707</div></div>
    682 <div class="ttc" id="asms_8h_html_set_bkg_based_tiles"><div class="ttname"><a href="sms_8h.html#set_bkg_based_tiles">set_bkg_based_tiles</a></div><div class="ttdeci">void set_bkg_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> sms.h:683</div></div>
    683 <div class="ttc" id="asms_8h_html_set_bkg_data"><div class="ttname"><a href="sms_8h.html#set_bkg_data">set_bkg_data</a></div><div class="ttdeci">void set_bkg_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:640</div></div>
    684 <div class="ttc" id="asms_8h_html_set_bkg_native_data"><div class="ttname"><a href="sms_8h.html#set_bkg_native_data">set_bkg_native_data</a></div><div class="ttdeci">void set_bkg_native_data(uint16_t start, uint16_t ntiles, const void *src) PRESERVES_REGS(iyh</div></div>
    685 <div class="ttc" id="asms_8h_html_set_bkg_submap_attributes"><div class="ttname"><a href="sms_8h.html#set_bkg_submap_attributes">set_bkg_submap_attributes</a></div><div class="ttdeci">void set_bkg_submap_attributes(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w)</div><div class="ttdef"><b>Definition:</b> sms.h:718</div></div>
    686 <div class="ttc" id="asms_8h_html_set_bkg_tiles"><div class="ttname"><a href="sms_8h.html#set_bkg_tiles">set_bkg_tiles</a></div><div class="ttdeci">#define set_bkg_tiles</div><div class="ttdef"><b>Definition:</b> sms.h:679</div></div>
    687 <div class="ttc" id="asms_8h_html_set_data"><div class="ttname"><a href="sms_8h.html#set_data">set_data</a></div><div class="ttdeci">void set_data(uint16_t dst, const void *src, uint16_t size) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div>
    688 <div class="ttc" id="asms_8h_html_set_default_palette"><div class="ttname"><a href="sms_8h.html#set_default_palette">set_default_palette</a></div><div class="ttdeci">void set_default_palette(void)</div></div>
    689 <div class="ttc" id="asms_8h_html_set_interrupts"><div class="ttname"><a href="sms_8h.html#set_interrupts">set_interrupts</a></div><div class="ttdeci">void set_interrupts(uint8_t flags) Z88DK_FASTCALL</div></div>
    690 <div class="ttc" id="asms_8h_html_set_native_tile_data"><div class="ttname"><a href="sms_8h.html#set_native_tile_data">set_native_tile_data</a></div><div class="ttdeci">void set_native_tile_data(uint16_t start, uint16_t ntiles, const void *src) PRESERVES_REGS(iyh</div></div>
    691 <div class="ttc" id="asms_8h_html_set_palette"><div class="ttname"><a href="sms_8h.html#set_palette">set_palette</a></div><div class="ttdeci">void set_palette(uint8_t first_palette, uint8_t nb_palettes, const palette_color_t *rgb_data) Z88DK_CALLEE</div></div>
    692 <div class="ttc" id="asms_8h_html_set_palette_entry"><div class="ttname"><a href="sms_8h.html#set_palette_entry">set_palette_entry</a></div><div class="ttdeci">void set_palette_entry(uint8_t palette, uint8_t entry, uint16_t rgb_data) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div>
    693 <div class="ttc" id="asms_8h_html_set_sprite_1bpp_data"><div class="ttname"><a href="sms_8h.html#set_sprite_1bpp_data">set_sprite_1bpp_data</a></div><div class="ttdeci">void set_sprite_1bpp_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:661</div></div>
    694 <div class="ttc" id="asms_8h_html_set_sprite_2bpp_data"><div class="ttname"><a href="sms_8h.html#set_sprite_2bpp_data">set_sprite_2bpp_data</a></div><div class="ttdeci">void set_sprite_2bpp_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:649</div></div>
    695 <div class="ttc" id="asms_8h_html_set_sprite_4bpp_data"><div class="ttname"><a href="sms_8h.html#set_sprite_4bpp_data">set_sprite_4bpp_data</a></div><div class="ttdeci">void set_sprite_4bpp_data(uint8_t start, uint16_t ntiles, const void *src) PRESERVES_REGS(iyh</div></div>
    696 <div class="ttc" id="asms_8h_html_set_sprite_data"><div class="ttname"><a href="sms_8h.html#set_sprite_data">set_sprite_data</a></div><div class="ttdeci">void set_sprite_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:643</div></div>
    697 <div class="ttc" id="asms_8h_html_set_sprite_native_data"><div class="ttname"><a href="sms_8h.html#set_sprite_native_data">set_sprite_native_data</a></div><div class="ttdeci">void set_sprite_native_data(uint8_t start, uint16_t ntiles, const void *src) PRESERVES_REGS(iyh</div></div>
    698 <div class="ttc" id="asms_8h_html_set_sprite_prop"><div class="ttname"><a href="sms_8h.html#set_sprite_prop">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> sms.h:829</div></div>
    699 <div class="ttc" id="asms_8h_html_set_sprite_tile"><div class="ttname"><a href="sms_8h.html#set_sprite_tile">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> sms.h:809</div></div>
    700 <div class="ttc" id="asms_8h_html_set_tile_1bpp_data"><div class="ttname"><a href="sms_8h.html#set_tile_1bpp_data">set_tile_1bpp_data</a></div><div class="ttdeci">void set_tile_1bpp_data(uint16_t start, uint16_t ntiles, const void *src, uint16_t colors) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div>
    701 <div class="ttc" id="asms_8h_html_set_tile_2bpp_data"><div class="ttname"><a href="sms_8h.html#set_tile_2bpp_data">set_tile_2bpp_data</a></div><div class="ttdeci">void set_tile_2bpp_data(uint16_t start, uint16_t ntiles, const void *src, uint16_t palette) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div>
    702 <div class="ttc" id="asms_8h_html_set_tile_map"><div class="ttname"><a href="sms_8h.html#set_tile_map">set_tile_map</a></div><div class="ttdeci">void set_tile_map(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) Z88DK_CALLEE</div></div>
    703 <div class="ttc" id="asms_8h_html_set_tile_map_compat"><div class="ttname"><a href="sms_8h.html#set_tile_map_compat">set_tile_map_compat</a></div><div class="ttdeci">void set_tile_map_compat(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) Z88DK_CALLEE</div></div>
    704 <div class="ttc" id="asms_8h_html_set_tile_submap"><div class="ttname"><a href="sms_8h.html#set_tile_submap">set_tile_submap</a></div><div class="ttdeci">void set_tile_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) Z88DK_CALLEE</div></div>
    705 <div class="ttc" id="asms_8h_html_set_tile_submap_compat"><div class="ttname"><a href="sms_8h.html#set_tile_submap_compat">set_tile_submap_compat</a></div><div class="ttdeci">void set_tile_submap_compat(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) Z88DK_CALLEE</div></div>
    706 <div class="ttc" id="asms_8h_html_set_tile_xy"><div class="ttname"><a href="sms_8h.html#set_tile_xy">set_tile_xy</a></div><div class="ttdeci">uint8_t * set_tile_xy(uint8_t x, uint8_t y, uint8_t t) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div>
    707 <div class="ttc" id="asms_8h_html_set_vram_byte"><div class="ttname"><a href="sms_8h.html#set_vram_byte">set_vram_byte</a></div><div class="ttdeci">void set_vram_byte(uint8_t *addr, uint8_t v) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div>
    708 <div class="ttc" id="asms_8h_html_set_win_based_submap"><div class="ttname"><a href="sms_8h.html#set_win_based_submap">set_win_based_submap</a></div><div class="ttdeci">void set_win_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> sms.h:712</div></div>
    709 <div class="ttc" id="asms_8h_html_set_win_based_tiles"><div class="ttname"><a href="sms_8h.html#set_win_based_tiles">set_win_based_tiles</a></div><div class="ttdeci">void set_win_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> sms.h:688</div></div>
    710 <div class="ttc" id="asms_8h_html_shadow_OAM"><div class="ttname"><a href="sms_8h.html#shadow_OAM">shadow_OAM</a></div><div class="ttdeci">volatile uint8_t shadow_OAM[]</div></div>
    711 <div class="ttc" id="asms_8h_html_sys_time"><div class="ttname"><a href="sms_8h.html#sys_time">sys_time</a></div><div class="ttdeci">volatile uint16_t sys_time</div></div>
    712 <div class="ttc" id="asms_8h_html_vmemcpy"><div class="ttname"><a href="sms_8h.html#vmemcpy">vmemcpy</a></div><div class="ttdeci">void vmemcpy(uint16_t dst, const void *src, uint16_t size) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div>
    713 <div class="ttc" id="asms_8h_html_vsync"><div class="ttname"><a href="sms_8h.html#vsync">vsync</a></div><div class="ttdeci">void vsync(void) PRESERVES_REGS(b</div></div>
    714 <div class="ttc" id="asms_8h_html_wait_vbl_done"><div class="ttname"><a href="sms_8h.html#wait_vbl_done">wait_vbl_done</a></div><div class="ttdeci">void wait_vbl_done(void) PRESERVES_REGS(b</div></div>
    715 <div class="ttc" id="asms_8h_html_waitpad"><div class="ttname"><a href="sms_8h.html#waitpad">waitpad</a></div><div class="ttdeci">uint8_t waitpad(uint8_t mask) Z88DK_FASTCALL PRESERVES_REGS(d</div></div>
    716 <div class="ttc" id="asms_8h_html_waitpadup"><div class="ttname"><a href="sms_8h.html#waitpadup">waitpadup</a></div><div class="ttdeci">void waitpadup(void) PRESERVES_REGS(d</div></div>
    717 <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div>
    718 <div class="ttc" id="astdint_8h_html_int16_t"><div class="ttname"><a href="stdint_8h.html#int16_t">int16_t</a></div><div class="ttdeci">short int int16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:44</div></div>
    719 <div class="ttc" id="astdint_8h_html_int8_t"><div class="ttname"><a href="stdint_8h.html#int8_t">int8_t</a></div><div class="ttdeci">signed char int8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:43</div></div>
    720 <div class="ttc" id="astdint_8h_html_uint16_t"><div class="ttname"><a href="stdint_8h.html#uint16_t">uint16_t</a></div><div class="ttdeci">unsigned short int uint16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:52</div></div>
    721 <div class="ttc" id="astdint_8h_html_uint8_t"><div class="ttname"><a href="stdint_8h.html#uint8_t">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div>
    722 <div class="ttc" id="astructjoypads__t_html"><div class="ttname"><a href="structjoypads__t.html">joypads_t</a></div><div class="ttdef"><b>Definition:</b> gb.h:755</div></div>
    723 <div class="ttc" id="aversion_8h_html"><div class="ttname"><a href="version_8h.html">version.h</a></div></div>
    724 </div><!-- fragment --></div><!-- contents -->
    725 </div><!-- doc-content -->
    726 <!-- start footer part -->
    727 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
    728   <ul>
    729     <li class="navelem"><a class="el" href="dir_8bd3092e915ccc8a773a74e0a10d4d15.html">gbdk-lib</a></li><li class="navelem"><a class="el" href="dir_a9f896cff747ba031115e41245385c17.html">include</a></li><li class="navelem"><a class="el" href="dir_7a84f275fead463a4aefdc90fba00235.html">sms</a></li><li class="navelem"><a class="el" href="sms_8h.html">sms.h</a></li>
    730     <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
    731   </ul>
    732 </div>
    733 </body>
    734 </html>

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