Add RTC feature for flashcart (#58)

<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Adds a feature to the flashcart to determine whether RTC is supported.
This is at minimum required for correct handling of what to show on the
main menu.
It also will help with a future context menu to set the RTC time.

## 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 -->
Some flashcarts (ED64 X5, V2.5, V2.0, V1.0 & ED64P ) do not support it.

## 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)
- [ ] 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 commit is contained in:
Robin Jones 2024-01-17 14:47:31 +00:00 committed by GitHub
parent 80eb7bbd9c
commit d85f24a0d8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 3 additions and 0 deletions

View File

@ -73,6 +73,7 @@ static flashcart_err_t d64_deinit (void) {
static bool d64_has_feature (flashcart_features_t feature) { static bool d64_has_feature (flashcart_features_t feature) {
switch (feature) { switch (feature) {
case FLASHCART_FEATURE_64DD: return false; case FLASHCART_FEATURE_64DD: return false;
case FLASHCART_FEATURE_RTC: return true;
default: return false; default: return false;
} }
} }

View File

@ -27,6 +27,7 @@ typedef enum {
/** @brief List of optional supported flashcart features */ /** @brief List of optional supported flashcart features */
typedef enum { typedef enum {
FLASHCART_FEATURE_64DD, FLASHCART_FEATURE_64DD,
FLASHCART_FEATURE_RTC,
} flashcart_features_t; } flashcart_features_t;
/** @brief Flashcart save type enumeration */ /** @brief Flashcart save type enumeration */

View File

@ -260,6 +260,7 @@ static flashcart_err_t sc64_deinit (void) {
static bool sc64_has_feature (flashcart_features_t feature) { static bool sc64_has_feature (flashcart_features_t feature) {
switch (feature) { switch (feature) {
case FLASHCART_FEATURE_64DD: return true; case FLASHCART_FEATURE_64DD: return true;
case FLASHCART_FEATURE_RTC: return true;
default: return false; default: return false;
} }
} }