reenigne wrote:My TV does use the color burst amplitude as an amplitude reference, but not just for saturation purposes - it uses it to normalize the gain for the entire signal
That's what I found, too. Because the Tandy outputs the same too low burst amplitude as the new CGA, the TV amplifies the signal like crazy, making the intensity colors all white, unless I turn down the contrast to its minimum.
Check again with an RF-modulated signal. There, because of negative modulation, the sync tip should be used as a reference for the composite signal amplitude, and the color burst amplitude should either affect nothing or only saturation.
reenigne wrote:(by a factor of about 2.6 - which explains why they reduced it by a factor of about 2.5 in the new CGA card)
In the old CGA, burst is too large, so saturation (or composite) should be reduced to 56% of the original. In the new CGA, it is too small, so saturation should be increased to 143% of the original, making mode 6 games extremely oversaturated.
reenigne wrote:by turning up the contast you are essentially also turning up the saturation as well (the entire signal is multiplied by the contrast value)
The problem is that saturation is a quadratic, not linear, function of the composite signal. But on my TV, the contrast control changes only the amplitude of the final RGB signals, not the input signal, so saturation stays constant throughout all contrast levels.
.
reenigne wrote:In your picture, the lighter one is definitely lighter
The problem is that it's oversaturated on the TV as well, for the reason stated above. It's just that the TV has a strange way of dealing with oversaturation, doing something different than just clipping as we do. Although I have to say that the picture exaggerates the difference between the lighter blues and the darker blues, although in reality it's definitely more pronounced than in DosBox.
reenigne wrote:when the hue is set to -135 degrees.
I'm not sure that the difference is really 135 degrees for all modes. It seems to be that it's 135 degrees for mode 6 (I'm not sure where the 15 degrees delay go here) but 315 degrees for mode 4. That's what I have to do to get my algorithm to look like the Tandy.
reenigne wrote:If there's too much resistance to adding a saturation control, I'd be happy with just hard-coding a lower saturation than we currently have.
I'm against a saturation control as well; the algorithm should bring it to reasonable levels by itself. That means for mode 6 games, existing saturation should just be reduced to 56% regardless of CGA setting, then the NTSC-to-709 transformation applied. For mode 4 games, I'm less certain, but I tend to favor taking the unadjusted old CGA amplitudes.