28.06.2013 Views

The BBC Microcomputer Teletext System User Guide

The BBC Microcomputer Teletext System User Guide

The BBC Microcomputer Teletext System User Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>The</strong> <strong>BBC</strong> <strong>Microcomputer</strong><br />

<strong>Teletext</strong> <strong>System</strong><br />

<strong>User</strong> <strong>Guide</strong><br />

Part no 404000<br />

Issue no 1<br />

Date June 1983


WARNING: THE TELETEXT ADAPTER MUST BE EARTHED<br />

Important: <strong>The</strong> wires in the mains lead for the <strong>Teletext</strong> Adapter are coloured in accordance with<br />

the following code:<br />

Green and yellow Earth<br />

Blue Neutral<br />

Brown Live<br />

As the colours of the wires may not correspond with the coloured markings identifying the<br />

terminals in your plug, proceed as follows:<br />

<strong>The</strong> wire which is coloured green and yellow must be connected to the terminal in the plug which<br />

is marked by the letter E, or by the safety earth symbol + or coloured green, or green and yellow.<br />

<strong>The</strong> wire which is coloured blue must be connected to the terminal which is marked with the<br />

letter N, or coloured black.<br />

<strong>The</strong> wire which is coloured brown must be connected to the terminal which is marked with the<br />

letter L, or coloured red.<br />

If the socket outlet available is not suitable for the plug supplied, the plug should be cut off and<br />

the appropriate plug fitted and wired as previously noted. <strong>The</strong> moulded plug which was cut off<br />

should be disposed of as it would be a potential shock hazard if it were to be plugged in with the<br />

cut off end of the mains cord exposed. <strong>The</strong> moulded plug must be used with the fuse and fuse<br />

carrier firmly in place. <strong>The</strong> fuse carrier is of the same basic colour* as the coloured insert in the<br />

base of the plug. Different manufacturers' plugs and fuse carriers are not interchangeable. In the<br />

event of loss of the fuse carrier, the moulded plug MUST NOT be used. Either replace the<br />

moulded plug with another conventional plug wired as previously described, or obtain a<br />

replacement fuse carrier from an authorised <strong>BBC</strong> <strong>Microcomputer</strong> dealer. In the event of the fuse<br />

blowing it should be replaced, after clearing any faults, with a 3 amp fuse that is ASTA approved<br />

to BS1362.<br />

*Not necessarily the same shade of that colour.<br />

© Copyright Arnie Computers Limited 198:1<br />

Neither the whole or any part of the information contained in, or the product described in, this manual may be adapted or<br />

reproduced in any material form except with the prior written approval of Acorn Computers Limited (Acorn Computers).<br />

<strong>The</strong> product described in this manual and products for use with it. are subject to continuous development and improvement. All<br />

information of a technical nature and particulars of the product and its use (including the information and particulars in this<br />

manual) are given by Acorn Computers in good faith. However, it is acknowledged that there may be errors or omissions in this<br />

manual. A list of details of any amendments or revisions to this manual can be obtained upon request from Acorn Computers<br />

Technical Enquiries. Acorn Computers welcome comments and suggestions relating to the product and this manual.<br />

All correspondence should be addressed to:<br />

Technical Enquiries<br />

Acorn Computers Limited<br />

Fulbourn Road<br />

Cherry Hinton<br />

Cain Midge CB1 4JN<br />

All maintenance and service on the product must be carried out by Acorn Computes' authorised dealers. Acorn Computers can<br />

accept no liability whatsoever for any loss or damage caused by service or maintenance by unauthorised personnel. This manual in<br />

intended only to assist the reader in the use of the product, and therefore Acorn Computers shall not be liable for any loss or<br />

damage whatsoever arising from the use of any information or particulars in, or any error or omission in, this manual, or any<br />

incorrect use of the product.<br />

First published 198:1<br />

Published by Acorn Computers Limited, Fulbourn Road, Cherry Hinton. Cambridge CB1 4JN<br />

Typeset by Bateman Typesetters. Cambridge<br />

Printed by Saunders & Williams, Croydon


Contents<br />

1 About this <strong>User</strong> <strong>Guide</strong> 1<br />

2 What is <strong>Teletext</strong>?<br />

3 What does the <strong>BBC</strong> <strong>Microcomputer</strong><br />

<strong>Teletext</strong> <strong>System</strong> do? 3<br />

3.1 Introduction 3<br />

3.2 Terminal mode 3<br />

3.3 Telesoft mode 4<br />

3.4 Assembler level 4<br />

4 Getting started 5<br />

4.1 Connecting up the units 5<br />

4.2 General information on the format of commands 8<br />

4.3 Tuning in the <strong>Teletext</strong> Adapter 8<br />

4.4 A first attempt at Telesoftware 11<br />

Downloading a disordered program 12<br />

Downloading an ordered program 13<br />

5 Using the system in Terminal mode 14<br />

5.1 Introduction 14<br />

5.2 Terminal mode commands 14<br />

Selecting a channel 14<br />

Fine tune 15<br />

Select a page 15<br />

Keep a page 15<br />

Release a kept page 16<br />

Select the last explicit page 16<br />

Select index page 16<br />

Reveal and conceal 16<br />

Save a page to file 17<br />

Load a page from file 17<br />

Hold page 18<br />

Enter * command 18<br />

Exit to previous language 18


Exit to Telesoft mode 19<br />

Select wild card 19<br />

5.3 Accessing linked pages 20<br />

6 Using the system in Telesoft mode 23<br />

6.1 Introduction 23<br />

6.2 Telesoft mode commands 25<br />

*<strong>BBC</strong>1, *<strong>BBC</strong>2 25<br />

*CH1, *CH2, *CH3, *CH4 26<br />

*DATE 27<br />

*DISPLAY 27<br />

*EXEC 28<br />

*HELP 29<br />

*ITV1, *ITV2 29<br />

*OPT0 30<br />

*OPT1 30<br />

*OPT2 31<br />

*OPT3 32<br />

*PAGE 33<br />

*TIME 34<br />

*TRANSFER 34<br />

*TUNE 35<br />

7 Using the <strong>Teletext</strong> system at assembly level 36<br />

7.1 <strong>Teletext</strong> assembly level interface 36<br />

7.2 <strong>Teletext</strong> OSWORD calls 38<br />

8 Changing the filing system 41<br />

9 Technical information 42<br />

9.1 <strong>The</strong> structure and numbering of <strong>Teletext</strong> pages 42<br />

9.2 <strong>Teletext</strong> signals 44<br />

Rows 1 to 23 45<br />

Row 0 45<br />

Rows 24 to 31 46<br />

Page check word (row 27) 46<br />

9.3 Character codes 48<br />

Display modes 48<br />

Colour 48<br />

Flashing and concealed characters 49


Double height 49<br />

Hold graphics control 49<br />

9.4 Reference 49<br />

9.5 <strong>The</strong> television service data packet 49<br />

Byte structure of the television service data packet 50<br />

Bytes 1 to 6 – decoder information 50<br />

Bytes 7 to 12 51<br />

Bytes 13 and 14 – channel identification 51<br />

Byte 15 – time offset 51<br />

Bytes 16 to 18 – modified Julian date 51<br />

Bytes 19 to 21 – coordinated universal time 52<br />

Bytes 26 to 45 – status display message 52<br />

9.6 <strong>The</strong> Telesoftware format 52<br />

Names 52<br />

Command subroutines 57<br />

Start block and medium description commands 59<br />

Start block 59<br />

<strong>Teletext</strong> 60<br />

End block 60<br />

File and segment information commands 60<br />

End of file 60<br />

Title of file 61<br />

Comment 61<br />

Ignore 61<br />

Load address (absolute) 62<br />

Load address (relative) 62<br />

Execution address (absolute) 62<br />

Execution address (relative) 62<br />

Inhibit run 63<br />

Define data type 63<br />

Format redefinition commands 63<br />

Change escaped-name's meaning (decoded string) 63<br />

Change escaped-name's meaning (command) 63<br />

Change lone-name's meaning (decoded string) 64<br />

Change lone-name's meaning (command) 64<br />

No reversion to default format before next file 64<br />

Revert to default format 64<br />

<strong>The</strong> escape operator 64<br />

Eight-bit byte adjustment 65<br />

Eight-bit byte adjustment (lower) 65<br />

Eight-bit byte adjustment (raise) 65


Figures<br />

Error in transmission 65<br />

4.1 Connecting the <strong>Teletext</strong> Adapter 7<br />

4.2 Rear view of the <strong>Teletext</strong> Adapter 10<br />

4.3 Tuning picture format 10<br />

5.1 Linked pages 21<br />

9.1 Byte structure of <strong>Teletext</strong> rows 1 to 23 45<br />

9.2 Contiguous and separated graphics modes 48<br />

Tables<br />

9.1 <strong>Teletext</strong> character codes 47<br />

9.2 Name tables — default entries 54<br />

9.3 <strong>The</strong> command subroutines 59<br />

Appendices<br />

Appendix 1<br />

Installing the TELEROM into the <strong>BBC</strong> <strong>Microcomputer</strong> 66<br />

Appendix 2<br />

<strong>Teletext</strong> reception 69<br />

Appendix 3<br />

Summary of Terminal mode commands 71<br />

Appendix 4<br />

A statement about Telesoftware by the <strong>BBC</strong> 72<br />

IMPORTANT<br />

IF YOU ARE RECEIVING TELETEXT ON AN ORDINARY TELEVISION<br />

RECEIVER, YOU ARE COVERED BY YOUR EXISTING TELEVISION LICENCE,<br />

WHICH OF COURSE MUST BE VALID. IF YOU DO NOT HAVE A TELEVISION<br />

RECEIVER BUT ARE RECEIVING TELETEXT WITH THE AID OF A VIDEO<br />

MONITOR UNIT, YOU MUST HAVE A COLOUR OR BLACK AND WHITE<br />

TELEVISION LICENCE DEPENDING ON WHETHER YOUR MONITOR IS<br />

COLOUR OR BLACK AND WHITE.


1 About this <strong>User</strong><br />

<strong>Guide</strong><br />

This <strong>User</strong> <strong>Guide</strong> contains all the information you need to use the <strong>BBC</strong> <strong>Microcomputer</strong><br />

<strong>Teletext</strong> <strong>System</strong>. Whilst it is essentially an operating manual, the <strong>User</strong> <strong>Guide</strong> contains<br />

certain technical information which will help you to understand generally what<br />

<strong>Teletext</strong> is all about and gain some appreciation of the future potential offered by this<br />

system.<br />

Chapters 2 and 3 are introductory. Chapter 2 explains briefly what <strong>Teletext</strong> is all about<br />

and chapter 3 deals briefly with the various ways in which you can use your <strong>BBC</strong><br />

<strong>Microcomputer</strong> with the <strong>Teletext</strong> service.<br />

Chapter 4, as its title suggests, gets you started. It explains how to connect up the<br />

system, tune into <strong>Teletext</strong> and quickly run a Telesoftware program.<br />

Chapters 5, 6 and 7 contain the detailed instructions for using the system in the three<br />

modes of operation: Terminal, Telesoft and assembly level.<br />

Chapter 8 explains how to select, as the current system, the various filing systems (<br />

including Telesoft) which may be available on your computer.<br />

Chapter 9 contains information which will probably be of interest to the more<br />

technically minded user, but which is not essential for using the system.


2 What is <strong>Teletext</strong>?<br />

<strong>Teletext</strong> is a service offered by the <strong>BBC</strong> and IBA which makes available a wide variety<br />

of information through the medium of television. This information could be share<br />

prices on the stock market or the latest football results; the possibilities are almost<br />

endless.<br />

<strong>Teletext</strong> information is transmitted from <strong>BBC</strong> and IBA television transmitters and can<br />

be received on a commercial television receiver suitably equipped with a <strong>Teletext</strong><br />

Adapter unit. <strong>The</strong> transmitted signal however, unlike a normal television signal, is in<br />

digital form which makes it additionally suitable for use with the <strong>BBC</strong> <strong>Microcomputer</strong>.<br />

<strong>The</strong> total amount of <strong>Teletext</strong> information is too large to be displayed on a television<br />

screen at any one instant and for this reason it is transmitted in `pages' rather like the<br />

pages of a book. Only one page at a time can be displayed on a television screen.<br />

A page of information may contain text, symbols or a mixture of both; it depends on<br />

the type of information and how the broadcasters decide to present it.<br />

Because of the amount and variety of information available, transmitted <strong>Teletext</strong> pages<br />

are organised and numbered in such a manner so as to enable you quickly and easily to<br />

locate and display specific items of information.


3 What does the<br />

<strong>BBC</strong> <strong>Microcomputer</strong><br />

<strong>Teletext</strong> <strong>System</strong> do?<br />

3.1 Introduction<br />

<strong>The</strong> <strong>BBC</strong> <strong>Microcomputer</strong> <strong>Teletext</strong> <strong>System</strong> gives you most of the facilities of an<br />

ordinary <strong>Teletext</strong> receiver and, in addition, the service known as Telesoftware.<br />

Telesoftware is a service similar to <strong>Teletext</strong> and is transmitted in the same<br />

manner, that is, in pages. However, these pages contain computer programs. A<br />

program will consist of one or more pages, depending on the program length,<br />

and each program has its own file name by which it is identified. <strong>The</strong>se<br />

programs, once received, are decoded by the <strong>Teletext</strong> Adapter and thereafter<br />

are available to the computer for display, storage on disc/tape or immediate<br />

execution.<br />

It is emphasised that your television set does not require a <strong>Teletext</strong> decoder.<br />

This function amongst others is performed by the <strong>Teletext</strong> Adapter.<br />

<strong>The</strong>re are three main ways in which you can use the system: in Terminal mode,<br />

in Telesoft mode or at assembler level. <strong>The</strong> following is a brief description of<br />

the facilities offered by each.<br />

3.2 Terminal mode<br />

`Terminal mode' is a program which Acorn has supplied to give you easy<br />

access to <strong>Teletext</strong> pages. It also lets you use some more sophisticated features<br />

which only an 'intelligent' receiver can offer. <strong>The</strong>se features include asking for<br />

pages in advance, having pages stored by the system before you ask for them (<br />

see the section on linked pages), and being able to save pages onto any<br />

available filing system for later examination.<br />

You can also use Terminal mode as an easy way of finding and loading `<br />

Telesoftware' computer programs.<br />

You cannot write programs whilst in Terminal mode. In addition, if you are<br />

using a television receiver, you cannot display <strong>Teletext</strong> pages and television<br />

programmes simultaneously.


4 What does the <strong>BBC</strong> <strong>Microcomputer</strong> <strong>Teletext</strong> <strong>System</strong> do?<br />

3.3 Telesoft mode<br />

An important feature of <strong>Teletext</strong> transmissions is the ability to send programs, or '<br />

software', with the <strong>Teletext</strong> service. In keeping with the philosophy of <strong>BBC</strong><br />

<strong>Microcomputer</strong> products, Acorn has produced a filing system interface as the means of<br />

accessing Telesoftware files.<br />

IT IS IMPORTANT that you appreciate that Telesoft is a filing system, and not an<br />

applications program such as Terminal mode. With Telesoft selected you will not be<br />

able to save programs as the system thinks you are trying to save data to the television<br />

channel!<br />

You may think of Telesoft as a 'read-only' tape; it is quite a good analogy.<br />

In addition to Telesoftware, you can also display and store <strong>Teletext</strong> pages. However the<br />

full range of Terminal mode commands is not available and it is therefore probably<br />

more convenient to return to Terminal mode should you wish to handle <strong>Teletext</strong> pages.<br />

You can write and run your own programs whilst in Telesoft mode, but to store these<br />

programs you should select the appropriate filing system, ie disc or tape. See section 8.<br />

3.4 Assembler level<br />

Assembly code level allows you to control the <strong>Teletext</strong> system using programs written<br />

in Assembly Language. You can enter these into the computer from the keyboard or<br />

from file. <strong>The</strong>re are two main areas of control: one is concerned with the filing system,<br />

and the other with the <strong>Teletext</strong> Adapter.<br />

<strong>The</strong> filing system function allows the storage and retrieval of Telesoftware files. You<br />

can control this by the standard interfaces to the Machine Operating <strong>System</strong>, which are<br />

independent of the filing system.<br />

<strong>The</strong> <strong>Teletext</strong> Adapter functions, which control the conditions under which a file is<br />

stored and executed, can be accessed via the general purpose Machine Operating<br />

<strong>System</strong> calls.


4 Getting started<br />

Before proceeding further, check that you have the following items:<br />

– A Model B <strong>BBC</strong> <strong>Microcomputer</strong> fitted with a BASIC ROM.<br />

– A <strong>Teletext</strong> Adapter with the following items attached:<br />

A power cable with a 13A 3-pin plug fitted to it.<br />

A 'ribbon' cable terminating in a 34-way plug.<br />

– A coax cable fitted with a phono plug and a UHF plug as supplied with the<br />

<strong>BBC</strong> <strong>Microcomputer</strong> (if you're using a normal television receiver), or a<br />

coax cable fitted with the appropriate connectors (if you're using a video<br />

monitor).<br />

– A <strong>Teletext</strong> ROM (TELEROM).<br />

You will not need a new aerial lead, as the existing television aerial lead can<br />

be used.<br />

If any of the above are missing, contact your local supplier quoting the order<br />

number which was given to you when you first placed your order. This number<br />

also appears on the dispatch label on the outside of the packing case.<br />

4.1 Connecting up the units<br />

<strong>The</strong> first thing to do is to make sure that the ROMs are correctly positioned on<br />

the microcomputer circuit board and then to fit the TELEROM. <strong>The</strong><br />

instructions for doing this are in Appendix 1, however if you do not feel<br />

sufficiently confident, take your microcomputer and TELEROM to an<br />

authorised dealer who will do it for you.<br />

Next, refer to Fig 4.1 which shows the microcomputer and <strong>Teletext</strong> Adapter<br />

connected together and connect up the system as follows:<br />

1. Connect the 34-way socket on the <strong>Teletext</strong> Adapter 'ribbon' cable to the<br />

plug labelled 1 MHz BUS on the computer.<br />

Caution: This socket may fit both ways round–the correct way is with the<br />

arrow at one end of the socket aligned with the arrow next to the '1 MHz BUS'<br />

label. IF THE SOCKET WILL NOT GO RIGHT IN EXAMINE THE PLUG<br />

AND SOCKET FOR DAMAGE AND OBSTRUCTIONS. DO NOT USE<br />

EXCESSIVE FORCE.


6 Getting started<br />

2. Disconnect the aerial lead from the back of your television set and<br />

reconnect it to the standard television aerial socket on the back of the <strong>Teletext</strong><br />

Adapter.<br />

Note: An aerial which stands on top of your television set does not generally<br />

provide a strong enough signal. You will in all probability need a loft or<br />

externally mounted aerial. If you think your aerial may not be good enough<br />

refer to Appendix 2 which may assist you, or consult your dealer.<br />

3. Connect up whatever storage units you are using (ie disc or cassette) to the<br />

computer.<br />

4. Connect the computer UHF OUTPUT socket to the aerial socket on your<br />

television set using the phono plug/UHF plug cable, or connect the computer<br />

VIDEO OUT or RGB OUT socket to the input socket on the video monitor.<br />

5. Connect the television, storage unit, microcomputer and <strong>Teletext</strong> Adapter to<br />

the mains supply, if possible using adjacent sockets for <strong>Teletext</strong> Adapter and<br />

computer.<br />

6. Switch on television/video monitor, <strong>Teletext</strong> Adapter unit, microcomputer<br />

and storage device (disc or cassette) if fitted. IT IS IMPORTANT THAT<br />

THE TELETEXT ADAPTER IS SWITCHED ON BEFORE THE<br />

MICROCOMPUTER. Your television screen should now display the<br />

following message:<br />

<strong>BBC</strong> Computer 32K<br />

Acorn TFS<br />

BASIC<br />

>_<br />

<strong>The</strong> current filing system is Telesoft (TFS).<br />

Note 1: If Acorn TFS no power appears, check that you have connected the<br />

adapter correctly and that it is switched on at the rear. Press BREAK before<br />

continuing. If this still fails to produce the start-up message, check the<br />

position of the ROMs on the microcomputer circuit board (see Appendix 1).<br />

Note 2: <strong>The</strong> <strong>Teletext</strong> software incorporates a 'power-down' mode so that if,<br />

when you switch on the microcomputer, the <strong>Teletext</strong> Adapter is switched


Getting started 7<br />

off, the message Acorn TFS no power will be displayed. This means that the<br />

<strong>Teletext</strong> software is inactive and therefore the memory space it would normally<br />

occupy is free to be used for running large programs.<br />

If you switch on the <strong>Teletext</strong> Adapter after the microcomputer, the <strong>Teletext</strong><br />

software is not automatically activated; you must press the BREAK key first.<br />

If you switch off the <strong>Teletext</strong> Adapter whilst the microcomputer is 'on', the<br />

<strong>Teletext</strong> software is not automatically de-activated; you must press the BREAK<br />

key first.<br />

Note 3: If the positioning of the ROMs is such that Telesoft is not the default<br />

filing system, press the T key, hold it down and press BREAK , then release<br />

BREAK then T This will cause the correct start-up message to be displayed<br />

without re-positioning the ROMs as detailed in Appendix 1.<br />

Once the correct start-up message is displayed you can now go ahead and tune<br />

the <strong>Teletext</strong> Adapter.<br />

Fig 4.1 Connecting the <strong>Teletext</strong> Adapter


8 Getting started<br />

4.2 General information on the format of commands<br />

Note 1: Most of the commands are put into the computer by pressing one of<br />

the ten red keys labelled f0 to f9, either on its own or together with the SHIFT<br />

key. In the latter case it is important that you press the keys in the following<br />

manner otherwise the command will never go into the computer:<br />

— Press the SHIFT key, keep it held down and press the red function key.<br />

— Release the f key, then release the SHIFT key.<br />

If you do attempt to input a faulty command the computer will usually tell<br />

you, with a message on the screen, what to do and how to get back to a normal<br />

situation.<br />

Note 2: Throughout the guide there are many instructions on how to type in<br />

commands to the computer and what the correct response is. <strong>The</strong> following<br />

applies to these instructions:<br />

— Where you see a word in brackets thus, , this is describing what<br />

you have to type in, eg means you have to type in the name of<br />

a file. Do not type in the brackets.<br />

— Where you see a word 'reversed out' this means you have to press a<br />

specific key, eg TAB means press the TAB key.<br />

— Where the text is an actual message displayed on your monitor screen it is<br />

shown in computer typeface, eg the message ***Waiting is displayed.<br />

Likewise in a command the characters in computer typeface are to be<br />

typed in exactly as shown, eg type in *EXEC.<br />

4.3 Tuning in the <strong>Teletext</strong> Adapter<br />

<strong>The</strong>re are four channels built into the <strong>Teletext</strong> Adapter and assigned numbers<br />

1 to 4. We recommend that you allocate these channels as follows:<br />

Channel 1 — <strong>BBC</strong>1<br />

Channel 2 — <strong>BBC</strong> 2<br />

Channel 3 — ITV1<br />

Channel 4 — ITV2<br />

<strong>The</strong> procedure for tuning in the system to receive each channel is as follows:


1. Type in *TELETEXT then press the RETURN key.<br />

<strong>The</strong> message ***Waiting for page is displayed.<br />

2. Press the f4 key.<br />

<strong>The</strong> prompt Channel should now appear on the screen.<br />

3. Type in 1 (to select channel 1), then press the RETURN key.<br />

<strong>The</strong> message ***Waiting for page is again displayed.<br />

Getting started 9<br />

4. Press the SHIFT and f4 keys together.<br />

Your screen will display a station tuning scale (see Fig 4.3). On top of the<br />

tuning scale sits a tuning bar which indicates the strength of received<br />

<strong>Teletext</strong>. Maximum signal strength is when the tuning bar is as long as the<br />

scale (100<br />

5. Turn the number 1 tuning control on the rear of the Adapter (Fig 4.2) to<br />

one end of its travel (this is indicated by a 'clicking' as you turn the control).<br />

Now very slowly turn the control over its full travel. You will see the tuning<br />

bar suddenly increase in length as you tune in to a <strong>BBC</strong> or ITV <strong>Teletext</strong><br />

channel. This is accompanied by the channel and page numbers at the top of<br />

the screen. When you have found the longest tuning bar together with the<br />

messages CEEFAX and CH1 you are correctly tuned in to channel 1.<br />

REMEMBER YOU CAN RECEIVE ALL FOUR TELETEXT CHANNELS<br />

ON EACH TUNING CONTROL SO MAKE SURE YOU GET THE RIGHT<br />

CHANNEL.<br />

6. Press the SPACE BAR on your keyboard and repeat steps 2 to 5 for<br />

channels 2, 3 and 4. <strong>The</strong> only differences are:<br />

— In step 3, type in the appropriate channel number (2, 3 or 4).<br />

— In step 5, rotate the appropriate control number (2, 3 or 4).<br />

7. When you have tuned in all four channels press the SPACE BAR . This<br />

will remove the tuning scale and a <strong>Teletext</strong> index page will be automatically<br />

displayed. This is the default page and is discussed in section 5.2.<br />

Now that your system is working we suggest that you have a go at running<br />

one of the Telesoftware programs being transmitted, the procedure for which<br />

is given in the next section (4.4). You will need to use only a few Terminal<br />

mode commands and it should give you confidence to use the full range of<br />

features which are explained later in the guide.


10 Getting started<br />

Fig 4.2 Rear view of the <strong>Teletext</strong> Adapter<br />

Fig 4.3 Tuning picture format


Getting started 11<br />

4.4 A first attempt at Telesoftware<br />

Assuming that you're carrying on from the previous section your screen<br />

should be displaying an index page. If on the other hand you've just switched<br />

on the equipment then you must enter <strong>Teletext</strong> by typing in *TELETEXT then<br />

pressing the RETURN key. <strong>The</strong> CEEFAX channel 1 index page will be<br />

displayed.<br />

Next select a channel (any channel) by first pressing the f4 key. This results in<br />

the message Channel being displayed. <strong>The</strong>n type in the channel number (1,<br />

2, 3 or 4) and finally press RETURN . <strong>The</strong> message ***Waiting for page<br />

will be displayed until it is replaced by the index page for the channel you've<br />

selected.<br />

Do this a few times to get the idea, then try selecting a page.<br />

You can select a page by pressing the f0 key, then typing in the page number<br />

you want (three digits) then pressing RETURN . You may have to wait a<br />

short while before the page you have selected appears. Again we suggest you<br />

try this a few times to get the idea.<br />

When you feel confident, select channel 1 then page 700. This will display a<br />

list of the currently transmitted Telesoftware programs and the page on which<br />

each can be found. Decide which program you want, then select the page it is<br />

stored on.<br />

<strong>The</strong> next thing to do is to download the program, that is, load it into the<br />

computer ready to be run. To download the program, press the SHIFT and f9<br />

keys together. What happens next may not make a great deal of sense and so<br />

deserves some explanation.<br />

As you are probably aware programs can be structured in two very different<br />

ways and this affects what happens when they are downloaded.<br />

Programs structured in numbered lines can be loaded in any order since the<br />

computer will organise the lines into the correct numerical sequence prior to<br />

running the program. A program structured in such a way is said to be a<br />

disordered file.<br />

A program structured as merely a series of statements (with no numbered<br />

lines) must be loaded into the computer starting at the first statement and<br />

exactly in the order in which it has been written. This is because there are no<br />

numbered lines for the computer to organise as there are for disordered files.<br />

Such a program is said to be an ordered file.


12 Getting started<br />

Another point to bear in mind is that whilst programs are listed as being on<br />

consecutively numbered pages, almost always a program will be longer than<br />

one page. For example there are currently several programs being transmitted<br />

on page 702 onwards, however they are all longer than one page.<br />

Let's assume that the program listed under page 704 is in fact 12 pages long.<br />

This means that it will take 12 transmissions of page 704 to get the entire<br />

program into the computer and this can take quite a long time. It follows<br />

therefore that the earlier in the transmission sequence you try to download the<br />

program, the longer it takes to get round to page one again and this can<br />

significantly affect how long you have to wait before an ordered program is<br />

loaded (see below).<br />

What happens during downloading depends on whether the program is<br />

ordered or disordered and is explained in the following:<br />

Downloading a disordered program<br />

As soon as the SHIFT and f9 keys have been pressed, the message<br />

Searching is displayed. This tells you that the system is looking for a page in<br />

the program.<br />

Immediately a page (any page) in the program is received, the message<br />

disappears and the contents of the page 'scroll' up the screen as they are loaded<br />

into computer memory.<br />

When the page has been completely loaded, the message Searching is again<br />

displayed until another page in the program is found.<br />

This process continues until the program is completely loaded, whereupon the<br />

message Loaded is displayed and an audible 'bleep' sounds.<br />

During downloading the normal transmitted <strong>Teletext</strong> page headers are<br />

displayed to indicate (during waiting) that your <strong>Teletext</strong> Adapter is still<br />

functioning.<br />

When the decoder is loading Telesoftware, it checks the validity of data on<br />

each page it receives. If this check shows up an error, you will see the<br />

message Bad data. Retrying. . .<br />

This usually means you will have to wait until this page comes round again in<br />

the transmission cycle, but you may be lucky if the bad page was one you<br />

have already received or if it was a title page with no software on it. If you<br />

wait long enough you will always be able to load a Telesoftware program,<br />

unless your reception is particularly bad.


5 Using the system in<br />

Terminal mode<br />

5.1 Introduction<br />

We recommend that you spend a few minutes using the select a page and<br />

select a channel commands, before going on to the rest of the commands.<br />

You may find it a good idea to read first section 9.1 which explains in some<br />

detail how <strong>Teletext</strong> pages are numbered and how the entire <strong>Teletext</strong><br />

transmission is structured. This may help you to understand the various<br />

commands you are about to use.<br />

5.2 Terminal mode commands<br />

First enter Terminal mode by typing in *TELETEXT and pressing the<br />

RETURN key. A default channel, <strong>BBC</strong>1 CEEFAX, is selected and a default<br />

index page is displayed. In addition to news and information, the following<br />

standard items are usually displayed on your screen:<br />

– Channel title and page number (header), eg CEEFAX XXX, at the top left.<br />

– <strong>The</strong> page number you have selected at the top far left.<br />

– <strong>The</strong> changing page number at the left of centre.<br />

– <strong>The</strong> date and time at the far right.<br />

Selecting a channel<br />

Press the f4 key.<br />

<strong>The</strong> prompt Channel is displayed.<br />

Type in 1, 2, 3 or 4.<br />

This number appears after Channel.<br />

Press RETURN (to select the channel).<br />

<strong>The</strong> only thing which happens immediately on the screen is that the channel<br />

title and changing page header now correspond to the newly-selected channel.<br />

A default index page for the new channel is displayed as soon as it is received.


Fine tune<br />

Using the system in Terminal mode 15<br />

This is the same function you used when tuning the <strong>Teletext</strong> Adapter (see 4.3).<br />

You can use it anytime to display the tuning scale if the quality of the<br />

displayed <strong>Teletext</strong> page deteriorates.<br />

Press the f4 and SHIFT keys together.<br />

When you have finished tuning, press the SPACE BAR to inhibit the tuning<br />

routine and display the page.<br />

Select a page<br />

To display a transmitted page:<br />

Press the f0 key.<br />

Type in the page number which can be three digits or seven digits (see section<br />

9.1 on page numbering).<br />

Press the RETURN key.<br />

Note: Make sure you have selected a page which is being transmitted.<br />

Until the selected page is reached, the previous page and the message<br />

***Waiting for page is displayed.<br />

Keep a page<br />

This function allows you to store the displayed page in computer memory.<br />

<strong>The</strong>reafter, every time this particular page is received, it updates the stored<br />

page. In this manner, a 'kept' page is continuously updated and can be<br />

displayed immediately by using the normal 'select a page' command. You can '<br />

keep' a page before it has actually arrived and select another page while you<br />

are waiting. In this way you can ask for more than one page at a time. To keep<br />

a page:<br />

Press the f3 key.<br />

<strong>The</strong> message Page kept is displayed at the bottom of the screen.<br />

Note: When you attempt this command, the message Buffer full — please<br />

release a page may appear. This means that all available memory for<br />

keeping pages is used up and you must first release a page, before trying to<br />

keep a page. <strong>The</strong> following explains how to release a kept page.


16 Using the system in Terminal mode<br />

Release a kept page<br />

This function causes the displayed page to be lost provided it is a kept page.<br />

To release the kept page:<br />

Press the SHIFT and f3 keys.<br />

<strong>The</strong> message Page released is displayed.<br />

Select the last explicit page<br />

If you are displaying linked pages (see 5.3) you can quickly return to the last<br />

page which was displayed by the explicit typing in of its number. This is<br />

usually the first page in the linked structure.<br />

Press the f1 key.<br />

<strong>The</strong> last explicitly selected page is displayed.<br />

Select index page<br />

You can return to the default index page which was automatically displayed<br />

when you first entered the current channel.<br />

Press the f1 and SHIFT keys together.<br />

Note: If no default index page number is being transmitted on your current<br />

channel, then page #00 will be selected instead (see 'Select wild card').<br />

Reveal and conceal<br />

Some pages are transmitted with certain text 'hidden', ie concealed as spaces.<br />

For example, the answers to a quiz. Any page with hidden data will display a<br />

message something like Press the REVEAL key. To reveal this hidden text:<br />

Press the f2 key.<br />

<strong>The</strong> hidden text appears, and the page itself is 'held' so that it cannot be<br />

updated by subsequent transmitted pages.<br />

To conceal the text and cancel the 'hold' state: Press<br />

the SPACE BAR .<br />

To conceal the text but retain the page 'hold' state: Press<br />

the SHIFT and f2 keys together.


Save a page to file<br />

Using the system in Terminal mode 17<br />

This function allows you to store the displayed page under any file name onto<br />

the currently selected filing system, such as cassette or disc.<br />

Press the f7 key.<br />

<strong>The</strong> message Save file is displayed.<br />

Type in and press RETURN .<br />

<strong>The</strong> page is stored in a file. When storage is complete, the page is displayed<br />

with the file name under which you have just stored it, together with the<br />

message Press space to continue.<br />

When you press the SPACE BAR , the same page continues to be displayed,<br />

but the file name is removed, and the changing headers are again displayed.<br />

If you attempt this with Telesoft as your currently selected filing system, the<br />

message Illegal operation will be displayed. (This is due to the fact that<br />

Telesoft is a 'read only' filing system, therefore you cannot save anything to<br />

this filing system.)<br />

To recover from this situation, press the ESCAPE key. Now select another<br />

filing system such as disc or tape by using the Enter * command facility<br />

described below. You can now save the data to this filing system as described<br />

immediately above ('Save a page to file').<br />

Load a page from file<br />

This function allows you to display any page which is currently stored under<br />

a file name.<br />

Press the f6 key.<br />

<strong>The</strong> message Load file is displayed.<br />

Type the file name of the page for display, then press RETURN .<br />

<strong>The</strong> page is then displayed, together with its file name.<br />

Note that the page headers stop changing and the message Press space to<br />

continue is displayed.<br />

When you press the SPACE BAR , the file name disappears and the page<br />

headers again start to change.


18 Using the system in Terminal mode<br />

Hold page<br />

This function holds any displayed page and prevents it from changing. This is<br />

a useful function to have if you are saving or loading rolling pages or wild<br />

card pages (which are likely to change very quickly). To hold a page:<br />

Press the f8 key.<br />

<strong>The</strong> displayed page is held in its current state.<br />

To cancel the 'hold' state:<br />

Press the SPACE BAR .<br />

<strong>The</strong> page is now free to be updated.<br />

Enter * command<br />

This allows you to remain in Terminal mode and at the same time use those *<br />

commands which relate to the operating system. <strong>The</strong>se commands are shown<br />

on page 416 of the <strong>BBC</strong> <strong>Microcomputer</strong> <strong>System</strong> <strong>User</strong> <strong>Guide</strong>. In addition, you<br />

have available for use all commands associated with the particular ROMs<br />

fitted to your microcomputer, eg the disc filing system.To enter a command:<br />

Press key f5<br />

<strong>The</strong> prompt * is displayed at the bottom of your screen.<br />

Type in the appropriate command and press RETURN .<br />

<strong>The</strong> message Press space to continue is displayed.<br />

if you wish to enter other * commands, ignore the Press space to<br />

continue message and repeat as above.<br />

To return to the last displayed page press the SPACE BAR .<br />

Exit to previous language<br />

Press the f9 key.<br />

<strong>The</strong> start-up message for the language previously selected (from which<br />

<strong>Teletext</strong> was entered) is displayed and the system is now controlled by this<br />

language ROM.


Using the system in Terminal mode 19<br />

Note: If you have pressed the BREAK key whilst in Terminal mode, your<br />

previous language will be <strong>Teletext</strong> Terminal mode and the f9 key will cause<br />

this to be re-entered.<br />

Exit to Telesoft mode<br />

If you select a page containing a Telesoftware program, this function puts the<br />

system automatically into Telesoft mode and causes the program to be loaded<br />

into computer memory page by page. You can then go ahead and run the<br />

program. To exit to the Telesoft filing system and execute a program:<br />

Press the SHIFT and f9 keys together.<br />

<strong>The</strong> program will start to load into computer memory as soon as the first page<br />

is received. If you start this function say halfway through the program<br />

transmission then it may be a few minutes before the program starts to load (<br />

see section on ordered/disordered loading).<br />

Select wild card<br />

This enables you to select specified sequences of numbered pages for display (<br />

including their sub-pages, if any). We know that each page has a three-digit<br />

number. <strong>The</strong> function allows you to specify any combination of one or two of<br />

these three digits as part of a page number to be displayed. <strong>The</strong> unspecified<br />

digit(s) can be any number, ie completely `wild'. For example, if you specified<br />

34#, all page numbers whose first digit is 3 and whose second digit is 4 will be<br />

displayed. <strong>The</strong>oretically this would be 340, 341, 342 etc to 349. But bear in<br />

mind that not all pages are transmitted.<br />

To select a wild card press the f0 key (as you would do when normally<br />

selecting a page) then type in three characters (which may be any combination<br />

of digits and #s), then press RETURN .<br />

<strong>The</strong> specified wild card pages will be displayed as and when they are received,<br />

with a small built-in delay between consecutive pages to give you time to hold<br />

a page.


20 Using the system in Terminal mode<br />

5.3 Accessing linked pages<br />

Now that you know how to display any transmitted page of <strong>Teletext</strong>, we will<br />

explain how you can display pages which, because of their information<br />

content, are related to each other. <strong>The</strong>se are known as linked pages.<br />

A <strong>Teletext</strong> page displays 24 rows of text or graphic information. However<br />

more rows may be transmitted which are not displayed on the screen but<br />

which contain information for the <strong>Teletext</strong> decoder. In particular, row 27<br />

contains information in the form of numbers which point to related (linked)<br />

pages. <strong>The</strong>se numbers are called links.<br />

Take a look at Fig 5.1. <strong>The</strong> headlines page has four links, each pointing to a<br />

lead page. In this case row 27 of the headlines page would contain four link<br />

numbers, link 1 pointing to lead page 1 and so on. You will see also that each<br />

lead page has links, each of which points to page 1 of a related story. For<br />

example, lead 3 has three links pointing to page 1 of stories 3A, 3B and 3C, so<br />

row 27 of lead 3 would contain link numbers 1, 2 and 3. This system of links<br />

extends to the last page in each story then back round to the first page as is<br />

shown by stories 3A and 1.<br />

<strong>The</strong> microcomputer looks at row 27 of the page, detects the link numbers and<br />

loads as many of the linked pages as it can fit into memory. Although you<br />

cannot see these pages, they are being continuously updated. If for example<br />

you selected the headlines page on Fig 5.1, the microcomputer would load the<br />

four linked lead pages into its memory and these would then be available for<br />

display.<br />

Let's suppose you are currently displaying the headlines page which can be<br />

done using the 'select a page' method previously discussed. <strong>The</strong> headlines<br />

page will show four links. To select one of the linked pages, type in the link<br />

number (1, 2, 3 or 4). <strong>The</strong> message Link n (where n is the number you typed)<br />

will be displayed. Now press the RETURN key. <strong>The</strong> message Waiting for<br />

link n will be displayed until it is replaced by the selected linked page.<br />

Suppose you select lead 3 for display. This has three links pointing to three<br />

story pages, and again you can select any one.<br />

Only link numbers 0-23 are valid and the system will reject an invalid number<br />

by sounding a 'bleep'. If you select a link number which, although valid, is not<br />

shown on the current page, the message No such link will be displayed<br />

when you press the RETURN key. If the current page has no links, the<br />

message No links present will be displayed.


Fig 5.1 Linked pages<br />

Using the system in Terminal mode 21


22 Using the system in Terminal mode<br />

Let's assume that by using the links you have arrived at a page with only one<br />

link. This could be lead 1 or page 1 of story 3A. You can now use the key<br />

marked v to 'step' forwards through the story, page by page. You can also step<br />

back one level by using the ^ key, but to return to the top-level index page<br />

you need to use the 'last explicit page' key f1.<br />

If we look again at Fig 5.1 there are routes marked *. <strong>The</strong>se connect together<br />

adjacent pages at the same level in the structure. You can easily display an<br />

adjacent page at the same level by pressing the keys (whichever is<br />

appropriate). For example if you are currently displaying lead 3 and you wish<br />

to display lead 2, simply press the


6 Using the system in<br />

Telesoft mode<br />

6.1 Introduction<br />

This mode provides a series of commands for dealing specifically with<br />

Telesoftware as distinct from <strong>Teletext</strong>. Some of the commands, eg `select a<br />

page', are much the same as in <strong>Teletext</strong> mode, however commands are not<br />

available in this mode for specifically dealing with normal <strong>Teletext</strong> pages,<br />

such as the 'reveal' command and the commands to save pages to another<br />

filing system and select linked pages. You can if you wish view normal<br />

<strong>Teletext</strong> pages in this mode but it is more convenient to do so in the Terminal<br />

mode. You should only enter Telesoft mode when you wish to deal with<br />

Telesoftware files.<br />

You will recall that in chapter 4 we suggested that as a first step, you try to run<br />

one of the Telesoft programs before going on to use the full range of Terminal<br />

mode commands. We suggest that you now do something similar before going<br />

on to use the full range of Telesoftware commands.<br />

What follows is a simple procedure which tells you how to get a Telesoftware<br />

program running using some of the Telesoft commands. To the home<br />

computer user it is quite often unclear just why certain commands are<br />

necessary at certain times and what they do. In the following simple procedure<br />

we have attempted to go at least some way to correcting this problem by<br />

putting in explanations as and where we felt it would help you.<br />

<strong>The</strong> first thing to do is get into Telesoft mode. You can do this by typing in:<br />

*TELESOFT and pressing RETURN .<br />

<strong>The</strong> prompt >_ is displayed.<br />

<strong>The</strong> Telesoft mode is now the current filing system until another is entered (<br />

see chapter 8: Changing the filing system).<br />

While in Telesoft mode, the computer will understand and respond to the<br />

commands discussed in this chapter. Apart from these commands, the<br />

computer will behave in the same way as before entering Telesoft mode: thus<br />

you can still write programs while in Telesoft mode.<br />

Now select <strong>BBC</strong> 1 channel by typing in:


24 Using the system in Telesoft mode<br />

*<strong>BBC</strong>1 and pressing RETURN .<br />

As before the prompt >_ will be displayed.<br />

Once you have selected the channel you want, you can then go on to select the<br />

page you want, 700 in this case, by typing in:<br />

*PAGE 700 and pressing RETURN .<br />

After typing this command, page 700 will become the currently selected page<br />

and will be subject to all subsequent commands until a new page is selected (<br />

page 700 is currently the Telesoftware index page).<br />

<strong>The</strong> next step is to get the page you've just selected into memory. Until this is<br />

done you can't display it. However, you first need to make sure that you do not<br />

overwrite a program already in memory. <strong>The</strong> command you will use to put the<br />

page in memory is TRANSFER. You will cause the page selected to be loaded<br />

in an area of 960 bytes immediately before HIMEM (HIMEM defines the start<br />

of screen memory). Page 414 of the <strong>BBC</strong> <strong>Microcomputer</strong> <strong>User</strong> <strong>Guide</strong> explains<br />

how RAM is allocated and 415 shows where spare memory is located. To find<br />

the address in memory at which you can start loading the page, type in:<br />

HIMEM = HIMEM - 960 and press RETURN . <strong>The</strong>n type in PRINT<br />

~HIMEM and press RETURN (where ~ indicates a hexadecimal value).<br />

<strong>The</strong> address displayed (which is in hexadecimal) is the one you will need to<br />

use in the TRANSFER command (next).<br />

Next, transfer the page into memory by typing in:<br />

*TRANSFER and press RETURN .<br />

When the prompt >_ appears, the page has been captured and stored in<br />

memory at the address specified.<br />

Now display the page, by typing:<br />

*DISPLAY and pressing RETURN<br />

where is the one used in the *TRANSFER command.<br />

<strong>The</strong> page will be immediately displayed, listing the file name of each<br />

Telesoftware program being transmitted, together with the page number on<br />

which each can be found. When you have decided which program you want to<br />

run, select the page using the *PAGE command described previously, then<br />

type in:<br />

*EXEC and press RETURN .


Using the system in Telesoft mode 25<br />

Refer to 4.4 of this manual which explains what happens when you download<br />

a program. Having downloaded the program, you can now run it by typing in:<br />

RUN and pressing RETURN .<br />

<strong>The</strong> program will now run.<br />

This completes the introductory procedure. <strong>The</strong> full range of Telesoft<br />

commands is in the next section.<br />

6.2 Telesoft mode commands<br />

<strong>The</strong> Telesoft filing system provides a number of commands which allow you<br />

to control the <strong>Teletext</strong> Adapter and manipulate the captured program.<br />

All the commands can be typed in from the keyboard or included in a BASIC<br />

program. Each command is described separately under the following headings:<br />

Description What the command does in functional terms.<br />

Syntax <strong>The</strong> actual command words and the order in which<br />

commands and data are arranged.<br />

Example An example of a string of commands including the one<br />

described.<br />

Note: As with any other <strong>BBC</strong> <strong>Microcomputer</strong> filing system, Telesoft allows<br />

you to type abbreviations for its commands, such as *TE. for *TELETEXT, or<br />

*TELES. for *TELESOFT.<br />

*<strong>BBC</strong>1<br />

*<strong>BBC</strong>2<br />

Description<br />

<strong>The</strong>se commands are used to select channels 1 and 2 for <strong>Teletext</strong> reception.<br />

Syntax<br />

*<strong>BBC</strong>1<br />

*<strong>BBC</strong>2<br />

Example<br />

*TELESOFT<br />

*<strong>BBC</strong>2


26 Using the system in Tele soft mode<br />

This will cause channel 2 to be selected. <strong>The</strong> appearance of >_ confirms<br />

the selection.<br />

Notes<br />

It is up to the user to ensure that channel 1 is tuned to <strong>BBC</strong> 1 and channel 2 is<br />

tuned to <strong>BBC</strong>2 for this command to produce the expected results.<br />

*CH1<br />

*CH2<br />

*CH3<br />

*CH4<br />

Description<br />

<strong>The</strong>se commands are used to select one of the four available channels for<br />

<strong>Teletext</strong> reception.<br />

Syntax<br />

*CH1<br />

*CH2<br />

*CH3<br />

*CH4<br />

Example<br />

*TELE SOFT<br />

*CH3<br />

This will cause channel 3 to be selected.<br />

Notes<br />

<strong>The</strong>se commands are alternatives to the *<strong>BBC</strong> and *ITV commands and<br />

should be used where the channels are not tuned to the recommended stations,<br />

ie channel 1 to <strong>BBC</strong>1 etc.


*DATE<br />

Using the system in Telesoft mode 27<br />

Description<br />

This command causes the date, as transmitted by the television service data<br />

packet (see 9.5), to be displayed.<br />

Syntax<br />

*DATE<br />

Example<br />

*TELE SOFT<br />

*<strong>BBC</strong>1<br />

*DATE<br />

Notes<br />

Date information is extracted from the television service data packet (TSDP).<br />

If the TSDP is not transmitted or the data is corrupt on reception an error<br />

message is displayed.<br />

*DISPLAY<br />

Description<br />

This command is used to display any <strong>Teletext</strong> page which has previously<br />

been transferred into memory with a *TRANSFER command.<br />

Syntax<br />

*DISPLAY <br />

where is the hexadecimal address used in the *TRANSFER<br />

command.<br />

Example<br />

*TELE SOFT<br />

*<strong>BBC</strong>2<br />

*PAGE 200<br />

*TRANSFER 7000<br />

*DISPLAY 7000<br />

This will cause <strong>BBC</strong>2 CEEFAX page 200 to be displayed on the screen.


28 Using the system in Telesoft mode<br />

Notes<br />

<strong>The</strong> address specified must be in hexadecimal and should correspond exactly<br />

to an address used for a previous *TRANSFER command. Several pages may<br />

be transferred to separate memory locations before display.<br />

*EXEC<br />

Description<br />

This command is used to execute a stream of ASCII characters from a<br />

Telesoftware file as though they have been entered from the keyboard. <strong>The</strong>se<br />

ASCII characters may be a BASIC program or keyboard commands.<br />

Syntax<br />

*EXEC <br />

*EXEC ""<br />

Example<br />

*TELE SOFT<br />

*<strong>BBC</strong>1<br />

*PAGE 704<br />

*EXEC "WELCOME"<br />

This will cause the Telesoftware program WELCOME on <strong>BBC</strong>1 CEEFAX<br />

page 704 to be executed.<br />

Notes<br />

If the file name is given as a null string then the first program found on the<br />

selected page will be executed.<br />

Beware: If you have specified a non-existent file name the system will wait for<br />

ever trying to find it.


*HELP<br />

Using the system in Telesoft mode 29<br />

Description<br />

This command is used to display useful information about Telesoft mode,<br />

Terminal mode or the computer system in general.<br />

Syntax<br />

*HELP (For general computer system information) *HELP<br />

TELETEXT (For Terminal mode information) *HELP TELESOFT (<br />

For Telesoft mode information) *HELP OPT (For information about<br />

user-definable options)<br />

Example<br />

*HELP TELETEXT<br />

This will display a list of all Terminal mode commands, together with a short<br />

description of each and the function keys used to call up the command.<br />

Notes<br />

If the <strong>Teletext</strong> Adapter is not switched on, help on the <strong>Teletext</strong> system will not<br />

be available.<br />

*ITV1<br />

*ITV2<br />

Description<br />

<strong>The</strong>se commands are used to select channels 3 and 4 for <strong>Teletext</strong> reception.<br />

Syntax<br />

*ITV1<br />

*ITV2<br />

Example<br />

*TELE SOFT<br />

*ITV2<br />

*PAGE 400


30 Using the system in Telesoft mode<br />

This will cause page 400 of channel 4 to become the currently selected page.<br />

Notes<br />

It is up to the user to ensure that channel 3 is tuned to ITV and channel 4 to<br />

CHANNEL 4 for this command to have the expected results.<br />

*OPT0<br />

Description<br />

This command sets all options to their default values.<br />

Syntax<br />

*OPT0<br />

Example<br />

*TELESOFT<br />

*<strong>BBC</strong>2<br />

*PAGE 220<br />

*OPT0<br />

*EXEC "PROG"<br />

Notes<br />

<strong>The</strong> default settings are:<br />

*OPT1,128<br />

*OPT2,1<br />

*OPT3,0<br />

*OPT1<br />

Description<br />

Telesoftware files can include information which is displayed whilst the file is<br />

being loaded. This displayed information, as well as 'searching' messages, can<br />

be controlled with the *OPT1 command as follows:


Using the system in Telesoft mode 31<br />

*OPT1,0 No messages displayed<br />

1,1 Title displayed<br />

1,2 Language and title displayed<br />

1,3 Computer type and all above items displayed<br />

1,4 Date of file publication and all above items displayed<br />

1,5 Source or author of file and all above items displayed 1,128<br />

'Searching' messages and all above items displayed<br />

Syntax *OPT1,<br />

<br />

Example<br />

*TELESOFT<br />

*<strong>BBC</strong>1<br />

*PAGE 703<br />

*OPT1,2<br />

*EXEC""<br />

This will cause a load of the first program transmitted on <strong>BBC</strong>1 CEEFAX<br />

page 703 to be executed, and the program language and title to be displayed.<br />

Notes<br />

<strong>The</strong> default setting is *OPT1,128, ie all messages are displayed.<br />

<strong>The</strong> title is a concise description of what the file contains. This is not<br />

necessarily the same as the file name which is merely a label to identify the<br />

file.<br />

*OPT2<br />

Description<br />

This command controls the steps taken when the system encounters an error<br />

whilst reading a Telesoftware file. *OPT2,0 causes the system to ignore<br />

errors, *OPT2,1 causes the system to retry for a page until it has been<br />

received correctly and *OPT2,2 causes the system to abort the downloading if<br />

an error is detected.<br />

Syntax *OPT2,<br />


32 Lasing the system in Telesoft mode<br />

Example<br />

*TELESOFT<br />

*<strong>BBC</strong>1<br />

*PAGE 708<br />

*OPT2,1<br />

*EXEC ""<br />

This causes the first Telesoftware file found on page 708 of <strong>BBC</strong>1 CEEFAX<br />

to be executed, and in the case of a reception error for the page to be reloaded.<br />

Notes<br />

Errors may be encountered in the checkbytes (see section 9.2) of the page<br />

header, data parity or page CRC checks. In the first instance single bit errors<br />

are automatically corrected by the system. Parity or CRC errors can not be<br />

corrected and the system will retry for the page if *OPT2,1 is set. Pressing<br />

ESCAPE will cause the retries to abort.<br />

*OPT3<br />

Description<br />

When a Telesoftware load is started all previously redefined protocol bytes are<br />

reset to their original values, but this feature may be suppressed so that a<br />

format may be learned from loading one program, then re-used for loading a<br />

second. *OPT3,1 disables this reset feature and *OPT3,0 re-enables it.<br />

Syntax<br />

* OPT3,<br />

Example<br />

*TELESOFT<br />

*<strong>BBC</strong>1<br />

*PAGE 707<br />

*EXEC "PROG1"<br />

*OPT3,1<br />

*EXEC "PROG2"


34 Using the system in Telesoft mode<br />

*TIME<br />

Description<br />

This command causes the time of day, as transmitted by the television<br />

service data packet (see 9.5), to be displayed.<br />

Syntax<br />

*TIME<br />

Example<br />

*TELESOFT<br />

*<strong>BBC</strong>1<br />

*TIME<br />

Notes<br />

Time information is extracted from the television service data packet (TSDP).<br />

If the TSDP is not transmitted or the data is corrupt on reception, an<br />

appropriate error message is displayed.<br />

*TRANSFER<br />

Description<br />

This command transfers the current page to a given memory location.<br />

Syntax<br />

*TRANSFER <br />

Example<br />

*TELE SOFT<br />

*<strong>BBC</strong>1<br />

*PAGE 100<br />

*TRANSFER 6800<br />

This transfers <strong>BBC</strong>1 CEEFAX page 100 to memory starting at location &6800.<br />

Notes<br />

<strong>The</strong> page must have been selected with the *PAGE command before issuing<br />

this command.


*TUNE<br />

Using the system in Telesoft mode 35<br />

Description<br />

This command invokes the fine tuning routine for the currently selected<br />

channel.<br />

Syntax<br />

*TUNE<br />

Example<br />

*TELESOFT<br />

*ITV1<br />

*TUNE<br />

This will invoke the fine tuning routine for channel 3.<br />

Notes<br />

<strong>The</strong> fine tuning routine is the same as that entered by SHIFT and f4 in<br />

Terminal mode, as described in section 4.3.


7 Using the <strong>Teletext</strong><br />

system at assembly<br />

level<br />

7.1 <strong>Teletext</strong> assembly level interface<br />

This section describes the calls available at assembly level which give the<br />

advanced programmer more control over the <strong>Teletext</strong> Adapter than is possible<br />

in Terminal mode. <strong>The</strong>se calls are available from both Assembly Language<br />

and BASIC.<br />

<strong>The</strong> <strong>Teletext</strong> system is accessed through the general purpose routine ''<br />

OSWORD' whose entry point is address &FFF1 in the <strong>BBC</strong> <strong>Microcomputer</strong><br />

Machine Operating <strong>System</strong>.<br />

OSWORD calls in which register A contains the value 122 (&7A) are<br />

<strong>Teletext</strong>-specific calls – they are obeyed only when the Telesoft filing system<br />

is selected. A typical example of such a call (first in BASIC then in Assembly<br />

Language) is given below. This is the call to select the TV channel from which<br />

<strong>Teletext</strong> is received, which in this example is <strong>BBC</strong>1.<br />

<strong>The</strong> description in the manual is a cryptic '[&8B, channel]'. This means that<br />

the parameter to OSWORD is a control block containing the two 1-byte values<br />

'&8B' and 'channel' respectively. <strong>The</strong> values of the registers on the call to<br />

OSWORD have a fixed significance:<br />

– A is always the '<strong>Teletext</strong> OSWORD number', ie &7A.<br />

– X and Y are always treated as a concatenated value containing the 16-bit<br />

address of the control block in which the actual parameters are stored. (X<br />

is the low byte and Y is the high byte.)<br />

– P is irrelevant (except that the processor should not be in decimal mode).<br />

Control blocks have various formats – the only fixed slot being the first byte<br />

which serves a dual purpose:<br />

– To identify the specific <strong>Teletext</strong> command wanted.<br />

– To return the status of the operation (as a success/failure code, typically 0<br />

meaning OK, or 17 meaning escape).<br />

To allow for future enhancements of the <strong>Teletext</strong> system, control blocks<br />

should be declared as being exactly 16 bytes long.


Please note that the error codes are command dependent.<br />

Using the <strong>Teletext</strong> system at assembly level 37<br />

Example 1: Calling the <strong>Teletext</strong> system from BASIC<br />

OSWORD = &FFF1<br />

DIM parameter 15<br />

parameter?0 = &8B<br />

parameter?1 = 0 :REM 0 —> <strong>BBC</strong>1, 1 —> <strong>BBC</strong>2 etc.<br />

A% = &7A<br />

X% = parameter MOD 256<br />

Y% = parameter DIV 256<br />

PYXA% = USR (OSWORD)<br />

Example 2: Calling the <strong>Teletext</strong> system from Assembly<br />

Language<br />

DIM CodeSpace 100<br />

OSWORD = &FFF1<br />

FOR Pass = 0 TO 2 Step 2<br />

P% = CodeSpace [OPT Pass<br />

.Select<strong>BBC</strong>1<br />

Lda #&8B<br />

Sta parameter<br />

Ida #0 \Select<strong>BBC</strong>1<br />

Sta parameter + 1<br />

Lda #&7A<br />

Ldx #parameter MOD 256<br />

Ldy #parameter DIV 256<br />

Jsr OSWORD<br />

Rts<br />

.parameter NOP:NOP<br />

NEXT Pass<br />

CALL Select<strong>BBC</strong>1<br />

<strong>The</strong> section below on <strong>Teletext</strong> OSWORD calls describes the calls available to<br />

you. Some entry points are used for internal <strong>Teletext</strong> filing-system operations<br />

and should not be called. Others are 'reserved for future expansion . . .'.<br />

Further information will be made available by Acorn in the form of a<br />

software applications note.


38 Using the <strong>Teletext</strong> system at assembly level<br />

7.2 <strong>Teletext</strong> OSWORD calls<br />

RELOAD PAGE [&80]<br />

<strong>The</strong> last page received must be re-fetched.<br />

FETCH PAGE [&85,p100,p10,p1,s1000,s100,s10,s1]<br />

Request the page specified by the seven-digit page number given as the<br />

parameter. <strong>The</strong> sub-code is the time-code which is used for selecting a<br />

particular rolling page in a series of rolling pages. If any rolling page is<br />

acceptable, the sub-code digits should be set to &FF to denote that they are '<br />

wild'. Page digits may also be set 'wild', and the page digits can be specified in<br />

either binary or ASCII hex. This call returns immediately. See TRANSFER for<br />

details of how to load a page into memory.<br />

CHAINED PAGE [&86]<br />

Fetch the next page in the chain of pages of which the current page is part. <strong>The</strong><br />

Telesoftware decoder uses this call to mean 'Get me the next block in the<br />

encoded Telesoftware file which I am loading sequentially'. If the current page<br />

is not part of a chain, the next rolling page to arrive is fetched instead.<br />

HEAD OF CHAIN [&88]<br />

Follow the chain round until you find the page which is marked as being the<br />

head of the chain. <strong>The</strong> Telesoftware decoder uses this call to mean `Find me a<br />

page in which I can start looking for some encoded Telesoftware to decode'<br />

and also 'Get me the next block in the encoded Telesoftware file which I am<br />

loading in random order'. As with CHAINED PAGE, if the current page is not<br />

part of a chain, the next rolling page to arrive is fetched instead.<br />

TEST ARRIVED [&89, result]<br />

Test to see if the last page requested has arrived.<br />

Test succeeds: result = &FF<br />

Test fails: result = 0<br />

<strong>The</strong> page in question is LOCKED against further update if the test was<br />

successful.<br />

UNLOCK PAGE [&8A]<br />

If the TEST ARRIVED command has shown that a page has been captured by<br />

the decoder, the page will have been locked against further


Using the <strong>Teletext</strong> system at assembly level 39<br />

update. To secure updated versions of the page (or following pages in a<br />

series of rolling pages), the page must be UNLOCKED.<br />

Note that reading data from a page using BGET on channel 15 also causes<br />

the page to be LOCKED.<br />

SELECT CHANNEL [&8B, channel]<br />

Select channel 'channel' in the decoder hardware. Channel numbers should<br />

be given in the range 0 to 3 (binary or ASCII).<br />

Note: This is different from Terminal mode, where the range 1 to 4 was<br />

chosen for the benefit of first-time users.<br />

READ TSDP [&8D, 16-bit address]<br />

<strong>The</strong> readable part of the television service data packet (TSDP) is written to<br />

the area of store defined by the 16-bit address. As usual for the 6502, the<br />

address is passed in low, high' order. <strong>The</strong>re is no interlock on this operation,<br />

as the packet is intended for direct display.<br />

HAMMING DECODE [&8E, encoded byte]<br />

<strong>The</strong> 8-bit hamming-encoded byte is decoded, and the result returned in its<br />

place. A result of &FF means that an uncorrectable (more than 1 bit) error<br />

has occurred.<br />

TRANSFER [&8F, 32-bit address]<br />

<strong>The</strong> current page is transferred to the address given. <strong>The</strong> address is 32 bits<br />

wide in order to allow data to be transferred to a site in the parasite processor.<br />

<strong>The</strong> 32-bit address is stored in the form low, high, higher, highest'. <strong>The</strong><br />

transfer waits if necessary until the page has been received. If this is not what<br />

you want, use the TEST ARRIVED call which lets you perform other<br />

operations while you are waiting. (This is the mechanism used by Terminal<br />

mode to poll for pages received.) TRANSFER automatically UNLOCKS a<br />

page after the data has been transferred.<br />

HEADERS [&92, 16-bit address]<br />

<strong>The</strong> readable portion of all the headers being received will in future be<br />

written to the address given. This call is expected to be used for positioning<br />

the headers within the MODE 7 display.


40 Using the <strong>Teletext</strong> system at assembly level<br />

WHAT CHANNEL [&93, channel]<br />

This call READS the currently selected channel number which it returns in the<br />

slot provided. As with SELECT CHANNEL, the result is in the range 0 to 3 (<br />

binary).


8 Changing the filing<br />

system<br />

Your computer can have several filing systems available other than the<br />

<strong>Teletext</strong> system. <strong>The</strong> following commands are all used to exit from the current<br />

filing system into the one named.<br />

*TAPE 3 300 baud cassette<br />

*TAPE 12 1200 baud cassette<br />

*TAPE 1200 baud cassette<br />

*NET Econet filing system<br />

*TELE SOFT <strong>The</strong> Telesoft mode of the <strong>Teletext</strong> system<br />

*ROM <strong>The</strong> cartridge ROM system<br />

*DISC <strong>The</strong> disc filing system<br />

*DISK Alternative spelling for above<br />

Typing the command to enter the system you are already in has no effect. If<br />

you type the command to enter a filing system for which your computer is not<br />

equipped (ie you do not have the relevant filing system ROM) then the<br />

computer will respond with Bad command since it does not recognise the<br />

command.


9 Technical<br />

information<br />

This is mainly for interest and is not essential to using the <strong>Teletext</strong> Adapter.<br />

However, some of the material may prove useful if you wish to make full use<br />

of the <strong>Teletext</strong> system at assembler level. <strong>The</strong> information in this section<br />

covers the <strong>Teletext</strong> signals in general and the specific Tele software signals.<br />

9.1 <strong>The</strong> structure and numbering of <strong>Teletext</strong> pages<br />

A page can stand alone or be linked to another page to form a chain. Also, a<br />

number of stand-alone pages and/or chains can be accessed at a common level<br />

known as a branch. In this way a 'family tree' of pages can be formed with<br />

branching occurring at many levels. An example of this tree structure is given<br />

in Fig 5.1 which shows one way in which the contents of a newspaper could be<br />

transmitted. <strong>The</strong> first page contains the headlines and could be the index page<br />

with branching occurring at level 1 to four lead pages.<br />

Lead 1 is the title page of a story covering four pages whilst lead 2 and lead 4<br />

are stand-alone single page items. Lead 3 could be a sub-index with branching<br />

occurring at level 2 to three separate stories.<br />

<strong>The</strong> reason why <strong>Teletext</strong> uses such a structure is to enable you, by using<br />

simple commands, to find your way through the index/sub-index pages,<br />

branches and linked pages to the information item you wish to see.<br />

Pages are numbered in groups of 100, called magazines, and a total of eight<br />

magazines are currently available for each broadcast channel although not<br />

every magazine and every page is necessarily transmitted. Each page is<br />

numbered with three digits, the first of which identifies the magazine it<br />

belongs to, and the second two the page number within that magazine. In<br />

addition, a further four digits are available for sub-page numbering, thus<br />

4070006 would be sub-page 0006 of page 07 in magazine 4.<br />

Each magazine may have an index page which displays the magazine contents.<br />

This is usually the first page and is numbered 100, 200, 300 etc depending on<br />

the magazine.


Technical information 43<br />

Page numbers are not normally reserved for specific items of information, so<br />

you must first display the index page to locate the correct page or sub-page<br />

number which can then be displayed.<br />

If you select page 206, and page 210 is being transmitted at that instant, some<br />

time may elapse before the transmission sequence cycles back round to page<br />

206.<br />

Index pages are, in fact, often transmitted at a faster rate than other data<br />

pages. This is to minimise the time you must wait before the selected index<br />

page is displayed. Another point which deserves mentioning is that not all<br />

pages are necessarily used. For example, it may be that in magazine 4, only<br />

pages 420 to 450 are transmitted.<br />

Finally, there are rolling pages. <strong>The</strong>se are pages which contain different<br />

information but are numbered the same as sub-pages, eg 0001, 0002 etc. A<br />

different rolling page is transmitted each time, which allows a great deal of<br />

information to be sent without changing the page number. For example, the<br />

<strong>BBC</strong> Newsreel is transmitted on page 199 but on every transmission a<br />

different rolling page is sent which contains different information (1990001,<br />

1990002, 1990003 etc). Suppose the rolling page was changed five times.<br />

This would give a series of five rolling pages numbered 1990001, 1990002,<br />

1990003, 1990004, 1990005.<br />

As mentioned previously, <strong>Teletext</strong> pages are numbered by up to seven digits,<br />

made up as follows:<br />

A one-digit magazine number in the range 0 to 7. A<br />

two-digit page number in the range 00 to 99.<br />

A four-digit page sub-code in the range 0000 to 3979.<br />

<strong>The</strong> magazine number is sent in the form of a single 3-bit binary number.<br />

<strong>The</strong> full range possible is thus 0 to 7 as used by the <strong>Teletext</strong> system.<br />

<strong>The</strong> page number is sent in the form of two 4-bit binary numbers. This allows<br />

a range of 0 to 255, or 00 to FF hexadecimal, but at present the <strong>Teletext</strong><br />

system only uses the range 0 to 99—the numbers being in binary coded<br />

decimal (BCD). Page numbers outside this range may be used for other<br />

purposes, as yet undefined.<br />

<strong>The</strong> page sub-code is sent in the form of four binary numbers, whose lengths<br />

are given below:


44 Technical information<br />

Most significant digit — 2-bit binary number<br />

Next digit — 4-bit binary number<br />

Next digit — 3-bit binary number<br />

Least significant digit — 4-bit binary number<br />

<strong>The</strong>se binary numbers give a possible range of 8192 pages (0000 to 3F7F<br />

hexadecimal). At present, the <strong>Teletext</strong> system only uses sub-codes which have<br />

their 4-bit binary numbers lying in the range 0 to 9, and thus with the sub-code<br />

in the range 0000 to 3979. <strong>The</strong> use of 2- and 3-bit binary numbers explains the<br />

strange limits to the first and third digits.<br />

<strong>The</strong> 2- and 3-bit binary numbers are a result of the fact that the last four digits<br />

were originally developed as a 'time code' and hence the full 0 to 9 range was<br />

not needed for these digits.<br />

<strong>The</strong> <strong>Teletext</strong> specification does allow for hexadecimal page numbering with<br />

the full range of 0000000 to 7FF3F7F, but this is not used for conventional<br />

pages.<br />

9.2 <strong>Teletext</strong> signals<br />

A conventional <strong>Teletext</strong> decoder displays pages made up of 24 rows of 40<br />

characters per row (except for the first row — see below). <strong>The</strong> <strong>BBC</strong><br />

<strong>Microcomputer</strong> <strong>Teletext</strong> <strong>System</strong> generates a 25th row for displaying system<br />

information, prompts etc. This 25th row displayed on the screen has nothing to<br />

do with the <strong>Teletext</strong> signals sent by the transmitter. <strong>The</strong> rest of this section<br />

deals with the general <strong>Teletext</strong> signals and the presence of this 25th row on the<br />

screen is ignored.<br />

<strong>Teletext</strong> data is sent as a stream of digital bits forming 8-bit bytes. Each row<br />

consists of 45 bytes. All rows carry a row address or number in the range 0 to<br />

31. Rows 0 are the first row on any page and some of its 45 bytes are used to<br />

identify the page and to carry control information. This leaves 32 bytes for<br />

character codes. Rows 1 to 23 are the remaining 23 rows of 40 characters<br />

which, with row 0, make up the complete page. Rows 24 to 31 are often not<br />

transmitted. <strong>The</strong>y are available to carry special information to the decoder.<br />

<strong>The</strong> rows of 45 bytes are transmitted on the spare space between television<br />

picture fields. Four rows are currently sent between each picture field and a<br />

maximum of 16 is possible. <strong>The</strong> structure of the rows of bytes is discussed<br />

below.


Rows 1 to 23<br />

<strong>The</strong>se 23 rows have a structure as shown in Fig 9.1.<br />

Fig 9.1 Byte structure of <strong>Teletext</strong> rows 1 to 23<br />

Technical information 45<br />

<strong>The</strong> first three bytes, the clock run-in (2 bytes) and framing code (1 byte) are<br />

used by the decoder for synchronising the row so that it can tell where one<br />

character byte ends and the next begins. <strong>The</strong> next two bytes, the magazine and<br />

row address bytes, give the magazine number (3 bits) and the row number or<br />

address (5 bits) arranged in such a way with the eight other bits to provide a<br />

means of error detection and correction. A discussion of the error protection is<br />

beyond the scope of this guide – it is dealt with in the reference given in<br />

section 9.4. <strong>The</strong> remaining 40 bytes are codes for the 40 characters which are<br />

to be displayed on corresponding rows on the television screen when the page<br />

is assembled. <strong>The</strong> codes are given in table 9.1.<br />

Row<br />

Rows with address or row number zero have a special status as page-headers.<br />

<strong>The</strong>y are made up of 45 bytes like any other row, but only 32 bytes are<br />

available for character codes. <strong>The</strong> first 13 bytes are information bytes. <strong>The</strong><br />

first five bytes carry the same information as for any other row, that is, the<br />

clock run-in, framing code, and magazine and row addresses. Bytes 6 and 7<br />

give the page number, units and tens respectively. Bytes 8 to 11 carry the subcode,<br />

the four least significant digits of the page number. Bytes 12 and 13 are<br />

a series of control bits to give information and instructions to the decoder<br />

about the page. <strong>The</strong> remaining 32 bytes are the character codes for display on<br />

row 0. All of the first 13 bytes are error protected as for the first five bytes of<br />

other rows.<br />

When the <strong>Teletext</strong> decoder finds that it is receiving a row zero (by means of<br />

the information bytes at the start of the row) it interprets this as meaning that<br />

the previous row it received was the last one for the


46 Technical information<br />

preceding page and that the current row it is receiving is the start of a new page<br />

for that magazine. Each row zero is thus used to determine the start and finish<br />

of the pages within a magazine. <strong>The</strong> rows sent between row zeros can be sent<br />

in any order (for example, row 1, row 15, row 9 ...) since they each have a row<br />

number or address amongst the first five bytes (see Fig 9.1). Several magazines<br />

may be transmitted simultaneously in unrelated order of rows. Blank rows need<br />

not be sent. If the decoder detects the completion of a page (by receiving the<br />

next page-header, row zero) it assumes that any row numbers not received for<br />

the previous page are blank rows.<br />

To select a given page, the decoder examines the incoming rows of data until it<br />

finds a page-header with the correct page and magazine numbers. It then stores<br />

this row in its memory. <strong>The</strong> decoder continues to store each following row in<br />

the selected magazine until it receives the next page-header. It now has a<br />

complete page (bar blank rows) in memory and can decode the character codes<br />

to display the characters on the screen in the right places by making use of the<br />

row addresses.<br />

Rows 24 to 31<br />

<strong>The</strong>se are often not transmitted but are available for sending special<br />

information to the decoder. In particular, row 27 is used to tell the decoder<br />

whether or not a page has any branch or chain linked pages connected with it.<br />

Rows 24 and 25 have the same structure as rows 1 to 23 and may be used so<br />

that a page can contain 1K or 1024 bytes of information. A normal page can<br />

only contain 32 + (23*40) = 952 bytes. <strong>The</strong> extra two rows provide another 80<br />

bytes which is sufficient to bring the total up to 1024 bytes without having to<br />

use all the 32 row zero bytes. In fact, eight of the row zero bytes are left free<br />

and these are currently used for the time information.<br />

Page check word (row 27)<br />

Row 27 includes a 16-bit cyclic redundancy check (CRC) on the first 24<br />

character bytes of row 0 and the 40 character bytes of rows 1-25 inclusive (a<br />

total of 1K bytes). For the purposes of this check word calculation any row not<br />

transmitted is assumed to carry 40 'space' bytes (hex 20).


Table 9.1 <strong>Teletext</strong> character codes<br />

Technical information 47


48 Technical information<br />

9.3 Character codes<br />

Table 9.1 shows the available characters, their codes and also the control<br />

codes. <strong>The</strong>se are the same characters which are available in mode 7 of the <strong>BBC</strong><br />

<strong>Microcomputer</strong> — see chapter 28 of the <strong>User</strong> <strong>Guide</strong> for more details. <strong>The</strong><br />

control codes can be sent in place of any character code anywhere in a row.<br />

<strong>The</strong> control codes are normally displayed as spaces (but see the section below<br />

on the hold graphics control). <strong>The</strong> fact that they can be used within a row<br />

enables one to change some aspect of the display part way through a row (for<br />

example, the display colour).<br />

Display modes<br />

<strong>The</strong>re are three modes of display on the <strong>Teletext</strong> system — one alphanumeric<br />

mode and two graphics modes. <strong>The</strong> two graphics modes are called contiguous<br />

and separated. <strong>The</strong> difference is best shown by illustration, as in Fig 9.2.<br />

Fig 9.2 Contiguous and separated graphics modes<br />

Colour<br />

Seven different display colours are provided (white, yellow, cyan, magenta,<br />

red, green and blue). Fourteen control codes are available to select<br />

alphanumerics or graphics and the required colour simultaneously. This<br />

enables a change of colour and mode in one step.<br />

<strong>The</strong> background colour can be any of the seven colours listed above, or black.<br />

Coloured background is selected by using the 'new background' control code.<br />

After this code appears, the new background colour will be the display colour<br />

in use when the 'new background' control was used.


Flashing and concealed characters<br />

Technical information 49<br />

Two modes are provided in which the display characters appear as spaces<br />

some of the time. In flashing mode, a character appears alternately as a space<br />

and as the character at a rate determined by a clock in the computer. In<br />

conceal mode, the character appears as a space until revealed. <strong>The</strong> character is<br />

revealed by entering reveal mode which is done when the user issues the<br />

required command — such as the key f2 command in the Terminal mode of<br />

the <strong>BBC</strong> <strong>Microcomputer</strong> <strong>Teletext</strong> <strong>System</strong>.<br />

Double height<br />

Characters may be displayed at double height, in which case they take two<br />

rows. Thus the information sent in row n also applies to row n+1 in this mode.<br />

<strong>The</strong> decoder ignores row n+1 if it is sent.<br />

Hold graphics control<br />

<strong>The</strong> hold graphics control code allows a limited number of abrupt display<br />

colour changes. A control code is normally displayed as a space which thus<br />

causes a break in the display. In hold graphics mode, the character rectangle<br />

occupied by the control code is filled with a held graphics character. This can<br />

be used with any control code issued in the graphics mode. <strong>The</strong> held graphics<br />

character will be the most recent character with bit 6=1 in its code, provided<br />

that there has been no intervening change in either the alphanumeric/graphics<br />

modes or the normal/double height modes. In the absence of a suitable<br />

character, a space is displayed.<br />

9.4 Reference<br />

Broadcast <strong>Teletext</strong> Specification, Sept 1976<br />

published jointly by<br />

British Broadcasting Corporation<br />

Independent Broadcasting Authority<br />

British Radio Equipment Manufacturers' Association<br />

9.5 <strong>The</strong> television service data packet<br />

In addition to the above <strong>Teletext</strong> pages, a television service data packet is<br />

sometimes transmitted. If it is sent, it arrives once per second and carries the<br />

following information:


50 Technical information<br />

1. An initial page address which a terminal should select at start-up without<br />

further user action. This will be the page selected by the <strong>BBC</strong> <strong>Microcomputer</strong><br />

<strong>Teletext</strong> <strong>System</strong> at start-up. (In the absence of a television service data packet,<br />

page #00 is selected by default.) <strong>The</strong> contents of this page are controlled by<br />

the sender.<br />

2. A program or network label.<br />

3. An absolute time reference giving the time and date in a machine usable<br />

form.<br />

4. A 20-character block of <strong>Teletext</strong> coded characters which are intended for<br />

direct display if the user requests a status report.<br />

Byte structure of the television service data packet<br />

<strong>The</strong> television service data packet (TSDP) is made up of 45 8-bit bytes. <strong>The</strong><br />

first six bytes are for control, identification and synchronisation. <strong>The</strong> next 19<br />

bytes carry information in machine usable form. <strong>The</strong> last 20 bytes carry<br />

information for direct display when a status display is requested by the <strong>Teletext</strong><br />

system.<br />

In more detail, the 45 bytes are used as follows:<br />

Bytes Content<br />

1- 2 Clock run-in<br />

3 Framing code<br />

4- 6 TSDP identification code<br />

7-12 Default <strong>Teletext</strong> page<br />

13-14 Channel identification<br />

15 Time offset<br />

16-18 Modified Julian date<br />

19-21 Coordinated universal time (UTC)<br />

22-25 Television program label<br />

26-45 Status display message<br />

Bytes 1 to 6 - decoder information<br />

<strong>The</strong>se six bytes provide information to enable the decoder to identify the TSDP<br />

as such and to synchronise the following bytes so that it can tell where one byte<br />

ends and the next begins.


Technical information 51<br />

Bytes 7 to 12<br />

<strong>The</strong>se six bytes provide the <strong>Teletext</strong> decoder with the page number which it is<br />

to use to select a default page. <strong>The</strong>se bytes are in machine readable form.<br />

Bytes 13 and 14 - channel identification<br />

<strong>The</strong>se two bytes can be read by the machine to determine which channel is<br />

being received.<br />

Byte 15 - time offset<br />

This byte gives the offset in hours between the local clock time and the<br />

coordinated universal time (UTC). <strong>The</strong> first bit is always 1, the second bit gives<br />

the polarity of the offset. <strong>The</strong> last bit is also always 1. <strong>The</strong> other five bits are<br />

the offset. For example, the following offsets may be encountered in the UK:<br />

During winter (GMT): 10000001 – no offset<br />

During summer (BST): 10000101 – add one hour to UTC to get clock time<br />

<strong>The</strong> five offset bits have the following weights: 8,4,2,1,1/2.<br />

Bytes 16 to 18 - modified Julian date<br />

<strong>The</strong>se three bytes carry the modified Julian date which increments at UTC<br />

midnight. <strong>The</strong> first half byte is always 0101. <strong>The</strong> remaining two and a half<br />

bytes carry the date. Each 4-bit binary-coded-decimal number (half byte) is<br />

incremented by one before transmission. For example the three bytes may be:<br />

55 5A 81<br />

which would decode to 44970 or 1 January 1982.<br />

<strong>The</strong> following notes should enable one to decode the modified Julian date to<br />

the standard format. <strong>BBC</strong> BASIC operators have been used.<br />

Symbols: JD – Julian date<br />

Y – year from 1900<br />

M – month (January = 1)<br />

D – day of month<br />

W – day of week (Sunday = 0, Monday = 1 etc)


52 Technical information<br />

To find calendar date (in range 1/3/1900 to 28/2/2100):<br />

Y1 = (100*(JD – 15078.2)) DIV 36525<br />

M1 = INT((JD – 14956.1 – INT(365.25*Y))/30.6001)<br />

D = JD – 14956 – INT(365.25*Y1) – INT(30.6*M1)<br />

M = M1 – 1 – 12*K<br />

Y = Y1 + K<br />

where K = INT(0.7 + (1/(17 – M1))) ie IF M1


Technical information 53<br />

distinct names by means of their classification into two types of names: lonenames<br />

and escaped-names. <strong>The</strong> two types of name are told apart by the<br />

preceding byte sent. If the preceding byte is the name of the escape operator,<br />

then the name is an escaped-name. If the preceding byte is not the name of the<br />

escape operator then the name is a lone-name. For example, if the name of the<br />

escape operator is &1B, and a string of names received is:<br />

&56 &89 &1B &89 &67 . . .<br />

the first two bytes are lone-names, the third byte is the name of the escape<br />

operator and so the fourth byte is an escaped-name. <strong>The</strong> fifth byte is a lonename.<br />

When the Telesoftware decoder is first started up, it carries out an initialisation<br />

routine during which it sets up a table of names and their meanings in memory.<br />

<strong>The</strong> table set up contains the default meanings of the names. Entries in the<br />

table may be modified from time to time by incoming commands. <strong>The</strong> default<br />

table is given in table 9.2, the general Telesoftware table. <strong>The</strong> table set up by<br />

the <strong>BBC</strong> <strong>Microcomputer</strong> <strong>Teletext</strong> <strong>System</strong> will be somewhat different.<br />

When the Telesoftware decoder is receiving Telesoftware, it looks up the<br />

names in the table and uses this to decode the Telesoftware.


54 Technical information<br />

Table 9.2 (i) Name tables - default entries (&00 to &3F)<br />

Value ASCII Meanings Value ASCII Meanings<br />

(hex) char Lone Escaped (hex) char Lone Escaped<br />

00 NUL 00 20 SP 20 <br />

01 SOH 01 21 ! 21 <br />

02 STX 02 22 " 22 <br />

03 ETX 03 23 £ 23 <br />

04 EOT 04 24 $ 24 <br />

05 ENQ 05 25 % 25 <br />

06 ACK 06 26 & 26 <br />

07 BEL 07 27 ' 27 <br />

08 BS 08 28 ( 28 <br />

09 HT 09 29 ) 29 <br />

0A LF 0A 2A * 2A <br />

0B VT OB 2B + 2B <br />

0C FF OC 2C , 2C <br />

0D CR 0D 2D - 2D <br />

0E SO 0E 2E . 2E <br />

0F SI OF 2F / 2F <br />

10 DLE 10 30 0 30 <br />

11 DC1 11 31 1 31 <br />

12 DC2 12 32 2 32 <br />

13 DC3 13 33 3 33 <br />

14 DC4 14 34 4 34 <br />

15 NAK 15 35 5 35 <br />

16 SYN 16 36 6 36 <br />

17 ETB 17 37 7 37 <br />

18 CAN 18 38 8 38 <br />

19 EM 19 39 9 39 <br />

1A SUB 1A 3A : 3A <br />

1B ESC 1B 3B ; 3B <br />

1C FS 1C 3C < 3C <br />

1D GS 1D 3D = 3D <br />

1E RS 1E 3E > 3E <br />

1F US 1F 3F ? 3F


Technical information 55<br />

Table 9.2 (ii) Name tables - default entries (&40 to &7F)<br />

Value ASCII Meaning Value ASCII Meaning<br />

(hex) char Lone Escaped (hex) char Lone Escaped<br />

40 @ 40 60 - 60 <br />

41 A 41 61 a 61 <br />

42 B 42 62 b 62 <br />

43 C 43 63 c 63 <br />

44 D 44 64 d 64 <br />

45 E 45 65 e 65 <br />

46 F 46 66 f 66 <br />

47 G 47 67 g 67 <br />

48 H 48 68 h 68 <br />

49 I 49 69 i 69 <br />

4A J 4A 6A j 6A <br />

4B K 4B 6B k 6B <br />

4C L 4C 6C 1 6C <br />

4D M 4D 6D m 6D <br />

4E N 4E 6E n 6E <br />

4F 0 4F 6F o 6F <br />

50 P 50 70 p 70 <br />

51 Q 51 71 q 71 <br />

52 R 52 72 r 72 <br />

53 S 53 73 s 73 <br />

54 T 54 74 t 74 <br />

55 U 55 75 u 75 <br />

56 V 56 76 v 76 <br />

57 W 57 77 w 77 <br />

58 X 58 78 x 78 <br />

59 Y 59 79 y 79 <br />

5A Z 5A 7A z 7A <br />

5B [ 5B 7B { 7B <br />

5C \ 5C 7C | 7C<br />

5D ] 5D 7D } 7D <br />

5E ^ 5E 7E ~ 7E <br />

5F _ 5F 7F DEL 7F


56 Technical information<br />

Table 9.2 (iii) Name tables - default entries (&80 to &BF)<br />

Value ASCII Meaning Value ASCII Meaning<br />

(hex) char Lone Escaped (hex) char Lone Escaped<br />

80 NUL 80 A0 SP A0 <br />

81 SOH 81 Al ! Al <br />

82 STX 82 A2 " A2 <br />

83 ETX 83 A3 £ A3 <br />

84 EOT 84 A4 $ A4 <br />

85 ENQ 85 A5 % A5 <br />

86 ACK 86 A6 & A6 <br />

87 BEL 87 A7 ' A7 <br />

88 BS 88 A8 ( A8 <br />

89 HT 89 A9 ) A9 <br />

8A LF 8A AA * AA <br />

8B VT 8B AB + AB <br />

8C FF 8C AC , AC <br />

8D CR 8D AD - AD <br />

8E SO 8E AE . AE <br />

8F SI 8F AF / AF <br />

90 DLE 90 B0 0 B0 <br />

91 DC1 91 B1 1 B1 <br />

92 DC2 92 B2 2 B2 <br />

93 DC3 93 B3 3 B3 <br />

94 DC4 94 B4 4 B4 <br />

95 NAK 95 B5 5 B5 <br />

96 SYN 96 B6 6 B6 <br />

97 ETB 97 B7 7 B7 <br />

98 CAN 98 B8 8 B8 <br />

99 EM 99 B9 9 B9 <br />

9A SUB 9A BA : BA <br />

9B ESC 9B BB ; BB <br />

9C FS 9C BC < BC <br />

9D GS 9D BD = BD <br />

9E RS 9E BE > BE <br />

9F US 9F BF ? BF


Technical information 57<br />

Table 9.2 (iv) Name tables — default entries (&CO to &FF)<br />

Value ASCII Meaning Value ASCII Meaning<br />

(hex) char Lone Escaped (hex) char Lone Escaped<br />

C0 51 C0 E0 - E0 <br />

C1 A C1 E1 a E1 <br />

C2 B C2 E2 h E2 <br />

C3 C C3 E3 c El <br />

C4 D C4 E4 d E4 <br />

C5 F C5 E5 e E5 <br />

C6 F C6 E6 f E6 <br />

C7 G C7 E7 g E7 <br />

C8 H C8 E8 h E8 <br />

C9 I C9 E9 i E9 <br />

CA J CA EA j EA <br />

CB K CB EB k EB <br />

CC L CC EC 1 EC <br />

CD M CD ED m ED <br />

CE N CE EE n EE <br />

CF 0 CF EF o EF <br />

D0 P D0 F0 p F0 <br />

D1 Q D1 F1 q F1 <br />

D2 R D2 F2 r F2 <br />

D3 S D3 F3 s F3 <br />

D4 T D4 F4 t F4 <br />

D5 U D5 F5 u F5 <br />

D6 V D6 F6 v F6 <br />

D7 W D7 F7 w F7 <br />

D8 X D8 F8 x F8 <br />

D9 Y D9 F9 y F9 <br />

DA Z DA FA z FA <br />

DB [ DB FB { FB <br />

DC \ DC FC | FC<br />

DD ] DD FD } FD <br />

DE ^ DE FE ~ FE <br />

DC _ DF FF DEL FF <br />

Command subroutines<br />

Looking at table 9.2, in the escaped-name meanings column you can see some as yet<br />

unexplained terms, eg escaped-name &41 corresponds to . <strong>The</strong>se strings<br />

enclosed in angled brackets are names of command subroutines. <strong>The</strong> subroutines<br />

required by the <strong>Teletext</strong> Telesoftware decoder (as in the <strong>BBC</strong> <strong>Microcomputer</strong> decoder)<br />

are contained in the <strong>Teletext</strong> filing system ROM. Each command subroutine has a<br />

three-character code (eg ). An instruction to the decoder appears in the form of<br />

the name of the relevant command subroutine to be executed, followed by the names of<br />

any operands required along with the number and size of the operands if this is not<br />

implied by the command subroutine.


58 Technical information<br />

Each command subroutine has either a fixed (implied) number of operands or<br />

a variable number of operands. Each operand consists of either a fixed (<br />

implied) number of decoded bytes or a variable number of decoded bytes. Any<br />

variable quantity (either number of operands or number of bytes in an<br />

operand) is preceded by a number giving its value on this occasion. For the<br />

<strong>Teletext</strong> system, this number is either a single decoded ASCII hexadecimal<br />

digit (' 0' to '9' and 'A' to 'F') or the decoded ASCII character 'X' followed by<br />

two decoded ASCII hexadecimal digits (most significant first). <strong>The</strong> general<br />

structure of a command before naming is:<br />

<br />

<br />

<br />

<br />

<br />

<br />

. . . and so on.<br />

Many of the commands appearing in table 9.2 are not relevant to the <strong>Teletext</strong><br />

system but are used by other systems making use of the general Telesoftware<br />

format. In general, there are three modes of obeying the commands — those<br />

which lie outside a block, those obeyed on the first pass and those obeyed on<br />

the second pass through the data. Any bytes received outside a block are<br />

ignored unless they are the names of the start block command and its<br />

operands, or a description of the medium being used. For the purposes of the<br />

first and second pass through the data, the block runs from after the start block<br />

command. Some commands are obeyed on the first pass through the block. If<br />

an end of block command is encountered, then the second pass stops at the<br />

name before this command. <strong>The</strong> rest of the commands are obeyed on the<br />

second pass through the block.<br />

In the <strong>Teletext</strong> system, only one pass is made through the data, all the<br />

commands being obeyed on this pass.<br />

A complete list of the commands relevant to the <strong>Teletext</strong> system along with a<br />

brief description is given in table 9.3. However, it should be noted that the<br />

table does not show all the commands listed in the name tables as not all of<br />

these are relevant to <strong>Teletext</strong>.


Table 9.3 <strong>The</strong> command subroutines<br />

Code Command subroutine<br />

Comment<br />

Define data type<br />

End block<br />

Change escaped-name's meaning (command)<br />

Revert to default format<br />

Change escaped-name's meaning (decoded string)<br />

End of file<br />

Ignore<br />

Inhibit run<br />

Load address (absolute)<br />

Change lone-name's meaning (command)<br />

Load address (relative)<br />

Change lone-name's meaning (decoded string)<br />

No reversion to default format before next file<br />

Start block<br />

Title of file<br />

Execution address (absolute)<br />

Execution address (relative)<br />

<strong>The</strong> escape operator<br />

<strong>Teletext</strong><br />

Error in transmission<br />

Eight-bit byte adjustment (lower)<br />

Eight-bit byte adjustment (raise)<br />

<strong>The</strong>se commands relevant to the <strong>Teletext</strong> system are discussed below.<br />

Start block and medium description commands<br />

Start block <br />

Operands: 0, 1 or 2; each variable in length.<br />

Technical information 59<br />

marks the start of the block of data. <strong>The</strong> first operand is the number of<br />

this block. <strong>The</strong> second operand (which only needs to be present for one of the<br />

blocks of a file) is the number of blocks in the file. <strong>The</strong> blocks need not be<br />

numbered if the end of file command is used.<br />

Example: '1"2' '1' '0'<br />

(This is the 16th block of the file.)


60 Technical information<br />

<strong>Teletext</strong> <br />

Operands: 0, 1 or 2; each of variable length.<br />

makes the changes to the name table necessary for data with odd<br />

parity, streamlines the tables for <strong>Teletext</strong> and then executes the <br />

subroutine to mark the start of the block.<br />

Thus, any Telesoftware file for the <strong>BBC</strong> <strong>Microcomputer</strong> decoder received<br />

from CEEFAX will start with the name of this command.<br />

<strong>The</strong> changes from the general format which are brought about are:<br />

In the name tables, all names that would be a parity error if received are set<br />

to be names of the , error in transmission, subroutine. If they are<br />

received, the subroutine will alert the decoder that there has been a<br />

transmission error. All lone-names with correct parity are set to decode to<br />

themselves after a logical AND with &7F.<br />

<strong>The</strong> command subroutine is given the lone-name &E0 and the<br />

command subroutine is given the lone-name &FE. <strong>The</strong> escapednames<br />

&E0 and &FE are set to decode to themselves. <strong>The</strong> command<br />

subroutine is given the escaped-name &42.<br />

<strong>The</strong> decoder is set to expect numerical information (numbers describing<br />

variable operands, load addresses etc) to be given in ASCII hexadecimal<br />

digits.<br />

Example: '2"1"1"1"4'<br />

(<strong>Teletext</strong>: This is the first block of four.)<br />

End block <br />

Operands: none<br />

marks the end of a block of data. If the end of the block is marked by<br />

the end of a <strong>Teletext</strong> page then the command is optional.<br />

File and segment information commands<br />

End of file <br />

Operands: none<br />

indicates that this block is the last block in a file. It can be omitted if<br />

the end of file is indicated by other means.


Title of file <br />

Operands: 1, 2 or 3; each of variable length.<br />

Technical information 61<br />

<strong>The</strong> operands of a command describe the title of the Telesoftware file<br />

(first operand), its version number (optional second operand) and its date of<br />

issue (optional third operand). <strong>The</strong> date should be given as the modified Julian<br />

date (see section 9.5).<br />

Files whose blocks may only be received in order are arranged on CEEFAX as<br />

a chain. <strong>The</strong> first block is marked as the chain-header and should contain a<br />

command giving details of the file. Other blocks need not. Files whose<br />

blocks may be received out of order are also arranged on CEEFAX as a chain.<br />

However, each block is marked as a chain-header and should contain a <br />

command.<br />

Example: '2"7"P"r"o"g"r"a"m"1"5'<br />

(File title is 'Program'; version number 5.)<br />

Comment <br />

Operands: variable number; each of variable length.<br />

Comments are indicated by the command, and may be displayed by<br />

the decoder whilst Telesoftware is decoded (the display is controlled in the<br />

<strong>BBC</strong> <strong>Microcomputer</strong> <strong>Teletext</strong> <strong>System</strong> by the Telesoft mode command *OPT1).<br />

<strong>The</strong> recommended layout is:<br />

1st operand – name of program<br />

2nd operand – language<br />

3rd operand – type of computer used<br />

4th operand – date of publication<br />

5th operand – source of program<br />

6th operand – other comments<br />

Example: '1"9"A" "p"r"o"g"r"a"m'<br />

(<strong>The</strong> name of the program is 'A program'.)<br />

Ignore <br />

Operands: variable number; each of variable length.<br />

<strong>The</strong> decoder will ignore the operands of a command.


62 Technical information<br />

Load address (absolute) <br />

Operands: 1 of variable length.<br />

<strong>The</strong> operand of a command is the first absolute address in memory<br />

that the decoded Telesoftware should be stored at (unless overruled when<br />

issuing the *LOAD command — see chapter 6 on the Telesoft mode).<br />

<strong>The</strong> first decoded byte of the operand represents the most significant byte of<br />

the address.<br />

Example: '4"2"0' '0' '0'<br />

(Store the Telesoftware starting at address &2000.)<br />

Load address (relative) <br />

Operands: 0 or 1; of variable length.<br />

<strong>The</strong> operand of a command represents the offset from the first address<br />

that decoded Telesoftware is being stored at. Decoded Telesoftware should<br />

now be stored from this offset onwards.<br />

<strong>The</strong> command allows blocks to be received and decoded out of order.<br />

If there is no operand, then the data should not be stored in a contiguous block<br />

of memory, but should be passed to a command line interpreter in whatever<br />

order the blocks are received and decoded. BASIC programs are loaded in this<br />

way after using the Telesoft mode command *EXEC.<br />

Example: '1"3"1' '0' '0'<br />

(Store any further Telesoftware in memory starting at &2100— assuming that<br />

the base address is &2000).<br />

Execution address (absolute) <br />

Operands: 1 of variable length.<br />

<strong>The</strong> operand of a command gives the execution address of the file of<br />

Tele software.<br />

Example: '4"2"0' 'F' '0'<br />

(<strong>The</strong> execution address is &20F0.)<br />

Execution address (relative) <br />

Operands: 1 of variable length.


Technical information 63<br />

<strong>The</strong> operand of a command gives the execution address relative to the<br />

load address of the file.<br />

Example: '2"F"0'<br />

(<strong>The</strong> execution address is &20F0 — assuming that the base address is &2000.)<br />

Inhibit run <br />

Operands: none<br />

<strong>The</strong> DIR command inhibits execution of the program immediately after its<br />

reception.<br />

Define data type <br />

Operands: 1 or 2; of variable length.<br />

<strong>The</strong> command defines the type of data in the file and the hardware at<br />

which it is directed. <strong>The</strong> data type applies until superseded by a different<br />

command.<br />

Example: '2"4"B"B"B"C"3"1"6"K'<br />

(<strong>The</strong> following program is in <strong>BBC</strong> BASIC for a 16K machine.)<br />

Format redefinition commands<br />

Change escaped-name's meaning (decoded string) <br />

Operands: 2; first of length 1 decoded byte, second of variable length.<br />

<strong>The</strong> command changes the entry in the name tables for the escapedname<br />

given (first operand) to decode to the string given (second operand).<br />

Example: 00 '4"w"o"r"d'<br />

(<strong>The</strong> escaped-name 00 will decode to 'word')<br />

Change escaped-name's meaning (command) <br />

Operands: 2; first of length 1 decoded byte, second of length 3 decoded bytes.<br />

<strong>The</strong> command changes the entry in the name tables for the escapedname<br />

given (first operand) to represent the command subroutine given (second<br />

operand).<br />

Example: FF 'U"E"R'


64 Technical information<br />

(Reception of the escaped-name &FF indicates that there has been a<br />

transmission error – the command subroutine is executed.)<br />

Change lone-name's meaning (decoded string) <br />

Operands: 2; first of length 1 decoded byte, second of variable length.<br />

<strong>The</strong> command changes the entry in the name tables for the lone-name<br />

given (first operand) to decode to the string of bytes given (second operand).<br />

Example: 00 '4"W"0"R"D'<br />

(<strong>The</strong> lone-name 00 will decode to 'WORD')<br />

Change lone-name's meaning (command) <br />

Operands: 2; first of length 1 decoded byte, second of length 3 decoded bytes.<br />

<strong>The</strong> command changes the entry in the name tables for the lone-name<br />

given (first operand) to represent the command subroutine given (second<br />

operand).<br />

Example: FF 'E"S"C'<br />

(<strong>The</strong> lone-name &FF becomes a name of the escape operator.)<br />

No reversion to default format before the next file <br />

Operands: none<br />

<strong>The</strong> command stops the decoder resetting its name tables to their<br />

default values prior to decoding the next file (see also the Telesoft mode call<br />

*OPT3).<br />

Revert to default format <br />

resets the name tables to their default values (see also the Telesoft<br />

mode call *OPT3).<br />

<strong>The</strong> escape operator <br />

<strong>The</strong> function of the escape operator () is to indicate that an escapedname<br />

follows, rather than a lone-name. Thus it permits 512 distinct names<br />

rather than 256. <strong>The</strong> escape operator must have at least one lone-name and<br />

may have escaped-names.


Eight-bit byte adjustment<br />

Technical information 65<br />

For the <strong>Teletext</strong> system which only sends odd parity bytes, there are only<br />

effectively seven bits to the byte. <strong>The</strong> and commands are<br />

available to 'add' an eighth bit.<br />

Eight-bit byte adjustment (lower) <br />

Operands: 1 of decoded length 1 byte.<br />

indicates subtract &58 from the next decoded byte (to give a value in<br />

the range &C8 to &FF or &00 to &27, if only bytes in the range &20 to &7F<br />

can be transmitted).<br />

Example: 20<br />

(Decodes to &C8.)<br />

Eight-bit byte adjustment (raise) <br />

Operands: 1 of decoded length 1 byte.<br />

indicates add &58 to the next decoded byte (to give a value in the<br />

range &78 to &D7).<br />

Example: 20<br />

(Decodes to &78.)<br />

Error in transmission <br />

indicates that there has been an error in transmission.


Appendix 1<br />

Installing the<br />

TELEROM into the<br />

<strong>BBC</strong> <strong>Microcomputer</strong><br />

CAUTION<br />

STATIC SENSITIVE DEVICES — DO NOT HANDLE<br />

UNTIL YOU HAVE READ THESE INSTRUCTIONS<br />

Please read these instructions carefully before attempting this conversion. If<br />

you are not completely confident of your ability to carry out this conversion<br />

yourself it will be in your own interests to take your unit to an authorised <strong>BBC</strong><br />

<strong>Microcomputer</strong> dealer for him to carry out this upgrade.<br />

First find out whether or not your computer has a series 1 operating system<br />

installed, by typing in *FX0 RETURN . If a number greater than 1.00 is<br />

displayed, you have a series 1 system.<br />

1. Ensure that the computer is not connected to a mains power socket.<br />

WARNING<br />

DO NOT REMOVE THE LID OF THE COMPUTER<br />

WHILST IT IS CONNECTED TO THE MAINS<br />

2. Unscrew the two large-headed screws on the rear panel of the computer and<br />

the two large-headed screws on the underside of the computer (near the front).<br />

Carefully remove the lid.<br />

3. Unscrew the two (three on some computers) bolts securing the keyboard<br />

assembly to the lower case and carefully unplug the 17-way ribbon cable<br />

connecting the keyboard assembly to the main printed circuit board (PCB) by<br />

pulling the socket away from PL13 on the main PCB.<br />

4. Move the keyboard away from the main PCB until the loudspeaker plug (<br />

PL15) is accessible. Unplug the loudspeaker by carefully removing the socket<br />

from PL15. Place the keyboard assembly to one side on a flat surface.


5. If your computer already contains a 'series 1' operating system then<br />

proceed to instruction 8.<br />

Appendix 1 67<br />

6. <strong>The</strong> current Machine Operating <strong>System</strong> (MOS) is situated in the bottom<br />

right-hand corner of the main PCB in one of two configurations which are:<br />

(i) One integrated circuit (IC) in socket IC51 identified by the legend 'B02'<br />

printed on the top. If you have this format carefully remove the MOS IC from<br />

IC51 using an IC extractor (a small screwdriver used with extreme care will<br />

do). Identify the BASIC language IC by the legend `B01' or 'B05' printed on<br />

it, and if it is not already in socket IC 101 then remove it as before and<br />

replace it in socket IC101 as described in '7' below.<br />

(ii) Four ICs in sockets IC52, IC88, IC100 and IC101 (these sockets are all<br />

next to each other despite the numbering) identified with the legends 'C', 'D', '<br />

E' and 'F' respectively printed on the top. If this is the case the BASIC<br />

language IC (identifiable by the legend 'B01' printed on the top and all four<br />

MOS ICs should be removed as described in (i) above. Replace the BASIC<br />

IC in socket IC 101 as described in '7' below.<br />

7. <strong>The</strong> new MOS is supplied in a single IC identified by the legend 'B04'<br />

printed on the top. Insert the ROM carefully into the socket IC51 ensuring<br />

that all the 'legs' locate properly into the holes and are not 'bent under' upon<br />

insertion. <strong>The</strong> IC should be orientated so that the semicircular cutout in the<br />

top of the IC is at the top, ie away from the keyboard. Avoid touching the IC<br />

legs with your fingers wherever possible.<br />

Now set the following links:<br />

S18 North<br />

S19 East<br />

S20 North<br />

S21 Two off east/west<br />

S22 North<br />

S32 West<br />

S33 West<br />

NB north is the edge of the PCB nearest to the back of the case and south is<br />

the edge nearest to the keyboard. East and west follow logically from these.


68 Appendix 1<br />

8. Insert the TELEROM IC (identifiable by the legend 'TFS') into any free<br />

socket (IC88, IC100 or IC52) as described in '7' above.<br />

Note: This <strong>User</strong> <strong>Guide</strong> assumes that the <strong>Teletext</strong> ROM is in the far right<br />

position of the filing system ICs (nearest the edge of the circuit board). If this<br />

is the case, then, when the microcomputer is powered up, the Telesoft filing<br />

system is automatically selected.<br />

If the <strong>Teletext</strong> ROM is not in the far right position then the Telesoft filing<br />

system is not automatically selected on powering up. You can select Telesoft<br />

either by typing in<br />

*TELESOFT RETURN<br />

or by pressing the T and BREAK keys together.<br />

9. Reassemble the <strong>BBC</strong> <strong>Microcomputer</strong> by reversing instructions 1 to 4 above.<br />

Your computer is now ready for use.


Appendix 2<br />

<strong>Teletext</strong> reception<br />

<strong>Teletext</strong> information is conveyed from the UHF TV transmitter to UHF<br />

domestic TV aerials as part of the complete 625 line UHF channel<br />

transmitted wave form. <strong>The</strong> pages of <strong>Teletext</strong> information are contained in a<br />

digitally coded form on unused blank lines which occur during the frame<br />

fly-back period and these pages of information are continually refreshed and<br />

updated. Thus a basic requirement for 'good' <strong>Teletext</strong> reception is 'good' TV<br />

reception, ie a 'clean' TV signal of adequate level.<br />

Generally speaking 'good' <strong>Teletext</strong> reception should be possible in <strong>BBC</strong>/IBA<br />

defined UHF TV service areas with the usual 'line of sight' qualification, but<br />

may be difficult under fringe conditions.<br />

A starting point is the reception of good quality, low noise (imperceptible<br />

snow), colour TV reception, but this alone will not guarantee error-free<br />

pages of <strong>Teletext</strong> information. Very close reflections of the received signal (<br />

ghosting) can be almost imperceptible on a good colour picture but can still<br />

result in <strong>Teletext</strong> reception errors. This effect can vary between the four TV<br />

channels in use because the channels are of different frequencies and the<br />

reflections are usually frequency-dependent.<br />

If problems are experienced a number of questions should be answered<br />

before condemning the equipment as faulty, or writing to the <strong>BBC</strong>/IBA<br />

and/or the equipment manufacturers etc:<br />

1. Is the aerial of the correct group? (UHF bands are split into different<br />

groups throughout the country.) Reputable aerial manufacturers conform to<br />

specific technical standards which are essential for the best possible <strong>Teletext</strong>,<br />

and colour television, reception. <strong>The</strong> final display of <strong>Teletext</strong> information<br />

depends in the first instance on the aerial signal —this must be right before<br />

proceeding any further.<br />

2. Was the aerial system properly installed externally with good quality UHF<br />

cable, avoiding kinks or sharp bends in the cable, and terminated in a good<br />

quality coaxial plug correctly fitted and soldered?<br />

Note: Indoor aerials are not recommended for television or <strong>Teletext</strong><br />

reception.


70 Appendix 2<br />

3. Is the aerial of the correct polarisation (horizontal and vertical systems are<br />

employed in different regions of the UK) and is it directed towards the<br />

transmitter intended to serve the area? Out of area reception is often employed<br />

for a number of reasons, including ignorance of the correct transmitter for the<br />

area.<br />

4. Will the aerial signals provide a good quality, low noise, colour television<br />

picture free from all reflections? (<strong>The</strong> new electronic test card is a valuable<br />

aid in detecting close reflections.)<br />

If all of the above criteria are met it may be necessary to adjust the position of<br />

the aerial especially if <strong>Teletext</strong> character error rates vary between channels, or<br />

between pages of information.<br />

<strong>The</strong> aerial should be tried in all positions, including variation of height,<br />

preferably by the use of the 'cranked arm' type of mast. If a satisfactory result<br />

is not possible by this means, moving the aerial to a different location is<br />

occasionally the only answer.<br />

If the TV aerial signal is fed through amplifiers and/or signal splitting devices<br />

to feed more than one outlet, it may, in cases of <strong>Teletext</strong> reception difficulties,<br />

be necessary to feed the signal direct to the <strong>Teletext</strong> unit in the first instance.<br />

This will help to reduce any problems caused by the signal distribution<br />

system. If the <strong>Teletext</strong> unit is fed from a larger MATV (master aerial TV)<br />

system further professional advice should be sought from a reputable<br />

contractor.<br />

Every effort should be made to ensure the best possible level and quality of<br />

signal so that the end result will not vary with time, weather conditions etc.<br />

Expenditure on good quality aerial installations at the outset will prove to be<br />

an investment in the long term.


Appendix 3<br />

Summary of Terminal<br />

mode commands<br />

<strong>The</strong> following is a quick reference list of all the Terminal mode commands<br />

together with the relevant keys, and the order in which they appear:<br />

Description of command Keys used<br />

Select a channel f4<br />

Fine tune a channel f4 and SHIFT<br />

Select a page f0<br />

Select last explicit page f1<br />

Select index page f1 and SHIFT<br />

Keep a page f3<br />

Release a kept page f3 and SHIFT<br />

Reveal page f2<br />

Conceal page f2 and SHIFT<br />

Enter an operating system (*) command f5<br />

Save a page to file f7<br />

Load a page from file f6<br />

Hold page f8<br />

Exit to previous filing system f9<br />

Exit to Telesoft and execute f9 and SHIFT

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!