The countdown title sequence for the Halas and Batchelor film What is a Computer? was produced by Stan Hayward and Tony Pritchett using the CALCOMP Plotter at the University of London Computer Centre.
The Fortran program worked out the transformations from one bank-cheque numeral to the next and plotted each frame in outline on the plotter. The plotter output was then traced on to cels and coloured in by hand.
The SLURP Card Deck was found in Tony Pritchett's tray of cards after he passed away. It defines the frames of the countdown that were plotted on the London University CALCOMP plotter.
The Halas and Batchelor film was released in 1970 so this computer animation was probably done in 1968 or 1969.
This is the Job Control Card for running the Fortran job on the London Atlas that generated the CALCOMP frames.
OUTPUT 0 LINEPRINTER 500 LINES
1 PLOTTER 17*556 DENSITY PERMIT
STORE 16/54
COMPUTING 4 MINUTES
USE FORTRAN
*RUN SOURCE MAP
BEGIN
INTEGER CHARR(27,12)
REAL IOX,IOY,ISC
C
READ 1, CHARR
1 FORMAT(6X,9I8)
C
CALL STFLM(160,1)
IOX=-32.0
IOY=-40.0
ZF=1.25
DZF=1.025
C
ISC=4.0
DO 2 NCA=1,9
NCB=0
CALL SLURP
ZF=ZF*DZF
CALL ADVAN
NCB=NCA+1
DO 2 F=.125,.8751,.125
CALL SLURP
ZF=ZF*DZF
2 CALL ADVAN
C
ISC=2.0
NCA=11
NCB=0
CALL SLURP
ZF=ZF*DZF
CALL ADVAN
NCB=12
DO 3 F=.125,.8751,.125
CALL SLURP
ZF=ZF*DZF
3 CALL ADVAN
C
NCA=12
NCB=0
DO 4 I=1,4
CALL SLURP
4 CALL ADVAN
C
CALL ENDFLM
STOP
C
SUBROUTINE SLURP
DO 4 K=1,27
C
MA=CHARR(K,NCA)
NAX=MA/1000
NAY=MA-NAX*1000
IF(NAX.GE.1000) NAX=NAX-1000
IF(NCB.GT.0) GO TO 5
NX=(IOX+NAX*ISC)*ZF+512
NY=(IOY+NAY*ISC)*ZF+512
GO TO 1
C
5 MB=CHARR(K,NCB)
NBX=MB/1000
NBY=MB-NBX*1000
IF(NBX.GE.1000) NBX=NBX-1000
NX=((NAX+F*(NBX-NAX))*ISC+IOX)*ZF+512
NY=((NAY+F*(NBY-NAY))*ISC+IOY)*ZF+512
IF(MB.LT.1000000) GO TO 2
C
1 IF(MA.GE.1000000) GO TO 3
2 IF(NX=LX.AND.NY=LY GO TO 4
CALL VECTOR(LX,LY,NX,NY)
C
3 LX=NX
LY=NY
4 CONTINUE
C
RETURN
END
C
END
C
*ENTER
01 1000002 016002 016002 016002 016002 016002 016002 016002 016002
02 016018 016018 000018 000011 1008011 1008018 1008018 1008011 1008011
03 1000011 000011 1008009 1008009 1008004 1008004 1008009 1000011 000002
91 1001000 015000 015000 015000 015000 015000 015010 015010 015010
92 015010 015020 011020 011011 1013011 1013019 1013019 1013011 1013011
93 1011011 001011 1003009 013009 013002 003002 003009 1001011 001000
81 1002000 014000 014000 014000 014000 014000 014010 016011 016011
82 016011 016020 000020 000011 1004011 004018 012018 012011 004011
83 1000011 002010 1004009 012009 012002 004002 004009 1002010 002000
71 1002000 014000 014000 014000 014000 014000 014009 009011 009011
72 009011 009020 007020 007010 1008011 1008018 1008012 1008011 1008011
73 1007010 007010 007010 012008 012002 004002 004006 002008 002000
61 1001000 010000 010004 008004 008002 004002 004011 015011 015011
62 015011 015020 001020 001013 1004013 004018 013018 013013 004013
63 1001013 001013 001013 001013 001002 001002 001002 001002 001000
51 1002000 014000 014002 012002 012002 005002 005009 011009 011009
52 014009 014020 002020 002018 004018 004018 011018 011011 005011
53 002011 002011 002011 002011 002002 002002 002002 002002 002000
41 1002000 006000 006002 006002 006002 006002 006013 011013 011009
42 015009 015020 011020 011018 011018 011018 011018 011015 002015
43 002013 002013 002013 002013 002002 002002 002002 002002 002000
31 1002000 013000 013000 013000 013000 013000 013010 015011 015011
32 015011 015020 002020 002018 011018 011011 011011 011011 002011
33 002009 011009 011009 011009 011002 011002 011002 002002 002000
21 1002000 014000 014000 014000 014000 014000 014011 005011 005018
22 014018 014020 002020 002018 002018 002011 002011 002011 002011
23 002009 011009 011009 011009 011002 011002 011002 002002 002000
11 1004000 008000 008000 008000 008000 008000 008012 012012 012018
12 012018 012020 004020 004020 004020 004012 004012 004012 004012
13 004012 006012 006012 006012 006003 006003 006003 004003 004000
1.1 1008000 016000 016018 016022 016024 016024 016024 016024 016024
1.2 1016024 024024 024040 008040 008024 012024 012024 012024 1016024
1.3 1016024 1012024 012020 012016 012006 012006 012006 008006 008000
$1 1003000 029000 029018 018022 018030 018030 018030 018030 018030
$2 1019034 019034 019040 013040 013034 019034 019034 019034 019034
$3 1018030 014030 014020 025016 025004 007004 007016 003016 003000
(7/8 TERMINATOR JOB CARD)
Decoding the numbers, each define an X-value (3 digits) followed by a Y-value (3 digits), sometimes preceded by a single control digit 1. This indicates the start of a section of lines to be drawn.
Plotting the line segments starting a new segment each time there is a 1 gives the following:
Although it appears straightforward the need for 27 coordinates per character is less clear as none have more than 17 points. The 27 points are needed to morph one character into the next. The storyboard is straightforward:
0 9 8 7 6 5 4 3 2 1 1
The main action of the program is the countdown. Starting at the first square figure:
Displaying the individual frames in the main sequence is shown below (click the green arrow):
It is difficult to see the individual frames during the animation. The diagram below shows the midway frames between each character. Just for fun we have also produced a similar countdown using SVG and animating the same set of lines between each of the frames.