What is Bildschirmtext?

In the 1970s and 1980s advances in microelectronics made it possible to build fairly cheap terminals connected to the telephone network. Since those terminals were either dedicated machines or modules integrated into your TV set, they didn't have to deal with the low resolution of NTSC and therefore provide high resolution images. The German BTX, for example 480 content pixels per line, and 250 lines. This allows for 40x24 lines of 12x10 pixel characters as well as an additional status line. There is support for user defined characters as well as 32 colours out of a palette of 4096. User defined characters are also available in colour! This is the lowest level of CEPT.

On the telephone side of this, there was a simple V.23 modem, using the 1200 bps channel for downstream, and the 75 bps channel for upstream. Later devices supported faster transmission rates as well as 64 kbit ISDN.

How was this used

The user had at least a numeric keypad like on a telephone. There were 2 special keys, the sextile (like a *) and the octothorpe (like a #). Random pages were accessed via *pagenumber# or *keyword#. Note that the sextile and the octothorpe were not normal ASCII characters.

Within a "page" you could navigate via the numeric keypad. *# bought you to the previous page, # brought you to the next page. Other numbers accessed numbered links on the screen. Typically before you buy something you had to say yes (=19) or no (=2).

What's the difference to Teletext?

Serial Attributes only stores one character (7 bit) per character cell. Attributes are handled by special format cells. So to change the text colour, you have a blank-looking character cell with the foreground colour command. This is how Teletext works. (Also double height characters extend downwards) Teletext also has no cursor control, as every page consists of a number of 40 character lines where each line is sent in full in one line of video.

Parallel Attributes store the full set of attributes for every character cell. So you can change colours without having to put in spaces. BTX apparently supports both modes, but the special Serial Attribute commands have been left out of this documentation.

What's the difference to Minitel?

Minitel should be rather similar. It uses 7 bit plus parity on the modem side and therefore is not fully compatible.

Technical Details

Character sets

There are multiple standard character sets.

Character set G0: ($20-$7f)

Character set G1: ($20-$7f)

Character set G2: ($20-$4f)

Character set G3: ($20-$7f)

There are also 93 DRCS characters

Combining characters

Use the SS2 command, then select a character from G2, then have your main character.

Why?

Because we can!

Also, CEPT is an already defined standard, we can use. There's hardware out there, but it can also be emulated using cheap Wifi modules and 320x240 TFT displays. Since everything is page oriented and page selection happens via a numeric keypad, this might be a cool function for a future badge.

What can I do?

First of all, you can play with the terminals provided.

If you want to do something more technical, you can set up an TCP server speaking the CEPT protocol and I can make the terminals connect to it. I'll also publish the modem source code as soon as it's ready.

Planned things

Bildschirmtext terminals

We'll bring probably one terminal connected to the POC network

Dial-in points

We will have a dial-in number for the POC network which speaks v23 as well as the data link layer protocol for error-free connectivity. The number will be 5190.

If you want to have your own service, set up a TCP-server which speaks CEPT and I'll be able to hook that up.