Universal N64 flashcart menu for wide variety of devices
Go to file
Robin Jones f366bb7e78 Checkin progress
Minor changes
2023-03-31 23:57:21 +01:00
.devcontainer Remove tests from dev container 2023-02-28 17:39:39 +00:00
.github Fix build? 2023-03-13 01:49:57 +00:00
.libdragon Initial version (no UI) 2023-02-14 22:26:40 +01:00
docs Documentation improvements (#6) 2023-02-22 19:11:49 +01:00
libdragon@2413aacd5c Initial version (no UI) 2023-02-14 22:26:40 +01:00
src Checkin progress 2023-03-31 23:57:21 +01:00
tools/sc64 Makefile improvements 2023-03-13 00:46:13 +00:00
.gitattributes Add dev container. 2023-02-26 23:14:51 +00:00
.gitignore Makefile improvements 2023-03-13 00:46:13 +00:00
.gitmodules Initial version (no UI) 2023-02-14 22:26:40 +01:00
deploy.bat Fix calling deploy,bat for multiple deployments 2023-03-13 02:15:48 +00:00
Makefile Makefile improvements 2023-03-13 00:46:13 +00:00
README.md Makefile improvements 2023-03-13 00:46:13 +00:00

N64FlashcartMenu

This repo and its documentation is currently experimental and subject to change without notice.

Aims

  • Support as many N64 FlashCarts as possible.
  • Be open source using preferably MIT licensed third party licensed libraries where possible.
  • Be testable, where possible using CTest, but if not, in an emulated environment.
  • Encourage active development from community members and N64 FlashCart owners.
  • Support PixelFX N64Digital

Basic usage

SC64

Download the sc64menu.n64 ROM from the latest action run assets. Add it to the root folder on your SD card.

Create a file called config.sc64.toml.txt Add the following content, replacing the comments.

[last_rom]
    rom_path = "<!-- path to your ROM from the root of your SD card, note the quotes -->"
    save_path = "<!-- path to a save file from the root of your SD card, note the quotes -->"
    save_type = <!-- a number representing the save type (see save types) -->
    auto_load = <!-- a boolean value of `true` or `false` -->
    save_writeback = false

[last_state]
    auto_load_last_rom = false
    current_directory = "sd://"

[boot_params]
    device_type = 0;
    reset_type = 1;
    detect_tv_type = true;
    detect_cic_seed = true;

Save it to the root folder on your SD card.

Save types

0 = NONE 1 = EEPROM_4K 2 = EEPROM_16K 3 = SRAM 4 = SRAM_BANKED 5 = SRAM_128K 6 = FLASHRAM 15 = CART_HEADER

ED64

Not currently not supported, but there is an aim to do so. The aim is to replace Altra64 and ED64-UnofficialOS.

Developer documentation

Work in progress!

You can use a dev container in VSCode to ease development.

Note: the dev container currently downloads and installs the latest available libdragon from the stable branch, rather than use the repos submodule.

To deploy:

  • Download the deployer here
  • Extract and place sc64deployer.exe in the tools/sc64 directory
  • For the moment, deployment cannot happen within the dev container and you must do it from a terminal on the host.
  • Run ./deploy.bat from the terminal (in windows)
  • Toggle the N64 power switch to load the ROM.

ms-vscode.makefile-tools will help (installed automatically in dev container). TODO: it does not yet work with F5: see https://devblogs.microsoft.com/cppblog/now-announcing-makefile-support-in-visual-studio-code/ WORKAROUND: in the dev container terminal, use make directly, i.e.: make The ROM can be found in the output directory.

NOTE: a "release" version of the SC64 menu is called sc64menu.n64 and can be created for when you want to add it directly to the SDCard. This is generated by running make all or running make sc64_minify.