libretro: Use burst phase with NTSC blitter.

This commit is contained in:
Brandon Wright 2019-09-14 19:59:09 -05:00
parent ee6463a30f
commit 1b7cd843e1
1 changed files with 6 additions and 3 deletions

View File

@ -1736,6 +1736,7 @@ bool retro_unserialize(const void* data, size_t size)
bool8 S9xDeinitUpdate(int width, int height) bool8 S9xDeinitUpdate(int width, int height)
{ {
static int burst_phase = 0;
int overscan_offset = 0; int overscan_offset = 0;
if (crop_overscan_mode == OVERSCAN_CROP_ON) if (crop_overscan_mode == OVERSCAN_CROP_ON)
@ -1776,10 +1777,12 @@ bool8 S9xDeinitUpdate(int width, int height)
if (blargg_filter) if (blargg_filter)
{ {
if(width == 512) burst_phase = (burst_phase + 1) % 3;
snes_ntsc_blit_hires(snes_ntsc, GFX.Screen, GFX.Pitch/2, 0, width, height, snes_ntsc_buffer, GFX.Pitch);
if (width == 512)
snes_ntsc_blit_hires(snes_ntsc, GFX.Screen, GFX.Pitch / 2, burst_phase, width, height, snes_ntsc_buffer, GFX.Pitch);
else else
snes_ntsc_blit(snes_ntsc, GFX.Screen, GFX.Pitch/2, 0, width, height, snes_ntsc_buffer, GFX.Pitch); snes_ntsc_blit(snes_ntsc, GFX.Screen, GFX.Pitch / 2, burst_phase, width, height, snes_ntsc_buffer, GFX.Pitch);
video_cb(snes_ntsc_buffer + ((int)(GFX.Pitch >> 1) * overscan_offset), SNES_NTSC_OUT_WIDTH(width), height, GFX.Pitch); video_cb(snes_ntsc_buffer + ((int)(GFX.Pitch >> 1) * overscan_offset), SNES_NTSC_OUT_WIDTH(width), height, GFX.Pitch);
} }