diff options
| author | Marcos Vitali <marcosvitali@gmail.com> | 2010-12-29 07:12:37 +0000 |
|---|---|---|
| committer | Marcos Vitali <marcosvitali@gmail.com> | 2010-12-29 07:12:37 +0000 |
| commit | 24eafcb342b1620733224f75df4e0dacabb8fc4a (patch) | |
| tree | c8cedd69f982437b53918d12b435da2074eeab73 /Source/Core | |
| parent | 8ccdba7273a4c837cbc5f186b96586947efb41b5 (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')
| -rw-r--r-- | Source/Core/VideoCommon/Src/CommandProcessor.cpp | 6 |
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(); |
