diff --git a/arm9/source/driveMenu.cpp b/arm9/source/driveMenu.cpp index a77f57f..0a4bc13 100644 --- a/arm9/source/driveMenu.cpp +++ b/arm9/source/driveMenu.cpp @@ -33,6 +33,7 @@ using namespace std; +bool flashcardMountSkipped = true; static bool flashcardMountRan = true; static bool dmTextPrinted = false; int dmCursorPosition = 0; @@ -42,7 +43,7 @@ void driveMenu (void) { int held = 0; while (true) { - if (isDSiMode() && !pressed && !held) { + if (isDSiMode() && !flashcardMountSkipped && !pressed && !held) { if (REG_SCFG_MC == 0x11) { if (flashcardMounted) { flashcardUnmount(); diff --git a/arm9/source/driveMenu.h b/arm9/source/driveMenu.h index c53434d..d81d163 100644 --- a/arm9/source/driveMenu.h +++ b/arm9/source/driveMenu.h @@ -4,6 +4,7 @@ #include #include +extern bool flashcardMountSkipped; extern int dmCursorPosition; extern void driveMenu (void); diff --git a/arm9/source/main.cpp b/arm9/source/main.cpp index 1f44615..5dab48a 100644 --- a/arm9/source/main.cpp +++ b/arm9/source/main.cpp @@ -120,7 +120,11 @@ int main(int argc, char **argv) { if (isDSiMode()) { sdMounted = sdMount(); } - flashcardMounted = flashcardMount(); + scanKeys(); + if (!isDSiMode() || !(keysHeld() & KEY_Y)) { + flashcardMounted = flashcardMount(); + flashcardMountSkipped = false; + } // Top screen as a console videoSetMode(MODE_0_2D);