I would do my research (f you haven’t) and make sure that HDMI is the best conversion. I know it is equivalent to DVI-D, but you might want to compare HDMI to DisplayPort. I have a hunch that DisplayPort might be the better option here but I’m not sure.
That link is the actual shader (you can find it in your shaders directory in retroarch, open with notepad). The first part is the settings, and the rest is the code. You just tweak the parameters to whatever you want them to be. The part behind the // describes how to change the settings based on what you want, then you can change the numbers to adjust. For example #pragma parameter TVOUT_COMPOSITE_CONNECTION “TVOut Composite Enable” 0.0 0.0 1.0 1.0 // default, minimum, maximum, optional step If you want it to default to On you set the first 0.0 to 1.0. You might be able to edit these within retroarch as well – I think there is an “Adjust Parameters” option after you load the shader (if you can do that it is probably better). It’s not as hard as it looks. It’s really just editing some options and you just have to play around with it until you get a signal you like. You only need to pay attention to this part in the file and you can and should ignore the rest:
[TABLE="class: highlight tab-size js-file-line-container"]
///////////////
// TV-out tweaks
// Author: aliaspider - [email protected]
// License: GPLv3
////////////////////////////////////////////////////////
// this shader is meant to be used when running
// an emulator on a real CRT-TV @240p or @480i
////////////////////////////////////////////////////////
// Basic settings:
// signal resolution
// higher = sharper
#pragma parameter TVOUT_RESOLUTION "TVOut Signal Resolution" 256.0 0.0 1024.0 32.0 // default, minimum, maximum, optional step
// simulate a composite connection instead of RGB
#pragma parameter TVOUT_COMPOSITE_CONNECTION "TVOut Composite Enable" 0.0 0.0 1.0 1.0
// use TV video color range (16-235)
// instead of PC full range (0-255)
#pragma parameter TVOUT_TV_COLOR_LEVELS "TVOut TV Color Levels Enable" 0.0 0.0 1.0 1.0
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
// Advanced settings:
//
// these values will be used instead
// if COMPOSITE_CONNECTION is defined
// to simulate different signal resolutions(bandwidth)
// for luma (Y) and chroma ( I and Q )
// this is just an approximation
// and will only simulate the low bandwidth anspect of
// composite signal, not the crosstalk between luma and chroma
// Y = 4MHz I=1.3MHz Q=0.4MHz
#pragma parameter TVOUT_RESOLUTION_Y "TVOut Luma (Y) Resolution" 256.0 0.0 1024.0 32.0
#pragma parameter TVOUT_RESOLUTION_I "TVOut Chroma (I) Resolution" 83.2 0.0 256.0 8.0
#pragma parameter TVOUT_RESOLUTION_Q "TVOut Chroma (Q) Resolution" 25.6 0.0 256.0 8.0
// formula is MHz=resolution*15750Hz
// 15750Hz being the horizontal Frequency of NTSC
// (=262.5*60Hz)
////////////////////////////////////////////////////////
[/TABLE]
You can see there are basically three options in this shader: output resolution, simulate composite, and tv out color levels. I would think you would definitely want the color level adjustment, and probably the resolution setting, but the composite simulation is probably unnecessary because you are going to use actual composite connections. Might be worth a try to see what it does though. It looks like the default resolution of 256 may address your concerns about outputting at 240p, in which case it wouldn’t matter very much what resolution you are running the PC at, but I’m just guessing having never tried it myself. Integer scaling may be an issue so keep that option in the Video settings in mind when you are messing with it, and it is also possible that a higher resolution that is an integer multiple of 256 may be better for you than 800x600 (such as 1024x768).