From 66327f99d9550257f9e7769a8f95b02c98ad4e0c Mon Sep 17 00:00:00 2001 From: ApacheThunder Date: Thu, 11 Jul 2024 02:50:03 -0500 Subject: [PATCH] Add additional boot options * Misc.nds and Misc2.nds boot paths added for X and Y buttons. * Can boot to GBA mode while in filebrowser by pressing X button. * Example gbaframe.bmp provided. --- arm9/source/file_browse.cpp | 8 ++++++++ arm9/source/main.cpp | 18 ++++++++++++++++-- gbaframe.bmp | Bin 0 -> 147510 bytes 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 gbaframe.bmp diff --git a/arm9/source/file_browse.cpp b/arm9/source/file_browse.cpp index daa7133..6a3ae21 100644 --- a/arm9/source/file_browse.cpp +++ b/arm9/source/file_browse.cpp @@ -39,6 +39,8 @@ using namespace std; +extern void gbaMode(); + struct DirEntry { string name; bool isDirectory; @@ -209,5 +211,11 @@ string browseForFile (const vector& extensionList) { fileOffset = 0; showDirectoryContents (dirContents, screenOffset); } + + if (pressed & KEY_X) { + gbaMode(); + while(1)swiWaitForVBlank(); + } } } + diff --git a/arm9/source/main.cpp b/arm9/source/main.cpp index 2dba61f..079e44e 100644 --- a/arm9/source/main.cpp +++ b/arm9/source/main.cpp @@ -183,11 +183,25 @@ int main(int argc, char **argv) { if (!isDSiMode()) { gbaMode(); } else { FileBrowser(); } } break; case KEY_B: FileBrowser(); break; + case KEY_X: { + if((access("/Misc.nds", F_OK) == 0)) { + runNdsFile("/Misc.nds", 0, NULL); + } else { + FileBrowser(); + } + } break; + case KEY_Y: { + if((access("/Misc2.nds", F_OK) == 0)) { + runNdsFile("/Misc2.nds", 0, NULL); + } else { + FileBrowser(); + } + } break; default: { if((access("/r4tf.nds", F_OK) == 0)) { - return runNdsFile("/r4tf.nds", 0, NULL); + runNdsFile("/r4tf.nds", 0, NULL); } else if((access("/boot.nds", F_OK) == 0)) { - return runNdsFile("/boot.nds", 0, NULL); + runNdsFile("/boot.nds", 0, NULL); } else { FileBrowser(); } diff --git a/gbaframe.bmp b/gbaframe.bmp new file mode 100644 index 0000000000000000000000000000000000000000..5da8897375b0c32aeab5a7740aa269e816dac363 GIT binary patch literal 147510 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