The Acorn Teletext Adapter |
It's a big bugger!
Housed in one of the infamous 'cheese slice' boxes, this thing is half the width of a BBC
Micro, and the same height/depth!
Indeed, it is the same casing used for the various co-processors (including the rare ARM system,
how I'd like to get one of those!).
The adapter connects to the 1MHz bus of the BBC microcomputer and BBC Master devices (but not the
Master Compact as it has no 1MHz bus).
Using clever logic and paging, it is possible to address around 16K via the 1MHz bus, my EPROM
programmer does just this to allow 32K EPROMs to be programmed in one pass. This, sadly, suggests
to me that the teletext adapter may directly address the memory used to store teletext
pages; as surely if the 1MHz bus was only used as a way to implement an I²C bus, they
could have used the user port?
Internally, much of the board appears to be populated with logic chips. The two primary ICs are
the SAA 5030 (VIP) and the SAA 5020 (TIC).
There is a bit of a problem figuring out what IC does what (read the How
It Works for details), suffice to say that these ICs are concerned with extracting the
teletext data from the video input, and the timing of the decoder.
Taking the point of view of the signal, the aerial socket is connected to a tuner module. Like in those old VCRs, the tuning lock is provided externally via twiddly-bits. In this case, four BIG red twiddlies at the back of the adapter. Strangely, the left-most twiddly-bit is for "C4/S4C". This order would make sense if you have the unit facing away from you, but given the size of these twiddlies, there is no need for that. Just reach behind (remembering they are then backwards) and twiddle the twiddlies! (and now cue Frankie Howerd to say something...)
This IF signal is then decoded and converted into a composite video signal. Now here is a box that could easily have found space for a video signal amplifier and an audio amplifier. It could even have offered 'normal' sockets at the back instead of the 5-pin DIN used on the Ground Control receivers. But, alas, they didn't.
The composite video is fed into VIP (one of the main ICs). This analyses the video signal and extracts the 'lines' used for teletext. One row of video provides 45 bytes, which equals five bytes for addressing and forty bytes being a row of teletext data. Thus, it would appear, that it takes around 12 frames (quarter of a second) to transmit one page of teletext, however this is reduced slightly as blank lines are not transmitted.
The teletext data, when located, is processed and then written into memory. The BBC micro can read this memory and show the pages, or otherwise process the information retrieved.
Together, these parts effectively form half of a first generation teletext receiver. The only
things we are missing are the SAA 5050 TROM (there is one inside the BBC micro, used for MODE 7)
and the SAA 5040 TAC - and I strongly suspect, via the 1MHz bus, the BBC micro does the functions
that the TAC provides.
The first generation design, originally implemented by Mullard, is rather restricted in what it can
offer the end user - certainly the SAA 5050 provides a lower-resolution text output, and it
does not understand 'black' as a colour (which, strictly speaking, is correct, but it has been
supported by later hardware since 1984 so it isn't unexpected to find it used twenty years on!).
Perhaps the most severe limitation is the chip count. Okay, four chips might not seem so
much but remember you also need the RAM addressing logic and the design is wasteful of RAM as it
holds a page in a rather inefficient manner.
The later second generation design (used in the Ground Control receiver) makes better use of
memory, as well as talking to it directly - thus removing the interface logic. Also, the VIP2
deals specifically with the video side of things, and the SAA5240/SAA5243 deals specifically with
the entire teletext side of things, meaning the chip count is now three (including the
memory chip).
Later versions do exist, I should point out. The SAA 5246 combines the teletext receiver and the
VIP on the one IC; and I've no doubt designs exist for an entire teletext solution on one IC
(which includes ~8K of memory inside it as well).
It is perhaps rather ironic that the first generation receiver design was made in 1976, and
revised to be a second generation receiver (the simpler to use SAA 5240) in late '83 (my document
on using the SAA 5240 is dated 1984/01/01 - which is an unlikely date unless the author, J. R.
Kinghorn, didn't fancy celebrating the new year!). The power supply for the adapter is dated
1985/09/08, suggesting that the adapter was manufactured after the introduction of the second
generation receiver.
I say this, because replacing the VIP with the VIP2, and replacing much of everything else with
the EuroCCT, may have made a much more compact, and more resilient, system. Tant pis.
So it is back to the BBC micro. Now this is a simple logic fault. The EPROM was blown and
verified twice. The code is present. Now you hear stories of BBC micros hooked to robots
that juggle radioactive rods, and BBC micros that get stomped on by runaway AT-ATs, and still
survive to burrr-bip another day, so getting my little Beeb to recognise a ROM was not
going to be difficult.
Because I said so.
Using my multimeter on continuity beep, I discovered the top two pins on the right (that would be
pins 27 and 28) were connected to +5V. This was not so in the case of the OS ROM. So I carefully
prised the EPROM out of its socket and nudged the second-from-top leg (#27) so that it would not
connect when the EPROM was re-socketed.
And it still didn't work. I pressed Ctrl-Break and there it was. ATS with No unit.
I have to switch on the adapter, then the Beeb, then press Ctrl-Break to get it to notice the
ROM. I think the Ctrl-Break weirdness is because I haven't bothered to hold that ROM leg low, so
it 'floats' at the first start-up when the OS scans the ROMs. This does, however, suggest to me
that I could actually program two different teletext images into this EPROM, and use the state of
this unconnected pin to swap between them!
Setting it up was pretty simple on the software side. With everything connected and switched on,
I typed *TUNE
and the following appeared:
After a lot of fiddling with the tuning adjustments, I was happy to see...
You have to get the tuning pretty spot-on for it to work. Luckily, the tuning bar and the rolling header give instant feedback - although as you come close to an accurate tune, the cyan bar acts like it is keeping beat to some sort of insane rock music... (here, I would nominate the group "Die Ärzte", but I won't as I figure most of my readers won't have a clue who I'm referring to)
*TELETEXT
to go to teletext mode. Note that ATS 3 is
also a language, so if it is installed to the right of the BASIC ROM, it'll be entered at
start-up.
[added a week later: Damn! The guy only went and won, didn't he? Actually, things were a bit simpler for him as he only needed to pick a colour (red or black) and not an actual number, but I still reckon they should have given him a better win than just double. Still, he can't complain, he bet everything he had on a colour and walked away with nearly a quarter of a million dollars. Like I said, damn! ]
Now it is important to understand that this is not a fault of the adapter itself.
The SAA 5050 is built into the BBC micro, it provides the MODE 7. Unfortunately because of its
age, when looking at the teletext system as a whole, these things need to be taken into
consideration.
Things will be rosier for many of you reading this. BBC and the like won't be using international
option characters, and I don't expect BBC will be making much use of 'black' as a colour, just in
case it could cause a problem...
Having said all of this, we must give due credit for things working pretty well on a 21 year old
computer!
*TIME
or *DATE
, the response "No TSDP" is returned. I
know CNN's TSDP is broken, but I was unable to get a result from MTV (which is not broken), arte,
or RTL...
I have determined the key presses by playing with the software. If they are wrong, or some are missing, email me...
F0 Select page 100 F1 'Red' link F2 'Green' link F3 'Yellow' link F4 'Cyan' link F5 BBC telesoftware (no longer useful) F6 Hold F7 Hold (seems to duplicate F6!?) F8 For (long removed) alarm facilities? F9 QUIT TO COMMAND LINE Shift + F0 Tune Shift + F1 Select 'BBC1' channel Shift + F2 Select 'BBC2' channel Shift + F3 Select 'ITV' channel Shift + F4 Select 'C4/S4C' channel Shift + F5 IBM telesoftware (no longer useful) Shift + F6 Load page Shift + F7 Save page Shift + F8 (no function?) Shift + F9 (no function?) Return Statistics Copy Insert/remove page from buffer numbers 0-9 Select a page Delete Delete the last number enteredThere appears to be no 'Reveal', so try F6 and F7 on a page that needs something to be revealed.
The status display looks something like this:
Sadly, I do not expect it will ever be supported in the context of my !Teletext software, however if anybody has some code or circuit diagrams, I'll see what I can do. It may be possible to 'fake' the 1MHz bus somehow, maybe two buffers on the printer port? Who knows... One thing is for sure, it'll need an entirely different driver! :-)