Universal N64 flashcart menu for wide variety of devices
Go to file
Robin Jones 91a6ae7a33 Improve dev loadtime
Config files need further thought.
2023-03-01 02:39:53 +00:00
.devcontainer Remove tests from dev container 2023-02-28 17:39:39 +00:00
.github Work on deploy 2023-02-27 03:29:36 +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 dev loadtime 2023-03-01 02:39:53 +00:00
tools/sc64 Remove tests from dev container 2023-02-28 17:39:39 +00:00
.gitattributes Add dev container. 2023-02-26 23:14:51 +00:00
.gitignore Improve deployability 2023-02-28 18:30:10 +00:00
.gitmodules Initial version (no UI) 2023-02-14 22:26:40 +01:00
build.sh Initial version (no UI) 2023-02-14 22:26:40 +01:00
deploy.bat Improve deployment text 2023-02-28 21:03:14 +00:00
Makefile Remove libdragon-extensions 2023-03-01 02:14:58 +00:00
README.md Update readme. 2023-02-28 18:48:10 +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.

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

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.