summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/CommandProcessor.cpp
diff options
context:
space:
mode:
authorMarcos Vitali <marcosvitali@gmail.com>2010-12-29 07:12:37 +0000
committerMarcos Vitali <marcosvitali@gmail.com>2010-12-29 07:12:37 +0000
commit24eafcb342b1620733224f75df4e0dacabb8fc4a (patch)
treec8cedd69f982437b53918d12b435da2074eeab73 /Source/Core/VideoCommon/Src/CommandProcessor.cpp
parent8ccdba7273a4c837cbc5f186b96586947efb41b5 (diff)
More FIFO work. This is an Experimental commit, Fixed "Monopoly Wii" ("FIFOs linked but out of sync" problem in this game) Re-sync the FIFO again when this is in immediate mode. Copy CP register values to PI register. Now this games is booting and ingame :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6682 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/VideoCommon/Src/CommandProcessor.cpp')
-rw-r--r--Source/Core/VideoCommon/Src/CommandProcessor.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/Src/CommandProcessor.cpp b/Source/Core/VideoCommon/Src/CommandProcessor.cpp
index 0adbf42b9b..a700ef76ba 100644
--- a/Source/Core/VideoCommon/Src/CommandProcessor.cpp
+++ b/Source/Core/VideoCommon/Src/CommandProcessor.cpp
@@ -461,6 +461,12 @@ void Write16(const u16 _Value, const u32 _Address)
fifo.bFF_HiWatermarkInt = tmpCtrl.FifoOverflowIntEnable;
fifo.bFF_LoWatermarkInt = tmpCtrl.FifoUnderflowIntEnable;
+ if(tmpCtrl.GPReadEnable && tmpCtrl.GPLinkEnable)
+ {
+ *(g_VideoInitialize.Fifo_CPUWritePointer) = fifo.CPWritePointer;
+ *(g_VideoInitialize.Fifo_CPUBase) = fifo.CPBase;
+ *(g_VideoInitialize.Fifo_CPUEnd) = fifo.CPEnd;
+ }
// If overflown happens process the fifo to LoWatemark
if (bProcessFifoToLoWatemark)
ProcessFifoToLoWatemark();