cobaltowl

We'll cross that bridge when we find it

A collection of uninteresting updates about Teletext

31-03-2024


I've been away due to an assortment of distractions in the forms of trips, work and other engagements, but alas, here we are!

Naturally, I've made a few mistakes with my resistor ladder. The final circuit gave me exactly what I wanted, however, with voltages at 0V, 0.3V, 0.8V and 1V, with tolerance within what is specced by the Pico's pin outputs

New resistor values

Since the last post, I've managed to succesfully inject headers into the Teletext packets, which isn't impressive at all, since it's effectively a struct comprised of byte arrays, that I manipulate at run time. Following this, I've implemented sync signals for non-interlaced PAL into my program, yet another blasé improvement.

Given the only oscilloscope I have is a cheap (yet brave, and mostly adequate 40% of the time) 2 channel 10MHz picoscope, the rule of five applies, so unfortunately, all we've got is a graph showing tinnitus-level ringing from the signals:

Teletext signals

The signals come from 32*4 bit wide "messages" passed through DMA to the PIO, containing an instruction, how long the described pulse should run for (as integers, where the time to run for is described by 2us + (x+1)*0.4, because of some clock divider oddities) and which combination of two pins should be turned on.

With more modern TVs, which are pretty tolerant timing-wise, current signals shouldn't be a problem, even if they are not particularly close to 4.7 us (for HSync) or 2 us for short pulses (for VSync). I haven't experimented with the Teletext signals themselves on a real TV (which cannot be seen on the scope screenshot), so all that remains is a composite jack/cable (says he).