diff --git a/arm9/source/file_browse.cpp b/arm9/source/file_browse.cpp index a55bc47..6cee520 100644 --- a/arm9/source/file_browse.cpp +++ b/arm9/source/file_browse.cpp @@ -101,15 +101,21 @@ void getDirectoryContents (vector& dirContents) { if (!dirEntry.isDirectory) { dirEntry.size = getFileSize(dirEntry.name.c_str()); } - dirEntry.isApp = - ((dirEntry.name.substr(dirEntry.name.find_last_of(".") + 1) == "nds") + if ((dirEntry.name.substr(dirEntry.name.find_last_of(".") + 1) == "nds") || (dirEntry.name.substr(dirEntry.name.find_last_of(".") + 1) == "NDS") || (dirEntry.name.substr(dirEntry.name.find_last_of(".") + 1) == "argv") || (dirEntry.name.substr(dirEntry.name.find_last_of(".") + 1) == "ARGV") || (dirEntry.name.substr(dirEntry.name.find_last_of(".") + 1) == "dsi") - || (dirEntry.name.substr(dirEntry.name.find_last_of(".") + 1) == "DSI") - || (isDSiMode() && is3DS && sdMounted && dirEntry.name.substr(dirEntry.name.find_last_of(".") + 1) == "firm") - || (isDSiMode() && is3DS && sdMounted && dirEntry.name.substr(dirEntry.name.find_last_of(".") + 1) == "FIRM")); + || (dirEntry.name.substr(dirEntry.name.find_last_of(".") + 1) == "DSI")) + { + dirEntry.isApp = (sdMounted || flashcardMounted); + } else if ((dirEntry.name.substr(dirEntry.name.find_last_of(".") + 1) == "firm") + || (dirEntry.name.substr(dirEntry.name.find_last_of(".") + 1) == "FIRM")) + { + dirEntry.isApp = (isDSiMode() && is3DS && sdMounted); + } else { + dirEntry.isApp = false; + } if (dirEntry.name.compare(".") != 0 && (dirEntry.isDirectory || nameEndsWith(dirEntry.name))) { dirContents.push_back (dirEntry); diff --git a/bootloader/source/boot.c b/bootloader/source/boot.c index 0e6984e..d039e56 100644 --- a/bootloader/source/boot.c +++ b/bootloader/source/boot.c @@ -356,8 +356,12 @@ int main (void) { #ifndef NO_SDMMC if (dsiSD && dsiMode) { sdmmc_controller_init(true); + *(vu16*)(SDMMC_BASE + REG_SDDATACTL32) &= 0xFFFDu; + *(vu16*)(SDMMC_BASE + REG_SDDATACTL) &= 0xFFDDu; + *(vu16*)(SDMMC_BASE + REG_SDBLKLEN32) = 0; } #endif + // Pass command line arguments to loaded program passArgs_ARM7();