fix newppu bug (allegedly a nondeterminism, but i cant tell how) which prevented metroid from booting.

This commit is contained in:
zeromus 2011-10-31 04:58:59 +00:00
parent 3b33abf4c0
commit d6d9ea6a28
1 changed files with 5 additions and 3 deletions

View File

@ -929,9 +929,7 @@ static DECLFW(B2005)
static DECLFW(B2006) static DECLFW(B2006)
{ {
if(!newppu) FCEUPPU_LineUpdate();
FCEUPPU_LineUpdate();
PPUGenLatch=V; PPUGenLatch=V;
if(!vtoggle) if(!vtoggle)
@ -970,6 +968,7 @@ static DECLFW(B2007)
uint32 tmp=RefreshAddr&0x3FFF; uint32 tmp=RefreshAddr&0x3FFF;
if(newppu) { if(newppu) {
PPUGenLatch=V;
RefreshAddr = ppur.get_2007access() & 0x3FFF; RefreshAddr = ppur.get_2007access() & 0x3FFF;
CALL_PPUWRITE(RefreshAddr,V); CALL_PPUWRITE(RefreshAddr,V);
//printf("%04x ",RefreshAddr); //printf("%04x ",RefreshAddr);
@ -1039,6 +1038,9 @@ static uint8 sprlinebuf[256+8];
void FCEUPPU_LineUpdate(void) void FCEUPPU_LineUpdate(void)
{ {
if(newppu)
return;
#ifdef FCEUDEF_DEBUGGER #ifdef FCEUDEF_DEBUGGER
if(!fceuindbg) if(!fceuindbg)
#endif #endif