More GPFifo works. PEToken management as I think it should be. Super Monkey Ball Adventures fix (the token check loop was stuck in one JITed block without any Advance() call).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1224 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
memberTwo.mb2
2008-11-20 12:16:51 +00:00
parent ba7f7cd8b7
commit 337ff1f56b
3 changed files with 58 additions and 27 deletions

View File

@ -35,13 +35,17 @@ typedef struct
volatile u32 CPReadPointer;
volatile u32 CPBreakpoint;
// Super Monkey Ball Adventure require this.
// Because the read&check-PEToken-loop stays in its JITed block I suppose.
// So no possiblity to ack the Token irq by the scheduler until some sort of PPC watchdog do its mess.
volatile u16 PEToken;
volatile BOOL bFF_GPReadEnable;
volatile BOOL bFF_BPEnable;
volatile BOOL bFF_GPLinkEnable;
volatile BOOL bFF_Breakpoint;
// for GP watchdog hack
volatile BOOL Fake_GPWDInterrupt;
volatile u32 Fake_GPWDToken; // cicular incrementer
} SCPFifoStruct;