summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
diff options
context:
space:
mode:
authorhyperiris <hyperiris@gmail.com>2009-02-22 13:59:06 +0000
committerhyperiris <hyperiris@gmail.com>2009-02-22 13:59:06 +0000
commit42a7d2fc85baa49c5b47907d3ce8ddf440d2af99 (patch)
treea7578c051c273526a2a8fbfd7344282cd064046c /Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
parent03a950a1e56fabe4d9a4508d74f308c25ff52d57 (diff)
Fix of issue 408, the game still can't boot.
Implement DVDLowUnencryptedRead, Medal Of Honor Heroes 2 use it to get DVD PartitionsInfo (disk offset 0x40000). and the game try to use IOCtlV, code 0x8b, bushing point out, IOCtlV 0x8b is DVDLowOpenPartition too, so I just return 0 for success. need further work on this. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2367 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp')
-rw-r--r--Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp b/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
index 662f3f7f02..dfbf49f0d2 100644
--- a/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
+++ b/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
@@ -41,6 +41,17 @@ CVolumeWiiCrypted::~CVolumeWiiCrypted()
m_pBuffer = NULL;
}
+bool CVolumeWiiCrypted::RAWRead( u64 _Offset, u64 _Length, u8* _pBuffer ) const
+{
+ // HyperIris: hack for DVDLowUnencryptedRead
+ // Medal Of Honor Heroes 2 read this DVD offset for PartitionsInfo
+ // and, PartitionsInfo is not encrypted, let's read it directly.
+ if (!m_pReader->Read(_Offset, _Length, _pBuffer))
+ {
+ return(false);
+ }
+ return true;
+}
bool
CVolumeWiiCrypted::Read(u64 _ReadOffset, u64 _Length, u8* _pBuffer) const
@@ -255,4 +266,6 @@ CVolumeWiiCrypted::GetSize() const
return(0);
}
}
+
+
} // namespace