}
///////////////////////////////////////////////////////////////////////////////
-void GPU_dmaChain(u32* baseAddr, u32 dmaVAddr)
+long GPU_dmaChain(u32* baseAddr, u32 dmaVAddr)
{
#ifdef DEBUG_ANALYSIS
dbg_anacnt_GPU_dmaChain++;
pcsx4all_prof_start_with_pause(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_WRITE);
u32 data, *address, count, offset;
unsigned int DMACommandCounter = 0;
+ long dma_words = 0;
GPU_GP1 &= ~0x14000000;
lUsedAddr[0]=lUsedAddr[1]=lUsedAddr[2]=(u32*)0x1fffff;
else dmaVAddr = 0x1FFFFF;
if(count>0) GPU_writeDataMem(address,count);
+ dma_words += 1 + count;
}
GPU_GP1 = (GPU_GP1 | 0x14000000) & ~0x60000000;
pcsx4all_prof_end_with_resume(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_WRITE);
+
+ return dma_words;
}
///////////////////////////////////////////////////////////////////////////////
u16 *srcs;
u8 *dest;
- x0 = DisplayArea[0] & ~3; // alignment needed by blitter
+ x0 = DisplayArea[0] & ~1; // alignment needed by blitter
y0 = DisplayArea[1];
srcs = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(x0,y0)];
blit();
fb_dirty = false;
- if (*cbs->fskip_option)
+ if (cbs->fskip_advice)
isSkip = true;
}
else