jblang / TMS9918A

TMS9918A video card for RC2014
https://hackaday.io/project/159057-game-boards-for-rc2014
127 stars 21 forks source link

Ask for clarification: why do we need a voltage buffer for COMVID #4

Closed apoloval closed 5 years ago

apoloval commented 5 years ago

According to the schematic, there is a NPN, emitter-follower transistor circuit that seems to be there as a voltage buffer for COMVID signal.

Captura de pantalla 2019-03-12 a las 20 35 14

Thanks to this buffer, we may have a low output impedance. However, according to the TMS9918 datasheet, the VDP already have a MOS source-follower that would do exactly the same the NPN is doing.

Captura de pantalla 2019-03-12 a las 20 40 04

My question is, why do we need such NPN circuit for COMVID?

Thanks in advance for your help.

jblang commented 5 years ago

As I stated in the README, I started with a circuit designed by Tom LeMense and simply added address decoding and laid it out on a PCB. I did not put much thought into why he designed the output stage the way he did; I just copied it verbatim. You are right that it may not be necessary.

apoloval commented 5 years ago

Okay. Thank you so much for your response. It is really interesting, since most of the circuits I've seen using TMS9918 use a transistor at COMVID output. I will try to contact Tom to see if he could clarify this.

Again, thank you so much for your time! And congrats for this awesome project!

justinmoor commented 2 years ago

Same question here. I've got a 100% working TMS9918 with SRAM interfaced to a 6502 without the voltage buffer circuit or ferrite bead. COMVID is directly connected (with 470 ohm resistor) to the video input of the monitor (Sony PVM). Everything seems to be working fine. Any update on this?

apoloval commented 2 years ago

I emailed Tom in 2019 asking the same question here. But I am afraid I received no response.

I still don't know why this output stage. But I also confirm I have working designs that do not have it.

cbmeeks commented 2 years ago

For the record, I've also connected just a 330 ohm resistor from COMVID to GND and it worked just fine on a vanilla TV. In fact, it was very colorful and vibrant.

apoloval commented 2 years ago

In my case I am using 470 Ohms, also with nice results:

image

The design is open source, available in https://github.com/artemisamsx/gfx9918.

michaelkamprath commented 2 years ago

Section 3.4.1 and 4.2.2 of the TMS9918A spec clearly states that in most cases, a 330 Ω or 470 Ω pull down resistor on the COMVID line is what is needed. But they also states that "in some cases it may be necessary to provide a simple interface circuit to match the monitor's input requirements." The use of the transistor on the COMVID line is that circuit, and it there as a simple precaution as it electrically isolates the rare, expensive, and no longer produced TMS9918A chip from external electrical interfaces. If the monitor draws more current than the TMS9918A can supply, well, that doesn't happen with the transistor circuit in this card's current design. Is it strictly needed? No. Does adding a 25 cent (if that) part provide some electrical isolation for the TMSD9918A chip? Yes.

apoloval commented 2 years ago

I find the usage of the buffer for protection purposes convincing. Just wanted to know if there was anything else.

justinmoor commented 2 years ago

Clear story. Thanks for commenting all!