Prestel Protocol

Prestel (or Videotex) is a simple terminal protocol, in use in parts of Europe for more than 10 years.
The protocol provides a basic (non-ASCII) character set and some low-resolution graphic symbols. Characters can have seven different colors. The terminal background color is black and can not be changed. However different character background colors can be used.

Screen Size

The width of a Prestel screen is 40 columns, the height is 24 rows.
Originally, characters were designed in a 10*6 point raster.

Character Sets

In different countries, different character sets are in use. Shown below is the British version.
In each language, symbols from three character sets can be combined in one screen. The G0 set contains normal characters, while there are two different graphic character sets.
Characters are sent to the Prestel terminal as 7-bits values, ranging from 32 to 127.

Remark: even these days, many Prestel hosts use 7-bits even parity communication.

[G0 Character Set] [Contiguous Graphics Set] [Separated Graphics Set]
G0 Character SetContiguous Graphics SetSeparated Graphics Set

Remark: the character sets are basically the same ones as used in the Teletext system.

Display Attributes

Display attributes are sent as the Escape character (value 27) followed by a normal character in the range 'A' to '_' (values 65 to 95).
On reception of a display attribute, the cursor position is incremented. So a display attribute itself takes up one position on the screen. Normally it is displayed as a space (in the current colors). When HOLD GRAPHICS mode is active, the previous character is displayed again. Display attributes are effective until a contrary attribute is received, and are only valid on the current row
Following attributes are defined (only the values following the Escape are shown).

ValueMode
65G0 character set; red foreground color
66G0 character set; green foreground color
67G0 character set; yellow foreground color
68G0 character set; blue foreground color
69G0 character set; magenta foreground color
70G0 character set; cyan foreground color
71G0 character set; white foreground color
81Graphics character set; red foreground color
82Graphics character set; green foreground color
83Graphics character set; yellow foreground color
84Graphics character set; blue foreground color
85Graphics character set; magenta foreground color
86Graphics character set; cyan foreground color
87Graphics character set; white foreground color

93Set background color to foreground color
92Black background

77DOUBLE HEIGHT (ignoring characters in next row at same positions
76NORMAL HEIGHT

72FLASH
73STEADY

72CONCEAL DISPLAY
anyVISIBLE DISPLAY

94HOLD GRAPHICS (repeat previous character if display attributes is received)
95RELEASE GRAPHICS

90SEPARATED DISPLAY (if appropriate, use separated graphics set variant)
89CONTIGUOUS DISPLAY (if appropriate, use contiguous graphics set variant)

Remark 1: default display attributes are shown in bold.
Remark 2: almost the same attributes are used in Teletext systems. The leading Escape character is not used. The values are offset by -64.

Control Characters

Prestel terminals use a cursor position to define where the next received character should be placed on the screen. The cursor position can be made visible (as a steady rectangle) and invisible by using control characters. Other control characters are used to move the cursor.
Control characters are sent as values between 0 and 31. The following control characters are defined.

ValueDescription
8Move cursor 1 position to the left (go to last column of previous row if already at the left most position)
9Move cursor 1 position to the right (go to first column of next row if already at the right most position)
10Move cursor 1 position down (go to first row (same column) if already at the bottom position)
11Move cursor 1 position up (go to first last (same column) if already at the top position)
12Clear the screen; move cursor to the top left corner
13Move cursor to first column (same row)
17Show cursor
20Hide cursor
30Move cursor to the top left corner

Remark: on reception of a normal character or display attribute, the cursor skips to the first column of the next row, if it was at the last column. If it was at the last row too, it will skip to the first row (and first column). This means the screen contents can not scroll.

Control Characters

Extensions have been defined in addition to the original Prestel specifications.
Two display attributes were added to allow the use of a black foreground color.

ValueMode
64G0 character set; black foreground color
80Graphics character set; black foreground color

Further more, an 80 column mode was introduced in which the characters are only half their normal width.
One way of swithing between 40 and 80 columns is by the use of two newly defined display attributes.

ValueMode
5480 COLUMN
5540 COLUMN

I know of two more character sequences that are in use by some Prestel hosts. [Who knows the details?]

SequenceMode
31 95 67 11280 COLUMN
31 95 65 11240 COLUMN

I beleive these sequences are used in combination with sequences that allow switching between different terminal types [who can confirm this?].

SequenceTerminal type
27 37 68 96 64Unknown
27 37 68 97 64Teletel (Minitel)
27 37 68 98 64Prestel
27 37 68 104 64Unknown
27 37 68 105 64Unknown
27 37 68 126 126 64ASCII


1996-10-10