ramapcsx2 / gbs-control

GNU General Public License v3.0
773 stars 110 forks source link

24kHz to 15kHz : limitations, workarounds and perspectives #452

Open wizardwhosaysni opened 1 year ago

wizardwhosaysni commented 1 year ago

Hello and first of all thank you so much for GBS Control, which I'm already successfully using for upscaling my RGB consoles. The seamless 240p/480i switching is so great ! :-)

I'd like to share my experience so far with GBS Control on a specific project of mine, hoping to confirm I'm not missing anything, and also to possibly identify future solutions.

My project : I'm reviving a Virtua Racing arcade PCB set, with the silly idea of inserting it in my OutRunners arcade cabinet. :D
The cab uses a 15kHz CRT monitor, so best resolution is either 240p or 480i. Virtua Racing runs on the SEGA Model 1 which outputs RGBS 24kHz video signal with 384p medium resolution. The goal is then to convert original 24kHz signal to 15kHz, by either downscaling image to 240p or upscaling it to 480i.

GBS Control's 15kHz 240p output doesn't seem to manage 24kHz as well as other output resolutions :

First workaround I found : Combine GBS Control board with GBS-8100 board to output RGBS 15kHz 480i signal. But the result is disappointing : image quality is catastrophic. Blurred, unstable, faded colours, etc.

Second workaround : Combine GBS Control board with ... another GBS Control board ! Board 1 upscales to 480p, then board 2 properly downscales to 240p. At first I got issues with green bars on left side, then I saw you suggested preferring RGBS input instead of VGA RGBHV input. I gave it a try, now having the following setup : Model 1 -> RGBS 24kHz 384p -> GBSC1 -> RGBHV 31kHz 480p -> Sync combiner circuit 1 -> RGBS 31kHz 480p -> GBSC2 -> RGBHV 15kHz 240p -> Sync combiner circuit 2 -> RGBS 15kHz 240p -> 15kHz CRT Result : It works great ! Image is clean, not so much loss from 384p to 240p for Virtua Racing, this is much more satisfying than I would have thought !

So this is the nice solution I'm going with at the moment, but still I'm wondering a few things :

In any case, thank you for your time and patience, I hope my explanations are clear enough. I'll be available for any kind of test around this if needed !