ekeeke / Genesis-Plus-GX

An enhanced port of Genesis Plus - accurate & portable Sega 8/16 bit emulator
Other
673 stars 193 forks source link

Sonic 2 (Genesis) 2 player mode graphic problem #499

Closed KamiLordus closed 1 year ago

KamiLordus commented 1 year ago

At default settings in two-player mode, the image flickers a lot. I tried to capture it on video, but it doesn't show up on the video. Interlace mode --> double field disables flicker but causes weird graphics issues while moving.

1

I also tested the game on picodrive and there is no such problem.

ekeeke commented 1 year ago

I assume you are talking about libretro core.

This does not occur in standalone Gamecube/Wii port (with either 240p/240i, 480i or 480p video output) so this is likely a retroarch issue (or retroarch configuration issue) so you should seek support to retroarch/libretro devs.

All I can tell is that in this interlaced mode, when double field option is disabled, the core outputs 240 lines per field/frame (like the original hardware did) so the frontend should do the interlacing of even/odd fields itself to produce a stable 480 lines picture (with an halfed framerate) but I am not sure if Retroarch can do that (maybe it is configurable in Retroarch settings). Otherwise, you get flickering as the consecutive frames are even then odd lines being rendered by core (like real hardware does).

When double field option is enabled, the core renders a 480 line picture on each frame but again, it needs two frames to render the full picture (first frame ro render even lines, second frame to render odd lines) so if you don't skip one frame (out of the two) in frontend, you will get strange artefacts when screen is changing as, every two frames, you will get half of the lines from previous frame mixed with lines from current frame. If there is an option in Retroarch to do frameskipping, you could try to configure it to one frame and see if it helps with double field option enabled.