void S9xDeinitUpdate(int width, int height) { if (height == 448 || height == 478) { if (GFX.Pitch == 2048) pack_frame(GFX.Screen, width, height); GFX.Pitch = 1024; } else { if (GFX.Pitch == 1024) stretch_frame(GFX.Screen, width, height); GFX.Pitch = 2048; } s9x_video_cb(GFX.Screen, width, height); }
void S9xDeinitUpdate(int width, int height) { if (use_overscan) { if (height == 224) { memmove(GFX.Screen + (GFX.Pitch / 2) * 7, GFX.Screen, GFX.Pitch * height); memset(GFX.Screen, 0x00, GFX.Pitch * 7); memset(GFX.Screen + (GFX.Pitch / 2) * (7 + 224), 0, GFX.Pitch * 8); height = 239; } else if (height == 448) { memmove(GFX.Screen + (GFX.Pitch / 2) * 15, GFX.Screen, GFX.Pitch * height); memset(GFX.Screen, 0x00, GFX.Pitch * 15); memset(GFX.Screen + (GFX.Pitch / 2) * (15 + 224), 0x00, GFX.Pitch * 17); height = 478; } } else /* libsnes classic behavior */ { if (height == 448 || height == 478) { if (GFX.Pitch == 2048) pack_frame(GFX.Screen, width, height); GFX.Pitch = 1024; } else { if (GFX.Pitch == 1024) stretch_frame(GFX.Screen, width, height); GFX.Pitch = 2048; } } s9x_video_cb(GFX.Screen, width, height); }