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