bug fixes

This commit is contained in:
Robz8 2018-10-04 21:59:30 -06:00
parent 8e07f18eea
commit 06f46aed76
2 changed files with 13 additions and 4 deletions

View File

@ -43,7 +43,13 @@ void driveMenu (void) {
while (true) { while (true) {
if (isDSiMode() && !pressed) { if (isDSiMode() && !pressed) {
flashcardMounted = flashcardMount(); // Try to mount flashcard if (REG_SCFG_MC == 0x11) {
if (flashcardMounted) {
flashcardUnmount();
}
} else {
flashcardMounted = flashcardMount(); // Try to mount flashcard
}
} }
if (!dmTextPrinted) { if (!dmTextPrinted) {
@ -88,7 +94,7 @@ void driveMenu (void) {
printf ("\x1b[3;1H"); printf ("\x1b[3;1H");
} }
printf ("[fat:] GAMECART"); printf ("[fat:] GAMECART");
if (!flashcardFound()) { if (!flashcardMounted) {
iprintf ("\x1b[%i;29H", 2+isDSiMode()); iprintf ("\x1b[%i;29H", 2+isDSiMode());
printf ("[x]"); printf ("[x]");
} }
@ -111,6 +117,7 @@ void driveMenu (void) {
swiWaitForVBlank(); swiWaitForVBlank();
if (REG_SCFG_MC != dm_SCFG_MC) { if (REG_SCFG_MC != dm_SCFG_MC) {
dmTextPrinted = false;
break; break;
} }
} while (!(pressed & KEY_UP) && !(pressed & KEY_DOWN) && !(pressed & KEY_A) && !(held & KEY_R)); } while (!(pressed & KEY_UP) && !(pressed & KEY_DOWN) && !(pressed & KEY_A) && !(held & KEY_R));

View File

@ -107,6 +107,8 @@ void ShowGameInfo(const char gameid[], const char gamename[]) {
bool flashcardMount(void) { bool flashcardMount(void) {
if (flashcardFound()) { if (flashcardFound()) {
return true; return true;
} else if (!isDSiMode()) {
return fatMountSimple("fat", &io_dldi_data->ioInterface);
} else if (REG_SCFG_MC != 0x11) { } else if (REG_SCFG_MC != 0x11) {
// Reset Slot-1 to allow reading title name and ID // Reset Slot-1 to allow reading title name and ID
sysSetCardOwner (BUS_OWNER_ARM9); sysSetCardOwner (BUS_OWNER_ARM9);
@ -147,8 +149,8 @@ bool flashcardMount(void) {
io_dldi_data = dldiLoadFromBin(ak2_sd_bin); io_dldi_data = dldiLoadFromBin(ak2_sd_bin);
return fatMountSimple("fat", &io_dldi_data->ioInterface); return fatMountSimple("fat", &io_dldi_data->ioInterface);
} }
return false;
} }
return false;
} }
void flashcardUnmount(void) { void flashcardUnmount(void) {