I am working on designing a vintage computer and I have been using the TMS9918ANL. After working with it for a month or two and not making much progress, I really want to switch to another chip. I am avoiding using microcontrollers and FPGAs. Does anyone know of any graphics chips from the 70's or 80's that naturally produced composite NTSC video, outside of the TMS9918ANL? Preferably also one that can be found on eBay for less than $15 a piece.

Thank you in advance!

  • Are you looking for something that's actually in production or just generally available as new old stock? – mnem Oct 10 at 2:00
  • Maybe take a look at this question. – Raffzahn Oct 10 at 3:26
  • Do you want it for a monitor, or for TV? Does it have to be from the 70s or 80s? There are modern off-the-shelf TV encoder chips you could use. – dirkt Oct 10 at 5:01
  • 1
    If you aren't already familliar with them, check out Ben Eater's fantastic YouTube videos "The Worlds Worst Video Card" youtu.be/l7rce6IQDWs and "The Exciting Conclusion" youtu.be/uqY3FMuMuRo - Ben and his videos are top notch. – Geo... Oct 10 at 11:47
  • 1
    So, to be clear, native S-Video output isn’t acceptable? I’m an analogue dunce but I’m pretty sure that gets you to composite with a single resistor? Definitely passive cables are available. If you S-Video works then VICs are on the table, and probably more. – Tommy Oct 11 at 0:30

I'd suggest using a chain of discrete counters clocked with 4x chroma and generating a composite signal directly from that, using resistors as a crude DAC for the output stage. If e.g. you have use a two-bit DAC that can generate sync, black, and two levels above that, you could fairly easily generate 81 colors by outputting a repeating sequence of four non-sync signal levels (since there are three usable levels, and 3x3x3x3 is 81). If you use a 3-bit DAC with six non-sync levels, you could easily generate 1296 colors.

To start with, I'd suggest building two timer chains--one of which counts groups of 910 pulses from the 14.3818Mhz clock, and the other of which counts groups of 263 pulses from the output of that first clock. Each group could be implemented using three 74HC163 four-bit presettable counter chips. One could, alternatively, use two such chips plus some other logic, but using three would be simple and avoid various fiddly issues.

All six chips should be fed the same clock. Arrange the first group so that any time bit 10 is 0, the upper bit will be loaded with its present value and the remaining bits loaded with 100 0111 0010 and allow the upper stage to advance using the ENT input. Arrange the second group so that the carry output from the second stage will cause the first two stages to be loaded with either zero or 1111 1001. Doing things this way will make the top bit of the horizontal counter available as a signal that alternates polarity each line, and make the top three bits of the vertical counter available for use as a frame counter.

Once those counters are working, all you'll need to do is build circuitry that will, for each 14.3818Mhz clock pulse, figure out what the video level should be. The first step for that is probably to generate sync and chroma, but there's a fair bit of room for flexibility. To help you further with the design, I'd need to know more about what exactly you're looking to do.

| improve this answer | |
  • Ok! Do you know where I could find a schematic for something like this or at least what parts would be good? I am relatively new to the world of electronics (and technically I am a social work major, so I don't have much in terms of formal training) – benjamin black Oct 9 at 23:16
  • I'm not sure if recommending to build a TTL mine field to someone who has been struggling with a standard video chip is really a good thing. The counter chains and video memory access logic is definitely going to be much more complicated than the same thing integrated in a chip. – tofro Oct 12 at 10:13
  • @tofro: If one uses one timer chain each for horizontal and vertical, all built out of synchronous counters sharing a common clock, every signal should have a consistent uniform behavior which will be unaffected by anything else going on in the system. Many chips have a fair number of programmable registers, and can behave in ways that may be hard to understand or troubleshoot if they aren't configured properly. The approach I suggested has just two feedback paths--used to yield horizontal and vertical repeat rates that aren't powers of two, and any particular signal should have... – supercat Oct 12 at 17:04
  • ...a waveform that would be fairly simple to recognize as being correct or incorrect even with an analog scope. If one were to build a board with the aforementioned counters and a connector that exposed all of their outputs along with the source clock, and one got such a board working, one could then treat that as a component in a bigger system, knowing that it would "just work". – supercat Oct 12 at 17:07

A standard VDC chip of the early eighties is the Motorola 6845. While originally intended not for pixel-addressable, but rather character-addressable frame buffers, it can easily be tricked into generating a pixel-adressable bitmap display (like used in many Amstrad computers)-

The chip does not generate the video itself, but rather does the ghard work only and generates the timing and the address from which the next pixel to be displayed should be fetched for external circuitry.

Tha echip is apparently no longer made, but quite easy to obtain.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.