Groepaz,
first of all: the *only* two things that could be measured in an objective way are the luma and chroma signals as they appear on the pins of the VIC. Whatever happens until they get displayed as colour is entirely at the discretion of the whole signal circuitry between those pins and the RGB phosphors on the CRT.
The chroma signal of the VIC-I is quite misbehaving. It more resembles a square wave, rather than a sine. It is then mixed into the luma signal to produce the composite video signal. Parts of the chroma signal are later mistaken for luma information, which leads to pixel tearing especially with red, green, purple, cyan and orange colour, and their light variants. This pixel tearing in not modelled in any way by VICE! On PAL, these checkerboards are steady, on NTSC they flip over each frame, thus the effect is less apparent there.
Many people have done a S-Video mod on their VIC-20, which makes this pixel tearing disappear, that mod should be selectable in VICE.
With PAL, the chroma information also leaks to the next pixel and to the following line. This cannot be modelled in any sensible way using just a RGB palette - in that point I wholeheartly agree with you. For example, if you put a solid red block over a solid cyan block, the first line of the cyan block appears in orange! Likewise, with a cyan block over a purple block, the mixing colour in the first line of the purple block is blue. Again, this isn't modelled in any way by VICE.
Even and odd rasters show slightly different colours. This is quite visible with yellow and cyan.
White does not use the full intensity, and there are some colours which exceed the intensity of white in one of the R, G or B channels, after they have been transformed from YUV to RGB. Gamut?
Finally gamma. Different output devices have a different interpretation of the same (linear) intensity for each channel. Especially for secondary colours, this can make the difference between an orange tinted or greenish tinted brown (depending how strong the mid-intensity green is mixed in).
A faithful emulation of the video output would thus need to incorporate:
- accurate generation of luma and chroma signals by VIC,
- the mixing circuitry which generates the composite signal,
- the amplifiers, delay line and matrix chip within the monitor,
- the deflection coils and their effect on the electron beams,
- the intensity of the 3 electron beams as modulated by the matrix chip,
- the reaction of the RGB phosphors, and how they fade over time.
Actually, one then would have to take into account, that output howadays happens on TFTs, with different realisations of the primary colours, a frame rate converter is necessary to resample the output. Etc.
All that effort in the end would it only get right for one combination of VIC-20 and CRT. Hopefully there's a technical compromise which would include improvements of the VIC-I colour generation as I pointed out above. And adding support for NTSC interlace would also be nice.
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)