Hey All,
Recently I bought an oscilloscope and measured the NTSC signal pumping out of an NES' composite video output. It was an interesting experiment, and the thing that really surprised me is how clean the colour burst and associated colour signals were. I half expected something blocky but somehow working because of the relative form of the signal or something, but I was pleasantly surprised. Actually, comparing the NES' signal with a Raspberry Pi I had laying about, I noticed that the Pi had a much messier signal, where the "NTSC signal" was really being formed out of a much higher frequency waveform. (though NES outputs black as 0 IRE, which is totally wrong; it seems televisions must not have minded so much?)
So I have a few things that confuse me I guess about all this. And I apologize, because I am stretching here a bit posting this question here, but I'm hoping I'll maybe find help because the VIC had Luma and Chroma outputs (might be worth learning how the VIC does it). My first guess would've been some kind of voltage divider mechanism to produce parts of the analog signal, or at least that may make sense for the Luma signal; but I'm not super convinced about what kind of conversion mechanism would've been used, because I've read that resistors are very large when we try to shove them into a chip die (not that they get larger, just that they are harder to "shrink" and so in a small IC die they take up a lot of room if required). I am aware of some basic techniques for DAC like R-2R ladders, but what is actually used at an IC level like a VIC chip or otherwise? The next mystery to me is how a smooth waveform like the colour burst signal is produced. My thinking here is maybe clever clock usage and capacitor placing drawing voltage up/down to make a "smooth" signal out of a square one, but I honestly lack the electronics skill to really know if this is practical. (One of the nice things about NTSC encoding though is that you only need a smooth waveform of the frequency of the colour burst to make any colour - saturation is controlled by the amplitude, and hue by the phase-shift, so I could see this as being reasonable since the same waveform needs to be produced for any colour, just at different phases.) However, as I understand pure sine wave generators were expensive and complicated at the time, which is why most audio was square/triangle/etc. My thinking is, as mentioned, maybe a general-purpose sine wave generator (with parameterization and all that) is difficult, but producing the same signal without changing? Maybe not so difficult.
Here is a list of the key questions I have brought up:
1. For these small ICs, what is the general mechanism by which an analog signal is produced? (if there is one that most ICs use, even.)2. How is such a smooth sine wave constructed for the colour burst and colour intensity value for the Chroma signal output?3. How do we control things like the phase-offset for the chroma signal, so that we can produce different colours?and...
4. Has anyone attempted to reverse-engineer the VIC chips past just stitching pictures of the die shots?I know visual6502 provides die shots of them, but wondering if we have any vector map like we do with the 6502? Or better yet markup with notes and such? I did some searching on Google, and found some people talking about reverse-engineering it, but all their notes and documents are no longer online because the host has since gone down. If not, I was going to play with doing some reverse-engineering by identifying the pins and working backwards from the part I was interested in, but just wondering if that work has already been done.
I'm investigating much of this currently (reading, collecting notes, practicing electronics circuits, etc.); but it's taking me a while to get to the point where I feel knowledgeable enough to ask this question without it just being a shot in the dark. So I'm kind of biting the bullet here and just asking before feeling "ready to ask", uhh - taking that "shot in the dark", unfortunately. I figured it wouldn't hurt to ask, and if the question isn't a wise one (or I should just continue about my learning) I could go back and get more information then come back with better questions.
Anyways, let me know if anyone has any knowledge or information about this. Am I overthinking it? I just have this feeling like a basic implementation like an R-2R ladder wouldn't work, and I don't know how we get the smooth waveform... It seems like magic to me!