mirror of
https://github.com/Polprzewodnikowy/N64FlashcartMenu.git
synced 2025-02-22 04:37:17 +01:00
229 lines
13 KiB
HTML
229 lines
13 KiB
HTML
<!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.8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>N64FlashcartMenu: N64FlashcartMenu</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.8 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&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><div class="header">
|
|
<div class="headertitle"><div class="title">N64FlashcartMenu </div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="textblock"><p><a class="anchor" id="md_README"></a> <img src="https://github.com/polprzewodnikowy/N64FlashcartMenu/actions/workflows/build.yml/badge.svg" alt="Build" style="pointer-events: none;" class="inline"/></p>
|
|
<h1><a class="anchor" id="autotoc_md0"></a>
|
|
N64 Flashcart Menu</h1>
|
|
<p>An open source menu for N64 flashcarts.</p>
|
|
<h2><a class="anchor" id="autotoc_md1"></a>
|
|
Supported Flashcarts</h2>
|
|
<h3><a class="anchor" id="autotoc_md2"></a>
|
|
Fully supported</h3>
|
|
<ul>
|
|
<li>SummerCart64</li>
|
|
<li>64Drive</li>
|
|
</ul>
|
|
<h3><a class="anchor" id="autotoc_md3"></a>
|
|
Work in Progress</h3>
|
|
<ul>
|
|
<li>ED64</li>
|
|
<li>ED64P</li>
|
|
</ul>
|
|
<h2><a class="anchor" id="autotoc_md4"></a>
|
|
Current (notable) menu features</h2>
|
|
<ul>
|
|
<li>Fully Open Source.</li>
|
|
<li>Loads all known N64 games (including iQue and Aleck64 ROMs), even if they are byteswapped.</li>
|
|
<li>Fully emulates the 64DD and loads 64DD disks (SummerCart64 only).</li>
|
|
<li>Emulator support (NES, SNES, GB, GBC, SMS, GG, CHF) ROMs.</li>
|
|
<li>N64 ROM box image support.</li>
|
|
<li>Background image (PNG) support.</li>
|
|
<li>Comprehensive ROM save database (including homebrew headers).</li>
|
|
<li>Comprehensive ROM information display.</li>
|
|
<li>Real Time Clock support.</li>
|
|
<li>Music playback (MP3).</li>
|
|
<li>Menu sound effects.</li>
|
|
<li>N64 ROM autoload.</li>
|
|
</ul>
|
|
<h2><a class="anchor" id="autotoc_md5"></a>
|
|
Documentation</h2>
|
|
<ul>
|
|
<li><a class="el" href="md_docs_200__getting__started__sd.html">Getting started guide</a></li>
|
|
<li><a class="el" href="md_docs_201__menu__controls.html">Menu controls</a></li>
|
|
<li><a class="el" href="md_docs_207__menu__customization.html">Menu customization</a></li>
|
|
<li><a class="el" href="md_docs_299__developer__guide.html">Developer guide</a></li>
|
|
</ul>
|
|
<h2><a class="anchor" id="autotoc_md6"></a>
|
|
Video showcase (as of Oct 12 2023)</h2>
|
|
<p><a href="http://www.youtube.com/watch?v=6CKImHTifDA" title="N64FlashcartMenu Showcase (Oct 12 2023)"><img src="http://img.youtube.com/vi/6CKImHTifDA/0.jpg" alt="N64FlashcartMenu Showcase" class="inline"/></a></p>
|
|
<h2><a class="anchor" id="autotoc_md7"></a>
|
|
Aims</h2>
|
|
<ul>
|
|
<li>Support as many N64 FlashCarts as possible.</li>
|
|
<li>Be open source, using permissively licensed third-party libraries.</li>
|
|
<li>Be testable, using unit and smoke tests in ares emulated environment.</li>
|
|
<li>Encourage active development from community members and N64 FlashCart owners.</li>
|
|
<li>Support as many common mods and features as possible.</li>
|
|
</ul>
|
|
<h2><a class="anchor" id="autotoc_md8"></a>
|
|
Experimental features</h2>
|
|
<p>These features are subject to change:</p>
|
|
<h3><a class="anchor" id="autotoc_md9"></a>
|
|
N64 ROM autoload</h3>
|
|
<p>To use the autoload function, while on the <code>N64 ROM information</code> display, press the <code>R</code> button on your joypad and select the <code>Set ROM to autoload</code> option. When you restart the console, it will now only load the selected ROM rather than the menu. The autoload setting is stored in <code>config.ini</code> and persists until changed. This feature may slightly increase boot time as the menu needs to check for the Start button state. NOTE: To return to the menu, hold the joypad <code>Start</code> button while powering on the console.</p>
|
|
<h3><a class="anchor" id="autotoc_md10"></a>
|
|
GamePak sprites</h3>
|
|
<p>To use N64 GamePak sprites, place PNG files within the <code>sd:/menu/boxart/</code> folder.</p>
|
|
<h4><a class="anchor" id="autotoc_md11"></a>
|
|
Supported sprites</h4>
|
|
<p>These must be <code>PNG</code> files that use the following dimensions:</p><ul>
|
|
<li>Standard N64 GamePak boxart sprites: 158x112</li>
|
|
<li>Japanese N64 GamePak boxart sprites: 112x158</li>
|
|
<li>64DD boxart sprites: 129x112</li>
|
|
</ul>
|
|
<p>Supported PNG formats:</p><ul>
|
|
<li>RGB/RGBA color formats</li>
|
|
<li>8-bit color depth</li>
|
|
</ul>
|
|
<p>They will be loaded by directories using each character (case-sensitive) of the full 4 character Game Code (as identified in the menu ROM information). i.e. for GoldenEye NTSC USA (NGEE), this would be <code>sd:/menu/boxart/N/G/E/E/boxart_front.png</code>. i.e. for GoldenEye PAL (NGEP), this would be <code>sd:/menu/boxart/N/G/E/P/boxart_front.png</code>.</p>
|
|
<p>To improve compatibility between regions (as a fallback), you may exclude the region ID (last matched directory) for GamePaks to match with 3 letter IDs instead: i.e. for GoldenEye, this would be <code>sd:/menu/boxart/N/G/E/boxart_front.png</code>.</p>
|
|
<p><b>Warning</b>: Excluding the region ID may show the wrong boxart. <b>Note</b>: For future support, boxart sprites should also include:</p><ul>
|
|
<li><code>boxart_back.png</code></li>
|
|
<li><code>boxart_top.png</code></li>
|
|
<li><code>boxart_bottom.png</code></li>
|
|
<li><code>boxart_left.png</code></li>
|
|
<li><code>boxart_right.png</code></li>
|
|
</ul>
|
|
<p>As a starting point, here is a link to a boxart pack following the new structure, including <code>boxart_front.png</code> and fallback images:</p><ul>
|
|
<li><a href="https://drive.google.com/file/d/1IpCmFqmGgGwKKmlRBxYObfFR9XywaC6n/view?usp=drive_link">Link</a></li>
|
|
</ul>
|
|
<h4><a class="anchor" id="autotoc_md12"></a>
|
|
Compatibility mode</h4>
|
|
<p>If you cannot yet satisfy the correct boxart layout, The menu still has <b>deprecated</b> support for filenames containing the Game ID.</p>
|
|
<p><b>Note:</b> This will add a noticeable delay for displaying parts of the menu.</p>
|
|
<p>Each file must be named according to the 2,3 or 4 letter GamePak ID (matched in this order). i.e.</p><ul>
|
|
<li>for GoldenEye 4 letters, this would be <code>sd:/menu/boxart/NGEE.png</code> and/or <code>sd:/menu/boxart/NGEP.png</code>.</li>
|
|
<li>for GoldenEye 3 letters, this would be <code>sd:/menu/boxart/NGE.png</code>.</li>
|
|
<li>for GoldenEye 2 letters, this would be <code>sd:/menu/boxart/GE.png</code>.</li>
|
|
</ul>
|
|
<p>As a starting point, here are some links to boxart packs:</p><ul>
|
|
<li><a href="https://mega.nz/file/KyJR0B6B#ERabLautAVPaqJTIdBSv4ghbudNhK7hnEr2ZS1Q6ub0">Japan Boxart</a></li>
|
|
<li><a href="https://mega.nz/file/rugAFYSQ#JHfgCU2amzNVpC4S6enP3vg--wtAAwsziKa7cej6QCc">American Boxart</a></li>
|
|
<li><a href="https://mega.nz/file/OmIV3aAK#kOWdutK1_41ffN64R6thbU7HEPR_M9qO0YM2mNG6RbQ">European Boxart</a></li>
|
|
<li><a href="https://mega.nz/file/ay5wQIxJ#k3PF-VMLrZJxJTr-BOaOKa2TBIK7c2t4zwbdshsQl40">64DD Boxart</a></li>
|
|
</ul>
|
|
<h3><a class="anchor" id="autotoc_md13"></a>
|
|
Menu Settings</h3>
|
|
<p>The Menu creates a <code>config.ini</code> file in <code>sd:/menu/</code> which contains various settings that are used by the menu. If required, you can manually adjust the file on the SD card using your computer.</p>
|
|
<h2><a class="anchor" id="autotoc_md14"></a>
|
|
Flashcart specific</h2>
|
|
<h3><a class="anchor" id="autotoc_md15"></a>
|
|
SC64</h3>
|
|
<ul>
|
|
<li>Ensure the cart has the latest <a href="https://github.com/Polprzewodnikowy/SummerCart64/releases/latest">firmware</a> installed.</li>
|
|
<li>Download the latest <code>sc64menu.n64</code> file from the <a href="https://github.com/Polprzewodnikowy/N64FlashcartMenu/releases/">releases</a> page, then put it in the root directory of your SD card.</li>
|
|
</ul>
|
|
<h3><a class="anchor" id="autotoc_md16"></a>
|
|
64drive</h3>
|
|
<ul>
|
|
<li>Ensure the cart has the latest <a href="https://64drive.retroactive.be/support.php">firmware</a> installed.</li>
|
|
<li>Download the latest <code>menu.bin</code> file from the <a href="https://github.com/Polprzewodnikowy/N64FlashcartMenu/releases/">releases</a> page, then put it in the root directory of your SD card.</li>
|
|
</ul>
|
|
<h3><a class="anchor" id="autotoc_md17"></a>
|
|
ED64 - WIP - UNTESTED AND UNSUPPORTED - USE AT OWN RISK</h3>
|
|
<p>Currently not supported, but work is in progress (See <a href="https://github.com/Polprzewodnikowy/N64FlashcartMenu/pulls">PRs</a>). <b>Warning</b>: The menu may be able to load ROMs but cannot guarantee save functionality. Existing saves may be corrupted.</p>
|
|
<h4><a class="anchor" id="autotoc_md18"></a>
|
|
ED64 (Vseries)</h4>
|
|
<p>The aim is to reach feature parity with <a href="https://github.com/n64-tools/ED64-UnofficialOS-binaries">ED64-UnofficialOS</a> / <a href="https://krikzz.com/pub/support/everdrive-64/v2x-v3x/os-bin/">ED64-OfficialOS</a>. Download the <code>OS64.v64</code> ROM from the latest [action run - assets] and place it in the <code>/ED64</code> folder.</p>
|
|
<h4><a class="anchor" id="autotoc_md19"></a>
|
|
ED64 (X series)</h4>
|
|
<p>X Series support is currently awaiting fixes. Please use the official <a href="https://krikzz.com/pub/support/everdrive-64/x-series/OS/">OS</a> for now.</p>
|
|
<h4><a class="anchor" id="autotoc_md20"></a>
|
|
ED64 (P clone)</h4>
|
|
<p>Download the <code>OS64P.v64</code> ROM from the latest [action run - assets] and place it in the <code>/ED64P</code> folder. The aim is to reach feature parity with <a href="https://github.com/networkfusion/altra64">Altra64</a></p>
|
|
<h1><a class="anchor" id="autotoc_md21"></a>
|
|
Open source software and licenses used</h1>
|
|
<ul>
|
|
<li><a href="https://github.com/DragonMinded/libdragon">libdragon</a> (UNLICENSE License)</li>
|
|
<li><a href="https://github.com/randy408/libspng">libspng</a> (BSD 2-Clause License)</li>
|
|
<li><a href="https://github.com/univrsal/mini.c">mini.c</a> (BSD 2-Clause License)</li>
|
|
<li><a href="https://github.com/lieff/minimp3">minimp3</a> (CC0 1.0 Universal)</li>
|
|
<li><a href="https://github.com/richgel999/miniz">miniz</a> (MIT License)</li>
|
|
</ul>
|
|
<h2><a class="anchor" id="autotoc_md22"></a>
|
|
Sounds</h2>
|
|
<p>See <a href="https://pixabay.com/en/service/license-summary/">License</a> for the following sounds:</p><ul>
|
|
<li><a href="https://pixabay.com/en/sound-effects/click-buttons-ui-menu-sounds-effects-button-7-203601/">Cursor sound</a> by Skyscraper_seven (Free to use)</li>
|
|
<li><a href="https://pixabay.com/en/sound-effects/menu-button-user-interface-pack-190041/">Actions (Enter, Back) sound</a> by Liecio (Free to use)</li>
|
|
<li><a href="https://pixabay.com/en/sound-effects/error-call-to-attention-129258/">Error sound</a> by Universfield (Free to use) </li>
|
|
</ul>
|
|
</div></div><!-- PageDoc -->
|
|
</div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated on Sat Jan 4 2025 18:16:45 for N64FlashcartMenu by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
|
</small></address>
|
|
</body>
|
|
</html>
|