[Core & UI] Handle and Select IPLs depending on Disk Country Code
- Removes 64DD IPL loading when not found, so the user has to either load the IPL ROMs once or set them in the settings
This commit is contained in:
parent
53da2eca49
commit
cf576246e1
|
@ -559,6 +559,8 @@ enum LanguageStringID
|
|||
MSG_FAIL_IMAGE_IPL = 2058,
|
||||
MSG_IPL_REQUIRED = 2059,
|
||||
MSG_MSGBOX_WARNING_TITLE = 2060,
|
||||
MSG_USA_IPL_REQUIRED = 2061,
|
||||
MSG_TOOL_IPL_REQUIRED = 2062,
|
||||
|
||||
/*********************************************************************************
|
||||
* Android *
|
||||
|
|
|
@ -524,7 +524,9 @@ void CLanguage::LoadDefaultStrings(void)
|
|||
DEF_STR(MSG_SET_HLE_AUD_TITLE, "Audio High-Level Emulation");
|
||||
DEF_STR(MSG_SET_HLE_AUD_MSG, "Audio HLE requires a third-party plugin!!!\nIf you do not use a third-party audio plugin that supports HLE, you will hear no sound.\n\nChange to audio HLE?");
|
||||
DEF_STR(MSG_FAIL_IMAGE_IPL, "File loaded does not appear to be a valid 64DD IPL ROM.\n\nVerify your ROMs with GoodN64.");
|
||||
DEF_STR(MSG_IPL_REQUIRED, "Nintendo 64DD IPL ROM not found.\nIt is required to play 64DD disks.\n\nPlease select the required ROM.");
|
||||
DEF_STR(MSG_IPL_REQUIRED, "Nintendo 64DD Japanese Retail IPL ROM not found.\nIt is required to play japanese region 64DD disk images.\n\nPlease select the required ROM in the Settings.");
|
||||
DEF_STR(MSG_USA_IPL_REQUIRED, "Nintendo 64DD American Retail IPL ROM not found.\nIt is required to play american region 64DD disk images.\n\nPlease select the required ROM in the Settings.");
|
||||
DEF_STR(MSG_TOOL_IPL_REQUIRED, "Nintendo 64DD Development IPL ROM not found.\nIt is required to play development 64DD disk images.\n\nPlease select the required ROM in the Settings.");
|
||||
|
||||
/*********************************************************************************
|
||||
* Android *
|
||||
|
|
|
@ -336,12 +336,17 @@ bool CN64System::LoadFileImage(const char * FileLoc)
|
|||
g_DDRom = new CN64Rom();
|
||||
}
|
||||
g_DDRom->LoadN64ImageIPL(FileLoc);
|
||||
if (g_DDRom->CicChipID() == CIC_NUS_8303)
|
||||
g_Settings->SaveString(File_DiskIPLPath, FileLoc);
|
||||
else if (g_DDRom->CicChipID() == CIC_NUS_DDUS)
|
||||
g_Settings->SaveString(File_DiskIPLUSAPath, FileLoc);
|
||||
else if (g_DDRom->CicChipID() == CIC_NUS_DDTL)
|
||||
g_Settings->SaveString(File_DiskIPLTOOLPath, FileLoc);
|
||||
}
|
||||
|
||||
g_System->RefreshGameSettings();
|
||||
|
||||
if (!g_Rom->IsLoadedRomDDIPL())
|
||||
if (g_Disk == NULL || !g_Rom->IsLoadedRomDDIPL())
|
||||
{
|
||||
g_Settings->SaveString(Game_File, FileLoc);
|
||||
}
|
||||
|
@ -403,7 +408,12 @@ bool CN64System::LoadFileImageIPL(const char * FileLoc)
|
|||
|
||||
g_System->RefreshGameSettings();
|
||||
|
||||
if (g_DDRom->CicChipID() == CIC_NUS_8303)
|
||||
g_Settings->SaveString(File_DiskIPLPath, FileLoc);
|
||||
else if (g_DDRom->CicChipID() == CIC_NUS_DDUS)
|
||||
g_Settings->SaveString(File_DiskIPLUSAPath, FileLoc);
|
||||
else if (g_DDRom->CicChipID() == CIC_NUS_DDTL)
|
||||
g_Settings->SaveString(File_DiskIPLTOOLPath, FileLoc);
|
||||
|
||||
//g_Settings->SaveString(Game_File, FileLoc);
|
||||
g_Settings->SaveBool(GameRunning_LoadingInProgress, false);
|
||||
|
@ -487,6 +497,16 @@ bool CN64System::RunFileImage(const char * FileLoc)
|
|||
return false;
|
||||
}
|
||||
g_Settings->SaveBool(Setting_EnableDisk, g_Rom->IsLoadedRomDDIPL());
|
||||
if (g_Rom->IsLoadedRomDDIPL())
|
||||
{
|
||||
if (g_Rom->CicChipID() == CIC_NUS_8303)
|
||||
g_Settings->SaveString(File_DiskIPLPath, FileLoc);
|
||||
else if (g_Rom->CicChipID() == CIC_NUS_DDUS)
|
||||
g_Settings->SaveString(File_DiskIPLUSAPath, FileLoc);
|
||||
else if (g_Rom->CicChipID() == CIC_NUS_DDTL)
|
||||
g_Settings->SaveString(File_DiskIPLTOOLPath, FileLoc);
|
||||
}
|
||||
|
||||
if (g_Settings->LoadBool(Setting_AutoStart) != 0)
|
||||
{
|
||||
WriteTrace(TraceN64System, TraceDebug, "Automattically starting rom");
|
||||
|
@ -497,24 +517,17 @@ bool CN64System::RunFileImage(const char * FileLoc)
|
|||
|
||||
bool CN64System::RunDiskImage(const char * FileLoc)
|
||||
{
|
||||
if (!LoadFileImage(g_Settings->LoadStringVal(File_DiskIPLPath).c_str()))
|
||||
{
|
||||
g_Settings->SaveString(File_DiskIPLPath, "");
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!g_Rom->IsLoadedRomDDIPL())
|
||||
{
|
||||
g_Notify->DisplayError(MSG_FAIL_IMAGE_IPL);
|
||||
g_Settings->SaveString(File_DiskIPLPath, "");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!LoadDiskImage(FileLoc, false))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
//Select IPL ROM depending on Disk Country Code
|
||||
if (!SelectAndLoadFileImageIPL(g_Disk->GetCountry(), false))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
g_Settings->SaveBool(Setting_EnableDisk, true);
|
||||
if (g_Settings->LoadBool(Setting_AutoStart) != 0)
|
||||
{
|
||||
|
@ -526,11 +539,6 @@ bool CN64System::RunDiskImage(const char * FileLoc)
|
|||
|
||||
bool CN64System::RunDiskComboImage(const char * FileLoc, const char * FileLocDisk)
|
||||
{
|
||||
if (!LoadFileImageIPL(g_Settings->LoadStringVal(File_DiskIPLPath).c_str()))
|
||||
{
|
||||
g_Settings->SaveString(File_DiskIPLPath, "");
|
||||
return false;
|
||||
}
|
||||
if (!LoadDiskImage(FileLocDisk, true))
|
||||
{
|
||||
return false;
|
||||
|
@ -539,6 +547,13 @@ bool CN64System::RunDiskComboImage(const char * FileLoc, const char * FileLocDis
|
|||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
//Select IPL ROM depending on Disk Country Code
|
||||
if (!SelectAndLoadFileImageIPL(g_Disk->GetCountry(), true))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
g_Settings->SaveBool(Setting_EnableDisk, true);
|
||||
if (g_Settings->LoadBool(Setting_AutoStart) != 0)
|
||||
{
|
||||
|
@ -576,6 +591,67 @@ void CN64System::CloseSystem()
|
|||
WriteTrace(TraceN64System, TraceDebug, "Done");
|
||||
}
|
||||
|
||||
bool CN64System::SelectAndLoadFileImageIPL(Country country, bool combo)
|
||||
{
|
||||
delete g_DDRom;
|
||||
g_DDRom = NULL;
|
||||
|
||||
SettingID IPLROMPathSetting;
|
||||
LanguageStringID IPLROMError;
|
||||
switch (country)
|
||||
{
|
||||
case Country::Japan:
|
||||
IPLROMPathSetting = File_DiskIPLPath;
|
||||
IPLROMError = MSG_IPL_REQUIRED;
|
||||
break;
|
||||
case Country::USA:
|
||||
IPLROMPathSetting = File_DiskIPLUSAPath;
|
||||
IPLROMError = MSG_USA_IPL_REQUIRED;
|
||||
break;
|
||||
case Country::UnknownCountry:
|
||||
default:
|
||||
IPLROMPathSetting = File_DiskIPLTOOLPath;
|
||||
IPLROMError = MSG_TOOL_IPL_REQUIRED;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!CPath(g_Settings->LoadStringVal(IPLROMPathSetting).c_str()).Exists())
|
||||
{
|
||||
g_Notify->DisplayWarning(IPLROMError);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (combo)
|
||||
{
|
||||
if (!LoadFileImageIPL(g_Settings->LoadStringVal(IPLROMPathSetting).c_str()))
|
||||
{
|
||||
g_Settings->SaveString(IPLROMPathSetting, "");
|
||||
g_Notify->DisplayWarning(IPLROMError);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!LoadFileImage(g_Settings->LoadStringVal(IPLROMPathSetting).c_str()))
|
||||
{
|
||||
g_Settings->SaveString(IPLROMPathSetting, "");
|
||||
g_Notify->DisplayWarning(IPLROMError);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!g_Rom->IsLoadedRomDDIPL())
|
||||
{
|
||||
//g_Notify->DisplayError(MSG_FAIL_IMAGE_IPL);
|
||||
g_Notify->DisplayWarning(IPLROMError);
|
||||
g_Settings->SaveString(IPLROMPathSetting, "");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CN64System::EmulationStarting(CThread * thread)
|
||||
{
|
||||
WriteTrace(TraceN64System, TraceDebug, "Starting (hThread: %p ThreadId: %d)", thread, thread->ThreadID());
|
||||
|
|
|
@ -60,6 +60,7 @@ public:
|
|||
static bool LoadFileImage(const char * FileLoc);
|
||||
static bool LoadFileImageIPL(const char * FileLoc);
|
||||
static bool LoadDiskImage(const char * FileLoc, const bool Expansion);
|
||||
static bool SelectAndLoadFileImageIPL(Country country, bool combo);
|
||||
static bool RunFileImage(const char * FileLoc);
|
||||
static bool RunDiskImage(const char * FileLoc);
|
||||
static bool RunDiskComboImage(const char * FileLoc, const char * FileLocDisk);
|
||||
|
|
|
@ -328,6 +328,8 @@ void CSettings::AddHowToHandleSetting(const char * BaseDirectory)
|
|||
|
||||
AddHandler(UserInterface_BasicMode, new CSettingTypeApplication("Settings", "Basic Mode", (uint32_t)true));
|
||||
AddHandler(File_DiskIPLPath, new CSettingTypeApplicationPath("Settings", "Disk IPL ROM Path", Default_None));
|
||||
AddHandler(File_DiskIPLUSAPath, new CSettingTypeApplicationPath("Settings", "Disk IPL USA ROM Path", Default_None));
|
||||
AddHandler(File_DiskIPLTOOLPath, new CSettingTypeApplicationPath("Settings", "Disk IPL TOOL ROM Path", Default_None));
|
||||
|
||||
AddHandler(Debugger_Enabled, new CSettingTypeApplication("Debugger", "Debugger", false));
|
||||
AddHandler(Debugger_ShowTLBMisses, new CSettingTypeApplication("Debugger", "Show TLB Misses", false));
|
||||
|
|
|
@ -232,6 +232,8 @@ enum SettingID
|
|||
|
||||
//File Info
|
||||
File_DiskIPLPath,
|
||||
File_DiskIPLUSAPath,
|
||||
File_DiskIPLTOOLPath,
|
||||
|
||||
//Debugger
|
||||
Debugger_Enabled,
|
||||
|
|
|
@ -117,27 +117,18 @@ void CMainMenu::OnOpenRom(HWND hWnd)
|
|||
{
|
||||
return;
|
||||
}
|
||||
|
||||
stdstr ext = CPath(File).GetExtension();
|
||||
if ((_stricmp(ext.c_str(), "ndd") != 0) && (_stricmp(ext.c_str(), "d64") != 0))
|
||||
{
|
||||
delete g_DDRom;
|
||||
g_DDRom = NULL;
|
||||
g_BaseSystem->RunFileImage(File.c_str());
|
||||
return;
|
||||
}
|
||||
// Open Disk
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists() || !g_BaseSystem->RunDiskImage(File.c_str()))
|
||||
else
|
||||
{
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists()) { g_Notify->DisplayWarning(MSG_IPL_REQUIRED); }
|
||||
CPath FileNameIPL;
|
||||
const char * Filter = "64DD IPL ROM Image (*.zip, *.7z, *.?64, *.rom, *.usa, *.jap, *.pal, *.bin)\0*.?64;*.zip;*.7z;*.bin;*.rom;*.usa;*.jap;*.pal\0All files (*.*)\0*.*\0";
|
||||
if (FileNameIPL.SelectFile(hWnd, g_Settings->LoadStringVal(RomList_GameDir).c_str(), Filter, true))
|
||||
{
|
||||
g_Settings->SaveString(File_DiskIPLPath, (const char *)FileNameIPL);
|
||||
g_BaseSystem->RunDiskImage(File.c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CMainMenu::OnRomInfo(HWND hWnd)
|
||||
{
|
||||
|
@ -550,21 +541,9 @@ bool CMainMenu::ProcessMessage(HWND hWnd, DWORD /*FromAccelerator*/, DWORD MenuI
|
|||
if ((CPath(FileName).GetExtension() != "ndd") && (CPath(FileName).GetExtension() != "d64"))
|
||||
g_BaseSystem->RunFileImage(FileName.c_str());
|
||||
else
|
||||
{
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists() || !g_BaseSystem->RunDiskImage(FileName.c_str()))
|
||||
{
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists()) { g_Notify->DisplayWarning(MSG_IPL_REQUIRED); }
|
||||
CPath FileNameIPL;
|
||||
const char * Filter = "64DD IPL ROM Image (*.zip, *.7z, *.?64, *.rom, *.usa, *.jap, *.pal, *.bin)\0*.?64;*.zip;*.7z;*.bin;*.rom;*.usa;*.jap;*.pal\0All files (*.*)\0*.*\0";
|
||||
if (FileNameIPL.SelectFile(hWnd, g_Settings->LoadStringVal(RomList_GameDir).c_str(), Filter, true))
|
||||
{
|
||||
g_Settings->SaveString(File_DiskIPLPath, (const char *)FileNameIPL);
|
||||
g_BaseSystem->RunDiskImage(FileName.c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (MenuID >= ID_RECENT_DIR_START && MenuID < ID_RECENT_DIR_END)
|
||||
{
|
||||
int Offset = MenuID - ID_RECENT_DIR_START;
|
||||
|
|
|
@ -993,18 +993,8 @@ LRESULT CALLBACK CMainGui::MainGui_Proc(HWND hWnd, DWORD uMsg, DWORD wParam, DWO
|
|||
}
|
||||
else
|
||||
{
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists() || !g_BaseSystem->RunDiskImage(_this->CurrentedSelectedRom()))
|
||||
{
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists()) { g_Notify->DisplayWarning(MSG_IPL_REQUIRED); }
|
||||
CPath FileName;
|
||||
const char * Filter = "64DD IPL ROM Image (*.zip, *.7z, *.?64, *.rom, *.usa, *.jap, *.pal, *.bin)\0*.?64;*.zip;*.7z;*.bin;*.rom;*.usa;*.jap;*.pal\0All files (*.*)\0*.*\0";
|
||||
if (FileName.SelectFile(hWnd, g_Settings->LoadStringVal(RomList_GameDir).c_str(), Filter, true))
|
||||
{
|
||||
g_Settings->SaveString(File_DiskIPLPath, (const char *)FileName);
|
||||
g_BaseSystem->RunDiskImage(_this->CurrentedSelectedRom());
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ID_POPUPMENU_PLAYGAMEWITHDISK:
|
||||
|
@ -1013,19 +1003,9 @@ LRESULT CALLBACK CMainGui::MainGui_Proc(HWND hWnd, DWORD uMsg, DWORD wParam, DWO
|
|||
const char * Filter = "N64DD Disk Image (*.ndd, *.d64)\0*.ndd;*.d64\0All files (*.*)\0*.*\0";
|
||||
if (FileName.SelectFile(hWnd, g_Settings->LoadStringVal(RomList_GameDir).c_str(), Filter, true))
|
||||
{
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists() || !g_BaseSystem->RunDiskComboImage(_this->CurrentedSelectedRom(), FileName))
|
||||
{
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists()) { g_Notify->DisplayWarning(MSG_IPL_REQUIRED); }
|
||||
CPath FileNameIPL;
|
||||
const char * Filter = "64DD IPL ROM Image (*.zip, *.7z, *.?64, *.rom, *.usa, *.jap, *.pal, *.bin)\0*.?64;*.zip;*.7z;*.bin;*.rom;*.usa;*.jap;*.pal\0All files (*.*)\0*.*\0";
|
||||
if (FileNameIPL.SelectFile(hWnd, g_Settings->LoadStringVal(RomList_GameDir).c_str(), Filter, true))
|
||||
{
|
||||
g_Settings->SaveString(File_DiskIPLPath, (const char *)FileNameIPL);
|
||||
g_BaseSystem->RunDiskComboImage(_this->CurrentedSelectedRom(), FileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ID_POPUPMENU_ROMDIRECTORY: _this->SelectRomDir(); break;
|
||||
case ID_POPUPMENU_REFRESHROMLIST: _this->RefreshRomList(); break;
|
||||
|
@ -1174,24 +1154,11 @@ LRESULT CALLBACK CMainGui::MainGui_Proc(HWND hWnd, DWORD uMsg, DWORD wParam, DWO
|
|||
stdstr ext = CPath(filename).GetExtension();
|
||||
if ((!(_stricmp(ext.c_str(), "ndd") == 0)) && (!(_stricmp(ext.c_str(), "d64") == 0)))
|
||||
{
|
||||
delete g_DDRom;
|
||||
g_DDRom = NULL;
|
||||
CN64System::RunFileImage(filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Open Disk
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists() || !g_BaseSystem->RunDiskImage(filename))
|
||||
{
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists()) { g_Notify->DisplayWarning(MSG_IPL_REQUIRED); }
|
||||
CPath FileName;
|
||||
const char * Filter = "64DD IPL ROM Image (*.zip, *.7z, *.?64, *.rom, *.usa, *.jap, *.pal, *.bin)\0*.?64;*.zip;*.7z;*.bin;*.rom;*.usa;*.jap;*.pal\0All files (*.*)\0*.*\0";
|
||||
if (FileName.SelectFile(hWnd, g_Settings->LoadStringVal(RomList_GameDir).c_str(), Filter, true))
|
||||
{
|
||||
g_Settings->SaveString(File_DiskIPLPath, (const char *)FileName);
|
||||
g_BaseSystem->RunDiskImage(filename);
|
||||
}
|
||||
}
|
||||
CN64System::RunDiskImage(filename);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -804,25 +804,11 @@ void CRomBrowser::RomList_OpenRom(uint32_t /*pnmh*/)
|
|||
|
||||
if (!pRomInfo) { return; }
|
||||
m_StopRefresh = true;
|
||||
delete g_DDRom;
|
||||
g_DDRom = NULL;
|
||||
|
||||
if ((CPath(pRomInfo->szFullFileName).GetExtension() != "ndd") && (CPath(pRomInfo->szFullFileName).GetExtension() != "d64"))
|
||||
CN64System::RunFileImage(pRomInfo->szFullFileName);
|
||||
else
|
||||
{
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists() || !g_BaseSystem->RunDiskImage(pRomInfo->szFullFileName))
|
||||
{
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists()) { g_Notify->DisplayWarning(MSG_IPL_REQUIRED); }
|
||||
CPath FileName;
|
||||
const char * Filter = "64DD IPL ROM Image (*.zip, *.7z, *.?64, *.rom, *.usa, *.jap, *.pal, *.bin)\0*.?64;*.zip;*.7z;*.bin;*.rom;*.usa;*.jap;*.pal\0All files (*.*)\0*.*\0";
|
||||
if (FileName.SelectFile(m_MainWindow, g_Settings->LoadStringVal(RomList_GameDir).c_str(), Filter, true))
|
||||
{
|
||||
g_Settings->SaveString(File_DiskIPLPath, (const char *)FileName);
|
||||
g_BaseSystem->RunDiskImage(pRomInfo->szFullFileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
CN64System::RunDiskImage(pRomInfo->szFullFileName);
|
||||
}
|
||||
|
||||
void CRomBrowser::RomList_PopupMenu(uint32_t /*pnmh*/)
|
||||
|
|
|
@ -36,18 +36,8 @@ int WINAPI WinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/, LPSTR /
|
|||
}
|
||||
else
|
||||
{
|
||||
//Ext is *.ndd, so it should be a disk file.
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists() || !g_BaseSystem->RunDiskImage(g_Settings->LoadStringVal(Cmd_RomFile).c_str()))
|
||||
{
|
||||
if (!CPath(g_Settings->LoadStringVal(File_DiskIPLPath)).Exists()) { g_Notify->DisplayWarning(MSG_IPL_REQUIRED); }
|
||||
CPath FileNameIPL;
|
||||
const char * Filter = "64DD IPL ROM Image (*.zip, *.7z, *.?64, *.rom, *.usa, *.jap, *.pal, *.bin)\0*.?64;*.zip;*.7z;*.bin;*.rom;*.usa;*.jap;*.pal\0All files (*.*)\0*.*\0";
|
||||
if (FileNameIPL.SelectFile(NULL, g_Settings->LoadStringVal(RomList_GameDir).c_str(), Filter, true))
|
||||
{
|
||||
g_Settings->SaveString(File_DiskIPLPath, (const char *)FileNameIPL);
|
||||
g_BaseSystem->RunDiskImage(g_Settings->LoadStringVal(Cmd_RomFile).c_str());
|
||||
}
|
||||
}
|
||||
//Ext is *.ndd/*.d64, so it should be a disk file.
|
||||
CN64System::RunDiskImage(g_Settings->LoadStringVal(Cmd_RomFile).c_str());
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue