Commit Graph

151 Commits

Author SHA1 Message Date
Mateusz Faderewski
ee769b38ac Fixed assets alignment issue 2023-08-20 20:02:35 +02:00
Mateusz Faderewski
5f6b006a1b Added hide delay to context menu 2023-08-20 18:07:58 +02:00
Mateusz Faderewski
de97bedc00 Improved empty save compatibility by filling initial save with 0xFF 2023-08-20 17:54:37 +02:00
Mateusz Faderewski
65a578c571 Added entry context menu in browser view 2023-08-20 14:11:17 +02:00
Mateusz Faderewski
d5485a2f12 Update libdragon and libcart 2023-08-19 02:44:31 +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
20275f5b21 Cleanup sound code 2023-08-18 20:19:20 +02:00
Mateusz Faderewski
f1649c2436 Use native sample rate for MP3 playback 2023-08-18 15:38:43 +02:00
Mateusz Faderewski
33a1729792 Added path_push_subdir function to path 2023-08-17 22:26:18 +02:00
Mateusz Faderewski
1bdbfef8ac Added lag report feature 2023-08-17 22:24:32 +02:00
Robin Jones
887d83ae5f
Improve ROM markets Enumeration (#39)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Based on research and trial and error, this makes the information more
appropriate.

## 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)
- [ ] 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-17 22:15:13 +02:00
Mateusz Faderewski
74dd258b62 MP3 player seeking improvement 2023-08-14 22:00:14 +02:00
Mateusz Faderewski
65a7775964 Moved RTC update function outside of draw procedure
Previous implementation caused increased drawing time when RTC datetime needed update every second
2023-08-14 21:50:13 +02:00
Mateusz Faderewski
57dff16ec7 Added 30 FPS frame limiter, file list component fix, cleaned up view display/init code 2023-08-12 21:11:20 +02:00
Mateusz Faderewski
5d8ebf9200 Add PixelFX N64Digital/GEM support. (#28) 2023-08-10 22:39:26 +02:00
Mateusz Faderewski
af7705b821 Reboot procedure fixes 2023-08-10 21:25:54 +02:00
Mateusz Faderewski
ac63083089 SC64 flashcart code fixes + cleanup 2023-08-10 21:20:02 +02:00
Mateusz Faderewski
12dead7a6a Browser directory path now always include sd:/ prefix 2023-08-09 20:44:13 +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
Robin Jones
8c12feb2c5
Fix load display media type (#31)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
* Fix load display media type
* Change Rom version to be in Metadata.
* Add Rom config struct.
* Improve market comments.
* Re-add clockrate.

## 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)
- [x] 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-08-04 22:53:04 +02:00
Mateusz Faderewski
d36be317e1 Fixed exception on reset 2023-08-03 17:27:19 +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
Robin Jones
eb9668c721
Improve N64 ROM Database (#30)
<!--- Provide a general summary of your changes in the Title above -->

## Description
* Add documentation
* Add all header types.
* Improve fread sizeof types for maintainability.
* Update functions as needed.

## 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 -->
Maintainability and loading.

As a bonus, this adds certain info to the "file info" screen, which
unfortunately shows some info is incorrect in the N64 Brew wiki when
interigating certain ROM's.

## 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>
2023-07-31 12:08:19 +02:00
Mateusz Faderewski
25bb6f343c Fixed SD card fault display + ROM boot changes 2023-07-29 11:52:24 +02:00
Robin Jones
9f5557ff36
Add time to browser view (#22)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Add time to browser view
Notes that save types could be improved.

## 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 -->
Nice to show, since there is space, and only shown if supported.

## 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-28 21:38:01 +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
213ef7f367 SC64 load file path cleanup 2023-07-28 21:29:12 +02:00
Mateusz Faderewski
da50cd93d0 MP3 player file path clean up 2023-07-28 21:25:22 +02:00
Mateusz Faderewski
17fde21b6f PNG decode speed up 2023-07-28 21:24:47 +02:00
Mateusz Faderewski
3f08dfb6fd Cleaned up settings path 2023-07-28 21:23:15 +02:00
Mateusz Faderewski
0fd8494007 Added more fs utils 2023-07-28 21:22:40 +02:00
Mateusz Faderewski
9142bf9832 PNG decoder now loads image asynchronously 2023-07-26 23:01:39 +02:00
Robin Jones
df6d9265a0
Update menu views (#19)
<!--- Provide a general summary of your changes in the Title above -->

## Description
Based on #16 this updates the other views to use RDPQ.

## 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 -->
Aligns all views and makes them easier to convert if needed.

## 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>
2023-07-26 18:43:08 +02:00
Mateusz Faderewski
f235f25205 Fixed last row decoding in PNG decoder 2023-07-26 18:41:38 +02:00
Mateusz Faderewski
8d5aa4ecb1 Remove unnecessary code from SC64 flashcart module 2023-07-26 17:58:21 +02:00
Robin Jones
05bf7aeedf
Add N64 ROM boxart capability (#16)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Adds the ability to show ROM boxart in the FileInfo menu.
Although later we may decide to convert PNG's or BMP's on the fly, to
start with, we only use sprite files created with mksprite (see readme).

It required an update to the libdragon submodule due to very recent
sprite functionality changes.

## 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 -->
Work towards a pretty menu.

## 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. -->
As shown in the screenshots, ~~however there is an issue when the info
screen displays for more than 30 seconds with a sprite loaded (help
required).~~

## Screenshots
<!-- (if appropriate): -->
Example Goldeneye ROM loaded:

![image](https://github.com/Polprzewodnikowy/N64FlashcartMenu/assets/11439699/65f03a06-9463-4519-a94e-00c38bf1c409)



~~Known issue (when staying on the information screen with a sprite
loaded for over 30 seconds)~~

![image](https://github.com/Polprzewodnikowy/N64FlashcartMenu/assets/11439699/fd98b39c-9534-4794-bcd5-d598f18bfd63)


## 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>
2023-07-26 17:55:23 +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
Robin Jones
f8fb8b617e
ROM DB additions (#12)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Add some missing cart ID's to the database

## 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 were missing.

## 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.
- [ ] 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-16 12:27:56 +02:00
Robin Jones
a4414e3b79
Improve code comments for doxygen (#14)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Adds header file, strut and enum comments.
Fixes #ifndef `PAHT_H__` to be `#ifndef PATH_H__`

## 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 eliminating warnings with doxygen.

## 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. -->
Built within dev container.

## 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-16 12:21:52 +02:00
Mateusz Faderewski
d989c9370e TV type restore for PAL60 mode 2023-07-12 19:23:04 +02:00
Robin Jones
0bc38471b3
Add Expansion PAK information (#11)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Adds Expansion PAK information to 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 -->
This is required by some ROM's and could cause a black screen upon boot.
In future, this can be checked against to warn users.

## 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.
- [ ] 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-12 19:03:42 +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
02010f1cbb SC64 libcart PI setting fix 2023-07-11 10:58:49 +02:00
Mateusz Faderewski
da49393d6f Load and fault screens added + code cleanup 2023-07-11 02:22:58 +02:00
Mateusz Faderewski
d61a1a1cc7 MP3 player improvements - track duration and info display 2023-07-09 18:29:32 +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
1288d4fdcd Save db fixes 2023-06-09 01:16:10 +01:00
Robin Jones
a0d7630e86 Minor improvements 2023-06-08 23:16:02 +01:00
Robin Jones
39ac475bc1 Switch to graphics for main menu 2023-06-08 22:26:12 +01:00
Robin Jones
48f4a1e662 Work on settings
Start work on new file gui
2023-06-08 19:16:48 +01:00
Robin Jones
7942c5209b Move rom header function to more appropriate location 2023-06-08 16:39:02 +01:00
Robin Jones
6809203777 Add support for homebrew saves 2023-06-08 16:24:48 +01:00
Robin Jones
8c813758f3 Fix rom title 2023-06-08 13:07:03 +00:00
Robin Jones
13925688ca Remove seek where not needed. 2023-06-08 13:31:49 +01:00
Robin Jones
a9cacd7d2b Fixes after libdragon update. 2023-06-08 13:21:16 +01:00
Robin Jones
54f2f050b6 improve rom header handling 2023-06-07 16:00:05 +00:00
Robin Jones
eb24ed40eb Now with save support!
It is pretty messy!
2023-06-07 01:50:05 +01:00
Robin Jones
e2acdfb28a Save point
working read of header (to an extent).
2023-06-06 21:52:38 +01:00
Robin Jones
afb7a513b1 Remove deprecated display things.
Start rom information handling.
2023-06-06 16:54:47 +01:00
Robin Jones
8b58e5c62d Minor improvements 2023-06-05 02:12:12 +01:00
Robin Jones
3d3da61392 File info improvements 2023-06-05 01:58:19 +01:00
Robin Jones
e2ac852fb5 Minor refactoring. 2023-06-05 01:12:57 +01:00
Robin Jones
e46715757f Improve sub menus 2023-06-04 23:13:39 +01: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
37f6352eec Further work 2023-04-12 00:10:24 +00:00
Robin Jones
40017a53a6 Add ability to transverse directories 2023-04-11 21:43:16 +00:00
Robin Jones
3acaae4e6d Improve savedb comments 2023-04-05 00:27:28 +00:00
Robin Jones
f366bb7e78 Checkin progress
Minor changes
2023-03-31 23:57:21 +01:00
Robin Jones
5040f6ec93 Fix calling deploy,bat for multiple deployments 2023-03-13 02:15:48 +00:00
Robin Jones
1360273f4d Fix build? 2023-03-13 01:49:57 +00:00
Robin Jones
828c2416d0 Improve save types 2023-03-12 23:46:19 +00:00
Robin Jones
b5a9fa31fe Change definition for ED save detection 2023-03-12 19:20:11 +00:00
Robin Jones
60094a98be Fix last commit. 2023-03-12 18:43:02 +00:00
Robin Jones
9b3361b47a Work on simple save database 2023-03-12 18:37:37 +00:00
Robin Jones
a8bd203b82 Spelling fixes 2023-03-07 02:23:19 +00:00
Robin Jones
fc3e3c6c24 Add basic menu 2023-03-01 07:12:20 +00:00
Robin Jones
3d77e24e58 Remove and note N64 digital
(it was not yet used)
2023-03-01 02:47:08 +00:00
Robin Jones
91a6ae7a33 Improve dev loadtime
Config files need further thought.
2023-03-01 02:39:53 +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
8595d4f713 Minor work
Add acutest
2023-02-27 01:21:21 +00:00
Robin Jones
44c9984758 Add dev container. 2023-02-26 23:14:51 +00:00
Robin Jones
993b3f7d05 Minor fixes and comments 2023-02-25 02:36:41 +00:00
Robin Jones
abcff3feaf Improve settings handling 2023-02-25 02:24:19 +00:00
Robin Jones
3e1dc34369 Split out settings 2023-02-25 01:59:02 +00:00
Robin Jones
bf0d673210 remove res. 2023-02-23 03:01:55 +00:00
Robin Jones
e4809345fa use fatfs for dir listing 2023-02-23 02:59:54 +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
ed4c7b358b Changed SC64 firmware version checking 2023-02-21 22:25:01 +01:00
Mateusz Faderewski
22656b150c Added SC64 API version check 2023-02-15 00:20:17 +01:00