Life at 3.579545 MHz
Well, after an evening of cooking and hacking, I’ve managed to implement my own crazy software-only modulator for NTSC video. It can take an arbitrary JPEG image, turning it into an analog signal representing one field of color broadcast video. This analog signal happens to be playable by displaying a resulting image file on your video card with the proper X modeline.
This is a familiar test image that I photographed myself. The coax cable on my TV is alligator clipped right onto the red channel of the test machine’s video card. The white dots you see are “blind spots” caused by horizontal sync. Horizontal resolution is quite good, but vertical resolution is limited since I’m only generating one NTSC field.
If you care about the source code, you probably already know where to get it. Otherwise, bug me. I won’t bother linking to it from here, since by the time you read this I’ve probably changed it some more. Once I can do this in real-time, I’d like to make it into a library of some sort.
Update: I didn’t end up doing much more with this project. The code I had is in Subversion at http://svn.navi.cx/misc/trunk/modulator/