<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
Update the libdragon submodule which includes changes to RTC
## 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 -->
linked to #207
## 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
- [x] 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.
<!--- 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>
<!--- Provide a general summary of your changes in the Title above -->
## Description
Hides:
* `desktop.ini` - Windows Explorer directory settings
* `Thumbs.db` - Windows Explorer image thumbnails
* `.DS_Store` - macOS Finder directory settings
* `._`-prefixed files - macOS "AppleDouble" metadata
## Motivation and Context
[N64brew sc64-forum post: File list shows 4096 B "Dummy
Files"?](https://discord.com/channels/205520502922543113/1337028964606283806)
## How Has This Been Tested?
On SC64 with an SD card containing all of the offending files in the
root and in subdirectories.
## Screenshots
Tough to prove a negative here with a screenshot; here's a video:
https://github.com/user-attachments/assets/f1843b29-dee0-442f-bf9a-897a69c39169
## 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)
- [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:
<!--- 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! -->
- [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.
- [ ] All new and existing tests passed.
<!--- 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: meeq <me@christopherbonhage.com>
Co-authored-by: Robin Jones <networkfusion@users.noreply.github.com>
Fix for crashing when deleting a favorite
## Description
Fixed a bounds check that allowed the copy loop to go out of bounds.
## 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)
- [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:
<!--- 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! -->
- [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.
- [ ] All new and existing tests passed.
<!--- 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>
## Description
This pull request adds a file parser for cheat code support.
If a file named the same as the selected rom with the extension .cht is
found, it will attempt to parse the file for cheat codes and place them
in `menu->boot_params->cheat_list` per the cheat backend API.
Cheat files should be formatted this way:
```
# Super mario 64 infinite lives
8033B21D 0064
# 120 stars
80207723 0001
8020770B 00C7
50001101 0000
8020770C 00FF
```
The parser ignores lines that start with a '#', are under 12 characters
or over 15 characters. Every other line should be valid cheat code
inputs with the code on the left, and the value on the right separated
by a space.
## Motivation and Context
<!--- What does this sample do? What problem does it solve? -->
Adds some initial cheat support in the frontend to allow users to modify
their games more easily, and take advantage of the backend API.
## How Has This Been Tested?
Tested on real hardware with a Summercart64 and Super Mario 64.
## 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)
- [x] 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! -->
- [x] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
<!--- 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: XLuma
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added support for loading and managing cheat codes for N64 ROMs
- Introduced ability to enable/disable cheats for specific ROMs
- Added file type recognition for `.cht` cheat files
- **Documentation**
- Updated documentation with details about cheat code support, including
Datel cart compatibility and supported code types
- **Bug Fixes**
- Implemented comprehensive error handling for cheat file loading
- Added file parsing support for cheat codes
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Robin Jones <networkfusion@users.noreply.github.com>
## Description
- Made sure the titles are identical between the index and each of the
page's headers.
- Removed "Joypad" as it's not a proper word used on N64's public-facing
reference documents.
- Added some of the writing included on the main branch.
- Added code tags to some button names I missed out.
- Other uppercasing fixes and nitpicks.
## Motivation and Context
Typo fixing, leaving the docs polished to the Nth degree.
## 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)
- [x] 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.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
## Description
Proofread and partial rewrite of the docs.
## Motivation and Context
Adding more information written in an user-friendly way (not just
developer-friendly way), writing materials that were left to do,
cleaning up existing materials.
## 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)
- [x] 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.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Updated multiple documentation files with improved clarity,
consistency, and formatting
- Refined section titles and headings across various documentation pages
- Enhanced explanations and instructions for N64FlashcartMenu features
- Improved navigation links and added more descriptive return-to-index
references
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Robin Jones <networkfusion@users.noreply.github.com>
<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
Adds settings for:
* Schema version
* First Run
* ROM loading progress 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 -->
They will be required in the near future.
Certain users want to turn the ROM loading progress bar off (for some
reason).
## 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.
<!--- 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>
<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
Reworks and splits the documentation.
## 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 -->
Improves documentation to be more readable.
## 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)
- [x] 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.
<!--- 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
Based on the comprehensive summary, here are the release notes:
- **New Features**
- Added ROM history and favorites functionality
- Introduced tabbed interface for file browsing
- Implemented ROM information descriptions
- Added support for ROM configuration overrides
- Enhanced menu settings management
- **Documentation**
- Expanded user guide and documentation
- Added sections on ROM patches, controller PAKs, and emulator support
- Improved flashcart and menu customization instructions
- **Chores**
- Updated documentation structure
- Refined code organization and naming conventions
- Updated subproject references
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
Reworks and splits the documentation.
## 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 -->
Improves documentation to be more readable.
## 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)
- [x] 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.
<!--- 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
Based on the comprehensive summary, here are the release notes:
- **New Features**
- Added ROM history and favorites functionality
- Introduced tabbed interface for file browsing
- Implemented ROM information descriptions
- Added support for ROM configuration overrides
- Enhanced menu settings management
- **Documentation**
- Expanded user guide and documentation
- Added sections on ROM patches, controller PAKs, and emulator support
- Improved flashcart and menu customization instructions
- **Chores**
- Updated documentation structure
- Refined code organization and naming conventions
- Updated subproject references
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
Add basic support for ED64 X series
Only loads ROM's (no save support)
## 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: -->
- [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.
<!--- 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**
- Added support for the ED64 Xseries flashcart, including initialization
and file management capabilities.
- **Bug Fixes**
- Improved clarity in flashcart initialization logic, ensuring accurate
handling of different flashcart types.
- **Documentation**
- Enhanced documentation comments across the codebase for better clarity
on functionalities and features.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
Improve the bug report template.
## 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 -->
Recently reported issues lacked the required content for diagnostics.
## 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.
<!--- 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
- **Documentation**
- Updated GitHub issue bug report template with new optional input
fields
- Added fields for N64 console region and configuration file details to
help improve issue reporting clarity
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Contains the code required for showing history and favourites.
There are now 3 tabs at the top of the browser display: Files, History,
Favorites.
When you launch a game, either rom or disk, the file path for those will
be written out to an ini file called `history.ini`,
which can then be reloaded quickly from the History tab
Roms and Disks can be added as favorites.
Select the rom or Disk as normal, then bring up the options menu (R).
an option to "add to favorites" will be on the new list.
Those can then be selected from the favorites tab.
Currently there are limits to the number of history and favorites and
that is set to 8.
## Motivation and Context
Issue request for last game history and favorites from the menu GUI.
## How Has This Been Tested?
Tested locally on Supercart 64 & SummerCart64,
Tested last loading just a rom, just a disk and a disk and rom
Tested History, loading rom, disk and rom and disk.
Tested favorites using F-Zero X and expansion.
## 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! -->
- [x] My code follows the code style of this project.
- [x] 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.
<!--- 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>
---------
Co-authored-by: Robin Jones <networkfusion@users.noreply.github.com>
Fixes some typos
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Corrected grammatical errors and typos in README.md
- Fixed capitalization and formatting issues
- Improved overall readability of documentation
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Robin Jones <networkfusion@users.noreply.github.com>
<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
Changed the ROM file that provides the "override" settings to be a more
generic file that is able to handle more situations related to the ROM
information.
The file can now contain the ROM description, and also contains whether
the ROM enables GS and patch support (for future use).
To use it, a "group name" needs adding to the ROM specific `ini`:
```
[metadata]
desscription=This is the description of the ROM I wish to load.
```
which if availiable, is added to the ROM load screen.
NOTE: the underlying file parser only supports `LF` line endings. `CRLF`
line endings will not work.
Old ROM ini files will probably be broken as the `override` parameters
have also been added to a "group name" `[custom_boot]`, so you would
either need to manually adjust the file or re 'set' the overridden
parameters in the menu.
## 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 -->
Works towards a "descriptive" ROM load system.
## 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. -->
Locally on an SC64.
## Screenshots
<!-- (if appropriate): -->
![image](https://github.com/user-attachments/assets/5257d624-acc8-40d4-bbc2-e0c3996a6962)
![image](https://github.com/user-attachments/assets/31caa489-1558-432c-976d-7090935e57e1)
![image](https://github.com/user-attachments/assets/a419ce5b-a00b-4360-9887-6a6e27b9ffbf)
## 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)
- [x] 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.
<!--- 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**
- Enhanced ROM information handling with new metadata fields including
description, cheats enabled, and patches enabled.
- Improved display of ROM metadata in the user interface, showing
dynamic descriptions and the status of cheats and patches.
- **Bug Fixes**
- Resolved issues with displaying static ROM descriptions by
implementing dynamic formatting.
- **Documentation**
- Updated comments and structure definitions to clarify the purpose of
new fields and functions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Documentaion has been rewritten/improved/expanded in certain areas
including typo and formatting fixes.
## Motivation and Context
Tidier documentation, to make things a bit more dumb-proof for end
users.
## How Has This Been Tested?
Not applicable.
## Types of changes
- [ ] Improvement (non-breaking change that adds a new feature)
- [ ] Bug fix (fixes an issue)
- [ ] Breaking change (breaking change)
- [x] 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.
- [x] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
Signed-off-by: IlDucci
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **Documentation**
- Updated documentation for initial SD card setup, menu controls, and
menu customization.
- Improved clarity and readability of instructions.
- Refined section headings and formatting across multiple documentation
files.
- Added new sections explaining menu settings, ROM information, and
control details.
- Emphasized warnings regarding filename compatibility and save file
issues.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
This PR merges `develop` and `main` for a tagged release so it can be
used by most users (utilising debug flags where required).
## Release Notes
- **New Features**
- Introduced menu sound effects for enhanced user experience (the
default is off).
- Added N64 ROM autoload functionality, allowing users to set a specific
ROM to load automatically.
- Added menu boot hotkey (hold `start` to return to menu when autoload
is enabled).
- Added context menu and settings management options GUI for managing
various settings in `config.ini`.
- Added functionality for editing the real-time clock (RTC) within the
RTC menu view.
- Improved flashcart info view for showing supported flashcart features
and version.
- Enhanced UI components with new drawing functions and improved
organization.
- Added emulator support for `SMS`, `GG`, and `CHF` ROMs.
- Enhanced joypad input handling for menu actions, improving
responsiveness.
- Optimized boxart image loading from filesystem.
- Improved various text to make the functionality more clear.
- **Bug Fixes**
- Improved error handling in multiple areas, particularly in save
loading and ROM management.
- Enhanced memory management to prevent potential leaks during error
conditions.
- Fixed text flickering in certain circumstances.
- **Documentation**
- Updated README and various documentation files to reflect new features
and usage instructions.
- Added detailed setup instructions for SD cards and menu customization.
- Enhanced clarity in documentation for RTC settings and menu
customization.
- Improved organization and clarity of SD card setup instructions for
various flashcarts.
- **Refactor**
- Standardized naming conventions across UI components for better
organization.
- Restructured sound management and input handling for improved
responsiveness.
- Streamlined the loading state management for ROMs and disks within the
menu system.
- Improved clarity and usability of the developer guide and other
documentation files.
### Current known Issues
* The RTC UI requires improvement (awaiting UI developer).
* BETA_SETTING: PAL60 when using HDMI mods has regressed (awaiting
libdragon fix).
* ALPHA_FEATURE: ED64 X Series detection does not occur properly
(however this is not a problem as not tag released asset).
* ALPHA_FEATURE: ED64 V Series only supports loading ROMs (however this
is not a problem as not tag released asset).
* Menu sound FX may not work properly when a 64 Disk Drive is also
attached (work around: turn sound FX off).
### Breaking changes
* Disk drive expansion ROMs are now loaded with `Z|L` instead of `R` to
align with ROM info context menu (and future functionality).
## 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 -->
Merge the changes:
#110#106#101#89#74
and other improvements.
## 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. -->
Locally on an SC64.
## Screenshots
<!-- (if appropriate): -->
![image](https://github.com/user-attachments/assets/799fc21c-8743-4c21-8449-b4f531d5c62c)
## 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)
- [x] Bug fix (fixes an issue)
- [x] Breaking change (breaking change)
- [x] 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! -->
- [x] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
<!--- 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**
- Enhanced documentation for N64 Flashcart Menu, including new emulator
support and features like menu sound effects and N64 ROM autoload.
- Added support for additional flashcart features and firmware version
retrieval in the flashcart subsystem.
- Introduced new settings for sound effects and ROM autoloading in the
menu system.
- **Bug Fixes**
- Improved error handling in various menu functions to prevent memory
leaks and ensure proper resource management.
- **Refactor**
- Updated naming conventions for UI component functions to improve
clarity and organization.
- Restructured the sound management functionality to enhance user
interaction feedback.
- **Documentation**
- Expanded sections in README and other documentation files for clarity
on emulator support and usage instructions.
- **Chores**
- Updated dependencies and version references in Dockerfile and other
configuration files.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Signed-off-by: GITHUB_USER <GITHUB_USER_EMAIL>
Co-authored-by: Suprapote <111246491+Suprapote@users.noreply.github.com>
Co-authored-by: Christopher Bonhage <me@christopherbonhage.com>
Co-authored-by: Mateusz Faderewski <sc@mateuszfaderewski.pl>
Co-authored-by: Fazana <52551480+FazanaJ@users.noreply.github.com>
Co-authored-by: Guillermo Horacio Romero Villa <65469983+E1ite007@users.noreply.github.com>