Ham Radio Brings Teletext Back to Life

https://www.profitableratecpm.com/f4ffsdxe?key=39b1ebce72f3758345b2155c98e6709c

Once upon a time in Europe, television remote controls had a magic teletext button. Years before the Internet entered homes, pressing this button brought up digital teletext news services with hundreds of constantly updated pages. Living in Ireland in the 1980s and 1990s, my family accessed the national Aertel teletext service several times a day for weather and news reports, as well as information such as TV program guides and updates on flight arrivals at the airport.

It was an elegant system: fast, low-bandwidth, insensitive to user load, and providing readable text even on analog television screens. So when I recently saw that it was the 40th anniversary of Aertel’s test transmissions, it reignited a thought that had been bouncing around in my head for years. Can I create an amateur radio version of teletext?

What is teletext?

First developed in the United Kingdom and rolled out to the public by the BBC as Ceefax, teletext exploited a quirk of analog television signals. These signals transmitted video images as lines of brightness and color, plus a few additional blank lines that were not displayed. Teletext superimposed a digital signal onto these spare parts, transmitting a carousel of pages over time. Using their remote control, Internet users entered the three-digit code for the desired page. Typically, within a few seconds, the carousel will circle around and display the desired page.

A diagram illustrating the process of enlarging and interpolating teletext characters. Teletext created unusually readable text in the 8-bit era by enlarging alphanumeric characters and interpolating new pixels by finding existing pixels touching diagonally and adding spaces between characters. The graphic characters were not interpolated and featured chunks of blocks known as sixels for their 2 by 3 arrangement. My modern recreation uses the open source Bedstead font, which replicates the look of teletext, including the graphic characters. James Provost

Teletext is made up of characters which can be in eight colors. Control codes in the character stream select colors and can also produce effects such as flashing text and double-height characters. Text readability was better than most computers could manage at the time, thanks to the SAA5050 character generator chip at the heart of teletext. Although characters are stored internally on this chip in 6 x 10 pixel cells (fewer pixels than the typical 8 x 8 pixel cell used in 1980s personal computers), the SAA5050 interpolates additional pixels for alphanumeric characters on the fly, resulting in an effective resolution of 10 x 18 pixels. The trade-off is very low resolution graphics, including characters that use a set of pixels in 2 by 3 blocks.

Teletext screens use a 40 x 24 character grid. This means that one kilobyte of memory can store a full page of multi-colored text, half the memory required for a similar amount of text on, say, the Commodore 64. The BBC microcomputer took advantage of this by placing an SAA5050 on its motherboard, accessible in one of the computer’s graphics modes. Despite the rudimentary graphics, some educational games used this mode, notably Grandma’s gardenwho filled the same cultural niche among British schoolchildren as The Oregon Trail did it for their American counterparts.

By the 2010s, most teletext services had stopped broadcasting. But teletext is still remembered fondly by many, and enthusiasts are keeping it alive, retrieving and archiving old content, running Internet services with current news feeds, and developing systems for creating and displaying teletext with modern televisions.

Put teletext back on the air

I wanted to do something a little different. Inspired by how BBC Micro co-opted teletext for its own purposes, I thought this could make a great radio protocol. In particular, I thought it might be a digital counterpart to slow-scan television (SSTV).

SSTV is an analog method of transmitting images, usually including banners with amateur radio call signs and other messages. SSTV is fun, but, true to its name, it is slow (most popular protocols take just under 2 minutes to send an image) and it can be difficult to get a complete image with readable text. It is for this reason that SSTV images are often broadcast several times.

Teletext is still fondly remembered by many.

I decided to send teletext using the AX.25 protocol, which encodes ones and zeros as audible tones. For VHF and UHF transmissions at a speed of 1200 baud, it would take 11 seconds to send a teletext screen. On HF bands, AX.25 data is normally sent at 300 baud, which would still give an acceptable time of 44 seconds per screen. When a teletext page is sent repeatedly, any missed or corrupted lines are filled with new ones. So in just over 2 minutes, I could send a screen three times over HF, and the receiver would automatically combine the data. I also wanted to build the system in Python for portability, with an editor to create pages, an AX.25 encoder and decoder, and a monitor to display received images.

The reason I hadn’t done this before was that it required digesting the details of the AX.25 standard and official teletext specifications and then translating them into a software suite, something I never had the time to do. So I tried an experiment within an experiment and turned to vibe coding.

Despite the popularity of vibe coding among developers, I have reservations. Even if concerns about AI drift, environment, and memory hoarding were not on the table, I would still worry about the reliance on centralized systems that vibrational coding brings. The whole point of a DIY project is to do it yourself. A DIY project allows you to create things for your own needs, not just operate within someone else’s profit margins and policies.

Still, critiquing a technology from a distance isn’t ideal, so I pointed Anthropic’s Claude to the specs of the AX.25 and teletext and told him what I wanted. After about 250,000 to 300,000 tokens and several nights of discussing bugs and features, I got the entire system working without writing a single line of code. To be honest with myself, I doubt that this system, which I call Spectel, could have come about without ambience coding.

But I didn’t learn anything new about how teletext works, and only a little more about AX.25. Updates are dependent on my payment of fees from Anthropic. I therefore remain deeply ambivalent about vibe coding. And in any case there remains one last test: try Spectel on the HF bands. Of course, that means I’ll need willing partners in the ether. So if you’re a ham and want to help, let me know in the comments below!

From the articles on your site

Related articles on the web

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button