Prestel - The Database

The Database

The public Prestel database consisted of a set of individual frames, which were arranged in 24 lines of 40 characters each, similar to the display used by the Ceefax and ORACLE teletext services provided by the BBC and ITV television companies. Of these, the top line was reserved for the name of the Information Provider, the price and the page number, and the bottom line was reserved for system messages. Thus there remained 22 lines (of 40 characters each) in which the Information Provider (IP) could present information to the end user. Each frame was stored in a block of 1 kilobyte (1024 bytes), out of which at least 104 bytes were reserved for routing and system information. This left 920 bytes for the frame contents, 716 bytes in the case of response frames. The IP logo on line 1 occupied at least 43 bytes, depending on the number of control characters, so the space available for the IP's data is 877 characters at most. Lines could either occupy the full forty character positions, or be terminated early with a CR/LF sequence. Each control character took up two bytes, despite displaying as a single space, so the more complex a page, the less actual information could be presented. It was almost impossible, therefore, to display a right hand border to a page.

Available characters consisted of upper and lower case alphanumeric characters as well as punctuation and simple arithmetic symbols, using a variant of ISO 646 and CCITT standard. This layout was later formalised in the 1981 CEPT videotex standard as the CEPT3 profile. In addition, mosaic graphics were available in which individual character positions were divided into six squares which could be used in any combination, giving the possibility of 64 different graphics characters. Alphanumeric characters or mosaics could be entered in white or any one of six foreground colours (red, blue, green, yellow, cyan, magenta) and set against a background of the same colours as well as black. Special control symbols were employed so that characters or mosaics could be made to flash, appear double height, be separated by a border or be “concealed” (which were made visible by means of a special “reveal” button on the Prestel keypad).

By embedding cursor-control characters within the page data, it was also possible to encode simple animations by re-writing parts of the screen already displayed. These were termed "dynamic frames" and could not be created online using conventional editing terminals, but required specialist software and uploading via the "bulk update" facility. No timing options were available beyond that imposed by the available transmission speed, usually 1,200 baud.

Page numbers were from one to nine digits in length, i.e. in the range 0 to 999999999 created in a tree like structure, whereby lower level pages could only exist if the higher numbered “parent” pages had already been created. Thus creating page 7471 required pages 747, 74 and 7 to exist, but generally the three digit node 747 would have been created in order to register the relevant main IP account. Single and double digit pages were special pages reserved by Prestel for general system information purposes, as were the 1nn-199nn sets of three digit nodes e.g. page 1a was the standard Prestel Main Index. Pages starting with a 9 were for system management functions, and were limited to three digits in length. e.g. page 92 showed details of the users Prestel bill, and page 910 gave IPs access to online editing facilities.

Routing from page to page through the database was arranged by the use of numbered items on index pages, which used the space in the frame routing table to map the index links directly to other page numbers. Thus an index on page 747 might have links requiring the user to key 1 for “UK Flights”, key 2 for “Flights to Europe”, or key 3 for “Hotels” which represented links to page 74781, 74782, and 74791 respectively. The routing table for a particular frame only allowed specification of routes for digits 0-9, so double digit routes would typically be sent via an "intermediate" frame, usually a spare frame elsewhere in the IP's database, to which the first digit of all similarly numbered items would link. Since pressing a number would interrupt a page that was currently being displayed, the keying of a double digit route would not generally inconvenience the viewer with the display of the intermediate frame.

Pages did not scroll, but could effectively be extended by the use of frames, which required alphanumeric suffixes to be appended to the numeric page numbers. Thus keying page *7471# actually resulted in the display of frame 7471a which could be extended by use of follow-on frames 7471b, 7471c etc. each of which was accessed by repeated use of the "#" key. Because the Prestel system was originally designed to be operated solely by means of a simple numeric keypad it was not possible to access frames other than the top level frame directly (i.e. in this case pages other than "7471a").

This follow-on frame facility was exploited extensively by the implementation of telesoftware on Prestel whereby computer programmes, notably for the BBC Micro, were available for download from Prestel. Generally speaking the first two or three frames acted as header pages. For example one such programme was described on frame 70067a, and 70067b, while frame 70067c gave the number of subsequent frames containing the programme, and a crosscheck sum. Special software enabled this crosscheck sum to be compared with a value calculated from the result of downloading all the required frames in order to verify a successful download. The actual telesoftware programme was contained from frame 70067d onwards, in this case for a further ten frames. In the event that the check failed it was necessary to download the entire programme again starting from the beginning.

Each frame had a single-character type code associated with it. Most frames would be "i" (for "Information" types) but other types included response frames, mailbox pages, or gateway pages. Special frame types could also be specified which caused the follow-on frame to be automatically displayed, with or without the usual clear-screen code, as soon as the current frame had finished being transmitted. These were mainly used by "dynamic frames", as it provided a mechanism to continue animations which would not otherwise fit within the number of characters available in a standard frame.

Read more about this topic:  Prestel