Commit Graph

46 Commits

Author SHA1 Message Date
Robin Jones
23b371acb1 Merge remote-tracking branch 'upstream/main' into ed64-basic 2023-10-10 21:32:57 +01:00
Mateusz Faderewski
1eb654d1c1
64DD disk loading support for SummerCart64 (#49) (and other fixes/improvements)
<!--- Provide a general summary of your changes in the Title above -->

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

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

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

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

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Improvement (non-breaking change that adds a new feature)
- [ ] Bug fix (fixes an issue)
- [ ] Breaking change (breaking change)
- [ ] 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>

---------

Signed-off-by: Polprzewodnikowy <sc@mateuszfaderewski.pl>
Co-authored-by: Robin Jones <networkfusion@users.noreply.github.com>
2023-10-10 21:12:53 +02:00
Robin Jones
7abb7e6e8b Merge remote-tracking branch 'upstream/main' into ed64-basic 2023-10-10 20:03:54 +01:00
Mateusz Faderewski
fc2f3aa42c
64drive support (#27)
<!--- Provide a general summary of your changes in the Title above -->

## Description
This PR implements 64drive support

## Motivation and Context
Goal of this PR is to support more devices
<!--- 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?
Not tested at all
<!-- (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! -->
- [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>
2023-09-08 21:49:50 +02:00
Mateusz Faderewski
f063f05fe6 Added USB debug commands handling + file_get_sectors refactor 2023-09-04 21:09:46 +02:00
Robin Jones
f09416861d Minimal ED64 support
Adds the basic needs to run ROMs on V series hardware.
2023-08-22 00:33:23 +01:00
Mateusz Faderewski
bbc4901403 Fixed Makefile 2023-08-20 20:16:05 +02:00
Mateusz Faderewski
ee769b38ac Fixed assets alignment issue 2023-08-20 20:02:35 +02:00
Mateusz Faderewski
65a578c571 Added entry context menu in browser view 2023-08-20 14:11:17 +02:00
Mateusz Faderewski
a1d20ae36e Added option to put saves in subdirectory + moved ROM loading procedure outside of views 2023-08-18 22:19:01 +02:00
Mateusz Faderewski
f1649c2436 Use native sample rate for MP3 playback 2023-08-18 15:38:43 +02:00
Mateusz Faderewski
5d8ebf9200 Add PixelFX N64Digital/GEM support. (#28) 2023-08-10 22:39:26 +02:00
Mateusz Faderewski
ac63083089 SC64 flashcart code fixes + cleanup 2023-08-10 21:20:02 +02:00
Mateusz Faderewski
ce5a01ca31 Added missing dependency in Makefile 2023-08-05 18:06:40 +02:00
Robin Jones
337289904e
Add ED64 Plus (ED64P) build support (#33)
<!--- Provide a general summary of your changes in the Title above -->

## Description
The ED64 V1 Cart clones (commonly referred to as ED64 Plus) require a
different file name and are more feature limited. This PR adds them to
the build process.

## 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 -->
Someone will add it, so it might as well be me.
Hopefully some more users of them will get on board with this project.

## 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] 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>
2023-08-05 17:55:30 +02:00
Robin Jones
37162cac42
Add emulator loading and screen (#20)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
This PR shows a possible way forward for adding support for emulators.
Superseeds #13 

## 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 -->
The ability to load partial ROM's and/or overwrite parts of them is
required by emulators, patches and potentially gameshark/action replay.

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

---------

Co-authored-by: Mateusz Faderewski <sc@mateuszfaderewski.pl>
2023-08-05 15:56:10 +02:00
Mateusz Faderewski
6ba534166b Simplified build action + ROM stripping fix + Makefile fix 2023-08-05 01:37:09 +02:00
Mateusz Faderewski
8e8f77e55b Complete rewrite of menu drawing + code cleanup + ROM cold boot fix
Uses new `rdpq_text` API for font drawing
2023-08-03 17:18:55 +02:00
Mateusz Faderewski
01ae2cef37 Added background image and ability to set it from the image viewer 2023-07-28 21:36:51 +02:00
Mateusz Faderewski
f6b5a4081c Use libcart to detect flashcart model instead of USB subsystem 2023-07-26 12:36:39 +02:00
Mateusz Faderewski
bc280c7fc6 Added image viewer menu view 2023-07-25 22:56:00 +02:00
Mateusz Faderewski
8c71794d6d PNG decoder + reduced number of directory entries + external libs header cleanup 2023-07-25 19:20:29 +02:00
Robin Jones
7a348ea6ce
Renames views/player to views/music_player (#18)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
The MP3 player was named `player` in view context. It had multiple
meanings.
Although probably not perfect (since it only plays MP3 files, this
renames it to `music_player`.

## 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 -->
It could be confusing otherwise.

## 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)
- [ ] 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>
2023-07-22 12:30:39 +02:00
Mateusz Faderewski
edf8e13da1 Settings cleanup + SC64 config default state + libdragon update 2023-07-16 13:13:02 +02:00
Mateusz Faderewski
a7c7373d9f Changed config library from toml to mini.c
toml library didn't offer any way to serialize config file
2023-07-11 18:00:18 +02:00
Mateusz Faderewski
da49393d6f Load and fault screens added + code cleanup 2023-07-11 02:22:58 +02:00
Robin Jones
b3509f4295
Menu improvements (#9)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
This PR adds docfx to the CI to target documentation for the
N64FlashcartMenu and updates the libdragon submodule.
It also adds a number of menu improvements.

## 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 eventually stop us from being lazy, however as the project is very
much WiP,
Currently the CI only runs it to show what warnings need to be "fixed".
In future, it needs to "error" when things are incorrect AND deploy to
the WIKI.


## 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. -->
Builds on my fork.

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

![image](https://github.com/Polprzewodnikowy/N64FlashcartMenu/assets/11439699/04511e4a-e522-4b69-a8cb-59057c1c66aa)


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

---------

Co-authored-by: Mateusz Faderewski <sc@mateuszfaderewski.pl>
2023-07-09 00:52:39 +02:00
Mateusz Faderewski
b53bbf7dae
New browser view using rdpq acceleration + MP3 player (#10)
<!--- Provide a general summary of your changes in the Title above -->

## Description
This change replaces deprecated graphics libdragon api with rdpq
hardware accelerated drawing calls.
New view has been added: MP3 player
<!--- Describe your changes in detail -->

## Motivation and Context
Use newest and supported features of libdragon api
<!--- 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?
On hardware with SC64 flashcart
<!-- (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
![Screenshot 2023-07-08
23-57-56](https://github.com/Polprzewodnikowy/N64FlashcartMenu/assets/3756990/3f791246-5f70-43d1-8c54-aeac62513ff3)
![Screenshot 2023-07-08
23-58-16](https://github.com/Polprzewodnikowy/N64FlashcartMenu/assets/3756990/fdf436bf-6201-4b43-bebc-70be993ebc50)

## 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)
- [x] 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! -->
- [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>
2023-07-09 00:01:41 +02:00
Mateusz Faderewski
e0f0734e18 Browser rewrite / Boot bug fixes 2023-07-02 21:52:58 +02:00
Robin Jones
029e1cf638
Improve dev container (#4)
* build against libdragon unstable

* remove libPng

* Fix build warnings

* Add remote deploy

* Switch to ubuntu latest image

* Improve readme
2023-06-04 16:57:31 +01:00
Robin Jones
48da3bc912 Makefile improvements
Improve readme
Add instructions for new sc64 deployer.
Improve .gitignore
2023-03-13 00:46:13 +00:00
Robin Jones
7b8a72f3db makefile improvements 2023-03-12 23:19:28 +00:00
Robin Jones
5485aef989 Rename sc64 finalize to minify
Fix ability to make without parameters
2023-03-12 21:36:57 +00:00
Robin Jones
9b3361b47a Work on simple save database 2023-03-12 18:37:37 +00:00
Robin Jones
2581e7e1f3 Remove libdragon-extensions 2023-03-01 02:14:58 +00:00
Robin Jones
bae2ace376 about menu improvements 2023-03-01 01:45:48 +00:00
Robin Jones
4c6a030d29 improve handling
rename files
2023-02-28 23:19:16 +00:00
Robin Jones
d43d367664 Remove tests from dev container 2023-02-28 17:39:39 +00:00
Robin Jones
8595d4f713 Minor work
Add acutest
2023-02-27 01:21:21 +00:00
Robin Jones
00264c6081 Minor improvements 2023-02-27 00:48:22 +00:00
Robin Jones
06054478e5 Improve buildability 2023-02-26 23:59:02 +00:00
Robin Jones
3e1dc34369 Split out settings 2023-02-25 01:59:02 +00:00
Robin Jones
6aafc026c5 Update file locations
Add directory listing
2023-02-23 02:40:07 +00:00
Robin Jones
3a2b908a4f Add menu lib 2023-02-23 02:31:56 +00:00
Robin Jones
ffb6b3fd53 Add toml library 2023-02-23 01:58:51 +00:00
Mateusz Faderewski
992fcf4923 Initial version (no UI) 2023-02-14 22:26:40 +01:00