Page 1 of 2

Rolling picture with YPbPr

Posted: Mon May 25, 2020 3:54 am
by Thad
Hello there!

I'm new to MiSTer, and I'm having some trouble with the refresh rate when I boot some of the cores. I'm using an NTSC CRT TV with YPbPr inputs. (The brand is Magnavox; I'm not sure what model, but I can try to figure it out if that will help.)

(ETA: I believe the model is 20MT4405/17. I haven't hauled the TV out to look at the sticker on the back, but based on photos, that's the one I've got.)

I bought my DE-10 Nano and the following accessories from misteraddons.com:

IO board (standard, generic 5V fan)
VGA to Component / YPbPr Cable
In-Line Power Switch
SDRAM XSD 2.5 128MB

I'm also using a MakerSpot Micro USB OTG Hub from Amazon.

I've got the IO board connected to a YPbPr switch with the VGA-YPbPr adapter; the switch outputs to the TV.

The main menu works. Some cores display correctly. Some display a rolling picture when I load them; I believe they're running at 50Hz instead of 60Hz. In some cases the refresh rate switches to 60Hz when I load a ROM (usually the picture continues to roll for a few seconds but then switches to 60Hz, usually after a screen transition).

I've run update.sh and the cores are all the latest versions. In MiSTer.ini, I've set ypbpr=1 and tried with and without composite_sync; I haven't noticed any difference between composite_sync=0 and composite_sync=1. The IO board's SOG switch is set to "OVR". The Genesis and SNES cores are both set to US as the region.

Cores that load at the correct refresh rate:

Most arcade cores
GBA
NES
SMS

Cores that load at the wrong refresh rate but will switch to the correct one if I load a ROM:

Genesis
SNES
TurboGrafx16

I've also noticed that Flicky behaves similarly and displays a rolling picture when I first open it but switches to 60Hz once it gets to the title screen.

Cores that load at the wrong refresh rate and don't switch if I load a ROM:

Gameboy

I've got a workaround set up for Genesis, SNES, and TG-16; if I put a boot.rom in their respective game directories, then they load the ROM at startup and switch to 60Hz. But that doesn't work for Game Boy. Loading a ROM doesn't always switch the refresh rate for Genesis, SNES, or TG-16, either; some ROMs continue to display a rolling picture, even if the ROM is from an NTSC region.

(ETA: I found a workaround for Game Boy too; use Mega Man 5 as boot2.rom and enable Super Game Boy. More information in a post farther down this page.)

I'm guessing I've missed a configuration setting somewhere, but I'm stumped. Is there a way to force the cores to display at 60Hz? If anybody has any ideas, let me know; thanks!

ETA: I've done a bit more research and there are some people reporting a similar problem in this Reddit thread: MiSTer YPbPr sync problem

Two different posters describe having a similar issue with Philips TVs. Mine is a Magnavox, which is the same company. So it looks like this may be a common issue with Philips/Magnavox CRTs.

Re: Rolling picture with YPbPr

Posted: Fri May 29, 2020 12:44 am
by foldor
For me, I had to switch on the SOG switch in order to fix this on my Trinitron FV310. Try giving it a shot.

Re: Rolling picture with YPbPr

Posted: Sat May 30, 2020 3:54 pm
by Thad
Thanks foldor,

The SOG switch on my board isn't labeled with "off/on", it's labeled with "AUTO/OVR". I've got it set to OVR, which I think is the equivalent of "on"; if I set it to "AUTO" then the picture rolls all the time, not just some of the time.

I've also updated my OP with more information, including (what I believe is) the model number of my TV. This looks like it might be a common issue to Philips/Magnavox sets.

Re: Rolling picture with YPbPr

Posted: Thu Jun 04, 2020 1:32 am
by Dysfunkshnl
I'm having an identical issue with my CRT via I/O board. SMS, NES, Arcade Cores, MegaCD, all fine....the rest not. Was thinking it was an INI file issue, which I'll display below. Any help would be fantastic.


[MiSTer]
key_menu_as_rgui=0 ; set to 1 to make the MENU key map to RGUI in Minimig (e.g. for Right Amiga)
forced_scandoubler=0 ; set to 1 to run scandoubler on VGA output always (depends on core).
ypbpr=1 ; set to 1 for YPbPr on VGA output.
composite_sync=0 ; set to 1 for composite sync on HSync signal of VGA output.
vga_scaler=0 ; set to 1 to connect VGA to scaler output.
hdmi_audio_96k=0 ; set to 1 for 96khz/16bit HDMI audio (48khz/16bit otherwise)
keyrah_mode=0x18d80002 ; VIDPID of keyrah for special code translation (0x23418037 for Arduino Micro)
vscale_mode=0 ; 0 - scale to fit the screen height.
; 1 - use integer scale only.
; 2 - use 0.5 steps of scale.
; 3 - use 0.25 steps of scale.
vscale_border=0 ; set vertical border for TVs cutting the upper/bottom parts of screen (1-399)
;bootscreen=0 ; uncomment to disable boot screen of some cores like Minimig.
;mouse_throttle=10 ; 1-100 mouse speed divider. Useful for very sensitive mice
rbf_hide_datecode=0 ; 1 - hides datecodes from rbf file names. Press F2 for quick temporary toggle
menu_pal=0 ; 1 - PAL mode for menu core
hdmi_limited=0 ; 1 - use limited (16..235) color range over HDMI
; 2 - use limited (16..255) color range over HDMI, for VGA converters.
direct_video=1 ; 1 - enable core video timing over HDMI, use only with VGA converters.
fb_size=0 ; 0 - automatic, 1 - full size, 2 - 1/2 of resolution, 4 - 1/4 of resolution.
fb_terminal=0 ; 1 - enabled (default), 0 - disabled
osd_timeout=30 ; 5-3600 timeout (in seconds) for OSD to disappear in Menu core. 30 seconds if not set.
; Background picture will get darker after double timeout

; 1 - enables the recent file loaded/mounted.
; WARNING: This option will enable write to SD card on every load/mount which may wear the SD card after many writes to the same place
; There is also higher chance to corrupt the File System if MiSTer will be reset or powered off while writing.
recents=0

; lastcore - Autoboot the last loaded core (corename autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; lastexactcore - Autoboot the last loaded exact core (corename_yyyymmdd.rbf autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; corename - Autoboot first corename_*.rbf found on the SD/USB
; corename_yyyymmdd.rbf - Autoboot first corename_yyyymmdd.rbf found on the SD/USB
;bootcore=lastcore ; uncomment to autoboot a core, as the last loaded core.
bootcore_timeout=10 ; 10-30 timeout before autoboot, comment for autoboot without timeout.

; Option to load the custom font. Format is plain bitmap 8x8.
; Supported sizes of font:
; 768 bytes - chars 32-127 (only alpha + numeric)
; 1024 bytes - chars 0-127
; 1136 bytes - chars 0-141
; up to 2048 - only chars 0-141 will be used.
; if first 32 chars are empty (for sizes 1024 bytes and more) then they are skipped.
font=font/Computer_Apple_II.pf

; USER button emulation by keybaord. Usually it's reset button.
; 0 - lctrl+lalt+ralt (lctrl+lgui+rgui on keyrah)
; 1 - lctrl+lgui+rgui
; 2 - lctrl+lalt+del
; 3 - same as 0 (lctrl+lalt+ralt on keyrah)
reset_combo=0

dvi_mode=0 ; set to 1 for DVI mode. Audio won't be transmitted through HDMI in DVI mode.

; 0 - 1280x720@60
; 1 - 1024x768@60
; 2 - 720x480@60
; 3 - 720x576@50
; 4 - 1280x1024@60
; 5 - 800x600@60
; 6 - 640x480@60
; 7 - 1280x720@50
; 8 - 1920x1080@60
; 9 - 1920x1080@50
;10 - 1366x768@60
;11 - 1024x600@60
;
; custom mode: hact,hfp,hs,hbp,vact,vfp,vs,vbp,Fpix_in_KHz
; video_mode=1280,110,40,220,720,5,5,20,74250
video_mode=8

; set to 1-10 (seconds) to display video info on startup/change
video_info=9

; Set to 1 for automatic HDMI VSync rate adjust to match original VSync.
; Set to 2 for low latency mode (single buffer).
; This option makes video butter smooth like on original emulated system.
; Adjusting is done by changing pixel clock. Not every display supports variable pixel clock.
; For proper adjusting and to reduce possible out of range pixel clock, use 60Hz HDMI video
; modes as a base even for 50Hz systems.
vsync_adjust=0

; If you monitor doesn't support either very low (NTSC monitors may not support PAL) or
; very high (PAL monitors may not support NTSC) then you can set refresh_min and/or refresh_max
; parameters, so vsync_adjust won't be applied for refreshes outside specified.
; These parameters are valid only when vsync_adjust is non-zero.
refresh_min=0
refresh_max=0

; These parameters have the same format as video_mode.
; You need to supply both PAL and NTSC modes if you want vsync_adjust to switch between
; predefined modes as a base. This will reduce the range of pixel clock.
;video_mode_ntsc=0
;video_mode_pal=7

; 1-10 (seconds) to display controller's button map upon first time key press
; 0 - disable
controller_info=6

; JammaSD keys to joysticks translation
; You have to provide correct VID and PID of your input device
jammasd_vid=0x04D8
jammasd_pid=0xF3AD

Re: Rolling picture with YPbPr

Posted: Thu Jun 04, 2020 12:39 pm
by spacejockey
Yesterday i have same problem. I can work out deleting core's config (in /config).
The problem lies in scandoubler fx was ON(scanline 50%) so you turn off before active DIRECT VIDEO will be OK.

Re: Rolling picture with YPbPr

Posted: Thu Jun 04, 2020 3:46 pm
by colonel panic
I've had similar issues with cores booting in PAL using a VGA to RGB cable into my PVM. (My particular PVM has a problem displaying PAL, its on my to-do list to fix it.) How I've gotten around this is by booting the core on an HDTV over HDMI using the scaler and an alt ini, setting the video mode in the core options to NTSC, and saving the core config. Might not totally fix your issue, but it will definitely help you if your CRT can only display NTSC

Re: Rolling picture with YPbPr

Posted: Wed Jun 24, 2020 8:48 pm
by Shogun
I am experiencing a very similar issue so instead of posting a new thread I thought I'd post in this one. My issue is with certain cores give me a rolling screen on my Sony CRT TV when I launch them. I'll include my .ini at the bottom of the post. These issues are not occurring on my PC CRT.

Signal path: Mister FPGA > VGA out on I/O board > VGA to Component cable> Component input on Sony Trinitron KV-24FS100.

After testing the cores:
SNES, NES, Genesis, Neogeo, GBA - No sync
SMS, megacd Arcade, TG16, gameboy - Sync

Things I have tried are all different combinations of settings in the ini. SoG switch, setting all cores to NTSC region using my PC CRT (also confirming the cores work there), as well as launching various games in the SNES core to see if they would sync up when a game is launched. I tried hooking up to another TV I have which is a Phillips which can accept progressive signals. It was completely different as to what cores would have sync and which other wouldn't. For example Neogeo games just had a black screen but I could see the menu.

Code: Select all

[MiSTer]
key_menu_as_rgui=0     ; set to 1 to make the MENU key map to RGUI in Minimig (e.g. for Right Amiga)
forced_scandoubler=0   ; set to 1 to run scandoubler on VGA output always (depends on core).
ypbpr=1                ; set to 1 for YPbPr on VGA output.
composite_sync=0       ; set to 1 for composite sync on HSync signal of VGA output.
vga_scaler=0          ; set to 1 to connect VGA to scaler output.
hdmi_audio_96k=0       ; set to 1 for 96khz/16bit HDMI audio (48khz/16bit otherwise)
keyrah_mode=0x18d80002 ; VIDPID of keyrah for special code translation (0x23418037 for Arduino Micro)
volumectl=0            ; enable audio volume control by multimedia keys
vscale_mode=1          ; 0 - scale to fit the screen height.
                       ; 1 - use integer scale only.
                       ; 2 - use 0.5 steps of scale.
                       ; 3 - use 0.25 steps of scale.
vscale_border=0        ; set vertical border for TVs cutting the upper/bottom parts of screen (1-99)
;bootscreen=0          ; uncomment to disable boot screen of some cores like Minimig. 
;mouse_throttle=10     ; 1-100 mouse speed divider. Useful for very sensitive mice
rbf_hide_datecode=0    ; 1 - hides datecodes from rbf file names. Press F2 for quick temporary toggle
menu_pal=0             ; 1 - PAL mode for menu core
hdmi_limited=0         ; 1 - use limited (16..235) color range over HDMI
fb_size=0              ; 0 - automatic, 1 - full size, 2 - 1/2 of resolution, 4 - 1/4 of resolution.
fb_terminal=1          ; 1 - enabled (default), 0 - disabled
osd_timeout=30         ; 5-3600 timeout (in seconds) for OSD to disappear in Menu core. 30 seconds if not set.
                       ; Background picture will get darker after double timout

; lastcore - Autoboot the last loaded core (corename autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; lastexactcore - Autoboot the last loaded exact core (corename_yyyymmdd.rbf autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; corename - Autoboot first corename_*.rbf found on the SD/USB
; corename_yyyymmdd.rbf - Autoboot first corename_yyyymmdd.rbf found on the SD/USB
;bootcore=lastcore    ; uncomment to autoboot a core, as the last loaded core.
bootcore_timeout=10  ; 10-30 timeout before autoboot, comment for autoboot without timeout.

; Option to load the custom font. Format is plain bitmap 8x8.
; Supported sizes of font:
;   768 bytes - chars 32-127 (only alpha + numeric)
;  1024 bytes - chars 0-127
;  1136 bytes - chars 0-141
;  up to 2048 - only chars 0-141 will be used.
; if first 32 chars are empty (for sizes 1024 bytes and more) then they are skipped.
font=font/myfont.pf

; USER button emulation by keybaord. Usually it's reset button.
; 0 - lctrl+lalt+ralt (lctrl+lgui+rgui on keyrah)
; 1 - lctrl+lgui+rgui
; 2 - lctrl+lalt+del
; 3 - same as 0 (lctrl+lalt+ralt on keyrah)
reset_combo=0

dvi_mode=0             ; set to 1 for DVI mode. Audio won't be transmitted through HDMI in DVI mode.

; 0 - 1280x720@60
; 1 - 1024x768@60
; 2 - 720x480@60
; 3 - 720x576@50
; 4 - 1280x1024@60
; 5 - 800x600@60
; 6 - 640x480@60
; 7 - 1280x720@50
; 8 - 1920x1080@60
; 9 - 1920x1080@50
;10 - 1366x768@60
;11 - 1024x600@60
;
; custom mode: hact,hfp,hs,hbp,vact,vfp,vs,vbp,Fpix_in_KHz
;   video_mode=1280,110,40,220,720,5,5,20,74250
video_mode=6

; set to 1-10 (seconds) to display video info on startup/change
video_info=10

; Set to 1 for automatic HDMI VSync rate adjust to match original VSync.
; Set to 2 for low latency mode (single buffer).
; This option makes video butter smooth like on original emulated system.
; Adjusting is done by changing pixel clock. Not every display supports variable pixel clock.
; For proper adjusting and to reduce possible out of range pixel clock, use 60Hz HDMI video
; modes as a base even for 50Hz systems. 
vsync_adjust=0

; These parameters have the same format as video_mode.
; You need to supply both PAL and NTSC modes if you want vsync_adjust to switch between
; predefined modes as a base. This will reduce the range of pixel clock.
;video_mode_ntsc=0
;video_mode_pal=7

Re: Rolling picture with YPbPr

Posted: Sun Jun 28, 2020 5:42 pm
by Shogun
I found a solution that worked with my setup using the new refresh_min, refresh_max settings in the updated mister.ini. I set the min to 59hz and the max to 60hz. After that every core worked except snes so that made me think something was wrong with that specific core. I deleted all my snes config files and updated the core and now it works! Everything is now working great so I hope this works for others out there.
; If you monitor doesn't support either very low (NTSC monitors may not support PAL) or
; very high (PAL monitors may not support NTSC) then you can set refresh_min and/or refresh_max
; parameters, so vsync_adjust won't be applied for refreshes outside specified.
; These parameters are valid only when vsync_adjust is non-zero.
refresh_min=0
refresh_max=0

Re: Rolling picture with YPbPr

Posted: Tue Jun 30, 2020 10:18 pm
by Thad
Thanks Shogun, glad to hear that worked for you.

Unfortunately, no such luck here; I tried refresh_min=59, refresh_max=60 and it didn't change anything for me. The search continues...

Re: Rolling picture with YPbPr

Posted: Fri Jul 03, 2020 12:25 am
by Thad
I still don't have a fix, but I found a workaround for Game Boy. For whatever reason, if I enable Super Game Boy and load Mega Man 5, it fixes the rolling picture -- and once it's loaded, I can switch games; other games work fine after that (even if I turn off SGB mode). So I just enable SGB and save my settings, then make MM5 my boot2.rom and now I can play Game Boy.

Not sure why that game in particular; the same trick didn't work with Donkey Kong.

Re: Rolling picture with YPbPr

Posted: Sat Jul 25, 2020 5:05 pm
by wreckk
I was having this exact issue when attaching my MiSTer to a SONY PVM 5041.

I went through all the settings, adjusted refresh rate, vsync, etc... After over an hour of tinkering with almost every setting, I was at my wits end and decided to see if there were any potential settings I was missing on the back of my unit.

Long story short, I found a knob for VHOLD which completely solved my issue after a second or two of tuning.

Lots of CRT units have a vhold knob, sometimes recessed, but is fully accessible with a flat screwdriver.

I really hope this helps you all solve your issues, it was driving me crazy.

Re: Rolling picture with YPbPr

Posted: Tue Oct 13, 2020 5:32 am
by mukiex
EDIT: (even though I haven't actually submitted this response yet): I just realized that **changing the channel up and then back down** fixes the sync for SNES/Genesis games. (still get that "slow roll" with some Genesis games)
Thad wrote: Tue Jun 30, 2020 10:18 pm Thanks Shogun, glad to hear that worked for you.

Unfortunately, no such luck here; I tried refresh_min=59, refresh_max=60 and it didn't change anything for me. The search continues...
You might wanna try the trick I posted in my own thread detailing this issue:

1. Copy one of the CRT Gamma Profiles
2. Replace every bottom value up to 48 with 48. So for example, if the first lines look like this:

Code: Select all

1
1
2
3
..
45
47
48
50
replace it with:
(just replacing the very first value might also work)

Code: Select all

48
48
48
..
48
48
48
50
This kinda-sorta "fixes" the SNES and Genesis cores for me, but:

1. The image ends up washed out, which means I toggle it off after loading a game, and toggle it back on before loading the next game.
2. The Genesis core sometimes still goes into a very slow "roll" (v-blank isn't kicking in); toggling SOG on/off fixes it

My main guesses:
- There's something inherently wrong with these composite-oriented consoles sending a proper h-blank v-blank signal over component. A good way to test this would be with real Genesis or SNES hardware with component output on the same TV. Haven't had a chance to do this, sadly.
- There's something wrong about MiSTer's implementation of their blanking signals and/or video modes. Again, checking the above might help verify this.
- Some TVs, specifically those with multiple refresh rate support (my TV supports Neo Geo's odd 59.3Hz rate w/o any problems, along with PAL resolutions for SNES and Genesis with the above workaround)
- The real consoles send a few high-brightness frames out whenever changing video modes or loading carts that "kick in" the refresh fix. Maybe that could be tested with a slow-mo capture.
- The act of "turning on" results in a "new" signal that some TVs' circuitry uses to attempt to re-check sync signals. As the MiSTer does not "turn off" the CRT signal when switching to new cores like a power cycle would, the TV keeps the old sync and freaks out until it gets info that lets it know that the sync should be re-checked. (see top comment; changing the channel away band back to Component might fix the sync issue for you)

Re: Rolling picture with YPbPr

Posted: Tue Oct 13, 2020 8:42 pm
by Thad
mukiex wrote: Tue Oct 13, 2020 5:32 amMy main guesses:
- There's something inherently wrong with these composite-oriented consoles sending a proper h-blank v-blank signal over component. A good way to test this would be with real Genesis or SNES hardware with component output on the same TV. Haven't had a chance to do this, sadly.
I have. I've hooked up both a SNES and a Genesis (model 1) to the TV with HD Retrovision YPbPr cables. They work fine; no issues with the picture. If there's a problem with the output signal, there must be something in the HD Retrovision adapter that fixes it.

Re: Rolling picture with YPbPr

Posted: Mon Nov 16, 2020 6:12 am
by jrronimo
I just tried to set up my MiSTer with a component CRT and I'm also getting rolling images with GBA, Genesis, and SNES. Possibly others, but I haven't tried them yet.

I'm using an IO Board v6.1 with this VGA to component cable. It works great for NES and looks like SMS is working too.

Has anyone found a good solution? I'd really love to see the native video from the SNES and Genesis at least on a CRT.

I don't mind if I have to set custom timings on a per-core basis, but it'd be really great to get this solved once and for all.

Re: Rolling picture with YPbPr

Posted: Mon Nov 16, 2020 3:44 pm
by aberu
What's your CRT, what's the position of the VGA Jumper on the I/O board, and have you changed any of the settings in the mister.ini?
Thad wrote: Tue Oct 13, 2020 8:42 pm
mukiex wrote: Tue Oct 13, 2020 5:32 amMy main guesses:
- There's something inherently wrong with these composite-oriented consoles sending a proper h-blank v-blank signal over component. A good way to test this would be with real Genesis or SNES hardware with component output on the same TV. Haven't had a chance to do this, sadly.
I have. I've hooked up both a SNES and a Genesis (model 1) to the TV with HD Retrovision YPbPr cables. They work fine; no issues with the picture. If there's a problem with the output signal, there must be something in the HD Retrovision adapter that fixes it.
Yes, the HD Retrovision converts the signal significantly in post. That's partly why it's so expensive, it has a complicated processor in there.

Re: Rolling picture with YPbPr

Posted: Mon Nov 16, 2020 4:46 pm
by jrronimo
aberu wrote: Mon Nov 16, 2020 3:44 pm What's your CRT, what's the position of the VGA Jumper on the I/O board, and have you changed any of the settings in the mister.ini?
I've tried the VGA jumper on both 3.3V and 5V; no difference. I set the Sync on Green to On, and I have the YpBpr=1 set in my mister.ini. It works for the Menu, and it works for NES, but SNES, Genesis, and GBA show a rolling image as soon as I go into the core.

Oh, and the CRT is a Philips CRT. I'll get the model number shortly.

Re: Rolling picture with YPbPr

Posted: Mon Nov 16, 2020 7:15 pm
by aberu
jrronimo wrote: Mon Nov 16, 2020 4:46 pm
aberu wrote: Mon Nov 16, 2020 3:44 pm What's your CRT, what's the position of the VGA Jumper on the I/O board, and have you changed any of the settings in the mister.ini?
I've tried the VGA jumper on both 3.3V and 5V; no difference. I set the Sync on Green to On, and I have the YpBpr=1 set in my mister.ini. It works for the Menu, and it works for NES, but SNES, Genesis, and GBA show a rolling image as soon as I go into the core.

Oh, and the CRT is a Philips CRT. I'll get the model number shortly.
Try not using either 3.3v or 5v. I think the Jumper should be set to Off by default for Component from what I remember unless you have a specific need for it. The Jumper there is to support adapters that require power and to support SCART setups.

Also, change vga_scaler=0 to 1 and see if that fixes it.

Re: Rolling picture with YPbPr

Posted: Mon Nov 16, 2020 11:46 pm
by jrronimo
Alright, I have 3 CRTs.

The first two, where most cores don't work, are:
RCA 27F554T from 2008
Philips 27PT543S37A from 2004

On the RCA TV, the Menu core displays for a second when I turn on the MiSTer, then it reports "No signal or incompatible signal." Something like that.
The Philips will handle the Menu core just fine and NES games, but anything else seems to be rolling image. This happens no matter where the VGA jumper is set to.

The 3rd TV is a bit more special. It's a Sony KD34XBR960. Widescreen, has an HDMI input as well as Component.

The Sony handles all of the cores just fine. Could this be a timing thing? Like, maybe the Sony handles Progressive video signal, but the other two TVs don't?

Re: Rolling picture with YPbPr

Posted: Tue Nov 17, 2020 8:28 pm
by jrronimo
I guess I don't understand what's going on. If I can get proper video out of the Menu with video_mode=6, why can't I get proper video out of the Genesis core by setting
[Genesis]
video_mode=6
as well? Are they outputting video differently?

I've also tried some specific video_modes in the [Genesis] section, but I continue to get rolling video. I'm not sure if I need a specific video_mode or if I'm not configuring something correctly or what.

Re: Rolling picture with YPbPr

Posted: Thu Nov 19, 2020 9:15 pm
by jrronimo
I've got some more evidence. A friend of mine pointed out that if you load a game, they'll sync. Putting that to the test, it seems like games only sync when the screen is bright enough. For instance, if you start the Genesis core and start Zombies Ate My Neighbors, but you hit start and skip the Konami screen, the game never syncs. But if you let it play the Konami screen, it does sync.

Super Mario World on SNES doesn't sync until you hit the main screen; everything else is dark.

Here's a video showing it: First is ZAMN skipping the Konami logo, towards the end is after the Konami logo is shown. A few other games are shown in the meantime.

This feels like a bug to me, but I'm not sure if it's in the way the cores sync or what's going on here...

Re: Rolling picture with YPbPr

Posted: Fri Nov 20, 2020 3:07 pm
by aberu
My guess given your recent comment on the behavior related to brightness is that there might be something wrong with the TV, funnily enough. Have you had the TV's capacitors replaced?

EDIT: Actually scratch that. have you wiped out your .cfg files for these cores and tried em fresh?

Re: Rolling picture with YPbPr

Posted: Fri Nov 20, 2020 5:27 pm
by jrronimo
None of the 3 TVs have had caps replaced. They display pictures just fine for most things; if I plug an actual Genesis into them, they work fine. With the MiSTer, it's repeateable that the NES core works fine always, but the other cores only "sync" after loading a game. And the Menu core works fine always, too. I suppose it could be caps, but I doubt it...

I think starting with a fresh cfg file is a great plan though. I've probably mucked around in there far too much at this point, haha. I don't think it'll change too much, but I'll give it a shot later today or this weekend.

It'd be great for this to all be working, but I'm getting some great tinkering time in, which I love too, haha. :D

Re: Rolling picture with YPbPr

Posted: Sat Nov 21, 2020 3:58 pm
by TheCraiggers
Chiming in here with my experience, same as jrronimo. I've been testing this a lot over the past couple of weeks. This is with a fresh mister install, and no changes to my INI other than enabling YPbPr output.
  • GBA: Menu and games work
  • NES: Menu and games work
  • SNES: Menu does not sync, but most games seem to. (Limited testing here; I don't have many SNES games.)
  • GENESIS: Menu does not sync, and it seems completely random day-by-day if starting a Genesis game will get sync or not. It's always better than the menu, which never gets sync. Some days, starting any game will get sync. Other days, only some games will get sync, and sometimes nothing I do seems to work. I've not yet figured out what causes good days versus bad. Temperature, time of day, multiple resets...
  • MegaCD: Same as Genesis, but I don't have many games for this either.
I seem to remember installing some updates a couple days ago, which may have impacted this for the worse. I should see about rolling that update back to see if it makes things slightly better.

I did try setting vga_scaler but that made the problem worse. No picture on menu, games very far out of sync.

Re: Rolling picture with YPbPr

Posted: Tue Nov 24, 2020 6:55 pm
by jrronimo
In case anyone else comes by this thread looking for info, I talked with Sorgelig through the Genesis Core github, and he mentioned two things about this issue:
May be sync level is not enough for your TV. Component output on MiSTer is simplified and kind of hacky.
and
It's HW issue. You need a better converter from RGB to Component. Or at least some sync level boost. It can't be fixed by software.
Btw, make sure your cable has no additional circuit inside which may decrease the sync level.
I doubt it's my cable, but it's not impossible. I'm keeping my eye open for a different RGB to Component adapter that might work better, but in the meantime I've started using the Antonio Villena VGA to S-Video adapter that aberu gave me, and it's working great. The video quality isn't *quite* as nice as when the Component cable works, but it's WAY more reliable and seems to work with every core I'm using, so it'll do.

One last piece in case this is ever useful to anyone: I hacked up someone else's Genesis "Hello World" program to make it just display a sort of salmon color on screen. It's reliably making my Genesis core sync on YPbPr when it loads by setting it to /media/fat/Genesis/boot0.rom, so at least I can navigate the Genesis Menu. However, Genesis games initialize their own video, so I get rolling images when loading a game until that game displays a bright enough screen on its own, so it's ultimately not that useful. You can download it here.

Re: Rolling picture with YPbPr

Posted: Sun Dec 06, 2020 5:36 am
by thorr
See my last post (12/5/2020 9:30 PM PST) here: viewtopic.php?f=33&t=1471
I had a rolling picture with a new HDMI to component device until I changed the MiSTeR.ini file to composite_sync=0
Maybe this will help you.

If not, I recommend getting one of these: https://www.ebay.com/itm/224222036088

It may solve all of your problems. Hope this helps.

Re: Rolling picture with YPbPr

Posted: Sun Dec 06, 2020 10:50 pm
by jrronimo
Thanks for the suggestions! I've tried with composite_sync=0 and composite_sync=1; they both act the same. I'm content to use the S-Video adapter since I already have it, but it would be nice if there were some way to boost the component video output for people running into the same issue I run into.

Thanks for the links! That HDMI to Component adapter looks pretty good!

Re: Rolling picture with YPbPr

Posted: Wed Mar 03, 2021 9:36 pm
by numbski
Actually, that should be pretty simple to do if it is truly the problem.

My understanding is that the sync pulse should be 1.0Vp-p (peak to peak).

If you run the composite sync line to a probe for a multimeter with a peak-hold feature, you should be able to measure that directly. You could even use a sync stripper on the Y (green) line of the YPbPr output and measure again.

If the sync pulse truly is too weak, this is an easy fix. We just run the Y line to a sync stripper ic, run that to an amp, then re-mux it to the Y line.

If there is the same sync strength before and after the cable (I assume it is a passive cable), we can bypass all of this by running sync through a single channel of a video amp ic, then put that to the YPbPr.

I just got my Mister recently and haven’t played with the YPbPr output, but I will poke around and see what I can find.

Re: Rolling picture with YPbPr

Posted: Thu Mar 04, 2021 6:40 am
by jrronimo
I think I can borrow a multimeter like that from work; I'll check! Or maybe mine does it... I don't use it often and it was cheap, haha. I'd certainly love an easy fix!

Re: Rolling picture with YPbPr

Posted: Thu Mar 11, 2021 2:33 am
by numbski
I did a little digging, and apparently anything between 0.3vp-p and 1.0vp-p is acceptable, so that sync pulse would have to be awfully weak.

Re: Rolling picture with YPbPr

Posted: Thu Mar 11, 2021 2:39 am
by numbski
Seems to me we should probably get a read on all 3 lines, and if needed build a simple circuit to attenuate the signal. We are talking super cheap, less than $5 USD in parts.

I wish I owned an oscilloscope. I could nail this to the wall.