diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/NDSCart.cpp | 20 | ||||
-rw-r--r-- | src/frontend/qt_sdl/ROMManager.cpp | 1 |
2 files changed, 15 insertions, 6 deletions
diff --git a/src/NDSCart.cpp b/src/NDSCart.cpp index 940827f..54b136f 100644 --- a/src/NDSCart.cpp +++ b/src/NDSCart.cpp @@ -137,13 +137,21 @@ void Key1_LoadKeyBuf(bool dsi) // it is possible that this gets called before the BIOSes are loaded // so we will read from the BIOS files directly - std::string path = Platform::GetConfigString(dsi ? Platform::DSi_BIOS7Path : Platform::BIOS7Path); - FILE* f = Platform::OpenLocalFile(path, "rb"); - if (f) + if (Platform::GetConfigBool(Platform::ExternalBIOSEnable)) { - fseek(f, dsi ? 0xC6D0 : 0x0030, SEEK_SET); - fread(Key1_KeyBuf, 0x1048, 1, f); - fclose(f); + std::string path = Platform::GetConfigString(dsi ? Platform::DSi_BIOS7Path : Platform::BIOS7Path); + FILE* f = Platform::OpenLocalFile(path, "rb"); + if (f) + { + fseek(f, dsi ? 0xC6D0 : 0x0030, SEEK_SET); + fread(Key1_KeyBuf, 0x1048, 1, f); + fclose(f); + } + } + else + { + // well + memset(Key1_KeyBuf, 0, 0x1048); } } diff --git a/src/frontend/qt_sdl/ROMManager.cpp b/src/frontend/qt_sdl/ROMManager.cpp index 2b9bbd3..1d8bd87 100644 --- a/src/frontend/qt_sdl/ROMManager.cpp +++ b/src/frontend/qt_sdl/ROMManager.cpp @@ -535,6 +535,7 @@ bool LoadROM(QStringList filepath, bool reset) if (reset) { NDS::SetConsoleType(Config::ConsoleType); + NDS::EjectCart(); NDS::Reset(); } |