N64FlashcartMenu/group__drive.html

345 lines
19 KiB
HTML
Raw Normal View History

<!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.9.5"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>N64FlashcartMenu: Drive</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>
<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" />
</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">N64FlashcartMenu
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.5 -->
<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" 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');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- 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="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">Drive</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structd64__regs__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drive.html#structd64__regs__t">d64_regs_t</a></td></tr>
<tr class="memdesc:structd64__regs__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers Structure. <a href="group__drive.html#structd64__regs__t">More...</a><br /></td></tr>
<tr class="separator:structd64__regs__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga927eac2a576496d8a45d35894af0b7b3"><td class="memItemLeft" align="right" valign="top"><a id="ga927eac2a576496d8a45d35894af0b7b3" name="ga927eac2a576496d8a45d35894af0b7b3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>D64_REGS_BASE</b>&#160;&#160;&#160;(0x18000000UL)</td></tr>
<tr class="memdesc:ga927eac2a576496d8a45d35894af0b7b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers Base Address. <br /></td></tr>
<tr class="separator:ga927eac2a576496d8a45d35894af0b7b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga020e979e97fb1fae1a0f977a2d6621b3"><td class="memItemLeft" align="right" valign="top"><a id="ga020e979e97fb1fae1a0f977a2d6621b3" name="ga020e979e97fb1fae1a0f977a2d6621b3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>D64_REGS_BASE_EXT</b>&#160;&#160;&#160;(0x1F800000UL)</td></tr>
<tr class="separator:ga020e979e97fb1fae1a0f977a2d6621b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba906b0e1f75b3398b4d69c77bfedaa2"><td class="memItemLeft" align="right" valign="top"><a id="gaba906b0e1f75b3398b4d69c77bfedaa2" name="gaba906b0e1f75b3398b4d69c77bfedaa2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>D64_REGS</b>&#160;&#160;&#160;((<a class="el" href="group__drive.html#structd64__regs__t">d64_regs_t</a> *) <a class="el" href="group__drive.html#ga927eac2a576496d8a45d35894af0b7b3">D64_REGS_BASE</a>)</td></tr>
<tr class="separator:gaba906b0e1f75b3398b4d69c77bfedaa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1569224501b940e89f450eda7399f4d2"><td class="memItemLeft" align="right" valign="top"><a id="ga1569224501b940e89f450eda7399f4d2" name="ga1569224501b940e89f450eda7399f4d2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>D64_REGS_EXT</b>&#160;&#160;&#160;((<a class="el" href="group__drive.html#structd64__regs__t">d64_regs_t</a> *) D64_REGS_BASE_EXT)</td></tr>
<tr class="separator:ga1569224501b940e89f450eda7399f4d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga733266b51092a3371356685fbfb92147"><td class="memItemLeft" align="right" valign="top"><a id="ga733266b51092a3371356685fbfb92147" name="ga733266b51092a3371356685fbfb92147"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drive.html#ga733266b51092a3371356685fbfb92147">d64_device_variant_t</a> { <b>DEVICE_VARIANT_UNKNOWN</b> = 0x0000
, <b>DEVICE_VARIANT_A</b> = 0x4100
, <b>DEVICE_VARIANT_B</b> = 0x4200
}</td></tr>
<tr class="memdesc:ga733266b51092a3371356685fbfb92147"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device Variant Enumeration. <br /></td></tr>
<tr class="separator:ga733266b51092a3371356685fbfb92147"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2cf99eecd2a3217e492807788513883b"><td class="memItemLeft" align="right" valign="top"><a id="ga2cf99eecd2a3217e492807788513883b" name="ga2cf99eecd2a3217e492807788513883b"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drive.html#ga2cf99eecd2a3217e492807788513883b">d64_tv_type_t</a> { <b>TV_TYPE_PAL</b> = 0
, <b>TV_TYPE_NTSC</b> = 1
, <b>TV_TYPE_MPAL</b> = 2
, <b>TV_TYPE_UNKNOWN</b> = 3
}</td></tr>
<tr class="memdesc:ga2cf99eecd2a3217e492807788513883b"><td class="mdescLeft">&#160;</td><td class="mdescRight">TV Type Enumeration. <br /></td></tr>
<tr class="separator:ga2cf99eecd2a3217e492807788513883b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5d8c5ce4d0547470beaf7f385dd21b0"><td class="memItemLeft" align="right" valign="top"><a id="gad5d8c5ce4d0547470beaf7f385dd21b0" name="gad5d8c5ce4d0547470beaf7f385dd21b0"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__drive.html#gad5d8c5ce4d0547470beaf7f385dd21b0">d64_save_type_t</a> { <br />
&#160;&#160;<b>SAVE_TYPE_NONE</b>
, <b>SAVE_TYPE_EEPROM_4K</b>
, <b>SAVE_TYPE_EEPROM_16K</b>
, <b>SAVE_TYPE_SRAM</b>
, <br />
&#160;&#160;<b>SAVE_TYPE_FLASHRAM</b>
, <b>SAVE_TYPE_SRAM_BANKED</b>
, <b>SAVE_TYPE_FLASHRAM_PKST2</b>
<br />
}</td></tr>
<tr class="memdesc:gad5d8c5ce4d0547470beaf7f385dd21b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Save Type Enumeration. <br /></td></tr>
<tr class="separator:gad5d8c5ce4d0547470beaf7f385dd21b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga61ff1e8323a04a892a92c56c3d167be1"><td class="memItemLeft" align="right" valign="top"><a id="ga61ff1e8323a04a892a92c56c3d167be1" name="ga61ff1e8323a04a892a92c56c3d167be1"></a>
<a class="el" href="structflashcart__t.html">flashcart_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>d64_get_flashcart</b> (void)</td></tr>
<tr class="separator:ga61ff1e8323a04a892a92c56c3d167be1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3f048f7e284be7dc460bb599fd0c09d"><td class="memItemLeft" align="right" valign="top"><a id="gab3f048f7e284be7dc460bb599fd0c09d" name="gab3f048f7e284be7dc460bb599fd0c09d"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>d64_ll_get_version</b> (<a class="el" href="group__drive.html#ga733266b51092a3371356685fbfb92147">d64_device_variant_t</a> *device_variant, uint16_t *fpga_revision, uint32_t *bootloader_version)</td></tr>
<tr class="separator:gab3f048f7e284be7dc460bb599fd0c09d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac81da34f8b040e3a5d432bd386a95013"><td class="memItemLeft" align="right" valign="top"><a id="gac81da34f8b040e3a5d432bd386a95013" name="gac81da34f8b040e3a5d432bd386a95013"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>d64_ll_set_persistent_variable_storage</b> (bool quick_reboot, <a class="el" href="group__drive.html#ga2cf99eecd2a3217e492807788513883b">d64_tv_type_t</a> force_tv_type, uint8_t cic_seed)</td></tr>
<tr class="separator:gac81da34f8b040e3a5d432bd386a95013"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga869e080f1efdf6ab29b46983ffb8d37f"><td class="memItemLeft" align="right" valign="top"><a id="ga869e080f1efdf6ab29b46983ffb8d37f" name="ga869e080f1efdf6ab29b46983ffb8d37f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>d64_ll_set_save_type</b> (<a class="el" href="group__drive.html#gad5d8c5ce4d0547470beaf7f385dd21b0">d64_save_type_t</a> save_type)</td></tr>
<tr class="separator:ga869e080f1efdf6ab29b46983ffb8d37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab46bea56a70f9cde03a2d2bf8afdd051"><td class="memItemLeft" align="right" valign="top"><a id="gab46bea56a70f9cde03a2d2bf8afdd051" name="gab46bea56a70f9cde03a2d2bf8afdd051"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>d64_ll_enable_save_writeback</b> (bool enabled)</td></tr>
<tr class="separator:gab46bea56a70f9cde03a2d2bf8afdd051"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad00a89f69a20d08b6ccb7d9d6cf44a8b"><td class="memItemLeft" align="right" valign="top"><a id="gad00a89f69a20d08b6ccb7d9d6cf44a8b" name="gad00a89f69a20d08b6ccb7d9d6cf44a8b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>d64_ll_enable_cartrom_writes</b> (bool enabled)</td></tr>
<tr class="separator:gad00a89f69a20d08b6ccb7d9d6cf44a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d8daaad3d023aff1c84532496af9d54"><td class="memItemLeft" align="right" valign="top"><a id="ga2d8daaad3d023aff1c84532496af9d54" name="ga2d8daaad3d023aff1c84532496af9d54"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>d64_ll_enable_extended_mode</b> (bool enabled)</td></tr>
<tr class="separator:ga2d8daaad3d023aff1c84532496af9d54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafeeebb94609c89806b49d4afc5afc3d1"><td class="memItemLeft" align="right" valign="top"><a id="gafeeebb94609c89806b49d4afc5afc3d1" name="gafeeebb94609c89806b49d4afc5afc3d1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>d64_ll_write_eeprom_contents</b> (void *contents)</td></tr>
<tr class="separator:gafeeebb94609c89806b49d4afc5afc3d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga58464b350a0ff6402245ed6d62d3f9fc"><td class="memItemLeft" align="right" valign="top"><a id="ga58464b350a0ff6402245ed6d62d3f9fc" name="ga58464b350a0ff6402245ed6d62d3f9fc"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>d64_ll_write_save_writeback_lba_list</b> (void *list)</td></tr>
<tr class="separator:ga58464b350a0ff6402245ed6d62d3f9fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structd64__regs__t" id="structd64__regs__t"></a>
<h2 class="memtitle"><span class="permalink"><a href="#structd64__regs__t">&#9670;&#160;</a></span>d64_regs_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct d64_regs_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"><p >Registers Structure. </p>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a id="aa89b0ceb97ae22e5801b5fc37c458bbf" name="aa89b0ceb97ae22e5801b5fc37c458bbf"></a>uint8_t</td>
<td class="fieldname">
BUFFER[512]</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a77011453fc6f25af5839e91bfac1d56a" name="a77011453fc6f25af5839e91bfac1d56a"></a>uint32_t</td>
<td class="fieldname">
STATUS</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a37353daea41c2dcfae9be5ee144c09e8" name="a37353daea41c2dcfae9be5ee144c09e8"></a>uint32_t</td>
<td class="fieldname">
__unused_1</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a8f3d70e62046f64948d52a107ae70a40" name="a8f3d70e62046f64948d52a107ae70a40"></a>uint32_t</td>
<td class="fieldname">
COMMAND</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a808e4f24e3e2e2e079f146db84a3d026" name="a808e4f24e3e2e2e079f146db84a3d026"></a>uint32_t</td>
<td class="fieldname">
__unused_2</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a1ac8c2d1525582b3efe72e42c00cdd43" name="a1ac8c2d1525582b3efe72e42c00cdd43"></a>uint32_t</td>
<td class="fieldname">
LBA</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a79c7a586e29d9cd4ea7716529d277cc4" name="a79c7a586e29d9cd4ea7716529d277cc4"></a>uint32_t</td>
<td class="fieldname">
__unused_3</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="ad8e100a601a4ff2fe1fe1973d5a269e5" name="ad8e100a601a4ff2fe1fe1973d5a269e5"></a>uint32_t</td>
<td class="fieldname">
LENGTH</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a61dc2276585cfeba98fbab03389905ba" name="a61dc2276585cfeba98fbab03389905ba"></a>uint32_t</td>
<td class="fieldname">
__unused_4</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="ae9bdd61e6b06ea6eb72e6b2eb6fe62bc" name="ae9bdd61e6b06ea6eb72e6b2eb6fe62bc"></a>uint32_t</td>
<td class="fieldname">
RESULT</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="ac9af9ea601eaa9d95c23f6a49c0d2b59" name="ac9af9ea601eaa9d95c23f6a49c0d2b59"></a>uint32_t</td>
<td class="fieldname">
__unused_5[49]</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a0897408c46a5fa3b12af8d124b79388e" name="a0897408c46a5fa3b12af8d124b79388e"></a>uint32_t</td>
<td class="fieldname">
SDRAM_SIZE</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a332c5a5906898671db236768a5584af1" name="a332c5a5906898671db236768a5584af1"></a>uint32_t</td>
<td class="fieldname">
MAGIC</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a3122016a331cc742f3ae981bde92c5fb" name="a3122016a331cc742f3ae981bde92c5fb"></a>uint32_t</td>
<td class="fieldname">
VARIANT</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a8da469cbbde146349a89e9f37c6067c8" name="a8da469cbbde146349a89e9f37c6067c8"></a>uint32_t</td>
<td class="fieldname">
PERSISTENT</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a9c1ff2b030a6ebcb953fc895d77adf7f" name="a9c1ff2b030a6ebcb953fc895d77adf7f"></a>uint32_t</td>
<td class="fieldname">
BUTTON_UPGRADE</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a8c235712a6cdd3b584b75d34e77a86f5" name="a8c235712a6cdd3b584b75d34e77a86f5"></a>uint32_t</td>
<td class="fieldname">
REVISION</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a804e93567f99831fabfa628eed6107f7" name="a804e93567f99831fabfa628eed6107f7"></a>uint32_t</td>
<td class="fieldname">
__unused_6[64]</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a5d0203172218fad9dfcc32788ab4b02f" name="a5d0203172218fad9dfcc32788ab4b02f"></a>uint32_t</td>
<td class="fieldname">
USB_COMMAND_STATUS</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a832e3aba767408815c234471081d63b4" name="a832e3aba767408815c234471081d63b4"></a>uint32_t</td>
<td class="fieldname">
USB_PARAM_RESULT[2]</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a386a26b21064811c3e7743c2f2a88572" name="a386a26b21064811c3e7743c2f2a88572"></a>uint32_t</td>
<td class="fieldname">
__unused_7[5]</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="ac27b794acef16b6ce6fd51ac9e469541" name="ac27b794acef16b6ce6fd51ac9e469541"></a>uint32_t</td>
<td class="fieldname">
WIFI_COMMAND_STATUS</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a996d2bca357cf2a43aa8a6a24e5e1111" name="a996d2bca357cf2a43aa8a6a24e5e1111"></a>uint32_t</td>
<td class="fieldname">
WIFI_PARAM_RESULT[2]</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a028c450c00aa34b2229a272396d0f2a5" name="a028c450c00aa34b2229a272396d0f2a5"></a>uint32_t</td>
<td class="fieldname">
__unused_8[757]</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a863fda533970d389385e86db2bf539d0" name="a863fda533970d389385e86db2bf539d0"></a>uint8_t</td>
<td class="fieldname">
EEPROM[2048]</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="afd108d44dc78a570082a04a530b75290" name="afd108d44dc78a570082a04a530b75290"></a>uint32_t</td>
<td class="fieldname">
WRITEBACK[256]</td>
<td class="fielddoc">
</td></tr>
</table>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Apr 29 2024 14:42:13 for N64FlashcartMenu by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
</small></address>
</body>
</html>