Hello everyone,
Some SNES and Mega Drive (Genesis) games were only released in PAL format, and I want to emulate them on a CRT with proper resolution and aspect ratio using super resolution and switchres.
Switchres often calculates a 244p or 240p resolution (don't remember), but either way, the image appears squashed. The only way I’ve found to fill the screen correctly with the correct aspect ratio is using 288p. However, this introduces jitter — the image slightly wobbles or shifts, like a sync mismatch.
According to ChatGPT:
In PAL, the signal is transmitted in two fields of 312.5 lines, which together form an interlaced frame of 625 lines. When using progressive scan like 288p, the full image is sent in one go, removing interlacing. This totals 312 lines (288 visible + sync/blanking). If this total is altered (e.g., to 313), some TVs interpret the signal as interlaced, causing jitter.
Following that advice, I tried ensuring both the RetroArch-generated modeline and the VMMaker-installed one use
exactly 312 lines. This helped reduce the issue slightly... in SNES Asterix PAL, it sometimes works perfectly, but other times it doesn’t, jitter still appears in other games – sometimes more, sometimes less, and sometimes in different screen positions, upper part or lower part.
My Setup:- GPU: Sapphire Radeon HD 5450
- CPU: Intel NUC13ANBi5
- OS: Windows 10
- Drivers: CRT Emudriver 2.0 + VMMaker
- CRT: Sony Trinitron KV-21FX30E (EU model)
- Resolution: Super-res 2560x288 @50hz
Video 1: Lucky Luke (SNES) (PAL) (Jitter) (If you look to the upper part of the screen, when I move forward there are some parts that are not in place).
Switchres Log (SNES9x):
[INFO] [CRT]: Requested Resolution: 256x239@50.006977 orientation: normal
[INFO] [CRT] Video context is: wgl
[INFO] [CRT]: Current running core Snes9x
[INFO] [CRT]: Loading switchres.ini core override file from C:\RetroArch-Win64\config\Snes9x\Snes9x.switchres.ini
[INFO] Switchres: Calculating best video mode for 256x239@50.006977 orientation: normal
[INFO] Switchres: Modeline "2560x288_50 15.602177KHz 50.006977Hz" 49.146857 2560 2634 2865 3150 288 291 293 312 -hsync -vsync
[INFO] set_desktop_mode: \\.\DISPLAY5 (2560x288@50) flags(0)
[INFO] sr_set_mode: successfully switched to 2560x288@50.006977
[INFO] [CRT]: Resolution is stretched. Fractal scaling @ X:10.000000 Y:1.205021
[INFO] [CRT]: Setting Aspect Ratio: 8.888889
[INFO] [CRT]: Setting Video Screen Size to: 2560x288
[INFO] [Video]: Video refresh rate changed to 50.007 Hz.
[/spoiler]
Current VMMaker modeline:"2560x288_50 15.60KHz 50.00Hz" 49.17 2560 2632 2864 3152 288 289 291 312 -hsync -vsync
SNES9x monitor crt_range switchres Config:crt_range0 15550-16100, 54.00-62.00, 2.000, 4.700, 8.000, 0.064, 0.128, 0.064, 0, 0, 192, 272, 0, 0
crt_range1 15590-15610, 49.90-50.10, 1.500, 4.700, 5.800, 0.064, 0.160, 1.056, 0, 0, 288, 288, 0, 0
crt_range2 15550-16100, 59.80-60.20, 2.000, 4.700, 8.000, 0.064, 0.128, 0.448, 0, 0, 0, 0, 448, 480
Video 2: MegaTurrican (Megadrive) (PAL) (Jitter)Retroarch Log (BlastEm):
[INFO] [CRT]: Current running core BlastEm
[INFO] [CRT]: Loading switchres.ini core override file from C:\RetroArch-Win64\config\BlastEm\BlastEm.switchres.ini
[INFO] Switchres: Calculating best video mode for 320x240@49.701431 orientation: normal
[INFO] Switchres: Modeline "2560x288_50 15.506847KHz 49.701431Hz" 48.769032 2560 2633 2862 3145 288 291 293 312 -hsync -vsync
[INFO] set_desktop_mode: \\.\DISPLAY5 (2560x288@50) flags(0)
[INFO] sr_set_mode: successfully switched to 2560x288@49.701431
[INFO] [CRT]: Resolution is stretched. Fractal scaling @ X:8.000000 Y:1.200000
[INFO] [CRT]: Setting Aspect Ratio: 8.888889
[INFO] [CRT]: Setting Video Screen Size to: 2560x288
[INFO] [Video]: Video refresh rate changed to 49.701 Hz.
[INFO] [Environ]: SET_GEOMETRY: 256x240, Aspect: 1.333.
[INFO] [CRT]: Restoring Aspect Ratio: 8.888889
[INFO] [Environ]: SET_GEOMETRY: 320x240, Aspect: 1.333.
[INFO] [CRT]: Restoring Aspect Ratio: 8.888889
[INFO] [Environ]: SET_GEOMETRY: 256x240, Aspect: 1.333.
[INFO] [CRT]: Restoring Aspect Ratio: 8.888889
[INFO] [Environ]: SET_GEOMETRY: 320x240, Aspect: 1.333.
[INFO] [CRT]: Restoring Aspect Ratio: 8.888889
[/spoiler]
BlastEm.switchres.ini monitor crt_range Config:crt_range0 15500-16100, 54.00-62.00, 2.000, 4.700, 8.000, 0.064, 0.128, 0.064, 0, 0, 192, 272, 0, 0
crt_range1 15500-16100, 49.60-50.10, 1.500, 4.700, 5.800, 0.064, 0.160, 1.056, 0, 0, 288, 288, 0, 0
crt_range2 15500-16100, 59.80-60.20, 2.000, 4.700, 8.000, 0.064, 0.128, 0.448, 0, 0, 0, 0, 448, 480
Question:Does anyone know what might be causing the jitter I'm seeing in some PAL games 288p? I'd really appreciate any insight into why this jitter happens and how to fix it.Thanks in advance! 🙏