Page 1 of 1

Tutorial for VGA Output? [Solved]

Posted: Sat Nov 26, 2022 3:09 pm
by Vinicius

tl;dr
My VGA monitor shows the upper 80% of the screen for the NES and TG16 cores. The rest doesn't fit the screen because it's fitting the screen horizontally, for some reason. Why?

I've been happily playing with my MiSTer for a little over a year but just now switched from HDMI to VGA output to a 15" LCD monitor.
MiSTer tutorials are great but mostly for HDMI.
Is there a tutorial for outputting through VGA?

On my MiSTer.ini I've set
forced_scandoubler=1
video_mode=6 ;640x480@60
And my monitor's resolution is also set to 640x480@60.

No clue about what could be wrong.
NES resolution is 320x240 [EDIT: sorry 256x240], so with forced_scandoubler=1 it should fit the whole screen vertically, but it "overflows". [EDIT:] Shouldn't vscale_mode=0 (the default) actually prevent this, since it's set to scale to fit the screen height?
What am I missing?

Thank you for reading.


Re: Tutorial for VGA Output? [Solved]

Posted: Sat Nov 26, 2022 8:44 pm
by felleg
I have been having the same problem when I visited a friend who had a VGA monitor. I didn't have time to test it, but here is the response I got from Natrox in the MiSTter discord server (#help):

> You could set a custom aspect ratio to compensate - although this will also affect HDMI. See: https://mister-devel.github.io/MkDocs_M ... g-settings
> Bottom of the page, core specific settings
> You might have to do a little math to get to the right corrective aspect ratio
> Depends on your display ofc

link: https://discord.com/channels/6479093974 ... 9626005504

Re: Tutorial for VGA Output? [Solved]

Posted: Sat Nov 26, 2022 9:19 pm
by FoxbatStargazer
Try to not use analog output for an LCD monitor if you can help it. HDMI->DVI adapters are super cheap, just set dvi_mode=1, change the video_mode to match your monitor's full native resolution, and you'll get great results.

Most video settings are strictly for the "scaler" side that is normally used in HDMI out, to resize the original resolution and apply filters etc. along the way. By default the VGA side outputs original resolutions at original timings with no filtering, with most cores being built for standard definition CRTs. The scandoubler merely doubles every other line so that it becomes compatible with most VGA CRT monitors. If you want more control over the analog out (like resolution, shaders, etc.) ignore the scandoubler and instead try vga_scaler=1.

Re: Tutorial for VGA Output? [Solved]

Posted: Sat Nov 26, 2022 10:04 pm
by Malor
Vinicius wrote: Sat Nov 26, 2022 3:09 pmbut just now switched from HDMI to VGA output to a 15" LCD monitor.
As FoxbatStargazer says, this is a bad idea. The LCD is a digital device, so you are converting from digital to analog, and then the LCD is converting back from analog to digital. You may very well be adding substantial lag to the display, because analog conversion on LCDs is often quite slow. Further, each step involves loss, so it will never look better than a fully digital signal path, and will usually look worse. You can see the problem already with the non-centered display. This kind of thing is routine when driving flat panels with analog signals.

Anytime you're driving an LCD, use HDMI or DVI. Use analog video outputs like VGA only on analog devices.

All that said, your LCD may have some kind of 'auto adjust' button, where it scans the incoming signal and sets itself to display it better. It's sort of an automated version of the old horizontal and vertical dials on TVs. You may get a playable screen that way, but it will almost certainly be inferior to what you had before.

Re: Tutorial for VGA Output? [Solved]

Posted: Sun Nov 27, 2022 12:57 am
by Vinicius
Thank you everyone!!

felleg wrote: Sat Nov 26, 2022 8:44 pm > You could set a custom aspect ratio to compensate - although this will also affect HDMI. See: https://mister-devel.github.io/MkDocs_M ... g-settings
I've done this, works fine now.
I use separate .ini files to play either on HDMI or VGA so it's not a problem.

FoxbatStargazer wrote: Sat Nov 26, 2022 9:19 pmTry to not use analog output for an LCD monitor if you can help it
Malor wrote: Sat Nov 26, 2022 10:04 pmthis is a bad idea. The LCD is a digital device
Understood, thank you.
In my ignorance I though LCD monitors would directly output the analog signal they receive through VGA.
Lucky I was already considering buying a CRT, the VGA monitor might end being a stopgap device.

FoxbatStargazer wrote: Sat Nov 26, 2022 9:19 pmHDMI->DVI adapters are super cheap
I didn't know DVI can actually output 640x480@60Hz.
This particular monitor only has a VGA connector, so I guess it's not ideal. Lucky I got it for free at work.

FoxbatStargazer wrote: Sat Nov 26, 2022 9:19 pmignore the scandoubler and instead try vga_scaler=1
Done!

Malor wrote: Sat Nov 26, 2022 10:04 pmyour LCD may have some kind of 'auto adjust' button
Yeah, I tried that first, just in case, but that didn't work. Thanks for the suggestion.