diff --git a/src/System/Gr/GrScreen.ZC b/src/System/Gr/GrScreen.ZC index dcfd93a9..d3166177 100755 --- a/src/System/Gr/GrScreen.ZC +++ b/src/System/Gr/GrScreen.ZC @@ -395,10 +395,16 @@ U0 GrUpdateScreen32() while (src < size) //draw 2 pixels at a time *dst++ = gr_palette[*src++ & 0xFF] | gr_palette[*src++ & 0xFF] << 32; - GrCalcScreenUpdates; - if (LBtr(&sys_semas[SEMA_FLUSH_VBE_IMAGE], 0)) + { MemCopy(text.fb_alias, text.raw_screen, text.buffer_size); + src -= GR_WIDTH * GR_HEIGHT; // Reset src ptr + MemCopy(gr.screen_cache, src, GR_WIDTH * GR_HEIGHT); + } + else + { + GrCalcScreenUpdates; + } } U0 GrUpdateScreen()