The following article is abridged from “IEEE
Transactions on Consumer Electronics”, July 1979, Volume CE-25,
Number 3. ISSN 0098-3063.
Copyright © 1979 IEEE.
This material is posted here with permission of
the IEEE. Internal or personal use of this material is permitted. However,
permission to reprint/republish this material for advertising or promotional
purposes or for creating new collective works for resale or redistribution must
be obtained from the IEEE by sending a blank email message to pubs-permissions@ieee.org.
By choosing to view this document, you agree to all provisions of the copyright
laws protecting it.
J Hedger
Independent
Television,
Southbank
TV Center
London, UK
Broadcast
teletext, as operated by the broadcasting authorities in the UK has been
available as a public service since 1974. As well as being an efficient means
of decoding and displaying textual data, it was soon realized that the standard
teletext decoder already contained many of the components required for a home
computer. It was a character-generator for visual display, a page-store, and a
very convenient numeric keypad for data-entry. With the addition of a few other
components, the result is quite a powerful stand-alone computer right inside
the TV set. By utilizing the teletext system to broadcast programs for such a
terminal, a user needs only to select the teletext pages containing the desired
program; once this has been read in, it may be loaded and executed by the
terminal microprocessor without the need for expensive storage peripherals,
telephone lines or special knowledge by the user.
Thus the
word “telesoftware” was coined by W J G Overington (1) and refers to the
transmission of such programs for a home-microprocessor by broadcast teletext.
Telesoftware represents a very cost-effective form of personal computing since
once the user has purchased a terminal ( a so-called “smart “ TV set)
Telesoftware is a free service.
Towards the
end of 1977 it was decided to embark upon a project to design and construct a
simple Telesoftware terminal for subsequent evaluation using the ORACLE
teletext service as a source of broadcast software (2).
The aim of
the project was clear: to produce quickly a terminal capable of demonstrating
the concept of Telesoftware. As a result, the design was inherently simple and
somewhat crude, being far from optimum. It was felt that by showing what was
possible with the system that this would further stimulate the interest of
decoder manufacturers and broadcasters who might continue the development.
Since at
this stage the choice of the parameters for the experimental terminal was
arbitrary, it was soon realized that it could not be allowed to interfere with
the existing teletext system. For this reason, the work was based upon the use
of wholly standard teletext transmission techniques, using normal characters in
pairs to represent software bytes.
This result
is the telesoftware pages being rendered as gibberish text on standard teletext
decoders. This did not matter for the purposes of the project, but if such a
system were adopted for public service, the UK Teletext Specification (3)
provides for a control bit (C10) which may be used to inhibit the display of
such meaningless text on normal decoders.
A
simplified block diagram of the experimental terminal is shown in Fig.1. For
the sake of clarity, only the major interconnections and bus lines are
included. Since the system was built for development as well as for
demonstration purposes, the design includes a teletype interface and a monitor
program which would not normally form part of a commercial product.
The
terminal consists of three major parts: a domestic colour TV receiver with
ultrasonic remote-control, a teletext card and a purpose-built processor card.
For convenience the two cards were mounted together with power supplies outside
the receiver itself, although clearly in a commercial design, the whole
terminal would ideally be contained within the receiver cabinet.
The
teletext card was of the standard Viewdata-compatible type; that is, with its
data and address lines for the page-store being available on a connector. The
processor card contains a microprocessor (Signetics 2650 type) and associated
memory which together form a local microcomputer.
Although
for obvious practicality at this stage, discrete components were employed, with
subsequent large-scale integration, the whole design could probably be reduced
to three or four integrated circuits.
The PAGE
STORE is random-access memory (RAM) address by two bytes of indirect address;
the first points to a row and the second to a column address. This memory would
normally be used exclusively for teletext data storage.
The SCRATCH
PAGE is 256 bytes of RAM used as a temporary store between the page-store and
SECONDARY
MEMORY which is another 4K bytes of RAM forming the main memory of the
microprocessor.
The CONTROL
PROGRAM is 2K bytes of erasable PROM holding various subroutines. Its main
functions are:
1
To
accept and interpret commands
2
To
validate incoming data
3
To
transfer valid data to secondary memory
4
To
re-read data incorrectly received
5
To go
to the start of the program when it has been correctly loaded
The REMOTE
KEYPAD is the command and user-data entry device.
The
microprocessor address and data lines are connected to the teletext address and
data bus via suitable buffer circuits. As a result, it is possible for the
microprocessor to read from or write to the teletext page store. To avoid a
conflict of addressing, the page store is only accessed by the microprocessor
at defined times during the field-flyback. The window-generator circuit
prevents access at other times and also sets up an interrupt at the start of
this window.
Commands
from the remote keypad are received at the TV set, decoded and used to control
aspects of the receiver (channel selection, volume, colour, brightness, etc.)
In addition a serial data pattern and timing waveform are generated to form the
I-bus. This I-bus is connected to the teletext card and controls the modes of
operation and page selection. The same I-bus is also taken to an input port on
the processor card in order that the microprocessor is able to respond to
inputs from the keypad.
On the
teletext card, the video processor, VIP, extracts data and data-clock
information from the television composite video signal and feeds this to the
teletext timing chain, TIC, and to the teletext acquisition and control, TAC.
Working in conjunction with TIC, TAC selects the required page information and
parallel-loads it to the page-store. Data in the page-store is fed to the
character-generator, TROM, which generates red, green and blue colour signals
for the television set when the page store is to be displayed.
The
microprocess will be reset either upon power-up or by manual push-button. In
addition, reset will occur whenever there is a major change of mode as a result
of a keypad command.
After
reset, the processor will run the control program. In this mode, it will read
the page store looking for a special sequence of characters which would
normally be found only at the beginning of a telesoftware page. until such a
page has been found, and loaded into memory, the processor has no effect upon
normal operation and the system behaves like a standard teletext/TV receiver.
If a
telesoftware page is selected and loaded into the page store, the processor
will perform error checks upon the data before loading it into the correct part
of secondary memory, via the scratchpad. This process will be repeated for each
new page received until all the pages which make up the complete program have
been received.
If errors
are detected, their location is noted and the erroneous bytes are retested on a
subsequent pass.
Since programs
generally need more than a single teletext page for transmission, they are
divided into several pages which are broadcast in a pre-determined sequence
using a single page-number. however, since the system may not receive the first
page of the program initially, it has to be capable of loading the pages in any
order. The pages contain special data to assist in this respect, described
fully later.
Once the
complete program has been loaded, a message appears on the TV screen requesting
the user to key a response on the keypad. This achieves two results: firstly,
the teletext card is set into a new mode so that no more teletext pages are
received but the contents of the page store are displayed. Secondly, the
microprocessor branches to the start of the new program in memory.
In this
mode, the received program is run and will respond to inputs from the keypad
and use the television screen as a colour visual-display.
The first
1K bytes of the control program may be replaced (via a hardware switch) by a monitor
program. When the monitor has been switched-in, programs may be loaded into
secondary memory from paper-tape using a teletype. The program may then be run
in debug mode if required. When using the monitor, subroutines in the second
half of the control program are still available.
It must be
emphasized that in a “real” terminal no debugging or paper-tape facilities
would be needed, since broadcast programs would have been fully debugged prior
to transmission.
For the
experimental project, telesoftware programs were broadcast as a series of
teletext pages with up to eight pages forming a complete sequence. As
previously mentioned, there is no way of determining which of the pages will be
received first, so the terminal is capable of loading the pages in any order.
The format
of the page is shown in Fig.2. and may be conveniently considered row by row.
Row 0 is reserved for the teletext page
header and is not affected by telesoftware.
Row 1 contains a special password to
identify the page as containing a program, and for this exercise we chose the
combination “$%$%$%” placed at the start of this row. Since the remainder of
the row is not used by the microprocessor, it may be used to display a
meaningful program title.
Row 2 contains control data for the
program and must therefore be very secure. This data is Hamming-Code (4)
protected with each byte of data being represented by two contiguous teletext
characters on the screen. To avoid using teletext control characters only six
of the possible seven bits are used, giving a total of twelve usable bits.
Eight of these bits form the data-byte and the remaining four
are used for error-detection.
Control
data is further protected by a block-check character (BCC) and intotal uses sixteen
screen characters. This control data is then repeated in the second half of the
row as a further security measure.
The control
data bytes are listed in Fig.2. and may be considered in order:
The Address Field is a two-byte address that
specifies the loading address for the first byte of program data
The Count Field is a two-byte binary value
specifying the number of bytes of program data on the page.
The Page Number uses a single byte for page
identification and is in the range 0-7.
The Program BCC is a single byte and check
the validity of the overall programme data.
The Control Line BCC is a BCC for the
control data.
The
remaining rows on the page (Row 3 onwards) are used to carry the program
data. Like the control data, each byte of program is represented by two screen
characters, each byte being Hamming-code protected.
For the
experimental terminal, programs were broadcast using machine code appropriate
to the microprocessor being used since this represented a compact and
convenient method.
The maximum
amount of program that may be contained in any one teletext page by the above
method is 420 bytes.
For the
terminal to be evaluated, four simple programs were produced to illustrate some
of the main application areas for the system.
MORTGAGE CALCULATOR was design to calculate mortgage load repayments
given user variables of sum borrows, period of loan and interest rate. Thus it
enabled a user to calculate the effect of a rise or fall in interest rate.
INSURANCE QUOTATION allows the user to obtain a quotation for automobile
insurance by entering numeric or multiple-choice responses to a questionnaire.
ESP was a number-guessing game, again requiring only numeric response
from the user. This program incorporated a random-number generator.
FIRST-AID was an example of a simple educational program, designed
around multiple-choice responses to a set of situation-type questions.
The
decision to use machine code for a single microprocessor was really for
convenience in this particular experiment. When a final specification is agreed
for telesoftware it would be more desirable to transmit programs in an
intermediate or high-level language rather than in object code (machine code).
This would allow different microprocessors to be used by the use of a resident
interpreter, permitting far more flexible manufacturer design.
A compiler
approach would be possible but impractical for telesoftware, since because both
source (high-level language) code and object code have to be held in the
terminal (albeit temporarily) at the same time, more memory is required. Also,
the execution of the object program may not commence until the source program
has been received and compiled, which results in undesirable delays.
Using the
interpretive approach, the source program is broadcast and held in terminal
memory, and each statement is individually “interpreted” into a sequence of
calls to machine-code subroutines which form part of the interpreter.
It should
be noted that at no time would the source program use the terminal hardware
directly with this approach; only via the interpreter. This afford protection
against any malfunction in the source code. It is true that the interpretive
systems results in programs executing somewhat slower than using a compiler;
typically 30 times slower, but with the current generation of microprocessors
this is still acceptably fast.
Apart from
deciding upon whether to use an interpreter or compiler approach for the future
implementation of telesoftware, a suitable high-level language must be found
and defined. This will form the subject of on-going research (5).
It must be
remembered that a broadcast telesoftware service would, in the UK at least, be
aimed primarily at the domestic user as a cost-effective method of personal
computing. Thus the majority of users would not be experienced at all in the
traditional usage of a computer, seeing the terminal in concept as more a
“smart TV” than a “home computer”. So accepted computer-type operating systems,
with error-messages such as FIELD OUT OF RANGE or INVALID OPERATOR (!) could
not be used. Instead, very careful design of the programs would have to take
place to ensure their high reliability in a run-time-only environment and the
inability of the terminal to produce meaningless, obscure or incorrect
information to the user, regardless of information input by him.
As with any
new process, specific applications crystallize over a period of development. It
would be impossible at this stage to predict all the applications for
telesoftware, but several groups of applications can be identified, and these
groups will hopefully highlight the fundamental requirements which future
applications will demand of the system. Some of these are now described.
Self-Assessment
For
example, mortgage calculation, tax assessment, welfare rights. This group is of
a question-and-answer nature with numeric and logical calculations being
performed by the program upon data provided by the user interactively. Many
uses would require only numeric input, needing only minimal keypad
requirements, while others would have to use a full alphanumeric keyboard
attached to the terminal. A characteristic of this application area is the high
quantity of textual information held in the program.
The
tremendous strength of telesoftware is its ability to update information.
Consider the changes which might be imposed upon a tax assessment program by a
parliamentary budget; with telesoftware, only the broadcast version of the
program need be changed; once this has been done, it effectively updates every
terminal in the country with the correct version of the program, which it can
do the instant the new program is broadcast.
Video Games
These
really divide into two groups; verbal reasoning games and dexterity games. The
former are ideally suited to telesoftware since they involve the manipulation
of straight textual data and should generally only require the normal numeric
keypad for input. Exmaples of dexterity games, where factors such as
hand-to-eye co-ordination figure, represent different requirements, the most
obvious being the need for paddles, joysticks and other control devices extra
to the keypad. A real-time clock might also be necessary to control game timing
functions.
Education
This is a
large and important area in which telesoftware has a great deal to offer. It
provides two significant advantages: firstly it is completely free once the
relatively inexpensive hardware (a TV set with minimal extras) has been
obtained; secondly, any number of concurrent users may be supported – there is
clearly no loading problem with the Ether!
Many
different subjects could lend themselves to telesoftware implementation,
including numeracy, science subjects and mathematics. Also, many existing and
proven techniques for computer-aided learning can be translated directly to
telesoftware.
However, in
order to be reall efficient, a significantly large portion of a teletext
database would be required to be devoted purely to the broadcasting of
educational programs to provide the necessary diversity and complexity required.
Database
Broadcasting
An example
of this area is a system proposed to detect credit card fraud. In this
application a telesoftware terminal is located near points-of-sale in stores
and shops. A small telesoftware program is loaded into each terminal at the
start of the working day and throughout the day a list of stolen or lost credit
cards is broadcast at intervals and used by the program to update the list held
within the terminal. The storekeeper when presented with a “dubious” credit
card, keys its number into the terminal. The terminal then tries to match this
number with one from its latest broadcast list. If it is successful then the
storekeeper is advised to take preventative measures.
This
illustrates the technique of a broadcast “database” which is of particular
relevance where the amount of data is fairly small in total, but subject to
very frequent updating. Depending upon the appplication, all or part of the
database can be held in the terminal after it has been broadcast leading to fast
searches through the data. Alternatively, data could be allotted fixed
time-slots for broadcasting, and the terminal could wait for the data to be
broadcast before examining it. This raises the possibility of
closed-user-groups, where the data broadcast at particular times could be of
interest only to a limited number of users.
Clearly,
some of the applications described above would be impossible or impractical
with the hardware produced for the experimental project. At the time of
writing, much work is underway to establish technical standards for a future
telesoftware system and these will obviously include recommendations for
terminal design. However, the degree of “tightness” of such a specification has
to contrast very carefully between flexibility and economics. An ultra-flexible
system would tend to be uneconomic in the early years, while an inflexible
system could be very economic at the start, leading to rapid market growth, but
would become increasingly restrictive as applications became more advanced and
hardware even less expensive.
The
over-riding factor in any such specification will be the need for telesoftware
to become a compatible extension to teletext, so that existing decoder hardware
is not rendered obsolete.
By the use
of various enhancements telesoftware could also provide such facilities as high
definition vector graphics and dynamically-redefined character sets, extending
compatibly the capabilities of broadcast teletext itself.
Standardisation
of a hardware interface could allow alphanumeric keyboards, printers,
audio-cassette recorders and floppy disks to be attached to a terminal as
peripherals. It might be desirable if such an interface could be compatible
with devices already manufactured in quantity for traditional home computer
systems.
The
implementation of telesoftware using broadcast teletext has been shown to be
able to provide a practical means for home computing and compatible extensions
to the facilities offered by broadcast teletext itself. With mass-production of
LSI units, the extra cost of incorporating a minimal telesoftware facility into
a standard TV/teletext receiver would be in the order of $100 and such a figure
could only decrease as the market became established. However, the limitations
of the system have also to be recognised: it can never order a plane-ticket or
make a hotel reservation, which are applications exclusively of two-way wired
systems such as Viewdata. But its advantages of simplicity and low-cost make it
ideal for the future domestic market, where it will provide the home user with
many useful and imaginative facilities; all available under the homely guise of
his TV set!
The author
would like to express thanks to Mr. R C Eason (Mullard Ltd., UK) for this
considerable assistance in the preparation of this paper.
1
Overington,
W J G
“Telesoftware”, Computing Vol.5. No.18 pp25,
May 1977
2
Hedger,
J
“Telesoftware: Using Teletext to Support and
Home Computer”, IEE Conference Publication 166, pp273-276, September 1978
3
Joint
IBA/BBC/BREMA Publication
“Broadcast Teletext Specification”, September
1976
4
Hamming,
R W
“Error Detecting and Error Correcting Codes”
Bell Systems Technical Journal, Vol.26, No.2. pp 147-157, April 1950
5
Green,
N W
“Software for Telesoftware”, Independent
Television Companies Association, London. Report under preparation.
John Hedger
was born and educated in London, England. He joined London Weekend Television
in an administrative capacity but later spent some time working in programme
production. He joined the ORACLE teletext project at its commencement and has
since been closely involved with all aspects of the development of broadcast
teletext. He now holds the post of System Co-Ordinator, and has special
responsibility for subtitling for the deaf, telesoftware and related new
technology.
<BACK TO TELESOFTWARE
INDEX> <SURELINK HOME PAGE>