SpaghettiKart/hardware_8h_source.html

248 lines
32 KiB
HTML

<!-- HTML header for doxygen 1.10.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Mario Kart 64: src/os/hardware.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
<link href="docs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Mario Kart 64
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('hardware_8h_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">hardware.h</div></div>
</div><!--header-->
<div class="contents">
<a href="hardware_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef _HARDWARE_H_</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define _HARDWARE_H_</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"><a class="line" href="hardware_8h.html#a4a3c93b6b0e710a39f1eaba88f74b412"> 4</a></span><span class="preprocessor">#define HW_REG(reg, type) *(volatile type*) (uintptr_t) (reg | 0xa0000000)</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"><a class="line" href="hardware_8h.html#a073eb5f8ab6db71f47cc21486e9b1b3a"> 6</a></span><span class="preprocessor">#define AI_DRAM_ADDR_REG 0x04500000</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"><a class="line" href="hardware_8h.html#a90158662a6bae7dd93fcf74bc0f56d87"> 7</a></span><span class="preprocessor">#define AI_LEN_REG 0x04500004</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"><a class="line" href="hardware_8h.html#a351b999fbd86e5af0a665a34056e0fa5"> 8</a></span><span class="preprocessor">#define AI_CONTROL_REG 0x04500008</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"><a class="line" href="hardware_8h.html#ae1e6489c61d96cc6ec53403b87f26042"> 9</a></span><span class="preprocessor">#define AI_STATUS_REG 0x0450000C</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"><a class="line" href="hardware_8h.html#a23ef97f77d0ae8606ee334c4e890e003"> 10</a></span><span class="preprocessor">#define AI_STATUS_AI_FULL (1 &lt;&lt; 31)</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="hardware_8h.html#a0fc82be210410943f92b75a0b70192ff"> 11</a></span><span class="preprocessor">#define AI_STATUS_AI_BUSY (1 &lt;&lt; 30)</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"><a class="line" href="hardware_8h.html#a62db4a56ad4feb0f9114573f526ed7c1"> 12</a></span><span class="preprocessor">#define AI_DACRATE_REG 0x04500010</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"><a class="line" href="hardware_8h.html#a206f2314e9af042cc5dc4ed9f71b05f8"> 13</a></span><span class="preprocessor">#define AI_BITRATE_REG 0x04500014</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"><a class="line" href="hardware_8h.html#a5a7302c53297a8a9b2cde5bd71048e24"> 15</a></span><span class="preprocessor">#define VI_STATUS_REG 0x04400000</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"><a class="line" href="hardware_8h.html#ae2c5810c458fb6a9b597ff965f32e1d1"> 16</a></span><span class="preprocessor">#define VI_CONTROL_REG 0x04400000</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"><a class="line" href="hardware_8h.html#a1719643f789249714343639beda6917a"> 17</a></span><span class="preprocessor">#define VI_ORIGIN_REG 0x04400004</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"><a class="line" href="hardware_8h.html#a01340d42f61864fc447129197c32302d"> 18</a></span><span class="preprocessor">#define VI_DRAM_ADDR_REG 0x04400004</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"><a class="line" href="hardware_8h.html#a4138c8147efc92a9309dc2197ccac3bb"> 19</a></span><span class="preprocessor">#define VI_WIDTH_REG 0x04400008</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="hardware_8h.html#a21e7407e4796159afbfe99714d116410"> 20</a></span><span class="preprocessor">#define VI_H_WIDTH_REG 0x04400008</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="hardware_8h.html#a15843286b09a49dff41ce29fd1560eaa"> 21</a></span><span class="preprocessor">#define VI_INTR_REG 0x0440000C</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="hardware_8h.html#a40cd1cb446e4799f4679d6672b1cf109"> 22</a></span><span class="preprocessor">#define VI_V_INTER_REG 0x0440000C</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="hardware_8h.html#a37d542452b93aa353a8ab53a60d1e9ad"> 23</a></span><span class="preprocessor">#define VI_CURRENT_REG 0x04400010</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="hardware_8h.html#a0f6bba18235eeebd0515cff53ca2d154"> 24</a></span><span class="preprocessor">#define VI_V_CURRENT_LINE_REG 0x04400010</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="hardware_8h.html#a8c460023c679fc8935744bd7a915b773"> 25</a></span><span class="preprocessor">#define VI_BURST_REG 0x04400014</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="hardware_8h.html#a7047ad9431943e334a4af90050c67b6e"> 26</a></span><span class="preprocessor">#define VI_TIMING_REG 0x04400014</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="hardware_8h.html#a16465c417cc0231826fd02ba1f9894e7"> 27</a></span><span class="preprocessor">#define VI_V_SYNC_REG 0x04400018 </span><span class="comment">// VI vertical sync</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="hardware_8h.html#ae8a118172e25cb3a2553f6c995dc7d4c"> 28</a></span><span class="preprocessor">#define VI_H_SYNC_REG 0x0440001C </span><span class="comment">// VI horizontal sync</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="hardware_8h.html#a8061db4cd17cfe71ef5eb2510b10a9b9"> 29</a></span><span class="preprocessor">#define VI_LEAP_REG 0x04400020 </span><span class="comment">// VI horizontal sync leap</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="hardware_8h.html#a77caee37c86a41ab6dc5723111c60ae3"> 30</a></span><span class="preprocessor">#define VI_H_SYNC_LEAP_REG 0x04400020</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="hardware_8h.html#abadfe4519bb6146b068907a7828b21f0"> 31</a></span><span class="preprocessor">#define VI_H_START_REG 0x04400024 </span><span class="comment">// VI horizontal video</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="hardware_8h.html#aa61d1af3a62d01e09cd758dc219b0bfd"> 32</a></span><span class="preprocessor">#define VI_H_VIDEO_REG 0x04400024</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="hardware_8h.html#a55cf08cec537e733ed36b65b696fbe70"> 33</a></span><span class="preprocessor">#define VI_V_START_REG 0x04400028 </span><span class="comment">// VI vertical video</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="hardware_8h.html#a9a541cf76b43fd32bf48831b57671e83"> 34</a></span><span class="preprocessor">#define VI_V_VIDEO_REG 0x04400028</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="hardware_8h.html#a36f8f0b6740474ae0881d44e3a093330"> 35</a></span><span class="preprocessor">#define VI_V_BURST_REG 0x0440002C </span><span class="comment">// VI vertical burst</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="hardware_8h.html#a6ddd799f7135fd0d9195166d8d04f6ed"> 36</a></span><span class="preprocessor">#define VI_X_SCALE_REG 0x04400030 </span><span class="comment">// VI x-scale</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="hardware_8h.html#a38ee0ea45ba06bb669cdbd889a7672cc"> 37</a></span><span class="preprocessor">#define VI_Y_SCALE_REG 0x04400034 </span><span class="comment">// VI y-scale</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="hardware_8h.html#a516a6a8811f1fe646481475b96fb783b"> 39</a></span><span class="preprocessor">#define SP_IMEM_START 0x04001000</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="hardware_8h.html#a84862be46207412412a6cfa780963594"> 40</a></span><span class="preprocessor">#define SP_DMEM_START 0x04000000</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="hardware_8h.html#a3990c5960e58f7a15e50b99881784a2d"> 42</a></span><span class="preprocessor">#define SP_MEM_ADDR_REG 0x04040000</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="hardware_8h.html#ab5c404ee2d59387ef78d0f1e2caa0303"> 43</a></span><span class="preprocessor">#define SP_DRAM_ADDR_REG 0x04040004</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="hardware_8h.html#a4b1c40d95d5de54f094184b453af2b9d"> 44</a></span><span class="preprocessor">#define SP_RD_LEN_REG 0x04040008</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="hardware_8h.html#a5bc91c55114550e6b26bf4136ba2faa7"> 45</a></span><span class="preprocessor">#define SP_WR_LEN_REG 0x0404000C</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="hardware_8h.html#ac6ff858eef4719c8ea2c6d45e8064a67"> 46</a></span><span class="preprocessor">#define SP_STATUS_REG 0x04040010</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="hardware_8h.html#acabc3dd7a7988f71b714ce9f9fde3267"> 47</a></span><span class="preprocessor">#define SP_PC_REG 0x04080000</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="hardware_8h.html#ace9449529cf83b7331e5b9a08b2b0c51"> 49</a></span><span class="preprocessor">#define PI_DRAM_ADDR_REG 0x04600000 </span><span class="comment">// PI DRAM address</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="hardware_8h.html#a2ed0be9d1b2f9b67d2032e8d584d4661"> 50</a></span><span class="preprocessor">#define PI_CART_ADDR_REG 0x04600004 </span><span class="comment">// PI pbus (cartridge) address</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="hardware_8h.html#a69f6a5b61722c565cb43ca7040a7da91"> 51</a></span><span class="preprocessor">#define PI_RD_LEN_REG 0x04600008 </span><span class="comment">// PI read length</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="hardware_8h.html#acbb4ca496bff03076a9f899ffa87f993"> 52</a></span><span class="preprocessor">#define PI_WR_LEN_REG 0x0460000C </span><span class="comment">// PI write length</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="hardware_8h.html#a99410e380b8e68ae6c1ee53ad70ab920"> 53</a></span><span class="preprocessor">#define PI_STATUS_REG 0x04600010 </span><span class="comment">// PI status</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="hardware_8h.html#a542644a8d4207743fc96528c181c5601"> 54</a></span><span class="preprocessor">#define PI_BSD_DOM1_LAT_REG 0x04600014 </span><span class="comment">// PI dom1 latency</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="hardware_8h.html#a309c0be63f412940c58fd0249a4caaa2"> 55</a></span><span class="preprocessor">#define PI_DOMAIN1_REG 0x04600014</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="hardware_8h.html#ab6aa222b5a81bd1a22cce49a02dbb763"> 56</a></span><span class="preprocessor">#define PI_BSD_DOM1_PWD_REG 0x04600018 </span><span class="comment">// PI dom1 pulse width</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="hardware_8h.html#a583792bb4f77e267e0ef549445f46449"> 57</a></span><span class="preprocessor">#define PI_BSD_DOM1_PGS_REG 0x0460001C </span><span class="comment">// PI dom1 page size</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="hardware_8h.html#afb9822249967b69783b775f1abc2d165"> 58</a></span><span class="preprocessor">#define PI_BSD_DOM1_RLS_REG 0x04600020 </span><span class="comment">// PI dom1 release</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="hardware_8h.html#a5fa6c9bf7ce7dae3c1445138aaf9d3c0"> 59</a></span><span class="preprocessor">#define PI_BSD_DOM2_LAT_REG 0x04600024 </span><span class="comment">// PI dom2 latency</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="hardware_8h.html#ae9348385256f5bce23191e12442578f5"> 60</a></span><span class="preprocessor">#define PI_DOMAIN2_REG 0x04600024</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="hardware_8h.html#a46eef774c6670d30da448d344d12295f"> 61</a></span><span class="preprocessor">#define PI_BSD_DOM2_PWD_REG 0x04600028 </span><span class="comment">// PI dom2 pulse width</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="hardware_8h.html#a1fd8bab4a431b3faeee37e9a019c7034"> 62</a></span><span class="preprocessor">#define PI_BSD_DOM2_PGS_REG 0x0460002C </span><span class="comment">// PI dom2 page size</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="hardware_8h.html#a99f2148aabc848539b94fe0c5ab79166"> 63</a></span><span class="preprocessor">#define PI_BSD_DOM2_RLS_REG 0x04600030 </span><span class="comment">// PI dom2 release</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="hardware_8h.html#a8b579e96955eb55b3ee588619a979a10"> 65</a></span><span class="preprocessor">#define PI_STATUS_BUSY 0x1</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="hardware_8h.html#a6e6d574b731642d4aaf877161dee0834"> 66</a></span><span class="preprocessor">#define PI_STATUS_IOBUSY 0x2</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="hardware_8h.html#af401a56499cca3cc25b19defa3d5dcc8"> 67</a></span><span class="preprocessor">#define PI_STATUS_ERROR 0x3</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="hardware_8h.html#abd77576404ae668bbc1b5ca644cb4a22"> 69</a></span><span class="preprocessor">#define PI_STATUS_RESET_CONTROLLER 0x1</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="hardware_8h.html#ac951068069c1b5c01854ba199072cff8"> 70</a></span><span class="preprocessor">#define PI_STATUS_CLEAR_INTR 0x2</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="hardware_8h.html#a20ea938e38e20461aa376f6f4f218bbe"> 72</a></span><span class="preprocessor">#define SI_DRAM_ADDR_REG 0x04800000</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="hardware_8h.html#a445fa45861dbf8a5dbabb9c2ea8618f6"> 73</a></span><span class="preprocessor">#define SI_PIF_ADDR_RD64B_REG 0x04800004</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="hardware_8h.html#a5ec10ec12587faee2fa7a14b1afb56c0"> 74</a></span><span class="preprocessor">#define SI_PIF_ADDR_WR64B_REG 0x04800010</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="hardware_8h.html#ab557675b7c6ec208fb67fae9c4119f00"> 75</a></span><span class="preprocessor">#define SI_STATUS_REG 0x04800018</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="hardware_8h.html#aa522bd708d3dd1df64a630a520db3b4c"> 77</a></span><span class="preprocessor">#define SI_STATUS_DMA_BUSY 0x1</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="hardware_8h.html#a58c69853490ad49e3b08897c37f7b2ed"> 78</a></span><span class="preprocessor">#define SI_STATUS_IO_READ_BUSY 0x2</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="hardware_8h.html#a5cf3de7e8a68a3bc0ba2fcaae369f28e"> 79</a></span><span class="preprocessor">#define SI_STATUS_DMA_ERROR 0x8</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="hardware_8h.html#ad1062eb5b79c8719ec104d7ca9168c78"> 80</a></span><span class="preprocessor">#define SI_STATUS_INTERRUPT (1 &lt;&lt; 12)</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="hardware_8h.html#ad92df8715c06545824255c51ed469fe8"> 82</a></span><span class="preprocessor">#define MI_INIT_MODE_REG 0x04300000</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="hardware_8h.html#a6a2f97f3aee1dfc54948a45084ec6cc3"> 83</a></span><span class="preprocessor">#define MI_MODE_REG MI_INIT_MODE_REG</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="hardware_8h.html#a62658a58ef0d576d720bd11d2c467305"> 84</a></span><span class="preprocessor">#define MI_VERSION_REG 0x04300004</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="hardware_8h.html#ab2746c0015346c5d8efce63b1b8be95a"> 85</a></span><span class="preprocessor">#define MI_INTR_REG 0x04300008</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="hardware_8h.html#abb665f000c6b4fc53e2a5927ad2b9d45"> 86</a></span><span class="preprocessor">#define MI_INTR_MASK_REG 0x0430000C</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment">// https://github.com/LuigiBlood/64dd/wiki/Registers</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="hardware_8h.html#ac412383014e3cdbfffacb3781e10c4e6"> 89</a></span><span class="preprocessor">#define ASIC_STATUS 0x05000508</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="hardware_8h.html#a0ae3260548ebbc45065f36373558a979"> 91</a></span><span class="preprocessor">#define DATA_REQUEST 0x40000000</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="hardware_8h.html#a9a7b53af0c5ee87a0b0cb16ead3fc76e"> 92</a></span><span class="preprocessor">#define C2_TRANSFER 0x10000000</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="hardware_8h.html#a5ffc9b4a1a0b44ff997295302fc0c1a3"> 93</a></span><span class="preprocessor">#define BUFFER_MANAGER_ERROR 0x08000000</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="hardware_8h.html#a3949e617d780b9c8f577690ab7e875b5"> 94</a></span><span class="preprocessor">#define BUFFER_MANAGER_INTERRUPT 0x04000000</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="hardware_8h.html#a0bcb0fb2f469cfc8a745c99893eb3d77"> 95</a></span><span class="preprocessor">#define MECHANIC_INTERRUPT 0x02000000</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="hardware_8h.html#a55e679cca80070230872592f8eea218a"> 96</a></span><span class="preprocessor">#define DISK_PRESENT 0x01000000</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="hardware_8h.html#a4821f69a5605c2618cd4dc4d3f60979c"> 97</a></span><span class="preprocessor">#define BUSY_STATE 0x00800000</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="hardware_8h.html#a02004a5d471e0e9110041dfefa5ba4d0"> 98</a></span><span class="preprocessor">#define RESET_STATE 0x00400000</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="hardware_8h.html#a53d9f99bd26a77569e2b052afe2c66d0"> 99</a></span><span class="preprocessor">#define MOTOR_NOT_SPINNING 0x00100000</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="hardware_8h.html#a2c230c75767710afb0b2d0097064e2c2"> 100</a></span><span class="preprocessor">#define HEAD_RETRACTED 0x00080000</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="hardware_8h.html#a662c43b9eb64d896d3cac6c4073e9ba8"> 101</a></span><span class="preprocessor">#define WRITE_PROTECT_ERROR 0x00040000</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="hardware_8h.html#a3e90845955a076f7271afd5d7761c043"> 102</a></span><span class="preprocessor">#define MECHANIC_ERROR 0x00020000</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="hardware_8h.html#a7787e56a40165d8d339bf1d72e39f352"> 103</a></span><span class="preprocessor">#define DISK_CHANGE 0x00010000</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="hardware_8h.html#af559e83951c824a6d133a5a33a285af1"> 105</a></span><span class="preprocessor">#define _64DD_PRESENT_MASK 0xFFFF</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment">// ro</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="hardware_8h.html#a25b18ac7f88b85da7f945a5c0ce3bb05"> 108</a></span><span class="preprocessor">#define ASIC_BM_STATUS 0x05000510</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="hardware_8h.html#ad16021b4d72e5c09e34004e81f562e52"> 110</a></span><span class="preprocessor">#define MICRO_STATUS 0x02000000</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="hardware_8h.html#ade98aa79e2445000c572b27d45836bb5"> 111</a></span><span class="preprocessor">#define C1_DOUBLE 0x00400000</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="hardware_8h.html#af481b5fce3abe2d72863c24b2a11ad6c"> 112</a></span><span class="preprocessor">#define C1_SINGLE 0x00200000</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="comment">// wo</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="hardware_8h.html#af1e62131e383ea129cbe253e35774274"> 115</a></span><span class="preprocessor">#define ASIC_BM_CTL 0x05000510</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="hardware_8h.html#a0a11bb115bc7b87616fd4eff7f76b784"> 116</a></span><span class="preprocessor">#define BUFFER_MANAGER_RESET 0x10000000</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="hardware_8h.html#aa6e9ea547682b7b074a131b960862036"> 117</a></span><span class="preprocessor">#define MECHANIC_INTERRUPT_RESET 0x01000000</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="comment">/*- Start Buffer Manager (0x80000000)</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="comment">- Buffer Manager Mode (0x40000000)</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="comment">- BM Interrupt Mask (0x20000000)</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="comment">- Buffer Manager Reset (0x10000000)</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="comment">- Disable OR Check? (0x08000000)</span></div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="comment">- Disable C1 Correction (0x04000000)</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="comment">- Block Transfer (0x02000000)</span></div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="comment">- Mechanic Interrupt Reset (0x01000000)*/</span></div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_a71443761d886d6152d96ebd3fda63af.html">os</a></li><li class="navelem"><a class="el" href="hardware_8h.html">hardware.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>
</html>