Universal N64 flashcart menu for wide variety of devices
Go to file
2023-03-12 23:46:19 +00:00
.devcontainer Remove tests from dev container 2023-02-28 17:39:39 +00:00
.github makefile improvements 2023-03-12 23:19:28 +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 Improve save types 2023-03-12 23:46:19 +00:00
tools/sc64 Rename sc64 finalize to minify 2023-03-12 21:36:57 +00:00
.gitattributes Add dev container. 2023-02-26 23:14:51 +00:00
.gitignore Rename sc64 finalize to minify 2023-03-12 21:36:57 +00:00
.gitmodules Initial version (no UI) 2023-02-14 22:26:40 +01:00
deploy.bat Fix deploy 2023-03-12 23:29:36 +00:00
Makefile makefile improvements 2023-03-12 23:19:28 +00:00
README.md Improve save types 2023-03-12 23:46:19 +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 sc64.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 make all The ROM can be found in the build directory.

NOTE: a "release" version of the ROM is called sc64menu.n64 is created for when you want to add it directly to the SDCard.