Trying to wrap my head around why a particular CVBS/SVideo to VGA converter I have accepts every composite signal I feed into it, but refuses a C64C CVBS signal (which my 55" Samsung TV doesn't seem to have a problem with). Here's a capture that works (from a Timex Computer):

enter image description here

And here's the one from the C64:

enter image description here

One thing that seems evident is that the voltage amplitude of the Spectrum clone is about half of that of the C64. I've tried a series resistor to no avail. Any ideas?

Some more info here, as I have the C64C, it outputs Luma and Chroma in separate channels. I tried to make an adapter for SVideo, but I'm still out of luck. Here's a sample of the chroma channel:

enter image description here enter image description here

And the Luma channel:

enter image description here

Could it be that the upscaler doesn't receive enough current from these? I'm thinking in trying to boost the signal with something like this:

enter image description here

Meanwhile, I ordered a different upscaler; though I still wished I could somehow solve this problem, as an academic exercise :)

Here are a couple more of waveforms, with the CVBS of the TC2048 (blue) and the C64C (yellow) side-by-side. First, the Horizontal Blank:

enter image description here

And the Vertical Blank:

enter image description here

A couple more detailed waveform on each Vertical Blank:

enter image description here enter image description here

  • \$\begingroup\$ "a particular VGA converter" - which one? \$\endgroup\$ – Bruce Abbott Nov 19 '20 at 3:36
  • \$\begingroup\$ And which Timex Sinclair? \$\endgroup\$ – Bruce Abbott Nov 19 '20 at 3:36
  • 1
    \$\begingroup\$ Does it have a 75 Ohm termination on the CVBS input? \$\endgroup\$ – Bruce Abbott Nov 19 '20 at 5:29
  • 1
    \$\begingroup\$ It's a Timex Computer 2048 (TC-2048), which appears to be outputting PAL (50Hz) and will be non-interlace ie. '288p', same as the C64. \$\endgroup\$ – Bruce Abbott Nov 21 '20 at 19:09
  • 1
    \$\begingroup\$ A 'signal booster' is unnecessary if the signal already has a good level. Your Luma signal has ~0.8V sync height which should be plenty. I tried Luma on my upscaler and the picture was sharp and noise free, but still looked like it was trying to do interlace. Please show us the waveforms during vertical blank, on both the TC-2048 and C64. \$\endgroup\$ – Bruce Abbott Nov 22 '20 at 18:53

I have a converter that externally looks identical to yours. The CVBS input circuit looks like this:-


simulate this circuit – Schematic created using CircuitLab

18 Ω + 56 Ω = 74 Ω, very close to the standard CVBS termination of 75 Ω. Usually the video source will have ~75 Ω in series with its output, so to see the true video level you need to terminate the signal with 75 Ω when measuring it.

Maximum pk-pk voltage of standard composite video is ~1 V, but the Timex Computer 2048 starts up with black text on a gray background so the actual pk-pk signal voltage is lower than the C64, which has light blue text on a blue background. A major contributor to the C64's higher signal amplitude is the chrominance signal, which is encoded into the amplitude (saturation) and phase (hue) of a 3.579545 MHz (NTSC) or 4.43361875 MHz (PAL) subcarrier. This does not appear on the TC-2048 video signal because black and gray have no chrominance.

This explains most of the visible differences between the waveforms. However there could be other subtle differences that might affect the operation of an upscaler. In the 1980's when these computers were designed, the complex circuits required to produce a precise NTSC or PAL signal were too expensive for the 'home' market, so compromises were made. Often the vertical frequency was slightly off, the size and/or width of sync pulses was not quite right, 'equalizing' pulses were missing, and only one field was generated (ie. picture not interlaced). However as TVs of the day used analog circuitry this didn't matter - the signal timing just had to be 'close enough' for the analog synchronization circuits to lock onto.

Upscalers use digital circuits, so they are often more finicky. A poorly designed upscaler may have trouble handling timing differences and/or noise in the signal, with the result that some devices produce an unstable picture or none at all. I tested my converter with a variety of 'vintage' computers. Here's what I found:-

  • C64 (NTSC) :- good picture except for a 'rainbow' at the top of the screen.

  • Timex Sinclair 2068 (NTSC) :- good picture except no color.

  • C64C (PAL) :- No color, noisy, text jumping up and down by one line as if it was trying to produce an interlaced picture.

  • Spectrum +2 and +3 :- No color, jumping up and down with picture offset to the left (bad sync detection?)

  • Acorn Electron (PAL, interlace) :- good picture except no color!

I also have another cheap upscaler that is even worse. I have several TVs, including old analog CRTs and modern LCD screens, and all of them produce a good picture with these and other vintage computers in my collection. My conclusion is that cheap upscalers are often not worth the money (and there probably isn't anything you can do to 'fix' them). Use an LCD TV, or an analog CRT if you can get one (for lower lag and that true 'retro' experience).


Since you have added more detailed traces of the video waveforms we can now see that the voltage levels are similar, but the vertical sync area has notable timings differences.

This is what standard PAL video should look like in the vertical sync area:-

enter image description here

An interlaced frame consists of two fields, each having 312.5 lines. The first field has a half line at the start (top of screen), while the second field has a half line at the end (bottom of screen). This causes the first and second field lines to interleave on the screen, producing a total of 625 lines in the complete frame. To keep the horizontal and vertical oscillators in the TV in sync a series of half-line 'equalizing' and 'serration' pulses are applied around and inside the vertical sync pulse.

The C64 and TC-2048 only output one field of non-interlaced video with 312 lines. Since every field is the same, the equalizing pulses have to be the same in every field. The C64 outputs 9 extra half-line pulses in and around the vsync pulse, while the TC-2048 simply inverts the hsync pulses inside the vsync.

A good upscaler which is designed to support non-interlaced video should be able to handle these timing differences. A poor upscaler might try (and fail) to detect odd and even frames, or even completely miss the vertical sync pulse due to not counting the 'correct' number of equalizing pulses.

Another difference between the C64 and TC-2048 is the width of the 'color burst' reference frequency at the start of each horizontal line. This should be at least 9 cycles long. On the C64 it appears to be considerably longer than 9 cycles, which shouldn't normally be a problem since it just has to be long enough for the chrominance PLL to lock onto.

A poorly designed upscaler might get confused by the longer burst and not detect the horizontal sync pulse, however you say that you cannot get picture with a plain Luminance signal either (which has no color burst) so this doesn't seem to be the problem.

My conclusion is that your upscaler does not reliably handle non-interlaced video, possibly due to being intolerant of the non-standard equalizing pulse sequence. The TC-2048 may work because it doesn't have any equalizing pulses. It might be possible to remove the extra pulses using a non-retriggerable monostable that 'fills in the gaps' between normal sync pulses, as is done in this patent from 1996.

  • \$\begingroup\$ Tried the 75Ohm termination. Nothing. I also tried just feeding the Luma (Y) channel and see if I could get a B&W picture. Nothing. What's puzzling me is that it doesn't even "lock into" the image (even if the colours would turn out washed, or with a lot of pixel crawling). \$\endgroup\$ – Hugo Sereno Ferreira Nov 22 '20 at 17:50
  • \$\begingroup\$ Your addenda is very informative, thank you! \$\endgroup\$ – Hugo Sereno Ferreira Nov 23 '20 at 1:55
  • \$\begingroup\$ I started the bounty just to award you 50 points for going the extra mile, although it seems I have to wait 23h before being able to activate it.. xD \$\endgroup\$ – Hugo Sereno Ferreira Nov 23 '20 at 2:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.