diff options
| author | hyperiris <hyperiris@gmail.com> | 2009-02-22 13:59:06 +0000 |
|---|---|---|
| committer | hyperiris <hyperiris@gmail.com> | 2009-02-22 13:59:06 +0000 |
| commit | 42a7d2fc85baa49c5b47907d3ce8ddf440d2af99 (patch) | |
| tree | a7578c051c273526a2a8fbfd7344282cd064046c /Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp | |
| parent | 03a950a1e56fabe4d9a4508d74f308c25ff52d57 (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.cpp | 13 |
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 |
