Commit Graph

345 Commits

Author SHA1 Message Date
Robin Jones
f646b50f76
Update ed64.c
fix further function that was renamed.
2024-04-27 17:50:37 +01:00
Robin Jones
ed6bc2a21e
Update ed64.c
change function name to match main branch.
2024-04-27 17:45:51 +01:00
Robin Jones
1566fe9c48
Merge branch 'main' into ed64-basic 2024-04-27 17:40:35 +01:00
Mateusz Faderewski
23af174811 Implement vertical scrolling for text viewer 2024-04-27 13:12:09 +02:00
Mateusz Faderewski
a189e139b2 Extend character set in the font 2024-04-26 23:04:39 +02:00
Mateusz Faderewski
fc410da891 clang-format WIP 2024-04-26 23:04:19 +02:00
Mateusz Faderewski
cbe69e2659 Init BBFS on iQue 2024-04-26 23:03:15 +02:00
Mateusz Faderewski
3becd1ff59
Use stdio calls for file/directory interaction instead of fatfs (#95)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
This PR changes most of the calls to the fatfs lib with the standard C
ones.
Additionally, there's couple of changes required to adapt to new
interface and several bug fixes.
As a bonus menu can now be run in ares emulator and on the iQue player,
adapting to the available storage options - DragonFS in the ROM and iQue
flash modules (bbfs).

## 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 -->
To make it easier to use storage medium other than SD cards on platforms
other than N64 with flashcart.

## 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. -->
SummerCart64 flashcart and ares emulator

## Screenshots
<!-- (if appropriate): -->
N/A

## 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] 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: Polprzewodnikowy <sc@mateuszfaderewski.pl>
2024-04-24 02:45:09 +02:00
Robin Jones
c310c5f9e1
Update submodules (#93)
## Description
Updates libpng and libdragon to latest.
2024-03-19 17:11:22 +00:00
Robin Jones
6906cff1b2
Improve save note
Add caveats
2024-02-03 00:55:40 +00:00
Robin Jones
757ee22677
Documentation fixes 2024-02-03 00:49:58 +00:00
Robin Jones
2e962bbf22
Improve save documentation 2024-02-03 00:43:43 +00:00
Mateusz Faderewski
b283f48de2 Added color for text files 2024-01-19 04:21:05 +01:00
Robin Jones
14e45c0230
Add Text viewer (#87)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Adds a basic text viewer. It does not (yet) support full file content.
superseeds #21 

## 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 -->
There were too many changes to merge from the original PR.

## 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. -->
On an SC64 via devcontainer.

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

---------

Co-authored-by: Mateusz Faderewski <sc@mateuszfaderewski.pl>
Co-authored-by: Mateusz Faderewski <polprzewodnikowy@gmail.com>
2024-01-17 17:03:00 +01:00
Robin Jones
a2e50a9c82
Add flashcart submenu view (#86)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Adds a view to show the flashcart information

## 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 be useful to show its features etc.

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

Co-authored-by: Mateusz Faderewski <sc@mateuszfaderewski.pl>
2024-01-17 15:54:30 +01:00
Robin Jones
cc46a3b9fb
Add USB feature for flashcart (#85)
<!--- 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 USB is supported.

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

Co-authored-by: Mateusz Faderewski <sc@mateuszfaderewski.pl>
2024-01-17 15:51:10 +01:00
Robin Jones
d85f24a0d8
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>
2024-01-17 15:47:31 +01:00
Mateusz Faderewski
80eb7bbd9c Added CIC selection menu + minor fixes and code cleanup 2024-01-17 15:43:31 +01:00
Robin Jones
0996e88fa1
Fix link
by removing it
2024-01-10 17:42:54 +00:00
Robin Jones
5532ae10a4
Update README.md
Improve supported carts
2024-01-10 17:20:50 +00:00
Robin Jones
ff478bccc7
Update .gitignore
Ignore whole tools folder, it might contain other flashcart tools such as UnfLoader
2024-01-10 16:06:20 +00:00
Mateusz Faderewski
661f89c870 Add CNAME to GitHub pages 2024-01-07 05:24:26 +01:00
Mateusz Faderewski
d2b2db1511 Fixed PAL60 mode + updated libdragon 2024-01-04 11:14:29 +01:00
Robin Jones
a0a5b34f82
fix ability to load ROMs
Workaround for need of F/W 3.06 and UNFLoader.
Fixes ability to run ROM's
2023-12-29 21:32:47 +00:00
Robin Jones
bc7a931348 Ignore whole tools dir 2023-12-24 23:11:05 +00:00
Robin Jones
d5a18c573b Improve readme
Specifically for ED64 V3
2023-12-24 22:39:59 +00:00
Robin Jones
c08002698f
Merge branch 'main' into ed64-basic 2023-12-23 01:24:46 +00:00
Robin Jones
26ea9f0ea0
Improve settings editor text (#79)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Until settings editor is able to change settings, tell users what to do.

## 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 -->
Improve user experience.

## 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. -->
Tested locally.

## 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-12-23 00:54:04 +00:00
Robin Jones
e4480a1714 Use libdragon function for sleep 2023-12-22 21:13:00 +00:00
Robin Jones
321d1e0473
Merge branch 'main' into ed64-basic 2023-12-22 20:55:50 +00:00
Robin Jones
c4a6d1515d
Rtc context menu (#78)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Add basic RTC context 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 -->
Improves user experience.

## 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-12-22 20:53:38 +00:00
Robin Jones
70675d085c
Minor improvements for maintainability (#77)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
* Update SC64 F/W version.
* Update build actions.
* Improve credits (use my name rather than twitter pseudonym).
* Improve function name for bool conversion.
* Use arg for SC64 tools version in dockerfile.

## 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 code maintainability.

## 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. -->
Works on my local devcontainer, cart and fork.

## 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] 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-12-22 20:50:54 +00:00
Robin Jones
be87588b85
Update some GH actions to latest. 2023-12-22 17:28:23 +00:00
Robin Jones
4796c52a49
Merge branch 'main' into ed64-basic 2023-12-22 11:05:53 +00:00
Mateusz Faderewski
3846547707 Cleaned up navigation 2023-12-21 20:14:01 +01:00
Mateusz Faderewski
621e50cf7b Added manual override options for save and TV type 2023-12-21 19:58:30 +01:00
Robin Jones
7347de9bbb
Merge branch 'main' into ed64-basic 2023-12-20 21:27:53 +00:00
Mateusz Faderewski
ae37f92c7f Updated libdragon 2023-12-19 18:17:55 +01:00
Robin Jones
edad53805a
Update bug_report.yml 2023-12-17 21:13:41 +00:00
Robin Jones
c38f02ea7c
Update bug_report.yml 2023-12-17 21:11:39 +00:00
Robin Jones
157e1a530e
Update README.md 2023-12-17 20:57:45 +00:00
Robin Jones
10e5c3eed1
Add settings viewer (#23)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Adds a skeleton for enabling a settings editor.
For now, it just shows the settings (as a viewer).
Fixes descrepency with view for credits.
Improve text to show available actions on the browser.

## 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 will help others to finalise the editor implementation in future and
enables current users to view the settings.

## 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-12-17 21:47:56 +01:00
Robin Jones
3e13e886c7
Add ability to force tv region based on detected ROM (#71)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Add ability to force tv region based on detected ROM based on the ROM's
destination code.
Adds a setting so that this can be turned off (on by default).

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

## 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-12-17 17:51:24 +01:00
Mateusz Faderewski
fc1aa31383 Remove inaccurate Aleck 64 CIC detection 2023-12-14 18:42:10 +01:00
Mateusz Faderewski
c866fd7dbb Updated libdragon 2023-12-12 15:54:28 +01:00
Mateusz Faderewski
2345c612d8 Moved assets to the DragonFS 2023-12-08 19:49:50 +01:00
Mateusz Faderewski
6ee348fa57 Updated libdragon (now incorporating open source IPL3) 2023-12-07 18:22:30 +01:00
Mateusz Faderewski
cceb37e694 Updated libdragon (now incorporating open source IPL3) 2023-12-07 18:20:49 +01:00
Mateusz Faderewski
8e50e4c1e1 Improved CIC detection algorithm
Now it incorporates the same algorithm as is included in the N64 IPL2. IPL3 that have checksum collision are now correctly detected.
2023-12-07 00:36:16 +01:00
Mateusz Faderewski
cfe4f01e30 Changed boot type to cold + RI/RDRAM reset (should improve game compatibility) 2023-12-06 12:57:01 +01:00