summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2014-12-27 13:49:25 +0100
committerJosJuice <josjuice@gmail.com>2014-12-27 13:49:25 +0100
commit72f8f243c78a79aae0fcb2eaaea8239723a5eb78 (patch)
tree40397e82e487bfd91a9f8461f95640aed2321990 /Source
parent339383b8dd44dc6f196fbb16d55b72a4882d2a7f (diff)
Never decrypt data when using DI command 0xA8
CleanRip relies on this when ripping Wii discs.
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/HW/DVDInterface.cpp4
-rw-r--r--Source/Core/DiscIO/VolumeDirectory.cpp8
2 files changed, 8 insertions, 4 deletions
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