386 Commits

Author SHA1 Message Date
Robin Jones
ea55e698d5
[develop] libdragon submodule update + RTC (#218)
<!--- 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>
2025-02-15 16:44:25 +00:00
Christopher Bonhage
c311874da0
Hide Windows/macOS cruft in file browser (#217)
<!--- 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>
2025-02-09 17:08:46 +00:00
Ross Gouldthorpe
3bd0a2eb97
Fix for crashing when deleting a favorite (#216)
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>
2025-02-07 07:42:24 +00:00
Robin Jones
4f25ca887a Update README.md
Co-Authored-By: Robin Jones <networkfusion@users.noreply.github.com>
2025-01-27 02:37:10 +00:00
Robin Jones
82f45b7bd1 Removes ED64 builds from pre-release
It is not ready.

Co-Authored-By: Robin Jones <networkfusion@users.noreply.github.com>
2025-01-27 02:29:55 +00:00
Robin Jones
15cbd1b69d Work towards #75
Currently only handles the settings and features required.

Co-Authored-By: Robin Jones <networkfusion@users.noreply.github.com>
2025-01-26 16:07:07 +00:00
Robin Jones
8a1f054aae
Revert "[develop] Add inital datel cheat support from filesystem" (#212)
Reverts Polprzewodnikowy/N64FlashcartMenu#204
2025-01-23 00:25:47 +00:00
Robin Jones
a960eb0f39 Switch to SRAM_BANKED saves for GB emulators
Fix issues with non compliant flashram saves.
2025-01-22 18:56:41 +00:00
XLuma
c27f15ef0e
[develop] Add inital datel cheat support from filesystem (#204)
## 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>
2025-01-22 18:51:16 +00:00
Víctor "IlDucci
214fbabc4b
[develop] Additional proofread of the docs (#209)
## 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.
2025-01-22 13:38:16 +00:00
Robin Jones
d12ed3cdeb Update 65_experimental.md
Improve font customization note.
2025-01-21 00:32:38 +00:00
Robin Jones
ff190dba6f Update 65_experimental.md
Fix documentation issue.
2025-01-21 00:18:35 +00:00
Víctor "IlDucci
7f97c2ff4e
Docs proofread/rewrites (#206)
## 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>
2025-01-20 23:51:08 +00:00
Robin Jones
ae9f10cda1
[develop] Settings improvements (#202)
<!--- 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>
2025-01-15 00:02:32 +00:00
Robin Jones
b56dfe0249 Update 13_datel_cheats.md 2025-01-14 13:50:05 +00:00
Robin Jones
8e723a8cf0 Improve feature request template
adds FAQ
2025-01-13 01:06:28 +00:00
Robin Jones
a44f411e8b Merge branch 'develop' of https://github.com/Polprzewodnikowy/N64FlashcartMenu into develop 2025-01-12 23:41:41 +00:00
Robin Jones
1a9e292598 [develop] Documentation manual (#198)
<!--- 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 -->
2025-01-12 23:41:32 +00:00
Robin Jones
9b7ef36a49
[develop]cDocumentation manual (#198)
<!--- 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 -->
2025-01-12 23:15:27 +00:00
Robin Jones
2ac98b4c34 Update 00_getting_started_sd.md
Add note about byteswapped ROM's
2025-01-12 14:44:09 +00:00
Robin Jones
1ff7d9ee35 Add note about macOS metadata files 2025-01-12 14:35:46 +00:00
Robin Jones
8c89198466
[develop] Add basic support for ED64 X series (#137)
<!--- 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 -->
2025-01-12 12:41:47 +00:00
Robin Jones
fe287b99d0 Update libdragon 2025-01-12 12:22:22 +00:00
Robin Jones
a3eb18f69c Add (superficial) cart version for ED
Fix #186
2025-01-10 15:16:07 +00:00
Robin Jones
9fbe55ea30 Improve release workflow
* keep history between rolling release using a text file.
2025-01-08 20:36:42 +00:00
Robin Jones
ffc9b0742f Merge remote-tracking branch 'upstream/main' into develop 2025-01-08 20:02:05 +00:00
Robin Jones
d18b669b8f
[main] Improve bug_report template (#185)
<!--- 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 -->
2025-01-08 19:49:14 +00:00
Robin Jones
c6bc02cb43 Update libdragon 2025-01-08 18:27:53 +00:00
Robin Jones
da11e2fd6f Fix empty dir text alignment 2025-01-08 17:51:27 +00:00
Robin Jones
881c1cbe5e Update load_disk.c
Improve display
2025-01-05 00:29:25 +00:00
Robin Jones
83d56f2d04 Tab spacing improvements 2025-01-04 23:59:54 +00:00
Robin Jones
696af27964 Update README.md
Remove deprecated support as want people to use the new functionality.
2025-01-04 23:37:51 +00:00
Robin Jones
f6b1c45d4e Update readme
Add changelog for rolling releases (on main)
2025-01-04 23:16:56 +00:00
Robin Jones
d83daf7bff Merge branch 'main' into develop 2025-01-04 23:10:29 +00:00
Ross Gouldthorpe
0375789ca5
[develop] Add ROM favorites and history tabs to file browser (#168)
## 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>
2025-01-04 22:59:17 +00:00
floppyD
30a0f2925d
Update README.md (#182)
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>
2025-01-04 18:16:31 +00:00
Robin Jones
0affd8222d Fix RTC set 2025-01-03 01:52:23 +00:00
Robin Jones
149efd6601 Update README.md 2025-01-02 21:23:58 +00:00
Robin Jones
29e02f1fca
[develop] Improve rom info (#146)
<!--- 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 -->
2025-01-02 20:24:03 +00:00
Robin Jones
fc79946a26 Merge branch 'main' into develop 2024-12-31 21:41:25 +00:00
Víctor "IlDucci
75b14b6c20
[main] Improve documentation (#179)
## 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 -->
2024-12-31 21:33:30 +00:00
Robin Jones
b8f023679d Remove cpptools extension from devcontainer
It causes too many issues.
2024-12-30 22:01:31 +00:00
Robin Jones
f4e4ef6968 Update libdragon 2024-12-30 22:01:31 +00:00
Robin Jones
8971a03bc6 Revert "Update submodules"
This reverts commit ec0378b4fe38c8014284bc0bee18c63bc656d491.
2024-12-30 21:52:16 +00:00
Robin Jones
ec0378b4fe Update submodules
libdragon and miniz
2024-12-30 19:23:17 +00:00
Robin Jones
f2cff4c3ff Minor documentation fix 2024-12-30 15:36:32 +00:00
Robin Jones
4d4a7b1bb4 Merge branch 'main' into develop 2024-12-30 15:13:27 +00:00
Robin Jones
9113d1c949
[main] Next release changes (#162)
<!--- 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>
rolling_release
2024-12-30 15:08:28 +00:00
Robin Jones
a7895b4924 Update libdragon 2024-12-30 12:16:18 +00:00
Robin Jones
0f0321d691 Improve menu text 2024-12-28 22:54:14 +00:00