diff --git a/Source/Core/Core/HW/DVDInterface.cpp b/Source/Core/Core/HW/DVDInterface.cpp index 578b3965ad..be88dd2f0a 100644 --- a/Source/Core/Core/HW/DVDInterface.cpp +++ b/Source/Core/Core/HW/DVDInterface.cpp @@ -875,13 +875,13 @@ DVDCommandResult ExecuteCommand(u32 command_0, u32 command_1, u32 command_2, } } - result = ExecuteReadCommand(iDVDOffset, output_address, command_2, output_length); + result = ExecuteReadCommand(iDVDOffset, output_address, command_2, output_length, true); } break; case 0x40: // Read DiscID INFO_LOG(DVDINTERFACE, "Read DiscID %08x", Memory::Read_U32(output_address)); - result = ExecuteReadCommand(0, output_address, 0x20, output_length); + result = ExecuteReadCommand(0, output_address, 0x20, output_length, true); break; default: diff --git a/Source/Core/DiscIO/VolumeDirectory.cpp b/Source/Core/DiscIO/VolumeDirectory.cpp index f2163773f4..66803018fe 100644 --- a/Source/Core/DiscIO/VolumeDirectory.cpp +++ b/Source/Core/DiscIO/VolumeDirectory.cpp @@ -15,6 +15,7 @@ #include "Common/CommonTypes.h" #include "Common/FileUtil.h" #include "Common/MathUtil.h" +#include "Core/VolumeHandler.h" #include "DiscIO/FileBlob.h" #include "DiscIO/Volume.h" #include "DiscIO/VolumeDirectory.h" @@ -63,9 +64,12 @@ bool CVolumeDirectory::IsValidDirectory(const std::string& _rDirectory) return File::IsDirectory(directoryName); } -bool CVolumeDirectory::RAWRead( u64 _Offset, u64 _Length, u8* _pBuffer ) const +bool CVolumeDirectory::RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const { - return false; + if (VolumeHandler::IsWii()) + return false; + else + return Read(_Offset, _Length, _pBuffer); } bool CVolumeDirectory::Read(u64 _Offset, u64 _Length, u8* _pBuffer) const