VGC / N64

How to oversample N64 capture in VCS to achieve a fine-quality picture: (Thanks to CW!)

The N64 horizontal sample rate is 773.5 pixels at 640x240 resolution, and 386.75 when at 320x240. Most games run at 320x240 but interpolate every other pixel to achieve 640x240, and thus can be captured by sampling at half that rate (386.75). Some games run at 640x240 natively, like Goldeneye. The only way to fix these non-integer sample rates is to oversample. Oversampling is the act of sampling at a higher horizontal resolution, then downscaling to an appropriate integer size.

VCS allows this with the Datapath VisionRGB capture cards. One only need to open VCS, force the input resolution to 1280x240 (or 1344x252 if you are not cropping), then change the H.Size figure in the video settings to 1547 (386.75 * 4 = 1547). This sample rate will work for both 320x240 and 640x240 games, thankfully. Afterwards, turn on the "Resolution" setting in the Output pane and set it to 320x240.

Window Capture with OBS or similar software afterwards. If you are prone to using FFmpeg for recording, Directshow will actually pull from what Vision/VCS output, and thus it will capture the 320x240 downscaled picture.

OSSC settings (Generic 4:3 at 4x, for games like GoldenEye 007):

H.samplerate = 1547
Sampling phase = 135 (this is so you can achieve de-blur in post, value might vary) = 240
V.backporch = 15
V.synclen = 3 = 1280
H.backporch = 155 (this plays a part in achieving de-blur as well, but don't think too hard about it)
H.synclen = 72
H. s.rate adj = 0 (not used for these modes, and has to be set to 0)
Video lpf = 9Mhz/Off depending on if there's a lpf in the chain already.
R/Pr gain = 33
G/Y gain = 35
B/Pb gain = 37

These gain values are for color correction when using a VisionRGB card for captures. Values might vary, so you can leave these at stock if you are unsure.