Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: PAL SNES / Mega Drive games on CRT 288p jitter issue using RetroArch + Switchres  (Read 144 times)

0 Members and 1 Guest are viewing this topic.

ZenFlex

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:Yesterday at 04:59:43 pm
  • I want to build my own arcade controls!
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:
Quote
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):

Code: [Select]
[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:
Code: [Select]
"2560x288_50 15.60KHz 50.00Hz" 49.17 2560 2632 2864 3152 288 289 291 312 -hsync -vsync

SNES9x monitor crt_range switchres Config:
Code: [Select]
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):

Code: [Select]
[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:
Code: [Select]
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! 🙏

pbj

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 11053
  • Last login:July 16, 2025, 09:35:14 pm
  • Obey.
    • The Chris Burke Band
Could you elaborate more on which games were only released in PAL?  I’m useless to answering your questions.


ZenFlex

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:Yesterday at 04:59:43 pm
  • I want to build my own arcade controls!
Could you elaborate more on which games were only released in PAL?  I’m useless to answering your questions.
https://www.reddit.com/r/snes/comments/9dzudk/complete_list_of_pal_exclusives/
https://www.reddit.com/r/Megadrive/comments/vp85s3/list_of_pal_releases_with_no_english_ntsc_release/
https://www.reddit.com/r/SEGAGENESIS/comments/16z7ooe/games_that_run_better_at_50hz/
https://vgmrips.net/wiki/50Hz_Mega_Drive_Games
The norm was to develop at 60 Hz (NTSC-U/J).
However, many European studios worked directly on PAL consoles and used audio engines (Krisalis, Sound Images, or Teque) that clock their music logic at 50 Hz.
When that ROM is run at 60 Hz:

Music and sound effects speed up by about 20%.
Certain routines (a pause every 6 frames, for example) throw animations or physics out of sync.

Some games were released only in Europe (PAL), so there’s no NTSC 60 Hz version.