Hi All
Schematic
http://sc3000-multicart.com/images/comp ... dWorks.pdfAs promised, an explanation of the main parts of this circuit. I want to rework it, so I wouldn't build this one directly. But the main point of this thread is to leave a paper trail for anyone else playing around with it. So here is how it works.
EDIT 10 Feb 2017 - look at the next page of this thread for a simpler op-amp based circuit without the THS7314/7316 if you want to build one. It is still useful to understand how this one works though, especially the sample-hold part of the circuit and how removing those back porch pulses on R-Y and B-Y fixes the Vnocolor levelBTW - read the explanation on that hackaday page about the TMS9929A pulses on the back porch on R-Y and B-Y channels. You can see them in the graphic there.
The short explanation of how the circuit gets rid of the pulses on R-Y and B-Y is that it uses a LM1881 sync seperator to determine when the sync interval is and the burst / back porch interval. During the sync interval, it samples and stores the value of Vnocolor for the R-Y and B-Y channels in a sample and hold circuit, then during the burst interval it plays back the stored Vnocolor instead of the R-Y and B-Y signals (thereby eliminating the pulses).
(IMPORTANT - the TMS9928 does NOT have these burst pulses on R-Y and B-Y. I don't think the TMS9928 was ever used in any Sega products, but if you have something using a TMS9928, then you don't have to worry about pulses on R-Y and B-Y)
1. Video signals to the TV should be 1v peak to peak for the Y channel. ie. 0.3v for the sync pulse, 0.7v from Vblack to Vwhite
2. The TMS9929A on the SC-3000 outputs Y with a 1.44v range from Vsync to Vwhite (instead of 1v range), and a DC offset of 1.92v (Vsync is 1.92v)
That gives a 1v range from Vblack to Vwhite, with Vsync 0.44v
The R-Y and B-Y channels are output on the same voltage scale as Y
Here are some useful voltage measurements for reference that I took back in 2013:
Vwhite = 3.34v
Vblack = 2.36v (so approx 1v from Vblack to Vwhite)
Vsync = 1.92v (so Y channel is approx 1.44v peak to peak)
Vno_color = 2.80v (B-Y) or 2.84v (R-Y)
Vb-y 100% = 3.32v
Vr-y 0% = 2.38v
Those correspond almost exactly to the voltage offsets from the TMS9929A manual, as discussed back in 2013.

So for instance from that table you can see that Vnocolor is Vblack + 0.47v = 2.36v + 0.47v = 2.83v (closely matches observed 2.80v to 2.84v), and for the dark blue colour B-Y = Vblack + 1.00v = 3.36v (closely matches observed 3.32v), and for the cyan colour R-Y = Vblack + 0.00v = 2.36v (closely matches observed 2.38v).
3. So based on the above, we know that Y / R-Y / B-Y must be scaled by 1 / 1.44 = 0.694 at the TV outputs to get them into the 1v p-p range for Y / Pb / Pr. Call it a factor of 0.7.
We have a voltage divider circuit on the Y input from the TMS9929A. Note that R1 + R2 = 470ohms as per the TMS9929A datasheet.
Then R2 = 0.7 * 470ohms = 329ohms approx = 330ohms and R1 = 140ohms for an approx 0.7 multiplier on Y
4. In addition, Pb and Pr have further scaling required. See earlier discussion in this thread from June 2013.
For YPbPr you need to scale B-Y by 0.564 to get Pb and R-Y by 0.713 to get Pr.
So B-Y is scaled by 0.564 * 0.7 = 0.395
So R6 = 0.395 * 470ohms = 186ohms approx = 190ohms
R5 = 284ohms approx = 280ohms
I used a 500ohm trimpot and did my best to adjust the voltage split as I didn't have the correct resistors around.
So R-Y is scaled by 0.713 * 0.7 = 0.4991
Call it 0.5 - close enough
So R3 = R4 = 235ohms. I think I used two 240 ohm resistors instead.
4. THS7316 - dedicated 3 channel HD-TV video amplifier with inbuilt filters and some other magic
Big brother of THS7314 which was designed for SDTV use. I thought the output noise was slightly lower on the THS7316 so I ran with that.
These are cool chips. They have a fixed 2x gain, so that when you run the output into a 75ohm resistor the voltage drops back to 1x gain at the TV input (because the TV inputs are terminated to ground through a 75ohm resistor too). The chips also allow you the choice of AC coupling or DC coupling both the inputs and outputs. There is a sync tip clamp built in if you AC couple the input, and you can also use a large pullup resistor (R7 and R8 - in the order of 2Mohm to 3Mohm) to give AC coupled output a DC offset again. You can also drive up to two lines off each output. Various built in filters too.
And if it wasn't for those bloody burst pulses on B-Y and R-Y, it would make for a very simple component video mod. Actually, even with the pulses intact you can get reasonable output.
5. Scaled Y / R-Y / B-Y inputs from TMS9929A are AC coupled to the THS7316
The incoming signals from the TMS9929A have a significant DC offset. Even if I scaled back to 1v p-p (Vwhite 2.35v), I was very close to the clipping limit on the outputs of the THS7316 after the 2x gain and level shift. So I ran with AC coupling. And that is brilliant for the Y channel as it has a built in tip sync clamp and level shift to keep your sync pulse sitting at around 290Mv on the output.
R-Y and B-Y signals do not have a sync pulse so you need to give them a new DC offset. The THS7316 will do that for you if you put a large pull up resistor (R7 and R8 - in the order of 2Mohm to 3Mohm) to give AC coupled output a DC offset again.
6. LM1881 sync seperator
This is a very cool little chip. You feed it the Y signal, and it outputs !CSYNC (drops low during the sync interval) and !BURST (drops low during the color burst interval of the back porch.
This is how we know when to sample Vnocolor during sync and when to play it back during burst (back porch)
7. CD4066B Quad Bi-lateral switch
This IC has switches in it that open and close on a control signal. So when it is NOT the burst interval, we pass 2xPb and 2xPr to the output. And when it IS the sync interval, we pass 2xPb and 2xPr to the sample / hold parts of the circuit to save Vnocolor for playback during the burst interval to replace those sync pulses on R-Y and B-Y
(This bit is borrowed heavily from that Hackaday project mentioned earlier)
8. Sample / Hold Circuit
When it is the sync interval, the 4066 switch passes the 2xPb and 2xPr output from the THS7316 into a sample / hold circuit formed by a 0.01uF capacitor and a op-amp. I used AD828 as I had those around, but a lower grade op-amp would do here.
(Note the !CSYNC output from the LM1881 is passed through a 74LS04 NOT gate to give CYNC. The Hackaday project used a spare 4066 gate for this purpose. I tried that out of interest by low voltage was over 1 volt and I didn't get the cleanest transition on it, so I went for LS04 NOT gate).
This works because during CSYNC, the 4066 closes the switch and 2xPb or 2xPr feeds into the op-amp and charges the capacitor. Because it is during sync, the TMS9929A is outputting Vnocolor for R-Y and B-Y
When CSYNC ends, the 4066 closes the switch. The capacitor continues to output Vnocolor to the positive input of the op-amp. Together they hold the voltage.
Just after CSYNC ends, !BURST goes low (because it is now back porch / burst), and that closes the feed from the 2xPb and 2xPr. The pull up resistors from the op-amp outputs then 'play back' the Vnocolor that we sampled during CSYNC to the output.
(Note - we need a final op-amp just before the output for the pullup resistor approach to work.)
9. Outputs are DC coupled through a 75ohm resistor
That drops the 2x gain down to 1x gain at the output. The THS7316 can run with either AC coupled or DC coupled outputs. But because I have carefully put reasonable DC offsets on everything now I will run with that. Plus I read a design note somewhere that it is common design practice to AC couple your inputs and DC couple your outputs. But whatever you do, you always assume that the next stage will play a similar game to reestablish a good DC offset.
That's most of the important stuff

I'm glad I made all the earlier notes as I couldn't remember how any of this stuff when worked natshaw called me a couple of weeks back about that hackaday project. Hopefully it is useful to someone else someday.
Cheers