OK, I'm way off the beaten track for how I want to use my propeller chip, and it seems like this should have been beaten to death a million times, but I can't find the specific answer to my specific question:
How does the propeller chip video generator really work?
I have a reasonable, if theoretical, grasp of the fundamentals of NTSC composite video signals.
I understand the use of the VSCL and VCFG registers, they are well documented in the propeller manual.
I understand the difference between 2 bits per pixel and 4 bits per pixel and how that affects the use of the values in the "colors" field of the waitvid instruction.
I understand how VGA mode works, and how I could use it to output parallel data on 8 pins at high speed, if I really wanted to.
I understand how I could use composite mode as a 3 bit (luminance) DAC as an arbitrary (8 level) waveform generator if I really wanted to, but it seems like I'd be just as well off using VGA mode if that was all I needed to do.
What I don't understand is how chroma really works, under the hood. I don't understand (and don't see documented in the propeller manual) how the 4 bits that determine the phase angle do whatever it is they are supposed to do.
I've parsed through 2 example TV drivers (TV.spin, and a custom one) and I see that the PLL is configured for twice the color burst frequency, but no explanation as to why.
I have also seen examples somewhere (I've been googling a _lot_ this evening instead of working on the project I am supposed to be working on, just because this has distracted me so much) that the color burst signal is generated with a 180 degree phase shift (i.e. bits 3..0 (or 4..7, depending on how you count them) of the color register are 00). If the color burst signal is simply the output of CTRA, why should it matter whether I start every line 180 degrees out of phase wrt CTRA? I guess I would have chosen, I don't know, say 0 for my reference color burst phase.
I have also seen references that state that only luminance values between 1 and 6 are legal. Another one said 3 to 6. (Perhaps that's because 1 and 2 are reserved for the blanking level and the sync pulses.)
I found this question seems to have been asked before at http://www.savagecircuits.com/forums/showthread.php?157-Learning-the-Propeller-Video-functions
, and one of the answers referred to broken links in the forum:
Perhaps the answers to my questions are there, but I can't figure out how to search the forums to find those particular threads.
Anyway, I am curious to learn how the underlying hardware in the video generator really works... not because I have an immediate need to use it (and if I did, I'm sure I could use one of the various different drivers to do whatever I needed to do), but because my curiosity has gotten the best of me and won't let go :-)
Thanks for any tips folks can point me at.