From 387ad30183282176d46cf98922548e9997a98cd0 Mon Sep 17 00:00:00 2001 From: Robin Jones Date: Wed, 1 Nov 2023 18:33:25 +0000 Subject: [PATCH 1/3] Improve readme --- README.md | 77 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 7235d2af..1e877ed2 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,6 @@ # N64 Flashcart Menu An open source menu for N64 flashcarts. -## Aims -* Support as many N64 FlashCarts as possible. -* Be open source, using permissive licensed third party licensed libraries. -* Be testable, using unit and smoke tests in ares emulated environment. -* Encourage active development from community members and N64 FlashCart owners. -* Support as many common mods and features as possible. - ## Current (notable) menu features * Fully Open Source. @@ -21,45 +14,33 @@ An open source menu for N64 flashcarts. * Real Time Clock support. * Music playback (MP3). -## Video showcase (as of Oct 12 2023) + +### Video showcase (as of Oct 12 2023) [![N64FlashcartMenu Showcase](http://img.youtube.com/vi/6CKImHTifDA/0.jpg)](http://www.youtube.com/watch?v=6CKImHTifDA "N64FlashcartMenu Showcase (Oct 12 2023)") + +## Aims +* Support as many N64 FlashCarts as possible. +* Be open source, using permissive licensed third party licensed libraries. +* Be testable, using unit and smoke tests in ares emulated environment. +* Encourage active development from community members and N64 FlashCart owners. +* Support as many common mods and features as possible. + + ## Getting started - -### 64drive -Ensure the cart has the latest [firmware](https://64drive.retroactive.be/support.php) installed. -Download the latest `menu.bin` file from the releases page, then put it in the root directory of your SD card. - -### SC64 -Ensure the cart has the latest [firmware](https://github.com/Polprzewodnikowy/SummerCart64/releases/latest) installed. -Download the latest `sc64menu.n64` file from the releases page, then put it in the root directory of your SD card. - -#### 64DD disk support -For the ability to load and run 64DD disk images, you need to add the folder `/menu/64ddipl` on the SD card. -Download and add the relevant ipl files and rename them before adding them to the folder: -- `NDDE0.n64` the US Prototype IPL can be downloaded from [here](https://64dd.org/dumps/64DD_IPL_US_MJR.n64) -- `NDXJ0.n64` the JPN Development IPL can be downloaded from [here](https://64dd.org/dumps/64DD_IPL_DEV_H4G.n64) -- `NDDJ2.n64` the JPN Retail IPL can be downloaded from [here](https://64dd.org/dumps/N64DD_IPLROM_(J).zip) - -Note: to load an expansion disk (e.g. F-Zero X) browse to the N64 ROM and load it (but not start it) and then browse to the DD expansion file and press the `R` button. - -### ED64 & ED64P -Currently not supported, but there is an aim to do so. - -The aim is to replace [Altra64](https://github.com/networkfusion/altra64) and [ED64-UnofficialOS](https://github.com/n64-tools/ED64-UnofficialOS-binaries). +Using your PC, insert the SD card and ensure it is formatted for compatibility (We recommend FAT32 in most instances). -### Common to all flashcarts - -#### ROM Boxart +### ROM Boxart To use boxart, you need to place png files of size 158x112 in the folder `/menu/boxart` on the SD card. Each file must be named according to the 2 letter ROM ID, or 3 letter ROM ID including media type. i.e. for GoldenEye 2 letters, this would be `GE.png`. i.e. for GoldenEye 3 letters, this would be `NGE.png`. A known set of PNG files using 2 letter ID's can be downloaded [here](https://mega.nz/file/6cNGwSqI#8X5ukb65n3YMlGaUtSOGXkKo9HxVnnMOgqn94Epcr7w). -#### Emulator support + +### Emulator support Emulators should be added to the `/menu/emulators` directory on the SD card. Menu currently supports the following emulators and associated ROM file names: @@ -69,8 +50,32 @@ Menu currently supports the following emulators and associated ROM file names: - **Sega Master System** / **Sega Game Gear** / **Sg1000**: [TotalSMS](https://github.com/ITotalJustice/TotalSMS) - `TotalSMS.z64` (Currently broken) +### SC64 Specific +- Ensure the cart has the latest [firmware](https://github.com/Polprzewodnikowy/SummerCart64/releases/latest) installed. +- Download the latest `sc64menu.n64` file from the releases page, then put it in the root directory of your SD card. + +##### 64DD disk support +For the ability to load and run 64DD disk images, you need to add the folder `/menu/64ddipl` on the SD card. +Download and add the relevant ipl files and rename them before adding them to the folder: +- `NDDE0.n64` the US Prototype IPL can be downloaded from [here](https://64dd.org/dumps/64DD_IPL_US_MJR.n64) +- `NDXJ0.n64` the JPN Development IPL can be downloaded from [here](https://64dd.org/dumps/64DD_IPL_DEV_H4G.n64) +- `NDDJ2.n64` the JPN Retail IPL can be downloaded from [here](https://64dd.org/dumps/N64DD_IPLROM_(J).zip) + +Note: to load an expansion disk (e.g. F-Zero X) browse to the N64 ROM and load it (but not start it) and then browse to the DD expansion file and press the `R` button. + + +### 64drive Specific +- Ensure the cart has the latest [firmware](https://64drive.retroactive.be/support.php) installed. +- Download the latest `menu.bin` file from the releases page, then put it in the root directory of your SD card. + + +### ED64 & ED64P Specific +Currently not supported, but work is in progress (See [PR's](https://github.com/Polprzewodnikowy/N64FlashcartMenu/pulls)). + +The aim is to replace [Altra64](https://github.com/networkfusion/altra64) and [ED64-UnofficialOS](https://github.com/n64-tools/ED64-UnofficialOS-binaries). + + # Developer documentation -**Work in progress!** You can use a dev container in VSCode to ease development. @@ -81,7 +86,7 @@ You can use a dev container in VSCode to ease development. * Extract and place `sc64deployer.exe` in the `tools/sc64` directory. Make sure that your firmware is compatible (currently v2.17.0+) -See: https://github.com/Polprzewodnikowy/SummerCart64/blob/v2.17.0/docs/00_quick_startup_guide.md#firmware-backupupdate +See: [here](https://github.com/Polprzewodnikowy/SummerCart64/blob/v2.17.0/docs/00_quick_startup_guide.md#firmware-backupupdate) #### From the devcontainer From 67debb3f0cf51f789c95f2c9e36716ba81589ac6 Mon Sep 17 00:00:00 2001 From: Robin Jones Date: Wed, 1 Nov 2023 18:47:08 +0000 Subject: [PATCH 2/3] Add build badge --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1e877ed2..9d7258b5 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +![Build](https://github.com/polprzewodnikowy/N64FlashcartMenu/actions/workflows/build.yml/badge.svg) + # N64 Flashcart Menu An open source menu for N64 flashcarts. From d287c191ee80be1f9d44df10b6fbb60a9e59bf8e Mon Sep 17 00:00:00 2001 From: Robin Jones Date: Wed, 1 Nov 2023 21:18:26 +0000 Subject: [PATCH 3/3] Update submodules (#64) ## Description Updates the library submodules. NOTE: `minic` has a breaking change which required adding `MINI_FLAGS_SKIP_EMPTY_GROUPS`. See: https://github.com/univrsal/mini.c/commit/6229658b9d275fb760bcee119104bdbd7873536e ## Motivation and Context Keeps the project up-to-date ## How Has This Been Tested? ## Screenshots ## Types of changes - [ ] 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: - [ ] 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. Signed-off-by: GITHUB_USER --- libdragon | 2 +- src/libs/mini.c | 2 +- src/libs/miniz | 2 +- src/menu/settings.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libdragon b/libdragon index dd2202a6..4b38fd56 160000 --- a/libdragon +++ b/libdragon @@ -1 +1 @@ -Subproject commit dd2202a6082cd3d92f4c22e64b27f148612c4c3a +Subproject commit 4b38fd5618007e7ed9040107d0f7e52f2de81a22 diff --git a/src/libs/mini.c b/src/libs/mini.c index f713e3c9..6229658b 160000 --- a/src/libs/mini.c +++ b/src/libs/mini.c @@ -1 +1 @@ -Subproject commit f713e3c98ee2340a90334da6084c34ec2109a7e6 +Subproject commit 6229658b9d275fb760bcee119104bdbd7873536e diff --git a/src/libs/miniz b/src/libs/miniz index 9ae305f6..18795fa6 160000 --- a/src/libs/miniz +++ b/src/libs/miniz @@ -1 +1 @@ -Subproject commit 9ae305f6e109f8f1fbd2130458f1ee6197269b3b +Subproject commit 18795fa61e590521381ba9e1fa4a4ab362b095f6 diff --git a/src/menu/settings.c b/src/menu/settings.c index df642c61..882293c6 100644 --- a/src/menu/settings.c +++ b/src/menu/settings.c @@ -55,7 +55,7 @@ void settings_save (settings_t *settings) { // mini_set_bool(ini, "menu_beta_flag", "sound_enabled", init.sound_enabled); // mini_set_bool(ini, "menu_beta_flag", "rumble_enabled", init.rumble_enabled); - mini_save(ini); + mini_save(ini, MINI_FLAGS_SKIP_EMPTY_GROUPS); mini_free(ini); }