Commit Graph

310 Commits

Author SHA1 Message Date
Robin Jones
c36bd4197e
Add ability for 3 letter ID for boxart (#47)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Allows boxart to be 3 letters by checking the "media type" if required.
It continues to be compatible with 2 letters.
Also update sodium64 rom address (changed in
d006af4870).

## 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 -->
Fixes an issue for at least `DZ` which shares the same ID between
Dezaemon 3D for the 64DD and Duke Nukem: Zero Hour Cartridge.

## 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.
- [x] 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-09-17 10:38:42 +02: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
b15be6467b Improve game boot compatibility 2023-09-06 00:49:06 +02:00
Mateusz Faderewski
5ef09def69 Disable release tag deletion 2023-09-04 23:32:36 +02:00
Mateusz Faderewski
15bca14b98 Improve reboot compatibility 2023-09-04 23:31:19 +02:00
Mateusz Faderewski
f063f05fe6 Added USB debug commands handling + file_get_sectors refactor 2023-09-04 21:09:46 +02:00
Robin Jones
c44ff7f752
Update emulator load display (#46)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Update emulator load display to be, well, better.
Add TotalSMS (not tested, however, shows that the emulator is not
found.)
Fix rolling release for new forks.

## 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>
2023-08-28 17:19:51 +02:00
Robin Jones
9eb6a02707
Improve README 2023-08-28 00:58:01 +01:00
Mateusz Faderewski
ab8100f6b9 Added option to set default directory 2023-08-27 19:30:29 +02:00
Mateusz Faderewski
be1b3b1ab3 Boot improvements 2023-08-27 18:52:03 +02:00
Mateusz Faderewski
5cdda70c69 Changed rolling release GitHub action 2023-08-27 18:44:50 +02:00
Mateusz Faderewski
3bb466dfb6 Use different action for rolling release 2023-08-25 22:57:38 +02:00
Mateusz Faderewski
8b9c2247b5 Added missing ROM in rolling release 2023-08-25 22:46:29 +02:00
Mateusz Faderewski
b2757ca1a6 Fixed rolling release build 2023-08-25 22:41:51 +02:00
Mateusz Faderewski
0eeee72c11 Fixed rolling release build 2023-08-25 22:29:09 +02:00
Mateusz Faderewski
4eeb00e3ac Added rolling release 2023-08-25 22:23:30 +02:00
Robin Jones
7797f74c0b
Update feature_request.yml 2023-08-21 22:01:47 +01:00
Mateusz Faderewski
105e648d92 Reboot: reset RDRAM before putting it in standby mode 2023-08-20 22:03:14 +02:00
Mateusz Faderewski
9603e044e6 Added SNES emulator + changed emulator names to default 2023-08-20 20:58:34 +02:00
Mateusz Faderewski
3db859b0f7 Added file offset to flashcart_load_file 2023-08-20 20:26:48 +02: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
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
Robin Jones
bd7e33ed71
Add features to readme. (#41)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
* Add notable features.
* Add check for latest SC64 firmware.

## 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>
2023-08-18 01:20:53 +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
Mateusz Faderewski
cae27487b7 Update libdragon 2023-08-17 22:21:38 +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
Robin Jones
ed1fef88be
Fix ignored lib directory (#40)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
`miniz` directory was incorrectly named `miniz.c`

## 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 was not correctly ignored.

## 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-17 22:14:22 +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
Robin Jones
420eb8b3ff
Suppress dirty submodules in VSCode (#38)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
When running in a dev container, certain submodules show changes in
VSCode.
GitHub Desktop does not show them.

This PR also adds missing Submodules to the devcontainer.json
git.ignoredRepositories.

## 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 -->
Speculative fix. If there is a better way, it is welcome!

## 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-09 20:49:10 +02:00
Robin Jones
bc335d8859
Remove libdragon build in CI (it is already performed in devcontainer) (#35)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
The CI uses the devcontainer to build libdragon, but that has already
occured as part of the devcontainer initialization.

## 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 CI was taking longer to build than expected.

If/when we move to native CI, we should leverage the CI which would
include:

```
      # - name: Cache libDragon build
      #   id: cache-libdragon
      #   uses: actions/cache@v3
      #   env:
      #     cache-name: cache-libdragon
      #   with:
      #     # libdragon cache files are stored in `./libdragon`
      #     path: ./libdragon
      #     key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./.gitmodules') }}
      #     restore-keys: |
      #       ${{ runner.os }}-build-${{ env.cache-name }}-
      #       ${{ runner.os }}-build-
      #       ${{ runner.os }}-

      # - name: Build libDragon
      #   if: ${{ steps.cache-libdragon.outputs.cache-hit != 'true' }}
      #   uses: devcontainers/ci@v0.3
      #   with:
      #     imageName: ghcr.io/polprzewodnikowy/n64flashcartmenu-devcontainer
      #     cacheFrom: ghcr.io/polprzewodnikowy/n64flashcartmenu-devcontainer
      #     push: ${{ github.repository_owner == 'Polprzewodnikowy' && 'filter' || 'never' }}
      #     refFilterForPush: refs/heads/main
      #     runCmd: |
      #        pushd libdragon
      #          ./build.sh
      #        popd
```

## 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-08-09 20:46:58 +02:00
Mateusz Faderewski
12dead7a6a Browser directory path now always include sd:/ prefix 2023-08-09 20:44:13 +02:00
Robin Jones
cf78d9a0a2
Fix readme content
Emulation header
2023-08-07 23:15:42 +01: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
558a690f3e Fix build docker image push 2023-08-05 15:47:06 +02:00
Mateusz Faderewski
1f0f8470db Fix GitHub build action on forks 2023-08-05 15:38:48 +02:00