Skip to content

Conversation

@Suprapote
Copy link
Contributor

@Suprapote Suprapote commented Nov 21, 2025

Description

  • Fix saves on NEON64
  • 64DD Detection on Flashcart info
  • Make saves folder name a global constant

Motivation and Context

TODO comments on code

How Has This Been Tested?

Ares emulator

Screenshots

Types of changes

  • Improvement (non-breaking change that adds a new feature)
  • Bug fix (fixes an issue)
  • Breaking change (breaking change)
  • Documentation Improvement
  • Config and build (change in the configuration and build system, has no impact on code or features)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

You agree with the license terms and that other license types may be granted with permission of the original N64FlashcartMenu project license holders.

Signed-off-by: GITHUB_USER <GITHUB_USER_EMAIL>

- Fix saves on NEON64
- 64DD Detection on Flashcar info
- Make saves folder global
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 21, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Suprapote Suprapote changed the title mini fixes [Develop] Mini fixes Nov 21, 2025
// Save states in newer versions might require a different save type.
save_type = FLASHCART_SAVE_TYPE_SRAM_BANKED;
// Tested against https://github.com/hcs64/neon64v2
save_type = FLASHCART_SAVE_TYPE_SRAM_1MBIT;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Suprapote Please can you test this thoroughly, and ensure you update the documentation.

Copy link
Contributor Author

@Suprapote Suprapote Nov 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The last libdragon update on develop branch makes the games don't load (N64, 64DD, NES, SNES, etc), it turns into a black screen

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issues with ROM loading should now be fixed on the latest commit to develop.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a note that we need to think about how to handle this change, since saves against the previous emulator get broken, and we cannot trust that users read documentation.

path_push(path, info.d_name);
// Skip the "saves" directory if it is hidden (this is case sensitive)
if (strcmp(info.d_name, "saves") == 0) { // TODO: use SAVES_SUBDIRECTORY from cart_load.c
if (strcmp(info.d_name, SAVES_SUBDIRECTORY) == 0) {
Copy link
Collaborator

@networkfusion networkfusion Nov 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be a settings option, rarther than just blindly make it global, as it will both make current users with current folder structure suffer and not be advantagous for some.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would rather it be split into a seperate PR.

Copy link
Collaborator

@networkfusion networkfusion Nov 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, it might be your use of saying "global" (rather than something like use define save sub directory name constant)... Still, seperate PR still stands.

* @return true if the 64DD is connected, false otherwise.
*/
static bool is_64dd_connected (void) {
bool is_64dd_connected (void) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have been thinking about this change, and think it is worth while to to ask if physical dd hardware detection can be added to the libdragon SDK. It would be advantagous over this change. Please feel free to suggest it in the N64brew discord.

static const char *n64_rom_extensions[] = { "z64", "n64", "v64", "rom", NULL };
static const char *patch_extensions[] = { "bps", "ips", "aps", "ups", "xdelta", NULL };
// TODO: "eep", "sra", "srm", "fla" could be used if transfered from different flashcarts.
static const char *save_extensions[] = { "sav", NULL };
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These were TODO as there is no current way to convert them, so users will have invalid saves if loaded from an emu / ED64.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants