Files
gbdk-2020/docs/api/sms_8h_source.html
2025-12-27 17:53:11 -08:00

735 lines
147 KiB
HTML

<!-- HTML header for doxygen 1.8.14-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="cache-control" content="max-age=86400"/>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GBDK 2020 Docs: gbdk-lib/include/sms/sms.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
<!-- BEGIN: doxygen-awesome-css -->
<script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
<script type="text/javascript" src="doxygen-awesome-paragraph-link.js"></script>
<script type="text/javascript">
DoxygenAwesomeParagraphLink.init()
</script>
<!-- END: doxygen-awesome-css -->
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">GBDK 2020 Docs
&#160;<span id="projectnumber">4.5.0</span>
</div>
<div id="projectbrief">API Documentation for GBDK 2020</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('sms_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle"><div class="title">sms.h</div></div>
</div><!--header-->
<div class="contents">
<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>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#ifndef _SMS_H</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#define _SMS_H</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &lt;types.h&gt;</span></div>
<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>
<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>
<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>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<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>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<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>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#ifdef NINTENDO</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#undef NINTENDO</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#ifdef NINTENDO_NES</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#undef NINTENDO_NES</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#ifdef MSX</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#undef MSX</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#if defined(__TARGET_sms)</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#define MASTERSYSTEM</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#elif defined(__TARGET_gg)</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#define GAMEGEAR</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<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>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<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>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
<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>
<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>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<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>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<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>
<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>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="comment">// VDP helper macros</span></div>
<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>
<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>
<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>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
<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>
<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>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
<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>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
<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>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<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>
<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>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span>}</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span><span class="comment">/* Interrupt flags */</span></div>
<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>
<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>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> </div>
<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>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> </div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="comment">/* Limits */</span></div>
<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>
<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>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> </div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
<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>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
<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>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> </div>
<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>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> </div>
<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>
<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>
<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>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> </div>
<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>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div>
<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>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> </div>
<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>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> </div>
<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>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> </div>
<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>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
<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>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">return</span> VDP_STATUS;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span>}</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
<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>
<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>
<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>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span>}</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> </div>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span>}</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> </div>
<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>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> </div>
<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>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> </div>
<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>
<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>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span>}</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> </div>
<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>
<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>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> </div>
<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>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span><span class="preprocessor"> display_off();</span></div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> </div>
<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>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> </div>
<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>
<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>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> </div>
<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>
<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>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> </div>
<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>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> </div>
<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>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> </div>
<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>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> </div>
<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>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> </div>
<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>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> </div>
<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>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span><span class="preprocessor"> (_sprites_OFF = 0)</span></div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> </div>
<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>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span><span class="preprocessor"> (_sprites_OFF = 1)</span></div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> </div>
<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>
<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>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> </div>
<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>
<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>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> </div>
<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>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> </div>
<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>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> </div>
<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>
<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>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> </div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> </div>
<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>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> </div>
<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>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> </div>
<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>
<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>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> </div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span><span class="preprocessor">#ifndef BANK</span></div>
<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>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> </div>
<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>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span><span class="preprocessor">__asm \</span></div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span><span class="preprocessor"> .local b___func_ ## VARNAME \</span></div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span><span class="preprocessor"> ___bank_ ## VARNAME = b___func_ ## VARNAME \</span></div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span><span class="preprocessor"> .globl ___bank_ ## VARNAME \</span></div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span><span class="preprocessor">__endasm; \</span></div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span><span class="preprocessor">}</span></div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> </div>
<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>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> </div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> </div>
<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>
<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>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> </div>
<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>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> </div>
<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>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> </div>
<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>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> </div>
<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>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> </div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> </div>
<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>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> </div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> </div>
<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>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> </div>
<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>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> </div>
<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>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> </div>
<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>
<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>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> <span class="keyword">struct </span>{</div>
<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>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> };</div>
<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>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> };</div>
<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>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> </div>
<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>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> </div>
<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>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> </div>
<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>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> __asm__(<span class="stringliteral">&quot;ei&quot;</span>);</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span>}</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> </div>
<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>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> __asm__(<span class="stringliteral">&quot;di&quot;</span>);</div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span>}</div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> </div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> </div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span><span class="preprocessor">#if defined(__TARGET_sms)</span></div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> </div>
<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>
<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>
<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>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> </div>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> </div>
<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>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> </div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span><span class="preprocessor">#elif defined(__TARGET_gg)</span></div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> </div>
<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>
<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>
<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>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> </div>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span> </div>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> </div>
<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>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span> </div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span><span class="preprocessor">#error Unrecognized port</span></div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> </div>
<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>
<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>
<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>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span>}</div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span> </div>
<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>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span> </div>
<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>
<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>
<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>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span> </div>
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"> 598</span> </div>
<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>
<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>
<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>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"> 626</span> </div>
<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>
<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>
<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>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span> </div>
<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>
<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>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span> </div>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"> 638</span>}</div>
<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>
<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>
<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>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"> 642</span>}</div>
<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>
<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>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span>}</div>
<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>
<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>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span>}</div>
<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>
<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>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span>}</div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span> </div>
<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>
<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>
<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>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span>}</div>
<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>
<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>
<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>
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"> 660</span>}</div>
<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>
<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>
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"> 663</span>}</div>
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"> 664</span> </div>
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"> 665</span> </div>
<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>
<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>
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno"> 676</span> </div>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno"> 681</span> </div>
<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>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"> 687</span>}</div>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno"> 692</span>}</div>
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno"> 693</span> </div>
<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>
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno"> 695</span>{</div>
<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>
<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>
<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>
<div class="line"><a id="l00699" name="l00699"></a><span class="lineno"> 699</span>}</div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno"> 700</span> </div>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00705" name="l00705"></a><span class="lineno"> 705</span> </div>
<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>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00711" name="l00711"></a><span class="lineno"> 711</span>}</div>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno"> 716</span>}</div>
<div class="line"><a id="l00717" name="l00717"></a><span class="lineno"> 717</span> </div>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno"> 722</span>}</div>
<div class="line"><a id="l00723" name="l00723"></a><span class="lineno"> 723</span> </div>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00728" name="l00728"></a><span class="lineno"> 728</span> </div>
<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>
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"> 732</span> </div>
<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>
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"> 736</span> </div>
<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>
<div class="line"><a id="l00762" name="l00762"></a><span class="lineno"> 762</span> </div>
<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>
<div class="line"><a id="l00764" name="l00764"></a><span class="lineno"> 764</span> </div>
<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>
<div class="line"><a id="l00768" name="l00768"></a><span class="lineno"> 768</span><span class="preprocessor"> _shadow_OAM_base = 0</span></div>
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno"> 769</span> </div>
<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>
<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>
<div class="line"><a id="l00774" name="l00774"></a><span class="lineno"> 774</span> </div>
<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>
<div class="line"><a id="l00778" name="l00778"></a><span class="lineno"> 778</span> </div>
<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>
<div class="line"><a id="l00782" name="l00782"></a><span class="lineno"> 782</span> </div>
<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>
<div class="line"><a id="l00786" name="l00786"></a><span class="lineno"> 786</span> </div>
<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>
<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>
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno"> 791</span>}</div>
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno"> 792</span> </div>
<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>
<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>
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno"> 811</span>}</div>
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno"> 812</span> </div>
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"> 813</span> </div>
<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>
<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>
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span>}</div>
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span> </div>
<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>
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span> nb; prop;</div>
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span>}</div>
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> </div>
<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>
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> nb;</div>
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span>}</div>
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> </div>
<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>
<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>
<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>
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span>}</div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> </div>
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> </div>
<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>
<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>
<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>
<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>
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span>}</div>
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> </div>
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> </div>
<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>
<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>
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span>}</div>
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> </div>
<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>
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> </div>
<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>
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span> </div>
<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>
<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>
<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>
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span> </div>
<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>
<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>
<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>
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span> </div>
<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>
<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>
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"> 925</span> </div>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<div class="ttc" id="asms_2hardware_8h_html"><div class="ttname"><a href="sms_2hardware_8h.html">hardware.h</a></div></div>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div>
<div class="ttc" id="astdint_8h_html_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>
<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>
<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>
<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>
<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>
<div class="ttc" id="aversion_8h_html"><div class="ttname"><a href="version_8h.html">version.h</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<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>
<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>
</ul>
</div>
</body>
</html>