gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
docs/api/sms_8h.html
1 <!-- HTML header for doxygen 1.8.14-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5 <meta http-equiv="cache-control" content="max-age=86400"/>
6 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
7 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
8 <meta name="generator" content="Doxygen 1.9.2"/>
9 <meta name="viewport" content="width=device-width, initial-scale=1"/>
10 <title>GBDK 2020 Docs: gbdk-lib/include/sms/sms.h File Reference</title>
11 <link href="tabs.css" rel="stylesheet" type="text/css"/>
12 <script type="text/javascript" src="jquery.js"></script>
13 <script type="text/javascript" src="dynsections.js"></script>
14 <link href="navtree.css" rel="stylesheet" type="text/css"/>
15 <script type="text/javascript" src="resize.js"></script>
16 <script type="text/javascript" src="navtreedata.js"></script>
17 <script type="text/javascript" src="navtree.js"></script>
18 <link href="search/search.css" rel="stylesheet" type="text/css"/>
19 <script type="text/javascript" src="search/searchdata.js"></script>
20 <script type="text/javascript" src="search/search.js"></script>
21 <link href="doxygen.css" rel="stylesheet" type="text/css" />
22 <link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
23 <link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
24 <link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
25 <!-- BEGIN: doxygen-awesome-css -->
26 <script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
27 <script type="text/javascript">
28 DoxygenAwesomeDarkModeToggle.init()
29 </script>
30 <script type="text/javascript" src="doxygen-awesome-paragraph-link.js"></script>
31 <script type="text/javascript">
32 DoxygenAwesomeParagraphLink.init()
33 </script>
34 <!-- END: doxygen-awesome-css -->
35 </head>
36 <body>
37 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
38 <div id="titlearea">
39 <table cellspacing="0" cellpadding="0">
40 <tbody>
41 <tr style="height: 56px;">
42 <td id="projectalign" style="padding-left: 0.5em;">
43 <div id="projectname">GBDK 2020 Docs
44  <span id="projectnumber">4.5.0</span>
45 </div>
46 <div id="projectbrief">API Documentation for GBDK 2020</div>
47 </td>
48 </tr>
49 </tbody>
50 </table>
51 </div>
52 <!-- end header part -->
53 <!-- Generated by Doxygen 1.9.2 -->
54 <script type="text/javascript">
55 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
56 var searchBox = new SearchBox("searchBox", "search",'Search','.html');
57 /* @license-end */
58 </script>
59 <script type="text/javascript" src="menudata.js"></script>
60 <script type="text/javascript" src="menu.js"></script>
61 <script type="text/javascript">
62 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
63 $(function() {
64 initMenu('',true,false,'search.php','Search');
65 $(document).ready(function() { init_search(); });
66 });
67 /* @license-end */
68 </script>
69 <div id="main-nav"></div>
70 </div><!-- top -->
71 <div id="side-nav" class="ui-resizable side-nav-resizable">
72 <div id="nav-tree">
73 <div id="nav-tree-contents">
74 <div id="nav-sync" class="sync"></div>
75 </div>
76 </div>
77 <div id="splitbar" style="-moz-user-select:none;"
78 class="ui-resizable-handle">
79 </div>
80 </div>
81 <script type="text/javascript">
82 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
83 $(document).ready(function(){initNavTree('sms_8h.html',''); initResizable(); });
84 /* @license-end */
85 </script>
86 <div id="doc-content">
87 <!-- window showing the filter options -->
88 <div id="MSearchSelectWindow"
89 onmouseover="return searchBox.OnSearchSelectShow()"
90 onmouseout="return searchBox.OnSearchSelectHide()"
91 onkeydown="return searchBox.OnSearchSelectKey(event)">
92 </div>
93
94 <!-- iframe showing the search results (closed by default) -->
95 <div id="MSearchResultsWindow">
96 <iframe src="javascript:void(0)" frameborder="0"
97 name="MSearchResults" id="MSearchResults">
98 </iframe>
99 </div>
100
101 <div class="header">
102 <div class="summary">
103 <a href="#nested-classes">Data Structures</a> |
104 <a href="#define-members">Macros</a> |
105 <a href="#typedef-members">Typedefs</a> |
106 <a href="#func-members">Functions</a> |
107 <a href="#var-members">Variables</a> </div>
108 <div class="headertitle"><div class="title">sms.h File Reference</div></div>
109 </div><!--header-->
110 <div class="contents">
111 <div class="textblock"><code>#include <types.h></code><br />
112 <code>#include <<a class="el" href="stdint_8h_source.html">stdint.h</a>></code><br />
113 <code>#include <<a class="el" href="version_8h_source.html">gbdk/version.h</a>></code><br />
114 <code>#include <<a class="el" href="sms_2hardware_8h_source.html">sms/hardware.h</a>></code><br />
115 </div>
116 <p><a href="sms_8h_source.html">Go to the source code of this file.</a></p>
117 <table class="memberdecls">
118 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
119 Data Structures</h2></td></tr>
120 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structjoypads__t.html">joypads_t</a></td></tr>
121 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
122 </table><table class="memberdecls">
123 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
124 Macros</h2></td></tr>
125 <tr class="memitem:SEGA"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SEGA">SEGA</a></td></tr>
126 <tr class="separator:SEGA"><td class="memSeparator" colspan="2"> </td></tr>
127 <tr class="memitem:SYSTEM_60HZ"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SYSTEM_60HZ">SYSTEM_60HZ</a>   0x00</td></tr>
128 <tr class="separator:SYSTEM_60HZ"><td class="memSeparator" colspan="2"> </td></tr>
129 <tr class="memitem:SYSTEM_50HZ"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SYSTEM_50HZ">SYSTEM_50HZ</a>   0x01</td></tr>
130 <tr class="separator:SYSTEM_50HZ"><td class="memSeparator" colspan="2"> </td></tr>
131 <tr class="memitem:VBK_REG"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#VBK_REG">VBK_REG</a>   <a class="el" href="sms_2hardware_8h.html#VDP_ATTR_SHIFT">VDP_ATTR_SHIFT</a></td></tr>
132 <tr class="separator:VBK_REG"><td class="memSeparator" colspan="2"> </td></tr>
133 <tr class="memitem:J_UP"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#J_UP">J_UP</a>   0b00000001</td></tr>
134 <tr class="separator:J_UP"><td class="memSeparator" colspan="2"> </td></tr>
135 <tr class="memitem:J_DOWN"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#J_DOWN">J_DOWN</a>   0b00000010</td></tr>
136 <tr class="separator:J_DOWN"><td class="memSeparator" colspan="2"> </td></tr>
137 <tr class="memitem:J_LEFT"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#J_LEFT">J_LEFT</a>   0b00000100</td></tr>
138 <tr class="separator:J_LEFT"><td class="memSeparator" colspan="2"> </td></tr>
139 <tr class="memitem:J_RIGHT"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#J_RIGHT">J_RIGHT</a>   0b00001000</td></tr>
140 <tr class="separator:J_RIGHT"><td class="memSeparator" colspan="2"> </td></tr>
141 <tr class="memitem:J_B"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#J_B">J_B</a>   0b00010000</td></tr>
142 <tr class="separator:J_B"><td class="memSeparator" colspan="2"> </td></tr>
143 <tr class="memitem:J_A"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#J_A">J_A</a>   0b00100000</td></tr>
144 <tr class="separator:J_A"><td class="memSeparator" colspan="2"> </td></tr>
145 <tr class="memitem:J_START"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#J_START">J_START</a>   0b01000000</td></tr>
146 <tr class="separator:J_START"><td class="memSeparator" colspan="2"> </td></tr>
147 <tr class="memitem:J_SELECT"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#J_SELECT">J_SELECT</a>   0b10000000</td></tr>
148 <tr class="separator:J_SELECT"><td class="memSeparator" colspan="2"> </td></tr>
149 <tr class="memitem:M_TEXT_OUT"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#M_TEXT_OUT">M_TEXT_OUT</a>   0x02U</td></tr>
150 <tr class="separator:M_TEXT_OUT"><td class="memSeparator" colspan="2"> </td></tr>
151 <tr class="memitem:M_TEXT_INOUT"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#M_TEXT_INOUT">M_TEXT_INOUT</a>   0x03U</td></tr>
152 <tr class="separator:M_TEXT_INOUT"><td class="memSeparator" colspan="2"> </td></tr>
153 <tr class="memitem:M_NO_SCROLL"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#M_NO_SCROLL">M_NO_SCROLL</a>   0x04U</td></tr>
154 <tr class="separator:M_NO_SCROLL"><td class="memSeparator" colspan="2"> </td></tr>
155 <tr class="memitem:M_NO_INTERP"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#M_NO_INTERP">M_NO_INTERP</a>   0x08U</td></tr>
156 <tr class="separator:M_NO_INTERP"><td class="memSeparator" colspan="2"> </td></tr>
157 <tr class="memitem:S_BANK"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#S_BANK">S_BANK</a>   0x01U</td></tr>
158 <tr class="separator:S_BANK"><td class="memSeparator" colspan="2"> </td></tr>
159 <tr class="memitem:S_FLIPX"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#S_FLIPX">S_FLIPX</a>   0x02U</td></tr>
160 <tr class="separator:S_FLIPX"><td class="memSeparator" colspan="2"> </td></tr>
161 <tr class="memitem:S_FLIPY"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#S_FLIPY">S_FLIPY</a>   0x04U</td></tr>
162 <tr class="separator:S_FLIPY"><td class="memSeparator" colspan="2"> </td></tr>
163 <tr class="memitem:S_PALETTE"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#S_PALETTE">S_PALETTE</a>   0x08U</td></tr>
164 <tr class="separator:S_PALETTE"><td class="memSeparator" colspan="2"> </td></tr>
165 <tr class="memitem:S_PRIORITY"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#S_PRIORITY">S_PRIORITY</a>   0x10U</td></tr>
166 <tr class="separator:S_PRIORITY"><td class="memSeparator" colspan="2"> </td></tr>
167 <tr class="memitem:S_PAL"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#S_PAL">S_PAL</a>(n)   (((n) & 0x01U) << 3)</td></tr>
168 <tr class="separator:S_PAL"><td class="memSeparator" colspan="2"> </td></tr>
169 <tr class="memitem:__WRITE_VDP_REG_UNSAFE"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#__WRITE_VDP_REG_UNSAFE">__WRITE_VDP_REG_UNSAFE</a>(REG, v)   shadow_##REG=(v),VDP_CMD=(shadow_##REG),VDP_CMD=REG</td></tr>
170 <tr class="separator:__WRITE_VDP_REG_UNSAFE"><td class="memSeparator" colspan="2"> </td></tr>
171 <tr class="memitem:__WRITE_VDP_REG"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(REG, v)   shadow_##REG=(v);__asm__("di");VDP_CMD=(shadow_##REG);VDP_CMD=REG;__asm__("ei")</td></tr>
172 <tr class="separator:__WRITE_VDP_REG"><td class="memSeparator" colspan="2"> </td></tr>
173 <tr class="memitem:__READ_VDP_REG"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(REG)   shadow_##REG</td></tr>
174 <tr class="separator:__READ_VDP_REG"><td class="memSeparator" colspan="2"> </td></tr>
175 <tr class="memitem:EMPTY_IFLAG"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#EMPTY_IFLAG">EMPTY_IFLAG</a>   0x00U</td></tr>
176 <tr class="separator:EMPTY_IFLAG"><td class="memSeparator" colspan="2"> </td></tr>
177 <tr class="memitem:VBL_IFLAG"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#VBL_IFLAG">VBL_IFLAG</a>   0x01U</td></tr>
178 <tr class="separator:VBL_IFLAG"><td class="memSeparator" colspan="2"> </td></tr>
179 <tr class="memitem:LCD_IFLAG"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#LCD_IFLAG">LCD_IFLAG</a>   0x02U</td></tr>
180 <tr class="separator:LCD_IFLAG"><td class="memSeparator" colspan="2"> </td></tr>
181 <tr class="memitem:TIM_IFLAG"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#TIM_IFLAG">TIM_IFLAG</a>   0x04U</td></tr>
182 <tr class="separator:TIM_IFLAG"><td class="memSeparator" colspan="2"> </td></tr>
183 <tr class="memitem:SIO_IFLAG"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SIO_IFLAG">SIO_IFLAG</a>   0x08U</td></tr>
184 <tr class="separator:SIO_IFLAG"><td class="memSeparator" colspan="2"> </td></tr>
185 <tr class="memitem:JOY_IFLAG"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#JOY_IFLAG">JOY_IFLAG</a>   0x10U</td></tr>
186 <tr class="separator:JOY_IFLAG"><td class="memSeparator" colspan="2"> </td></tr>
187 <tr class="memitem:SCREENWIDTH"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SCREENWIDTH">SCREENWIDTH</a>   <a class="el" href="sms_2hardware_8h.html#DEVICE_SCREEN_PX_WIDTH">DEVICE_SCREEN_PX_WIDTH</a></td></tr>
188 <tr class="separator:SCREENWIDTH"><td class="memSeparator" colspan="2"> </td></tr>
189 <tr class="memitem:SCREENHEIGHT"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SCREENHEIGHT">SCREENHEIGHT</a>   <a class="el" href="sms_2hardware_8h.html#DEVICE_SCREEN_PX_HEIGHT">DEVICE_SCREEN_PX_HEIGHT</a></td></tr>
190 <tr class="separator:SCREENHEIGHT"><td class="memSeparator" colspan="2"> </td></tr>
191 <tr class="memitem:MINWNDPOSX"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#MINWNDPOSX">MINWNDPOSX</a>   0x00U</td></tr>
192 <tr class="separator:MINWNDPOSX"><td class="memSeparator" colspan="2"> </td></tr>
193 <tr class="memitem:MINWNDPOSY"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#MINWNDPOSY">MINWNDPOSY</a>   0x00U</td></tr>
194 <tr class="separator:MINWNDPOSY"><td class="memSeparator" colspan="2"> </td></tr>
195 <tr class="memitem:MAXWNDPOSX"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#MAXWNDPOSX">MAXWNDPOSX</a>   0x00U</td></tr>
196 <tr class="separator:MAXWNDPOSX"><td class="memSeparator" colspan="2"> </td></tr>
197 <tr class="memitem:MAXWNDPOSY"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#MAXWNDPOSY">MAXWNDPOSY</a>   0x00U</td></tr>
198 <tr class="separator:MAXWNDPOSY"><td class="memSeparator" colspan="2"> </td></tr>
199 <tr class="memitem:DISPLAY_ON"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#DISPLAY_ON">DISPLAY_ON</a>    <a class="el" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R1">VDP_R1</a>, <a class="el" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R1">VDP_R1</a>) |= <a class="el" href="sms_2hardware_8h.html#R1_DISP_ON">R1_DISP_ON</a>)</td></tr>
200 <tr class="separator:DISPLAY_ON"><td class="memSeparator" colspan="2"> </td></tr>
201 <tr class="memitem:DISPLAY_OFF"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#DISPLAY_OFF">DISPLAY_OFF</a>    <a class="el" href="sms_8h.html#display_off">display_off</a>();</td></tr>
202 <tr class="separator:DISPLAY_OFF"><td class="memSeparator" colspan="2"> </td></tr>
203 <tr class="memitem:HIDE_LEFT_COLUMN"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#HIDE_LEFT_COLUMN">HIDE_LEFT_COLUMN</a>    <a class="el" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R0">VDP_R0</a>, <a class="el" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R0">VDP_R0</a>) |= <a class="el" href="sms_2hardware_8h.html#R0_LCB">R0_LCB</a>)</td></tr>
204 <tr class="separator:HIDE_LEFT_COLUMN"><td class="memSeparator" colspan="2"> </td></tr>
205 <tr class="memitem:SHOW_LEFT_COLUMN"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SHOW_LEFT_COLUMN">SHOW_LEFT_COLUMN</a>    <a class="el" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R0">VDP_R0</a>, <a class="el" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R0">VDP_R0</a>) &= (~<a class="el" href="sms_2hardware_8h.html#R0_LCB">R0_LCB</a>))</td></tr>
206 <tr class="separator:SHOW_LEFT_COLUMN"><td class="memSeparator" colspan="2"> </td></tr>
207 <tr class="memitem:SET_BORDER_COLOR"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SET_BORDER_COLOR">SET_BORDER_COLOR</a>(C)   <a class="el" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R7">VDP_R7</a>, ((C) | 0xf0u))</td></tr>
208 <tr class="separator:SET_BORDER_COLOR"><td class="memSeparator" colspan="2"> </td></tr>
209 <tr class="memitem:SHOW_BKG"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SHOW_BKG">SHOW_BKG</a></td></tr>
210 <tr class="separator:SHOW_BKG"><td class="memSeparator" colspan="2"> </td></tr>
211 <tr class="memitem:HIDE_BKG"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#HIDE_BKG">HIDE_BKG</a></td></tr>
212 <tr class="separator:HIDE_BKG"><td class="memSeparator" colspan="2"> </td></tr>
213 <tr class="memitem:SHOW_WIN"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SHOW_WIN">SHOW_WIN</a></td></tr>
214 <tr class="separator:SHOW_WIN"><td class="memSeparator" colspan="2"> </td></tr>
215 <tr class="memitem:HIDE_WIN"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#HIDE_WIN">HIDE_WIN</a></td></tr>
216 <tr class="separator:HIDE_WIN"><td class="memSeparator" colspan="2"> </td></tr>
217 <tr class="memitem:SHOW_SPRITES"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SHOW_SPRITES">SHOW_SPRITES</a>    (<a class="el" href="sms_8h.html#_sprites_OFF">_sprites_OFF</a> = 0)</td></tr>
218 <tr class="separator:SHOW_SPRITES"><td class="memSeparator" colspan="2"> </td></tr>
219 <tr class="memitem:HIDE_SPRITES"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#HIDE_SPRITES">HIDE_SPRITES</a>    (<a class="el" href="sms_8h.html#_sprites_OFF">_sprites_OFF</a> = 1)</td></tr>
220 <tr class="separator:HIDE_SPRITES"><td class="memSeparator" colspan="2"> </td></tr>
221 <tr class="memitem:SPRITES_8x16"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SPRITES_8x16">SPRITES_8x16</a>    <a class="el" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R1">VDP_R1</a>, <a class="el" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R1">VDP_R1</a>) |= <a class="el" href="sms_2hardware_8h.html#R1_SPR_8X16">R1_SPR_8X16</a>)</td></tr>
222 <tr class="separator:SPRITES_8x16"><td class="memSeparator" colspan="2"> </td></tr>
223 <tr class="memitem:SPRITES_8x8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SPRITES_8x8">SPRITES_8x8</a>    <a class="el" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R1">VDP_R1</a>, <a class="el" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R1">VDP_R1</a>) &= (~<a class="el" href="sms_2hardware_8h.html#R1_SPR_8X16">R1_SPR_8X16</a>))</td></tr>
224 <tr class="separator:SPRITES_8x8"><td class="memSeparator" colspan="2"> </td></tr>
225 <tr class="memitem:DEVICE_SUPPORTS_COLOR"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#DEVICE_SUPPORTS_COLOR">DEVICE_SUPPORTS_COLOR</a>   (<a class="el" href="types_8h.html#TRUE">TRUE</a>)</td></tr>
226 <tr class="separator:DEVICE_SUPPORTS_COLOR"><td class="memSeparator" colspan="2"> </td></tr>
227 <tr class="memitem:VBL_DONE"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#VBL_DONE">VBL_DONE</a>   <a class="el" href="sms_8h.html#_vbl_done">_vbl_done</a></td></tr>
228 <tr class="separator:VBL_DONE"><td class="memSeparator" colspan="2"> </td></tr>
229 <tr class="memitem:DIV_REG"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#DIV_REG">DIV_REG</a>   <a class="el" href="sms_8h.html#get_r_reg">get_r_reg</a>()</td></tr>
230 <tr class="separator:DIV_REG"><td class="memSeparator" colspan="2"> </td></tr>
231 <tr class="memitem:_current_bank"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#_current_bank">_current_bank</a>   MAP_FRAME1</td></tr>
232 <tr class="separator:_current_bank"><td class="memSeparator" colspan="2"> </td></tr>
233 <tr class="memitem:CURRENT_BANK"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#CURRENT_BANK">CURRENT_BANK</a>   MAP_FRAME1</td></tr>
234 <tr class="separator:CURRENT_BANK"><td class="memSeparator" colspan="2"> </td></tr>
235 <tr class="memitem:BANK"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#BANK">BANK</a>(VARNAME)   ( (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>) & __bank_ ## VARNAME )</td></tr>
236 <tr class="separator:BANK"><td class="memSeparator" colspan="2"> </td></tr>
237 <tr class="memitem:BANKREF"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#BANKREF">BANKREF</a>(VARNAME)</td></tr>
238 <tr class="separator:BANKREF"><td class="memSeparator" colspan="2"> </td></tr>
239 <tr class="memitem:BANKREF_EXTERN"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#BANKREF_EXTERN">BANKREF_EXTERN</a>(VARNAME)   extern const void __bank_ ## VARNAME;</td></tr>
240 <tr class="separator:BANKREF_EXTERN"><td class="memSeparator" colspan="2"> </td></tr>
241 <tr class="memitem:SWITCH_ROM"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SWITCH_ROM">SWITCH_ROM</a>(<a class="el" href="sms_8h.html#b">b</a>)   MAP_FRAME1=(<a class="el" href="sms_8h.html#b">b</a>)</td></tr>
242 <tr class="separator:SWITCH_ROM"><td class="memSeparator" colspan="2"> </td></tr>
243 <tr class="memitem:SWITCH_ROM1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SWITCH_ROM1">SWITCH_ROM1</a>   <a class="el" href="msx_8h.html#SWITCH_ROM">SWITCH_ROM</a></td></tr>
244 <tr class="separator:SWITCH_ROM1"><td class="memSeparator" colspan="2"> </td></tr>
245 <tr class="memitem:SWITCH_ROM2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SWITCH_ROM2">SWITCH_ROM2</a>(<a class="el" href="sms_8h.html#b">b</a>)   MAP_FRAME2=(<a class="el" href="sms_8h.html#b">b</a>)</td></tr>
246 <tr class="separator:SWITCH_ROM2"><td class="memSeparator" colspan="2"> </td></tr>
247 <tr class="memitem:SWITCH_RAM"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SWITCH_RAM">SWITCH_RAM</a>(<a class="el" href="sms_8h.html#b">b</a>)   RAM_CONTROL=((<a class="el" href="sms_8h.html#b">b</a>)&1)?RAM_CONTROL|RAMCTL_BANK:RAM_CONTROL&(~<a class="el" href="sms_2hardware_8h.html#RAMCTL_BANK">RAMCTL_BANK</a>)</td></tr>
248 <tr class="separator:SWITCH_RAM"><td class="memSeparator" colspan="2"> </td></tr>
249 <tr class="memitem:ENABLE_RAM"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ENABLE_RAM">ENABLE_RAM</a>   RAM_CONTROL|=<a class="el" href="sms_2hardware_8h.html#RAMCTL_RAM">RAMCTL_RAM</a></td></tr>
250 <tr class="separator:ENABLE_RAM"><td class="memSeparator" colspan="2"> </td></tr>
251 <tr class="memitem:DISABLE_RAM"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#DISABLE_RAM">DISABLE_RAM</a>   RAM_CONTROL&=(~<a class="el" href="sms_2hardware_8h.html#RAMCTL_RAM">RAMCTL_RAM</a>)</td></tr>
252 <tr class="separator:DISABLE_RAM"><td class="memSeparator" colspan="2"> </td></tr>
253 <tr class="memitem:set_bkg_palette_entry"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_palette_entry">set_bkg_palette_entry</a>   <a class="el" href="sms_8h.html#set_palette_entry">set_palette_entry</a></td></tr>
254 <tr class="separator:set_bkg_palette_entry"><td class="memSeparator" colspan="2"> </td></tr>
255 <tr class="memitem:set_sprite_palette_entry"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_sprite_palette_entry">set_sprite_palette_entry</a>(palette, entry, rgb_data)   <a class="el" href="sms_8h.html#set_palette_entry">set_palette_entry</a>(1,entry,rgb_data)</td></tr>
256 <tr class="separator:set_sprite_palette_entry"><td class="memSeparator" colspan="2"> </td></tr>
257 <tr class="memitem:set_bkg_palette"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_palette">set_bkg_palette</a>   <a class="el" href="sms_8h.html#set_palette">set_palette</a></td></tr>
258 <tr class="separator:set_bkg_palette"><td class="memSeparator" colspan="2"> </td></tr>
259 <tr class="memitem:set_sprite_palette"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_sprite_palette">set_sprite_palette</a>(first_palette, nb_palettes, rgb_data)   <a class="el" href="sms_8h.html#set_palette">set_palette</a>(1,1,rgb_data)</td></tr>
260 <tr class="separator:set_sprite_palette"><td class="memSeparator" colspan="2"> </td></tr>
261 <tr class="memitem:COMPAT_PALETTE"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#COMPAT_PALETTE">COMPAT_PALETTE</a>(C0, C1, C2, C3)   (((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)(C3) << 12) | ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)(C2) << 8) | ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)(C1) << 4) | (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)(C0))</td></tr>
262 <tr class="separator:COMPAT_PALETTE"><td class="memSeparator" colspan="2"> </td></tr>
263 <tr class="memitem:set_bkg_tiles"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_tiles">set_bkg_tiles</a>   <a class="el" href="sms_8h.html#set_tile_map_compat">set_tile_map_compat</a></td></tr>
264 <tr class="separator:set_bkg_tiles"><td class="memSeparator" colspan="2"> </td></tr>
265 <tr class="memitem:set_win_tiles"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_win_tiles">set_win_tiles</a>   <a class="el" href="sms_8h.html#set_tile_map_compat">set_tile_map_compat</a></td></tr>
266 <tr class="separator:set_win_tiles"><td class="memSeparator" colspan="2"> </td></tr>
267 <tr class="memitem:set_bkg_submap"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_submap">set_bkg_submap</a>   <a class="el" href="sms_8h.html#set_tile_submap_compat">set_tile_submap_compat</a></td></tr>
268 <tr class="separator:set_bkg_submap"><td class="memSeparator" colspan="2"> </td></tr>
269 <tr class="memitem:set_win_submap"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_win_submap">set_win_submap</a>   <a class="el" href="sms_8h.html#set_tile_submap_compat">set_tile_submap_compat</a></td></tr>
270 <tr class="separator:set_win_submap"><td class="memSeparator" colspan="2"> </td></tr>
271 <tr class="memitem:fill_bkg_rect"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#fill_bkg_rect">fill_bkg_rect</a>   <a class="el" href="sms_8h.html#fill_rect_compat">fill_rect_compat</a></td></tr>
272 <tr class="separator:fill_bkg_rect"><td class="memSeparator" colspan="2"> </td></tr>
273 <tr class="memitem:fill_win_rect"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#fill_win_rect">fill_win_rect</a>   <a class="el" href="sms_8h.html#fill_rect_compat">fill_rect_compat</a></td></tr>
274 <tr class="separator:fill_win_rect"><td class="memSeparator" colspan="2"> </td></tr>
275 <tr class="memitem:DISABLE_VBL_TRANSFER"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#DISABLE_VBL_TRANSFER">DISABLE_VBL_TRANSFER</a>    <a class="el" href="sms_8h.html#_shadow_OAM_base">_shadow_OAM_base</a> = 0</td></tr>
276 <tr class="separator:DISABLE_VBL_TRANSFER"><td class="memSeparator" colspan="2"> </td></tr>
277 <tr class="memitem:ENABLE_VBL_TRANSFER"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ENABLE_VBL_TRANSFER">ENABLE_VBL_TRANSFER</a>    <a class="el" href="sms_8h.html#_shadow_OAM_base">_shadow_OAM_base</a> = (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>)((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)&<a class="el" href="sms_8h.html#shadow_OAM">shadow_OAM</a> >> 8)</td></tr>
278 <tr class="separator:ENABLE_VBL_TRANSFER"><td class="memSeparator" colspan="2"> </td></tr>
279 <tr class="memitem:MAX_HARDWARE_SPRITES"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#MAX_HARDWARE_SPRITES">MAX_HARDWARE_SPRITES</a>   64</td></tr>
280 <tr class="separator:MAX_HARDWARE_SPRITES"><td class="memSeparator" colspan="2"> </td></tr>
281 <tr class="memitem:HARDWARE_SPRITE_CAN_FLIP_X"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#HARDWARE_SPRITE_CAN_FLIP_X">HARDWARE_SPRITE_CAN_FLIP_X</a>   0</td></tr>
282 <tr class="separator:HARDWARE_SPRITE_CAN_FLIP_X"><td class="memSeparator" colspan="2"> </td></tr>
283 <tr class="memitem:HARDWARE_SPRITE_CAN_FLIP_Y"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#HARDWARE_SPRITE_CAN_FLIP_Y">HARDWARE_SPRITE_CAN_FLIP_Y</a>   0</td></tr>
284 <tr class="separator:HARDWARE_SPRITE_CAN_FLIP_Y"><td class="memSeparator" colspan="2"> </td></tr>
285 <tr class="memitem:set_bkg_tile_xy"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_tile_xy">set_bkg_tile_xy</a>   <a class="el" href="sms_8h.html#set_tile_xy">set_tile_xy</a></td></tr>
286 <tr class="separator:set_bkg_tile_xy"><td class="memSeparator" colspan="2"> </td></tr>
287 <tr class="memitem:set_win_tile_xy"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_win_tile_xy">set_win_tile_xy</a>   <a class="el" href="sms_8h.html#set_tile_xy">set_tile_xy</a></td></tr>
288 <tr class="separator:set_win_tile_xy"><td class="memSeparator" colspan="2"> </td></tr>
289 <tr class="memitem:set_bkg_attribute_xy"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_attribute_xy">set_bkg_attribute_xy</a>   <a class="el" href="sms_8h.html#set_attribute_xy">set_attribute_xy</a></td></tr>
290 <tr class="separator:set_bkg_attribute_xy"><td class="memSeparator" colspan="2"> </td></tr>
291 <tr class="memitem:set_win_attribute_xy"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_win_attribute_xy">set_win_attribute_xy</a>   <a class="el" href="sms_8h.html#set_attribute_xy">set_attribute_xy</a></td></tr>
292 <tr class="separator:set_win_attribute_xy"><td class="memSeparator" colspan="2"> </td></tr>
293 <tr class="memitem:get_win_xy_addr"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#get_win_xy_addr">get_win_xy_addr</a>   <a class="el" href="sms_8h.html#get_bkg_xy_addr">get_bkg_xy_addr</a></td></tr>
294 <tr class="separator:get_win_xy_addr"><td class="memSeparator" colspan="2"> </td></tr>
295 </table><table class="memberdecls">
296 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
297 Typedefs</h2></td></tr>
298 <tr class="memitem:int_handler"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#int_handler">int_handler</a>) (void) <a class="el" href="asm_2types_8h.html#NONBANKED">NONBANKED</a></td></tr>
299 <tr class="separator:int_handler"><td class="memSeparator" colspan="2"> </td></tr>
300 </table><table class="memberdecls">
301 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
302 Functions</h2></td></tr>
303 <tr class="memitem:WRITE_VDP_CMD"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#WRITE_VDP_CMD">WRITE_VDP_CMD</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> cmd) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#b">b</a></td></tr>
304 <tr class="separator:WRITE_VDP_CMD"><td class="memSeparator" colspan="2"> </td></tr>
305 <tr class="memitem:WRITE_VDP_DATA"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#WRITE_VDP_DATA">WRITE_VDP_DATA</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> data) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#b">b</a></td></tr>
306 <tr class="separator:WRITE_VDP_DATA"><td class="memSeparator" colspan="2"> </td></tr>
307 <tr class="memitem:mode"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#mode">mode</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> m) <a class="el" href="asm_2types_8h.html#OLDCALL">OLDCALL</a></td></tr>
308 <tr class="separator:mode"><td class="memSeparator" colspan="2"> </td></tr>
309 <tr class="memitem:get_mode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#get_mode">get_mode</a> (void) <a class="el" href="asm_2types_8h.html#OLDCALL">OLDCALL</a></td></tr>
310 <tr class="separator:get_mode"><td class="memSeparator" colspan="2"> </td></tr>
311 <tr class="memitem:get_system"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#get_system">get_system</a> (void)</td></tr>
312 <tr class="separator:get_system"><td class="memSeparator" colspan="2"> </td></tr>
313 <tr class="memitem:set_interrupts"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_interrupts">set_interrupts</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> flags) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a></td></tr>
314 <tr class="separator:set_interrupts"><td class="memSeparator" colspan="2"> </td></tr>
315 <tr class="memitem:remove_VBL"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#remove_VBL">remove_VBL</a> (<a class="el" href="sms_8h.html#int_handler">int_handler</a> <a class="el" href="sms_8h.html#h">h</a>) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
316 <tr class="separator:remove_VBL"><td class="memSeparator" colspan="2"> </td></tr>
317 <tr class="memitem:remove_LCD"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#remove_LCD">remove_LCD</a> (<a class="el" href="sms_8h.html#int_handler">int_handler</a> <a class="el" href="sms_8h.html#h">h</a>) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#b">b</a></td></tr>
318 <tr class="separator:remove_LCD"><td class="memSeparator" colspan="2"> </td></tr>
319 <tr class="memitem:remove_TIM"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#remove_TIM">remove_TIM</a> (<a class="el" href="sms_8h.html#int_handler">int_handler</a> <a class="el" href="sms_8h.html#h">h</a>) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a></td></tr>
320 <tr class="separator:remove_TIM"><td class="memSeparator" colspan="2"> </td></tr>
321 <tr class="memitem:remove_SIO"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#remove_SIO">remove_SIO</a> (<a class="el" href="sms_8h.html#int_handler">int_handler</a> <a class="el" href="sms_8h.html#h">h</a>) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a></td></tr>
322 <tr class="separator:remove_SIO"><td class="memSeparator" colspan="2"> </td></tr>
323 <tr class="memitem:remove_JOY"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#remove_JOY">remove_JOY</a> (<a class="el" href="sms_8h.html#int_handler">int_handler</a> <a class="el" href="sms_8h.html#h">h</a>) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a></td></tr>
324 <tr class="separator:remove_JOY"><td class="memSeparator" colspan="2"> </td></tr>
325 <tr class="memitem:add_VBL"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#add_VBL">add_VBL</a> (<a class="el" href="sms_8h.html#int_handler">int_handler</a> <a class="el" href="sms_8h.html#h">h</a>) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#d">d</a></td></tr>
326 <tr class="separator:add_VBL"><td class="memSeparator" colspan="2"> </td></tr>
327 <tr class="memitem:add_LCD"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#add_LCD">add_LCD</a> (<a class="el" href="sms_8h.html#int_handler">int_handler</a> <a class="el" href="sms_8h.html#h">h</a>) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#b">b</a></td></tr>
328 <tr class="separator:add_LCD"><td class="memSeparator" colspan="2"> </td></tr>
329 <tr class="memitem:add_TIM"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#add_TIM">add_TIM</a> (<a class="el" href="sms_8h.html#int_handler">int_handler</a> <a class="el" href="sms_8h.html#h">h</a>) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a></td></tr>
330 <tr class="separator:add_TIM"><td class="memSeparator" colspan="2"> </td></tr>
331 <tr class="memitem:add_SIO"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#add_SIO">add_SIO</a> (<a class="el" href="sms_8h.html#int_handler">int_handler</a> <a class="el" href="sms_8h.html#h">h</a>) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a></td></tr>
332 <tr class="separator:add_SIO"><td class="memSeparator" colspan="2"> </td></tr>
333 <tr class="memitem:add_JOY"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#add_JOY">add_JOY</a> (<a class="el" href="sms_8h.html#int_handler">int_handler</a> <a class="el" href="sms_8h.html#h">h</a>) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a></td></tr>
334 <tr class="separator:add_JOY"><td class="memSeparator" colspan="2"> </td></tr>
335 <tr class="memitem:cancel_pending_interrupts"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#cancel_pending_interrupts">cancel_pending_interrupts</a> (void)</td></tr>
336 <tr class="separator:cancel_pending_interrupts"><td class="memSeparator" colspan="2"> </td></tr>
337 <tr class="memitem:move_bkg"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#move_bkg">move_bkg</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y)</td></tr>
338 <tr class="separator:move_bkg"><td class="memSeparator" colspan="2"> </td></tr>
339 <tr class="memitem:scroll_bkg"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#scroll_bkg">scroll_bkg</a> (<a class="el" href="stdint_8h.html#int8_t">int8_t</a> x, <a class="el" href="stdint_8h.html#int8_t">int8_t</a> y)</td></tr>
340 <tr class="separator:scroll_bkg"><td class="memSeparator" colspan="2"> </td></tr>
341 <tr class="memitem:vsync"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#vsync">vsync</a> (void) <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#b">b</a></td></tr>
342 <tr class="separator:vsync"><td class="memSeparator" colspan="2"> </td></tr>
343 <tr class="memitem:wait_vbl_done"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#wait_vbl_done">wait_vbl_done</a> (void) <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#b">b</a></td></tr>
344 <tr class="separator:wait_vbl_done"><td class="memSeparator" colspan="2"> </td></tr>
345 <tr class="memitem:display_off"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#display_off">display_off</a> (void)</td></tr>
346 <tr class="separator:display_off"><td class="memSeparator" colspan="2"> </td></tr>
347 <tr class="memitem:refresh_OAM"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#refresh_OAM">refresh_OAM</a> (void)</td></tr>
348 <tr class="separator:refresh_OAM"><td class="memSeparator" colspan="2"> </td></tr>
349 <tr class="memitem:get_r_reg"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#get_r_reg">get_r_reg</a> (void) <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#b">b</a></td></tr>
350 <tr class="separator:get_r_reg"><td class="memSeparator" colspan="2"> </td></tr>
351 <tr class="memitem:delay"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#delay">delay</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> <a class="el" href="sms_8h.html#d">d</a>) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a></td></tr>
352 <tr class="separator:delay"><td class="memSeparator" colspan="2"> </td></tr>
353 <tr class="memitem:joypad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#joypad">joypad</a> (void) <a class="el" href="asm_2types_8h.html#OLDCALL">OLDCALL</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#b">b</a></td></tr>
354 <tr class="separator:joypad"><td class="memSeparator" colspan="2"> </td></tr>
355 <tr class="memitem:waitpad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#waitpad">waitpad</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> mask) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#d">d</a></td></tr>
356 <tr class="separator:waitpad"><td class="memSeparator" colspan="2"> </td></tr>
357 <tr class="memitem:waitpadup"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#waitpadup">waitpadup</a> (void) <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#d">d</a></td></tr>
358 <tr class="separator:waitpadup"><td class="memSeparator" colspan="2"> </td></tr>
359 <tr class="memitem:joypad_init"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#joypad_init">joypad_init</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> npads, <a class="el" href="structjoypads__t.html">joypads_t</a> *joypads) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a></td></tr>
360 <tr class="separator:joypad_init"><td class="memSeparator" colspan="2"> </td></tr>
361 <tr class="memitem:joypad_ex"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#joypad_ex">joypad_ex</a> (<a class="el" href="structjoypads__t.html">joypads_t</a> *joypads) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_FASTCALL">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
362 <tr class="separator:joypad_ex"><td class="memSeparator" colspan="2"> </td></tr>
363 <tr class="memitem:enable_interrupts"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#enable_interrupts">enable_interrupts</a> (void) <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(a</td></tr>
364 <tr class="separator:enable_interrupts"><td class="memSeparator" colspan="2"> </td></tr>
365 <tr class="memitem:disable_interrupts"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#disable_interrupts">disable_interrupts</a> (void) <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(a</td></tr>
366 <tr class="separator:disable_interrupts"><td class="memSeparator" colspan="2"> </td></tr>
367 <tr class="memitem:set_default_palette"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_default_palette">set_default_palette</a> (void)</td></tr>
368 <tr class="separator:set_default_palette"><td class="memSeparator" colspan="2"> </td></tr>
369 <tr class="memitem:cgb_compatibility"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#cgb_compatibility">cgb_compatibility</a> (void)</td></tr>
370 <tr class="separator:cgb_compatibility"><td class="memSeparator" colspan="2"> </td></tr>
371 <tr class="memitem:cpu_fast"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#cpu_fast">cpu_fast</a> (void)</td></tr>
372 <tr class="separator:cpu_fast"><td class="memSeparator" colspan="2"> </td></tr>
373 <tr class="memitem:set_palette_entry"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_palette_entry">set_palette_entry</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> palette, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> entry, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> rgb_data) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
374 <tr class="separator:set_palette_entry"><td class="memSeparator" colspan="2"> </td></tr>
375 <tr class="memitem:set_palette"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_palette">set_palette</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> first_palette, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> nb_palettes, const <a class="el" href="cgb_8h.html#palette_color_t">palette_color_t</a> *rgb_data) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a></td></tr>
376 <tr class="separator:set_palette"><td class="memSeparator" colspan="2"> </td></tr>
377 <tr class="memitem:set_native_tile_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_native_tile_data">set_native_tile_data</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, const void *src) <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
378 <tr class="separator:set_native_tile_data"><td class="memSeparator" colspan="2"> </td></tr>
379 <tr class="memitem:set_bkg_4bpp_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_4bpp_data">set_bkg_4bpp_data</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, const void *src) <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
380 <tr class="separator:set_bkg_4bpp_data"><td class="memSeparator" colspan="2"> </td></tr>
381 <tr class="memitem:set_bkg_native_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_native_data">set_bkg_native_data</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, const void *src) <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
382 <tr class="separator:set_bkg_native_data"><td class="memSeparator" colspan="2"> </td></tr>
383 <tr class="memitem:set_sprite_4bpp_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_sprite_4bpp_data">set_sprite_4bpp_data</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> start, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, const void *src) <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
384 <tr class="separator:set_sprite_4bpp_data"><td class="memSeparator" colspan="2"> </td></tr>
385 <tr class="memitem:set_sprite_native_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_sprite_native_data">set_sprite_native_data</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> start, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, const void *src) <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
386 <tr class="separator:set_sprite_native_data"><td class="memSeparator" colspan="2"> </td></tr>
387 <tr class="memitem:set_2bpp_palette"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_2bpp_palette">set_2bpp_palette</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> palette)</td></tr>
388 <tr class="separator:set_2bpp_palette"><td class="memSeparator" colspan="2"> </td></tr>
389 <tr class="memitem:set_tile_2bpp_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_tile_2bpp_data">set_tile_2bpp_data</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, const void *src, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> palette) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
390 <tr class="separator:set_tile_2bpp_data"><td class="memSeparator" colspan="2"> </td></tr>
391 <tr class="memitem:set_bkg_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_data">set_bkg_data</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, const void *src)</td></tr>
392 <tr class="separator:set_bkg_data"><td class="memSeparator" colspan="2"> </td></tr>
393 <tr class="memitem:set_sprite_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_sprite_data">set_sprite_data</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, const void *src)</td></tr>
394 <tr class="separator:set_sprite_data"><td class="memSeparator" colspan="2"> </td></tr>
395 <tr class="memitem:set_bkg_2bpp_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_2bpp_data">set_bkg_2bpp_data</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, const void *src)</td></tr>
396 <tr class="separator:set_bkg_2bpp_data"><td class="memSeparator" colspan="2"> </td></tr>
397 <tr class="memitem:set_sprite_2bpp_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_sprite_2bpp_data">set_sprite_2bpp_data</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, const void *src)</td></tr>
398 <tr class="separator:set_sprite_2bpp_data"><td class="memSeparator" colspan="2"> </td></tr>
399 <tr class="memitem:set_1bpp_colors"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_1bpp_colors">set_1bpp_colors</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> fgcolor, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> bgcolor)</td></tr>
400 <tr class="separator:set_1bpp_colors"><td class="memSeparator" colspan="2"> </td></tr>
401 <tr class="memitem:set_tile_1bpp_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_tile_1bpp_data">set_tile_1bpp_data</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, const void *src, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> colors) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
402 <tr class="separator:set_tile_1bpp_data"><td class="memSeparator" colspan="2"> </td></tr>
403 <tr class="memitem:set_bkg_1bpp_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_1bpp_data">set_bkg_1bpp_data</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, const void *src)</td></tr>
404 <tr class="separator:set_bkg_1bpp_data"><td class="memSeparator" colspan="2"> </td></tr>
405 <tr class="memitem:set_sprite_1bpp_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_sprite_1bpp_data">set_sprite_1bpp_data</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> start, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> ntiles, const void *src)</td></tr>
406 <tr class="separator:set_sprite_1bpp_data"><td class="memSeparator" colspan="2"> </td></tr>
407 <tr class="memitem:set_data"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_data">set_data</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> dst, const void *src, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> size) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
408 <tr class="separator:set_data"><td class="memSeparator" colspan="2"> </td></tr>
409 <tr class="memitem:vmemcpy"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#vmemcpy">vmemcpy</a> (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> dst, const void *src, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> size) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
410 <tr class="separator:vmemcpy"><td class="memSeparator" colspan="2"> </td></tr>
411 <tr class="memitem:set_tile_map"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_tile_map">set_tile_map</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="sms_8h.html#h">h</a>, const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a></td></tr>
412 <tr class="separator:set_tile_map"><td class="memSeparator" colspan="2"> </td></tr>
413 <tr class="memitem:set_tile_map_compat"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_tile_map_compat">set_tile_map_compat</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="sms_8h.html#h">h</a>, const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a></td></tr>
414 <tr class="separator:set_tile_map_compat"><td class="memSeparator" colspan="2"> </td></tr>
415 <tr class="memitem:set_bkg_based_tiles"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_based_tiles">set_bkg_based_tiles</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="sms_8h.html#h">h</a>, const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile)</td></tr>
416 <tr class="separator:set_bkg_based_tiles"><td class="memSeparator" colspan="2"> </td></tr>
417 <tr class="memitem:set_win_based_tiles"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_win_based_tiles">set_win_based_tiles</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="sms_8h.html#h">h</a>, const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile)</td></tr>
418 <tr class="separator:set_win_based_tiles"><td class="memSeparator" colspan="2"> </td></tr>
419 <tr class="memitem:set_bkg_attributes"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_attributes">set_bkg_attributes</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="sms_8h.html#h">h</a>, const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> *tiles)</td></tr>
420 <tr class="separator:set_bkg_attributes"><td class="memSeparator" colspan="2"> </td></tr>
421 <tr class="memitem:set_tile_submap"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_tile_submap">set_tile_submap</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="sms_8h.html#h">h</a>, const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> *map, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> map_w) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a></td></tr>
422 <tr class="separator:set_tile_submap"><td class="memSeparator" colspan="2"> </td></tr>
423 <tr class="memitem:set_tile_submap_compat"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_tile_submap_compat">set_tile_submap_compat</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="sms_8h.html#h">h</a>, const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> *map, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> map_w) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a></td></tr>
424 <tr class="separator:set_tile_submap_compat"><td class="memSeparator" colspan="2"> </td></tr>
425 <tr class="memitem:set_bkg_based_submap"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_based_submap">set_bkg_based_submap</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="sms_8h.html#h">h</a>, const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> *map, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> map_w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile)</td></tr>
426 <tr class="separator:set_bkg_based_submap"><td class="memSeparator" colspan="2"> </td></tr>
427 <tr class="memitem:set_win_based_submap"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_win_based_submap">set_win_based_submap</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="sms_8h.html#h">h</a>, const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> *map, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> map_w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> base_tile)</td></tr>
428 <tr class="separator:set_win_based_submap"><td class="memSeparator" colspan="2"> </td></tr>
429 <tr class="memitem:set_bkg_submap_attributes"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_bkg_submap_attributes">set_bkg_submap_attributes</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="sms_8h.html#h">h</a>, const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> *map, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> map_w)</td></tr>
430 <tr class="separator:set_bkg_submap_attributes"><td class="memSeparator" colspan="2"> </td></tr>
431 <tr class="memitem:fill_rect"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#fill_rect">fill_rect</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="sms_8h.html#h">h</a>, const <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> tile) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a></td></tr>
432 <tr class="separator:fill_rect"><td class="memSeparator" colspan="2"> </td></tr>
433 <tr class="memitem:fill_rect_compat"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#fill_rect_compat">fill_rect_compat</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> w, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> <a class="el" href="sms_8h.html#h">h</a>, const <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> tile) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a></td></tr>
434 <tr class="separator:fill_rect_compat"><td class="memSeparator" colspan="2"> </td></tr>
435 <tr class="memitem:SET_SHADOW_OAM_ADDRESS"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#SET_SHADOW_OAM_ADDRESS">SET_SHADOW_OAM_ADDRESS</a> (void *address)</td></tr>
436 <tr class="separator:SET_SHADOW_OAM_ADDRESS"><td class="memSeparator" colspan="2"> </td></tr>
437 <tr class="memitem:set_sprite_tile"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_sprite_tile">set_sprite_tile</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> nb, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> tile)</td></tr>
438 <tr class="separator:set_sprite_tile"><td class="memSeparator" colspan="2"> </td></tr>
439 <tr class="memitem:get_sprite_tile"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#get_sprite_tile">get_sprite_tile</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> nb)</td></tr>
440 <tr class="separator:get_sprite_tile"><td class="memSeparator" colspan="2"> </td></tr>
441 <tr class="memitem:set_sprite_prop"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_sprite_prop">set_sprite_prop</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> nb, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> prop)</td></tr>
442 <tr class="separator:set_sprite_prop"><td class="memSeparator" colspan="2"> </td></tr>
443 <tr class="memitem:get_sprite_prop"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#get_sprite_prop">get_sprite_prop</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> nb)</td></tr>
444 <tr class="separator:get_sprite_prop"><td class="memSeparator" colspan="2"> </td></tr>
445 <tr class="memitem:move_sprite"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#move_sprite">move_sprite</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> nb, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y)</td></tr>
446 <tr class="separator:move_sprite"><td class="memSeparator" colspan="2"> </td></tr>
447 <tr class="memitem:scroll_sprite"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#scroll_sprite">scroll_sprite</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> nb, <a class="el" href="stdint_8h.html#int8_t">int8_t</a> x, <a class="el" href="stdint_8h.html#int8_t">int8_t</a> y)</td></tr>
448 <tr class="separator:scroll_sprite"><td class="memSeparator" colspan="2"> </td></tr>
449 <tr class="memitem:hide_sprite"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#hide_sprite">hide_sprite</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> nb)</td></tr>
450 <tr class="separator:hide_sprite"><td class="memSeparator" colspan="2"> </td></tr>
451 <tr class="memitem:set_vram_byte"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_vram_byte">set_vram_byte</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> *addr, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> v) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
452 <tr class="separator:set_vram_byte"><td class="memSeparator" colspan="2"> </td></tr>
453 <tr class="memitem:set_attributed_tile_xy"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_attributed_tile_xy">set_attributed_tile_xy</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> t) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
454 <tr class="separator:set_attributed_tile_xy"><td class="memSeparator" colspan="2"> </td></tr>
455 <tr class="memitem:set_tile_xy"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_tile_xy">set_tile_xy</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> t) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
456 <tr class="separator:set_tile_xy"><td class="memSeparator" colspan="2"> </td></tr>
457 <tr class="memitem:set_attribute_xy"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#set_attribute_xy">set_attribute_xy</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> a) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
458 <tr class="separator:set_attribute_xy"><td class="memSeparator" colspan="2"> </td></tr>
459 <tr class="memitem:get_bkg_xy_addr"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#get_bkg_xy_addr">get_bkg_xy_addr</a> (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> x, <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> y) <a class="el" href="asm_2z80_2types_8h.html#Z88DK_CALLEE">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#PRESERVES_REGS">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
460 <tr class="separator:get_bkg_xy_addr"><td class="memSeparator" colspan="2"> </td></tr>
461 </table><table class="memberdecls">
462 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
463 Variables</h2></td></tr>
464 <tr class="memitem:_BIOS"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="asm_2types_8h.html#UBYTE">UBYTE</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#_BIOS">_BIOS</a></td></tr>
465 <tr class="separator:_BIOS"><td class="memSeparator" colspan="2"> </td></tr>
466 <tr class="memitem:_SYSTEM"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#_SYSTEM">_SYSTEM</a></td></tr>
467 <tr class="separator:_SYSTEM"><td class="memSeparator" colspan="2"> </td></tr>
468 <tr class="memitem:c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#c">c</a></td></tr>
469 <tr class="separator:c"><td class="memSeparator" colspan="2"> </td></tr>
470 <tr class="memitem:d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#d">d</a></td></tr>
471 <tr class="separator:d"><td class="memSeparator" colspan="2"> </td></tr>
472 <tr class="memitem:e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#e">e</a></td></tr>
473 <tr class="separator:e"><td class="memSeparator" colspan="2"> </td></tr>
474 <tr class="memitem:iyh"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#iyh">iyh</a></td></tr>
475 <tr class="separator:iyh"><td class="memSeparator" colspan="2"> </td></tr>
476 <tr class="memitem:iyl"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#iyl">iyl</a></td></tr>
477 <tr class="separator:iyl"><td class="memSeparator" colspan="2"> </td></tr>
478 <tr class="memitem:h"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#h">h</a></td></tr>
479 <tr class="separator:h"><td class="memSeparator" colspan="2"> </td></tr>
480 <tr class="memitem:l"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#l">l</a></td></tr>
481 <tr class="separator:l"><td class="memSeparator" colspan="2"> </td></tr>
482 <tr class="memitem:sys_time"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#sys_time">sys_time</a></td></tr>
483 <tr class="separator:sys_time"><td class="memSeparator" colspan="2"> </td></tr>
484 <tr class="memitem:_vbl_done"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#_vbl_done">_vbl_done</a></td></tr>
485 <tr class="separator:_vbl_done"><td class="memSeparator" colspan="2"> </td></tr>
486 <tr class="memitem:b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#b">b</a></td></tr>
487 <tr class="separator:b"><td class="memSeparator" colspan="2"> </td></tr>
488 <tr class="memitem:_current_2bpp_palette"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#_current_2bpp_palette">_current_2bpp_palette</a></td></tr>
489 <tr class="separator:_current_2bpp_palette"><td class="memSeparator" colspan="2"> </td></tr>
490 <tr class="memitem:_current_1bpp_colors"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#_current_1bpp_colors">_current_1bpp_colors</a></td></tr>
491 <tr class="separator:_current_1bpp_colors"><td class="memSeparator" colspan="2"> </td></tr>
492 <tr class="memitem:_map_tile_offset"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#_map_tile_offset">_map_tile_offset</a></td></tr>
493 <tr class="separator:_map_tile_offset"><td class="memSeparator" colspan="2"> </td></tr>
494 <tr class="memitem:_submap_tile_offset"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#_submap_tile_offset">_submap_tile_offset</a></td></tr>
495 <tr class="separator:_submap_tile_offset"><td class="memSeparator" colspan="2"> </td></tr>
496 <tr class="memitem:shadow_OAM"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#shadow_OAM">shadow_OAM</a> []</td></tr>
497 <tr class="separator:shadow_OAM"><td class="memSeparator" colspan="2"> </td></tr>
498 <tr class="memitem:_shadow_OAM_base"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#_shadow_OAM_base">_shadow_OAM_base</a></td></tr>
499 <tr class="separator:_shadow_OAM_base"><td class="memSeparator" colspan="2"> </td></tr>
500 <tr class="memitem:_shadow_OAM_OFF"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#_shadow_OAM_OFF">_shadow_OAM_OFF</a></td></tr>
501 <tr class="separator:_shadow_OAM_OFF"><td class="memSeparator" colspan="2"> </td></tr>
502 <tr class="memitem:_sprites_OFF"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#_sprites_OFF">_sprites_OFF</a></td></tr>
503 <tr class="separator:_sprites_OFF"><td class="memSeparator" colspan="2"> </td></tr>
504 </table>
505 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
506 <div class="textblock"><p >SMS/GG specific functions. </p>
507 </div><h2 class="groupheader">Macro Definition Documentation</h2>
508 <a id="SEGA" name="SEGA"></a>
509 <h2 class="memtitle"><span class="permalink"><a href="#SEGA">◆ </a></span>SEGA</h2>
510
511 <div class="memitem">
512 <div class="memproto">
513 <table class="memname">
514 <tr>
515 <td class="memname">#define SEGA</td>
516 </tr>
517 </table>
518 </div><div class="memdoc">
519
520 </div>
521 </div>
522 <a id="SYSTEM_60HZ" name="SYSTEM_60HZ"></a>
523 <h2 class="memtitle"><span class="permalink"><a href="#SYSTEM_60HZ">◆ </a></span>SYSTEM_60HZ</h2>
524
525 <div class="memitem">
526 <div class="memproto">
527 <table class="memname">
528 <tr>
529 <td class="memname">#define SYSTEM_60HZ   0x00</td>
530 </tr>
531 </table>
532 </div><div class="memdoc">
533
534 </div>
535 </div>
536 <a id="SYSTEM_50HZ" name="SYSTEM_50HZ"></a>
537 <h2 class="memtitle"><span class="permalink"><a href="#SYSTEM_50HZ">◆ </a></span>SYSTEM_50HZ</h2>
538
539 <div class="memitem">
540 <div class="memproto">
541 <table class="memname">
542 <tr>
543 <td class="memname">#define SYSTEM_50HZ   0x01</td>
544 </tr>
545 </table>
546 </div><div class="memdoc">
547
548 </div>
549 </div>
550 <a id="VBK_REG" name="VBK_REG"></a>
551 <h2 class="memtitle"><span class="permalink"><a href="#VBK_REG">◆ </a></span>VBK_REG</h2>
552
553 <div class="memitem">
554 <div class="memproto">
555 <table class="memname">
556 <tr>
557 <td class="memname">#define VBK_REG   <a class="el" href="sms_2hardware_8h.html#VDP_ATTR_SHIFT">VDP_ATTR_SHIFT</a></td>
558 </tr>
559 </table>
560 </div><div class="memdoc">
561
562 </div>
563 </div>
564 <a id="J_UP" name="J_UP"></a>
565 <h2 class="memtitle"><span class="permalink"><a href="#J_UP">◆ </a></span>J_UP</h2>
566
567 <div class="memitem">
568 <div class="memproto">
569 <table class="memname">
570 <tr>
571 <td class="memname">#define J_UP   0b00000001</td>
572 </tr>
573 </table>
574 </div><div class="memdoc">
575 <p >Joypad bits. A logical OR of these is used in the wait_pad and joypad functions. For example, to see if the B button is pressed try</p>
576 <p >uint8_t keys; keys = <a class="el" href="sms_8h.html#joypad">joypad()</a>; if (keys & J_B) { ... }</p>
577 <dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#joypad">joypad</a> </dd></dl>
578
579 </div>
580 </div>
581 <a id="J_DOWN" name="J_DOWN"></a>
582 <h2 class="memtitle"><span class="permalink"><a href="#J_DOWN">◆ </a></span>J_DOWN</h2>
583
584 <div class="memitem">
585 <div class="memproto">
586 <table class="memname">
587 <tr>
588 <td class="memname">#define J_DOWN   0b00000010</td>
589 </tr>
590 </table>
591 </div><div class="memdoc">
592
593 </div>
594 </div>
595 <a id="J_LEFT" name="J_LEFT"></a>
596 <h2 class="memtitle"><span class="permalink"><a href="#J_LEFT">◆ </a></span>J_LEFT</h2>
597
598 <div class="memitem">
599 <div class="memproto">
600 <table class="memname">
601 <tr>
602 <td class="memname">#define J_LEFT   0b00000100</td>
603 </tr>
604 </table>
605 </div><div class="memdoc">
606
607 </div>
608 </div>
609 <a id="J_RIGHT" name="J_RIGHT"></a>
610 <h2 class="memtitle"><span class="permalink"><a href="#J_RIGHT">◆ </a></span>J_RIGHT</h2>
611
612 <div class="memitem">
613 <div class="memproto">
614 <table class="memname">
615 <tr>
616 <td class="memname">#define J_RIGHT   0b00001000</td>
617 </tr>
618 </table>
619 </div><div class="memdoc">
620
621 </div>
622 </div>
623 <a id="J_B" name="J_B"></a>
624 <h2 class="memtitle"><span class="permalink"><a href="#J_B">◆ </a></span>J_B</h2>
625
626 <div class="memitem">
627 <div class="memproto">
628 <table class="memname">
629 <tr>
630 <td class="memname">#define J_B   0b00010000</td>
631 </tr>
632 </table>
633 </div><div class="memdoc">
634
635 </div>
636 </div>
637 <a id="J_A" name="J_A"></a>
638 <h2 class="memtitle"><span class="permalink"><a href="#J_A">◆ </a></span>J_A</h2>
639
640 <div class="memitem">
641 <div class="memproto">
642 <table class="memname">
643 <tr>
644 <td class="memname">#define J_A   0b00100000</td>
645 </tr>
646 </table>
647 </div><div class="memdoc">
648
649 </div>
650 </div>
651 <a id="J_START" name="J_START"></a>
652 <h2 class="memtitle"><span class="permalink"><a href="#J_START">◆ </a></span>J_START</h2>
653
654 <div class="memitem">
655 <div class="memproto">
656 <table class="memname">
657 <tr>
658 <td class="memname">#define J_START   0b01000000</td>
659 </tr>
660 </table>
661 </div><div class="memdoc">
662
663 </div>
664 </div>
665 <a id="J_SELECT" name="J_SELECT"></a>
666 <h2 class="memtitle"><span class="permalink"><a href="#J_SELECT">◆ </a></span>J_SELECT</h2>
667
668 <div class="memitem">
669 <div class="memproto">
670 <table class="memname">
671 <tr>
672 <td class="memname">#define J_SELECT   0b10000000</td>
673 </tr>
674 </table>
675 </div><div class="memdoc">
676
677 </div>
678 </div>
679 <a id="M_TEXT_OUT" name="M_TEXT_OUT"></a>
680 <h2 class="memtitle"><span class="permalink"><a href="#M_TEXT_OUT">◆ </a></span>M_TEXT_OUT</h2>
681
682 <div class="memitem">
683 <div class="memproto">
684 <table class="memname">
685 <tr>
686 <td class="memname">#define M_TEXT_OUT   0x02U</td>
687 </tr>
688 </table>
689 </div><div class="memdoc">
690 <p >Screen modes. Normally used by internal functions only. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#mode">mode()</a> </dd></dl>
691
692 </div>
693 </div>
694 <a id="M_TEXT_INOUT" name="M_TEXT_INOUT"></a>
695 <h2 class="memtitle"><span class="permalink"><a href="#M_TEXT_INOUT">◆ </a></span>M_TEXT_INOUT</h2>
696
697 <div class="memitem">
698 <div class="memproto">
699 <table class="memname">
700 <tr>
701 <td class="memname">#define M_TEXT_INOUT   0x03U</td>
702 </tr>
703 </table>
704 </div><div class="memdoc">
705
706 </div>
707 </div>
708 <a id="M_NO_SCROLL" name="M_NO_SCROLL"></a>
709 <h2 class="memtitle"><span class="permalink"><a href="#M_NO_SCROLL">◆ </a></span>M_NO_SCROLL</h2>
710
711 <div class="memitem">
712 <div class="memproto">
713 <table class="memname">
714 <tr>
715 <td class="memname">#define M_NO_SCROLL   0x04U</td>
716 </tr>
717 </table>
718 </div><div class="memdoc">
719 <p >Set this in addition to the others to disable scrolling</p>
720 <p >If scrolling is disabled, the cursor returns to (0,0) </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#mode">mode()</a> </dd></dl>
721
722 </div>
723 </div>
724 <a id="M_NO_INTERP" name="M_NO_INTERP"></a>
725 <h2 class="memtitle"><span class="permalink"><a href="#M_NO_INTERP">◆ </a></span>M_NO_INTERP</h2>
726
727 <div class="memitem">
728 <div class="memproto">
729 <table class="memname">
730 <tr>
731 <td class="memname">#define M_NO_INTERP   0x08U</td>
732 </tr>
733 </table>
734 </div><div class="memdoc">
735 <p >Set this to disable interpretation </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#mode">mode()</a> </dd></dl>
736
737 </div>
738 </div>
739 <a id="S_BANK" name="S_BANK"></a>
740 <h2 class="memtitle"><span class="permalink"><a href="#S_BANK">◆ </a></span>S_BANK</h2>
741
742 <div class="memitem">
743 <div class="memproto">
744 <table class="memname">
745 <tr>
746 <td class="memname">#define S_BANK   0x01U</td>
747 </tr>
748 </table>
749 </div><div class="memdoc">
750 <p >The nineth bit of the tile id </p>
751
752 </div>
753 </div>
754 <a id="S_FLIPX" name="S_FLIPX"></a>
755 <h2 class="memtitle"><span class="permalink"><a href="#S_FLIPX">◆ </a></span>S_FLIPX</h2>
756
757 <div class="memitem">
758 <div class="memproto">
759 <table class="memname">
760 <tr>
761 <td class="memname">#define S_FLIPX   0x02U</td>
762 </tr>
763 </table>
764 </div><div class="memdoc">
765 <p >If set the background tile will be flipped horizontally. </p>
766
767 </div>
768 </div>
769 <a id="S_FLIPY" name="S_FLIPY"></a>
770 <h2 class="memtitle"><span class="permalink"><a href="#S_FLIPY">◆ </a></span>S_FLIPY</h2>
771
772 <div class="memitem">
773 <div class="memproto">
774 <table class="memname">
775 <tr>
776 <td class="memname">#define S_FLIPY   0x04U</td>
777 </tr>
778 </table>
779 </div><div class="memdoc">
780 <p >If set the background tile will be flipped vertically. </p>
781
782 </div>
783 </div>
784 <a id="S_PALETTE" name="S_PALETTE"></a>
785 <h2 class="memtitle"><span class="permalink"><a href="#S_PALETTE">◆ </a></span>S_PALETTE</h2>
786
787 <div class="memitem">
788 <div class="memproto">
789 <table class="memname">
790 <tr>
791 <td class="memname">#define S_PALETTE   0x08U</td>
792 </tr>
793 </table>
794 </div><div class="memdoc">
795 <p >If set the background tile palette. </p>
796
797 </div>
798 </div>
799 <a id="S_PRIORITY" name="S_PRIORITY"></a>
800 <h2 class="memtitle"><span class="permalink"><a href="#S_PRIORITY">◆ </a></span>S_PRIORITY</h2>
801
802 <div class="memitem">
803 <div class="memproto">
804 <table class="memname">
805 <tr>
806 <td class="memname">#define S_PRIORITY   0x10U</td>
807 </tr>
808 </table>
809 </div><div class="memdoc">
810 <p >If set the background tile priority. </p>
811
812 </div>
813 </div>
814 <a id="S_PAL" name="S_PAL"></a>
815 <h2 class="memtitle"><span class="permalink"><a href="#S_PAL">◆ </a></span>S_PAL</h2>
816
817 <div class="memitem">
818 <div class="memproto">
819 <table class="memname">
820 <tr>
821 <td class="memname">#define S_PAL</td>
822 <td>(</td>
823 <td class="paramtype"> </td>
824 <td class="paramname">n</td><td>)</td>
825 <td>   (((n) & 0x01U) << 3)</td>
826 </tr>
827 </table>
828 </div><div class="memdoc">
829 <p >Dummy function used by other platforms. Required for the png2asset tool's metasprite output. </p>
830
831 </div>
832 </div>
833 <a id="__WRITE_VDP_REG_UNSAFE" name="__WRITE_VDP_REG_UNSAFE"></a>
834 <h2 class="memtitle"><span class="permalink"><a href="#__WRITE_VDP_REG_UNSAFE">◆ </a></span>__WRITE_VDP_REG_UNSAFE</h2>
835
836 <div class="memitem">
837 <div class="memproto">
838 <table class="memname">
839 <tr>
840 <td class="memname">#define __WRITE_VDP_REG_UNSAFE</td>
841 <td>(</td>
842 <td class="paramtype"> </td>
843 <td class="paramname">REG, </td>
844 </tr>
845 <tr>
846 <td class="paramkey"></td>
847 <td></td>
848 <td class="paramtype"> </td>
849 <td class="paramname">v </td>
850 </tr>
851 <tr>
852 <td></td>
853 <td>)</td>
854 <td></td><td>   shadow_##REG=(v),VDP_CMD=(shadow_##REG),VDP_CMD=REG</td>
855 </tr>
856 </table>
857 </div><div class="memdoc">
858
859 </div>
860 </div>
861 <a id="__WRITE_VDP_REG" name="__WRITE_VDP_REG"></a>
862 <h2 class="memtitle"><span class="permalink"><a href="#__WRITE_VDP_REG">◆ </a></span>__WRITE_VDP_REG</h2>
863
864 <div class="memitem">
865 <div class="memproto">
866 <table class="memname">
867 <tr>
868 <td class="memname">#define __WRITE_VDP_REG</td>
869 <td>(</td>
870 <td class="paramtype"> </td>
871 <td class="paramname">REG, </td>
872 </tr>
873 <tr>
874 <td class="paramkey"></td>
875 <td></td>
876 <td class="paramtype"> </td>
877 <td class="paramname">v </td>
878 </tr>
879 <tr>
880 <td></td>
881 <td>)</td>
882 <td></td><td>   shadow_##REG=(v);__asm__("di");VDP_CMD=(shadow_##REG);VDP_CMD=REG;__asm__("ei")</td>
883 </tr>
884 </table>
885 </div><div class="memdoc">
886
887 </div>
888 </div>
889 <a id="__READ_VDP_REG" name="__READ_VDP_REG"></a>
890 <h2 class="memtitle"><span class="permalink"><a href="#__READ_VDP_REG">◆ </a></span>__READ_VDP_REG</h2>
891
892 <div class="memitem">
893 <div class="memproto">
894 <table class="memname">
895 <tr>
896 <td class="memname">#define __READ_VDP_REG</td>
897 <td>(</td>
898 <td class="paramtype"> </td>
899 <td class="paramname">REG</td><td>)</td>
900 <td>   shadow_##REG</td>
901 </tr>
902 </table>
903 </div><div class="memdoc">
904
905 </div>
906 </div>
907 <a id="EMPTY_IFLAG" name="EMPTY_IFLAG"></a>
908 <h2 class="memtitle"><span class="permalink"><a href="#EMPTY_IFLAG">◆ </a></span>EMPTY_IFLAG</h2>
909
910 <div class="memitem">
911 <div class="memproto">
912 <table class="memname">
913 <tr>
914 <td class="memname">#define EMPTY_IFLAG   0x00U</td>
915 </tr>
916 </table>
917 </div><div class="memdoc">
918 <p >Disable calling of interrupt service routines </p>
919
920 </div>
921 </div>
922 <a id="VBL_IFLAG" name="VBL_IFLAG"></a>
923 <h2 class="memtitle"><span class="permalink"><a href="#VBL_IFLAG">◆ </a></span>VBL_IFLAG</h2>
924
925 <div class="memitem">
926 <div class="memproto">
927 <table class="memname">
928 <tr>
929 <td class="memname">#define VBL_IFLAG   0x01U</td>
930 </tr>
931 </table>
932 </div><div class="memdoc">
933 <p >VBlank Interrupt occurs at the start of the vertical blank.</p>
934 <p >During this period the video ram may be freely accessed. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#set_interrupts">set_interrupts()</a>, </dd>
935 <dd>
936 <a class="el" href="sms_8h.html#add_VBL">add_VBL</a> </dd></dl>
937
938 </div>
939 </div>
940 <a id="LCD_IFLAG" name="LCD_IFLAG"></a>
941 <h2 class="memtitle"><span class="permalink"><a href="#LCD_IFLAG">◆ </a></span>LCD_IFLAG</h2>
942
943 <div class="memitem">
944 <div class="memproto">
945 <table class="memname">
946 <tr>
947 <td class="memname">#define LCD_IFLAG   0x02U</td>
948 </tr>
949 </table>
950 </div><div class="memdoc">
951 <p >LCD Interrupt when triggered by the STAT register. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#set_interrupts">set_interrupts()</a>, </dd>
952 <dd>
953 <a class="el" href="sms_8h.html#add_LCD">add_LCD</a> </dd></dl>
954
955 </div>
956 </div>
957 <a id="TIM_IFLAG" name="TIM_IFLAG"></a>
958 <h2 class="memtitle"><span class="permalink"><a href="#TIM_IFLAG">◆ </a></span>TIM_IFLAG</h2>
959
960 <div class="memitem">
961 <div class="memproto">
962 <table class="memname">
963 <tr>
964 <td class="memname">#define TIM_IFLAG   0x04U</td>
965 </tr>
966 </table>
967 </div><div class="memdoc">
968 <p >Does nothing on SMS/GG </p>
969
970 </div>
971 </div>
972 <a id="SIO_IFLAG" name="SIO_IFLAG"></a>
973 <h2 class="memtitle"><span class="permalink"><a href="#SIO_IFLAG">◆ </a></span>SIO_IFLAG</h2>
974
975 <div class="memitem">
976 <div class="memproto">
977 <table class="memname">
978 <tr>
979 <td class="memname">#define SIO_IFLAG   0x08U</td>
980 </tr>
981 </table>
982 </div><div class="memdoc">
983 <p >Does nothing on SMS/GG </p>
984
985 </div>
986 </div>
987 <a id="JOY_IFLAG" name="JOY_IFLAG"></a>
988 <h2 class="memtitle"><span class="permalink"><a href="#JOY_IFLAG">◆ </a></span>JOY_IFLAG</h2>
989
990 <div class="memitem">
991 <div class="memproto">
992 <table class="memname">
993 <tr>
994 <td class="memname">#define JOY_IFLAG   0x10U</td>
995 </tr>
996 </table>
997 </div><div class="memdoc">
998 <p >Does nothing on SMS/GG </p>
999
1000 </div>
1001 </div>
1002 <a id="SCREENWIDTH" name="SCREENWIDTH"></a>
1003 <h2 class="memtitle"><span class="permalink"><a href="#SCREENWIDTH">◆ </a></span>SCREENWIDTH</h2>
1004
1005 <div class="memitem">
1006 <div class="memproto">
1007 <table class="memname">
1008 <tr>
1009 <td class="memname">#define SCREENWIDTH   <a class="el" href="sms_2hardware_8h.html#DEVICE_SCREEN_PX_WIDTH">DEVICE_SCREEN_PX_WIDTH</a></td>
1010 </tr>
1011 </table>
1012 </div><div class="memdoc">
1013 <p >Width of the visible screen in pixels. </p>
1014
1015 </div>
1016 </div>
1017 <a id="SCREENHEIGHT" name="SCREENHEIGHT"></a>
1018 <h2 class="memtitle"><span class="permalink"><a href="#SCREENHEIGHT">◆ </a></span>SCREENHEIGHT</h2>
1019
1020 <div class="memitem">
1021 <div class="memproto">
1022 <table class="memname">
1023 <tr>
1024 <td class="memname">#define SCREENHEIGHT   <a class="el" href="sms_2hardware_8h.html#DEVICE_SCREEN_PX_HEIGHT">DEVICE_SCREEN_PX_HEIGHT</a></td>
1025 </tr>
1026 </table>
1027 </div><div class="memdoc">
1028 <p >Height of the visible screen in pixels. </p>
1029
1030 </div>
1031 </div>
1032 <a id="MINWNDPOSX" name="MINWNDPOSX"></a>
1033 <h2 class="memtitle"><span class="permalink"><a href="#MINWNDPOSX">◆ </a></span>MINWNDPOSX</h2>
1034
1035 <div class="memitem">
1036 <div class="memproto">
1037 <table class="memname">
1038 <tr>
1039 <td class="memname">#define MINWNDPOSX   0x00U</td>
1040 </tr>
1041 </table>
1042 </div><div class="memdoc">
1043 <p >The Minimum X position of the Window Layer (Left edge of screen) </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#move_win">move_win()</a> </dd></dl>
1044
1045 </div>
1046 </div>
1047 <a id="MINWNDPOSY" name="MINWNDPOSY"></a>
1048 <h2 class="memtitle"><span class="permalink"><a href="#MINWNDPOSY">◆ </a></span>MINWNDPOSY</h2>
1049
1050 <div class="memitem">
1051 <div class="memproto">
1052 <table class="memname">
1053 <tr>
1054 <td class="memname">#define MINWNDPOSY   0x00U</td>
1055 </tr>
1056 </table>
1057 </div><div class="memdoc">
1058 <p >The Minimum Y position of the Window Layer (Top edge of screen) </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#move_win">move_win()</a> </dd></dl>
1059
1060 </div>
1061 </div>
1062 <a id="MAXWNDPOSX" name="MAXWNDPOSX"></a>
1063 <h2 class="memtitle"><span class="permalink"><a href="#MAXWNDPOSX">◆ </a></span>MAXWNDPOSX</h2>
1064
1065 <div class="memitem">
1066 <div class="memproto">
1067 <table class="memname">
1068 <tr>
1069 <td class="memname">#define MAXWNDPOSX   0x00U</td>
1070 </tr>
1071 </table>
1072 </div><div class="memdoc">
1073 <p >The Maximum X position of the Window Layer (Right edge of screen) </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#move_win">move_win()</a> </dd></dl>
1074
1075 </div>
1076 </div>
1077 <a id="MAXWNDPOSY" name="MAXWNDPOSY"></a>
1078 <h2 class="memtitle"><span class="permalink"><a href="#MAXWNDPOSY">◆ </a></span>MAXWNDPOSY</h2>
1079
1080 <div class="memitem">
1081 <div class="memproto">
1082 <table class="memname">
1083 <tr>
1084 <td class="memname">#define MAXWNDPOSY   0x00U</td>
1085 </tr>
1086 </table>
1087 </div><div class="memdoc">
1088 <p >The Maximum Y position of the Window Layer (Bottom edge of screen) </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#move_win">move_win()</a> </dd></dl>
1089
1090 </div>
1091 </div>
1092 <a id="DISPLAY_ON" name="DISPLAY_ON"></a>
1093 <h2 class="memtitle"><span class="permalink"><a href="#DISPLAY_ON">◆ </a></span>DISPLAY_ON</h2>
1094
1095 <div class="memitem">
1096 <div class="memproto">
1097 <table class="memname">
1098 <tr>
1099 <td class="memname">#define DISPLAY_ON    <a class="el" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R1">VDP_R1</a>, <a class="el" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R1">VDP_R1</a>) |= <a class="el" href="sms_2hardware_8h.html#R1_DISP_ON">R1_DISP_ON</a>)</td>
1100 </tr>
1101 </table>
1102 </div><div class="memdoc">
1103 <p >Turns the display back on. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#display_off">display_off</a>, <a class="el" href="sms_8h.html#DISPLAY_OFF">DISPLAY_OFF</a> </dd></dl>
1104
1105 </div>
1106 </div>
1107 <a id="DISPLAY_OFF" name="DISPLAY_OFF"></a>
1108 <h2 class="memtitle"><span class="permalink"><a href="#DISPLAY_OFF">◆ </a></span>DISPLAY_OFF</h2>
1109
1110 <div class="memitem">
1111 <div class="memproto">
1112 <table class="memname">
1113 <tr>
1114 <td class="memname">#define DISPLAY_OFF    <a class="el" href="sms_8h.html#display_off">display_off</a>();</td>
1115 </tr>
1116 </table>
1117 </div><div class="memdoc">
1118 <p >Turns the display off immediately. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#display_off">display_off</a>, <a class="el" href="sms_8h.html#DISPLAY_ON">DISPLAY_ON</a> </dd></dl>
1119
1120 </div>
1121 </div>
1122 <a id="HIDE_LEFT_COLUMN" name="HIDE_LEFT_COLUMN"></a>
1123 <h2 class="memtitle"><span class="permalink"><a href="#HIDE_LEFT_COLUMN">◆ </a></span>HIDE_LEFT_COLUMN</h2>
1124
1125 <div class="memitem">
1126 <div class="memproto">
1127 <table class="memname">
1128 <tr>
1129 <td class="memname">#define HIDE_LEFT_COLUMN    <a class="el" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R0">VDP_R0</a>, <a class="el" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R0">VDP_R0</a>) |= <a class="el" href="sms_2hardware_8h.html#R0_LCB">R0_LCB</a>)</td>
1130 </tr>
1131 </table>
1132 </div><div class="memdoc">
1133 <p >Blanks leftmost column, so it is not garbaged when you use horizontal scroll </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#SHOW_LEFT_COLUMN">SHOW_LEFT_COLUMN</a> </dd></dl>
1134
1135 </div>
1136 </div>
1137 <a id="SHOW_LEFT_COLUMN" name="SHOW_LEFT_COLUMN"></a>
1138 <h2 class="memtitle"><span class="permalink"><a href="#SHOW_LEFT_COLUMN">◆ </a></span>SHOW_LEFT_COLUMN</h2>
1139
1140 <div class="memitem">
1141 <div class="memproto">
1142 <table class="memname">
1143 <tr>
1144 <td class="memname">#define SHOW_LEFT_COLUMN    <a class="el" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R0">VDP_R0</a>, <a class="el" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R0">VDP_R0</a>) &= (~<a class="el" href="sms_2hardware_8h.html#R0_LCB">R0_LCB</a>))</td>
1145 </tr>
1146 </table>
1147 </div><div class="memdoc">
1148 <p >Shows leftmost column </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#HIDE_LEFT_COLUMN">HIDE_LEFT_COLUMN</a> </dd></dl>
1149
1150 </div>
1151 </div>
1152 <a id="SET_BORDER_COLOR" name="SET_BORDER_COLOR"></a>
1153 <h2 class="memtitle"><span class="permalink"><a href="#SET_BORDER_COLOR">◆ </a></span>SET_BORDER_COLOR</h2>
1154
1155 <div class="memitem">
1156 <div class="memproto">
1157 <table class="memname">
1158 <tr>
1159 <td class="memname">#define SET_BORDER_COLOR</td>
1160 <td>(</td>
1161 <td class="paramtype"> </td>
1162 <td class="paramname">C</td><td>)</td>
1163 <td>   <a class="el" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R7">VDP_R7</a>, ((C) | 0xf0u))</td>
1164 </tr>
1165 </table>
1166 </div><div class="memdoc">
1167 <p >Sets border color </p>
1168
1169 </div>
1170 </div>
1171 <a id="SHOW_BKG" name="SHOW_BKG"></a>
1172 <h2 class="memtitle"><span class="permalink"><a href="#SHOW_BKG">◆ </a></span>SHOW_BKG</h2>
1173
1174 <div class="memitem">
1175 <div class="memproto">
1176 <table class="memname">
1177 <tr>
1178 <td class="memname">#define SHOW_BKG</td>
1179 </tr>
1180 </table>
1181 </div><div class="memdoc">
1182 <p >Turns on the background layer. Not yet implemented </p>
1183
1184 </div>
1185 </div>
1186 <a id="HIDE_BKG" name="HIDE_BKG"></a>
1187 <h2 class="memtitle"><span class="permalink"><a href="#HIDE_BKG">◆ </a></span>HIDE_BKG</h2>
1188
1189 <div class="memitem">
1190 <div class="memproto">
1191 <table class="memname">
1192 <tr>
1193 <td class="memname">#define HIDE_BKG</td>
1194 </tr>
1195 </table>
1196 </div><div class="memdoc">
1197 <p >Turns off the background layer. Not yet implemented </p>
1198
1199 </div>
1200 </div>
1201 <a id="SHOW_WIN" name="SHOW_WIN"></a>
1202 <h2 class="memtitle"><span class="permalink"><a href="#SHOW_WIN">◆ </a></span>SHOW_WIN</h2>
1203
1204 <div class="memitem">
1205 <div class="memproto">
1206 <table class="memname">
1207 <tr>
1208 <td class="memname">#define SHOW_WIN</td>
1209 </tr>
1210 </table>
1211 </div><div class="memdoc">
1212 <p >Turns on the window layer Not yet implemented </p>
1213
1214 </div>
1215 </div>
1216 <a id="HIDE_WIN" name="HIDE_WIN"></a>
1217 <h2 class="memtitle"><span class="permalink"><a href="#HIDE_WIN">◆ </a></span>HIDE_WIN</h2>
1218
1219 <div class="memitem">
1220 <div class="memproto">
1221 <table class="memname">
1222 <tr>
1223 <td class="memname">#define HIDE_WIN</td>
1224 </tr>
1225 </table>
1226 </div><div class="memdoc">
1227 <p >Turns off the window layer. Not yet implemented </p>
1228
1229 </div>
1230 </div>
1231 <a id="SHOW_SPRITES" name="SHOW_SPRITES"></a>
1232 <h2 class="memtitle"><span class="permalink"><a href="#SHOW_SPRITES">◆ </a></span>SHOW_SPRITES</h2>
1233
1234 <div class="memitem">
1235 <div class="memproto">
1236 <table class="memname">
1237 <tr>
1238 <td class="memname">#define SHOW_SPRITES    (<a class="el" href="sms_8h.html#_sprites_OFF">_sprites_OFF</a> = 0)</td>
1239 </tr>
1240 </table>
1241 </div><div class="memdoc">
1242 <p >Turns on the sprites layer. </p>
1243
1244 </div>
1245 </div>
1246 <a id="HIDE_SPRITES" name="HIDE_SPRITES"></a>
1247 <h2 class="memtitle"><span class="permalink"><a href="#HIDE_SPRITES">◆ </a></span>HIDE_SPRITES</h2>
1248
1249 <div class="memitem">
1250 <div class="memproto">
1251 <table class="memname">
1252 <tr>
1253 <td class="memname">#define HIDE_SPRITES    (<a class="el" href="sms_8h.html#_sprites_OFF">_sprites_OFF</a> = 1)</td>
1254 </tr>
1255 </table>
1256 </div><div class="memdoc">
1257 <p >Turns off the sprites layer. </p>
1258
1259 </div>
1260 </div>
1261 <a id="SPRITES_8x16" name="SPRITES_8x16"></a>
1262 <h2 class="memtitle"><span class="permalink"><a href="#SPRITES_8x16">◆ </a></span>SPRITES_8x16</h2>
1263
1264 <div class="memitem">
1265 <div class="memproto">
1266 <table class="memname">
1267 <tr>
1268 <td class="memname">#define SPRITES_8x16    <a class="el" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R1">VDP_R1</a>, <a class="el" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R1">VDP_R1</a>) |= <a class="el" href="sms_2hardware_8h.html#R1_SPR_8X16">R1_SPR_8X16</a>)</td>
1269 </tr>
1270 </table>
1271 </div><div class="memdoc">
1272 <p >Sets sprite size to 8x16 pixels, two tiles one above the other. </p>
1273
1274 </div>
1275 </div>
1276 <a id="SPRITES_8x8" name="SPRITES_8x8"></a>
1277 <h2 class="memtitle"><span class="permalink"><a href="#SPRITES_8x8">◆ </a></span>SPRITES_8x8</h2>
1278
1279 <div class="memitem">
1280 <div class="memproto">
1281 <table class="memname">
1282 <tr>
1283 <td class="memname">#define SPRITES_8x8    <a class="el" href="sms_8h.html#__WRITE_VDP_REG">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R1">VDP_R1</a>, <a class="el" href="sms_8h.html#__READ_VDP_REG">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#VDP_R1">VDP_R1</a>) &= (~<a class="el" href="sms_2hardware_8h.html#R1_SPR_8X16">R1_SPR_8X16</a>))</td>
1284 </tr>
1285 </table>
1286 </div><div class="memdoc">
1287 <p >Sets sprite size to 8x8 pixels, one tile. </p>
1288
1289 </div>
1290 </div>
1291 <a id="DEVICE_SUPPORTS_COLOR" name="DEVICE_SUPPORTS_COLOR"></a>
1292 <h2 class="memtitle"><span class="permalink"><a href="#DEVICE_SUPPORTS_COLOR">◆ </a></span>DEVICE_SUPPORTS_COLOR</h2>
1293
1294 <div class="memitem">
1295 <div class="memproto">
1296 <table class="memname">
1297 <tr>
1298 <td class="memname">#define DEVICE_SUPPORTS_COLOR   (<a class="el" href="types_8h.html#TRUE">TRUE</a>)</td>
1299 </tr>
1300 </table>
1301 </div><div class="memdoc">
1302 <p >Macro returns TRUE if device supports color (it always does on SMS/GG) </p>
1303
1304 </div>
1305 </div>
1306 <a id="VBL_DONE" name="VBL_DONE"></a>
1307 <h2 class="memtitle"><span class="permalink"><a href="#VBL_DONE">◆ </a></span>VBL_DONE</h2>
1308
1309 <div class="memitem">
1310 <div class="memproto">
1311 <table class="memname">
1312 <tr>
1313 <td class="memname">#define VBL_DONE   <a class="el" href="sms_8h.html#_vbl_done">_vbl_done</a></td>
1314 </tr>
1315 </table>
1316 </div><div class="memdoc">
1317
1318 </div>
1319 </div>
1320 <a id="DIV_REG" name="DIV_REG"></a>
1321 <h2 class="memtitle"><span class="permalink"><a href="#DIV_REG">◆ </a></span>DIV_REG</h2>
1322
1323 <div class="memitem">
1324 <div class="memproto">
1325 <table class="memname">
1326 <tr>
1327 <td class="memname">#define DIV_REG   <a class="el" href="sms_8h.html#get_r_reg">get_r_reg</a>()</td>
1328 </tr>
1329 </table>
1330 </div><div class="memdoc">
1331
1332 </div>
1333 </div>
1334 <a id="_current_bank" name="_current_bank"></a>
1335 <h2 class="memtitle"><span class="permalink"><a href="#_current_bank">◆ </a></span>_current_bank</h2>
1336
1337 <div class="memitem">
1338 <div class="memproto">
1339 <table class="memname">
1340 <tr>
1341 <td class="memname">#define _current_bank   MAP_FRAME1</td>
1342 </tr>
1343 </table>
1344 </div><div class="memdoc">
1345 <p >Tracks current active ROM bank in frame 1 </p>
1346
1347 </div>
1348 </div>
1349 <a id="CURRENT_BANK" name="CURRENT_BANK"></a>
1350 <h2 class="memtitle"><span class="permalink"><a href="#CURRENT_BANK">◆ </a></span>CURRENT_BANK</h2>
1351
1352 <div class="memitem">
1353 <div class="memproto">
1354 <table class="memname">
1355 <tr>
1356 <td class="memname">#define CURRENT_BANK   MAP_FRAME1</td>
1357 </tr>
1358 </table>
1359 </div><div class="memdoc">
1360
1361 </div>
1362 </div>
1363 <a id="BANK" name="BANK"></a>
1364 <h2 class="memtitle"><span class="permalink"><a href="#BANK">◆ </a></span>BANK</h2>
1365
1366 <div class="memitem">
1367 <div class="memproto">
1368 <table class="memname">
1369 <tr>
1370 <td class="memname">#define BANK</td>
1371 <td>(</td>
1372 <td class="paramtype"> </td>
1373 <td class="paramname">VARNAME</td><td>)</td>
1374 <td>   ( (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>) & __bank_ ## VARNAME )</td>
1375 </tr>
1376 </table>
1377 </div><div class="memdoc">
1378 <p >Obtains the <b>bank number</b> of VARNAME</p>
1379 <dl class="params"><dt>Parameters</dt><dd>
1380 <table class="params">
1381 <tr><td class="paramname">VARNAME</td><td>Name of the variable which has a __bank_VARNAME companion symbol which is adjusted by bankpack</td></tr>
1382 </table>
1383 </dd>
1384 </dl>
1385 <p>Use this to obtain the bank number from a bank reference created with <a class="el" href="gb_8h.html#BANKREF">BANKREF()</a>.</p>
1386 <dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#BANKREF_EXTERN">BANKREF_EXTERN()</a>, <a class="el" href="sms_8h.html#BANKREF">BANKREF()</a> </dd></dl>
1387
1388 </div>
1389 </div>
1390 <a id="BANKREF" name="BANKREF"></a>
1391 <h2 class="memtitle"><span class="permalink"><a href="#BANKREF">◆ </a></span>BANKREF</h2>
1392
1393 <div class="memitem">
1394 <div class="memproto">
1395 <table class="memname">
1396 <tr>
1397 <td class="memname">#define BANKREF</td>
1398 <td>(</td>
1399 <td class="paramtype"> </td>
1400 <td class="paramname">VARNAME</td><td>)</td>
1401 <td></td>
1402 </tr>
1403 </table>
1404 </div><div class="memdoc">
1405 <b>Value:</b><div class="fragment"><div class="line"><span class="keywordtype">void</span> __func_ ## VARNAME(<span class="keywordtype">void</span>) __banked __naked { \</div>
1406 <div class="line">__asm \</div>
1407 <div class="line"> .local b___func_ ## VARNAME \</div>
1408 <div class="line"> ___bank_ ## VARNAME = b___func_ ## VARNAME \</div>
1409 <div class="line"> .globl ___bank_ ## VARNAME \</div>
1410 <div class="line">__endasm; \</div>
1411 <div class="line">}</div>
1412 </div><!-- fragment --><p >Creates a reference for retrieving the bank number of a variable or function</p>
1413 <dl class="params"><dt>Parameters</dt><dd>
1414 <table class="params">
1415 <tr><td class="paramname">VARNAME</td><td>Variable name to use, which may be an existing identifier</td></tr>
1416 </table>
1417 </dd>
1418 </dl>
1419 <dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#BANK">BANK()</a> for obtaining the bank number of the included data.</dd></dl>
1420 <p>More than one <code><a class="el" href="sms_8h.html#BANKREF">BANKREF()</a></code> may be created per file, but each call should always use a unique VARNAME.</p>
1421 <p >Use <a class="el" href="gb_8h.html#BANKREF_EXTERN">BANKREF_EXTERN()</a> within another source file to make the variable and it's data accesible there. </p>
1422
1423 </div>
1424 </div>
1425 <a id="BANKREF_EXTERN" name="BANKREF_EXTERN"></a>
1426 <h2 class="memtitle"><span class="permalink"><a href="#BANKREF_EXTERN">◆ </a></span>BANKREF_EXTERN</h2>
1427
1428 <div class="memitem">
1429 <div class="memproto">
1430 <table class="memname">
1431 <tr>
1432 <td class="memname">#define BANKREF_EXTERN</td>
1433 <td>(</td>
1434 <td class="paramtype"> </td>
1435 <td class="paramname">VARNAME</td><td>)</td>
1436 <td>   extern const void __bank_ ## VARNAME;</td>
1437 </tr>
1438 </table>
1439 </div><div class="memdoc">
1440 <p >Creates extern references for accessing a <a class="el" href="sms_8h.html#BANKREF">BANKREF()</a> generated variable.</p>
1441 <dl class="params"><dt>Parameters</dt><dd>
1442 <table class="params">
1443 <tr><td class="paramname">VARNAME</td><td>Name of the variable used with <a class="el" href="gb_8h.html#BANKREF">BANKREF()</a></td></tr>
1444 </table>
1445 </dd>
1446 </dl>
1447 <p>This makes a <a class="el" href="gb_8h.html#BANKREF">BANKREF()</a> reference in another source file accessible in the current file for use with <a class="el" href="gb_8h.html#BANK">BANK()</a>.</p>
1448 <dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#BANKREF">BANKREF()</a>, <a class="el" href="sms_8h.html#BANK">BANK()</a> </dd></dl>
1449
1450 </div>
1451 </div>
1452 <a id="SWITCH_ROM" name="SWITCH_ROM"></a>
1453 <h2 class="memtitle"><span class="permalink"><a href="#SWITCH_ROM">◆ </a></span>SWITCH_ROM</h2>
1454
1455 <div class="memitem">
1456 <div class="memproto">
1457 <table class="memname">
1458 <tr>
1459 <td class="memname">#define SWITCH_ROM</td>
1460 <td>(</td>
1461 <td class="paramtype"> </td>
1462 <td class="paramname"><a class="el" href="sms_8h.html#b">b</a></td><td>)</td>
1463 <td>   MAP_FRAME1=(<a class="el" href="sms_8h.html#b">b</a>)</td>
1464 </tr>
1465 </table>
1466 </div><div class="memdoc">
1467 <p >Makes switch the active ROM bank in frame 1 </p><dl class="params"><dt>Parameters</dt><dd>
1468 <table class="params">
1469 <tr><td class="paramname">b</td><td>ROM bank to switch to </td></tr>
1470 </table>
1471 </dd>
1472 </dl>
1473
1474 </div>
1475 </div>
1476 <a id="SWITCH_ROM1" name="SWITCH_ROM1"></a>
1477 <h2 class="memtitle"><span class="permalink"><a href="#SWITCH_ROM1">◆ </a></span>SWITCH_ROM1</h2>
1478
1479 <div class="memitem">
1480 <div class="memproto">
1481 <table class="memname">
1482 <tr>
1483 <td class="memname">#define SWITCH_ROM1   <a class="el" href="msx_8h.html#SWITCH_ROM">SWITCH_ROM</a></td>
1484 </tr>
1485 </table>
1486 </div><div class="memdoc">
1487
1488 </div>
1489 </div>
1490 <a id="SWITCH_ROM2" name="SWITCH_ROM2"></a>
1491 <h2 class="memtitle"><span class="permalink"><a href="#SWITCH_ROM2">◆ </a></span>SWITCH_ROM2</h2>
1492
1493 <div class="memitem">
1494 <div class="memproto">
1495 <table class="memname">
1496 <tr>
1497 <td class="memname">#define SWITCH_ROM2</td>
1498 <td>(</td>
1499 <td class="paramtype"> </td>
1500 <td class="paramname"><a class="el" href="sms_8h.html#b">b</a></td><td>)</td>
1501 <td>   MAP_FRAME2=(<a class="el" href="sms_8h.html#b">b</a>)</td>
1502 </tr>
1503 </table>
1504 </div><div class="memdoc">
1505 <p >Makes switch the active ROM bank in frame 2 </p><dl class="params"><dt>Parameters</dt><dd>
1506 <table class="params">
1507 <tr><td class="paramname">b</td><td>ROM bank to switch to </td></tr>
1508 </table>
1509 </dd>
1510 </dl>
1511
1512 </div>
1513 </div>
1514 <a id="SWITCH_RAM" name="SWITCH_RAM"></a>
1515 <h2 class="memtitle"><span class="permalink"><a href="#SWITCH_RAM">◆ </a></span>SWITCH_RAM</h2>
1516
1517 <div class="memitem">
1518 <div class="memproto">
1519 <table class="memname">
1520 <tr>
1521 <td class="memname">#define SWITCH_RAM</td>
1522 <td>(</td>
1523 <td class="paramtype"> </td>
1524 <td class="paramname"><a class="el" href="sms_8h.html#b">b</a></td><td>)</td>
1525 <td>   RAM_CONTROL=((<a class="el" href="sms_8h.html#b">b</a>)&1)?RAM_CONTROL|RAMCTL_BANK:RAM_CONTROL&(~<a class="el" href="sms_2hardware_8h.html#RAMCTL_BANK">RAMCTL_BANK</a>)</td>
1526 </tr>
1527 </table>
1528 </div><div class="memdoc">
1529 <p >Switches RAM bank </p><dl class="params"><dt>Parameters</dt><dd>
1530 <table class="params">
1531 <tr><td class="paramname">b</td><td>SRAM bank to switch to </td></tr>
1532 </table>
1533 </dd>
1534 </dl>
1535
1536 </div>
1537 </div>
1538 <a id="ENABLE_RAM" name="ENABLE_RAM"></a>
1539 <h2 class="memtitle"><span class="permalink"><a href="#ENABLE_RAM">◆ </a></span>ENABLE_RAM</h2>
1540
1541 <div class="memitem">
1542 <div class="memproto">
1543 <table class="memname">
1544 <tr>
1545 <td class="memname">#define ENABLE_RAM   RAM_CONTROL|=<a class="el" href="sms_2hardware_8h.html#RAMCTL_RAM">RAMCTL_RAM</a></td>
1546 </tr>
1547 </table>
1548 </div><div class="memdoc">
1549 <p >Enables RAM </p>
1550
1551 </div>
1552 </div>
1553 <a id="DISABLE_RAM" name="DISABLE_RAM"></a>
1554 <h2 class="memtitle"><span class="permalink"><a href="#DISABLE_RAM">◆ </a></span>DISABLE_RAM</h2>
1555
1556 <div class="memitem">
1557 <div class="memproto">
1558 <table class="memname">
1559 <tr>
1560 <td class="memname">#define DISABLE_RAM   RAM_CONTROL&=(~<a class="el" href="sms_2hardware_8h.html#RAMCTL_RAM">RAMCTL_RAM</a>)</td>
1561 </tr>
1562 </table>
1563 </div><div class="memdoc">
1564 <p >Disables RAM </p>
1565
1566 </div>
1567 </div>
1568 <a id="set_bkg_palette_entry" name="set_bkg_palette_entry"></a>
1569 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_palette_entry">◆ </a></span>set_bkg_palette_entry</h2>
1570
1571 <div class="memitem">
1572 <div class="memproto">
1573 <table class="memname">
1574 <tr>
1575 <td class="memname">#define set_bkg_palette_entry   <a class="el" href="sms_8h.html#set_palette_entry">set_palette_entry</a></td>
1576 </tr>
1577 </table>
1578 </div><div class="memdoc">
1579
1580 </div>
1581 </div>
1582 <a id="set_sprite_palette_entry" name="set_sprite_palette_entry"></a>
1583 <h2 class="memtitle"><span class="permalink"><a href="#set_sprite_palette_entry">◆ </a></span>set_sprite_palette_entry</h2>
1584
1585 <div class="memitem">
1586 <div class="memproto">
1587 <table class="memname">
1588 <tr>
1589 <td class="memname">#define set_sprite_palette_entry</td>
1590 <td>(</td>
1591 <td class="paramtype"> </td>
1592 <td class="paramname">palette, </td>
1593 </tr>
1594 <tr>
1595 <td class="paramkey"></td>
1596 <td></td>
1597 <td class="paramtype"> </td>
1598 <td class="paramname">entry, </td>
1599 </tr>
1600 <tr>
1601 <td class="paramkey"></td>
1602 <td></td>
1603 <td class="paramtype"> </td>
1604 <td class="paramname">rgb_data </td>
1605 </tr>
1606 <tr>
1607 <td></td>
1608 <td>)</td>
1609 <td></td><td>   <a class="el" href="sms_8h.html#set_palette_entry">set_palette_entry</a>(1,entry,rgb_data)</td>
1610 </tr>
1611 </table>
1612 </div><div class="memdoc">
1613
1614 </div>
1615 </div>
1616 <a id="set_bkg_palette" name="set_bkg_palette"></a>
1617 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_palette">◆ </a></span>set_bkg_palette</h2>
1618
1619 <div class="memitem">
1620 <div class="memproto">
1621 <table class="memname">
1622 <tr>
1623 <td class="memname">#define set_bkg_palette   <a class="el" href="sms_8h.html#set_palette">set_palette</a></td>
1624 </tr>
1625 </table>
1626 </div><div class="memdoc">
1627
1628 </div>
1629 </div>
1630 <a id="set_sprite_palette" name="set_sprite_palette"></a>
1631 <h2 class="memtitle"><span class="permalink"><a href="#set_sprite_palette">◆ </a></span>set_sprite_palette</h2>
1632
1633 <div class="memitem">
1634 <div class="memproto">
1635 <table class="memname">
1636 <tr>
1637 <td class="memname">#define set_sprite_palette</td>
1638 <td>(</td>
1639 <td class="paramtype"> </td>
1640 <td class="paramname">first_palette, </td>
1641 </tr>
1642 <tr>
1643 <td class="paramkey"></td>
1644 <td></td>
1645 <td class="paramtype"> </td>
1646 <td class="paramname">nb_palettes, </td>
1647 </tr>
1648 <tr>
1649 <td class="paramkey"></td>
1650 <td></td>
1651 <td class="paramtype"> </td>
1652 <td class="paramname">rgb_data </td>
1653 </tr>
1654 <tr>
1655 <td></td>
1656 <td>)</td>
1657 <td></td><td>   <a class="el" href="sms_8h.html#set_palette">set_palette</a>(1,1,rgb_data)</td>
1658 </tr>
1659 </table>
1660 </div><div class="memdoc">
1661
1662 </div>
1663 </div>
1664 <a id="COMPAT_PALETTE" name="COMPAT_PALETTE"></a>
1665 <h2 class="memtitle"><span class="permalink"><a href="#COMPAT_PALETTE">◆ </a></span>COMPAT_PALETTE</h2>
1666
1667 <div class="memitem">
1668 <div class="memproto">
1669 <table class="memname">
1670 <tr>
1671 <td class="memname">#define COMPAT_PALETTE</td>
1672 <td>(</td>
1673 <td class="paramtype"> </td>
1674 <td class="paramname">C0, </td>
1675 </tr>
1676 <tr>
1677 <td class="paramkey"></td>
1678 <td></td>
1679 <td class="paramtype"> </td>
1680 <td class="paramname">C1, </td>
1681 </tr>
1682 <tr>
1683 <td class="paramkey"></td>
1684 <td></td>
1685 <td class="paramtype"> </td>
1686 <td class="paramname">C2, </td>
1687 </tr>
1688 <tr>
1689 <td class="paramkey"></td>
1690 <td></td>
1691 <td class="paramtype"> </td>
1692 <td class="paramname">C3 </td>
1693 </tr>
1694 <tr>
1695 <td></td>
1696 <td>)</td>
1697 <td></td><td>   (((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)(C3) << 12) | ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)(C2) << 8) | ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)(C1) << 4) | (<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)(C0))</td>
1698 </tr>
1699 </table>
1700 </div><div class="memdoc">
1701
1702 </div>
1703 </div>
1704 <a id="set_bkg_tiles" name="set_bkg_tiles"></a>
1705 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_tiles">◆ </a></span>set_bkg_tiles</h2>
1706
1707 <div class="memitem">
1708 <div class="memproto">
1709 <table class="memname">
1710 <tr>
1711 <td class="memname">#define set_bkg_tiles   <a class="el" href="sms_8h.html#set_tile_map_compat">set_tile_map_compat</a></td>
1712 </tr>
1713 </table>
1714 </div><div class="memdoc">
1715
1716 </div>
1717 </div>
1718 <a id="set_win_tiles" name="set_win_tiles"></a>
1719 <h2 class="memtitle"><span class="permalink"><a href="#set_win_tiles">◆ </a></span>set_win_tiles</h2>
1720
1721 <div class="memitem">
1722 <div class="memproto">
1723 <table class="memname">
1724 <tr>
1725 <td class="memname">#define set_win_tiles   <a class="el" href="sms_8h.html#set_tile_map_compat">set_tile_map_compat</a></td>
1726 </tr>
1727 </table>
1728 </div><div class="memdoc">
1729
1730 </div>
1731 </div>
1732 <a id="set_bkg_submap" name="set_bkg_submap"></a>
1733 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_submap">◆ </a></span>set_bkg_submap</h2>
1734
1735 <div class="memitem">
1736 <div class="memproto">
1737 <table class="memname">
1738 <tr>
1739 <td class="memname">#define set_bkg_submap   <a class="el" href="sms_8h.html#set_tile_submap_compat">set_tile_submap_compat</a></td>
1740 </tr>
1741 </table>
1742 </div><div class="memdoc">
1743
1744 </div>
1745 </div>
1746 <a id="set_win_submap" name="set_win_submap"></a>
1747 <h2 class="memtitle"><span class="permalink"><a href="#set_win_submap">◆ </a></span>set_win_submap</h2>
1748
1749 <div class="memitem">
1750 <div class="memproto">
1751 <table class="memname">
1752 <tr>
1753 <td class="memname">#define set_win_submap   <a class="el" href="sms_8h.html#set_tile_submap_compat">set_tile_submap_compat</a></td>
1754 </tr>
1755 </table>
1756 </div><div class="memdoc">
1757
1758 </div>
1759 </div>
1760 <a id="fill_bkg_rect" name="fill_bkg_rect"></a>
1761 <h2 class="memtitle"><span class="permalink"><a href="#fill_bkg_rect">◆ </a></span>fill_bkg_rect</h2>
1762
1763 <div class="memitem">
1764 <div class="memproto">
1765 <table class="memname">
1766 <tr>
1767 <td class="memname">#define fill_bkg_rect   <a class="el" href="sms_8h.html#fill_rect_compat">fill_rect_compat</a></td>
1768 </tr>
1769 </table>
1770 </div><div class="memdoc">
1771
1772 </div>
1773 </div>
1774 <a id="fill_win_rect" name="fill_win_rect"></a>
1775 <h2 class="memtitle"><span class="permalink"><a href="#fill_win_rect">◆ </a></span>fill_win_rect</h2>
1776
1777 <div class="memitem">
1778 <div class="memproto">
1779 <table class="memname">
1780 <tr>
1781 <td class="memname">#define fill_win_rect   <a class="el" href="sms_8h.html#fill_rect_compat">fill_rect_compat</a></td>
1782 </tr>
1783 </table>
1784 </div><div class="memdoc">
1785
1786 </div>
1787 </div>
1788 <a id="DISABLE_VBL_TRANSFER" name="DISABLE_VBL_TRANSFER"></a>
1789 <h2 class="memtitle"><span class="permalink"><a href="#DISABLE_VBL_TRANSFER">◆ </a></span>DISABLE_VBL_TRANSFER</h2>
1790
1791 <div class="memitem">
1792 <div class="memproto">
1793 <table class="memname">
1794 <tr>
1795 <td class="memname">#define DISABLE_VBL_TRANSFER    <a class="el" href="sms_8h.html#_shadow_OAM_base">_shadow_OAM_base</a> = 0</td>
1796 </tr>
1797 </table>
1798 </div><div class="memdoc">
1799 <p >Disable shadow OAM to VRAM copy on each VBlank </p>
1800
1801 </div>
1802 </div>
1803 <a id="ENABLE_VBL_TRANSFER" name="ENABLE_VBL_TRANSFER"></a>
1804 <h2 class="memtitle"><span class="permalink"><a href="#ENABLE_VBL_TRANSFER">◆ </a></span>ENABLE_VBL_TRANSFER</h2>
1805
1806 <div class="memitem">
1807 <div class="memproto">
1808 <table class="memname">
1809 <tr>
1810 <td class="memname">#define ENABLE_VBL_TRANSFER    <a class="el" href="sms_8h.html#_shadow_OAM_base">_shadow_OAM_base</a> = (<a class="el" href="stdint_8h.html#uint8_t">uint8_t</a>)((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)&<a class="el" href="sms_8h.html#shadow_OAM">shadow_OAM</a> >> 8)</td>
1811 </tr>
1812 </table>
1813 </div><div class="memdoc">
1814 <p >Enable shadow OAM to VRAM copy on each VBlank </p>
1815
1816 </div>
1817 </div>
1818 <a id="MAX_HARDWARE_SPRITES" name="MAX_HARDWARE_SPRITES"></a>
1819 <h2 class="memtitle"><span class="permalink"><a href="#MAX_HARDWARE_SPRITES">◆ </a></span>MAX_HARDWARE_SPRITES</h2>
1820
1821 <div class="memitem">
1822 <div class="memproto">
1823 <table class="memname">
1824 <tr>
1825 <td class="memname">#define MAX_HARDWARE_SPRITES   64</td>
1826 </tr>
1827 </table>
1828 </div><div class="memdoc">
1829 <p >Amount of hardware sprites in OAM </p>
1830
1831 </div>
1832 </div>
1833 <a id="HARDWARE_SPRITE_CAN_FLIP_X" name="HARDWARE_SPRITE_CAN_FLIP_X"></a>
1834 <h2 class="memtitle"><span class="permalink"><a href="#HARDWARE_SPRITE_CAN_FLIP_X">◆ </a></span>HARDWARE_SPRITE_CAN_FLIP_X</h2>
1835
1836 <div class="memitem">
1837 <div class="memproto">
1838 <table class="memname">
1839 <tr>
1840 <td class="memname">#define HARDWARE_SPRITE_CAN_FLIP_X   0</td>
1841 </tr>
1842 </table>
1843 </div><div class="memdoc">
1844 <p >True if sprite hardware can flip sprites by X (horizontally) </p>
1845
1846 </div>
1847 </div>
1848 <a id="HARDWARE_SPRITE_CAN_FLIP_Y" name="HARDWARE_SPRITE_CAN_FLIP_Y"></a>
1849 <h2 class="memtitle"><span class="permalink"><a href="#HARDWARE_SPRITE_CAN_FLIP_Y">◆ </a></span>HARDWARE_SPRITE_CAN_FLIP_Y</h2>
1850
1851 <div class="memitem">
1852 <div class="memproto">
1853 <table class="memname">
1854 <tr>
1855 <td class="memname">#define HARDWARE_SPRITE_CAN_FLIP_Y   0</td>
1856 </tr>
1857 </table>
1858 </div><div class="memdoc">
1859 <p >True if sprite hardware can flip sprites by Y (vertically) </p>
1860
1861 </div>
1862 </div>
1863 <a id="set_bkg_tile_xy" name="set_bkg_tile_xy"></a>
1864 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_tile_xy">◆ </a></span>set_bkg_tile_xy</h2>
1865
1866 <div class="memitem">
1867 <div class="memproto">
1868 <table class="memname">
1869 <tr>
1870 <td class="memname">#define set_bkg_tile_xy   <a class="el" href="sms_8h.html#set_tile_xy">set_tile_xy</a></td>
1871 </tr>
1872 </table>
1873 </div><div class="memdoc">
1874
1875 </div>
1876 </div>
1877 <a id="set_win_tile_xy" name="set_win_tile_xy"></a>
1878 <h2 class="memtitle"><span class="permalink"><a href="#set_win_tile_xy">◆ </a></span>set_win_tile_xy</h2>
1879
1880 <div class="memitem">
1881 <div class="memproto">
1882 <table class="memname">
1883 <tr>
1884 <td class="memname">#define set_win_tile_xy   <a class="el" href="sms_8h.html#set_tile_xy">set_tile_xy</a></td>
1885 </tr>
1886 </table>
1887 </div><div class="memdoc">
1888
1889 </div>
1890 </div>
1891 <a id="set_bkg_attribute_xy" name="set_bkg_attribute_xy"></a>
1892 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_attribute_xy">◆ </a></span>set_bkg_attribute_xy</h2>
1893
1894 <div class="memitem">
1895 <div class="memproto">
1896 <table class="memname">
1897 <tr>
1898 <td class="memname">#define set_bkg_attribute_xy   <a class="el" href="sms_8h.html#set_attribute_xy">set_attribute_xy</a></td>
1899 </tr>
1900 </table>
1901 </div><div class="memdoc">
1902
1903 </div>
1904 </div>
1905 <a id="set_win_attribute_xy" name="set_win_attribute_xy"></a>
1906 <h2 class="memtitle"><span class="permalink"><a href="#set_win_attribute_xy">◆ </a></span>set_win_attribute_xy</h2>
1907
1908 <div class="memitem">
1909 <div class="memproto">
1910 <table class="memname">
1911 <tr>
1912 <td class="memname">#define set_win_attribute_xy   <a class="el" href="sms_8h.html#set_attribute_xy">set_attribute_xy</a></td>
1913 </tr>
1914 </table>
1915 </div><div class="memdoc">
1916
1917 </div>
1918 </div>
1919 <a id="get_win_xy_addr" name="get_win_xy_addr"></a>
1920 <h2 class="memtitle"><span class="permalink"><a href="#get_win_xy_addr">◆ </a></span>get_win_xy_addr</h2>
1921
1922 <div class="memitem">
1923 <div class="memproto">
1924 <table class="memname">
1925 <tr>
1926 <td class="memname">#define get_win_xy_addr   <a class="el" href="sms_8h.html#get_bkg_xy_addr">get_bkg_xy_addr</a></td>
1927 </tr>
1928 </table>
1929 </div><div class="memdoc">
1930
1931 </div>
1932 </div>
1933 <h2 class="groupheader">Typedef Documentation</h2>
1934 <a id="int_handler" name="int_handler"></a>
1935 <h2 class="memtitle"><span class="permalink"><a href="#int_handler">◆ </a></span>int_handler</h2>
1936
1937 <div class="memitem">
1938 <div class="memproto">
1939 <table class="memname">
1940 <tr>
1941 <td class="memname">typedef void(* int_handler) (void) <a class="el" href="asm_2types_8h.html#NONBANKED">NONBANKED</a></td>
1942 </tr>
1943 </table>
1944 </div><div class="memdoc">
1945 <p >Interrupt handlers </p>
1946
1947 </div>
1948 </div>
1949 <h2 class="groupheader">Function Documentation</h2>
1950 <a id="WRITE_VDP_CMD" name="WRITE_VDP_CMD"></a>
1951 <h2 class="memtitle"><span class="permalink"><a href="#WRITE_VDP_CMD">◆ </a></span>WRITE_VDP_CMD()</h2>
1952
1953 <div class="memitem">
1954 <div class="memproto">
1955 <table class="memname">
1956 <tr>
1957 <td class="memname">void WRITE_VDP_CMD </td>
1958 <td>(</td>
1959 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
1960 <td class="paramname"><em>cmd</em></td><td>)</td>
1961 <td></td>
1962 </tr>
1963 </table>
1964 </div><div class="memdoc">
1965
1966 </div>
1967 </div>
1968 <a id="WRITE_VDP_DATA" name="WRITE_VDP_DATA"></a>
1969 <h2 class="memtitle"><span class="permalink"><a href="#WRITE_VDP_DATA">◆ </a></span>WRITE_VDP_DATA()</h2>
1970
1971 <div class="memitem">
1972 <div class="memproto">
1973 <table class="memname">
1974 <tr>
1975 <td class="memname">void WRITE_VDP_DATA </td>
1976 <td>(</td>
1977 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
1978 <td class="paramname"><em>data</em></td><td>)</td>
1979 <td></td>
1980 </tr>
1981 </table>
1982 </div><div class="memdoc">
1983
1984 </div>
1985 </div>
1986 <a id="mode" name="mode"></a>
1987 <h2 class="memtitle"><span class="permalink"><a href="#mode">◆ </a></span>mode()</h2>
1988
1989 <div class="memitem">
1990 <div class="memproto">
1991 <table class="memname">
1992 <tr>
1993 <td class="memname">void mode </td>
1994 <td>(</td>
1995 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
1996 <td class="paramname"><em>m</em></td><td>)</td>
1997 <td></td>
1998 </tr>
1999 </table>
2000 </div><div class="memdoc">
2001 <p >Set the current screen mode - one of M_* modes</p>
2002 <p >Normally used by internal functions only.</p>
2003 <dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#M_TEXT_OUT">M_TEXT_OUT</a>, <a class="el" href="sms_8h.html#M_TEXT_INOUT">M_TEXT_INOUT</a>, <a class="el" href="sms_8h.html#M_NO_SCROLL">M_NO_SCROLL</a>, <a class="el" href="sms_8h.html#M_NO_INTERP">M_NO_INTERP</a> </dd></dl>
2004
2005 </div>
2006 </div>
2007 <a id="get_mode" name="get_mode"></a>
2008 <h2 class="memtitle"><span class="permalink"><a href="#get_mode">◆ </a></span>get_mode()</h2>
2009
2010 <div class="memitem">
2011 <div class="memproto">
2012 <table class="memname">
2013 <tr>
2014 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> get_mode </td>
2015 <td>(</td>
2016 <td class="paramtype">void </td>
2017 <td class="paramname"></td><td>)</td>
2018 <td></td>
2019 </tr>
2020 </table>
2021 </div><div class="memdoc">
2022 <p >Returns the current mode</p>
2023 <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#M_TEXT_OUT">M_TEXT_OUT</a>, <a class="el" href="gb_8h.html#M_TEXT_INOUT">M_TEXT_INOUT</a>, <a class="el" href="gb_8h.html#M_NO_SCROLL">M_NO_SCROLL</a>, <a class="el" href="gb_8h.html#M_NO_INTERP">M_NO_INTERP</a></dd></dl>
2024 <p>Returns the current mode</p>
2025 <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#M_DRAWING">M_DRAWING</a>, <a class="el" href="gb_8h.html#M_TEXT_OUT">M_TEXT_OUT</a>, <a class="el" href="gb_8h.html#M_TEXT_INOUT">M_TEXT_INOUT</a>, <a class="el" href="gb_8h.html#M_NO_SCROLL">M_NO_SCROLL</a>, <a class="el" href="gb_8h.html#M_NO_INTERP">M_NO_INTERP</a> </dd></dl>
2026
2027 </div>
2028 </div>
2029 <a id="get_system" name="get_system"></a>
2030 <h2 class="memtitle"><span class="permalink"><a href="#get_system">◆ </a></span>get_system()</h2>
2031
2032 <div class="memitem">
2033 <div class="memproto">
2034 <table class="mlabels">
2035 <tr>
2036 <td class="mlabels-left">
2037 <table class="memname">
2038 <tr>
2039 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> get_system </td>
2040 <td>(</td>
2041 <td class="paramtype">void </td>
2042 <td class="paramname"></td><td>)</td>
2043 <td></td>
2044 </tr>
2045 </table>
2046 </td>
2047 <td class="mlabels-right">
2048 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2049 </tr>
2050 </table>
2051 </div><div class="memdoc">
2052 <p >Returns the system gbdk is running on. </p>
2053
2054 </div>
2055 </div>
2056 <a id="set_interrupts" name="set_interrupts"></a>
2057 <h2 class="memtitle"><span class="permalink"><a href="#set_interrupts">◆ </a></span>set_interrupts()</h2>
2058
2059 <div class="memitem">
2060 <div class="memproto">
2061 <table class="memname">
2062 <tr>
2063 <td class="memname">void set_interrupts </td>
2064 <td>(</td>
2065 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
2066 <td class="paramname"><em>flags</em></td><td>)</td>
2067 <td></td>
2068 </tr>
2069 </table>
2070 </div><div class="memdoc">
2071 <p >Clears any pending interrupts and sets the interrupt mask register IO to flags. </p><dl class="params"><dt>Parameters</dt><dd>
2072 <table class="params">
2073 <tr><td class="paramname">flags</td><td>A logical OR of *_IFLAGS</td></tr>
2074 </table>
2075 </dd>
2076 </dl>
2077 <dl class="section note"><dt>Note</dt><dd>This disables and then re-enables interrupts so it must be used outside of a critical section.</dd></dl>
2078 <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#enable_interrupts">enable_interrupts()</a>, <a class="el" href="gb_8h.html#disable_interrupts">disable_interrupts()</a> </dd>
2079 <dd>
2080 <a class="el" href="gb_8h.html#VBL_IFLAG">VBL_IFLAG</a>, <a class="el" href="gb_8h.html#LCD_IFLAG">LCD_IFLAG</a>, <a class="el" href="gb_8h.html#TIM_IFLAG">TIM_IFLAG</a>, <a class="el" href="gb_8h.html#SIO_IFLAG">SIO_IFLAG</a>, <a class="el" href="gb_8h.html#JOY_IFLAG">JOY_IFLAG</a> </dd></dl>
2081
2082 </div>
2083 </div>
2084 <a id="remove_VBL" name="remove_VBL"></a>
2085 <h2 class="memtitle"><span class="permalink"><a href="#remove_VBL">◆ </a></span>remove_VBL()</h2>
2086
2087 <div class="memitem">
2088 <div class="memproto">
2089 <table class="memname">
2090 <tr>
2091 <td class="memname">void remove_VBL </td>
2092 <td>(</td>
2093 <td class="paramtype"><a class="el" href="sms_8h.html#int_handler">int_handler</a> </td>
2094 <td class="paramname"><em>h</em></td><td>)</td>
2095 <td></td>
2096 </tr>
2097 </table>
2098 </div><div class="memdoc">
2099 <p >Removes the VBL interrupt handler. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#add_VBL">add_VBL()</a> </dd></dl>
2100
2101 </div>
2102 </div>
2103 <a id="remove_LCD" name="remove_LCD"></a>
2104 <h2 class="memtitle"><span class="permalink"><a href="#remove_LCD">◆ </a></span>remove_LCD()</h2>
2105
2106 <div class="memitem">
2107 <div class="memproto">
2108 <table class="memname">
2109 <tr>
2110 <td class="memname">void remove_LCD </td>
2111 <td>(</td>
2112 <td class="paramtype"><a class="el" href="sms_8h.html#int_handler">int_handler</a> </td>
2113 <td class="paramname"><em>h</em></td><td>)</td>
2114 <td></td>
2115 </tr>
2116 </table>
2117 </div><div class="memdoc">
2118 <p >Removes the LCD interrupt handler. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#add_LCD">add_LCD()</a>, <a class="el" href="sms_8h.html#remove_VBL">remove_VBL()</a> </dd></dl>
2119
2120 </div>
2121 </div>
2122 <a id="remove_TIM" name="remove_TIM"></a>
2123 <h2 class="memtitle"><span class="permalink"><a href="#remove_TIM">◆ </a></span>remove_TIM()</h2>
2124
2125 <div class="memitem">
2126 <div class="memproto">
2127 <table class="memname">
2128 <tr>
2129 <td class="memname">void remove_TIM </td>
2130 <td>(</td>
2131 <td class="paramtype"><a class="el" href="sms_8h.html#int_handler">int_handler</a> </td>
2132 <td class="paramname"><em>h</em></td><td>)</td>
2133 <td></td>
2134 </tr>
2135 </table>
2136 </div><div class="memdoc">
2137
2138 </div>
2139 </div>
2140 <a id="remove_SIO" name="remove_SIO"></a>
2141 <h2 class="memtitle"><span class="permalink"><a href="#remove_SIO">◆ </a></span>remove_SIO()</h2>
2142
2143 <div class="memitem">
2144 <div class="memproto">
2145 <table class="memname">
2146 <tr>
2147 <td class="memname">void remove_SIO </td>
2148 <td>(</td>
2149 <td class="paramtype"><a class="el" href="sms_8h.html#int_handler">int_handler</a> </td>
2150 <td class="paramname"><em>h</em></td><td>)</td>
2151 <td></td>
2152 </tr>
2153 </table>
2154 </div><div class="memdoc">
2155
2156 </div>
2157 </div>
2158 <a id="remove_JOY" name="remove_JOY"></a>
2159 <h2 class="memtitle"><span class="permalink"><a href="#remove_JOY">◆ </a></span>remove_JOY()</h2>
2160
2161 <div class="memitem">
2162 <div class="memproto">
2163 <table class="memname">
2164 <tr>
2165 <td class="memname">void remove_JOY </td>
2166 <td>(</td>
2167 <td class="paramtype"><a class="el" href="sms_8h.html#int_handler">int_handler</a> </td>
2168 <td class="paramname"><em>h</em></td><td>)</td>
2169 <td></td>
2170 </tr>
2171 </table>
2172 </div><div class="memdoc">
2173
2174 </div>
2175 </div>
2176 <a id="add_VBL" name="add_VBL"></a>
2177 <h2 class="memtitle"><span class="permalink"><a href="#add_VBL">◆ </a></span>add_VBL()</h2>
2178
2179 <div class="memitem">
2180 <div class="memproto">
2181 <table class="memname">
2182 <tr>
2183 <td class="memname">void add_VBL </td>
2184 <td>(</td>
2185 <td class="paramtype"><a class="el" href="sms_8h.html#int_handler">int_handler</a> </td>
2186 <td class="paramname"><em>h</em></td><td>)</td>
2187 <td></td>
2188 </tr>
2189 </table>
2190 </div><div class="memdoc">
2191 <p >Adds a V-blank interrupt handler. </p>
2192
2193 </div>
2194 </div>
2195 <a id="add_LCD" name="add_LCD"></a>
2196 <h2 class="memtitle"><span class="permalink"><a href="#add_LCD">◆ </a></span>add_LCD()</h2>
2197
2198 <div class="memitem">
2199 <div class="memproto">
2200 <table class="memname">
2201 <tr>
2202 <td class="memname">void add_LCD </td>
2203 <td>(</td>
2204 <td class="paramtype"><a class="el" href="sms_8h.html#int_handler">int_handler</a> </td>
2205 <td class="paramname"><em>h</em></td><td>)</td>
2206 <td></td>
2207 </tr>
2208 </table>
2209 </div><div class="memdoc">
2210 <p >Adds a LCD interrupt handler. </p>
2211
2212 </div>
2213 </div>
2214 <a id="add_TIM" name="add_TIM"></a>
2215 <h2 class="memtitle"><span class="permalink"><a href="#add_TIM">◆ </a></span>add_TIM()</h2>
2216
2217 <div class="memitem">
2218 <div class="memproto">
2219 <table class="memname">
2220 <tr>
2221 <td class="memname">void add_TIM </td>
2222 <td>(</td>
2223 <td class="paramtype"><a class="el" href="sms_8h.html#int_handler">int_handler</a> </td>
2224 <td class="paramname"><em>h</em></td><td>)</td>
2225 <td></td>
2226 </tr>
2227 </table>
2228 </div><div class="memdoc">
2229 <p >Does nothing on SMS/GG </p>
2230
2231 </div>
2232 </div>
2233 <a id="add_SIO" name="add_SIO"></a>
2234 <h2 class="memtitle"><span class="permalink"><a href="#add_SIO">◆ </a></span>add_SIO()</h2>
2235
2236 <div class="memitem">
2237 <div class="memproto">
2238 <table class="memname">
2239 <tr>
2240 <td class="memname">void add_SIO </td>
2241 <td>(</td>
2242 <td class="paramtype"><a class="el" href="sms_8h.html#int_handler">int_handler</a> </td>
2243 <td class="paramname"><em>h</em></td><td>)</td>
2244 <td></td>
2245 </tr>
2246 </table>
2247 </div><div class="memdoc">
2248 <p >Does nothing on SMS/GG </p>
2249
2250 </div>
2251 </div>
2252 <a id="add_JOY" name="add_JOY"></a>
2253 <h2 class="memtitle"><span class="permalink"><a href="#add_JOY">◆ </a></span>add_JOY()</h2>
2254
2255 <div class="memitem">
2256 <div class="memproto">
2257 <table class="memname">
2258 <tr>
2259 <td class="memname">void add_JOY </td>
2260 <td>(</td>
2261 <td class="paramtype"><a class="el" href="sms_8h.html#int_handler">int_handler</a> </td>
2262 <td class="paramname"><em>h</em></td><td>)</td>
2263 <td></td>
2264 </tr>
2265 </table>
2266 </div><div class="memdoc">
2267 <p >Does nothing on SMS/GG </p>
2268
2269 </div>
2270 </div>
2271 <a id="cancel_pending_interrupts" name="cancel_pending_interrupts"></a>
2272 <h2 class="memtitle"><span class="permalink"><a href="#cancel_pending_interrupts">◆ </a></span>cancel_pending_interrupts()</h2>
2273
2274 <div class="memitem">
2275 <div class="memproto">
2276 <table class="mlabels">
2277 <tr>
2278 <td class="mlabels-left">
2279 <table class="memname">
2280 <tr>
2281 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> cancel_pending_interrupts </td>
2282 <td>(</td>
2283 <td class="paramtype">void </td>
2284 <td class="paramname"></td><td>)</td>
2285 <td></td>
2286 </tr>
2287 </table>
2288 </td>
2289 <td class="mlabels-right">
2290 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2291 </tr>
2292 </table>
2293 </div><div class="memdoc">
2294 <p >Cancel pending interrupts </p>
2295
2296 </div>
2297 </div>
2298 <a id="move_bkg" name="move_bkg"></a>
2299 <h2 class="memtitle"><span class="permalink"><a href="#move_bkg">◆ </a></span>move_bkg()</h2>
2300
2301 <div class="memitem">
2302 <div class="memproto">
2303 <table class="mlabels">
2304 <tr>
2305 <td class="mlabels-left">
2306 <table class="memname">
2307 <tr>
2308 <td class="memname">void move_bkg </td>
2309 <td>(</td>
2310 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
2311 <td class="paramname"><em>x</em>, </td>
2312 </tr>
2313 <tr>
2314 <td class="paramkey"></td>
2315 <td></td>
2316 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
2317 <td class="paramname"><em>y</em> </td>
2318 </tr>
2319 <tr>
2320 <td></td>
2321 <td>)</td>
2322 <td></td><td></td>
2323 </tr>
2324 </table>
2325 </td>
2326 <td class="mlabels-right">
2327 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2328 </tr>
2329 </table>
2330 </div><div class="memdoc">
2331
2332 </div>
2333 </div>
2334 <a id="scroll_bkg" name="scroll_bkg"></a>
2335 <h2 class="memtitle"><span class="permalink"><a href="#scroll_bkg">◆ </a></span>scroll_bkg()</h2>
2336
2337 <div class="memitem">
2338 <div class="memproto">
2339 <table class="mlabels">
2340 <tr>
2341 <td class="mlabels-left">
2342 <table class="memname">
2343 <tr>
2344 <td class="memname">void scroll_bkg </td>
2345 <td>(</td>
2346 <td class="paramtype"><a class="el" href="stdint_8h.html#int8_t">int8_t</a> </td>
2347 <td class="paramname"><em>x</em>, </td>
2348 </tr>
2349 <tr>
2350 <td class="paramkey"></td>
2351 <td></td>
2352 <td class="paramtype"><a class="el" href="stdint_8h.html#int8_t">int8_t</a> </td>
2353 <td class="paramname"><em>y</em> </td>
2354 </tr>
2355 <tr>
2356 <td></td>
2357 <td>)</td>
2358 <td></td><td></td>
2359 </tr>
2360 </table>
2361 </td>
2362 <td class="mlabels-right">
2363 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2364 </tr>
2365 </table>
2366 </div><div class="memdoc">
2367
2368 </div>
2369 </div>
2370 <a id="vsync" name="vsync"></a>
2371 <h2 class="memtitle"><span class="permalink"><a href="#vsync">◆ </a></span>vsync()</h2>
2372
2373 <div class="memitem">
2374 <div class="memproto">
2375 <table class="memname">
2376 <tr>
2377 <td class="memname">void vsync </td>
2378 <td>(</td>
2379 <td class="paramtype">void </td>
2380 <td class="paramname"></td><td>)</td>
2381 <td></td>
2382 </tr>
2383 </table>
2384 </div><div class="memdoc">
2385 <p >HALTs the CPU and waits for the vertical blank interrupt.</p>
2386 <p >This is often used in main loops to idle the CPU at low power until it's time to start the next frame. It's also useful for syncing animation with the screen re-draw.</p>
2387 <p >Warning: If the VBL interrupt is disabled, this function will never return. If the screen is off this function returns immediately. </p>
2388
2389 </div>
2390 </div>
2391 <a id="wait_vbl_done" name="wait_vbl_done"></a>
2392 <h2 class="memtitle"><span class="permalink"><a href="#wait_vbl_done">◆ </a></span>wait_vbl_done()</h2>
2393
2394 <div class="memitem">
2395 <div class="memproto">
2396 <table class="memname">
2397 <tr>
2398 <td class="memname">void wait_vbl_done </td>
2399 <td>(</td>
2400 <td class="paramtype">void </td>
2401 <td class="paramname"></td><td>)</td>
2402 <td></td>
2403 </tr>
2404 </table>
2405 </div><div class="memdoc">
2406 <p >Obsolete. This function has been replaced by <a class="el" href="sms_8h.html#vsync">vsync()</a>, which has identical behavior. </p>
2407
2408 </div>
2409 </div>
2410 <a id="display_off" name="display_off"></a>
2411 <h2 class="memtitle"><span class="permalink"><a href="#display_off">◆ </a></span>display_off()</h2>
2412
2413 <div class="memitem">
2414 <div class="memproto">
2415 <table class="mlabels">
2416 <tr>
2417 <td class="mlabels-left">
2418 <table class="memname">
2419 <tr>
2420 <td class="memname">void display_off </td>
2421 <td>(</td>
2422 <td class="paramtype">void </td>
2423 <td class="paramname"></td><td>)</td>
2424 <td></td>
2425 </tr>
2426 </table>
2427 </td>
2428 <td class="mlabels-right">
2429 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2430 </tr>
2431 </table>
2432 </div><div class="memdoc">
2433 <p >Turns the display off.</p>
2434 <dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#DISPLAY_ON">DISPLAY_ON</a> </dd></dl>
2435
2436 </div>
2437 </div>
2438 <a id="refresh_OAM" name="refresh_OAM"></a>
2439 <h2 class="memtitle"><span class="permalink"><a href="#refresh_OAM">◆ </a></span>refresh_OAM()</h2>
2440
2441 <div class="memitem">
2442 <div class="memproto">
2443 <table class="memname">
2444 <tr>
2445 <td class="memname">void refresh_OAM </td>
2446 <td>(</td>
2447 <td class="paramtype">void </td>
2448 <td class="paramname"></td><td>)</td>
2449 <td></td>
2450 </tr>
2451 </table>
2452 </div><div class="memdoc">
2453 <p >Copies data from shadow OAM to OAM </p>
2454
2455 </div>
2456 </div>
2457 <a id="get_r_reg" name="get_r_reg"></a>
2458 <h2 class="memtitle"><span class="permalink"><a href="#get_r_reg">◆ </a></span>get_r_reg()</h2>
2459
2460 <div class="memitem">
2461 <div class="memproto">
2462 <table class="memname">
2463 <tr>
2464 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> get_r_reg </td>
2465 <td>(</td>
2466 <td class="paramtype">void </td>
2467 <td class="paramname"></td><td>)</td>
2468 <td></td>
2469 </tr>
2470 </table>
2471 </div><div class="memdoc">
2472 <p >Return R register for the DIV_REG emulation</p>
2473 <p >Increments once per CPU instruction (fetches the Z80 CPU R register) </p>
2474
2475 </div>
2476 </div>
2477 <a id="delay" name="delay"></a>
2478 <h2 class="memtitle"><span class="permalink"><a href="#delay">◆ </a></span>delay()</h2>
2479
2480 <div class="memitem">
2481 <div class="memproto">
2482 <table class="memname">
2483 <tr>
2484 <td class="memname">void delay </td>
2485 <td>(</td>
2486 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
2487 <td class="paramname"><em>d</em></td><td>)</td>
2488 <td></td>
2489 </tr>
2490 </table>
2491 </div><div class="memdoc">
2492 <p >Delays the given number of milliseconds. Uses no timers or interrupts, and can be called with interrupts disabled </p>
2493
2494 </div>
2495 </div>
2496 <a id="joypad" name="joypad"></a>
2497 <h2 class="memtitle"><span class="permalink"><a href="#joypad">◆ </a></span>joypad()</h2>
2498
2499 <div class="memitem">
2500 <div class="memproto">
2501 <table class="memname">
2502 <tr>
2503 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> joypad </td>
2504 <td>(</td>
2505 <td class="paramtype">void </td>
2506 <td class="paramname"></td><td>)</td>
2507 <td></td>
2508 </tr>
2509 </table>
2510 </div><div class="memdoc">
2511 <p >Reads and returns the current state of the joypad. </p>
2512
2513 </div>
2514 </div>
2515 <a id="waitpad" name="waitpad"></a>
2516 <h2 class="memtitle"><span class="permalink"><a href="#waitpad">◆ </a></span>waitpad()</h2>
2517
2518 <div class="memitem">
2519 <div class="memproto">
2520 <table class="memname">
2521 <tr>
2522 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> waitpad </td>
2523 <td>(</td>
2524 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
2525 <td class="paramname"><em>mask</em></td><td>)</td>
2526 <td></td>
2527 </tr>
2528 </table>
2529 </div><div class="memdoc">
2530 <p >Waits until at least one of the buttons given in mask are pressed. </p>
2531
2532 </div>
2533 </div>
2534 <a id="waitpadup" name="waitpadup"></a>
2535 <h2 class="memtitle"><span class="permalink"><a href="#waitpadup">◆ </a></span>waitpadup()</h2>
2536
2537 <div class="memitem">
2538 <div class="memproto">
2539 <table class="memname">
2540 <tr>
2541 <td class="memname">void waitpadup </td>
2542 <td>(</td>
2543 <td class="paramtype">void </td>
2544 <td class="paramname"></td><td>)</td>
2545 <td></td>
2546 </tr>
2547 </table>
2548 </div><div class="memdoc">
2549 <p >Waits for the directional pad and all buttons to be released.</p>
2550 <p >Note: Checks in a loop that doesn't HALT at all, so the CPU will be maxed out until this call returns. </p>
2551
2552 </div>
2553 </div>
2554 <a id="joypad_init" name="joypad_init"></a>
2555 <h2 class="memtitle"><span class="permalink"><a href="#joypad_init">◆ </a></span>joypad_init()</h2>
2556
2557 <div class="memitem">
2558 <div class="memproto">
2559 <table class="memname">
2560 <tr>
2561 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> joypad_init </td>
2562 <td>(</td>
2563 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
2564 <td class="paramname"><em>npads</em>, </td>
2565 </tr>
2566 <tr>
2567 <td class="paramkey"></td>
2568 <td></td>
2569 <td class="paramtype"><a class="el" href="structjoypads__t.html">joypads_t</a> * </td>
2570 <td class="paramname"><em>joypads</em> </td>
2571 </tr>
2572 <tr>
2573 <td></td>
2574 <td>)</td>
2575 <td></td><td></td>
2576 </tr>
2577 </table>
2578 </div><div class="memdoc">
2579 <p >Initializes <a class="el" href="structjoypads__t.html">joypads_t</a> structure for polling multiple joypads </p><dl class="params"><dt>Parameters</dt><dd>
2580 <table class="params">
2581 <tr><td class="paramname">npads</td><td>number of joypads requested (1, 2 or 4) </td></tr>
2582 <tr><td class="paramname">joypads</td><td>pointer to <a class="el" href="structjoypads__t.html">joypads_t</a> structure to be initialized</td></tr>
2583 </table>
2584 </dd>
2585 </dl>
2586 <p>Only required for <a class="el" href="sms_8h.html#joypad_ex">joypad_ex</a>, not required for calls to regular <a class="el" href="gb_8h.html#joypad">joypad()</a> </p><dl class="section return"><dt>Returns</dt><dd>number of joypads avaliable </dd></dl>
2587 <dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#joypad_ex">joypad_ex()</a>, <a class="el" href="structjoypads__t.html">joypads_t</a> </dd></dl>
2588
2589 </div>
2590 </div>
2591 <a id="joypad_ex" name="joypad_ex"></a>
2592 <h2 class="memtitle"><span class="permalink"><a href="#joypad_ex">◆ </a></span>joypad_ex()</h2>
2593
2594 <div class="memitem">
2595 <div class="memproto">
2596 <table class="memname">
2597 <tr>
2598 <td class="memname">void joypad_ex </td>
2599 <td>(</td>
2600 <td class="paramtype"><a class="el" href="structjoypads__t.html">joypads_t</a> * </td>
2601 <td class="paramname"><em>joypads</em></td><td>)</td>
2602 <td></td>
2603 </tr>
2604 </table>
2605 </div><div class="memdoc">
2606 <p >Polls all avaliable joypads </p><dl class="params"><dt>Parameters</dt><dd>
2607 <table class="params">
2608 <tr><td class="paramname">joypads</td><td>pointer to <a class="el" href="structjoypads__t.html">joypads_t</a> structure to be filled with joypad statuses, must be previously initialized with <a class="el" href="sms_8h.html#joypad_init">joypad_init()</a></td></tr>
2609 </table>
2610 </dd>
2611 </dl>
2612 <dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#joypad_init">joypad_init()</a>, <a class="el" href="structjoypads__t.html">joypads_t</a> </dd></dl>
2613
2614 </div>
2615 </div>
2616 <a id="enable_interrupts" name="enable_interrupts"></a>
2617 <h2 class="memtitle"><span class="permalink"><a href="#enable_interrupts">◆ </a></span>enable_interrupts()</h2>
2618
2619 <div class="memitem">
2620 <div class="memproto">
2621 <table class="mlabels">
2622 <tr>
2623 <td class="mlabels-left">
2624 <table class="memname">
2625 <tr>
2626 <td class="memname">void enable_interrupts </td>
2627 <td>(</td>
2628 <td class="paramtype">void </td>
2629 <td class="paramname"></td><td>)</td>
2630 <td></td>
2631 </tr>
2632 </table>
2633 </td>
2634 <td class="mlabels-right">
2635 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2636 </tr>
2637 </table>
2638 </div><div class="memdoc">
2639 <p >Enables unmasked interrupts</p>
2640 <dl class="section note"><dt>Note</dt><dd>Use <a class="el" href="asm_2types_8h.html#CRITICAL">CRITICAL</a> {...} instead for creating a block of of code which should execute with interrupts temporarily turned off.</dd></dl>
2641 <dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#disable_interrupts">disable_interrupts</a>, <a class="el" href="sms_8h.html#set_interrupts">set_interrupts</a>, <a class="el" href="asm_2types_8h.html#CRITICAL">CRITICAL</a> </dd></dl>
2642
2643 </div>
2644 </div>
2645 <a id="disable_interrupts" name="disable_interrupts"></a>
2646 <h2 class="memtitle"><span class="permalink"><a href="#disable_interrupts">◆ </a></span>disable_interrupts()</h2>
2647
2648 <div class="memitem">
2649 <div class="memproto">
2650 <table class="mlabels">
2651 <tr>
2652 <td class="mlabels-left">
2653 <table class="memname">
2654 <tr>
2655 <td class="memname">void disable_interrupts </td>
2656 <td>(</td>
2657 <td class="paramtype">void </td>
2658 <td class="paramname"></td><td>)</td>
2659 <td></td>
2660 </tr>
2661 </table>
2662 </td>
2663 <td class="mlabels-right">
2664 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2665 </tr>
2666 </table>
2667 </div><div class="memdoc">
2668 <p >Disables interrupts</p>
2669 <dl class="section note"><dt>Note</dt><dd>Use <a class="el" href="asm_2types_8h.html#CRITICAL">CRITICAL</a> {...} instead for creating a block of of code which should execute with interrupts temporarily turned off.</dd></dl>
2670 <p>This function may be called as many times as you like; however the first call to <a class="el" href="sms_8h.html#enable_interrupts">enable_interrupts</a> will re-enable them.</p>
2671 <dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#enable_interrupts">enable_interrupts</a>, <a class="el" href="sms_8h.html#set_interrupts">set_interrupts</a>, <a class="el" href="asm_2types_8h.html#CRITICAL">CRITICAL</a> </dd></dl>
2672
2673 </div>
2674 </div>
2675 <a id="set_default_palette" name="set_default_palette"></a>
2676 <h2 class="memtitle"><span class="permalink"><a href="#set_default_palette">◆ </a></span>set_default_palette()</h2>
2677
2678 <div class="memitem">
2679 <div class="memproto">
2680 <table class="memname">
2681 <tr>
2682 <td class="memname">void set_default_palette </td>
2683 <td>(</td>
2684 <td class="paramtype">void </td>
2685 <td class="paramname"></td><td>)</td>
2686 <td></td>
2687 </tr>
2688 </table>
2689 </div><div class="memdoc">
2690
2691 </div>
2692 </div>
2693 <a id="cgb_compatibility" name="cgb_compatibility"></a>
2694 <h2 class="memtitle"><span class="permalink"><a href="#cgb_compatibility">◆ </a></span>cgb_compatibility()</h2>
2695
2696 <div class="memitem">
2697 <div class="memproto">
2698 <table class="mlabels">
2699 <tr>
2700 <td class="mlabels-left">
2701 <table class="memname">
2702 <tr>
2703 <td class="memname">void cgb_compatibility </td>
2704 <td>(</td>
2705 <td class="paramtype">void </td>
2706 <td class="paramname"></td><td>)</td>
2707 <td></td>
2708 </tr>
2709 </table>
2710 </td>
2711 <td class="mlabels-right">
2712 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2713 </tr>
2714 </table>
2715 </div><div class="memdoc">
2716 <p >Obsolete. This function has been replaced by <a class="el" href="cgb_8h.html#set_default_palette">set_default_palette()</a>, which has identical behavior. </p>
2717
2718 </div>
2719 </div>
2720 <a id="cpu_fast" name="cpu_fast"></a>
2721 <h2 class="memtitle"><span class="permalink"><a href="#cpu_fast">◆ </a></span>cpu_fast()</h2>
2722
2723 <div class="memitem">
2724 <div class="memproto">
2725 <table class="mlabels">
2726 <tr>
2727 <td class="mlabels-left">
2728 <table class="memname">
2729 <tr>
2730 <td class="memname">void cpu_fast </td>
2731 <td>(</td>
2732 <td class="paramtype">void </td>
2733 <td class="paramname"></td><td>)</td>
2734 <td></td>
2735 </tr>
2736 </table>
2737 </td>
2738 <td class="mlabels-right">
2739 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2740 </tr>
2741 </table>
2742 </div><div class="memdoc">
2743 <p >Set CPU speed to fast (CGB Double Speed) operation.</p>
2744 <p >On startup the CGB operates in Normal Speed Mode and can be switched into Double speed mode (faster processing but also higher power consumption). See the Pan Docs for more information about which hardware features operate faster and which remain at Normal Speed.</p>
2745 <ul>
2746 <li>Interrupts are temporarily disabled and then re-enabled during this call. </li>
2747 <li>You can check to see if <a class="el" href="gb_8h.html#_cpu">_cpu</a> == <a class="el" href="gb_8h.html#CGB_TYPE">CGB_TYPE</a> before using this function.</li>
2748 </ul>
2749 <dl class="section see"><dt>See also</dt><dd><a class="el" href="cgb_8h.html#cpu_slow">cpu_slow()</a>, <a class="el" href="gb_8h.html#_cpu">_cpu</a> </dd></dl>
2750
2751 </div>
2752 </div>
2753 <a id="set_palette_entry" name="set_palette_entry"></a>
2754 <h2 class="memtitle"><span class="permalink"><a href="#set_palette_entry">◆ </a></span>set_palette_entry()</h2>
2755
2756 <div class="memitem">
2757 <div class="memproto">
2758 <table class="memname">
2759 <tr>
2760 <td class="memname">void set_palette_entry </td>
2761 <td>(</td>
2762 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
2763 <td class="paramname"><em>palette</em>, </td>
2764 </tr>
2765 <tr>
2766 <td class="paramkey"></td>
2767 <td></td>
2768 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
2769 <td class="paramname"><em>entry</em>, </td>
2770 </tr>
2771 <tr>
2772 <td class="paramkey"></td>
2773 <td></td>
2774 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
2775 <td class="paramname"><em>rgb_data</em> </td>
2776 </tr>
2777 <tr>
2778 <td></td>
2779 <td>)</td>
2780 <td></td><td></td>
2781 </tr>
2782 </table>
2783 </div><div class="memdoc">
2784
2785 </div>
2786 </div>
2787 <a id="set_palette" name="set_palette"></a>
2788 <h2 class="memtitle"><span class="permalink"><a href="#set_palette">◆ </a></span>set_palette()</h2>
2789
2790 <div class="memitem">
2791 <div class="memproto">
2792 <table class="memname">
2793 <tr>
2794 <td class="memname">void set_palette </td>
2795 <td>(</td>
2796 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
2797 <td class="paramname"><em>first_palette</em>, </td>
2798 </tr>
2799 <tr>
2800 <td class="paramkey"></td>
2801 <td></td>
2802 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
2803 <td class="paramname"><em>nb_palettes</em>, </td>
2804 </tr>
2805 <tr>
2806 <td class="paramkey"></td>
2807 <td></td>
2808 <td class="paramtype">const <a class="el" href="cgb_8h.html#palette_color_t">palette_color_t</a> * </td>
2809 <td class="paramname"><em>rgb_data</em> </td>
2810 </tr>
2811 <tr>
2812 <td></td>
2813 <td>)</td>
2814 <td></td><td></td>
2815 </tr>
2816 </table>
2817 </div><div class="memdoc">
2818 <p >Set color palette(s)</p>
2819 <dl class="params"><dt>Parameters</dt><dd>
2820 <table class="params">
2821 <tr><td class="paramname">first_palette</td><td>Index of the first 16 color palette to write (0-1) </td></tr>
2822 <tr><td class="paramname">nb_palettes</td><td>Number of palettes to write (1-2, max depends on first_palette) </td></tr>
2823 <tr><td class="paramname">rgb_data</td><td>Pointer to source palette data</td></tr>
2824 </table>
2825 </dd>
2826 </dl>
2827 <p>Writes <b>nb_palettes</b> to palette data starting at <b>first_palette</b>, Palette data is sourced from <b>rgb_data</b>.</p>
2828 <ul>
2829 <li>Palette 0 can be used for the Background. </li>
2830 <li>Palette 1 is shared between Background and Sprites.</li>
2831 </ul>
2832 <p>On the Game Gear </p><ul>
2833 <li>Each Palette is 32 bytes in size: 16 colors x 2 bytes per palette color entry. </li>
2834 <li>Each color (16 per palette) is packed as BGR-444 format (x:4:4:4, MSBits [15..12] are unused). </li>
2835 <li>Each component (R, G, B) may have values from 0 - 15 (4 bits), 15 is brightest.</li>
2836 </ul>
2837 <p>On the SMS </p><ul>
2838 <li>On SMS each Palette is 16 bytes in size: 16 colors x 1 byte per palette color entry. </li>
2839 <li>Each color (16 per palette) is packed as BGR-222 format (x:2:2:2, MSBits [7..6] are unused). </li>
2840 <li>Each component (R, G, B) may have values from 0 - 3 (2 bits), 3 is brightest.</li>
2841 </ul>
2842 <dl class="section see"><dt>See also</dt><dd><a class="el" href="cgb_8h.html#RGB">RGB()</a>, <a class="el" href="sms_8h.html#set_sprite_palette">set_sprite_palette()</a>, <a class="el" href="sms_8h.html#set_bkg_palette">set_bkg_palette()</a>, <a class="el" href="sms_8h.html#set_palette_entry">set_palette_entry()</a>, <a class="el" href="sms_8h.html#set_sprite_palette_entry">set_sprite_palette_entry()</a>, <a class="el" href="sms_8h.html#set_bkg_palette_entry">set_bkg_palette_entry()</a>, <a class="el" href="sms_8h.html#set_sprite_palette">set_sprite_palette()</a> </dd></dl>
2843
2844 </div>
2845 </div>
2846 <a id="set_native_tile_data" name="set_native_tile_data"></a>
2847 <h2 class="memtitle"><span class="permalink"><a href="#set_native_tile_data">◆ </a></span>set_native_tile_data()</h2>
2848
2849 <div class="memitem">
2850 <div class="memproto">
2851 <table class="memname">
2852 <tr>
2853 <td class="memname">void set_native_tile_data </td>
2854 <td>(</td>
2855 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
2856 <td class="paramname"><em>start</em>, </td>
2857 </tr>
2858 <tr>
2859 <td class="paramkey"></td>
2860 <td></td>
2861 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
2862 <td class="paramname"><em>ntiles</em>, </td>
2863 </tr>
2864 <tr>
2865 <td class="paramkey"></td>
2866 <td></td>
2867 <td class="paramtype">const void * </td>
2868 <td class="paramname"><em>src</em> </td>
2869 </tr>
2870 <tr>
2871 <td></td>
2872 <td>)</td>
2873 <td></td><td></td>
2874 </tr>
2875 </table>
2876 </div><div class="memdoc">
2877
2878 </div>
2879 </div>
2880 <a id="set_bkg_4bpp_data" name="set_bkg_4bpp_data"></a>
2881 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_4bpp_data">◆ </a></span>set_bkg_4bpp_data()</h2>
2882
2883 <div class="memitem">
2884 <div class="memproto">
2885 <table class="memname">
2886 <tr>
2887 <td class="memname">void set_bkg_4bpp_data </td>
2888 <td>(</td>
2889 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
2890 <td class="paramname"><em>start</em>, </td>
2891 </tr>
2892 <tr>
2893 <td class="paramkey"></td>
2894 <td></td>
2895 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
2896 <td class="paramname"><em>ntiles</em>, </td>
2897 </tr>
2898 <tr>
2899 <td class="paramkey"></td>
2900 <td></td>
2901 <td class="paramtype">const void * </td>
2902 <td class="paramname"><em>src</em> </td>
2903 </tr>
2904 <tr>
2905 <td></td>
2906 <td>)</td>
2907 <td></td><td></td>
2908 </tr>
2909 </table>
2910 </div><div class="memdoc">
2911
2912 </div>
2913 </div>
2914 <a id="set_bkg_native_data" name="set_bkg_native_data"></a>
2915 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_native_data">◆ </a></span>set_bkg_native_data()</h2>
2916
2917 <div class="memitem">
2918 <div class="memproto">
2919 <table class="memname">
2920 <tr>
2921 <td class="memname">void set_bkg_native_data </td>
2922 <td>(</td>
2923 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
2924 <td class="paramname"><em>start</em>, </td>
2925 </tr>
2926 <tr>
2927 <td class="paramkey"></td>
2928 <td></td>
2929 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
2930 <td class="paramname"><em>ntiles</em>, </td>
2931 </tr>
2932 <tr>
2933 <td class="paramkey"></td>
2934 <td></td>
2935 <td class="paramtype">const void * </td>
2936 <td class="paramname"><em>src</em> </td>
2937 </tr>
2938 <tr>
2939 <td></td>
2940 <td>)</td>
2941 <td></td><td></td>
2942 </tr>
2943 </table>
2944 </div><div class="memdoc">
2945
2946 </div>
2947 </div>
2948 <a id="set_sprite_4bpp_data" name="set_sprite_4bpp_data"></a>
2949 <h2 class="memtitle"><span class="permalink"><a href="#set_sprite_4bpp_data">◆ </a></span>set_sprite_4bpp_data()</h2>
2950
2951 <div class="memitem">
2952 <div class="memproto">
2953 <table class="memname">
2954 <tr>
2955 <td class="memname">void set_sprite_4bpp_data </td>
2956 <td>(</td>
2957 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
2958 <td class="paramname"><em>start</em>, </td>
2959 </tr>
2960 <tr>
2961 <td class="paramkey"></td>
2962 <td></td>
2963 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
2964 <td class="paramname"><em>ntiles</em>, </td>
2965 </tr>
2966 <tr>
2967 <td class="paramkey"></td>
2968 <td></td>
2969 <td class="paramtype">const void * </td>
2970 <td class="paramname"><em>src</em> </td>
2971 </tr>
2972 <tr>
2973 <td></td>
2974 <td>)</td>
2975 <td></td><td></td>
2976 </tr>
2977 </table>
2978 </div><div class="memdoc">
2979
2980 </div>
2981 </div>
2982 <a id="set_sprite_native_data" name="set_sprite_native_data"></a>
2983 <h2 class="memtitle"><span class="permalink"><a href="#set_sprite_native_data">◆ </a></span>set_sprite_native_data()</h2>
2984
2985 <div class="memitem">
2986 <div class="memproto">
2987 <table class="memname">
2988 <tr>
2989 <td class="memname">void set_sprite_native_data </td>
2990 <td>(</td>
2991 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
2992 <td class="paramname"><em>start</em>, </td>
2993 </tr>
2994 <tr>
2995 <td class="paramkey"></td>
2996 <td></td>
2997 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
2998 <td class="paramname"><em>ntiles</em>, </td>
2999 </tr>
3000 <tr>
3001 <td class="paramkey"></td>
3002 <td></td>
3003 <td class="paramtype">const void * </td>
3004 <td class="paramname"><em>src</em> </td>
3005 </tr>
3006 <tr>
3007 <td></td>
3008 <td>)</td>
3009 <td></td><td></td>
3010 </tr>
3011 </table>
3012 </div><div class="memdoc">
3013
3014 </div>
3015 </div>
3016 <a id="set_2bpp_palette" name="set_2bpp_palette"></a>
3017 <h2 class="memtitle"><span class="permalink"><a href="#set_2bpp_palette">◆ </a></span>set_2bpp_palette()</h2>
3018
3019 <div class="memitem">
3020 <div class="memproto">
3021 <table class="mlabels">
3022 <tr>
3023 <td class="mlabels-left">
3024 <table class="memname">
3025 <tr>
3026 <td class="memname">void set_2bpp_palette </td>
3027 <td>(</td>
3028 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3029 <td class="paramname"><em>palette</em></td><td>)</td>
3030 <td></td>
3031 </tr>
3032 </table>
3033 </td>
3034 <td class="mlabels-right">
3035 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3036 </tr>
3037 </table>
3038 </div><div class="memdoc">
3039
3040 </div>
3041 </div>
3042 <a id="set_tile_2bpp_data" name="set_tile_2bpp_data"></a>
3043 <h2 class="memtitle"><span class="permalink"><a href="#set_tile_2bpp_data">◆ </a></span>set_tile_2bpp_data()</h2>
3044
3045 <div class="memitem">
3046 <div class="memproto">
3047 <table class="memname">
3048 <tr>
3049 <td class="memname">void set_tile_2bpp_data </td>
3050 <td>(</td>
3051 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3052 <td class="paramname"><em>start</em>, </td>
3053 </tr>
3054 <tr>
3055 <td class="paramkey"></td>
3056 <td></td>
3057 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3058 <td class="paramname"><em>ntiles</em>, </td>
3059 </tr>
3060 <tr>
3061 <td class="paramkey"></td>
3062 <td></td>
3063 <td class="paramtype">const void * </td>
3064 <td class="paramname"><em>src</em>, </td>
3065 </tr>
3066 <tr>
3067 <td class="paramkey"></td>
3068 <td></td>
3069 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3070 <td class="paramname"><em>palette</em> </td>
3071 </tr>
3072 <tr>
3073 <td></td>
3074 <td>)</td>
3075 <td></td><td></td>
3076 </tr>
3077 </table>
3078 </div><div class="memdoc">
3079
3080 </div>
3081 </div>
3082 <a id="set_bkg_data" name="set_bkg_data"></a>
3083 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_data">◆ </a></span>set_bkg_data()</h2>
3084
3085 <div class="memitem">
3086 <div class="memproto">
3087 <table class="mlabels">
3088 <tr>
3089 <td class="mlabels-left">
3090 <table class="memname">
3091 <tr>
3092 <td class="memname">void set_bkg_data </td>
3093 <td>(</td>
3094 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3095 <td class="paramname"><em>start</em>, </td>
3096 </tr>
3097 <tr>
3098 <td class="paramkey"></td>
3099 <td></td>
3100 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3101 <td class="paramname"><em>ntiles</em>, </td>
3102 </tr>
3103 <tr>
3104 <td class="paramkey"></td>
3105 <td></td>
3106 <td class="paramtype">const void * </td>
3107 <td class="paramname"><em>src</em> </td>
3108 </tr>
3109 <tr>
3110 <td></td>
3111 <td>)</td>
3112 <td></td><td></td>
3113 </tr>
3114 </table>
3115 </td>
3116 <td class="mlabels-right">
3117 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3118 </tr>
3119 </table>
3120 </div><div class="memdoc">
3121
3122 </div>
3123 </div>
3124 <a id="set_sprite_data" name="set_sprite_data"></a>
3125 <h2 class="memtitle"><span class="permalink"><a href="#set_sprite_data">◆ </a></span>set_sprite_data()</h2>
3126
3127 <div class="memitem">
3128 <div class="memproto">
3129 <table class="mlabels">
3130 <tr>
3131 <td class="mlabels-left">
3132 <table class="memname">
3133 <tr>
3134 <td class="memname">void set_sprite_data </td>
3135 <td>(</td>
3136 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3137 <td class="paramname"><em>start</em>, </td>
3138 </tr>
3139 <tr>
3140 <td class="paramkey"></td>
3141 <td></td>
3142 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3143 <td class="paramname"><em>ntiles</em>, </td>
3144 </tr>
3145 <tr>
3146 <td class="paramkey"></td>
3147 <td></td>
3148 <td class="paramtype">const void * </td>
3149 <td class="paramname"><em>src</em> </td>
3150 </tr>
3151 <tr>
3152 <td></td>
3153 <td>)</td>
3154 <td></td><td></td>
3155 </tr>
3156 </table>
3157 </td>
3158 <td class="mlabels-right">
3159 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3160 </tr>
3161 </table>
3162 </div><div class="memdoc">
3163
3164 </div>
3165 </div>
3166 <a id="set_bkg_2bpp_data" name="set_bkg_2bpp_data"></a>
3167 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_2bpp_data">◆ </a></span>set_bkg_2bpp_data()</h2>
3168
3169 <div class="memitem">
3170 <div class="memproto">
3171 <table class="mlabels">
3172 <tr>
3173 <td class="mlabels-left">
3174 <table class="memname">
3175 <tr>
3176 <td class="memname">void set_bkg_2bpp_data </td>
3177 <td>(</td>
3178 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3179 <td class="paramname"><em>start</em>, </td>
3180 </tr>
3181 <tr>
3182 <td class="paramkey"></td>
3183 <td></td>
3184 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3185 <td class="paramname"><em>ntiles</em>, </td>
3186 </tr>
3187 <tr>
3188 <td class="paramkey"></td>
3189 <td></td>
3190 <td class="paramtype">const void * </td>
3191 <td class="paramname"><em>src</em> </td>
3192 </tr>
3193 <tr>
3194 <td></td>
3195 <td>)</td>
3196 <td></td><td></td>
3197 </tr>
3198 </table>
3199 </td>
3200 <td class="mlabels-right">
3201 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3202 </tr>
3203 </table>
3204 </div><div class="memdoc">
3205
3206 </div>
3207 </div>
3208 <a id="set_sprite_2bpp_data" name="set_sprite_2bpp_data"></a>
3209 <h2 class="memtitle"><span class="permalink"><a href="#set_sprite_2bpp_data">◆ </a></span>set_sprite_2bpp_data()</h2>
3210
3211 <div class="memitem">
3212 <div class="memproto">
3213 <table class="mlabels">
3214 <tr>
3215 <td class="mlabels-left">
3216 <table class="memname">
3217 <tr>
3218 <td class="memname">void set_sprite_2bpp_data </td>
3219 <td>(</td>
3220 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3221 <td class="paramname"><em>start</em>, </td>
3222 </tr>
3223 <tr>
3224 <td class="paramkey"></td>
3225 <td></td>
3226 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3227 <td class="paramname"><em>ntiles</em>, </td>
3228 </tr>
3229 <tr>
3230 <td class="paramkey"></td>
3231 <td></td>
3232 <td class="paramtype">const void * </td>
3233 <td class="paramname"><em>src</em> </td>
3234 </tr>
3235 <tr>
3236 <td></td>
3237 <td>)</td>
3238 <td></td><td></td>
3239 </tr>
3240 </table>
3241 </td>
3242 <td class="mlabels-right">
3243 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3244 </tr>
3245 </table>
3246 </div><div class="memdoc">
3247
3248 </div>
3249 </div>
3250 <a id="set_1bpp_colors" name="set_1bpp_colors"></a>
3251 <h2 class="memtitle"><span class="permalink"><a href="#set_1bpp_colors">◆ </a></span>set_1bpp_colors()</h2>
3252
3253 <div class="memitem">
3254 <div class="memproto">
3255 <table class="mlabels">
3256 <tr>
3257 <td class="mlabels-left">
3258 <table class="memname">
3259 <tr>
3260 <td class="memname">void set_1bpp_colors </td>
3261 <td>(</td>
3262 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3263 <td class="paramname"><em>fgcolor</em>, </td>
3264 </tr>
3265 <tr>
3266 <td class="paramkey"></td>
3267 <td></td>
3268 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3269 <td class="paramname"><em>bgcolor</em> </td>
3270 </tr>
3271 <tr>
3272 <td></td>
3273 <td>)</td>
3274 <td></td><td></td>
3275 </tr>
3276 </table>
3277 </td>
3278 <td class="mlabels-right">
3279 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3280 </tr>
3281 </table>
3282 </div><div class="memdoc">
3283
3284 </div>
3285 </div>
3286 <a id="set_tile_1bpp_data" name="set_tile_1bpp_data"></a>
3287 <h2 class="memtitle"><span class="permalink"><a href="#set_tile_1bpp_data">◆ </a></span>set_tile_1bpp_data()</h2>
3288
3289 <div class="memitem">
3290 <div class="memproto">
3291 <table class="memname">
3292 <tr>
3293 <td class="memname">void set_tile_1bpp_data </td>
3294 <td>(</td>
3295 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3296 <td class="paramname"><em>start</em>, </td>
3297 </tr>
3298 <tr>
3299 <td class="paramkey"></td>
3300 <td></td>
3301 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3302 <td class="paramname"><em>ntiles</em>, </td>
3303 </tr>
3304 <tr>
3305 <td class="paramkey"></td>
3306 <td></td>
3307 <td class="paramtype">const void * </td>
3308 <td class="paramname"><em>src</em>, </td>
3309 </tr>
3310 <tr>
3311 <td class="paramkey"></td>
3312 <td></td>
3313 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3314 <td class="paramname"><em>colors</em> </td>
3315 </tr>
3316 <tr>
3317 <td></td>
3318 <td>)</td>
3319 <td></td><td></td>
3320 </tr>
3321 </table>
3322 </div><div class="memdoc">
3323
3324 </div>
3325 </div>
3326 <a id="set_bkg_1bpp_data" name="set_bkg_1bpp_data"></a>
3327 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_1bpp_data">◆ </a></span>set_bkg_1bpp_data()</h2>
3328
3329 <div class="memitem">
3330 <div class="memproto">
3331 <table class="mlabels">
3332 <tr>
3333 <td class="mlabels-left">
3334 <table class="memname">
3335 <tr>
3336 <td class="memname">void set_bkg_1bpp_data </td>
3337 <td>(</td>
3338 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3339 <td class="paramname"><em>start</em>, </td>
3340 </tr>
3341 <tr>
3342 <td class="paramkey"></td>
3343 <td></td>
3344 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3345 <td class="paramname"><em>ntiles</em>, </td>
3346 </tr>
3347 <tr>
3348 <td class="paramkey"></td>
3349 <td></td>
3350 <td class="paramtype">const void * </td>
3351 <td class="paramname"><em>src</em> </td>
3352 </tr>
3353 <tr>
3354 <td></td>
3355 <td>)</td>
3356 <td></td><td></td>
3357 </tr>
3358 </table>
3359 </td>
3360 <td class="mlabels-right">
3361 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3362 </tr>
3363 </table>
3364 </div><div class="memdoc">
3365
3366 </div>
3367 </div>
3368 <a id="set_sprite_1bpp_data" name="set_sprite_1bpp_data"></a>
3369 <h2 class="memtitle"><span class="permalink"><a href="#set_sprite_1bpp_data">◆ </a></span>set_sprite_1bpp_data()</h2>
3370
3371 <div class="memitem">
3372 <div class="memproto">
3373 <table class="mlabels">
3374 <tr>
3375 <td class="mlabels-left">
3376 <table class="memname">
3377 <tr>
3378 <td class="memname">void set_sprite_1bpp_data </td>
3379 <td>(</td>
3380 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3381 <td class="paramname"><em>start</em>, </td>
3382 </tr>
3383 <tr>
3384 <td class="paramkey"></td>
3385 <td></td>
3386 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3387 <td class="paramname"><em>ntiles</em>, </td>
3388 </tr>
3389 <tr>
3390 <td class="paramkey"></td>
3391 <td></td>
3392 <td class="paramtype">const void * </td>
3393 <td class="paramname"><em>src</em> </td>
3394 </tr>
3395 <tr>
3396 <td></td>
3397 <td>)</td>
3398 <td></td><td></td>
3399 </tr>
3400 </table>
3401 </td>
3402 <td class="mlabels-right">
3403 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3404 </tr>
3405 </table>
3406 </div><div class="memdoc">
3407
3408 </div>
3409 </div>
3410 <a id="set_data" name="set_data"></a>
3411 <h2 class="memtitle"><span class="permalink"><a href="#set_data">◆ </a></span>set_data()</h2>
3412
3413 <div class="memitem">
3414 <div class="memproto">
3415 <table class="memname">
3416 <tr>
3417 <td class="memname">void set_data </td>
3418 <td>(</td>
3419 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3420 <td class="paramname"><em>dst</em>, </td>
3421 </tr>
3422 <tr>
3423 <td class="paramkey"></td>
3424 <td></td>
3425 <td class="paramtype">const void * </td>
3426 <td class="paramname"><em>src</em>, </td>
3427 </tr>
3428 <tr>
3429 <td class="paramkey"></td>
3430 <td></td>
3431 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3432 <td class="paramname"><em>size</em> </td>
3433 </tr>
3434 <tr>
3435 <td></td>
3436 <td>)</td>
3437 <td></td><td></td>
3438 </tr>
3439 </table>
3440 </div><div class="memdoc">
3441 <p >Copies arbitrary data to an address in VRAM</p>
3442 <dl class="params"><dt>Parameters</dt><dd>
3443 <table class="params">
3444 <tr><td class="paramname">dst</td><td>destination VRAM Address </td></tr>
3445 <tr><td class="paramname">src</td><td>Pointer to source buffer </td></tr>
3446 <tr><td class="paramname">size</td><td>Number of bytes to copy</td></tr>
3447 </table>
3448 </dd>
3449 </dl>
3450 <p>Copies <b>size</b> bytes from a buffer at _src__ to VRAM starting at <b>dst</b>. </p>
3451
3452 </div>
3453 </div>
3454 <a id="vmemcpy" name="vmemcpy"></a>
3455 <h2 class="memtitle"><span class="permalink"><a href="#vmemcpy">◆ </a></span>vmemcpy()</h2>
3456
3457 <div class="memitem">
3458 <div class="memproto">
3459 <table class="memname">
3460 <tr>
3461 <td class="memname">void vmemcpy </td>
3462 <td>(</td>
3463 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3464 <td class="paramname"><em>dst</em>, </td>
3465 </tr>
3466 <tr>
3467 <td class="paramkey"></td>
3468 <td></td>
3469 <td class="paramtype">const void * </td>
3470 <td class="paramname"><em>src</em>, </td>
3471 </tr>
3472 <tr>
3473 <td class="paramkey"></td>
3474 <td></td>
3475 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
3476 <td class="paramname"><em>size</em> </td>
3477 </tr>
3478 <tr>
3479 <td></td>
3480 <td>)</td>
3481 <td></td><td></td>
3482 </tr>
3483 </table>
3484 </div><div class="memdoc">
3485
3486 </div>
3487 </div>
3488 <a id="set_tile_map" name="set_tile_map"></a>
3489 <h2 class="memtitle"><span class="permalink"><a href="#set_tile_map">◆ </a></span>set_tile_map()</h2>
3490
3491 <div class="memitem">
3492 <div class="memproto">
3493 <table class="memname">
3494 <tr>
3495 <td class="memname">void set_tile_map </td>
3496 <td>(</td>
3497 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3498 <td class="paramname"><em>x</em>, </td>
3499 </tr>
3500 <tr>
3501 <td class="paramkey"></td>
3502 <td></td>
3503 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3504 <td class="paramname"><em>y</em>, </td>
3505 </tr>
3506 <tr>
3507 <td class="paramkey"></td>
3508 <td></td>
3509 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3510 <td class="paramname"><em>w</em>, </td>
3511 </tr>
3512 <tr>
3513 <td class="paramkey"></td>
3514 <td></td>
3515 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3516 <td class="paramname"><em>h</em>, </td>
3517 </tr>
3518 <tr>
3519 <td class="paramkey"></td>
3520 <td></td>
3521 <td class="paramtype">const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td>
3522 <td class="paramname"><em>tiles</em> </td>
3523 </tr>
3524 <tr>
3525 <td></td>
3526 <td>)</td>
3527 <td></td><td></td>
3528 </tr>
3529 </table>
3530 </div><div class="memdoc">
3531
3532 </div>
3533 </div>
3534 <a id="set_tile_map_compat" name="set_tile_map_compat"></a>
3535 <h2 class="memtitle"><span class="permalink"><a href="#set_tile_map_compat">◆ </a></span>set_tile_map_compat()</h2>
3536
3537 <div class="memitem">
3538 <div class="memproto">
3539 <table class="memname">
3540 <tr>
3541 <td class="memname">void set_tile_map_compat </td>
3542 <td>(</td>
3543 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3544 <td class="paramname"><em>x</em>, </td>
3545 </tr>
3546 <tr>
3547 <td class="paramkey"></td>
3548 <td></td>
3549 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3550 <td class="paramname"><em>y</em>, </td>
3551 </tr>
3552 <tr>
3553 <td class="paramkey"></td>
3554 <td></td>
3555 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3556 <td class="paramname"><em>w</em>, </td>
3557 </tr>
3558 <tr>
3559 <td class="paramkey"></td>
3560 <td></td>
3561 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3562 <td class="paramname"><em>h</em>, </td>
3563 </tr>
3564 <tr>
3565 <td class="paramkey"></td>
3566 <td></td>
3567 <td class="paramtype">const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td>
3568 <td class="paramname"><em>tiles</em> </td>
3569 </tr>
3570 <tr>
3571 <td></td>
3572 <td>)</td>
3573 <td></td><td></td>
3574 </tr>
3575 </table>
3576 </div><div class="memdoc">
3577
3578 </div>
3579 </div>
3580 <a id="set_bkg_based_tiles" name="set_bkg_based_tiles"></a>
3581 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_based_tiles">◆ </a></span>set_bkg_based_tiles()</h2>
3582
3583 <div class="memitem">
3584 <div class="memproto">
3585 <table class="mlabels">
3586 <tr>
3587 <td class="mlabels-left">
3588 <table class="memname">
3589 <tr>
3590 <td class="memname">void set_bkg_based_tiles </td>
3591 <td>(</td>
3592 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3593 <td class="paramname"><em>x</em>, </td>
3594 </tr>
3595 <tr>
3596 <td class="paramkey"></td>
3597 <td></td>
3598 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3599 <td class="paramname"><em>y</em>, </td>
3600 </tr>
3601 <tr>
3602 <td class="paramkey"></td>
3603 <td></td>
3604 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3605 <td class="paramname"><em>w</em>, </td>
3606 </tr>
3607 <tr>
3608 <td class="paramkey"></td>
3609 <td></td>
3610 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3611 <td class="paramname"><em>h</em>, </td>
3612 </tr>
3613 <tr>
3614 <td class="paramkey"></td>
3615 <td></td>
3616 <td class="paramtype">const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td>
3617 <td class="paramname"><em>tiles</em>, </td>
3618 </tr>
3619 <tr>
3620 <td class="paramkey"></td>
3621 <td></td>
3622 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3623 <td class="paramname"><em>base_tile</em> </td>
3624 </tr>
3625 <tr>
3626 <td></td>
3627 <td>)</td>
3628 <td></td><td></td>
3629 </tr>
3630 </table>
3631 </td>
3632 <td class="mlabels-right">
3633 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3634 </tr>
3635 </table>
3636 </div><div class="memdoc">
3637 <p >Sets a rectangular region of Background Tile Map. The offset value in <b>base_tile</b> is added to the tile ID for each map entry.</p>
3638 <dl class="params"><dt>Parameters</dt><dd>
3639 <table class="params">
3640 <tr><td class="paramname">x</td><td>X Start position in Background Map tile coordinates. Range 0 - 31 </td></tr>
3641 <tr><td class="paramname">y</td><td>Y Start position in Background Map tile coordinates. Range 0 - 31 </td></tr>
3642 <tr><td class="paramname">w</td><td>Width of area to set in tiles. Range 1 - 32 </td></tr>
3643 <tr><td class="paramname">h</td><td>Height of area to set in tiles. Range 1 - 32 </td></tr>
3644 <tr><td class="paramname">tiles</td><td>Pointer to source tile map data </td></tr>
3645 <tr><td class="paramname">base_tile</td><td>Offset each tile ID entry of the source map by this value. Range 1 - 255</td></tr>
3646 </table>
3647 </dd>
3648 </dl>
3649 <p>This is identical to <a class="el" href="msx_8h.html#set_bkg_tiles">set_bkg_tiles()</a> except that it adds the <b>base_tile</b> parameter for when a tile map's tiles don't start at index zero. (For example, the tiles used by the map range from 100 -> 120 in VRAM instead of 0 -> 20).</p>
3650 <dl class="section see"><dt>See also</dt><dd><a class="el" href="nes_8h.html#set_bkg_tiles">set_bkg_tiles</a> for more details </dd></dl>
3651
3652 </div>
3653 </div>
3654 <a id="set_win_based_tiles" name="set_win_based_tiles"></a>
3655 <h2 class="memtitle"><span class="permalink"><a href="#set_win_based_tiles">◆ </a></span>set_win_based_tiles()</h2>
3656
3657 <div class="memitem">
3658 <div class="memproto">
3659 <table class="mlabels">
3660 <tr>
3661 <td class="mlabels-left">
3662 <table class="memname">
3663 <tr>
3664 <td class="memname">void set_win_based_tiles </td>
3665 <td>(</td>
3666 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3667 <td class="paramname"><em>x</em>, </td>
3668 </tr>
3669 <tr>
3670 <td class="paramkey"></td>
3671 <td></td>
3672 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3673 <td class="paramname"><em>y</em>, </td>
3674 </tr>
3675 <tr>
3676 <td class="paramkey"></td>
3677 <td></td>
3678 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3679 <td class="paramname"><em>w</em>, </td>
3680 </tr>
3681 <tr>
3682 <td class="paramkey"></td>
3683 <td></td>
3684 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3685 <td class="paramname"><em>h</em>, </td>
3686 </tr>
3687 <tr>
3688 <td class="paramkey"></td>
3689 <td></td>
3690 <td class="paramtype">const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td>
3691 <td class="paramname"><em>tiles</em>, </td>
3692 </tr>
3693 <tr>
3694 <td class="paramkey"></td>
3695 <td></td>
3696 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3697 <td class="paramname"><em>base_tile</em> </td>
3698 </tr>
3699 <tr>
3700 <td></td>
3701 <td>)</td>
3702 <td></td><td></td>
3703 </tr>
3704 </table>
3705 </td>
3706 <td class="mlabels-right">
3707 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3708 </tr>
3709 </table>
3710 </div><div class="memdoc">
3711
3712 </div>
3713 </div>
3714 <a id="set_bkg_attributes" name="set_bkg_attributes"></a>
3715 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_attributes">◆ </a></span>set_bkg_attributes()</h2>
3716
3717 <div class="memitem">
3718 <div class="memproto">
3719 <table class="mlabels">
3720 <tr>
3721 <td class="mlabels-left">
3722 <table class="memname">
3723 <tr>
3724 <td class="memname">void set_bkg_attributes </td>
3725 <td>(</td>
3726 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3727 <td class="paramname"><em>x</em>, </td>
3728 </tr>
3729 <tr>
3730 <td class="paramkey"></td>
3731 <td></td>
3732 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3733 <td class="paramname"><em>y</em>, </td>
3734 </tr>
3735 <tr>
3736 <td class="paramkey"></td>
3737 <td></td>
3738 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3739 <td class="paramname"><em>w</em>, </td>
3740 </tr>
3741 <tr>
3742 <td class="paramkey"></td>
3743 <td></td>
3744 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3745 <td class="paramname"><em>h</em>, </td>
3746 </tr>
3747 <tr>
3748 <td class="paramkey"></td>
3749 <td></td>
3750 <td class="paramtype">const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td>
3751 <td class="paramname"><em>tiles</em> </td>
3752 </tr>
3753 <tr>
3754 <td></td>
3755 <td>)</td>
3756 <td></td><td></td>
3757 </tr>
3758 </table>
3759 </td>
3760 <td class="mlabels-right">
3761 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3762 </tr>
3763 </table>
3764 </div><div class="memdoc">
3765
3766 </div>
3767 </div>
3768 <a id="set_tile_submap" name="set_tile_submap"></a>
3769 <h2 class="memtitle"><span class="permalink"><a href="#set_tile_submap">◆ </a></span>set_tile_submap()</h2>
3770
3771 <div class="memitem">
3772 <div class="memproto">
3773 <table class="memname">
3774 <tr>
3775 <td class="memname">void set_tile_submap </td>
3776 <td>(</td>
3777 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3778 <td class="paramname"><em>x</em>, </td>
3779 </tr>
3780 <tr>
3781 <td class="paramkey"></td>
3782 <td></td>
3783 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3784 <td class="paramname"><em>y</em>, </td>
3785 </tr>
3786 <tr>
3787 <td class="paramkey"></td>
3788 <td></td>
3789 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3790 <td class="paramname"><em>w</em>, </td>
3791 </tr>
3792 <tr>
3793 <td class="paramkey"></td>
3794 <td></td>
3795 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3796 <td class="paramname"><em>h</em>, </td>
3797 </tr>
3798 <tr>
3799 <td class="paramkey"></td>
3800 <td></td>
3801 <td class="paramtype">const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td>
3802 <td class="paramname"><em>map</em>, </td>
3803 </tr>
3804 <tr>
3805 <td class="paramkey"></td>
3806 <td></td>
3807 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3808 <td class="paramname"><em>map_w</em> </td>
3809 </tr>
3810 <tr>
3811 <td></td>
3812 <td>)</td>
3813 <td></td><td></td>
3814 </tr>
3815 </table>
3816 </div><div class="memdoc">
3817
3818 </div>
3819 </div>
3820 <a id="set_tile_submap_compat" name="set_tile_submap_compat"></a>
3821 <h2 class="memtitle"><span class="permalink"><a href="#set_tile_submap_compat">◆ </a></span>set_tile_submap_compat()</h2>
3822
3823 <div class="memitem">
3824 <div class="memproto">
3825 <table class="memname">
3826 <tr>
3827 <td class="memname">void set_tile_submap_compat </td>
3828 <td>(</td>
3829 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3830 <td class="paramname"><em>x</em>, </td>
3831 </tr>
3832 <tr>
3833 <td class="paramkey"></td>
3834 <td></td>
3835 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3836 <td class="paramname"><em>y</em>, </td>
3837 </tr>
3838 <tr>
3839 <td class="paramkey"></td>
3840 <td></td>
3841 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3842 <td class="paramname"><em>w</em>, </td>
3843 </tr>
3844 <tr>
3845 <td class="paramkey"></td>
3846 <td></td>
3847 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3848 <td class="paramname"><em>h</em>, </td>
3849 </tr>
3850 <tr>
3851 <td class="paramkey"></td>
3852 <td></td>
3853 <td class="paramtype">const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td>
3854 <td class="paramname"><em>map</em>, </td>
3855 </tr>
3856 <tr>
3857 <td class="paramkey"></td>
3858 <td></td>
3859 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3860 <td class="paramname"><em>map_w</em> </td>
3861 </tr>
3862 <tr>
3863 <td></td>
3864 <td>)</td>
3865 <td></td><td></td>
3866 </tr>
3867 </table>
3868 </div><div class="memdoc">
3869
3870 </div>
3871 </div>
3872 <a id="set_bkg_based_submap" name="set_bkg_based_submap"></a>
3873 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_based_submap">◆ </a></span>set_bkg_based_submap()</h2>
3874
3875 <div class="memitem">
3876 <div class="memproto">
3877 <table class="mlabels">
3878 <tr>
3879 <td class="mlabels-left">
3880 <table class="memname">
3881 <tr>
3882 <td class="memname">void set_bkg_based_submap </td>
3883 <td>(</td>
3884 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3885 <td class="paramname"><em>x</em>, </td>
3886 </tr>
3887 <tr>
3888 <td class="paramkey"></td>
3889 <td></td>
3890 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3891 <td class="paramname"><em>y</em>, </td>
3892 </tr>
3893 <tr>
3894 <td class="paramkey"></td>
3895 <td></td>
3896 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3897 <td class="paramname"><em>w</em>, </td>
3898 </tr>
3899 <tr>
3900 <td class="paramkey"></td>
3901 <td></td>
3902 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3903 <td class="paramname"><em>h</em>, </td>
3904 </tr>
3905 <tr>
3906 <td class="paramkey"></td>
3907 <td></td>
3908 <td class="paramtype">const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td>
3909 <td class="paramname"><em>map</em>, </td>
3910 </tr>
3911 <tr>
3912 <td class="paramkey"></td>
3913 <td></td>
3914 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3915 <td class="paramname"><em>map_w</em>, </td>
3916 </tr>
3917 <tr>
3918 <td class="paramkey"></td>
3919 <td></td>
3920 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3921 <td class="paramname"><em>base_tile</em> </td>
3922 </tr>
3923 <tr>
3924 <td></td>
3925 <td>)</td>
3926 <td></td><td></td>
3927 </tr>
3928 </table>
3929 </td>
3930 <td class="mlabels-right">
3931 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3932 </tr>
3933 </table>
3934 </div><div class="memdoc">
3935 <p >Sets a rectangular area of the Background Tile Map using a sub-region from a source tile map. The offset value in <b>base_tile</b> is added to the tile ID for each map entry.</p>
3936 <dl class="params"><dt>Parameters</dt><dd>
3937 <table class="params">
3938 <tr><td class="paramname">x</td><td>X Start position in Background Map tile coordinates. Range 0 - 31 </td></tr>
3939 <tr><td class="paramname">y</td><td>Y Start position in Background Map tile coordinates. Range 0 - 31 </td></tr>
3940 <tr><td class="paramname">w</td><td>Width of area to set in tiles. Range 1 - 255 </td></tr>
3941 <tr><td class="paramname">h</td><td>Height of area to set in tiles. Range 1 - 255 </td></tr>
3942 <tr><td class="paramname">map</td><td>Pointer to source tile map data </td></tr>
3943 <tr><td class="paramname">map_w</td><td>Width of source tile map in tiles. Range 1 - 255 </td></tr>
3944 <tr><td class="paramname">base_tile</td><td>Offset each tile ID entry of the source map by this value. Range 1 - 255</td></tr>
3945 </table>
3946 </dd>
3947 </dl>
3948 <p>This is identical to <a class="el" href="sms_8h.html#set_bkg_submap">set_bkg_submap()</a> except that it adds the <b>base_tile</b> parameter for when a tile map's tiles don't start at index zero. (For example, the tiles used by the map range from 100 -> 120 in VRAM instead of 0 -> 20).</p>
3949 <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#set_bkg_submap">set_bkg_submap</a> for more details</dd></dl>
3950 <p>Sets a rectangular area of the Background Tile Map using a sub-region from a source tile map. The offset value in <b>base_tile</b> is added to the tile ID for each map entry.</p>
3951 <dl class="params"><dt>Parameters</dt><dd>
3952 <table class="params">
3953 <tr><td class="paramname">x</td><td>X Start position in both the Source Tile Map and hardware Background Map tile coordinates. Range 0 - 255 </td></tr>
3954 <tr><td class="paramname">y</td><td>Y Start position in both the Source Tile Map and hardware Background Map tile coordinates. Range 0 - 255 </td></tr>
3955 <tr><td class="paramname">w</td><td>Width of area to set in tiles. Range 1 - 255 </td></tr>
3956 <tr><td class="paramname">h</td><td>Height of area to set in tiles. Range 1 - 255 </td></tr>
3957 <tr><td class="paramname">map</td><td>Pointer to source tile map data </td></tr>
3958 <tr><td class="paramname">map_w</td><td>Width of source tile map in tiles. Range 1 - 255 </td></tr>
3959 <tr><td class="paramname">base_tile</td><td>Offset each tile ID entry of the source map by this value. Range 1 - 255</td></tr>
3960 </table>
3961 </dd>
3962 </dl>
3963 <p>This is identical to <a class="el" href="sms_8h.html#set_bkg_submap">set_bkg_submap()</a> except that it adds the <b>base_tile</b> parameter for when a tile map's tiles don't start at index zero. (For example, the tiles used by the map range from 100 -> 120 in VRAM instead of 0 -> 20).</p>
3964 <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#set_bkg_submap">set_bkg_submap</a> for more details </dd></dl>
3965
3966 </div>
3967 </div>
3968 <a id="set_win_based_submap" name="set_win_based_submap"></a>
3969 <h2 class="memtitle"><span class="permalink"><a href="#set_win_based_submap">◆ </a></span>set_win_based_submap()</h2>
3970
3971 <div class="memitem">
3972 <div class="memproto">
3973 <table class="mlabels">
3974 <tr>
3975 <td class="mlabels-left">
3976 <table class="memname">
3977 <tr>
3978 <td class="memname">void set_win_based_submap </td>
3979 <td>(</td>
3980 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3981 <td class="paramname"><em>x</em>, </td>
3982 </tr>
3983 <tr>
3984 <td class="paramkey"></td>
3985 <td></td>
3986 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3987 <td class="paramname"><em>y</em>, </td>
3988 </tr>
3989 <tr>
3990 <td class="paramkey"></td>
3991 <td></td>
3992 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3993 <td class="paramname"><em>w</em>, </td>
3994 </tr>
3995 <tr>
3996 <td class="paramkey"></td>
3997 <td></td>
3998 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
3999 <td class="paramname"><em>h</em>, </td>
4000 </tr>
4001 <tr>
4002 <td class="paramkey"></td>
4003 <td></td>
4004 <td class="paramtype">const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td>
4005 <td class="paramname"><em>map</em>, </td>
4006 </tr>
4007 <tr>
4008 <td class="paramkey"></td>
4009 <td></td>
4010 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4011 <td class="paramname"><em>map_w</em>, </td>
4012 </tr>
4013 <tr>
4014 <td class="paramkey"></td>
4015 <td></td>
4016 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4017 <td class="paramname"><em>base_tile</em> </td>
4018 </tr>
4019 <tr>
4020 <td></td>
4021 <td>)</td>
4022 <td></td><td></td>
4023 </tr>
4024 </table>
4025 </td>
4026 <td class="mlabels-right">
4027 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4028 </tr>
4029 </table>
4030 </div><div class="memdoc">
4031
4032 </div>
4033 </div>
4034 <a id="set_bkg_submap_attributes" name="set_bkg_submap_attributes"></a>
4035 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_submap_attributes">◆ </a></span>set_bkg_submap_attributes()</h2>
4036
4037 <div class="memitem">
4038 <div class="memproto">
4039 <table class="mlabels">
4040 <tr>
4041 <td class="mlabels-left">
4042 <table class="memname">
4043 <tr>
4044 <td class="memname">void set_bkg_submap_attributes </td>
4045 <td>(</td>
4046 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4047 <td class="paramname"><em>x</em>, </td>
4048 </tr>
4049 <tr>
4050 <td class="paramkey"></td>
4051 <td></td>
4052 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4053 <td class="paramname"><em>y</em>, </td>
4054 </tr>
4055 <tr>
4056 <td class="paramkey"></td>
4057 <td></td>
4058 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4059 <td class="paramname"><em>w</em>, </td>
4060 </tr>
4061 <tr>
4062 <td class="paramkey"></td>
4063 <td></td>
4064 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4065 <td class="paramname"><em>h</em>, </td>
4066 </tr>
4067 <tr>
4068 <td class="paramkey"></td>
4069 <td></td>
4070 <td class="paramtype">const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td>
4071 <td class="paramname"><em>map</em>, </td>
4072 </tr>
4073 <tr>
4074 <td class="paramkey"></td>
4075 <td></td>
4076 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4077 <td class="paramname"><em>map_w</em> </td>
4078 </tr>
4079 <tr>
4080 <td></td>
4081 <td>)</td>
4082 <td></td><td></td>
4083 </tr>
4084 </table>
4085 </td>
4086 <td class="mlabels-right">
4087 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4088 </tr>
4089 </table>
4090 </div><div class="memdoc">
4091
4092 </div>
4093 </div>
4094 <a id="fill_rect" name="fill_rect"></a>
4095 <h2 class="memtitle"><span class="permalink"><a href="#fill_rect">◆ </a></span>fill_rect()</h2>
4096
4097 <div class="memitem">
4098 <div class="memproto">
4099 <table class="memname">
4100 <tr>
4101 <td class="memname">void fill_rect </td>
4102 <td>(</td>
4103 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4104 <td class="paramname"><em>x</em>, </td>
4105 </tr>
4106 <tr>
4107 <td class="paramkey"></td>
4108 <td></td>
4109 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4110 <td class="paramname"><em>y</em>, </td>
4111 </tr>
4112 <tr>
4113 <td class="paramkey"></td>
4114 <td></td>
4115 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4116 <td class="paramname"><em>w</em>, </td>
4117 </tr>
4118 <tr>
4119 <td class="paramkey"></td>
4120 <td></td>
4121 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4122 <td class="paramname"><em>h</em>, </td>
4123 </tr>
4124 <tr>
4125 <td class="paramkey"></td>
4126 <td></td>
4127 <td class="paramtype">const <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
4128 <td class="paramname"><em>tile</em> </td>
4129 </tr>
4130 <tr>
4131 <td></td>
4132 <td>)</td>
4133 <td></td><td></td>
4134 </tr>
4135 </table>
4136 </div><div class="memdoc">
4137
4138 </div>
4139 </div>
4140 <a id="fill_rect_compat" name="fill_rect_compat"></a>
4141 <h2 class="memtitle"><span class="permalink"><a href="#fill_rect_compat">◆ </a></span>fill_rect_compat()</h2>
4142
4143 <div class="memitem">
4144 <div class="memproto">
4145 <table class="memname">
4146 <tr>
4147 <td class="memname">void fill_rect_compat </td>
4148 <td>(</td>
4149 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4150 <td class="paramname"><em>x</em>, </td>
4151 </tr>
4152 <tr>
4153 <td class="paramkey"></td>
4154 <td></td>
4155 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4156 <td class="paramname"><em>y</em>, </td>
4157 </tr>
4158 <tr>
4159 <td class="paramkey"></td>
4160 <td></td>
4161 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4162 <td class="paramname"><em>w</em>, </td>
4163 </tr>
4164 <tr>
4165 <td class="paramkey"></td>
4166 <td></td>
4167 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4168 <td class="paramname"><em>h</em>, </td>
4169 </tr>
4170 <tr>
4171 <td class="paramkey"></td>
4172 <td></td>
4173 <td class="paramtype">const <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
4174 <td class="paramname"><em>tile</em> </td>
4175 </tr>
4176 <tr>
4177 <td></td>
4178 <td>)</td>
4179 <td></td><td></td>
4180 </tr>
4181 </table>
4182 </div><div class="memdoc">
4183
4184 </div>
4185 </div>
4186 <a id="SET_SHADOW_OAM_ADDRESS" name="SET_SHADOW_OAM_ADDRESS"></a>
4187 <h2 class="memtitle"><span class="permalink"><a href="#SET_SHADOW_OAM_ADDRESS">◆ </a></span>SET_SHADOW_OAM_ADDRESS()</h2>
4188
4189 <div class="memitem">
4190 <div class="memproto">
4191 <table class="mlabels">
4192 <tr>
4193 <td class="mlabels-left">
4194 <table class="memname">
4195 <tr>
4196 <td class="memname">void SET_SHADOW_OAM_ADDRESS </td>
4197 <td>(</td>
4198 <td class="paramtype">void * </td>
4199 <td class="paramname"><em>address</em></td><td>)</td>
4200 <td></td>
4201 </tr>
4202 </table>
4203 </td>
4204 <td class="mlabels-right">
4205 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4206 </tr>
4207 </table>
4208 </div><div class="memdoc">
4209 <p >Sets address of 256-byte aligned array of shadow OAM to be transferred on each VBlank </p>
4210
4211 </div>
4212 </div>
4213 <a id="set_sprite_tile" name="set_sprite_tile"></a>
4214 <h2 class="memtitle"><span class="permalink"><a href="#set_sprite_tile">◆ </a></span>set_sprite_tile()</h2>
4215
4216 <div class="memitem">
4217 <div class="memproto">
4218 <table class="mlabels">
4219 <tr>
4220 <td class="mlabels-left">
4221 <table class="memname">
4222 <tr>
4223 <td class="memname">void set_sprite_tile </td>
4224 <td>(</td>
4225 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4226 <td class="paramname"><em>nb</em>, </td>
4227 </tr>
4228 <tr>
4229 <td class="paramkey"></td>
4230 <td></td>
4231 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4232 <td class="paramname"><em>tile</em> </td>
4233 </tr>
4234 <tr>
4235 <td></td>
4236 <td>)</td>
4237 <td></td><td></td>
4238 </tr>
4239 </table>
4240 </td>
4241 <td class="mlabels-right">
4242 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4243 </tr>
4244 </table>
4245 </div><div class="memdoc">
4246 <p >Sets sprite number <b>nb__in the OAM to display tile number __tile</b>.</p>
4247 <dl class="params"><dt>Parameters</dt><dd>
4248 <table class="params">
4249 <tr><td class="paramname">nb</td><td>Sprite number, range 0 - 39 </td></tr>
4250 <tr><td class="paramname">tile</td><td>Selects a tile (0 - 255) from memory at 8000h - 8FFFh <br />
4251 In CGB Mode this could be either in VRAM Bank <br />
4252 0 or 1, depending on Bit 3 of the OAM Attribute Flag <br />
4253 (see <a class="el" href="sms_8h.html#set_sprite_prop">set_sprite_prop</a>)</td></tr>
4254 </table>
4255 </dd>
4256 </dl>
4257 <p>In 8x16 mode: </p><ul>
4258 <li>The sprite will also display the next tile (<b>tile</b> + 1) directly below (y + 8) the first tile. </li>
4259 <li>The lower bit of the tile number is ignored: the upper 8x8 tile is (<b>tile</b> & 0xFE), and the lower 8x8 tile is (<b>tile</b> | 0x01). </li>
4260 <li>See: <a class="el" href="sms_8h.html#SPRITES_8x16">SPRITES_8x16</a> </li>
4261 </ul>
4262
4263 </div>
4264 </div>
4265 <a id="get_sprite_tile" name="get_sprite_tile"></a>
4266 <h2 class="memtitle"><span class="permalink"><a href="#get_sprite_tile">◆ </a></span>get_sprite_tile()</h2>
4267
4268 <div class="memitem">
4269 <div class="memproto">
4270 <table class="mlabels">
4271 <tr>
4272 <td class="mlabels-left">
4273 <table class="memname">
4274 <tr>
4275 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> get_sprite_tile </td>
4276 <td>(</td>
4277 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4278 <td class="paramname"><em>nb</em></td><td>)</td>
4279 <td></td>
4280 </tr>
4281 </table>
4282 </td>
4283 <td class="mlabels-right">
4284 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4285 </tr>
4286 </table>
4287 </div><div class="memdoc">
4288 <p >Returns the tile number of sprite number <b>nb</b> in the OAM.</p>
4289 <dl class="params"><dt>Parameters</dt><dd>
4290 <table class="params">
4291 <tr><td class="paramname">nb</td><td>Sprite number, range 0 - 39</td></tr>
4292 </table>
4293 </dd>
4294 </dl>
4295 <dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#set_sprite_tile">set_sprite_tile</a> for more details </dd></dl>
4296
4297 </div>
4298 </div>
4299 <a id="set_sprite_prop" name="set_sprite_prop"></a>
4300 <h2 class="memtitle"><span class="permalink"><a href="#set_sprite_prop">◆ </a></span>set_sprite_prop()</h2>
4301
4302 <div class="memitem">
4303 <div class="memproto">
4304 <table class="mlabels">
4305 <tr>
4306 <td class="mlabels-left">
4307 <table class="memname">
4308 <tr>
4309 <td class="memname">void set_sprite_prop </td>
4310 <td>(</td>
4311 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4312 <td class="paramname"><em>nb</em>, </td>
4313 </tr>
4314 <tr>
4315 <td class="paramkey"></td>
4316 <td></td>
4317 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4318 <td class="paramname"><em>prop</em> </td>
4319 </tr>
4320 <tr>
4321 <td></td>
4322 <td>)</td>
4323 <td></td><td></td>
4324 </tr>
4325 </table>
4326 </td>
4327 <td class="mlabels-right">
4328 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4329 </tr>
4330 </table>
4331 </div><div class="memdoc">
4332 <p >Function has no affect on sms.</p>
4333 <p >This function is only here to enable game portability </p>
4334
4335 </div>
4336 </div>
4337 <a id="get_sprite_prop" name="get_sprite_prop"></a>
4338 <h2 class="memtitle"><span class="permalink"><a href="#get_sprite_prop">◆ </a></span>get_sprite_prop()</h2>
4339
4340 <div class="memitem">
4341 <div class="memproto">
4342 <table class="mlabels">
4343 <tr>
4344 <td class="mlabels-left">
4345 <table class="memname">
4346 <tr>
4347 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> get_sprite_prop </td>
4348 <td>(</td>
4349 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4350 <td class="paramname"><em>nb</em></td><td>)</td>
4351 <td></td>
4352 </tr>
4353 </table>
4354 </td>
4355 <td class="mlabels-right">
4356 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4357 </tr>
4358 </table>
4359 </div><div class="memdoc">
4360 <p >Returns the OAM Property Flags of sprite number <b>nb</b>.</p>
4361 <dl class="params"><dt>Parameters</dt><dd>
4362 <table class="params">
4363 <tr><td class="paramname">nb</td><td>Sprite number, range 0 - 39 </td></tr>
4364 </table>
4365 </dd>
4366 </dl>
4367 <dl class="section see"><dt>See also</dt><dd><a class="el" href="nes_8h.html#set_sprite_prop">set_sprite_prop</a> for property bitfield settings </dd></dl>
4368
4369 </div>
4370 </div>
4371 <a id="move_sprite" name="move_sprite"></a>
4372 <h2 class="memtitle"><span class="permalink"><a href="#move_sprite">◆ </a></span>move_sprite()</h2>
4373
4374 <div class="memitem">
4375 <div class="memproto">
4376 <table class="mlabels">
4377 <tr>
4378 <td class="mlabels-left">
4379 <table class="memname">
4380 <tr>
4381 <td class="memname">void move_sprite </td>
4382 <td>(</td>
4383 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4384 <td class="paramname"><em>nb</em>, </td>
4385 </tr>
4386 <tr>
4387 <td class="paramkey"></td>
4388 <td></td>
4389 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4390 <td class="paramname"><em>x</em>, </td>
4391 </tr>
4392 <tr>
4393 <td class="paramkey"></td>
4394 <td></td>
4395 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4396 <td class="paramname"><em>y</em> </td>
4397 </tr>
4398 <tr>
4399 <td></td>
4400 <td>)</td>
4401 <td></td><td></td>
4402 </tr>
4403 </table>
4404 </td>
4405 <td class="mlabels-right">
4406 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4407 </tr>
4408 </table>
4409 </div><div class="memdoc">
4410 <p >Moves sprite number <b>nb</b> to the <b>x</b>, <b>y</b> position on the screen.</p>
4411 <dl class="params"><dt>Parameters</dt><dd>
4412 <table class="params">
4413 <tr><td class="paramname">nb</td><td>Sprite number, range 0 - 39 </td></tr>
4414 <tr><td class="paramname">x</td><td>X Position. Specifies the sprites horizontal position on the screen (minus 8). <br />
4415 An offscreen value (X=0 or X>=168) hides the sprite, but the sprite still affects the priority ordering - a better way to hide a sprite is to set its Y-coordinate offscreen. </td></tr>
4416 <tr><td class="paramname">y</td><td>Y Position. Specifies the sprites vertical position on the screen (minus 16). <br />
4417 An offscreen value (for example, Y=0 or Y>=160) hides the sprite.</td></tr>
4418 </table>
4419 </dd>
4420 </dl>
4421 <p>Moving the sprite to 0,0 (or similar off-screen location) will hide it. </p>
4422
4423 </div>
4424 </div>
4425 <a id="scroll_sprite" name="scroll_sprite"></a>
4426 <h2 class="memtitle"><span class="permalink"><a href="#scroll_sprite">◆ </a></span>scroll_sprite()</h2>
4427
4428 <div class="memitem">
4429 <div class="memproto">
4430 <table class="mlabels">
4431 <tr>
4432 <td class="mlabels-left">
4433 <table class="memname">
4434 <tr>
4435 <td class="memname">void scroll_sprite </td>
4436 <td>(</td>
4437 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4438 <td class="paramname"><em>nb</em>, </td>
4439 </tr>
4440 <tr>
4441 <td class="paramkey"></td>
4442 <td></td>
4443 <td class="paramtype"><a class="el" href="stdint_8h.html#int8_t">int8_t</a> </td>
4444 <td class="paramname"><em>x</em>, </td>
4445 </tr>
4446 <tr>
4447 <td class="paramkey"></td>
4448 <td></td>
4449 <td class="paramtype"><a class="el" href="stdint_8h.html#int8_t">int8_t</a> </td>
4450 <td class="paramname"><em>y</em> </td>
4451 </tr>
4452 <tr>
4453 <td></td>
4454 <td>)</td>
4455 <td></td><td></td>
4456 </tr>
4457 </table>
4458 </td>
4459 <td class="mlabels-right">
4460 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4461 </tr>
4462 </table>
4463 </div><div class="memdoc">
4464 <p >Moves sprite number <b>nb</b> relative to its current position.</p>
4465 <dl class="params"><dt>Parameters</dt><dd>
4466 <table class="params">
4467 <tr><td class="paramname">nb</td><td>Sprite number, range 0 - 39 </td></tr>
4468 <tr><td class="paramname">x</td><td>Number of pixels to move the sprite on the <b>X axis</b> <br />
4469 Range: -128 - 127 </td></tr>
4470 <tr><td class="paramname">y</td><td>Number of pixels to move the sprite on the <b>Y axis</b> <br />
4471 Range: -128 - 127</td></tr>
4472 </table>
4473 </dd>
4474 </dl>
4475 <dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#move_sprite">move_sprite</a> for more details about the X and Y position </dd></dl>
4476
4477 </div>
4478 </div>
4479 <a id="hide_sprite" name="hide_sprite"></a>
4480 <h2 class="memtitle"><span class="permalink"><a href="#hide_sprite">◆ </a></span>hide_sprite()</h2>
4481
4482 <div class="memitem">
4483 <div class="memproto">
4484 <table class="mlabels">
4485 <tr>
4486 <td class="mlabels-left">
4487 <table class="memname">
4488 <tr>
4489 <td class="memname">void hide_sprite </td>
4490 <td>(</td>
4491 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4492 <td class="paramname"><em>nb</em></td><td>)</td>
4493 <td></td>
4494 </tr>
4495 </table>
4496 </td>
4497 <td class="mlabels-right">
4498 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4499 </tr>
4500 </table>
4501 </div><div class="memdoc">
4502 <p >Hides sprite number <b>nb</b> by moving it to zero position by Y.</p>
4503 <dl class="params"><dt>Parameters</dt><dd>
4504 <table class="params">
4505 <tr><td class="paramname">nb</td><td>Sprite number, range 0 - 39 </td></tr>
4506 </table>
4507 </dd>
4508 </dl>
4509
4510 </div>
4511 </div>
4512 <a id="set_vram_byte" name="set_vram_byte"></a>
4513 <h2 class="memtitle"><span class="permalink"><a href="#set_vram_byte">◆ </a></span>set_vram_byte()</h2>
4514
4515 <div class="memitem">
4516 <div class="memproto">
4517 <table class="memname">
4518 <tr>
4519 <td class="memname">void set_vram_byte </td>
4520 <td>(</td>
4521 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * </td>
4522 <td class="paramname"><em>addr</em>, </td>
4523 </tr>
4524 <tr>
4525 <td class="paramkey"></td>
4526 <td></td>
4527 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4528 <td class="paramname"><em>v</em> </td>
4529 </tr>
4530 <tr>
4531 <td></td>
4532 <td>)</td>
4533 <td></td><td></td>
4534 </tr>
4535 </table>
4536 </div><div class="memdoc">
4537 <p >Set byte in vram at given memory location</p>
4538 <dl class="params"><dt>Parameters</dt><dd>
4539 <table class="params">
4540 <tr><td class="paramname">addr</td><td>address to write to </td></tr>
4541 <tr><td class="paramname">v</td><td>value </td></tr>
4542 </table>
4543 </dd>
4544 </dl>
4545
4546 </div>
4547 </div>
4548 <a id="set_attributed_tile_xy" name="set_attributed_tile_xy"></a>
4549 <h2 class="memtitle"><span class="permalink"><a href="#set_attributed_tile_xy">◆ </a></span>set_attributed_tile_xy()</h2>
4550
4551 <div class="memitem">
4552 <div class="memproto">
4553 <table class="memname">
4554 <tr>
4555 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * set_attributed_tile_xy </td>
4556 <td>(</td>
4557 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4558 <td class="paramname"><em>x</em>, </td>
4559 </tr>
4560 <tr>
4561 <td class="paramkey"></td>
4562 <td></td>
4563 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4564 <td class="paramname"><em>y</em>, </td>
4565 </tr>
4566 <tr>
4567 <td class="paramkey"></td>
4568 <td></td>
4569 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
4570 <td class="paramname"><em>t</em> </td>
4571 </tr>
4572 <tr>
4573 <td></td>
4574 <td>)</td>
4575 <td></td><td></td>
4576 </tr>
4577 </table>
4578 </div><div class="memdoc">
4579 <p >Set single tile t with attributes on background layer at x,y </p><dl class="params"><dt>Parameters</dt><dd>
4580 <table class="params">
4581 <tr><td class="paramname">x</td><td>X-coordinate </td></tr>
4582 <tr><td class="paramname">y</td><td>Y-coordinate </td></tr>
4583 <tr><td class="paramname">t</td><td>tile index </td></tr>
4584 </table>
4585 </dd>
4586 </dl>
4587 <dl class="section return"><dt>Returns</dt><dd>returns the address of tile, so you may use faster <a class="el" href="sms_8h.html#set_vram_byte">set_vram_byte()</a> later </dd></dl>
4588
4589 </div>
4590 </div>
4591 <a id="set_tile_xy" name="set_tile_xy"></a>
4592 <h2 class="memtitle"><span class="permalink"><a href="#set_tile_xy">◆ </a></span>set_tile_xy()</h2>
4593
4594 <div class="memitem">
4595 <div class="memproto">
4596 <table class="memname">
4597 <tr>
4598 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * set_tile_xy </td>
4599 <td>(</td>
4600 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4601 <td class="paramname"><em>x</em>, </td>
4602 </tr>
4603 <tr>
4604 <td class="paramkey"></td>
4605 <td></td>
4606 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4607 <td class="paramname"><em>y</em>, </td>
4608 </tr>
4609 <tr>
4610 <td class="paramkey"></td>
4611 <td></td>
4612 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4613 <td class="paramname"><em>t</em> </td>
4614 </tr>
4615 <tr>
4616 <td></td>
4617 <td>)</td>
4618 <td></td><td></td>
4619 </tr>
4620 </table>
4621 </div><div class="memdoc">
4622 <p >Set single tile t on background layer at x,y </p><dl class="params"><dt>Parameters</dt><dd>
4623 <table class="params">
4624 <tr><td class="paramname">x</td><td>X-coordinate </td></tr>
4625 <tr><td class="paramname">y</td><td>Y-coordinate </td></tr>
4626 <tr><td class="paramname">t</td><td>tile index </td></tr>
4627 </table>
4628 </dd>
4629 </dl>
4630 <dl class="section return"><dt>Returns</dt><dd>returns the address of tile, so you may use faster <a class="el" href="sms_8h.html#set_vram_byte">set_vram_byte()</a> later </dd></dl>
4631
4632 </div>
4633 </div>
4634 <a id="set_attribute_xy" name="set_attribute_xy"></a>
4635 <h2 class="memtitle"><span class="permalink"><a href="#set_attribute_xy">◆ </a></span>set_attribute_xy()</h2>
4636
4637 <div class="memitem">
4638 <div class="memproto">
4639 <table class="mlabels">
4640 <tr>
4641 <td class="mlabels-left">
4642 <table class="memname">
4643 <tr>
4644 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * set_attribute_xy </td>
4645 <td>(</td>
4646 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4647 <td class="paramname"><em>x</em>, </td>
4648 </tr>
4649 <tr>
4650 <td class="paramkey"></td>
4651 <td></td>
4652 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4653 <td class="paramname"><em>y</em>, </td>
4654 </tr>
4655 <tr>
4656 <td class="paramkey"></td>
4657 <td></td>
4658 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4659 <td class="paramname"><em>a</em> </td>
4660 </tr>
4661 <tr>
4662 <td></td>
4663 <td>)</td>
4664 <td></td><td></td>
4665 </tr>
4666 </table>
4667 </td>
4668 <td class="mlabels-right">
4669 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4670 </tr>
4671 </table>
4672 </div><div class="memdoc">
4673 <p >Set single attribute data a on background layer at x,y </p><dl class="params"><dt>Parameters</dt><dd>
4674 <table class="params">
4675 <tr><td class="paramname">x</td><td>X-coordinate </td></tr>
4676 <tr><td class="paramname">y</td><td>Y-coordinate </td></tr>
4677 <tr><td class="paramname">a</td><td>tile attributes </td></tr>
4678 </table>
4679 </dd>
4680 </dl>
4681 <dl class="section return"><dt>Returns</dt><dd>returns the address of tile attribute, so you may use faster <a class="el" href="sms_8h.html#set_vram_byte">set_vram_byte()</a> later </dd></dl>
4682
4683 </div>
4684 </div>
4685 <a id="get_bkg_xy_addr" name="get_bkg_xy_addr"></a>
4686 <h2 class="memtitle"><span class="permalink"><a href="#get_bkg_xy_addr">◆ </a></span>get_bkg_xy_addr()</h2>
4687
4688 <div class="memitem">
4689 <div class="memproto">
4690 <table class="memname">
4691 <tr>
4692 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> * get_bkg_xy_addr </td>
4693 <td>(</td>
4694 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4695 <td class="paramname"><em>x</em>, </td>
4696 </tr>
4697 <tr>
4698 <td class="paramkey"></td>
4699 <td></td>
4700 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
4701 <td class="paramname"><em>y</em> </td>
4702 </tr>
4703 <tr>
4704 <td></td>
4705 <td>)</td>
4706 <td></td><td></td>
4707 </tr>
4708 </table>
4709 </div><div class="memdoc">
4710 <p >Get address of X,Y tile of background map </p>
4711
4712 </div>
4713 </div>
4714 <h2 class="groupheader">Variable Documentation</h2>
4715 <a id="_BIOS" name="_BIOS"></a>
4716 <h2 class="memtitle"><span class="permalink"><a href="#_BIOS">◆ </a></span>_BIOS</h2>
4717
4718 <div class="memitem">
4719 <div class="memproto">
4720 <table class="mlabels">
4721 <tr>
4722 <td class="mlabels-left">
4723 <table class="memname">
4724 <tr>
4725 <td class="memname">const <a class="el" href="asm_2types_8h.html#UBYTE">UBYTE</a> _BIOS</td>
4726 </tr>
4727 </table>
4728 </td>
4729 <td class="mlabels-right">
4730 <span class="mlabels"><span class="mlabel">extern</span></span> </td>
4731 </tr>
4732 </table>
4733 </div><div class="memdoc">
4734
4735 </div>
4736 </div>
4737 <a id="_SYSTEM" name="_SYSTEM"></a>
4738 <h2 class="memtitle"><span class="permalink"><a href="#_SYSTEM">◆ </a></span>_SYSTEM</h2>
4739
4740 <div class="memitem">
4741 <div class="memproto">
4742 <table class="mlabels">
4743 <tr>
4744 <td class="mlabels-left">
4745 <table class="memname">
4746 <tr>
4747 <td class="memname">const <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> _SYSTEM</td>
4748 </tr>
4749 </table>
4750 </td>
4751 <td class="mlabels-right">
4752 <span class="mlabels"><span class="mlabel">extern</span></span> </td>
4753 </tr>
4754 </table>
4755 </div><div class="memdoc">
4756
4757 </div>
4758 </div>
4759 <a id="c" name="c"></a>
4760 <h2 class="memtitle"><span class="permalink"><a href="#c">◆ </a></span>c</h2>
4761
4762 <div class="memitem">
4763 <div class="memproto">
4764 <table class="memname">
4765 <tr>
4766 <td class="memname">void c</td>
4767 </tr>
4768 </table>
4769 </div><div class="memdoc">
4770
4771 </div>
4772 </div>
4773 <a id="d" name="d"></a>
4774 <h2 class="memtitle"><span class="permalink"><a href="#d">◆ </a></span>d</h2>
4775
4776 <div class="memitem">
4777 <div class="memproto">
4778 <table class="memname">
4779 <tr>
4780 <td class="memname">void d</td>
4781 </tr>
4782 </table>
4783 </div><div class="memdoc">
4784
4785 </div>
4786 </div>
4787 <a id="e" name="e"></a>
4788 <h2 class="memtitle"><span class="permalink"><a href="#e">◆ </a></span>e</h2>
4789
4790 <div class="memitem">
4791 <div class="memproto">
4792 <table class="memname">
4793 <tr>
4794 <td class="memname">void e</td>
4795 </tr>
4796 </table>
4797 </div><div class="memdoc">
4798
4799 </div>
4800 </div>
4801 <a id="iyh" name="iyh"></a>
4802 <h2 class="memtitle"><span class="permalink"><a href="#iyh">◆ </a></span>iyh</h2>
4803
4804 <div class="memitem">
4805 <div class="memproto">
4806 <table class="memname">
4807 <tr>
4808 <td class="memname">void iyh</td>
4809 </tr>
4810 </table>
4811 </div><div class="memdoc">
4812
4813 </div>
4814 </div>
4815 <a id="iyl" name="iyl"></a>
4816 <h2 class="memtitle"><span class="permalink"><a href="#iyl">◆ </a></span>iyl</h2>
4817
4818 <div class="memitem">
4819 <div class="memproto">
4820 <table class="memname">
4821 <tr>
4822 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> iyl</td>
4823 </tr>
4824 </table>
4825 </div><div class="memdoc">
4826 <b>Initial value:</b><div class="fragment"><div class="line">{</div>
4827 <div class="line"> __asm__(<span class="stringliteral">"ei"</span>)</div>
4828 </div><!-- fragment -->
4829 </div>
4830 </div>
4831 <a id="h" name="h"></a>
4832 <h2 class="memtitle"><span class="permalink"><a href="#h">◆ </a></span>h</h2>
4833
4834 <div class="memitem">
4835 <div class="memproto">
4836 <table class="memname">
4837 <tr>
4838 <td class="memname">void h</td>
4839 </tr>
4840 </table>
4841 </div><div class="memdoc">
4842
4843 </div>
4844 </div>
4845 <a id="l" name="l"></a>
4846 <h2 class="memtitle"><span class="permalink"><a href="#l">◆ </a></span>l</h2>
4847
4848 <div class="memitem">
4849 <div class="memproto">
4850 <table class="memname">
4851 <tr>
4852 <td class="memname">void l</td>
4853 </tr>
4854 </table>
4855 </div><div class="memdoc">
4856
4857 </div>
4858 </div>
4859 <a id="sys_time" name="sys_time"></a>
4860 <h2 class="memtitle"><span class="permalink"><a href="#sys_time">◆ </a></span>sys_time</h2>
4861
4862 <div class="memitem">
4863 <div class="memproto">
4864 <table class="mlabels">
4865 <tr>
4866 <td class="mlabels-left">
4867 <table class="memname">
4868 <tr>
4869 <td class="memname">volatile <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> sys_time</td>
4870 </tr>
4871 </table>
4872 </td>
4873 <td class="mlabels-right">
4874 <span class="mlabels"><span class="mlabel">extern</span></span> </td>
4875 </tr>
4876 </table>
4877 </div><div class="memdoc">
4878 <p >Global Time Counter in VBL periods (60Hz)</p>
4879 <p >Increments once per Frame</p>
4880 <p >Will wrap around every ~18 minutes (unsigned 16 bits = 65535 / 60 / 60 = 18.2) </p>
4881
4882 </div>
4883 </div>
4884 <a id="_vbl_done" name="_vbl_done"></a>
4885 <h2 class="memtitle"><span class="permalink"><a href="#_vbl_done">◆ </a></span>_vbl_done</h2>
4886
4887 <div class="memitem">
4888 <div class="memproto">
4889 <table class="mlabels">
4890 <tr>
4891 <td class="mlabels-left">
4892 <table class="memname">
4893 <tr>
4894 <td class="memname">volatile <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> _vbl_done</td>
4895 </tr>
4896 </table>
4897 </td>
4898 <td class="mlabels-right">
4899 <span class="mlabels"><span class="mlabel">extern</span></span> </td>
4900 </tr>
4901 </table>
4902 </div><div class="memdoc">
4903 <p >Flag indicating the VBlank ISR has run</p>
4904 <p >Flag gets cleared at the start of <a class="el" href="gb_8h.html#vsync">vsync()</a> / <a class="el" href="gb_8h.html#wait_vbl_done">wait_vbl_done()</a> and set in the default VBlank ISR handler. </p>
4905
4906 </div>
4907 </div>
4908 <a id="b" name="b"></a>
4909 <h2 class="memtitle"><span class="permalink"><a href="#b">◆ </a></span>b</h2>
4910
4911 <div class="memitem">
4912 <div class="memproto">
4913 <table class="memname">
4914 <tr>
4915 <td class="memname">void b</td>
4916 </tr>
4917 </table>
4918 </div><div class="memdoc">
4919
4920 </div>
4921 </div>
4922 <a id="_current_2bpp_palette" name="_current_2bpp_palette"></a>
4923 <h2 class="memtitle"><span class="permalink"><a href="#_current_2bpp_palette">◆ </a></span>_current_2bpp_palette</h2>
4924
4925 <div class="memitem">
4926 <div class="memproto">
4927 <table class="mlabels">
4928 <tr>
4929 <td class="mlabels-left">
4930 <table class="memname">
4931 <tr>
4932 <td class="memname"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> _current_2bpp_palette</td>
4933 </tr>
4934 </table>
4935 </td>
4936 <td class="mlabels-right">
4937 <span class="mlabels"><span class="mlabel">extern</span></span> </td>
4938 </tr>
4939 </table>
4940 </div><div class="memdoc">
4941
4942 </div>
4943 </div>
4944 <a id="_current_1bpp_colors" name="_current_1bpp_colors"></a>
4945 <h2 class="memtitle"><span class="permalink"><a href="#_current_1bpp_colors">◆ </a></span>_current_1bpp_colors</h2>
4946
4947 <div class="memitem">
4948 <div class="memproto">
4949 <table class="mlabels">
4950 <tr>
4951 <td class="mlabels-left">
4952 <table class="memname">
4953 <tr>
4954 <td class="memname"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> _current_1bpp_colors</td>
4955 </tr>
4956 </table>
4957 </td>
4958 <td class="mlabels-right">
4959 <span class="mlabels"><span class="mlabel">extern</span></span> </td>
4960 </tr>
4961 </table>
4962 </div><div class="memdoc">
4963
4964 </div>
4965 </div>
4966 <a id="_map_tile_offset" name="_map_tile_offset"></a>
4967 <h2 class="memtitle"><span class="permalink"><a href="#_map_tile_offset">◆ </a></span>_map_tile_offset</h2>
4968
4969 <div class="memitem">
4970 <div class="memproto">
4971 <table class="mlabels">
4972 <tr>
4973 <td class="mlabels-left">
4974 <table class="memname">
4975 <tr>
4976 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> _map_tile_offset</td>
4977 </tr>
4978 </table>
4979 </td>
4980 <td class="mlabels-right">
4981 <span class="mlabels"><span class="mlabel">extern</span></span> </td>
4982 </tr>
4983 </table>
4984 </div><div class="memdoc">
4985
4986 </div>
4987 </div>
4988 <a id="_submap_tile_offset" name="_submap_tile_offset"></a>
4989 <h2 class="memtitle"><span class="permalink"><a href="#_submap_tile_offset">◆ </a></span>_submap_tile_offset</h2>
4990
4991 <div class="memitem">
4992 <div class="memproto">
4993 <table class="mlabels">
4994 <tr>
4995 <td class="mlabels-left">
4996 <table class="memname">
4997 <tr>
4998 <td class="memname"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> _submap_tile_offset</td>
4999 </tr>
5000 </table>
5001 </td>
5002 <td class="mlabels-right">
5003 <span class="mlabels"><span class="mlabel">extern</span></span> </td>
5004 </tr>
5005 </table>
5006 </div><div class="memdoc">
5007
5008 </div>
5009 </div>
5010 <a id="shadow_OAM" name="shadow_OAM"></a>
5011 <h2 class="memtitle"><span class="permalink"><a href="#shadow_OAM">◆ </a></span>shadow_OAM</h2>
5012
5013 <div class="memitem">
5014 <div class="memproto">
5015 <table class="mlabels">
5016 <tr>
5017 <td class="mlabels-left">
5018 <table class="memname">
5019 <tr>
5020 <td class="memname">volatile <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> shadow_OAM[]</td>
5021 </tr>
5022 </table>
5023 </td>
5024 <td class="mlabels-right">
5025 <span class="mlabels"><span class="mlabel">extern</span></span> </td>
5026 </tr>
5027 </table>
5028 </div><div class="memdoc">
5029 <p >Shadow OAM array in WRAM, that is transferred into the real OAM each VBlank </p>
5030
5031 </div>
5032 </div>
5033 <a id="_shadow_OAM_base" name="_shadow_OAM_base"></a>
5034 <h2 class="memtitle"><span class="permalink"><a href="#_shadow_OAM_base">◆ </a></span>_shadow_OAM_base</h2>
5035
5036 <div class="memitem">
5037 <div class="memproto">
5038 <table class="mlabels">
5039 <tr>
5040 <td class="mlabels-left">
5041 <table class="memname">
5042 <tr>
5043 <td class="memname">volatile <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> _shadow_OAM_base</td>
5044 </tr>
5045 </table>
5046 </td>
5047 <td class="mlabels-right">
5048 <span class="mlabels"><span class="mlabel">extern</span></span> </td>
5049 </tr>
5050 </table>
5051 </div><div class="memdoc">
5052 <p >MSB of shadow_OAM address is used by OAM copying routine</p>
5053 <p >MSB of shadow_OAM address is used by OAM DMA copying routine </p>
5054
5055 </div>
5056 </div>
5057 <a id="_shadow_OAM_OFF" name="_shadow_OAM_OFF"></a>
5058 <h2 class="memtitle"><span class="permalink"><a href="#_shadow_OAM_OFF">◆ </a></span>_shadow_OAM_OFF</h2>
5059
5060 <div class="memitem">
5061 <div class="memproto">
5062 <table class="mlabels">
5063 <tr>
5064 <td class="mlabels-left">
5065 <table class="memname">
5066 <tr>
5067 <td class="memname">volatile <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> _shadow_OAM_OFF</td>
5068 </tr>
5069 </table>
5070 </td>
5071 <td class="mlabels-right">
5072 <span class="mlabels"><span class="mlabel">extern</span></span> </td>
5073 </tr>
5074 </table>
5075 </div><div class="memdoc">
5076 <p >Flag for disabling of OAM copying routine</p>
5077 <p >Values: </p><ul>
5078 <li>1: OAM copy routine is disabled (non-isr VDP operation may be in progress) </li>
5079 <li>0: OAM copy routine is enabled</li>
5080 </ul>
5081 <p>This flag is modified by all sms/gg GBDK API calls that write to the VDP. It is set to DISABLED when they start and ENABLED when they complete.</p>
5082 <dl class="section note"><dt>Note</dt><dd>It is recommended to avoid writing to the Video Display Processor (VDP) during an interrupt service routine (ISR) since it can corrupt the VDP pointer of an VDP operation already in progress.</dd></dl>
5083 <p>If it is necessary, this flag can be used during an ISR to determine whether a VDP operation is already in progress. If the value is <code>1</code> then avoid writing to the VDP (tiles, map, scrolling, colors, etc).</p>
5084 <div class="fragment"><div class="line"><span class="comment">// at the beginning of and ISR that would write to the VDP</span></div>
5085 <div class="line"><span class="keywordflow">if</span> (<a class="code hl_variable" href="msx_8h.html#_shadow_OAM_OFF">_shadow_OAM_OFF</a>) <span class="keywordflow">return</span>;</div>
5086 <div class="ttc" id="amsx_8h_html__shadow_OAM_OFF"><div class="ttname"><a href="msx_8h.html#_shadow_OAM_OFF">_shadow_OAM_OFF</a></div><div class="ttdeci">volatile uint8_t _shadow_OAM_OFF</div></div>
5087 </div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="docs_supported_consoles.html#docs_consoles_safe_display_controller_access">docs_consoles_safe_display_controller_access</a> </dd></dl>
5088
5089 </div>
5090 </div>
5091 <a id="_sprites_OFF" name="_sprites_OFF"></a>
5092 <h2 class="memtitle"><span class="permalink"><a href="#_sprites_OFF">◆ </a></span>_sprites_OFF</h2>
5093
5094 <div class="memitem">
5095 <div class="memproto">
5096 <table class="mlabels">
5097 <tr>
5098 <td class="mlabels-left">
5099 <table class="memname">
5100 <tr>
5101 <td class="memname">volatile <a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> _sprites_OFF</td>
5102 </tr>
5103 </table>
5104 </td>
5105 <td class="mlabels-right">
5106 <span class="mlabels"><span class="mlabel">extern</span></span> </td>
5107 </tr>
5108 </table>
5109 </div><div class="memdoc">
5110
5111 </div>
5112 </div>
5113 </div><!-- contents -->
5114 </div><!-- doc-content -->
5115 <!-- start footer part -->
5116 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
5117 <ul>
5118 <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>
5119 <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>
5120 </ul>
5121 </div>
5122 </body>
5123 </html>
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.