From ad8248cedd737c6adbb79a6a7ac052c669882686 Mon Sep 17 00:00:00 2001 From: Marcos Vitali Date: Fri, 3 Dec 2010 04:58:28 +0000 Subject: [PATCH] The STATUS_REGISTER should return the actual status HI (Overflow) and LO (underflow) watermark because this register can be polled by the game. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6508 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/VideoCommon/Src/CommandProcessor.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/Core/VideoCommon/Src/CommandProcessor.cpp b/Source/Core/VideoCommon/Src/CommandProcessor.cpp index cc683a362a..a835dc4b53 100644 --- a/Source/Core/VideoCommon/Src/CommandProcessor.cpp +++ b/Source/Core/VideoCommon/Src/CommandProcessor.cpp @@ -185,8 +185,9 @@ void Read16(u16& _rReturnValue, const u32 _Address) m_CPStatusReg.Breakpoint = fifo.bFF_Breakpoint; m_CPStatusReg.ReadIdle = !fifo.CPReadWriteDistance || !fifo.bFF_GPReadEnable; m_CPStatusReg.CommandIdle = fifo.CPCmdIdle; - m_CPStatusReg.UnderflowLoWatermark = fifo.CPReadIdle; - + m_CPStatusReg.UnderflowLoWatermark = (fifo.CPReadWriteDistance <= fifo.CPLoWatermark); + m_CPStatusReg.OverflowHiWatermark = (fifo.CPReadWriteDistance >= fifo.CPHiWatermark); + // hack: CPU will always believe fifo is empty and on idle //m_CPStatusReg.ReadIdle = 1; //m_CPStatusReg.CommandIdle = 1;