Change GBA mode button ..

* GBA mode trigger now occurs on B button instead of A button as some
flashcarts like DSTT use a launcher that already uses this button for
GBA mode.
* FileBrowser trigger remapped to trigger from any button not assigned
to the other actions. So if shoulder buttons or Start/Select button is
used file browser comes up. This ensures user can enter filebrowser
without triggering any special mode their flashcart's main loader might
have for the button they wanted to use. This isn't relevent for original
R4 but if user wishes to use this bootstrap on other carts (like DSTT)
then it would have been an issue. DSTT appearently boots into GBA mode
if B was used on boot.
This commit is contained in:
ApacheThunder 2024-07-12 23:34:50 -05:00
parent 66327f99d9
commit ec40edc227
2 changed files with 9 additions and 4 deletions

View File

@ -10,7 +10,7 @@ export TOPDIR := $(CURDIR)
export HBMENU_MAJOR := 1 export HBMENU_MAJOR := 1
export HBMENU_MINOR := 0 export HBMENU_MINOR := 0
export HBMENU_PATCH := 1 export HBMENU_PATCH := 2
VERSION := $(HBMENU_MAJOR).$(HBMENU_MINOR).$(HBMENU_PATCH) VERSION := $(HBMENU_MAJOR).$(HBMENU_MINOR).$(HBMENU_PATCH)

View File

@ -143,6 +143,11 @@ int stop(void) {
int FileBrowser() { int FileBrowser() {
InitGUI(); InitGUI();
consoleClear(); consoleClear();
while(1) {
swiWaitForVBlank();
scanKeys();
if (!keysHeld())break;
}
vector<string> extensionList = argsGetExtensionList(); vector<string> extensionList = argsGetExtensionList();
chdir("/nds"); chdir("/nds");
while(1) { while(1) {
@ -179,10 +184,9 @@ int main(int argc, char **argv) {
swiWaitForVBlank(); swiWaitForVBlank();
scanKeys(); scanKeys();
switch (keysDown()) { switch (keysDown()) {
case KEY_A: { case KEY_B: {
if (!isDSiMode()) { gbaMode(); } else { FileBrowser(); } if (!isDSiMode()) { gbaMode(); } else { FileBrowser(); }
} break; } break;
case KEY_B: FileBrowser(); break;
case KEY_X: { case KEY_X: {
if((access("/Misc.nds", F_OK) == 0)) { if((access("/Misc.nds", F_OK) == 0)) {
runNdsFile("/Misc.nds", 0, NULL); runNdsFile("/Misc.nds", 0, NULL);
@ -197,7 +201,7 @@ int main(int argc, char **argv) {
FileBrowser(); FileBrowser();
} }
} break; } break;
default: { case 0: {
if((access("/r4tf.nds", F_OK) == 0)) { if((access("/r4tf.nds", F_OK) == 0)) {
runNdsFile("/r4tf.nds", 0, NULL); runNdsFile("/r4tf.nds", 0, NULL);
} else if((access("/boot.nds", F_OK) == 0)) { } else if((access("/boot.nds", F_OK) == 0)) {
@ -206,6 +210,7 @@ int main(int argc, char **argv) {
FileBrowser(); FileBrowser();
} }
} break; } break;
default: FileBrowser(); break;
} }
return stop(); return stop();
} }