Thames Television "Database", 1984
Mar. 15th, 2016 11:04 pmToday I decoded the secret competition questions from a 1984 Thames Television computer show. I still don't know the answers, but I'm probably a bit late to send in a postcard!
A friend pointed out this copy of Thames Television's 1984 Database programme, and wondered what the files transmitted over the closing credits are.
I took a look at the audio. All the signal is on the right channel, so I threw away the left. This is what the remaining channel looks like:

You can see that most of the signal is a lead tone, and there are two files each of four blocks. In fact the files have the same content, and they're both called THAMES.
Before I did any analysis on the waveform, though, I amplified it so that all peaks were at the same volume, on the grounds that the volume isn't significant. At first I tried to load these files into BeebEm. The trouble is that BeebEm doesn't take .wav files directly-- you have to convert them to a format called .uef-- and the conversion programs were reallyt finicky with noisy signals. And this signla is very noisy, having been transmitted over UHF, recorded on home video, and then digitised. In the end, I ended up writing my own demodulator based on the specs given here. Then I ran the file from the tape through Matt Godbolt's BBCBasicToText script, ,slightly modified not to give up around the occasional bit of noise.
Fortunately, the resulting file did not say "be sure to drink your Ovaltine".. BBCBasicToText doesn't implement target line number conversion, so those are missing, and as you see some noise remains. This has been an interesting diversion-- sort of like a cryptic crossword puzzle.
10MODE7:COLOUR129:CLS
20PRINT"Thames Television"
30 PRINT"-------------------"
40PRINT:PRINT:PRINT"DATABASE COMPETITION"
50 PRINT:PRINT:PRINT:PRINT"Send solutions on a postcard only to:"
60PRINT:PRINT" Database"
70PRINT" THAMES TV"
80PRINT" 149 TOTTENHAM COURT ROAD"
90PRINT" LONDON"
100PRINT" W1P 9LL"
109 PRINT:PRINT:FOR"PRNOTLN SPACE BAR TO CONTINUE"
110 A$=GET$:IFA$="" THEN 110
111 IFA$<>" "THEN 110
120 MODE5
130COLOUR129:CLS
140PRINT:PRINT;
150FORI=1TO8:READA$:IFI=1 THENGOTO [...line...] ELSE [...line...]
160 COLOUR4:GOTO180
170 IFI=5THENCOLOUR3ELSE COLOURI
180PRINTA$;:NEXT
190COLOUR3=PRINT" COMPETITION"
195PRINT"--------------------"
200 PRINT:PRINT:PRINT:PRINT:PRINT
210COLOUR2:PRINTSPC( [... corrupt ...]
220COLOUR2:PRINTSPC(8);"4";
230COLOUR3:PRINT" *"
240COLOUR3:PRINTSPC(8);"* *"
250COLOUR2::PRINTSPC(6);"1";:COLOUR3:PRINT"******"
260PRINTSPC(8);"* *"
270COLOUR2::PRINTSPC(6);"3";:COLOUR3:PRINT"******"
280PRINTSPC(8);"*"
290PRINT:PRINT:PRINT:COLOUR2:PRINT"1.";:COLOUR6:PRINT" Arresting pop group1
300 PRINT:COLOUR2:PRINT"2.";:COLOUR4:PRINT"_ to me only"
310PRINT:COLOUR2:PRINT"3.";:COLOUR4:PRINT" Four star transport"
320PRINT:COLOUR2:PRINT"4.";:COLOUR4:PRINT" Underwater computer language?"
325 GOTO [...line...]
330"DATA "D","A","T","A","B","A","S","E"
One last mystery remains: what are the answers to the competition questions? (Edit: we have answers!)
A friend pointed out this copy of Thames Television's 1984 Database programme, and wondered what the files transmitted over the closing credits are.
I took a look at the audio. All the signal is on the right channel, so I threw away the left. This is what the remaining channel looks like:

You can see that most of the signal is a lead tone, and there are two files each of four blocks. In fact the files have the same content, and they're both called THAMES.
Before I did any analysis on the waveform, though, I amplified it so that all peaks were at the same volume, on the grounds that the volume isn't significant. At first I tried to load these files into BeebEm. The trouble is that BeebEm doesn't take .wav files directly-- you have to convert them to a format called .uef-- and the conversion programs were reallyt finicky with noisy signals. And this signla is very noisy, having been transmitted over UHF, recorded on home video, and then digitised. In the end, I ended up writing my own demodulator based on the specs given here. Then I ran the file from the tape through Matt Godbolt's BBCBasicToText script, ,slightly modified not to give up around the occasional bit of noise.
Fortunately, the resulting file did not say "be sure to drink your Ovaltine".. BBCBasicToText doesn't implement target line number conversion, so those are missing, and as you see some noise remains. This has been an interesting diversion-- sort of like a cryptic crossword puzzle.
10MODE7:COLOUR129:CLS
20PRINT"Thames Television"
30 PRINT"-------------------"
40PRINT:PRINT:PRINT"DATABASE COMPETITION"
50 PRINT:PRINT:PRINT:PRINT"Send solutions on a postcard only to:"
60PRINT:PRINT" Database"
70PRINT" THAMES TV"
80PRINT" 149 TOTTENHAM COURT ROAD"
90PRINT" LONDON"
100PRINT" W1P 9LL"
109 PRINT:PRINT:FOR"PRNOTLN SPACE BAR TO CONTINUE"
110 A$=GET$:IFA$="" THEN 110
111 IFA$<>" "THEN 110
120 MODE5
130COLOUR129:CLS
140PRINT:PRINT;
150FORI=1TO8:READA$:IFI=1 THENGOTO [...line...] ELSE [...line...]
160 COLOUR4:GOTO180
170 IFI=5THENCOLOUR3ELSE COLOURI
180PRINTA$;:NEXT
190COLOUR3=PRINT" COMPETITION"
195PRINT"--------------------"
200 PRINT:PRINT:PRINT:PRINT:PRINT
210COLOUR2:PRINTSPC( [... corrupt ...]
220COLOUR2:PRINTSPC(8);"4";
230COLOUR3:PRINT" *"
240COLOUR3:PRINTSPC(8);"* *"
250COLOUR2::PRINTSPC(6);"1";:COLOUR3:PRINT"******"
260PRINTSPC(8);"* *"
270COLOUR2::PRINTSPC(6);"3";:COLOUR3:PRINT"******"
280PRINTSPC(8);"*"
290PRINT:PRINT:PRINT:COLOUR2:PRINT"1.";:COLOUR6:PRINT" Arresting pop group1
300 PRINT:COLOUR2:PRINT"2.";:COLOUR4:PRINT"_ to me only"
310PRINT:COLOUR2:PRINT"3.";:COLOUR4:PRINT" Four star transport"
320PRINT:COLOUR2:PRINT"4.";:COLOUR4:PRINT" Underwater computer language?"
325 GOTO [...line...]
330"DATA "D","A","T","A","B","A","S","E"
One last mystery remains: what are the answers to the competition questions? (Edit: we have answers!)