102 Commits

Author SHA1 Message Date
Robin Jones
073db6f93b Remove unfloader devcontainer
It does not work.

Remove develop branch from publish

It breaks things.

Improve tests for website publish

Fix build

Rename devcontainer base as we currently only support the SC64, and even if we supported others, can use the same devcontainer.

Remove flashcart-other devcontainer

It currently serves no purpose.

Use separate bash history for dev containers.

Rename flashcart-all devcontainer to flashcart-other
2025-12-14 18:55:39 +00:00
Robin Jones
d0e77ab10e remove txt extension from meta
It was useful for debug, but should no longer be required.
2025-12-13 02:08:45 +00:00
Robin Jones
15664dbff2 Further additions to rom meta
not used in the menu yet.
Also fixes hyphens vs underscores.
2025-12-13 01:54:23 +00:00
Robin Jones
0d38f24605 Update 65_experimental.md
Update notes for line endings and equal operator spaces.
2025-12-13 01:39:17 +00:00
Robin Jones
c2187d7fd5 Work on ROM metadata 2025-12-13 01:29:03 +00:00
Robin Jones
93ee85daba Refactors age rating for alignment towards Homebrew ROM meta. 2025-12-12 22:38:45 +00:00
Robin Jones
b847e4f68a Updates enums for ESRB
The ESRB ratings make no sense after everyone 10+, but at least it aligns.
2025-12-12 21:03:48 +00:00
Robin Jones
74380bd01c Update 40_sound.md
Improve text.
2025-12-12 20:46:56 +00:00
Robin Jones
81ba4b0368 Add images to datel cheats docs 2025-12-12 19:15:43 +00:00
Robin Jones
8bfad08f51 Minor improvements to docs
Images were not placed correctly in certain circumstances.
2025-12-12 19:00:18 +00:00
Robin Jones
2ec1d59142 Update 11_menu_controls.md
Add tip for adding ROM and Expansion disks as a combination to favourites.
2025-12-12 18:38:33 +00:00
Robin Jones
6e491c16ff Update 12_rom_configuration.md
Improve note about ROM's using the homebrew header.
2025-12-12 18:31:24 +00:00
Robin Jones
a2af56e34a Improve doc for rom config
and add pictures.
2025-12-12 18:24:32 +00:00
Robin Jones
b253ca78b9 Update main-context-menu.png 2025-12-12 18:04:35 +00:00
Robin Jones
57efa26056 Update 10_getting_started_sd.md
Improve save conversion.
2025-12-12 17:11:22 +00:00
Robin Jones
c0cc138fc8 Multiple minor document improvements 2025-12-12 16:31:44 +00:00
Robin Jones
fefb340695 Publish website on main branch only 2025-12-08 21:13:43 +00:00
Robin Jones
177c2b5efd Use docfx for website (#297)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Improves documentation.
Moves to docfx for website publishing.
Splits devcontainers.

## 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 -->
Vastly improves documentation published to website.

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

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

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Improvement (non-breaking change that adds a new feature)
- [ ] Bug fix (fixes an issue)
- [ ] Breaking change (breaking change)
- [ ] Documentation Improvement
- [ ] Config and build (change in the configuration and build system,
has no impact on code or features)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.


You agree with the license terms and that other license types may be
granted with permission of the original `N64FlashcartMenu` project
license holders.

<!--- It would be nice if you could sign off your contribution by
replacing the name with your GitHub user name and GitHub email contact.
-->
Signed-off-by: GITHUB_USER <GITHUB_USER_EMAIL>


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

* **Documentation**
* Major restructuring and expansion of the user guide and table of
contents; many new and revised pages, formatting improvements, guidance
additions, and API/site doc generation configuration.
* **Chores**
* Added multiple containerized development environments and supporting
build scripts; CI workflow added to build and publish the documentation
site.
* **Style**
* Minor wording and title tweaks across docs; updated ignore rules and
documentation output paths.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-08 20:59:19 +00:00
Robin Jones
c2939e5056 Move WiP ED64 away from main readme
Most likely trips up most users.
2025-12-03 00:40:05 +00:00
Robin Jones
bec629edb9 Update 19_gamepak_boxart.md
Improve doc
2025-11-30 23:44:01 +00:00
Robin Jones
2bc9792fd0 Update 19_gamepak_boxart.md
Improve doc for ensuring metadata is up-to-date.
2025-11-23 20:50:41 +00:00
Robin Jones
a296b14b7d Update gamepak boxart folder paths
boxart is no longer a good folder.
2025-11-17 23:52:12 +00:00
Robin Jones
298c6065f0 Fix nitpick 2025-11-15 19:25:00 +00:00
Robin Jones
093fdfc8a9 Fixes for NDEBUG release
(might need further TLC).
2025-11-15 19:21:34 +00:00
Robin Jones
2524396be3 Update 99_developer_guide.md
* Add menu version example.
* Remove further pre-release notes from documentation.
* Remove pre-release flags from documentation where required.
* Update 32_menu_settings.md
* Add tip for fast reboot.
* Reset changelog.
2025-11-15 17:35:51 +00:00
Robin Jones
4fb877addc Add specific doc for updating the menu
Add youtube short.
Improve readme menu update instructions.
Remove note about updating SC64 FW.
2025-11-10 01:01:25 +00:00
Robin Jones
b9f89b58a4 Update 17_64dd.md
Improve info
2025-11-04 02:19:15 +00:00
Robin Jones
aec181ca80 Update 19_gamepak_boxart.md
Improve image information.
Add new link to suggested metadata.
2025-11-01 23:09:56 +00:00
dpranker
80829809ec Boxart image cycling (#281)
Currently load_rom only looks for the boxart_front, these changes add
support for boxart_front, boxart-back, boxart_left, boxart_right,
boxart_top, boxart_bottom, gamepak_front, and gamepak_right via cycling
the existing image via dpad or menu

## Description
All updates are in load_rom.c. Added an image index to track current
image. scan_boxart_images will check using the 4 digit code for which
images are present for easy cycling (with fallback logic). I originally
had it scanning the directory and preparing the files to cycle when
loading rom_info, but there is pretty noticeable lag so I delayed it to
the first time you attempt to cycle, since it feels like better UX to
still load the screen ASAP in case you just want to jump into ROM
loading.

## Motivation and Context
Documentation mentioned multiple boxarts, which I had loaded onto my SD
card. When I realized only the first art was implemented, I wanted to
give doing the rest a shot. This is my first contribution to the project
and first time really doing much of anything in C, so all feedback
either code or style is appreciated

## How Has This Been Tested?
<!-- (if applicable) -->
Testing has only been done on real hardware, I'm under the impression
that this would not work in testing via Ares due to the SD card
operations, but if this is not the case I'm happy to run through any
other scenarios needed.

## 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] Documentation Improvement
- [ ] Config and build (change in the configuration and build system,
has no impact on code or features)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [X] My code follows the code style of this project.
- [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.


You agree with the license terms and that other license types may be
granted with permission of the original `N64FlashcartMenu` project
license holders.

<!--- 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: dpranker<dranker89@gmail.com>

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

* **New Features**
* Image cycling added to ROM load view — use the D-pad to step
forward/back; skips missing images and plays a navigation sound.
* Support expanded for GamePak images: front and back plus left/right
orientations.

* **Documentation**
* Renamed "boxart" to "game art" and updated docs with new dimensions
(158×112 for GamePak front/back) and explicit storage location
(sd:/menu/metadata/).
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Robin Jones <networkfusion@users.noreply.github.com>
2025-10-30 22:12:37 +00:00
Robin Jones
2f46c47a45 Update 00_index.md
Fix missing EOF
2025-10-28 22:04:07 +00:00
Robin Jones
f1d3f714fa Improve docs for compatibility between release and pre-release. 2025-10-07 21:39:25 +01:00
Robin Jones
6fd06dfe5d Update 19_gamepak_boxart.md
Minor fixes
2025-10-07 19:30:08 +01:00
Robin Jones
60e50d1a4d Update 32_menu_settings.md 2025-10-05 22:59:33 +01:00
Robin Jones
62b54a3de3 Improve cpak doc
Add a screenshot.
2025-10-05 20:56:16 +01:00
Robin Jones
b418f6f404 Update 15_controller_paks.md
Requires further improvements.
2025-10-05 18:55:08 +01:00
Vices
d516f37eb9 [develop] browser: Add support for browsing and extracting zip files (#273)
## Description
This PR allows the browser to open ZIP files as directories and extract
files from the archive. For simplicity ZIP archives are treated as flat
directories with each entry simply showing the full folder hierarchy.
However the appropriate folder structure is still created when
extracting a file from a subfolder in the ZIP.

## Motivation and Context
Sometimes you might put a zipped ROM on your SD card when not paying
attention. Rather than having to put the SD card back into your PC you
can just extract it using your N64 instead.

## How Has This Been Tested?
I've tested it by extracting various files from `sc64-extra-v2.20.2.zip`
to test extracting files with subfolders.
I've also created my own test zip to test empty folders and file
comments.

## Screenshots
<img width="640" height="480" alt="screenshot"
src="https://github.com/user-attachments/assets/f4599904-a698-4b8f-b2d9-a4c28ae78b00"
/>

<img width="640" height="480" alt="screenshot"
src="https://github.com/user-attachments/assets/57d3ada2-a928-4a36-95c1-caca126b7012"
/>

## Types of changes
- [x] Improvement (non-breaking change that adds a new feature)
- [ ] Bug fix (fixes an issue)
- [ ] Breaking change (breaking change)
- [x] Documentation Improvement
- [x] Config and build (change in the configuration and build system,
has no impact on code or features)

## Checklist:
- [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.


You agree with the license terms and that other license types may be
granted with permission of the original `N64FlashcartMenu` project
license holders.


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

## Summary by CodeRabbit

- New Features
- Browse ZIP archives in the file browser, view contents, and extract
individual files with real-time progress and clear error messages.
- Archive-aware navigation and context actions (open archive, show entry
properties, extract).
- Detailed entry information screen (size, compression, directory/file
status, encryption, comments).
- Style
- Distinct styling for archive items in file lists to improve
recognition.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-27 20:54:03 +01:00
Robin Jones
2f20edf8e0 Add example build using flags to developer documentation 2025-09-09 21:01:16 +01:00
Robin Jones
efd4646f49 Add ability to load boxart from homebrew header (#265)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Add ability to load boxart from homebrew/hacks when the ROM reports the
game ID as `ED`. Rather than using the Game ID, it checks the ROM's title
instead.

## Motivation and Context
<!--- What does this sample do? What problem does it solve? -->
<!--- If it fixes/closes/resolves an open issue, please link to the
issue here -->
When using ROMs that utilise the Homebrew header, there was no way to
differenciate the "boxart" images.
We currently transverse the game ID for speed, but homebrew is small in
comparison, so as long as it matches the homebrew header type, using
names shouldnt be too much of an issue.


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

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

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] Improvement (non-breaking change that adds a new feature)
- [ ] Bug fix (fixes an issue)
- [ ] Breaking change (breaking change)
- [x] Documentation Improvement
- [ ] Config and build (change in the configuration and build system,
has no impact on code or features)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.


You agree with the license terms and that other license types may be
granted with permission of the original `N64FlashcartMenu` project
license holders.

<!--- It would be nice if you could sign off your contribution by
replacing the name with your GitHub user name and GitHub email contact.
-->
Signed-off-by: GITHUB_USER <GITHUB_USER_EMAIL>


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

## Summary by CodeRabbit

- New Features
- Added box art support for homebrew ROMs by matching titles, ensuring
correct images display alongside standard ROMs.
- Documentation
- Updated box art guidelines to include the homebrew directory structure
and title-based naming.
- Expanded “future support” note to include additional assets:
boxart_top, boxart_bottom, boxart_left, boxart_right, gamepak_front, and
gamepak_back.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-09 20:29:50 +01:00
Robin Jones
360af4b64c Update 99_developer_guide.md 2025-09-03 23:20:32 +01:00
Robin Jones
6075da7760 Add Cheat UI (#256)
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Adds the ability to load cheats from a file (via the UI).

## 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)
- [x] Documentation Improvement
- [ ] Config and build (change in the configuration and build system,
has no impact on code or features)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.


You agree with the license terms and that other license types may be
granted with permission of the original `N64FlashcartMenu` project
license holders.

<!--- It would be nice if you could sign off your contribution by
replacing the name with your GitHub user name and GitHub email contact.
-->
Signed-off-by: GITHUB_USER <GITHUB_USER_EMAIL>


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

- New Features
- Added Datel Code Editor to ROM info: view, enable/disable, and edit
cheats.
  - Cheats can be loaded from and saved to a per-ROM datel.txt file.
- Expansion Pak-aware behavior: cheats only load/apply when Expansion
Pak is present.
- Improved cheat compatibility and stability across more titles/cheat
types.

- Documentation
- Overhauled Datel cheats guide: file-based workflow, examples, caveats,
and known issues.
  - Clarified Expansion Pak requirement for cheat loading.
  - Removed an outdated changelog note.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-08-24 16:07:55 +01:00
Robin Jones
dc6b573b64 Improve cheat documentation 2025-08-22 23:43:08 +01:00
Robin Jones
bca44665c8 Improve ability to debug remotely 2025-07-15 23:24:45 +01:00
Robin Jones
0b9f34f2fe Remove metadata descriptions
Until we can find a better way.
2025-07-11 12:17:03 +01:00
Robin Jones
5302d00e98 Improvements to custom ROM configuration settings
- Add FEATURE_CHEATS_GUI_ENABLED
	- Add FEATURE_PATCHER_GUI_ENABLED
2025-07-09 18:36:08 +01:00
Robin Jones
9ce37ac8e6 Add file info support for cheaters. 2025-07-09 15:02:08 +01:00
Robin Jones
03d0d76ce8 Improve cheats documentation 2025-07-09 14:29:52 +01:00
Robin Jones
b91d8364de Merge branch 'develop' of https://github.com/Polprzewodnikowy/N64FlashcartMenu into develop 2025-07-09 12:19:48 +01:00
Robin Jones
7b68b2fcfa Update 99_developer_guide.md
Add debug example.
Improve tips.
Improvements for readability.
2025-07-07 21:01:47 +01:00
Robin Jones
b1bd92e01e Update 99_developer_guide.md
Add debug example
2025-07-03 23:16:18 +01:00
Robin Jones
4a8cd3548f Minor documentation improvements 2025-07-03 22:23:25 +01:00