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;