46

In the 1980s, the popular BBC science fiction series Doctor Who used some real computer system(s) to display impressive (for the time, OK, maybe not!) graphics. They actually ran the software real-time and simply filmed the output on the screen.

Most of the time they filmed the screen while the program was already running, but on a couple of occasions they showed the source code briefly before the program was run, presumably because it made the story look more science-fictiony!

Source code

Police spaceship tracking software

TA&7A
  360.AP:LDX&78:LDY#0:.AD:LDAM%,X:STA(&7
6),Y:CLC:TYA:ADC#8:TAY:DEX:BNEAD
  370CLC:LDA&76:ADC#1:STA&76:LDA&77;ADC#
0:STA&77
  380DEC&7B:BNEAQ:CLC:LDA&74:ADC&82::STA
&74:STA&76:LDA&75:ADC&83:STA&75:STA&77:L
DA#8:STA&7B:.AQ:DEC&7A:BNEAP
  390CLC:LDA&72:ADC#1:STA&72:LDA&73:ADC#
0:STA&73
  400DEC&7F:BEQAZ:JMPAA:.AZ:RTS:]:NEXT:E
NDPROC
  410DEF PROCtitle
  420REPEATUNTILINKEY(0)=32
  455Xsize=4:Ysize=4:YOUR$="_______":PRI
NTTAB(6,7);:PROCdisplay
  460Xsize=4:Ysize=4:YOUR$="X.V.773":PRI
NTTAB(6,6);:PROCdisplay
  461REPEATUNTILINKEY(0)=32
  465Xsize=2:Yzise=2:YOUR$="LAST LOCATIO
N: 27|43":PRINTTAB(0,14);"PROCdisplay
  466REPEATUNTILINKEY(0)=32
  467Xsize=2:Ysize=2:YOUR$="LAST CONTACT
 : 12-99":PRINTTAB(0,20);:PROCdisplay
  470REPEATUNTILINKEY(0)=32
  475Xsize=2:Ysize=2:YOUR$="____________
______":PRINTTAB(2,29);:PROCdisplay
  480Xsize=2:Ysize=2:YOUR$="BELIEVED DES
TROYED":PRINTTAB(2,28);:PROCdisplay
  520FORW=0TO 4E3:NEXT:
  610ENDPROC
>RUN

Output

Program after finishing

Amusingly, the command prompt is visible at the end of the final underline!

Stories that feature running software on '80s computers (probably an incomplete list):

  • 1982 - Castrovalva (filmed late 1981)
  • 1983 - The Five Doctors
  • 1984 - The Twin Dilemma (pictured above)
  • 1985 - Attack of the Cybermen (filmed late 1984)

Although the computers used were not necessarily the same, I would be interested in knowing what system is pictured below. It's using some combination of BASIC and assembly language that I don't recognise.

Things I have been able to work out:

  • The screen is 40 characters by 32 characters.
  • Lines 350-400 (and probably earlier) contain assembly language
    • It appears that the assembly is embedded into the BASIC program and wrapped in [ and ] characters, but it's hard to tell from a single screenshot
  • Lines 410-610 contain a full procedure, which is the "controller" of the code (in MVC terminology)
  • The underline is printed before and one line below the actual text, presumably to prevent the text from being deleted by the blank space above the underline characters!
  • Xsize and Ysize are how much to stretch the text in in each direction and YOUR$ (pronounced "your string") contains the text to display
    • PROCdisplay is a procedure that displays your string at the current location with x size and y size
  • PRINTTAB (probably just PRINT TAB with an optional space removed and not a separate command) places the text cursor at the position specified on the screen
  • The coordinate system starts at the bottom left, and works upwards and to the right
    • This means you can PRINT "Hello " normally, then immediately PROCdisplay "Fred" at twice the size without having to reposition the text cursor
  • REPEATUNTILINKEY(0)=32 (REPEAT UNTIL INKEY(0) = 32) polls the keyboard until the [Space] is pressed, at which point the return value of INKEY(0) is ASCII 32 for space
    • The way INKEY(0) works is exactly the same as Locomotive BASIC on the Amstrad CPC series but the rest of the grammar is incompatible
  • Integers, and possibly floating point numbers, may be typed in scientific notation. On line 520 4E3 is 4000 for a saving of one character!

What is this computer, and what BASIC and assembly language is it? All transcription errors are my own!

5
  • 2
    The style on the source-code screen looks reminiscent of the apple ][, but that's totally a guess. They were available from 1977 so its plausible. However being an american device would not have been as common in the UK as the BBC.
    – Criggie
    Commented Mar 4, 2017 at 7:12
  • 2
    I recognized the assembler as 6502, but not which variant of BASIC.
    – smci
    Commented Mar 4, 2017 at 11:40
  • Clearly some kind of tokenized BASIC, like the Sinclair ZX-80 or something. The line numbers are the first clue.
    – SDsolar
    Commented Mar 7, 2017 at 21:08
  • 3
    You usually take it as read that any computer display in any BBC production, fictional or otherwise, from 1981 up until the early 1990s was a BBC Micro, since they were responsible for its development.
    – Alan B
    Commented Feb 3, 2020 at 16:29
  • Interestingly, Castrovalva production was apparently complete on 1 October 1981, a full 2 months before the official release of the BBC Micro, so the machine used there must have been a pre-production prototype.
    – occipita
    Commented May 6, 2020 at 13:45

2 Answers 2

82

This is an example of BBC BASIC with inline (6502) assembler code. The computer in use would have been a BBC Microcomputer, manufactured by Acorn Computers Ltd.

The display was probably a studio monitor of some sort. These could be driven directly using either the RGB output or the composite video output of the microcomputer. It is likely that the actual BBC Micro was not shown in the programmes but, nevertheless, this is what would have been used for generating the display signal.

BBC technicians had a lot of influence on the specification of the BBC Micro, since they wanted to make use of the machines in their studios and labs. The machine wasn't just designed for schools and colleges.

It is likely that the BBC Micro would have had a Genlock board fitted to prevent strobing when the monitor was filmed by a television camera.

Both the BBC Micro and BBC Basic were designed by Sophie Wilson.

17
  • 8
    The fact that procedures are named (DEF PROC title, etc) is a big giveaway. On most microcomputer BASICs of that era they were called by giving the first line number (i.e. GOSUB 410, not PROC title). (Of course the line number method was more flexible, because you could "call a procedure" starting anywhere, not just at the beginning!)
    – alephzero
    Commented Mar 4, 2017 at 12:39
  • 6
    @alephzero - spaghetti Basic! That brings back memories! (****shudder!****) Commented Mar 4, 2017 at 13:18
  • 9
    @Joe The BBC Micro was a fantastic computer, much better than most of its similar contemporaries IMHO. Of course it was also quite a bit more expensive than some of them ;)
    – Muzer
    Commented Mar 8, 2017 at 15:12
  • 7
    I used to work with a chap who went by the name of "Bruce" (he was Australian), whose actual name I cannot recall now, who wrote that code! We worked at Cardiff Microcomputers together, in South Glamorgan, and he sold me his Acorn Atom in the early 1980's because he wanted to buy a BBC Micro.
    – Justin
    Commented Aug 10, 2017 at 1:35
  • 5
    @RossRidge I'm sorry, that's incorrect. As far as I know, all studio "filming" was done on video, with only the exterior shots being done on film cameras. There's even a big deal made of certain Doctor Who stories being filmed entirely on film (therefore also entirely on location), such as one starring Jon Pertwee in the '70s. Even the '60s stories were videoed, and you can recognise which camera was in use for each shot by a unique pattern of interference on the picture!
    – CJ Dennis
    Commented Jan 1, 2018 at 5:32
3

There is some information what the BBC did at that time with BBC Micros in the archive of the Computer Literacy Project.

Subtitling, there they show a glimpse of a BBC Micro with a board to sync it with the equipment in the studio: https://clp.bbcrewind.co.uk/20508b5e272e398cf9579181e594e8e2

You can have a look at their programs running and even their source code: https://clp.bbcrewind.co.uk/jsbeeb/index.html?disc1=CLP0038.ssd&loadBasic=%2Fbeeb%2Floader%2F20508b5e-272e-398c-f957-9181e594e8e2&autorun=1&model=Master

Or the end titles of Making Most of the Micros: https://clp.bbcrewind.co.uk/jsbeeb/index.html?disc1=CLP0038.ssd&loadBasic=%2Fbeeb%2Floader%2F3e5b356d-cf22-09bd-ba89-0ec4287f32dd&autorun=1&model=Master

1
  • 3
    It's better if you include the relevant bits from the pages, as links tend to disappear over time.
    – Tomas By
    Commented May 4, 2020 at 8:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .