MiSTer-devel / PSX_MiSTer

PSX for MiSTer
GNU General Public License v2.0
204 stars 49 forks source link

NTSC region games render in monochrome in PAL60 mode #261

Open Bricabrac-Spam opened 9 months ago

Bricabrac-Spam commented 9 months ago

Hello,

first of all apologies if I am raising this issue in a wrong place. If you do feel so it is not core specific please feel free to close this one but I would be really greatfull if you could point me to the right place where I can raise it.

Having no luck in finding the solution on the MiSTer forum and after several attempts to fix it myself by tinkering in the contents of yc.txt I have started to notice some patterns making me think that there could be a bug, or more likely a gap, in YC implementation/integration in PSX core manifesting in a way as described below.

My setup: Analog IO board + active YC encoder connected via composite cable to Sony BVM monitor (PAL only);

Mister.ini: vga_scaler=0 composite_sync=1 vga_mode=svideo ntsc_mode=1; PAL60

Problem: NTSC region games render in B/W in PAL60 mode seemingly depending on output resolution and/or HSync.

Note: I have removed every entry related to PS1 from yc.txt file as per advice on the forum. Thanks to this colour appear in some cases. With the default values present in yc.txt the image is always rendered in B/W.

Observations:

This issue is not limited to the games posted above. Those are just examples which I found representative for describing the issue and very easy to replicate.

PS1 like no other platform changes resolution very often and run in non standard resolutions. Other consoles usually sticks to 224p or 240p in NTSC mode. Maybe the Y/C module is not ready for such cases? I tested NTSC region games on NES, SNES and MegaDrive cores and colour is always there so in general the PAL60 mode works. It is only PS1 which is problematic.

On a side note, in the core's source code I have found a line which seems to be related to HSync and resetting something when frequency changes. Maybe this could be some lead but as I don't know Verilog I may be talking rubbish.

Bricabrac-Spam commented 9 months ago

Some additional information regarding this issue:

By setting this option to "OFF" I will get colour videos in TR1 NTSC but the game itself will be B/W. Likewise, FFVII in-game will be in colour but menu will become B/W. This also makes Crono Cross fully in colour, including menus which are rendered in 478i, resolving the issue for this particular game.

However, there is some "instability" with that setting as using it has not always the same result (in the very same game). It is like sometimes switching it on/off when game is running, breaks something under the hood, and it has no effect with the following change. In such case core needs to be restarted for the setting to be applied.