Skip to content

Commit e5c2fcf

Browse files
Merge branch 'develop' into cpak-management
2 parents 694cd12 + f2cff4c commit e5c2fcf

File tree

12 files changed

+49
-37
lines changed

12 files changed

+49
-37
lines changed

README.md

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ An open source menu for N64 flashcarts.
3232
## Documentation
3333
* [Getting started guide](./docs/00_getting_started_sd.md)
3434
* [Menu controls](./docs/01_menu_controls.md)
35-
* [Menu customizations](./docs/07_menu_customizations.md)
35+
* [Menu customization](./docs/07_menu_customization.md)
3636
* [Developer guide](./docs/99_developer_guide.md)
3737

3838
## Video showcase (as of Oct 12 2023)
@@ -53,27 +53,36 @@ These features are subject to change:
5353

5454
### N64 ROM autoload
5555
To use the autoload function, while on the `N64 ROM information` display, press the `R` button on your joypad and select the `Set ROM to autoload` option. When you restart the console, it will now only load the selected ROM rather than the menu.
56-
NOTE: to return to the menu, hold joypad `start` button whilst powering on the console.
56+
The autoload setting is stored in `config.ini` and persists until changed. This feature may slightly increase boot time as the menu needs to check for the Start button state.
57+
NOTE: To return to the menu, hold the joypad `Start` button while powering on the console.
5758

5859
### GamePak sprites
59-
To use N64 `GamePak` sprites, place `PNG` files within the `sd:/menu/boxart/` folder.
60-
60+
To use N64 GamePak sprites, place PNG files within the `sd:/menu/boxart/` folder.
6161

6262
#### Supported sprites
6363
These must be `PNG` files that use the following dimensions:
6464
* Standard N64 GamePak boxart sprites: 158x112
6565
* Japanese N64 GamePak boxart sprites: 112x158
6666
* 64DD boxart sprites: 129x112
6767

68+
Supported PNG formats:
69+
* RGB/RGBA color formats
70+
* 8-bit color depth
71+
6872
They will be loaded by directories using each character (case-sensitive) of the full 4 character Game Code (as identified in the menu ROM information).
6973
i.e. for GoldenEye NTSC USA (NGEE), this would be `sd:/menu/boxart/N/G/E/E/boxart_front.png`.
7074
i.e. for GoldenEye PAL (NGEP), this would be `sd:/menu/boxart/N/G/E/P/boxart_front.png`.
7175

7276
To improve compatibility between regions (as a fallback), you may exclude the region ID (last matched directory) for GamePaks to match with 3 letter IDs instead:
7377
i.e. for GoldenEye, this would be `sd:/menu/boxart/N/G/E/boxart_front.png`.
7478

75-
**Note1:** Excluding the region ID may show the wrong boxart.
76-
**Note2:** For future support, boxart sprites should also include: `boxart_back.png`, `boxart_top.png`, `boxart_bottom.png`, `boxart_left.png`, `boxart_right.png`.
79+
**Warning**: Excluding the region ID may show the wrong boxart.
80+
**Note**: For future support, boxart sprites should also include:
81+
* `boxart_back.png`
82+
* `boxart_top.png`
83+
* `boxart_bottom.png`
84+
* `boxart_left.png`
85+
* `boxart_right.png`
7786

7887
As a starting point, here is a link to a boxart pack following the new structure, including `boxart_front.png` and failback images:
7988
* [Link](https://drive.google.com/file/d/1IpCmFqmGgGwKKmlRBxYObfFR9XywaC6n/view?usp=drive_link)
@@ -117,14 +126,14 @@ If required, you can manually adjust the file on the SD card using your computer
117126

118127
### ED64 - WIP - UNTESTED AND UNSUPPORTED - USE AT OWN RISK
119128
Currently not supported, but work is in progress (See [PR's](https://github.com/Polprzewodnikowy/N64FlashcartMenu/pulls)).
120-
NOTE: The menu may be able to load ROM's but not perform saves and may break existing ones..
129+
**Warning**: The menu may be able to load ROMs but cannot guarantee save functionality. Existing saves may be corrupted.
121130

122131
#### ED64 (Vseries)
123132
The aim is to reach feature parity with [ED64-UnofficialOS](https://github.com/n64-tools/ED64-UnofficialOS-binaries) / [ED64-OfficialOS](https://krikzz.com/pub/support/everdrive-64/v2x-v3x/os-bin/).
124133
Download the `OS64.v64` ROM from the latest [action run - assets] and place it in the `/ED64` folder.
125134

126135
#### ED64 (X series)
127-
X Series support is currently awaiting fixes, in the meantime use the official [OS](https://krikzz.com/pub/support/everdrive-64/x-series/OS/) instead.
136+
X Series support is currently awaiting fixes. Please use the official [OS](https://krikzz.com/pub/support/everdrive-64/x-series/OS/) for now.
128137

129138
#### ED64 (P clone)
130139
Download the `OS64P.v64` ROM from the latest [action run - assets] and place it in the `/ED64P` folder.

docs/00_getting_started_sd.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
## First time setup of SD card
22

3-
Using your PC, insert the SD card and ensure it is formatted for compatibility with your flashcart
3+
### Flashcarts
4+
Using your PC, insert the SD card and ensure it is formatted for compatibility with your flashcart.
5+
**warning** Filenames are expected to be part of the ASCII character set. Unicode characters are not fully supported and may cause a crash screen.
6+
47
#### SC64
58
- FAT32 and EXFAT are fully supported.
69
- An SD formatted with 128 kiB cluster size is recommended.

docs/01_menu_controls.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Use the C-Up and C-Down buttons
77
### DD ROMs
88

99
#### Expansion Disks
10-
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.
10+
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 `L` or `Z` button.
1111

1212
#### Disk swapping
1313
This feature is not currently available in the menu.

src/menu/menu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ static void menu_init (boot_params_t *boot_params) {
9191

9292
path_free(path);
9393

94-
sound_use_sfx(menu->settings.sound_enabled);
94+
sound_use_sfx(menu->settings.soundfx_enabled);
9595

9696
menu->browser.directory = path_init(menu->storage_prefix, menu->settings.default_directory);
9797
if (!directory_exists(path_get(menu->browser.directory))) {

src/menu/settings.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ static settings_t init = {
1313
.show_protected_entries = false,
1414
.default_directory = "/",
1515
.use_saves_folder = true,
16-
.sound_enabled = true,
16+
.soundfx_enabled = false,
1717
.rom_autoload_enabled = false,
1818
.rom_autoload_path = "",
1919
.rom_autoload_filename = "",
@@ -42,7 +42,7 @@ void settings_load (settings_t *settings) {
4242
settings->show_protected_entries = mini_get_bool(ini, "menu", "show_protected_entries", init.show_protected_entries);
4343
settings->default_directory = strdup(mini_get_string(ini, "menu", "default_directory", init.default_directory));
4444
settings->use_saves_folder = mini_get_bool(ini, "menu", "use_saves_folder", init.use_saves_folder);
45-
settings->sound_enabled = mini_get_bool(ini, "menu", "sound_enabled", init.sound_enabled);
45+
settings->soundfx_enabled = mini_get_bool(ini, "menu", "soundfx_enabled", init.soundfx_enabled);
4646

4747
settings->rom_autoload_enabled = mini_get_bool(ini, "menu", "autoload_rom_enabled", init.rom_autoload_enabled);
4848
settings->rom_autoload_path = strdup(mini_get_string(ini, "autoload", "rom_path", init.rom_autoload_path));
@@ -62,7 +62,7 @@ void settings_save (settings_t *settings) {
6262
mini_set_bool(ini, "menu", "show_protected_entries", settings->show_protected_entries);
6363
mini_set_string(ini, "menu", "default_directory", settings->default_directory);
6464
mini_set_bool(ini, "menu", "use_saves_folder", settings->use_saves_folder);
65-
mini_set_bool(ini, "menu", "sound_enabled", settings->sound_enabled);
65+
mini_set_bool(ini, "menu", "soundfx_enabled", settings->soundfx_enabled);
6666
mini_set_bool(ini, "menu", "autoload_rom_enabled", settings->rom_autoload_enabled);
6767
mini_set_string(ini, "autoload", "rom_path", settings->rom_autoload_path);
6868
mini_set_string(ini, "autoload", "rom_filename", settings->rom_autoload_filename);

src/menu/settings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ typedef struct {
2626
bool bgm_enabled;
2727

2828
/** @brief Enable Sounds */
29-
bool sound_enabled;
29+
bool soundfx_enabled;
3030

3131
/** @brief Enable rumble feedback */
3232
bool rumble_enabled;

src/menu/views/browser.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -279,11 +279,11 @@ static void set_menu_next_mode (menu_t *menu, void *arg) {
279279

280280
static component_context_menu_t settings_context_menu = {
281281
.list = {
282-
{ .text = "Edit settings", .action = set_menu_next_mode, .arg = (void *) (MENU_MODE_SETTINGS_EDITOR) },
283-
{ .text = "Show system info", .action = set_menu_next_mode, .arg = (void *) (MENU_MODE_SYSTEM_INFO) },
284-
{ .text = "Show credits", .action = set_menu_next_mode, .arg = (void *) (MENU_MODE_CREDITS) },
285-
{ .text = "Adjust RTC", .action = set_menu_next_mode, .arg = (void *) (MENU_MODE_RTC) },
286-
{ .text = "Show cart info", .action = set_menu_next_mode, .arg = (void *) (MENU_MODE_FLASHCART) },
282+
{ .text = "Menu settings", .action = set_menu_next_mode, .arg = (void *) (MENU_MODE_SETTINGS_EDITOR) },
283+
{ .text = "Time (RTC) settings", .action = set_menu_next_mode, .arg = (void *) (MENU_MODE_RTC) },
284+
{ .text = "Menu information", .action = set_menu_next_mode, .arg = (void *) (MENU_MODE_CREDITS) },
285+
{ .text = "Flashcart information", .action = set_menu_next_mode, .arg = (void *) (MENU_MODE_FLASHCART) },
286+
{ .text = "N64 information", .action = set_menu_next_mode, .arg = (void *) (MENU_MODE_SYSTEM_INFO) },
287287
{ .text = "CPak Management", .action = set_menu_next_mode, .arg = (void *) (MENU_MODE_JOYPAD_CPAK) },
288288
COMPONENT_CONTEXT_MENU_LIST_END,
289289
}

src/menu/views/credits.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ static void draw (menu_t *menu, surface_t *d) {
4242
" Robin Jones / NetworkFusion\n"
4343
" Mateusz Faderewski / Polprzewodnikowy\n"
4444
"Credits:\n"
45-
" N64Brew / libdragon contributors\n"
45+
" N64Brew / libDragon contributors\n"
4646
"\n"
4747
"OSS software used:\n"
4848
" libdragon (UNLICENSE License)\n"

src/menu/views/rtc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ static void draw (menu_t *menu, surface_t *d) {
188188

189189
ui_components_actions_bar_text_draw(
190190
ALIGN_LEFT, VALIGN_TOP,
191-
"A: Change\n"
191+
"A: Adjust time\n"
192192
"B: Back"
193193
);
194194
}

0 commit comments

Comments
 (0)