Philips TV (15khz NTSC TV CRT) - Display sync issues on some cores but not others

mukiex
Posts: 7
Joined: Fri Jun 12, 2020 10:44 am

Philips TV (15khz NTSC TV CRT) - Display sync issues on some cores but not others

Unread post by mukiex »

TV Model: Philips 20pt6441/37

I came across this problem today. Namely, that Philips TVs don't seem to get a good sync signal from some of the console cores. The most notables are SNES and Genesis. The Neo-Geo and Turbo Grafx cores (along with SMS I believe) don't have this issue.

Basically, it looks like Philips TVs are using a shade of black to differentiate the blanking signal, and the SNES/Genesis cores send this same level of black out as their normal bottom-level blacks. While this probably results in a better image overall, it makes it impossible for those cores to sync until a game fills the screen with a different color. Unfortunately, a *lot* of games on SNES and Genesis don't do this, and the core doesn't do this as well.
  • Turning the Genesis "border" on fixes it for games that use anything but pure black as their border color as soon as that border appears (usually at title screens).
  • Any Konami game fixes it when the background gets swapped for the white "flash" at the end of the Konami logo animation.
  • Even "World of Illusion" fixed it with its slightly-grayer-than-black title screen border.
Is there any way this could be fixed? Like maybe a brief gray or white full-screen image right before a game loads?
mukiex
Posts: 7
Joined: Fri Jun 12, 2020 10:44 am

Re: Philips TV (15khz NTSC TV CRT) - Display sync issues on some cores but not others

Unread post by mukiex »

Another quick hardware stat: I'm using IO Board 6.0.
MiSTer's software was updated yesterday with the update_all script.

I was able to further test this "black level" theory with the Gamma curve. I created a "TestSNES.txt" gamma profile. I basically tried raising the black level until loading a new rom would immediate come up synced properly. (the SNES core resets sync every time you load a new ROM, so sync fails every time)

Basically I'd just set all the entries from 0 to X to whatever value X had, going higher until I got a working signal. So everything from 0 to 20 would equal 20. If that failed, everything from 0 to 30 would equal 30, and so on.

So it's 48. The gamma curve on the SNES core putting absolute black at 48 would immediately load with proper sync. Obviously this grayed the screen out a bit (my personal hypothesis had been at 15/16, so that was completely wrong). Anything lower than 48 will cause a sync fail.

So I guess that comes back to the original query; can the core "initialize" with at least one gray frame at a value of 48 or higher? This would probably fix sync issues for a lot of people.

edit: Looks like on the Genesis core, this trick fixes hsync, but not vsync, and it ends up with a weird kind of rolling shutter as the vblank line slowly moves up the screen. Interestingly enough, toggling SOG off/on seems to fix this. Though if you do it w/ the Gamma turned back off, horizontal sync breaks again.
User avatar
ioev
Posts: 22
Joined: Mon May 25, 2020 1:56 pm
Has thanked: 1 time

Re: Philips TV (15khz NTSC TV CRT) - Display sync issues on some cores but not others

Unread post by ioev »

There was a thread a while ago about adding some silent noise to the video/audio signals to help with similar problems over hdmi: viewtopic.php?f=29&t=661

I wonder if something like this could help here as well? Something like the gameboy core's "Stabilize Video" feature, but would insert low level black frames.
mukiex
Posts: 7
Joined: Fri Jun 12, 2020 10:44 am

Re: Philips TV (15khz NTSC TV CRT) - Display sync issues on some cores but not others

Unread post by mukiex »

I would love to figure out what the Neo Geo video chip is doing. It didn't even fall out of sync when I switched to PAL on this TV!
Post Reply