As I recall, on the Commodore 64's text mode, if you chose certain colour combinations, the letters would be badly obscured by some kind of interference which seemed to affect each character cell individually. If you put a yellow A atop of a blue background, it would put several yellow pixels inside that character cell beyond the ones which made up the A.

Other combinations looked well, some reasonable, some terrible. I had around three different Commodore 64s from different batches, revisions, which all exhibited this problem, all connected by RF to a small cheap TV.

Yellow on a blue background would be the worst affected, green on a blue background would be somewhat better, and light blue on a blue background would be splendid and clear. White or greys on a black background also would be clear. I'm sure I'm not misremembering the fact this happened, but I find VICE doesn't seem to emulate it.

Why did certain color combinations cause bad interference in the textmode on the C64?

  • 2
    "look terrible" on a bad TV, or on a decent monitor ? – Tommylee2k Sep 21 '18 at 11:32
  • @Tommylee2k Good point, I was using a cheap TV at that time, but I don't remember the same thing happening with my ZX Spectrum. – OmarL Sep 21 '18 at 11:38
  • I might be biased, but I think on the C64 any colour combination looked awkward ;) The C64 had the worst choice of color of any home computer of its time, IMHO. – tofro Sep 21 '18 at 11:40
  • 1
    @Thomas It's not a duplicate, since the interference I'm talking about is not a new colour but always the same as the foreground colour in that character cell. – OmarL Sep 26 '18 at 7:48
  • 1
    @Thomas It's not a duplicate because they're asking different questions and the questions have different answers. Just because the question text of one provides a partial answer to the other doesn't make them duplicates. – wizzwizz4 Sep 30 '18 at 10:46

This is just the well-known "AEC Glitch" of the C64's video output, exacerbated by the additional analog distortion of the RF output to a TV.

Anyone who used a C64 on any kind of display is familiar with the vertical stripes that appear. This is caused by interference leaking into the Luma (aka Luminance, or Intensity) portion of the video output. The interference can occur from several of the bus control or clock digital signals on the motherboard, but it is most directly associated with the changing state of AEC (Address Enable Control). This is why it is commonly called the "AEC Glitch".

Since the vertical stripes are due to regular variations in Luma as each horizontal line of the display is drawn, the distortion is minimized for text display by using colors that contrast on their Luma dimension. This maintains the necessary contrast between adjacent pixels to make the text more readable despite the Luma interference fluctuations. When you choose two colors that contrast on the Hue and Saturation, but not Luma, then the effect of the Luma interference is exacerbated. Adjacent pixels of similar Luma will tend to bleed together more dramatically with the interference pattern. This goes a long way to explaining the choice of light blue on a darker blue background for the default text screen. Also why contrasting intensity (luma) colors for foreground and background work best.

It should also be noted that this interference problem is frequently corrected by modders installing the so-called "Luma Fix".

| improve this answer | |
  • What is Address Control Enable? Some kind of C64-specific signal? – OmarL Sep 21 '18 at 13:36
  • AEC is a 6510 feature/pin for coprocessors. – Brian H Sep 21 '18 at 13:41
  • @BrianH - did the C64 make use of AEC? Any later machines? – Maury Markowitz Jan 5 at 0:11
  • @MauryMarkowitz AEC is used in the C64 and C128 to maintain bus arbitration between the CPU and VIC. – Brian H Jan 5 at 0:53

I don't know the C64's special glitch problems, but to me the effect you describe can be explained by going over the RF signal.

The analog TV signal that gets modulated on the RF encodes Luma and Chroma very differently (for compatibility reasons when color TV was introduced).

Luma gets a bandwidth of about 3 MHz, meaning that on the visible part of a scan line (50 µsec), you get maximum 150 highs and 150 lows, meaning 300 pixels. So the 320 pixels of HiRes graphics or 40-characters text can be more or less distinguished if they have a good chroma contrast.

Chroma, on the other hand, only gets about 1.5 MHz bandwidth, meaning 150 pixels. So, if foreground and background color differ mainly in hue or saturation, the TV signal can't transport 320 different pixels in a line, and you get a badly blurred picture.

To get a crisp picture (as far as you can call anything on an old-style TV "crisp"), you should choose a color combination that differs only in luminance, e.g. dark blue and light blue.

Even combinations that are typically regarded "good contrast" like white letters on red background will get blurred in the chrominance, e.g. the vertical bar of an uppercase "T" will become more light-red than white, only the horizontal bar will be white in the middle.

And if the RF circuit isn't perfect (and I've never seen high-quality ones in the consumer market), the chroma changes often were out of sync with the luma ones, maybe lagging behind by a few pixels.

| improve this answer | |
  • And if the RF circuit isn't perfect (and I've never seen high-quality ones in the consumer market) - the ones on the early Atari computers were pretty spectacular. I remember typing in a program for the Apple II that used color bleed to simulate more colors, and it did nothing on my 400. – Maury Markowitz Jan 5 at 0:10

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.