diff --git a/src/RSP.cpp b/src/RSP.cpp index 45dd2c83..d99622a8 100644 --- a/src/RSP.cpp +++ b/src/RSP.cpp @@ -204,6 +204,12 @@ void RSP_ProcessDList() RSP_CheckDLCounter(); } } + + if (config.frameBufferEmulation.copyToRDRAM) + FrameBuffer_CopyToRDRAM(gDP.colorImage.address); + if (config.frameBufferEmulation.copyDepthToRDRAM) + FrameBuffer_CopyDepthBuffer(gDP.colorImage.address); + RSP.busy = FALSE; gDP.changed |= CHANGED_COLORBUFFER; } diff --git a/src/gDP.cpp b/src/gDP.cpp index c953220c..0677c456 100644 --- a/src/gDP.cpp +++ b/src/gDP.cpp @@ -880,10 +880,12 @@ void gDPTextureRectangleFlip( f32 ulx, f32 uly, f32 lrx, f32 lry, s32 tile, f32 void gDPFullSync() { - if (config.frameBufferEmulation.copyToRDRAM) - FrameBuffer_CopyToRDRAM(gDP.colorImage.address); - if (config.frameBufferEmulation.copyDepthToRDRAM) - FrameBuffer_CopyDepthBuffer(gDP.colorImage.address); + if (RSP.bLLE) { + if (config.frameBufferEmulation.copyToRDRAM) + FrameBuffer_CopyToRDRAM(gDP.colorImage.address); + if (config.frameBufferEmulation.copyDepthToRDRAM) + FrameBuffer_CopyDepthBuffer(gDP.colorImage.address); + } *REG.MI_INTR |= MI_INTR_DP;