Got to work on the caption decoder a bit more today after all. It’s now basically working, though I may have to tweak the demodulation code a bit. Or maybe not; the errors we’re seeing may just be the result of a very poor quality video signal here in the basement of Rich’s house, combined with using just an arbitrary length of wire (not even measured) as an antenna.
There were a number of problems that had to be fixed. The main two were:
- The interrupt routine was supposed to save and restore the W register (accumulator), but instead was corrupting it due to a typo.
- The outputs of the processor internal comparators used for the peak detector and data slicer were not configured as outputs. For the slicer, that’s OK, as the output is only a test point, but since the peak detector wasn’t working, the slice level was wrong, and the samples were being read as all ones.
Sometime in the next week or so I’ll put the source code, schematics, and revised theory of operation on my web site. I’m debating getting some PC boards made.