Commit Graph

324 Commits

Author SHA1 Message Date
Ross Gouldthorpe
724f40f52c Update favorite.c
Giving a bit more space between the lines of history
2024-12-04 13:11:26 +00:00
Ross Gouldthorpe
0d6fe8445f History and last game working
Both history and last game works for roms and 64dd games
2024-12-03 22:33:35 +00:00
Ross Gouldthorpe
16bbd0c3b8 Basic Last Game and Favorties
Moved the Load last game and favorites with menu into the branch
2024-11-30 21:24:05 +00:00
Robin Jones
058c41b8e0
Update 00_getting_started_sd.md
Corrected extension type.
2024-11-24 16:54:10 +00:00
Robin Jones
b779af4db3
Smsplus64 Emulator (#159)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Switch to smsPlus64 (https://github.com/fhoedemakers/smsplus64) from
TotalSMS.


## 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 emulator, although still WIP (like most others) works with the
plugin 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. -->

## 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.
- [ ] 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>
2024-11-24 16:49:40 +00:00
Robin Jones
1eec461d3e Fix RTC wrap 2024-11-22 20:20:57 +00:00
Robin Jones
09d9648f6a Improve RTC component name 2024-11-22 20:08:39 +00:00
Robin Jones
e83991a987 Update libdragon 2024-11-22 19:33:26 +00:00
Robin Jones
90157f5930 Add menu customization readme 2024-11-11 20:15:54 +00:00
Robin Jones
96506edbc7 Rename components to ui_components (#160)
<!--- Provide a general summary of your changes in the Title above -->

<!--- Describe your changes in detail -->
Renames `components` to `ui_components`

<!--- What does this sample do? What problem does it solve? -->
<!--- If it fixes/closes/resolves an open issue, please link to the
issue here -->
Makes the source more clear as to its functionality

<!-- (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. -->

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

<!--- 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)

<!--- 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>
2024-11-11 17:36:03 +00:00
Robin Jones
0d30a6f3b9 Update libdragon 2024-11-11 12:11:30 +00:00
Robin Jones
bbf6c15b97
Add joypad images (#156)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Taken from https://github.com/n64brew/N64brew-GameJam2024-Template/
(MIT)
Also improves the assets by adding them into sub-directories.

## 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 -->
Will allow use in the menu to improve navigation/context.

## 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>
2024-11-10 00:48:55 +00:00
Robin Jones
866e630952 Improve RTC adjustment logic
Handle events where RTC is unavailable.
2024-11-07 23:01:32 +00:00
Robin Jones
5f14f7876d Add basic flashcart support for V-Series ED64
limited to loading ROM's.
2024-11-07 22:31:01 +00:00
Robin Jones
e7608dc557
Add ability to adjust RTC (#107)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
This PR adds the ability to set the time from the menu.
The underlying logic is sound given what is currently available within
libdragon, but expected changes are noted (like `settimeofday`) for
future improvement and will need to be revisited once available.
A future PR will need to add better GUI components for numeric control.

## 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 -->
#106

## 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 a SC64

## 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>
2024-11-07 20:16:35 +00:00
Robin Jones
17c214537f Minor fix for disk load error
Don't bother to load boxart after.
2024-11-05 23:40:42 +00:00
Robin Jones
0d2deaa4f4 Further header documentation improvements 2024-11-05 23:34:14 +00:00
Robin Jones
527e27525d Further header documentation improvements 2024-11-05 23:10:29 +00:00
Robin Jones
1e51108b0d Further header documentation improvements 2024-11-05 22:41:19 +00:00
Robin Jones
fb0a04e048 header documentation improvements 2024-11-05 22:21:09 +00:00
Robin Jones
2fc4a6a6c1 Update libdragon 2024-11-05 18:20:35 +00:00
Guillermo Horacio Romero Villa
e8c16a7af6
Added new boxart following the pre-release folder structure (#152)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Following #130 and with #135 efforts, I created this new database
following the newer folder structure.

## 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 -->
Adding compatibility for the newest `rolling pre-release`.

## 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! -->
- [x] 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.

<!--- 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: E1ite007 <ghrv_1999@hotmail.com>


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

- **New Features**
- Introduced a "GamePak sprites" section with guidelines for using N64
GamePak sprites.
- Added a "Compatibility mode" subsection detailing deprecated filename
support.
- Included a "Sounds" subsection listing sound effects and their
licenses.
	- Provided a link to a boxart pack that adheres to the new structure.

- **Documentation**
	- Enhanced readability with formatting updates and additional examples.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Robin Jones <networkfusion@users.noreply.github.com>
2024-11-05 10:36:36 +00:00
Robin Jones
36647ebdec
N64 Rom autoload (#150)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Allows the ability to autoload a specified ROM instead of the menu,
taking into account the ROM database.
If enabled, you can currently fallback to the menu by holding joypad
start on console reset.


## 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 is a better implementation of #140.

## 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

## Release Notes

- **New Features**
- Introduced ROM autoloading functionality, allowing users to enable
automatic loading of ROMs with specified paths and filenames.
- Added a settings option for managing ROM autoload preferences in the
menu.

- **User Interface Enhancements**
- Updated settings menu to display the state of the "Autoload ROM"
setting.
  - Improved context menus for toggling various settings.

- **Bug Fixes**
- Enhanced memory management by ensuring proper resource deallocation
for settings.

- **Documentation**
- Added documentation for new functions and settings related to ROM
autoloading.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-05 09:27:44 +00:00
Robin Jones
4eca91798c move boot_pending vars to menu_state
works towards ability to autoload ROMs
2024-10-31 21:54:14 +00:00
Robin Jones
b5f6adc1ea Improve load_pending naming
Make their actions clear.
Works towards the ability to autoload ROMs.
2024-10-31 21:26:33 +00:00
Robin Jones
6cb3019c76 Display Entire Filename on ROM Information Page
#101
2024-10-31 20:23:25 +00:00
Robin Jones
13caeee7a6
Update Libdragon submodule (#153)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Update submodules libdragon.

## 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 libs up-to-date.

## 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

- **Chores**
	- Updated the subproject commit identifier to a newer version.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-31 14:36:11 +00:00
Robin Jones
7b1cf8f2ed Update README.md
Improve Gamepak sprite info
2024-10-25 23:00:55 +01:00
Robin Jones
f65b345859 Updated doxygen action version
use the new tag alias
2024-10-25 19:36:04 +01:00
Robin Jones
9c0a4b86a2 Improve settings editor text 2024-10-25 19:27:06 +01:00
Robin Jones
dd3ce84a46 Improve flashcart features 2024-10-25 17:16:10 +01:00
Robin Jones
f1238debb1 Improve fileinfo stat
st_mtime will expand to st_mtim.tv_sec using a macro
2024-10-25 16:44:00 +01:00
Robin Jones
b07364aa3f Update flashcart features 2024-10-25 15:28:52 +01:00
Robin Jones
f5dd0ae336 Improve consistency of sound_play_effect 2024-10-25 15:09:12 +01:00
Robin Jones
6eb6991ca0 Detect and display flashcart features correctly 2024-10-25 14:48:21 +01:00
Robin Jones
819e27784b Update miniz 2024-10-25 14:00:56 +01:00
Robin Jones
f5521031e4 Revert change to sound_reconfigure
that caused a de reference exception after MP3 playback.
2024-10-25 13:49:56 +01:00
Robin Jones
3e37991b73 Improve context menu vars 2024-10-25 13:21:49 +01:00
Robin Jones
a1f2a5d56b Improve sound_poll 2024-10-25 13:11:29 +01:00
Robin Jones
004f182e29 Avoid casting void* to bool directly 2024-10-23 20:45:47 +01:00
Robin Jones
329ba270ff Improve flashcart info
SC64 only. Other flashcarts may show wrong info (but they are not yet supported anyway).
2024-10-23 20:14:25 +01:00
Robin Jones
0116c14667 Update 99_developer_guide.md
Improve submodule docs
2024-10-23 16:12:49 +01:00
Robin Jones
a6465787de Improve sound_deinit
Close sound effects properly.
2024-10-23 15:29:46 +01:00
Robin Jones
4732981f88 Correctly init joypay vars
Correctly free overrides path
2024-10-23 14:19:59 +01:00
Robin Jones
9020445c17 Improve boxart
Minor fixes for:
* menu error SFX
* RTC text
2024-10-23 13:46:29 +01:00
Robin Jones
f01fb77db3 Minor comment improvements 2024-10-23 12:58:21 +01:00
Robin Jones
1b112bfa11 Merge remote-tracking branch 'upstream/main' into develop 2024-10-20 15:59:57 +01:00
Robin Jones
49ea127dd7
Integer type fixes (#145)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Improve integer type under certain conditions.

## 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 -->
When running the flags `-Wall -Wextra`.

## 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

- **Bug Fixes**
- Improved handling of loop variables to prevent negative overflow in
various functions, enhancing stability and reliability when processing
larger values.
  
- **Refactor**
- Updated loop variable types to `unsigned int` for better performance
and accuracy in ROM data handling across multiple components.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-20 15:52:02 +01:00
Robin Jones
4d311ffcd8
Update 00_getting_started_sd.md 2024-10-02 21:11:58 +01:00
Robin Jones
b8fa9e287d Update docs for newer firmware (#143)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Update the "supported" SC64 firmware version.

## 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 -->
Although the latest firmware is not "required", it is best to keep it
aligned.

## 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

- **New Features**
- Updated the supported firmware version for "SummerCart64" to 2.20.0+
in error messages.
- **Documentation**
- Revised developer documentation to reflect the upgrade of the SC64
deployer to v2.20.0, including updated links and compatibility
requirements.
- Clarified instructions for using the dev container and added a
workaround for USB device communication.
	- Expanded guidance on generating and serving documentation locally.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-30 22:21:39 +01:00