gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
docs/api/cgb_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/gb/cgb.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('cgb_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="#define-members">Macros</a> |
104 <a href="#typedef-members">Typedefs</a> |
105 <a href="#func-members">Functions</a> </div>
106 <div class="headertitle"><div class="title">cgb.h File Reference</div></div>
107 </div><!--header-->
108 <div class="contents">
109 <div class="textblock"><code>#include <types.h></code><br />
110 <code>#include <<a class="el" href="stdint_8h_source.html">stdint.h</a>></code><br />
111 </div>
112 <p><a href="cgb_8h_source.html">Go to the source code of this file.</a></p>
113 <table class="memberdecls">
114 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
115 Macros</h2></td></tr>
116 <tr class="memitem:RGB"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB">RGB</a>(r, g, <a class="el" href="sms_8h.html#b">b</a>)   ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)((((<a class="el" href="sms_8h.html#b">b</a>) & 0x1f) << 10) | ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)(((g) & 0x1f) << 5)) | ((r) & 0x1f)))</td></tr>
117 <tr class="separator:RGB"><td class="memSeparator" colspan="2"> </td></tr>
118 <tr class="memitem:RGB8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB8">RGB8</a>(r, g, <a class="el" href="sms_8h.html#b">b</a>)   (((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)((((<a class="el" href="sms_8h.html#b">b</a>) >> 3) & 0x1f) << 10)) | ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)((((g) >> 3) & 0x1f) << 5)) | (((r) >> 3) & 0x1f))</td></tr>
119 <tr class="separator:RGB8"><td class="memSeparator" colspan="2"> </td></tr>
120 <tr class="memitem:RGBHTML"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGBHTML">RGBHTML</a>(RGB24bit)   (<a class="el" href="nes_8h.html#RGB8">RGB8</a>((((RGB24bit) >> 16) & 0xff), (((RGB24bit) >> 8) & 0xff), ((RGB24bit) & 0xff)))</td></tr>
121 <tr class="separator:RGBHTML"><td class="memSeparator" colspan="2"> </td></tr>
122 <tr class="memitem:RGB_RED"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_RED">RGB_RED</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(31, 0, 0)</td></tr>
123 <tr class="separator:RGB_RED"><td class="memSeparator" colspan="2"> </td></tr>
124 <tr class="memitem:RGB_DARKRED"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_DARKRED">RGB_DARKRED</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(15, 0, 0)</td></tr>
125 <tr class="separator:RGB_DARKRED"><td class="memSeparator" colspan="2"> </td></tr>
126 <tr class="memitem:RGB_GREEN"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_GREEN">RGB_GREEN</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>( 0, 31, 0)</td></tr>
127 <tr class="separator:RGB_GREEN"><td class="memSeparator" colspan="2"> </td></tr>
128 <tr class="memitem:RGB_DARKGREEN"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_DARKGREEN">RGB_DARKGREEN</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>( 0, 15, 0)</td></tr>
129 <tr class="separator:RGB_DARKGREEN"><td class="memSeparator" colspan="2"> </td></tr>
130 <tr class="memitem:RGB_BLUE"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_BLUE">RGB_BLUE</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>( 0, 0, 31)</td></tr>
131 <tr class="separator:RGB_BLUE"><td class="memSeparator" colspan="2"> </td></tr>
132 <tr class="memitem:RGB_DARKBLUE"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_DARKBLUE">RGB_DARKBLUE</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>( 0, 0, 15)</td></tr>
133 <tr class="separator:RGB_DARKBLUE"><td class="memSeparator" colspan="2"> </td></tr>
134 <tr class="memitem:RGB_YELLOW"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_YELLOW">RGB_YELLOW</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(31, 31, 0)</td></tr>
135 <tr class="separator:RGB_YELLOW"><td class="memSeparator" colspan="2"> </td></tr>
136 <tr class="memitem:RGB_DARKYELLOW"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_DARKYELLOW">RGB_DARKYELLOW</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(21, 21, 0)</td></tr>
137 <tr class="separator:RGB_DARKYELLOW"><td class="memSeparator" colspan="2"> </td></tr>
138 <tr class="memitem:RGB_CYAN"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_CYAN">RGB_CYAN</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>( 0, 31, 31)</td></tr>
139 <tr class="separator:RGB_CYAN"><td class="memSeparator" colspan="2"> </td></tr>
140 <tr class="memitem:RGB_AQUA"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_AQUA">RGB_AQUA</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(28, 5, 22)</td></tr>
141 <tr class="separator:RGB_AQUA"><td class="memSeparator" colspan="2"> </td></tr>
142 <tr class="memitem:RGB_PINK"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_PINK">RGB_PINK</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(31, 0, 31)</td></tr>
143 <tr class="separator:RGB_PINK"><td class="memSeparator" colspan="2"> </td></tr>
144 <tr class="memitem:RGB_PURPLE"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_PURPLE">RGB_PURPLE</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(21, 0, 21)</td></tr>
145 <tr class="separator:RGB_PURPLE"><td class="memSeparator" colspan="2"> </td></tr>
146 <tr class="memitem:RGB_BLACK"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_BLACK">RGB_BLACK</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>( 0, 0, 0)</td></tr>
147 <tr class="separator:RGB_BLACK"><td class="memSeparator" colspan="2"> </td></tr>
148 <tr class="memitem:RGB_DARKGRAY"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_DARKGRAY">RGB_DARKGRAY</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(10, 10, 10)</td></tr>
149 <tr class="separator:RGB_DARKGRAY"><td class="memSeparator" colspan="2"> </td></tr>
150 <tr class="memitem:RGB_LIGHTGRAY"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_LIGHTGRAY">RGB_LIGHTGRAY</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(21, 21, 21)</td></tr>
151 <tr class="separator:RGB_LIGHTGRAY"><td class="memSeparator" colspan="2"> </td></tr>
152 <tr class="memitem:RGB_WHITE"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_WHITE">RGB_WHITE</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(31, 31, 31)</td></tr>
153 <tr class="separator:RGB_WHITE"><td class="memSeparator" colspan="2"> </td></tr>
154 <tr class="memitem:RGB_LIGHTFLESH"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_LIGHTFLESH">RGB_LIGHTFLESH</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(30, 20, 15)</td></tr>
155 <tr class="separator:RGB_LIGHTFLESH"><td class="memSeparator" colspan="2"> </td></tr>
156 <tr class="memitem:RGB_BROWN"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_BROWN">RGB_BROWN</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(10, 10, 0)</td></tr>
157 <tr class="separator:RGB_BROWN"><td class="memSeparator" colspan="2"> </td></tr>
158 <tr class="memitem:RGB_ORANGE"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_ORANGE">RGB_ORANGE</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(30, 20, 0)</td></tr>
159 <tr class="separator:RGB_ORANGE"><td class="memSeparator" colspan="2"> </td></tr>
160 <tr class="memitem:RGB_TEAL"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_TEAL">RGB_TEAL</a>   <a class="el" href="nes_8h.html#RGB">RGB</a>(15, 15, 0)</td></tr>
161 <tr class="separator:RGB_TEAL"><td class="memSeparator" colspan="2"> </td></tr>
162 </table><table class="memberdecls">
163 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
164 Typedefs</h2></td></tr>
165 <tr class="memitem:palette_color_t"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#palette_color_t">palette_color_t</a></td></tr>
166 <tr class="separator:palette_color_t"><td class="memSeparator" colspan="2"> </td></tr>
167 </table><table class="memberdecls">
168 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
169 Functions</h2></td></tr>
170 <tr class="memitem:set_bkg_palette"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#set_bkg_palette">set_bkg_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_2types_8h.html#OLDCALL">OLDCALL</a></td></tr>
171 <tr class="separator:set_bkg_palette"><td class="memSeparator" colspan="2"> </td></tr>
172 <tr class="memitem:set_sprite_palette"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#set_sprite_palette">set_sprite_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_2types_8h.html#OLDCALL">OLDCALL</a></td></tr>
173 <tr class="separator:set_sprite_palette"><td class="memSeparator" colspan="2"> </td></tr>
174 <tr class="memitem:set_bkg_palette_entry"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#set_bkg_palette_entry">set_bkg_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_2types_8h.html#OLDCALL">OLDCALL</a></td></tr>
175 <tr class="separator:set_bkg_palette_entry"><td class="memSeparator" colspan="2"> </td></tr>
176 <tr class="memitem:set_sprite_palette_entry"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#set_sprite_palette_entry">set_sprite_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_2types_8h.html#OLDCALL">OLDCALL</a></td></tr>
177 <tr class="separator:set_sprite_palette_entry"><td class="memSeparator" colspan="2"> </td></tr>
178 <tr class="memitem:cpu_slow"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#cpu_slow">cpu_slow</a> (void)</td></tr>
179 <tr class="separator:cpu_slow"><td class="memSeparator" colspan="2"> </td></tr>
180 <tr class="memitem:cpu_fast"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#cpu_fast">cpu_fast</a> (void)</td></tr>
181 <tr class="separator:cpu_fast"><td class="memSeparator" colspan="2"> </td></tr>
182 <tr class="memitem:set_default_palette"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#set_default_palette">set_default_palette</a> (void)</td></tr>
183 <tr class="separator:set_default_palette"><td class="memSeparator" colspan="2"> </td></tr>
184 <tr class="memitem:cgb_compatibility"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#cgb_compatibility">cgb_compatibility</a> (void)</td></tr>
185 <tr class="separator:cgb_compatibility"><td class="memSeparator" colspan="2"> </td></tr>
186 </table>
187 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
188 <div class="textblock"><p >Support for the Color GameBoy (CGB).</p>
189 <p ><b>Enabling CGB features</b></p>
190 <p >To unlock and use CGB features and registers you need to change byte 0143h in the cartridge header. Otherwise, the CGB will operate in monochrome "Non CGB" compatibility mode. </p><ul>
191 <li>Use a value of <b>80h</b> for games that support CGB and monochrome gameboys <br />
192 (with Lcc: <b>-Wm-yc</b>, or makebin directly: <b>-yc</b>) </li>
193 <li>Use a value of <b>C0h</b> for CGB only games. <br />
194 (with Lcc: <b>-Wm-yC</b>, or makebin directly: <b>-yC</b>)</li>
195 </ul>
196 <p>See the Pan Docs for more information CGB features. </p>
197 </div><h2 class="groupheader">Macro Definition Documentation</h2>
198 <a id="RGB" name="RGB"></a>
199 <h2 class="memtitle"><span class="permalink"><a href="#RGB">◆ </a></span>RGB</h2>
200
201 <div class="memitem">
202 <div class="memproto">
203 <table class="memname">
204 <tr>
205 <td class="memname">#define RGB</td>
206 <td>(</td>
207 <td class="paramtype"> </td>
208 <td class="paramname">r, </td>
209 </tr>
210 <tr>
211 <td class="paramkey"></td>
212 <td></td>
213 <td class="paramtype"> </td>
214 <td class="paramname">g, </td>
215 </tr>
216 <tr>
217 <td class="paramkey"></td>
218 <td></td>
219 <td class="paramtype"> </td>
220 <td class="paramname"><a class="el" href="sms_8h.html#b">b</a> </td>
221 </tr>
222 <tr>
223 <td></td>
224 <td>)</td>
225 <td></td><td>   ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)((((<a class="el" href="sms_8h.html#b">b</a>) & 0x1f) << 10) | ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)(((g) & 0x1f) << 5)) | ((r) & 0x1f)))</td>
226 </tr>
227 </table>
228 </div><div class="memdoc">
229 <p >Macro to create a CGB palette color entry out of 5-bit color components.</p>
230 <dl class="params"><dt>Parameters</dt><dd>
231 <table class="params">
232 <tr><td class="paramname">r</td><td>5-bit Red Component, range 0 - 31 (31 brightest) </td></tr>
233 <tr><td class="paramname">g</td><td>5-bit Green Component, range 0 - 31 (31 brightest) </td></tr>
234 <tr><td class="paramname">b</td><td>5-bit Blue Component, range 0 - 31 (31 brightest)</td></tr>
235 </table>
236 </dd>
237 </dl>
238 <p>The resulting format is bitpacked BGR-555 in a uint16_t.</p>
239 <dl class="section see"><dt>See also</dt><dd><a class="el" href="cgb_8h.html#set_bkg_palette">set_bkg_palette()</a>, <a class="el" href="cgb_8h.html#set_sprite_palette">set_sprite_palette()</a>, <a class="el" href="cgb_8h.html#RGB8">RGB8()</a>, <a class="el" href="cgb_8h.html#RGBHTML">RGBHTML()</a> </dd></dl>
240
241 </div>
242 </div>
243 <a id="RGB8" name="RGB8"></a>
244 <h2 class="memtitle"><span class="permalink"><a href="#RGB8">◆ </a></span>RGB8</h2>
245
246 <div class="memitem">
247 <div class="memproto">
248 <table class="memname">
249 <tr>
250 <td class="memname">#define RGB8</td>
251 <td>(</td>
252 <td class="paramtype"> </td>
253 <td class="paramname">r, </td>
254 </tr>
255 <tr>
256 <td class="paramkey"></td>
257 <td></td>
258 <td class="paramtype"> </td>
259 <td class="paramname">g, </td>
260 </tr>
261 <tr>
262 <td class="paramkey"></td>
263 <td></td>
264 <td class="paramtype"> </td>
265 <td class="paramname"><a class="el" href="sms_8h.html#b">b</a> </td>
266 </tr>
267 <tr>
268 <td></td>
269 <td>)</td>
270 <td></td><td>   (((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)((((<a class="el" href="sms_8h.html#b">b</a>) >> 3) & 0x1f) << 10)) | ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)((((g) >> 3) & 0x1f) << 5)) | (((r) >> 3) & 0x1f))</td>
271 </tr>
272 </table>
273 </div><div class="memdoc">
274 <p >Macro to create a CGB palette color entry out of 8-bit color components.</p>
275 <dl class="params"><dt>Parameters</dt><dd>
276 <table class="params">
277 <tr><td class="paramname">r</td><td>8-bit Red Component, range 0 - 255 (255 brightest) </td></tr>
278 <tr><td class="paramname">g</td><td>8-bit Green Component, range 0 - 255 (255 brightest) </td></tr>
279 <tr><td class="paramname">b</td><td>8-bit Blue Component, range 0 - 255 (255 brightest)</td></tr>
280 </table>
281 </dd>
282 </dl>
283 <p>The resulting format is bitpacked BGR-555 in a uint16_t.</p>
284 <p >The lowest 3 bits of each color component are dropped during conversion.</p>
285 <dl class="section see"><dt>See also</dt><dd><a class="el" href="cgb_8h.html#set_bkg_palette">set_bkg_palette()</a>, <a class="el" href="cgb_8h.html#set_sprite_palette">set_sprite_palette()</a>, <a class="el" href="cgb_8h.html#RGB">RGB()</a>, <a class="el" href="cgb_8h.html#RGBHTML">RGBHTML()</a> </dd></dl>
286
287 </div>
288 </div>
289 <a id="RGBHTML" name="RGBHTML"></a>
290 <h2 class="memtitle"><span class="permalink"><a href="#RGBHTML">◆ </a></span>RGBHTML</h2>
291
292 <div class="memitem">
293 <div class="memproto">
294 <table class="memname">
295 <tr>
296 <td class="memname">#define RGBHTML</td>
297 <td>(</td>
298 <td class="paramtype"> </td>
299 <td class="paramname">RGB24bit</td><td>)</td>
300 <td>   (<a class="el" href="nes_8h.html#RGB8">RGB8</a>((((RGB24bit) >> 16) & 0xff), (((RGB24bit) >> 8) & 0xff), ((RGB24bit) & 0xff)))</td>
301 </tr>
302 </table>
303 </div><div class="memdoc">
304 <p >Macro to convert a 24 Bit RGB color to a CGB palette color entry.</p>
305 <dl class="params"><dt>Parameters</dt><dd>
306 <table class="params">
307 <tr><td class="paramname">RGB24bit</td><td>Bit packed RGB-888 color (0-255 for each color component).</td></tr>
308 </table>
309 </dd>
310 </dl>
311 <p>The resulting format is bitpacked BGR-555 in a uint16_t.</p>
312 <p >The lowest 3 bits of each color component are dropped during conversion.</p>
313 <dl class="section see"><dt>See also</dt><dd><a class="el" href="cgb_8h.html#set_bkg_palette">set_bkg_palette()</a>, <a class="el" href="cgb_8h.html#set_sprite_palette">set_sprite_palette()</a>, <a class="el" href="cgb_8h.html#RGB">RGB()</a>, <a class="el" href="cgb_8h.html#RGB8">RGB8()</a> </dd></dl>
314
315 </div>
316 </div>
317 <a id="RGB_RED" name="RGB_RED"></a>
318 <h2 class="memtitle"><span class="permalink"><a href="#RGB_RED">◆ </a></span>RGB_RED</h2>
319
320 <div class="memitem">
321 <div class="memproto">
322 <table class="memname">
323 <tr>
324 <td class="memname">#define RGB_RED   <a class="el" href="nes_8h.html#RGB">RGB</a>(31, 0, 0)</td>
325 </tr>
326 </table>
327 </div><div class="memdoc">
328 <p >Common colors based on the EGA default palette. </p>
329
330 </div>
331 </div>
332 <a id="RGB_DARKRED" name="RGB_DARKRED"></a>
333 <h2 class="memtitle"><span class="permalink"><a href="#RGB_DARKRED">◆ </a></span>RGB_DARKRED</h2>
334
335 <div class="memitem">
336 <div class="memproto">
337 <table class="memname">
338 <tr>
339 <td class="memname">#define RGB_DARKRED   <a class="el" href="nes_8h.html#RGB">RGB</a>(15, 0, 0)</td>
340 </tr>
341 </table>
342 </div><div class="memdoc">
343
344 </div>
345 </div>
346 <a id="RGB_GREEN" name="RGB_GREEN"></a>
347 <h2 class="memtitle"><span class="permalink"><a href="#RGB_GREEN">◆ </a></span>RGB_GREEN</h2>
348
349 <div class="memitem">
350 <div class="memproto">
351 <table class="memname">
352 <tr>
353 <td class="memname">#define RGB_GREEN   <a class="el" href="nes_8h.html#RGB">RGB</a>( 0, 31, 0)</td>
354 </tr>
355 </table>
356 </div><div class="memdoc">
357
358 </div>
359 </div>
360 <a id="RGB_DARKGREEN" name="RGB_DARKGREEN"></a>
361 <h2 class="memtitle"><span class="permalink"><a href="#RGB_DARKGREEN">◆ </a></span>RGB_DARKGREEN</h2>
362
363 <div class="memitem">
364 <div class="memproto">
365 <table class="memname">
366 <tr>
367 <td class="memname">#define RGB_DARKGREEN   <a class="el" href="nes_8h.html#RGB">RGB</a>( 0, 15, 0)</td>
368 </tr>
369 </table>
370 </div><div class="memdoc">
371
372 </div>
373 </div>
374 <a id="RGB_BLUE" name="RGB_BLUE"></a>
375 <h2 class="memtitle"><span class="permalink"><a href="#RGB_BLUE">◆ </a></span>RGB_BLUE</h2>
376
377 <div class="memitem">
378 <div class="memproto">
379 <table class="memname">
380 <tr>
381 <td class="memname">#define RGB_BLUE   <a class="el" href="nes_8h.html#RGB">RGB</a>( 0, 0, 31)</td>
382 </tr>
383 </table>
384 </div><div class="memdoc">
385
386 </div>
387 </div>
388 <a id="RGB_DARKBLUE" name="RGB_DARKBLUE"></a>
389 <h2 class="memtitle"><span class="permalink"><a href="#RGB_DARKBLUE">◆ </a></span>RGB_DARKBLUE</h2>
390
391 <div class="memitem">
392 <div class="memproto">
393 <table class="memname">
394 <tr>
395 <td class="memname">#define RGB_DARKBLUE   <a class="el" href="nes_8h.html#RGB">RGB</a>( 0, 0, 15)</td>
396 </tr>
397 </table>
398 </div><div class="memdoc">
399
400 </div>
401 </div>
402 <a id="RGB_YELLOW" name="RGB_YELLOW"></a>
403 <h2 class="memtitle"><span class="permalink"><a href="#RGB_YELLOW">◆ </a></span>RGB_YELLOW</h2>
404
405 <div class="memitem">
406 <div class="memproto">
407 <table class="memname">
408 <tr>
409 <td class="memname">#define RGB_YELLOW   <a class="el" href="nes_8h.html#RGB">RGB</a>(31, 31, 0)</td>
410 </tr>
411 </table>
412 </div><div class="memdoc">
413
414 </div>
415 </div>
416 <a id="RGB_DARKYELLOW" name="RGB_DARKYELLOW"></a>
417 <h2 class="memtitle"><span class="permalink"><a href="#RGB_DARKYELLOW">◆ </a></span>RGB_DARKYELLOW</h2>
418
419 <div class="memitem">
420 <div class="memproto">
421 <table class="memname">
422 <tr>
423 <td class="memname">#define RGB_DARKYELLOW   <a class="el" href="nes_8h.html#RGB">RGB</a>(21, 21, 0)</td>
424 </tr>
425 </table>
426 </div><div class="memdoc">
427
428 </div>
429 </div>
430 <a id="RGB_CYAN" name="RGB_CYAN"></a>
431 <h2 class="memtitle"><span class="permalink"><a href="#RGB_CYAN">◆ </a></span>RGB_CYAN</h2>
432
433 <div class="memitem">
434 <div class="memproto">
435 <table class="memname">
436 <tr>
437 <td class="memname">#define RGB_CYAN   <a class="el" href="nes_8h.html#RGB">RGB</a>( 0, 31, 31)</td>
438 </tr>
439 </table>
440 </div><div class="memdoc">
441
442 </div>
443 </div>
444 <a id="RGB_AQUA" name="RGB_AQUA"></a>
445 <h2 class="memtitle"><span class="permalink"><a href="#RGB_AQUA">◆ </a></span>RGB_AQUA</h2>
446
447 <div class="memitem">
448 <div class="memproto">
449 <table class="memname">
450 <tr>
451 <td class="memname">#define RGB_AQUA   <a class="el" href="nes_8h.html#RGB">RGB</a>(28, 5, 22)</td>
452 </tr>
453 </table>
454 </div><div class="memdoc">
455
456 </div>
457 </div>
458 <a id="RGB_PINK" name="RGB_PINK"></a>
459 <h2 class="memtitle"><span class="permalink"><a href="#RGB_PINK">◆ </a></span>RGB_PINK</h2>
460
461 <div class="memitem">
462 <div class="memproto">
463 <table class="memname">
464 <tr>
465 <td class="memname">#define RGB_PINK   <a class="el" href="nes_8h.html#RGB">RGB</a>(31, 0, 31)</td>
466 </tr>
467 </table>
468 </div><div class="memdoc">
469
470 </div>
471 </div>
472 <a id="RGB_PURPLE" name="RGB_PURPLE"></a>
473 <h2 class="memtitle"><span class="permalink"><a href="#RGB_PURPLE">◆ </a></span>RGB_PURPLE</h2>
474
475 <div class="memitem">
476 <div class="memproto">
477 <table class="memname">
478 <tr>
479 <td class="memname">#define RGB_PURPLE   <a class="el" href="nes_8h.html#RGB">RGB</a>(21, 0, 21)</td>
480 </tr>
481 </table>
482 </div><div class="memdoc">
483
484 </div>
485 </div>
486 <a id="RGB_BLACK" name="RGB_BLACK"></a>
487 <h2 class="memtitle"><span class="permalink"><a href="#RGB_BLACK">◆ </a></span>RGB_BLACK</h2>
488
489 <div class="memitem">
490 <div class="memproto">
491 <table class="memname">
492 <tr>
493 <td class="memname">#define RGB_BLACK   <a class="el" href="nes_8h.html#RGB">RGB</a>( 0, 0, 0)</td>
494 </tr>
495 </table>
496 </div><div class="memdoc">
497
498 </div>
499 </div>
500 <a id="RGB_DARKGRAY" name="RGB_DARKGRAY"></a>
501 <h2 class="memtitle"><span class="permalink"><a href="#RGB_DARKGRAY">◆ </a></span>RGB_DARKGRAY</h2>
502
503 <div class="memitem">
504 <div class="memproto">
505 <table class="memname">
506 <tr>
507 <td class="memname">#define RGB_DARKGRAY   <a class="el" href="nes_8h.html#RGB">RGB</a>(10, 10, 10)</td>
508 </tr>
509 </table>
510 </div><div class="memdoc">
511
512 </div>
513 </div>
514 <a id="RGB_LIGHTGRAY" name="RGB_LIGHTGRAY"></a>
515 <h2 class="memtitle"><span class="permalink"><a href="#RGB_LIGHTGRAY">◆ </a></span>RGB_LIGHTGRAY</h2>
516
517 <div class="memitem">
518 <div class="memproto">
519 <table class="memname">
520 <tr>
521 <td class="memname">#define RGB_LIGHTGRAY   <a class="el" href="nes_8h.html#RGB">RGB</a>(21, 21, 21)</td>
522 </tr>
523 </table>
524 </div><div class="memdoc">
525
526 </div>
527 </div>
528 <a id="RGB_WHITE" name="RGB_WHITE"></a>
529 <h2 class="memtitle"><span class="permalink"><a href="#RGB_WHITE">◆ </a></span>RGB_WHITE</h2>
530
531 <div class="memitem">
532 <div class="memproto">
533 <table class="memname">
534 <tr>
535 <td class="memname">#define RGB_WHITE   <a class="el" href="nes_8h.html#RGB">RGB</a>(31, 31, 31)</td>
536 </tr>
537 </table>
538 </div><div class="memdoc">
539
540 </div>
541 </div>
542 <a id="RGB_LIGHTFLESH" name="RGB_LIGHTFLESH"></a>
543 <h2 class="memtitle"><span class="permalink"><a href="#RGB_LIGHTFLESH">◆ </a></span>RGB_LIGHTFLESH</h2>
544
545 <div class="memitem">
546 <div class="memproto">
547 <table class="memname">
548 <tr>
549 <td class="memname">#define RGB_LIGHTFLESH   <a class="el" href="nes_8h.html#RGB">RGB</a>(30, 20, 15)</td>
550 </tr>
551 </table>
552 </div><div class="memdoc">
553
554 </div>
555 </div>
556 <a id="RGB_BROWN" name="RGB_BROWN"></a>
557 <h2 class="memtitle"><span class="permalink"><a href="#RGB_BROWN">◆ </a></span>RGB_BROWN</h2>
558
559 <div class="memitem">
560 <div class="memproto">
561 <table class="memname">
562 <tr>
563 <td class="memname">#define RGB_BROWN   <a class="el" href="nes_8h.html#RGB">RGB</a>(10, 10, 0)</td>
564 </tr>
565 </table>
566 </div><div class="memdoc">
567
568 </div>
569 </div>
570 <a id="RGB_ORANGE" name="RGB_ORANGE"></a>
571 <h2 class="memtitle"><span class="permalink"><a href="#RGB_ORANGE">◆ </a></span>RGB_ORANGE</h2>
572
573 <div class="memitem">
574 <div class="memproto">
575 <table class="memname">
576 <tr>
577 <td class="memname">#define RGB_ORANGE   <a class="el" href="nes_8h.html#RGB">RGB</a>(30, 20, 0)</td>
578 </tr>
579 </table>
580 </div><div class="memdoc">
581
582 </div>
583 </div>
584 <a id="RGB_TEAL" name="RGB_TEAL"></a>
585 <h2 class="memtitle"><span class="permalink"><a href="#RGB_TEAL">◆ </a></span>RGB_TEAL</h2>
586
587 <div class="memitem">
588 <div class="memproto">
589 <table class="memname">
590 <tr>
591 <td class="memname">#define RGB_TEAL   <a class="el" href="nes_8h.html#RGB">RGB</a>(15, 15, 0)</td>
592 </tr>
593 </table>
594 </div><div class="memdoc">
595
596 </div>
597 </div>
598 <h2 class="groupheader">Typedef Documentation</h2>
599 <a id="palette_color_t" name="palette_color_t"></a>
600 <h2 class="memtitle"><span class="permalink"><a href="#palette_color_t">◆ </a></span>palette_color_t</h2>
601
602 <div class="memitem">
603 <div class="memproto">
604 <table class="memname">
605 <tr>
606 <td class="memname">typedef <a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> <a class="el" href="cgb_8h.html#palette_color_t">palette_color_t</a></td>
607 </tr>
608 </table>
609 </div><div class="memdoc">
610 <p >16 bit color entry </p>
611
612 </div>
613 </div>
614 <h2 class="groupheader">Function Documentation</h2>
615 <a id="set_bkg_palette" name="set_bkg_palette"></a>
616 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_palette">◆ </a></span>set_bkg_palette()</h2>
617
618 <div class="memitem">
619 <div class="memproto">
620 <table class="memname">
621 <tr>
622 <td class="memname">void set_bkg_palette </td>
623 <td>(</td>
624 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
625 <td class="paramname"><em>first_palette</em>, </td>
626 </tr>
627 <tr>
628 <td class="paramkey"></td>
629 <td></td>
630 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
631 <td class="paramname"><em>nb_palettes</em>, </td>
632 </tr>
633 <tr>
634 <td class="paramkey"></td>
635 <td></td>
636 <td class="paramtype">const <a class="el" href="cgb_8h.html#palette_color_t">palette_color_t</a> * </td>
637 <td class="paramname"><em>rgb_data</em> </td>
638 </tr>
639 <tr>
640 <td></td>
641 <td>)</td>
642 <td></td><td></td>
643 </tr>
644 </table>
645 </div><div class="memdoc">
646 <p >Set CGB background palette(s).</p>
647 <dl class="params"><dt>Parameters</dt><dd>
648 <table class="params">
649 <tr><td class="paramname">first_palette</td><td>Index of the first palette to write (0-7) </td></tr>
650 <tr><td class="paramname">nb_palettes</td><td>Number of palettes to write (1-8, max depends on first_palette) </td></tr>
651 <tr><td class="paramname">rgb_data</td><td>Pointer to source palette data</td></tr>
652 </table>
653 </dd>
654 </dl>
655 <p>Writes <b>nb_palettes</b> to background palette data starting at <b>first_palette</b>, Palette data is sourced from <b>rgb_data</b>.</p>
656 <ul>
657 <li>Each Palette is 8 bytes in size: 4 colors x 2 bytes per palette color entry. </li>
658 <li>Each color (4 per palette) is packed as BGR-555 format (1:5:5:5, MSBit [15] is unused). </li>
659 <li>Each component (R, G, B) may have values from 0 - 31 (5 bits), 31 is brightest.</li>
660 </ul>
661 <dl class="section see"><dt>See also</dt><dd><a class="el" href="cgb_8h.html#RGB">RGB()</a>, <a class="el" href="cgb_8h.html#set_bkg_palette_entry">set_bkg_palette_entry()</a> </dd>
662 <dd>
663 <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL0">BKGF_CGB_PAL0</a>, <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL1">BKGF_CGB_PAL1</a>, <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL2">BKGF_CGB_PAL2</a>, <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL3">BKGF_CGB_PAL3</a> </dd>
664 <dd>
665 <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL4">BKGF_CGB_PAL4</a>, <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL5">BKGF_CGB_PAL5</a>, <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL6">BKGF_CGB_PAL6</a>, <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL7">BKGF_CGB_PAL7</a> </dd></dl>
666
667 </div>
668 </div>
669 <a id="set_sprite_palette" name="set_sprite_palette"></a>
670 <h2 class="memtitle"><span class="permalink"><a href="#set_sprite_palette">◆ </a></span>set_sprite_palette()</h2>
671
672 <div class="memitem">
673 <div class="memproto">
674 <table class="memname">
675 <tr>
676 <td class="memname">void set_sprite_palette </td>
677 <td>(</td>
678 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
679 <td class="paramname"><em>first_palette</em>, </td>
680 </tr>
681 <tr>
682 <td class="paramkey"></td>
683 <td></td>
684 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
685 <td class="paramname"><em>nb_palettes</em>, </td>
686 </tr>
687 <tr>
688 <td class="paramkey"></td>
689 <td></td>
690 <td class="paramtype">const <a class="el" href="cgb_8h.html#palette_color_t">palette_color_t</a> * </td>
691 <td class="paramname"><em>rgb_data</em> </td>
692 </tr>
693 <tr>
694 <td></td>
695 <td>)</td>
696 <td></td><td></td>
697 </tr>
698 </table>
699 </div><div class="memdoc">
700 <p >Set CGB sprite palette(s).</p>
701 <dl class="params"><dt>Parameters</dt><dd>
702 <table class="params">
703 <tr><td class="paramname">first_palette</td><td>Index of the first palette to write (0-7) </td></tr>
704 <tr><td class="paramname">nb_palettes</td><td>Number of palettes to write (1-8, max depends on first_palette) </td></tr>
705 <tr><td class="paramname">rgb_data</td><td>Pointer to source palette data</td></tr>
706 </table>
707 </dd>
708 </dl>
709 <p>Writes <b>nb_palettes</b> to sprite palette data starting at <b>first_palette</b>, Palette data is sourced from <b>rgb_data</b>.</p>
710 <ul>
711 <li>Each Palette is 8 bytes in size: 4 colors x 2 bytes per palette color entry. </li>
712 <li>Each color (4 per palette) is packed as BGR-555 format (1:5:5:5, MSBit [15] is unused). </li>
713 <li>Each component (R, G, B) may have values from 0 - 31 (5 bits), 31 is brightest.</li>
714 </ul>
715 <dl class="section see"><dt>See also</dt><dd><a class="el" href="cgb_8h.html#RGB">RGB()</a>, <a class="el" href="cgb_8h.html#set_sprite_palette_entry">set_sprite_palette_entry()</a> </dd>
716 <dd>
717 <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL0">OAMF_CGB_PAL0</a>, <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL1">OAMF_CGB_PAL1</a>, <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL2">OAMF_CGB_PAL2</a>, <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL3">OAMF_CGB_PAL3</a> </dd>
718 <dd>
719 <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL4">OAMF_CGB_PAL4</a>, <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL5">OAMF_CGB_PAL5</a>, <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL6">OAMF_CGB_PAL6</a>, <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL7">OAMF_CGB_PAL7</a> </dd></dl>
720
721 </div>
722 </div>
723 <a id="set_bkg_palette_entry" name="set_bkg_palette_entry"></a>
724 <h2 class="memtitle"><span class="permalink"><a href="#set_bkg_palette_entry">◆ </a></span>set_bkg_palette_entry()</h2>
725
726 <div class="memitem">
727 <div class="memproto">
728 <table class="memname">
729 <tr>
730 <td class="memname">void set_bkg_palette_entry </td>
731 <td>(</td>
732 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
733 <td class="paramname"><em>palette</em>, </td>
734 </tr>
735 <tr>
736 <td class="paramkey"></td>
737 <td></td>
738 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
739 <td class="paramname"><em>entry</em>, </td>
740 </tr>
741 <tr>
742 <td class="paramkey"></td>
743 <td></td>
744 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
745 <td class="paramname"><em>rgb_data</em> </td>
746 </tr>
747 <tr>
748 <td></td>
749 <td>)</td>
750 <td></td><td></td>
751 </tr>
752 </table>
753 </div><div class="memdoc">
754 <p >Sets a single color in the specified CGB background palette.</p>
755 <dl class="params"><dt>Parameters</dt><dd>
756 <table class="params">
757 <tr><td class="paramname">palette</td><td>Index of the palette to modify (0-7) </td></tr>
758 <tr><td class="paramname">entry</td><td>Index of color in palette to modify (0-3) </td></tr>
759 <tr><td class="paramname">rgb_data</td><td>New color data in BGR 15bpp format.</td></tr>
760 </table>
761 </dd>
762 </dl>
763 <dl class="section see"><dt>See also</dt><dd><a class="el" href="cgb_8h.html#set_bkg_palette">set_bkg_palette()</a>, <a class="el" href="cgb_8h.html#RGB">RGB()</a> </dd>
764 <dd>
765 <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL0">BKGF_CGB_PAL0</a>, <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL1">BKGF_CGB_PAL1</a>, <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL2">BKGF_CGB_PAL2</a>, <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL3">BKGF_CGB_PAL3</a> </dd>
766 <dd>
767 <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL4">BKGF_CGB_PAL4</a>, <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL5">BKGF_CGB_PAL5</a>, <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL6">BKGF_CGB_PAL6</a>, <a class="el" href="gb_2hardware_8h.html#BKGF_CGB_PAL7">BKGF_CGB_PAL7</a> </dd></dl>
768
769 </div>
770 </div>
771 <a id="set_sprite_palette_entry" name="set_sprite_palette_entry"></a>
772 <h2 class="memtitle"><span class="permalink"><a href="#set_sprite_palette_entry">◆ </a></span>set_sprite_palette_entry()</h2>
773
774 <div class="memitem">
775 <div class="memproto">
776 <table class="memname">
777 <tr>
778 <td class="memname">void set_sprite_palette_entry </td>
779 <td>(</td>
780 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
781 <td class="paramname"><em>palette</em>, </td>
782 </tr>
783 <tr>
784 <td class="paramkey"></td>
785 <td></td>
786 <td class="paramtype"><a class="el" href="stdint_8h.html#uint8_t">uint8_t</a> </td>
787 <td class="paramname"><em>entry</em>, </td>
788 </tr>
789 <tr>
790 <td class="paramkey"></td>
791 <td></td>
792 <td class="paramtype"><a class="el" href="stdint_8h.html#uint16_t">uint16_t</a> </td>
793 <td class="paramname"><em>rgb_data</em> </td>
794 </tr>
795 <tr>
796 <td></td>
797 <td>)</td>
798 <td></td><td></td>
799 </tr>
800 </table>
801 </div><div class="memdoc">
802 <p >Sets a single color in the specified CGB sprite palette.</p>
803 <dl class="params"><dt>Parameters</dt><dd>
804 <table class="params">
805 <tr><td class="paramname">palette</td><td>Index of the palette to modify (0-7) </td></tr>
806 <tr><td class="paramname">entry</td><td>Index of color in palette to modify (0-3) </td></tr>
807 <tr><td class="paramname">rgb_data</td><td>New color data in BGR 15bpp format.</td></tr>
808 </table>
809 </dd>
810 </dl>
811 <dl class="section see"><dt>See also</dt><dd><a class="el" href="cgb_8h.html#set_sprite_palette">set_sprite_palette()</a>, <a class="el" href="cgb_8h.html#RGB">RGB()</a> </dd>
812 <dd>
813 <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL0">OAMF_CGB_PAL0</a>, <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL1">OAMF_CGB_PAL1</a>, <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL2">OAMF_CGB_PAL2</a>, <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL3">OAMF_CGB_PAL3</a> </dd>
814 <dd>
815 <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL4">OAMF_CGB_PAL4</a>, <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL5">OAMF_CGB_PAL5</a>, <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL6">OAMF_CGB_PAL6</a>, <a class="el" href="gb_2hardware_8h.html#OAMF_CGB_PAL7">OAMF_CGB_PAL7</a> </dd></dl>
816
817 </div>
818 </div>
819 <a id="cpu_slow" name="cpu_slow"></a>
820 <h2 class="memtitle"><span class="permalink"><a href="#cpu_slow">◆ </a></span>cpu_slow()</h2>
821
822 <div class="memitem">
823 <div class="memproto">
824 <table class="memname">
825 <tr>
826 <td class="memname">void cpu_slow </td>
827 <td>(</td>
828 <td class="paramtype">void </td>
829 <td class="paramname"></td><td>)</td>
830 <td></td>
831 </tr>
832 </table>
833 </div><div class="memdoc">
834 <p >Set CPU speed to slow (Normal Speed) operation.</p>
835 <p >Interrupts are temporarily disabled and then re-enabled during this call.</p>
836 <p >In this mode the CGB operates at the same speed as the DMG/Pocket/SGB models.</p>
837 <ul>
838 <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>
839 </ul>
840 <dl class="section see"><dt>See also</dt><dd><a class="el" href="cgb_8h.html#cpu_fast">cpu_fast()</a> </dd></dl>
841
842 </div>
843 </div>
844 <a id="cpu_fast" name="cpu_fast"></a>
845 <h2 class="memtitle"><span class="permalink"><a href="#cpu_fast">◆ </a></span>cpu_fast()</h2>
846
847 <div class="memitem">
848 <div class="memproto">
849 <table class="mlabels">
850 <tr>
851 <td class="mlabels-left">
852 <table class="memname">
853 <tr>
854 <td class="memname">void cpu_fast </td>
855 <td>(</td>
856 <td class="paramtype">void </td>
857 <td class="paramname"></td><td>)</td>
858 <td></td>
859 </tr>
860 </table>
861 </td>
862 <td class="mlabels-right">
863 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
864 </tr>
865 </table>
866 </div><div class="memdoc">
867 <p >Set CPU speed to fast (CGB Double Speed) operation.</p>
868 <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>
869 <ul>
870 <li>Interrupts are temporarily disabled and then re-enabled during this call. </li>
871 <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>
872 </ul>
873 <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>
874
875 </div>
876 </div>
877 <a id="set_default_palette" name="set_default_palette"></a>
878 <h2 class="memtitle"><span class="permalink"><a href="#set_default_palette">◆ </a></span>set_default_palette()</h2>
879
880 <div class="memitem">
881 <div class="memproto">
882 <table class="memname">
883 <tr>
884 <td class="memname">void set_default_palette </td>
885 <td>(</td>
886 <td class="paramtype">void </td>
887 <td class="paramname"></td><td>)</td>
888 <td></td>
889 </tr>
890 </table>
891 </div><div class="memdoc">
892 <p >Sets CGB palette 0 to be compatible with the DMG/GBP.</p>
893 <p >The default/first CGB palettes for sprites and backgrounds are set to a similar default appearance as on the DMG/Pocket/SGB models. (White, Light Gray, Dark Gray, Black)</p>
894 <ul>
895 <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>
896 </ul>
897
898 </div>
899 </div>
900 <a id="cgb_compatibility" name="cgb_compatibility"></a>
901 <h2 class="memtitle"><span class="permalink"><a href="#cgb_compatibility">◆ </a></span>cgb_compatibility()</h2>
902
903 <div class="memitem">
904 <div class="memproto">
905 <table class="mlabels">
906 <tr>
907 <td class="mlabels-left">
908 <table class="memname">
909 <tr>
910 <td class="memname">void cgb_compatibility </td>
911 <td>(</td>
912 <td class="paramtype">void </td>
913 <td class="paramname"></td><td>)</td>
914 <td></td>
915 </tr>
916 </table>
917 </td>
918 <td class="mlabels-right">
919 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
920 </tr>
921 </table>
922 </div><div class="memdoc">
923 <p >Obsolete. This function has been replaced by <a class="el" href="cgb_8h.html#set_default_palette">set_default_palette()</a>, which has identical behavior. </p>
924
925 </div>
926 </div>
927 </div><!-- contents -->
928 </div><!-- doc-content -->
929 <!-- start footer part -->
930 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
931 <ul>
932 <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_bdfe001eb73b667f67d57fb851301eb1.html">gb</a></li><li class="navelem"><a class="el" href="cgb_8h.html">cgb.h</a></li>
933 <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>
934 </ul>
935 </div>
936 </body>
937 </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.