git.y1.nz

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    &#160;<span id="projectnumber">4.5.0</span>
     45    </div>
     46    <div id="projectbrief">API Documentation for GBDK 2020</div>
     47   </td>
     48  </tr>
     49  </tbody>
     50 </table>
     51 </div>
     52 <!-- end header part -->
     53 <!-- Generated by Doxygen 1.9.2 -->
     54 <script type="text/javascript">
     55 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
     56 var searchBox = new SearchBox("searchBox", "search",'Search','.html');
     57 /* @license-end */
     58 </script>
     59 <script type="text/javascript" src="menudata.js"></script>
     60 <script type="text/javascript" src="menu.js"></script>
     61 <script type="text/javascript">
     62 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
     63 $(function() {
     64   initMenu('',true,false,'search.php','Search');
     65   $(document).ready(function() { init_search(); });
     66 });
     67 /* @license-end */
     68 </script>
     69 <div id="main-nav"></div>
     70 </div><!-- top -->
     71 <div id="side-nav" class="ui-resizable side-nav-resizable">
     72   <div id="nav-tree">
     73     <div id="nav-tree-contents">
     74       <div id="nav-sync" class="sync"></div>
     75     </div>
     76   </div>
     77   <div id="splitbar" style="-moz-user-select:none;" 
     78        class="ui-resizable-handle">
     79   </div>
     80 </div>
     81 <script type="text/javascript">
     82 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
     83 $(document).ready(function(){initNavTree('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> &#124;
    104 <a href="#typedef-members">Typedefs</a> &#124;
    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 &lt;types.h&gt;</code><br />
    110 <code>#include &lt;<a class="el" href="stdint_8h_source.html">stdint.h</a>&gt;</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&#160;</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>)&#160;&#160;&#160;((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)((((<a class="el" href="sms_8h.html#b">b</a>) &amp; 0x1f) &lt;&lt; 10) | ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)(((g) &amp; 0x1f) &lt;&lt; 5)) | ((r) &amp; 0x1f)))</td></tr>
    117 <tr class="separator:RGB"><td class="memSeparator" colspan="2">&#160;</td></tr>
    118 <tr class="memitem:RGB8"><td class="memItemLeft" align="right" valign="top">#define&#160;</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>)&#160;&#160;&#160;(((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)((((<a class="el" href="sms_8h.html#b">b</a>) &gt;&gt; 3) &amp; 0x1f) &lt;&lt; 10)) | ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)((((g) &gt;&gt; 3) &amp; 0x1f) &lt;&lt; 5)) | (((r) &gt;&gt; 3) &amp; 0x1f))</td></tr>
    119 <tr class="separator:RGB8"><td class="memSeparator" colspan="2">&#160;</td></tr>
    120 <tr class="memitem:RGBHTML"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGBHTML">RGBHTML</a>(RGB24bit)&#160;&#160;&#160;(<a class="el" href="nes_8h.html#RGB8">RGB8</a>((((RGB24bit) &gt;&gt; 16) &amp; 0xff), (((RGB24bit) &gt;&gt; 8) &amp; 0xff), ((RGB24bit) &amp; 0xff)))</td></tr>
    121 <tr class="separator:RGBHTML"><td class="memSeparator" colspan="2">&#160;</td></tr>
    122 <tr class="memitem:RGB_RED"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_RED">RGB_RED</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    124 <tr class="memitem:RGB_DARKRED"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_DARKRED">RGB_DARKRED</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    126 <tr class="memitem:RGB_GREEN"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_GREEN">RGB_GREEN</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    128 <tr class="memitem:RGB_DARKGREEN"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_DARKGREEN">RGB_DARKGREEN</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    130 <tr class="memitem:RGB_BLUE"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_BLUE">RGB_BLUE</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    132 <tr class="memitem:RGB_DARKBLUE"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_DARKBLUE">RGB_DARKBLUE</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    134 <tr class="memitem:RGB_YELLOW"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_YELLOW">RGB_YELLOW</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    136 <tr class="memitem:RGB_DARKYELLOW"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_DARKYELLOW">RGB_DARKYELLOW</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    138 <tr class="memitem:RGB_CYAN"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_CYAN">RGB_CYAN</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    140 <tr class="memitem:RGB_AQUA"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_AQUA">RGB_AQUA</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    142 <tr class="memitem:RGB_PINK"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_PINK">RGB_PINK</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    144 <tr class="memitem:RGB_PURPLE"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_PURPLE">RGB_PURPLE</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    146 <tr class="memitem:RGB_BLACK"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_BLACK">RGB_BLACK</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    148 <tr class="memitem:RGB_DARKGRAY"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_DARKGRAY">RGB_DARKGRAY</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    150 <tr class="memitem:RGB_LIGHTGRAY"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_LIGHTGRAY">RGB_LIGHTGRAY</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    152 <tr class="memitem:RGB_WHITE"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_WHITE">RGB_WHITE</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    154 <tr class="memitem:RGB_LIGHTFLESH"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_LIGHTFLESH">RGB_LIGHTFLESH</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    156 <tr class="memitem:RGB_BROWN"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_BROWN">RGB_BROWN</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    158 <tr class="memitem:RGB_ORANGE"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_ORANGE">RGB_ORANGE</a>&#160;&#160;&#160;<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">&#160;</td></tr>
    160 <tr class="memitem:RGB_TEAL"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cgb_8h.html#RGB_TEAL">RGB_TEAL</a>&#160;&#160;&#160;<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">&#160;</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>&#160;</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">&#160;</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&#160;</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">&#160;</td></tr>
    172 <tr class="memitem:set_sprite_palette"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</td></tr>
    174 <tr class="memitem:set_bkg_palette_entry"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</td></tr>
    176 <tr class="memitem:set_sprite_palette_entry"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</td></tr>
    178 <tr class="memitem:cpu_slow"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</td></tr>
    180 <tr class="memitem:cpu_fast"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</td></tr>
    182 <tr class="memitem:set_default_palette"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</td></tr>
    184 <tr class="memitem:cgb_compatibility"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#9670;&nbsp;</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">&#160;</td>
    208           <td class="paramname">r, </td>
    209         </tr>
    210         <tr>
    211           <td class="paramkey"></td>
    212           <td></td>
    213           <td class="paramtype">&#160;</td>
    214           <td class="paramname">g, </td>
    215         </tr>
    216         <tr>
    217           <td class="paramkey"></td>
    218           <td></td>
    219           <td class="paramtype">&#160;</td>
    220           <td class="paramname"><a class="el" href="sms_8h.html#b">b</a>&#160;</td>
    221         </tr>
    222         <tr>
    223           <td></td>
    224           <td>)</td>
    225           <td></td><td>&#160;&#160;&#160;((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)((((<a class="el" href="sms_8h.html#b">b</a>) &amp; 0x1f) &lt;&lt; 10) | ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)(((g) &amp; 0x1f) &lt;&lt; 5)) | ((r) &amp; 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">&#9670;&nbsp;</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">&#160;</td>
    253           <td class="paramname">r, </td>
    254         </tr>
    255         <tr>
    256           <td class="paramkey"></td>
    257           <td></td>
    258           <td class="paramtype">&#160;</td>
    259           <td class="paramname">g, </td>
    260         </tr>
    261         <tr>
    262           <td class="paramkey"></td>
    263           <td></td>
    264           <td class="paramtype">&#160;</td>
    265           <td class="paramname"><a class="el" href="sms_8h.html#b">b</a>&#160;</td>
    266         </tr>
    267         <tr>
    268           <td></td>
    269           <td>)</td>
    270           <td></td><td>&#160;&#160;&#160;(((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)((((<a class="el" href="sms_8h.html#b">b</a>) &gt;&gt; 3) &amp; 0x1f) &lt;&lt; 10)) | ((<a class="el" href="stdint_8h.html#uint16_t">uint16_t</a>)((((g) &gt;&gt; 3) &amp; 0x1f) &lt;&lt; 5)) | (((r) &gt;&gt; 3) &amp; 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">&#9670;&nbsp;</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">&#160;</td>
    299           <td class="paramname">RGB24bit</td><td>)</td>
    300           <td>&#160;&#160;&#160;(<a class="el" href="nes_8h.html#RGB8">RGB8</a>((((RGB24bit) &gt;&gt; 16) &amp; 0xff), (((RGB24bit) &gt;&gt; 8) &amp; 0xff), ((RGB24bit) &amp; 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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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&#160;&#160;&#160;<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">&#9670;&nbsp;</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">&#9670;&nbsp;</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>&#160;</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>&#160;</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> *&#160;</td>
    637           <td class="paramname"><em>rgb_data</em>&#160;</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">&#9670;&nbsp;</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>&#160;</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>&#160;</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> *&#160;</td>
    691           <td class="paramname"><em>rgb_data</em>&#160;</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">&#9670;&nbsp;</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>&#160;</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>&#160;</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>&#160;</td>
    745           <td class="paramname"><em>rgb_data</em>&#160;</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">&#9670;&nbsp;</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>&#160;</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>&#160;</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>&#160;</td>
    793           <td class="paramname"><em>rgb_data</em>&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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&#160;</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.