3 ms·
Cool hack! As with other non-composite CRTs, the 5154 doesn't actually have a pixel clock so you don't need to output pixels at exactly 14.318181MHz - the timi
by ajenner 11y ago
Cool hack!
As with other non-composite CRTs, the 5154 doesn't actually have a pixel clock so you don't need to output pixels at exactly 14.318181MHz - the timings of the horizontal and vertical sync signals are the critical thing. Using a 16MHz or 13.714MHz pixel clock would probably be more convenient for a 96MHz microcontroller.
Composite NTSC will create some interesting new challenges, though. I suspect the fact that some of your pixels are 6 cycles and some are 7 cycles will cause visible banding. It might be possible to eliminate this by taking your 14.318MHz source data and doing a proper band-limited resampling of it to 16MHz or 13.714MHz instead of the nearest-neighbor interpolation you're essentially doing at the moment. You'd probably need an output DAC with more than 1 or 2 bits of dynamic range to do that, though. One of my pending projects is to do something very similar, generating composite output from a VGA card (pixel clock 14.161MHz).
- bcg1 11y agoAwesome, thanks for the feedback. I definitely appreciate the heads up as well, glad I might be able to avoid having to learn the hard way :)