N64FlashcartMenu/rom__database_8h.html

635 lines
46 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: rom_database.h File Reference</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>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_1a56cc8cdc1689899910be5fa4716ee4.html">menu</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">rom_database.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>N64 ROM Database.
<a href="#details">More...</a></p>
<p><a href="rom__database_8h_source.html">Go to the source code of this file.</a></p>
<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:structrom__config__flags__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rom__database_8h.html#structrom__config__flags__t">rom_config_flags_t</a></td></tr>
<tr class="memdesc:structrom__config__flags__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ROM Config Flags Structure. <a href="rom__database_8h.html#structrom__config__flags__t">More...</a><br /></td></tr>
<tr class="separator:structrom__config__flags__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structrom__metadata__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rom__database_8h.html#structrom__metadata__t">rom_metadata_t</a></td></tr>
<tr class="memdesc:structrom__metadata__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ROM Metadata Structure. <a href="rom__database_8h.html#structrom__metadata__t">More...</a><br /></td></tr>
<tr class="separator:structrom__metadata__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structrom__header__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rom__database_8h.html#structrom__header__t">rom_header_t</a></td></tr>
<tr class="memdesc:structrom__header__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ROM Header Structure. <a href="rom__database_8h.html#structrom__header__t">More...</a><br /></td></tr>
<tr class="separator:structrom__header__t"><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:aa9fa987c4bd8ced5523cd65f3408c685"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685">db_savetype_t</a> { <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685a07ec54dd69369e0ebb3027bc6a69f48e">DB_SAVE_TYPE_NONE</a> = 0x00
, <a class="el" href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685a916ca00d1b321577c68ed8f80b9e3138">DB_SAVE_TYPE_EEPROM_4K</a> = 0x01
, <a class="el" href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685a9c484e229a227629541c43fafa973619">DB_SAVE_TYPE_EEPROM_16K</a> = 0x02
, <a class="el" href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685acce0b10714a290fa6c183e9cc647b253">DB_SAVE_TYPE_SRAM</a> = 0x03
, <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685ac159a2c35449b4e55f40bba06d965009">DB_SAVE_TYPE_SRAM_BANKED</a> = 0x04
, <a class="el" href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685ab9da468ef68af55b24c78543741d1017">DB_SAVE_TYPE_SRAM_128K</a> = 0x05
, <a class="el" href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685a38243ddc6e5d5804891e485629645707">DB_SAVE_TYPE_FLASHRAM</a> = 0x06
, <a class="el" href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685a218b71b755fa244349266a89270c5eb8">DB_SAVE_TYPE_CPAK</a> = 0x10
, <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685a9ec98db1226c93752c8879e0a8ea429e">DB_SAVE_TYPE_DD</a> = 0x20
, <a class="el" href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685a4b29a4117a90e53975d74e7f0cf1feb3">DB_SAVE_TYPE_DD_CONVERSION</a> = 0x30
, <a class="el" href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685a8dfe4e8e943ac053b89f8f9cf2aade86">DB_SAVE_TYPE_INVALID</a> = 0xFF
<br />
}</td></tr>
<tr class="memdesc:aa9fa987c4bd8ced5523cd65f3408c685"><td class="mdescLeft">&#160;</td><td class="mdescRight">ROM database save type enumeration. <a href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685">More...</a><br /></td></tr>
<tr class="separator:aa9fa987c4bd8ced5523cd65f3408c685"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae15b00a2fe5f49a9791a351b91d97714"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rom__database_8h.html#ae15b00a2fe5f49a9791a351b91d97714">rom_memorytype_t</a> { <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#ae15b00a2fe5f49a9791a351b91d97714ae7e681827e7e5d1260923b18534ca2d0">DB_MEMORY_EXPANSION_NONE</a> = 0x00
, <a class="el" href="rom__database_8h.html#ae15b00a2fe5f49a9791a351b91d97714a073891ae34cfb1d6d40200d7b0236e46">DB_MEMORY_EXPANSION_REQUIRED</a> = 0x01
, <a class="el" href="rom__database_8h.html#ae15b00a2fe5f49a9791a351b91d97714a88afc3f995da808c3772b2c6d92eeb2d">DB_MEMORY_EXPANSION_RECOMMENDED</a> = 0x02
, <a class="el" href="rom__database_8h.html#ae15b00a2fe5f49a9791a351b91d97714ac7d2a6db839e168ec13c9e07c6650630">DB_MEMORY_EXPANSION_SUGGESTED</a> = 0x03
, <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#ae15b00a2fe5f49a9791a351b91d97714a6ef02e89e4750185a5dfb3684e982bdf">DB_MEMORY_EXPANSION_FAULTY</a> = 0x04
<br />
}</td></tr>
<tr class="memdesc:ae15b00a2fe5f49a9791a351b91d97714"><td class="mdescLeft">&#160;</td><td class="mdescRight">ROM system memory requirements enumeration. <a href="rom__database_8h.html#ae15b00a2fe5f49a9791a351b91d97714">More...</a><br /></td></tr>
<tr class="separator:ae15b00a2fe5f49a9791a351b91d97714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bd14048ebc4ca94184a04094d477fb8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rom__database_8h.html#a3bd14048ebc4ca94184a04094d477fb8">homebrew_savetype_t</a> { <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#a3bd14048ebc4ca94184a04094d477fb8a19b2659e1029cc57e3316e7ddb7b3098">HB_SAVE_TYPE_NONE</a> = 0x00
, <a class="el" href="rom__database_8h.html#a3bd14048ebc4ca94184a04094d477fb8aa924ea1df0fafd2abd108b11881663fc">HB_SAVE_TYPE_EEPROM_4K</a> = 0x01
, <a class="el" href="rom__database_8h.html#a3bd14048ebc4ca94184a04094d477fb8a10d83c5d10accab32697ee25aa722de0">HB_SAVE_TYPE_EEPROM_16K</a> = 0x02
, <a class="el" href="rom__database_8h.html#a3bd14048ebc4ca94184a04094d477fb8af8faee9773d12f24b30df0a99d5e8307">HB_SAVE_TYPE_SRAM</a> = 0x03
, <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#a3bd14048ebc4ca94184a04094d477fb8a89495d0cc0553ec93813bdc8cb7d6594">HB_SAVE_TYPE_SRAM_BANKED</a> = 0x04
, <a class="el" href="rom__database_8h.html#a3bd14048ebc4ca94184a04094d477fb8a3e8acd0c73d718a43ea1f7dd9c091da0">HB_SAVE_TYPE_FLASHRAM</a> = 0x05
, <a class="el" href="rom__database_8h.html#a3bd14048ebc4ca94184a04094d477fb8a03bbf34c332244ff38bd4c3202a366c4">HB_SAVE_TYPE_SRAM_128K</a> = 0x06
<br />
}</td></tr>
<tr class="memdesc:a3bd14048ebc4ca94184a04094d477fb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">ROM homebrew save type enumeration. <a href="rom__database_8h.html#a3bd14048ebc4ca94184a04094d477fb8">More...</a><br /></td></tr>
<tr class="separator:a3bd14048ebc4ca94184a04094d477fb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad10f4f1e1c8138c9715e87d9113c85a7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rom__database_8h.html#ad10f4f1e1c8138c9715e87d9113c85a7">rom_endian_type_t</a> { <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#ad10f4f1e1c8138c9715e87d9113c85a7a2762e3000863a02f8ed4e3e85d390d5c">ROM_BIG_ENDIAN</a> = 0x80371240
, <a class="el" href="rom__database_8h.html#ad10f4f1e1c8138c9715e87d9113c85a7adf8f0685a583ce5117b8d16518f75caa">ROM_LITTLE_ENDIAN</a> = 0x40123780
, <a class="el" href="rom__database_8h.html#ad10f4f1e1c8138c9715e87d9113c85a7ac8e75ac53052e21af772a8f35b69ecf2">ROM_MID_BIG_ENDIAN</a> = 0x37804012
, <a class="el" href="rom__database_8h.html#ad10f4f1e1c8138c9715e87d9113c85a7abcaf9dc73653de13df226b79c0be87aa">ROM_MID_LITTLE_ENDIAN</a> = 0x12408037
, <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#ad10f4f1e1c8138c9715e87d9113c85a7a8402595393579af3273cc16a5477bce3">IPL_BIG_ENDIAN</a> = 0x80270740
<br />
}</td></tr>
<tr class="memdesc:ad10f4f1e1c8138c9715e87d9113c85a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">ROM file endian enumeration. <a href="rom__database_8h.html#ad10f4f1e1c8138c9715e87d9113c85a7">More...</a><br /></td></tr>
<tr class="separator:ad10f4f1e1c8138c9715e87d9113c85a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c6debc1bf7d7067342309be5d63e74c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rom__database_8h.html#a7c6debc1bf7d7067342309be5d63e74c">rom_media_type_t</a> { <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#a7c6debc1bf7d7067342309be5d63e74ca1bd823fc8b9c795053d238a96c6f5524">N64_CART</a> = 'N'
, <a class="el" href="rom__database_8h.html#a7c6debc1bf7d7067342309be5d63e74ca4892177cc838193ba4b53d904d91af25">N64_DISK</a> = 'D'
, <a class="el" href="rom__database_8h.html#a7c6debc1bf7d7067342309be5d63e74ca45d9f8446e39a1fa4220d57448e609df">N64_CART_EXPANDABLE</a> = 'C'
, <a class="el" href="rom__database_8h.html#a7c6debc1bf7d7067342309be5d63e74ca0b98dff1eb797c2684050e4d430d8722">N64_DISK_EXPANDABLE</a> = 'E'
, <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#a7c6debc1bf7d7067342309be5d63e74cae05d1f3888937647e60af840097f32c0">N64_ALECK64</a> = 'Z'
<br />
}</td></tr>
<tr class="memdesc:a7c6debc1bf7d7067342309be5d63e74c"><td class="mdescLeft">&#160;</td><td class="mdescRight">ROM media type enumeration. <a href="rom__database_8h.html#a7c6debc1bf7d7067342309be5d63e74c">More...</a><br /></td></tr>
<tr class="separator:a7c6debc1bf7d7067342309be5d63e74c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64d030402f123f66f3c8360650107545"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545">rom_destination_market_t</a> { <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545ad9bc0c3b267e260e56e93c5ac7028816">MARKET_ALL</a> = 'A'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545aea349f70b9a1c9eec71c4b26ccfb463d">MARKET_BRAZIL</a> = 'B'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545a063a558f5d4b2da3f879a05031d412ce">MARKET_CHINA</a> = 'C'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545a39d4b279d0edbae34bc01b49be8f0bdf">MARKET_GERMANY</a> = 'D'
, <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545ae3ccd74570644363e1ac2f0a83779a56">MARKET_USA</a> = 'E'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545a10e6d085681f6f26d6582e8ebf665d11">MARKET_FRANCE</a> = 'F'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545ab0a10418b57442d5759df02f5a0f45e8">MARKET_GATEWAY64_NTSC</a> = 'G'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545af1bfe6356b0825b5b1c3cd92e7eead0b">MARKET_NETHERLANDS</a> = 'H'
, <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545ad96a222a7bc8dbaf5440cf8f382b5db2">MARKET_ITALY</a> = 'I'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545a8537ad3a53ff03b92710323d96a01f94">MARKET_JAPAN</a> = 'J'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545ab3709051938792d1f3a0d02f7bfe56a3">MARKET_KOREA</a> = 'K'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545aaba43978734c0351513b95f58e96aac4">MARKET_GATEWAY64_PAL</a> = 'L'
, <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545a6720ca1889f71b1a5445d246a49337f3">MARKET_CANADA</a> = 'N'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545ac188988bbe9f6137c4bf192734ab6c33">MARKET_PAL_GENERIC</a> = 'P'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545a8a0d46749808d094da1ab0a99793e7cc">MARKET_SPAIN</a> = 'S'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545ac79c37d5486d1acba069bc6bd9d958a9">MARKET_AUSTRAILA</a> = 'U'
, <br />
&#160;&#160;<a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545acc791961829a52278689ffe5ed66af66">MARKET_SCANDINAVAIA</a> = 'W'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545a1e63ff548d6963f2e8fb5cc5279cfca0">MARKET_PAL_X</a> = 'X'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545a67ebdd41d4961a69c36d1d9c27981217">MARKET_PAL_Y</a> = 'Y'
, <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545a9b068f04449be289cc4cd42fbcf60b8d">MARKET_PAL_Z</a> = 'Z'
<br />
}</td></tr>
<tr class="memdesc:a64d030402f123f66f3c8360650107545"><td class="mdescLeft">&#160;</td><td class="mdescRight">ROM market type enumeration. <a href="rom__database_8h.html#a64d030402f123f66f3c8360650107545">More...</a><br /></td></tr>
<tr class="separator:a64d030402f123f66f3c8360650107545"><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:a7a380f5fac523be56bad42cef02d0a3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="rom__database_8h.html#structrom__header__t">rom_header_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rom__database_8h.html#a7a380f5fac523be56bad42cef02d0a3d">file_read_rom_header</a> (char *path)</td></tr>
<tr class="memdesc:a7a380f5fac523be56bad42cef02d0a3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the N64 ROM header from a file. <a href="rom__database_8h.html#a7a380f5fac523be56bad42cef02d0a3d">More...</a><br /></td></tr>
<tr class="separator:a7a380f5fac523be56bad42cef02d0a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d36ec19ca4accc654787bad064b4e99"><td class="memItemLeft" align="right" valign="top"><a id="a8d36ec19ca4accc654787bad064b4e99" name="a8d36ec19ca4accc654787bad064b4e99"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>rom_db_match_save_type</b> (<a class="el" href="rom__database_8h.html#structrom__header__t">rom_header_t</a> rom_header)</td></tr>
<tr class="separator:a8d36ec19ca4accc654787bad064b4e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43c3809bb30139778d5e5d2e8f08be97"><td class="memItemLeft" align="right" valign="top"><a id="a43c3809bb30139778d5e5d2e8f08be97" name="a43c3809bb30139778d5e5d2e8f08be97"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>rom_db_match_expansion_pak</b> (<a class="el" href="rom__database_8h.html#structrom__header__t">rom_header_t</a> rom_header)</td></tr>
<tr class="separator:a43c3809bb30139778d5e5d2e8f08be97"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >N64 ROM Database. </p>
<dl class="section note"><dt>Note</dt><dd>Only works with N64 ROM's by checking the first 1024 bytes of the file. </dd></dl>
</div><hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structrom__config__flags__t" id="structrom__config__flags__t"></a>
<h2 class="memtitle"><span class="permalink"><a href="#structrom__config__flags__t">&#9670;&#160;</a></span>rom_config_flags_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct rom_config_flags_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"><p >ROM Config Flags Structure. </p>
<dl class="section note"><dt>Note</dt><dd>This information is derived from the ROM header. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://n64brew.dev/wiki/Peripheral_Interface#Domains">https://n64brew.dev/wiki/Peripheral_Interface#Domains</a> i.e. 0x00 = PI BSD Domain 1 Release register 0x01 = PI BSD Domain 1 Page Size register 0x02 = PI BSD Domain 1 Pulse Width register 0x03 = PI BSD Domain 1 Latch register </dd></dl>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a id="a5873087f15174e6965b101b57839f683" name="a5873087f15174e6965b101b57839f683"></a>uint8_t</td>
<td class="fieldname">
domain1_release</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a0b4b4d234520135993d503e1ce5937ee" name="a0b4b4d234520135993d503e1ce5937ee"></a>uint8_t</td>
<td class="fieldname">
domain1_page_size</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a7c39a6d9b6e9ec70ec0fa790eb196667" name="a7c39a6d9b6e9ec70ec0fa790eb196667"></a>uint8_t</td>
<td class="fieldname">
domain1_latency</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="aa7e568b3820af079d8d0767aa93f0010" name="aa7e568b3820af079d8d0767aa93f0010"></a>uint8_t</td>
<td class="fieldname">
domain1_pulse_width</td>
<td class="fielddoc">
</td></tr>
</table>
</div>
</div>
<a name="structrom__metadata__t" id="structrom__metadata__t"></a>
<h2 class="memtitle"><span class="permalink"><a href="#structrom__metadata__t">&#9670;&#160;</a></span>rom_metadata_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct rom_metadata_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"><p >ROM Metadata Structure. </p>
<dl class="section note"><dt>Note</dt><dd>This information is derived from the ROM header. i.e. 0x3B = Media Type 0x3C and 0x3D = Unique Identifier 0x3E = Destination Market </dd></dl>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a id="a6390225821795a8dbaab49f4adf9d462" name="a6390225821795a8dbaab49f4adf9d462"></a>uint8_t</td>
<td class="fieldname">
media_type</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a496c29d12d0ab77ac024bcb06821ec71" name="a496c29d12d0ab77ac024bcb06821ec71"></a>uint16_t</td>
<td class="fieldname">
unique_identifier</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="aefdef0a816127f15d3e33113d43960d7" name="aefdef0a816127f15d3e33113d43960d7"></a>uint8_t</td>
<td class="fieldname">
destination_market</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a2704a5413a0b5f2062e36a81188e3bec" name="a2704a5413a0b5f2062e36a81188e3bec"></a>uint8_t</td>
<td class="fieldname">
version</td>
<td class="fielddoc">
</td></tr>
</table>
</div>
</div>
<a name="structrom__header__t" id="structrom__header__t"></a>
<h2 class="memtitle"><span class="permalink"><a href="#structrom__header__t">&#9670;&#160;</a></span>rom_header_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct rom_header_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"><p >ROM Header Structure. </p>
<dl class="section note"><dt>Note</dt><dd>This information is derived from the ROM header. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://n64brew.dev/wiki/ROM_Header">https://n64brew.dev/wiki/ROM_Header</a> </dd></dl>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a id="a36b8274c051911b8739c732d4290d17c" name="a36b8274c051911b8739c732d4290d17c"></a>uint32_t</td>
<td class="fieldname">
config_flags</td>
<td class="fielddoc">
The ROM configuration flags. <dl class="section note"><dt>Note</dt><dd>we currently use this to work out the endian </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="rom__database_8h.html#ad10f4f1e1c8138c9715e87d9113c85a7" title="ROM file endian enumeration.">rom_endian_type_t</a>. </dd></dl>
</td></tr>
<tr><td class="fieldtype">
<a id="ae541531dc9e7ae139f3c88716ab303c0" name="ae541531dc9e7ae139f3c88716ab303c0"></a>uint32_t</td>
<td class="fieldname">
clock_rate</td>
<td class="fielddoc">
The ROM file clock rate. </td></tr>
<tr><td class="fieldtype">
<a id="aa48b8e6299791b00d3050c8b426ea7c0" name="aa48b8e6299791b00d3050c8b426ea7c0"></a>uint32_t</td>
<td class="fieldname">
boot_address</td>
<td class="fielddoc">
The ROM file boot address. </td></tr>
<tr><td class="fieldtype">
<a id="a0115fe44deda826f21523f83edefd517" name="a0115fe44deda826f21523f83edefd517"></a>uint32_t</td>
<td class="fieldname">
sdk_version</td>
<td class="fielddoc">
The ROM file SDK version. </td></tr>
<tr><td class="fieldtype">
<a id="ade2251d6099a8fb44460f206d79faf62" name="ade2251d6099a8fb44460f206d79faf62"></a>uint64_t</td>
<td class="fieldname">
checksum</td>
<td class="fielddoc">
The ROM file checksum. </td></tr>
<tr><td class="fieldtype">
<a id="a825b12b7c8fdd72980e7d987c26b1f76" name="a825b12b7c8fdd72980e7d987c26b1f76"></a>uint64_t</td>
<td class="fieldname">
unknown_reserved_1</td>
<td class="fielddoc">
The ROM file unknown reserved region at 0x18. for 8 bytes. </td></tr>
<tr><td class="fieldtype">
<a id="a52acfe0dc99a48195e43c88dd8a2528b" name="a52acfe0dc99a48195e43c88dd8a2528b"></a>char</td>
<td class="fieldname">
title[21]</td>
<td class="fielddoc">
The ROM file title. </td></tr>
<tr><td class="fieldtype">
<a id="ae03145554be76986cb1d1bff2aff4585" name="ae03145554be76986cb1d1bff2aff4585"></a>char</td>
<td class="fieldname">
unknown_reserved_2[7]</td>
<td class="fielddoc">
The ROM file unknown reserved region at 0x34. for 7 bytes. </td></tr>
<tr><td class="fieldtype">
<a id="a57ad29be073b94eeeb7b7e41f8648c93" name="a57ad29be073b94eeeb7b7e41f8648c93"></a><a class="el" href="rom__database_8h.html#structrom__metadata__t">rom_metadata_t</a></td>
<td class="fieldname">
metadata</td>
<td class="fielddoc">
The ROM file metadata. <dl class="section see"><dt>See also</dt><dd><a class="el" href="rom__database_8h.html#structrom__metadata__t" title="ROM Metadata Structure.">rom_metadata_t</a>. </dd></dl>
</td></tr>
<tr><td class="fieldtype">
<a id="a21815400a686f92a7bfffdd1f17b5b86" name="a21815400a686f92a7bfffdd1f17b5b86"></a>char</td>
<td class="fieldname">
ipl_boot_code[0x0FC0]</td>
<td class="fielddoc">
The ROM file release version. </td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="aa9fa987c4bd8ced5523cd65f3408c685" name="aa9fa987c4bd8ced5523cd65f3408c685"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9fa987c4bd8ced5523cd65f3408c685">&#9670;&#160;</a></span>db_savetype_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="rom__database_8h.html#aa9fa987c4bd8ced5523cd65f3408c685">db_savetype_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>ROM database save type enumeration. </p>
<dl class="section note"><dt>Note</dt><dd>These values are independent of flashcart / OS but by default align to SC64. </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa9fa987c4bd8ced5523cd65f3408c685a07ec54dd69369e0ebb3027bc6a69f48e" name="aa9fa987c4bd8ced5523cd65f3408c685a07ec54dd69369e0ebb3027bc6a69f48e"></a>DB_SAVE_TYPE_NONE&#160;</td><td class="fielddoc"><p >The ROM has no save type. </p>
</td></tr>
<tr><td class="fieldname"><a id="aa9fa987c4bd8ced5523cd65f3408c685a916ca00d1b321577c68ed8f80b9e3138" name="aa9fa987c4bd8ced5523cd65f3408c685a916ca00d1b321577c68ed8f80b9e3138"></a>DB_SAVE_TYPE_EEPROM_4K&#160;</td><td class="fielddoc"><p >The ROM uses EEPROM 4K saves. </p>
</td></tr>
<tr><td class="fieldname"><a id="aa9fa987c4bd8ced5523cd65f3408c685a9c484e229a227629541c43fafa973619" name="aa9fa987c4bd8ced5523cd65f3408c685a9c484e229a227629541c43fafa973619"></a>DB_SAVE_TYPE_EEPROM_16K&#160;</td><td class="fielddoc"><p >The ROM uses EEPROM 16K saves. </p>
</td></tr>
<tr><td class="fieldname"><a id="aa9fa987c4bd8ced5523cd65f3408c685acce0b10714a290fa6c183e9cc647b253" name="aa9fa987c4bd8ced5523cd65f3408c685acce0b10714a290fa6c183e9cc647b253"></a>DB_SAVE_TYPE_SRAM&#160;</td><td class="fielddoc"><p >The ROM uses SRAM saves. </p>
</td></tr>
<tr><td class="fieldname"><a id="aa9fa987c4bd8ced5523cd65f3408c685ac159a2c35449b4e55f40bba06d965009" name="aa9fa987c4bd8ced5523cd65f3408c685ac159a2c35449b4e55f40bba06d965009"></a>DB_SAVE_TYPE_SRAM_BANKED&#160;</td><td class="fielddoc"><p >The ROM uses SRAM Banked saves. </p>
</td></tr>
<tr><td class="fieldname"><a id="aa9fa987c4bd8ced5523cd65f3408c685ab9da468ef68af55b24c78543741d1017" name="aa9fa987c4bd8ced5523cd65f3408c685ab9da468ef68af55b24c78543741d1017"></a>DB_SAVE_TYPE_SRAM_128K&#160;</td><td class="fielddoc"><p >The ROM uses SRAM 128K saves. </p>
<dl class="section note"><dt>Note</dt><dd>This is not supported by all flashcarts. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="aa9fa987c4bd8ced5523cd65f3408c685a38243ddc6e5d5804891e485629645707" name="aa9fa987c4bd8ced5523cd65f3408c685a38243ddc6e5d5804891e485629645707"></a>DB_SAVE_TYPE_FLASHRAM&#160;</td><td class="fielddoc"><p >The ROM uses FLASHRAM saves. </p>
</td></tr>
<tr><td class="fieldname"><a id="aa9fa987c4bd8ced5523cd65f3408c685a218b71b755fa244349266a89270c5eb8" name="aa9fa987c4bd8ced5523cd65f3408c685a218b71b755fa244349266a89270c5eb8"></a>DB_SAVE_TYPE_CPAK&#160;</td><td class="fielddoc"><p >The ROM uses CPAK saves. </p>
<dl class="section note"><dt>Note</dt><dd>This must be handled by user code. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="aa9fa987c4bd8ced5523cd65f3408c685a9ec98db1226c93752c8879e0a8ea429e" name="aa9fa987c4bd8ced5523cd65f3408c685a9ec98db1226c93752c8879e0a8ea429e"></a>DB_SAVE_TYPE_DD&#160;</td><td class="fielddoc"><p >The ROM uses Disk Drive saves. </p>
<dl class="section note"><dt>Note</dt><dd>This is not supported by all flashcarts. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="aa9fa987c4bd8ced5523cd65f3408c685a4b29a4117a90e53975d74e7f0cf1feb3" name="aa9fa987c4bd8ced5523cd65f3408c685a4b29a4117a90e53975d74e7f0cf1feb3"></a>DB_SAVE_TYPE_DD_CONVERSION&#160;</td><td class="fielddoc"><p >The ROM uses Disk Drive conversion saves. </p>
<dl class="section note"><dt>Note</dt><dd>This must be handled by user code. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="aa9fa987c4bd8ced5523cd65f3408c685a8dfe4e8e943ac053b89f8f9cf2aade86" name="aa9fa987c4bd8ced5523cd65f3408c685a8dfe4e8e943ac053b89f8f9cf2aade86"></a>DB_SAVE_TYPE_INVALID&#160;</td><td class="fielddoc"><p >The ROM uses a save type that was not recognised. </p>
</td></tr>
</table>
</div>
</div>
<a id="ae15b00a2fe5f49a9791a351b91d97714" name="ae15b00a2fe5f49a9791a351b91d97714"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae15b00a2fe5f49a9791a351b91d97714">&#9670;&#160;</a></span>rom_memorytype_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="rom__database_8h.html#ae15b00a2fe5f49a9791a351b91d97714">rom_memorytype_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>ROM system memory requirements enumeration. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ae15b00a2fe5f49a9791a351b91d97714ae7e681827e7e5d1260923b18534ca2d0" name="ae15b00a2fe5f49a9791a351b91d97714ae7e681827e7e5d1260923b18534ca2d0"></a>DB_MEMORY_EXPANSION_NONE&#160;</td><td class="fielddoc"><p >The ROM is happy with 4MB of memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="ae15b00a2fe5f49a9791a351b91d97714a073891ae34cfb1d6d40200d7b0236e46" name="ae15b00a2fe5f49a9791a351b91d97714a073891ae34cfb1d6d40200d7b0236e46"></a>DB_MEMORY_EXPANSION_REQUIRED&#160;</td><td class="fielddoc"><p >The ROM requires 8MB of memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="ae15b00a2fe5f49a9791a351b91d97714a88afc3f995da808c3772b2c6d92eeb2d" name="ae15b00a2fe5f49a9791a351b91d97714a88afc3f995da808c3772b2c6d92eeb2d"></a>DB_MEMORY_EXPANSION_RECOMMENDED&#160;</td><td class="fielddoc"><p >The ROM recommends 8MB of memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="ae15b00a2fe5f49a9791a351b91d97714ac7d2a6db839e168ec13c9e07c6650630" name="ae15b00a2fe5f49a9791a351b91d97714ac7d2a6db839e168ec13c9e07c6650630"></a>DB_MEMORY_EXPANSION_SUGGESTED&#160;</td><td class="fielddoc"><p >The ROM suggests 8MB of memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="ae15b00a2fe5f49a9791a351b91d97714a6ef02e89e4750185a5dfb3684e982bdf" name="ae15b00a2fe5f49a9791a351b91d97714a6ef02e89e4750185a5dfb3684e982bdf"></a>DB_MEMORY_EXPANSION_FAULTY&#160;</td><td class="fielddoc"><p >The ROM is faulty when using 8MB of memory. </p>
</td></tr>
</table>
</div>
</div>
<a id="a3bd14048ebc4ca94184a04094d477fb8" name="a3bd14048ebc4ca94184a04094d477fb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3bd14048ebc4ca94184a04094d477fb8">&#9670;&#160;</a></span>homebrew_savetype_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="rom__database_8h.html#a3bd14048ebc4ca94184a04094d477fb8">homebrew_savetype_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>ROM homebrew save type enumeration. </p>
<dl class="section note"><dt>Note</dt><dd>These align to the Krikzz ED64 save types and are generally accepted by all emulators. </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3bd14048ebc4ca94184a04094d477fb8a19b2659e1029cc57e3316e7ddb7b3098" name="a3bd14048ebc4ca94184a04094d477fb8a19b2659e1029cc57e3316e7ddb7b3098"></a>HB_SAVE_TYPE_NONE&#160;</td><td class="fielddoc"><p >The ROM has no save type. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3bd14048ebc4ca94184a04094d477fb8aa924ea1df0fafd2abd108b11881663fc" name="a3bd14048ebc4ca94184a04094d477fb8aa924ea1df0fafd2abd108b11881663fc"></a>HB_SAVE_TYPE_EEPROM_4K&#160;</td><td class="fielddoc"><p >The ROM uses EEPROM 4K saves. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3bd14048ebc4ca94184a04094d477fb8a10d83c5d10accab32697ee25aa722de0" name="a3bd14048ebc4ca94184a04094d477fb8a10d83c5d10accab32697ee25aa722de0"></a>HB_SAVE_TYPE_EEPROM_16K&#160;</td><td class="fielddoc"><p >The ROM uses EEPROM 16K saves. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3bd14048ebc4ca94184a04094d477fb8af8faee9773d12f24b30df0a99d5e8307" name="a3bd14048ebc4ca94184a04094d477fb8af8faee9773d12f24b30df0a99d5e8307"></a>HB_SAVE_TYPE_SRAM&#160;</td><td class="fielddoc"><p >The ROM uses SRAM saves. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3bd14048ebc4ca94184a04094d477fb8a89495d0cc0553ec93813bdc8cb7d6594" name="a3bd14048ebc4ca94184a04094d477fb8a89495d0cc0553ec93813bdc8cb7d6594"></a>HB_SAVE_TYPE_SRAM_BANKED&#160;</td><td class="fielddoc"><p >The ROM uses SRAM Banked saves. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3bd14048ebc4ca94184a04094d477fb8a3e8acd0c73d718a43ea1f7dd9c091da0" name="a3bd14048ebc4ca94184a04094d477fb8a3e8acd0c73d718a43ea1f7dd9c091da0"></a>HB_SAVE_TYPE_FLASHRAM&#160;</td><td class="fielddoc"><p >The ROM uses FLASHRAM saves. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3bd14048ebc4ca94184a04094d477fb8a03bbf34c332244ff38bd4c3202a366c4" name="a3bd14048ebc4ca94184a04094d477fb8a03bbf34c332244ff38bd4c3202a366c4"></a>HB_SAVE_TYPE_SRAM_128K&#160;</td><td class="fielddoc"><p >The ROM uses SRAM 128K saves. </p>
<dl class="section note"><dt>Note</dt><dd>This is not supported by all flashcarts. </dd></dl>
</td></tr>
</table>
</div>
</div>
<a id="ad10f4f1e1c8138c9715e87d9113c85a7" name="ad10f4f1e1c8138c9715e87d9113c85a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad10f4f1e1c8138c9715e87d9113c85a7">&#9670;&#160;</a></span>rom_endian_type_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="rom__database_8h.html#ad10f4f1e1c8138c9715e87d9113c85a7">rom_endian_type_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>ROM file endian enumeration. </p>
<dl class="section note"><dt>Note</dt><dd>this is a hack used for checking ROM's against expected Big Endian when reading from the file system. </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ad10f4f1e1c8138c9715e87d9113c85a7a2762e3000863a02f8ed4e3e85d390d5c" name="ad10f4f1e1c8138c9715e87d9113c85a7a2762e3000863a02f8ed4e3e85d390d5c"></a>ROM_BIG_ENDIAN&#160;</td><td class="fielddoc"><p >Big Endian ROM. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad10f4f1e1c8138c9715e87d9113c85a7adf8f0685a583ce5117b8d16518f75caa" name="ad10f4f1e1c8138c9715e87d9113c85a7adf8f0685a583ce5117b8d16518f75caa"></a>ROM_LITTLE_ENDIAN&#160;</td><td class="fielddoc"><p >Little Endian ROM. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad10f4f1e1c8138c9715e87d9113c85a7ac8e75ac53052e21af772a8f35b69ecf2" name="ad10f4f1e1c8138c9715e87d9113c85a7ac8e75ac53052e21af772a8f35b69ecf2"></a>ROM_MID_BIG_ENDIAN&#160;</td><td class="fielddoc"><p >Mid Big Endian ROM. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad10f4f1e1c8138c9715e87d9113c85a7abcaf9dc73653de13df226b79c0be87aa" name="ad10f4f1e1c8138c9715e87d9113c85a7abcaf9dc73653de13df226b79c0be87aa"></a>ROM_MID_LITTLE_ENDIAN&#160;</td><td class="fielddoc"><p >Mid Little Endian ROM. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad10f4f1e1c8138c9715e87d9113c85a7a8402595393579af3273cc16a5477bce3" name="ad10f4f1e1c8138c9715e87d9113c85a7a8402595393579af3273cc16a5477bce3"></a>IPL_BIG_ENDIAN&#160;</td><td class="fielddoc"><p >Big Endian IPL ROM. </p>
</td></tr>
</table>
</div>
</div>
<a id="a7c6debc1bf7d7067342309be5d63e74c" name="a7c6debc1bf7d7067342309be5d63e74c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c6debc1bf7d7067342309be5d63e74c">&#9670;&#160;</a></span>rom_media_type_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="rom__database_8h.html#a7c6debc1bf7d7067342309be5d63e74c">rom_media_type_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>ROM media type enumeration. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7c6debc1bf7d7067342309be5d63e74ca1bd823fc8b9c795053d238a96c6f5524" name="a7c6debc1bf7d7067342309be5d63e74ca1bd823fc8b9c795053d238a96c6f5524"></a>N64_CART&#160;</td><td class="fielddoc"><p >Is a stand alone Cartridge program. </p>
</td></tr>
<tr><td class="fieldname"><a id="a7c6debc1bf7d7067342309be5d63e74ca4892177cc838193ba4b53d904d91af25" name="a7c6debc1bf7d7067342309be5d63e74ca4892177cc838193ba4b53d904d91af25"></a>N64_DISK&#160;</td><td class="fielddoc"><p >Is a stand alone Disk Drive program. </p>
</td></tr>
<tr><td class="fieldname"><a id="a7c6debc1bf7d7067342309be5d63e74ca45d9f8446e39a1fa4220d57448e609df" name="a7c6debc1bf7d7067342309be5d63e74ca45d9f8446e39a1fa4220d57448e609df"></a>N64_CART_EXPANDABLE&#160;</td><td class="fielddoc"><p >Is a Cartridge program that could use an extra Disk Drive program to expand its capabilities. </p>
</td></tr>
<tr><td class="fieldname"><a id="a7c6debc1bf7d7067342309be5d63e74ca0b98dff1eb797c2684050e4d430d8722" name="a7c6debc1bf7d7067342309be5d63e74ca0b98dff1eb797c2684050e4d430d8722"></a>N64_DISK_EXPANDABLE&#160;</td><td class="fielddoc"><p >Is a Disk Drive program that could use an extra Cartridge program to expand its capabilities. </p>
</td></tr>
<tr><td class="fieldname"><a id="a7c6debc1bf7d7067342309be5d63e74cae05d1f3888937647e60af840097f32c0" name="a7c6debc1bf7d7067342309be5d63e74cae05d1f3888937647e60af840097f32c0"></a>N64_ALECK64&#160;</td><td class="fielddoc"><p >Is an Aleck64 program. </p>
</td></tr>
</table>
</div>
</div>
<a id="a64d030402f123f66f3c8360650107545" name="a64d030402f123f66f3c8360650107545"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64d030402f123f66f3c8360650107545">&#9670;&#160;</a></span>rom_destination_market_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="rom__database_8h.html#a64d030402f123f66f3c8360650107545">rom_destination_market_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>ROM market type enumeration. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545ad9bc0c3b267e260e56e93c5ac7028816" name="a64d030402f123f66f3c8360650107545ad9bc0c3b267e260e56e93c5ac7028816"></a>MARKET_ALL&#160;</td><td class="fielddoc"><p >The ROM is designed for all regions. </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545aea349f70b9a1c9eec71c4b26ccfb463d" name="a64d030402f123f66f3c8360650107545aea349f70b9a1c9eec71c4b26ccfb463d"></a>MARKET_BRAZIL&#160;</td><td class="fielddoc"><p >The ROM is designed for Brazil (probably PAL-M). </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545a063a558f5d4b2da3f879a05031d412ce" name="a64d030402f123f66f3c8360650107545a063a558f5d4b2da3f879a05031d412ce"></a>MARKET_CHINA&#160;</td><td class="fielddoc"><p >The ROM is designed for China (probably PAL-D). </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545a39d4b279d0edbae34bc01b49be8f0bdf" name="a64d030402f123f66f3c8360650107545a39d4b279d0edbae34bc01b49be8f0bdf"></a>MARKET_GERMANY&#160;</td><td class="fielddoc"><p >The ROM is designed for Germany (probably PAL). </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545ae3ccd74570644363e1ac2f0a83779a56" name="a64d030402f123f66f3c8360650107545ae3ccd74570644363e1ac2f0a83779a56"></a>MARKET_USA&#160;</td><td class="fielddoc"><p >The ROM is designed for USA. (probably NTSC-M) </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545a10e6d085681f6f26d6582e8ebf665d11" name="a64d030402f123f66f3c8360650107545a10e6d085681f6f26d6582e8ebf665d11"></a>MARKET_FRANCE&#160;</td><td class="fielddoc"><p >The ROM is designed for France (probably PAL). </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545ab0a10418b57442d5759df02f5a0f45e8" name="a64d030402f123f66f3c8360650107545ab0a10418b57442d5759df02f5a0f45e8"></a>MARKET_GATEWAY64_NTSC&#160;</td><td class="fielddoc"><p >The ROM is designed for a NTSC Gateway 64. </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545af1bfe6356b0825b5b1c3cd92e7eead0b" name="a64d030402f123f66f3c8360650107545af1bfe6356b0825b5b1c3cd92e7eead0b"></a>MARKET_NETHERLANDS&#160;</td><td class="fielddoc"><p >The ROM is designed for Netherlands (probably PAL). </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545ad96a222a7bc8dbaf5440cf8f382b5db2" name="a64d030402f123f66f3c8360650107545ad96a222a7bc8dbaf5440cf8f382b5db2"></a>MARKET_ITALY&#160;</td><td class="fielddoc"><p >The ROM is designed for Italy (probably PAL). </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545a8537ad3a53ff03b92710323d96a01f94" name="a64d030402f123f66f3c8360650107545a8537ad3a53ff03b92710323d96a01f94"></a>MARKET_JAPAN&#160;</td><td class="fielddoc"><p >The ROM is designed for Japan. (probably NTSC-J) </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545ab3709051938792d1f3a0d02f7bfe56a3" name="a64d030402f123f66f3c8360650107545ab3709051938792d1f3a0d02f7bfe56a3"></a>MARKET_KOREA&#160;</td><td class="fielddoc"><p >The ROM is designed for Korea. </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545aaba43978734c0351513b95f58e96aac4" name="a64d030402f123f66f3c8360650107545aaba43978734c0351513b95f58e96aac4"></a>MARKET_GATEWAY64_PAL&#160;</td><td class="fielddoc"><p >The ROM is designed for a PAL Gateway 64. </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545a6720ca1889f71b1a5445d246a49337f3" name="a64d030402f123f66f3c8360650107545a6720ca1889f71b1a5445d246a49337f3"></a>MARKET_CANADA&#160;</td><td class="fielddoc"><p >The ROM is designed for Canada. </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545ac188988bbe9f6137c4bf192734ab6c33" name="a64d030402f123f66f3c8360650107545ac188988bbe9f6137c4bf192734ab6c33"></a>MARKET_PAL_GENERIC&#160;</td><td class="fielddoc"><p >The ROM is designed for all PAL regions. </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545a8a0d46749808d094da1ab0a99793e7cc" name="a64d030402f123f66f3c8360650107545a8a0d46749808d094da1ab0a99793e7cc"></a>MARKET_SPAIN&#160;</td><td class="fielddoc"><p >The ROM is designed for Spain (probably PAL). </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545ac79c37d5486d1acba069bc6bd9d958a9" name="a64d030402f123f66f3c8360650107545ac79c37d5486d1acba069bc6bd9d958a9"></a>MARKET_AUSTRAILA&#160;</td><td class="fielddoc"><p >The ROM is designed for Australia (probably PAL). </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545acc791961829a52278689ffe5ed66af66" name="a64d030402f123f66f3c8360650107545acc791961829a52278689ffe5ed66af66"></a>MARKET_SCANDINAVAIA&#160;</td><td class="fielddoc"><p >The ROM is designed for Scandinavia. </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545a1e63ff548d6963f2e8fb5cc5279cfca0" name="a64d030402f123f66f3c8360650107545a1e63ff548d6963f2e8fb5cc5279cfca0"></a>MARKET_PAL_X&#160;</td><td class="fielddoc"><p >The ROM is designed for a PAL market (just unsure which and why). </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545a67ebdd41d4961a69c36d1d9c27981217" name="a64d030402f123f66f3c8360650107545a67ebdd41d4961a69c36d1d9c27981217"></a>MARKET_PAL_Y&#160;</td><td class="fielddoc"><p >The ROM is designed for a PAL market (just unsure which and why). </p>
</td></tr>
<tr><td class="fieldname"><a id="a64d030402f123f66f3c8360650107545a9b068f04449be289cc4cd42fbcf60b8d" name="a64d030402f123f66f3c8360650107545a9b068f04449be289cc4cd42fbcf60b8d"></a>MARKET_PAL_Z&#160;</td><td class="fielddoc"><p >The ROM is designed for a PAL market (just unsure which and why). </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a7a380f5fac523be56bad42cef02d0a3d" name="a7a380f5fac523be56bad42cef02d0a3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a380f5fac523be56bad42cef02d0a3d">&#9670;&#160;</a></span>file_read_rom_header()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="rom__database_8h.html#structrom__header__t">rom_header_t</a> file_read_rom_header </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>path</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads the N64 ROM header from a file. </p>
<dl class="section see"><dt>See also</dt><dd><a href="https://n64brew.dev/wiki/ROM_Header">https://n64brew.dev/wiki/ROM_Header</a> </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Aug 10 2023 20:39:56 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>