X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=fce.c;h=d3b5c63343c3f4cf623f889728fd91c5e49cf490;hp=6e30c00cd585c16a8efb8a63ee30ac5c3cf52838;hb=c0623dcfadb00843e43c0f8cdcb8898bfc1f08f5;hpb=47d0839eef773569f1093b47d795714cac0dacd2 diff --git a/fce.c b/fce.c index 6e30c00..d3b5c63 100644 --- a/fce.c +++ b/fce.c @@ -604,17 +604,25 @@ void FCEUI_FrameSkip(int x) static void LineUpdate(uint8 *target) { uint32 tem; + int y; /* PRefreshLine() will not get called on skipped frames. This * could cause a problem, but the solution would be rather complex, * due to the current sprite 0 hit code. */ - if(FSkip) return; + if(FSkip) + { + y=(int)SPRAM[0] + 1; + if(scanline==y && SpriteON) PPU_status|=0x40; // hack + return; + } if(scanline < FSettings.FirstSLine || scanline > FSettings.LastSLine) { if(PPU_hook) PRefreshLine(); + y=(int)SPRAM[0] + 1; + if(scanline==y && SpriteON) PPU_status|=0x40; } else {