Corrections to r3875.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3876 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Nolan Check 2009-07-23 22:02:03 +00:00
parent ce8b679d76
commit 758d5c234d
3 changed files with 8 additions and 2 deletions

View File

@ -36,6 +36,7 @@
#else
#include <xmmintrin.h>
#define THREAD_RETURN void*
#include <unistd.h>
#ifdef _POSIX_THREADS

View File

@ -716,7 +716,8 @@ void UpdateFifoRegister()
void UpdateInterrupts()
{
if (fifo.bFF_BPEnable && fifo.bFF_Breakpoint)
if (m_CPCtrlReg.CPIntEnable &&
(fifo.bFF_BPEnable && fifo.bFF_Breakpoint))
{
CPeripheralInterface::SetInterrupt(CPeripheralInterface::INT_CAUSE_CP, true);
}

View File

@ -136,7 +136,7 @@ void Fifo_EnterLoop(const SVideoInitialize &video_initialize)
{
Common::AtomicStore(_fifo.CPReadIdle, 0);
while (_fifo.bFF_GPReadEnable && _fifo.CPReadWriteDistance)
while (_fifo.bFF_GPReadEnable && _fifo.CPReadWriteDistance && !(_fifo.bFF_BPEnable && _fifo.bFF_Breakpoint))
{
if(!fifoStateRun)
break;
@ -144,6 +144,7 @@ void Fifo_EnterLoop(const SVideoInitialize &video_initialize)
u32 readPtr = _fifo.CPReadPointer;
s32 distToSend;
#if 1 // XXX: Put "0" here to always send 32 bytes at a time.
// Only send 32 bytes at a time if breakpoint is enabled.
if (_fifo.bFF_BPEnable)
distToSend = 32;
@ -153,6 +154,9 @@ void Fifo_EnterLoop(const SVideoInitialize &video_initialize)
if ((distToSend + readPtr) >= _fifo.CPEnd)
distToSend = _fifo.CPEnd - readPtr;
}
#else
distToSend = 32;
#endif
u8 *uData = video_initialize.pGetMemoryPointer(readPtr);
// Execute new instructions found in uData