summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorShawn Hoffman <godisgovernment@gmail.com>2009-06-01 20:23:06 +0000
committerShawn Hoffman <godisgovernment@gmail.com>2009-06-01 20:23:06 +0000
commitc391e9659a6d3786f7f2201c4dd113cffa9f98d2 (patch)
treedd6a1f6813176d596efcfac132d6847d8728b7f5 /Source/Core
parent6dd8e1333899dfaa5cd624aa84e451cca91d808d (diff)
fix a dumb mistake with VideoInterface::Read8
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3309 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/Src/HW/VideoInterface.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/Core/Core/Src/HW/VideoInterface.cpp b/Source/Core/Core/Src/HW/VideoInterface.cpp
index d209a4986d..c4d231ba6d 100644
--- a/Source/Core/Core/Src/HW/VideoInterface.cpp
+++ b/Source/Core/Core/Src/HW/VideoInterface.cpp
@@ -441,14 +441,21 @@ void Init()
void Read8(u8& _uReturnValue, const u32 _iAddress)
{
+ // Just like 32bit VI transfers, this is technically not allowed,
+ // but the hardware accepts it. Action Replay uses this.
u16 val = 0;
if (_iAddress % 2 == 0)
+ {
Read16(val, _iAddress);
+ _uReturnValue = (u8)(val >> 8);
+ }
else
+ {
Read16(val, _iAddress - 1);
+ _uReturnValue = (u8)val;
+ }
- _uReturnValue = (u8)val;
INFO_LOG(VIDEOINTERFACE, "(r 8): 0x%02x, 0x%08x", _uReturnValue, _iAddress);
}