588 Commits

Author SHA1 Message Date
Robin Jones
cda5fac6bb Bookkeeping improvements (#260)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Cherry picked from #256 

## Motivation and Context
<!--- What does this sample do? What problem does it solve? -->
<!--- If it fixes/closes/resolves an open issue, please link to the
issue here -->
keeps changes autonomous.

## How Has This Been Tested?
<!-- (if applicable) -->
<!--- Please describe in detail how you tested your sample/changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->

## Screenshots
<!-- (if appropriate): -->

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] 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:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [ ] 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.

<!--- It would be nice if you could sign off your contribution by
replacing the name with your GitHub user name and GitHub email contact.
-->
Signed-off-by: GITHUB_USER <GITHUB_USER_EMAIL>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- New Features
  - Clearer error messages when ROM or disk info fails to load.
- More robust history/favorites loading using item IDs with validation
and helpful feedback.

- Bug Fixes
- Prevents loading from invalid or empty history/favorite entries by
adding bounds and content checks.
  - Ensures selection state resets after use to avoid unintended loads.

- Refactor
- Internal renaming and type adjustments to support ID-based selection
and larger lists.

- Chores
- Minor include/order cleanups and added debug logs (no user-visible
impact).

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-22 23:02:43 +01:00
Robin Jones
c0c0301579 Update libdragon 2025-08-22 21:25:25 +01:00
Robin Jones
c977d7603a Update libdragon 2025-08-19 01:12:15 +01:00
Robin Jones
29c8382b3f Revert "Update libdragon"
This reverts commit f470243d91.
2025-08-18 23:13:46 +01:00
Robin Jones
f470243d91 Update libdragon 2025-08-18 22:56:53 +01:00
Robin Jones
7bb64c2ad6 Improve disk type comments 2025-08-18 22:56:53 +01:00
Robin Jones
164cd581df Update libdragon 2025-08-16 16:49:47 +01:00
Robin Jones
58d89f6248 Create FUNDING.yml 2025-07-24 16:04:07 +01:00
Robin Jones
311d1998f6 Move ui_component_value_editor
to common.c.
Improvements can continue from there.
2025-07-22 18:42:08 +01:00
Robin Jones
48b3eb93b7 Improve variable names
in rtc_ui_component_editdatetime_draw
2025-07-22 18:17:51 +01:00
Robin Jones
cae508b7e0 Improve RTC value editor 2025-07-22 17:50:44 +01:00
Robin Jones
40a910d902 Update CHANGELOG.md
Add latest bug fix commits.
2025-07-22 13:18:14 +01:00
lategator
e5159104fd Fix missing enum case for 1 mbit SRAM saves (#253)
## Description
This allows the menu to boot ROMs with 1 MBit saves.

## Motivation and Context
Without this I get "Error occured during save loading" when trying to
load a ROM using this save type in the header.

## How Has This Been Tested?
From a libdragon install, run `ed64romconfig --savetype sram1m file.z64`
on any ROM to change the header byte, then try to load it in the menu.
With the patch, the ROM should load successfully. Sample using a test
ROM here:

[test_sram1m.zip](https://github.com/user-attachments/files/21261604/test_sram1m.zip)

## Screenshots
None

## Types of changes
- [ ] Improvement (non-breaking change that adds a new feature)
- [X] 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:
- [X] 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.
- [X] All new and existing tests passed.

Signed-off-by: lategator <212063191+lategator@users.noreply.github.com>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Improved compatibility for games using the 1Mbit SRAM save type,
ensuring proper save data handling.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Robin Jones <networkfusion@users.noreply.github.com>
2025-07-22 12:12:34 +00:00
Robin Jones
002b9291f7 Update libdragon 2025-07-22 12:49:55 +01:00
Giovanni Bajo
330263a02f boot: reset value of FCR31 to the boot value (0) (#254)
This improves emulation of cold boot, as otherwise the FPU might start
in an unexpected state.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Improved initialization procedures during system boot for enhanced
stability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-22 12:49:01 +01:00
Robin Jones
bca44665c8 Improve ability to debug remotely 2025-07-15 23:24:45 +01:00
Robin Jones
f74f24be2b Add red font colour 2025-07-13 23:39:50 +01:00
Robin Jones
2d788348f7 Minor improvements 2025-07-13 22:16:17 +01:00
Robin Jones
0b9f34f2fe Remove metadata descriptions
Until we can find a better way.
2025-07-11 12:17:03 +01:00
Robin Jones
2f5f7a861f Cut the fat for rom_description
knowing full well that there is a memory leak somewhere else!
2025-07-09 22:16:11 +01:00
Robin Jones
a4835366c7 Update rom_info.c
Use strlcpy for rom metadata.description.
2025-07-09 19:57:45 +01:00
Robin Jones
9aabc30ef5 Add entry types for cheat and patch to browser
Improve enum ordering.
2025-07-09 19:39:34 +01:00
Robin Jones
5302d00e98 Improvements to custom ROM configuration settings
- Add FEATURE_CHEATS_GUI_ENABLED
	- Add FEATURE_PATCHER_GUI_ENABLED
2025-07-09 18:36:08 +01:00
Robin Jones
9ce37ac8e6 Add file info support for cheaters. 2025-07-09 15:02:08 +01:00
Robin Jones
03d0d76ce8 Improve cheats documentation 2025-07-09 14:29:52 +01:00
Robin Jones
af78eecb78 Add emulators to readme 2025-07-09 13:49:28 +01:00
Robin Jones
d2d51d349b Add debugging string to ensure prompt. 2025-07-09 13:12:59 +01:00
Robin Jones
9507dcb6cd Update libdragon 2025-07-09 12:21:48 +01:00
Robin Jones
d7f533a10d Update libdragon 2025-07-09 12:20:04 +01:00
Robin Jones
b91d8364de Merge branch 'develop' of https://github.com/Polprzewodnikowy/N64FlashcartMenu into develop 2025-07-09 12:19:48 +01:00
Robin Jones
8faff6a2cf Update libdragon 2025-07-09 12:04:52 +01:00
Robin Jones
6c79893d3b Add font style to ui_components_actions_bar_text_draw 2025-07-09 11:50:47 +01:00
Robin Jones
b81b34a47c Add font style to ui_components_main_text_draw 2025-07-09 11:37:20 +01:00
Robin Jones
7b68b2fcfa Update 99_developer_guide.md
Add debug example.
Improve tips.
Improvements for readability.
2025-07-07 21:01:47 +01:00
Robin Jones
b1bd92e01e Update 99_developer_guide.md
Add debug example
2025-07-03 23:16:18 +01:00
Robin Jones
4a8cd3548f Minor documentation improvements 2025-07-03 22:23:25 +01:00
Robin Jones
9c4942bd98 Update 99_developer_guide.md
Improve documentation for running and debugging on a remote LAN device (such as a RPI).
2025-07-03 22:15:52 +01:00
Robin Jones
b868166722 Update 65_experimental.md
Improve metadata description for filenames.
2025-07-03 21:18:11 +01:00
Robin Jones
afc1a76579 Update 99_developer_guide.md 2025-07-02 00:13:32 +01:00
Robin Jones
558d9b591e Update libdragon 2025-07-01 22:55:51 +01:00
Robin Jones
185f68512c Update CHANGELOG.md 2025-07-01 22:50:26 +01:00
Robin Jones
cb2cf1f221 Improve experimental metadata subsystem
* Add the ability to display ESRB age ratings.
* Improve ROM description file loading (it is now able to load files with upto 2000 chars, but still only displays the first 300).
2025-07-01 21:35:30 +01:00
Robin Jones
0244897f47 Update libdragon 2025-06-25 18:34:44 +01:00
Suprapote
3a43169c48 Progress bar messages & settings reset (#241)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->

* Add a option to reset the settings to its default values.
* Display state message in the loading bar.

## Motivation and Context
<!--- What does this sample do? What problem does it solve? -->
<!--- If it fixes/closes/resolves an open issue, please link to the
issue here -->

this
[issue](https://github.com/Polprzewodnikowy/N64FlashcartMenu/issues/177)
and [this
one](https://github.com/Polprzewodnikowy/N64FlashcartMenu/issues/190)

## How Has This Been Tested?
<!-- (if applicable) -->
<!--- Please describe in detail how you tested your sample/changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->

On SC64

## Screenshots
<!-- (if appropriate): -->


https://github.com/user-attachments/assets/6d57552a-26b1-4def-88d0-8f9d1136d2ef



## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] 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:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [ ] 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.

<!--- It would be nice if you could sign off your contribution by
replacing the name with your GitHub user name and GitHub email contact.
-->
Signed-off-by: GITHUB_USER <GITHUB_USER_EMAIL>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
- Added the ability to reset settings to their default values through a
new reset option in the settings menu.
- Introduced a confirmation prompt to prevent accidental resetting of
settings.
- Added visual feedback and instructions for resetting settings,
including an action bar hint and confirmation message box.

- **Improvements**
- Enhanced loading screens for images, ROMs, and disks by displaying
clear, centered status messages during loading.
- Provided a specific warning message when loading a byteswapped ROM,
informing users of potential delays.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Robin Jones <networkfusion@users.noreply.github.com>
2025-06-25 18:10:29 +01:00
Robin Jones
64c1336f1b [develop] browser improvements (#251)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Improve types used in for loops and other variables in file browser.

## Motivation and Context
<!--- What does this sample do? What problem does it solve? -->
<!--- If it fixes/closes/resolves an open issue, please link to the
issue here -->

## How Has This Been Tested?
<!-- (if applicable) -->
<!--- Please describe in detail how you tested your sample/changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->

## Screenshots
<!-- (if appropriate): -->

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] 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:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [ ] 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.

<!--- It would be nice if you could sign off your contribution by
replacing the name with your GitHub user name and GitHub email contact.
-->
Signed-off-by: GITHUB_USER <GITHUB_USER_EMAIL>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Refactor**
- Improved internal code consistency to enhance reliability of menu
browsing and scrolling behavior. No visible changes to end-user
functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-25 18:06:06 +01:00
Robin Jones
cba1a619b3 Merge branch 'main' into develop 2025-06-13 19:42:37 +01:00
Robin Jones
80f235e75b Update workflow templates 2025-06-13 19:35:53 +01:00
Robin Jones
3dfc1500e7 Merge branch 'main' into develop 2025-06-13 19:31:45 +01:00
Robin Jones
9e05af29a3 Update 99_developer_guide.md 2025-06-13 19:26:57 +01:00
Robin Jones
03b8e40f52 Update 17_64dd.md 2025-06-13 19:24:10 +01:00