diff --git a/Source/Core/Core/Src/CoreParameter.cpp b/Source/Core/Core/Src/CoreParameter.cpp index ed3136cccf..b32e86ae8a 100644 --- a/Source/Core/Core/Src/CoreParameter.cpp +++ b/Source/Core/Core/Src/CoreParameter.cpp @@ -92,7 +92,12 @@ bool SCoreStartupParameter::AutoSetup(EBootBios _BootBios) // Check if we have a Wii disc bWii = DiscIO::IsVolumeWiiDisc(pVolume); - + if(bootDrive && bWii){ + // TODO: (lpfaint99) determine why wii backup is not loading, maybe I am not waiting long enough :p + + PanicAlert("WII backup from drive not yet supported"); + return false; + } switch (pVolume->GetCountry()) { case DiscIO::IVolume::COUNTRY_USA: diff --git a/Source/Core/DiscIO/Src/DriveBlob.cpp b/Source/Core/DiscIO/Src/DriveBlob.cpp index edca16638b..fd104f441f 100644 --- a/Source/Core/DiscIO/Src/DriveBlob.cpp +++ b/Source/Core/DiscIO/Src/DriveBlob.cpp @@ -28,7 +28,8 @@ namespace DiscIO path[2] = 0; sprintf(path, "\\\\.\\%s", drive); - hDisc = CreateFile(path, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); + hDisc = CreateFile(path, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, + NULL, OPEN_EXISTING, FILE_FLAG_RANDOM_ACCESS, NULL); if (hDisc == INVALID_HANDLE_VALUE) { PanicAlert("Load from DVD backup failed"); diff --git a/Source/Core/DolphinWX/Src/FrameTools.cpp b/Source/Core/DolphinWX/Src/FrameTools.cpp index 15745e00cd..138d947c37 100644 --- a/Source/Core/DolphinWX/Src/FrameTools.cpp +++ b/Source/Core/DolphinWX/Src/FrameTools.cpp @@ -101,9 +101,10 @@ void CFrame::CreateMenu() m_pMenuItemOpen = fileMenu->Append(wxID_OPEN, _T("&Open...\tCtrl+O")); fileMenu->Append(wxID_REFRESH, _T("&Refresh")); fileMenu->Append(IDM_BROWSE, _T("&Browse for ISOs...")); -// change to test drive loading, currently very slow on win32, not tested on linux/os x +// not tested on linux/os x // works ok on a virtual drive with GC Games, Wii games do not load -#if 0 +// backups take about 60-90 seconds to load from real cd drive +#ifdef _WIN32 wxMenu *externalDrive = new wxMenu; fileMenu->AppendSubMenu(externalDrive, _T("&Load From Drive")); GetAllRemovableDrives(&drives);