Repository navigation
add Grid view tab - #430
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@rmmh I would love to test, but the CI build is broken. |
|
Just a comment, if on first run, the menu takes more than 1 second to load, users will complain. If a cache now needs to be populated, a message needs to be shown (but preferably it needs to be a background task). |
|
Since I have been unable to check, please ensure that homebrew ROM embedded meta still works as expected. |
Grid is an artwork view of the N64 ROMs directly inside one library directory, and the first of the main tabs. It needs menu/metadata for names and artwork; without it, the Grid tab and its settings are hidden and the menu uses Files. Browsing: - Tiles show box or cartridge art (Z), with the title as a marquee. - C-Up sorts by title, keeping a manual arrangement made by holding A and moving a tile; C-Left sorts by release date; C-Right groups by first author. Sort changes keep the selected ROM. - A opens ROM details, Start launches immediately, stopping at the Expansion Pak warning when needed. B and details return to Grid. - Decoded artwork is kept in a 2 MiB cache when memory allows, including while ROM details are open. Index: - ROM details, arrangement, and view choices are cached in menu/cache/grid.index. The first time Grid opens after boot, and after Files deletes or extracts anything, it lists the library and reads only new ROMs; 41 cached ROMs sync in about 40 ms instead of 2 s. Slow scans show a progress bar. - Up to 512 ROMs; subdirectories, other menus' ROMs, and system files such as macOS "._" companions are skipped. - If the library can't be read, the index is kept and the empty Grid names the directory and how to change it. Settings and Files: - Settings > Menu gains Boot Into (Grid or Files), Grid Library, and Grid Cache, which shows the ROM count and deletes the index on A. - Files' context menu gains Set as Grid library directory. - The menu checks for an Expansion Pak at startup so libdragon does not warn when Grid allocates past 4 MiB.
Grid tiles now take titles, authors, dates, and artwork from a ROM's .meta companion, then menu/metadata, then metadata embedded in the ROM, matching ROM details. The index records the source (version 2).
|
Users may need more docs for But I can confirm that the homebrew ROM's that include metadata are now showing in the grid view 👍 . |
|
added docs for those settings and improved the wording so it's not confusing when hovered over a dir |
|
I am going to merge this, but the outstanding is: Is there any reason why the cpak manager cannot be a tab (rather than in the settings) which would remove the issue entirely, also, there is no reason why the options invalid options should not be removed from the sub menu when not valid. |


Grid is an artwork view of the N64 ROMs directly inside one library directory, and the first of the main tabs. It needs menu/metadata for names and artwork; without it, the Grid tab and its settings are hidden and the menu uses Files.
Description
Browsing:
Index:
Settings and Files:
Motivation and Context
The Grid tab makes choosing a ROM more graphically satisfying by using the graphical metadata.
How Has This Been Tested?
This has been tested extensively in emulator and on hardware, and had several rounds of refinement for the UI.
The grid is invisible if there's no menu/metadata on the SD card, since that means there won't be any images, and does not increase boot time for the menu. The first visit to the grid tab may take several seconds to build the index, but has a progress bar.
Screenshots
Types of changes
Checklist:
You agree with the license terms and that other license types may be granted with permission of the original
N64FlashcartMenuproject license holders.Signed-off-by: rmmh hitchmanr@gmail.com