Thanks @hunterk! for the effort!
I would only suggest the ‘last minute change’ to the ntsc-pass1 file (vertex shader part), like this:
float res = global.ntsc_scale;
gl_Position = global.MVP * Position;
vTexCoord = TexCoord;
if (res < 1.0) pix_no = TexCoord * global.SourceSize.xy * (res * global.OutputSize.xy / global.SourceSize.xy); else
pix_no = TexCoord * global.SourceSize.xy * ( global.OutputSize.xy / global.SourceSize.xy);
phase = (global.ntsc_phase < 1.5) ? ((global.OriginalSize.x > 300.0) ? 2.0 : 3.0) : ((global.ntsc_phase > 2.5) ? 3.0 : 2.0);
res = max(res, 1.0);
CHROMA_MOD_FREQ = (phase < 2.5) ? (4.0 * PI / 15.0) : (PI / 3.0);
ARTIFACTING = (global.quality > -0.5) ? global.quality * 0.5*(res+1.0) : global.cust_artifacting;
FRINGING = (global.quality > -0.5) ? global.quality : global.cust_fringing;
SATURATION = global.ntsc_sat;
BRIGHTNESS = global.ntsc_bright;
pix_no.x = pix_no.x * res;
The position of the res = max(res, 1.0); line was incorrect, should be exactly like above.
And thanks again. 