Three programmes written between 1955 and 1957 are displayed here, together with running notes, tape printouts and specimen results. The first two programmes, in my handwriting, are complete, whereas the third one, written by Frank Sumner, is missing part of the listing (but can be reconstructed from the printout of the programme tape).

**The calculation of hybrid-orbital shapes**. Comprising a fully annotated__listing__(1.01 Mb) with running instructions for calculating the shapes of 3*spd*hybrid orbitals. Also a set of__notes__(232 Kb) including conversions of decimal numbers to 32-bit code:/E@A:SIU½DRJNFCKTZLWHYPQOBG"MXV£

and a pair of__output__plots (168 Kb) for hydrogen-like and Slater orbitals.**Calculation of Hückel bond orders and polarisabilites**. This is a complete programme that reads in a set of 22 Hückel eigenvalues and eigevectors for the molecule 1.2:8.9 dibenzacridine, prints out the corresponding bond orders and, optionally, the bond polarisabilities. No hard-copy output has survived, but a selection of the computed bond orders are given in R. Mason,, (292 Kb).*Nature*,**179**, 465-467 (1957)Given here is a fully annotated

__listing__(1.18 Mb), the complete programme tape__tape__(101 Kb), and a modern Fortran F77__programme__(83 Kb) which recreates the input data and goes on to regenerate the bond orders, showing them to be the same as given in Mason's 1957 paper.**Calculation of the secular matrix**. Originally, a set of 10 hydrogen-like functions was used to represent the L.C.A.O wave function, and the required double integrals were calculated symbolically as numerical integration over two variables was too slow and too inaccurate. This is described in B. F. Gray, H. O. Pritchard and F. H. Sumner,*(H - SE)*for the L.C.A.O description of the H_{2}^{+}molecule-ion__J. Chem. Soc.____, 2631-2635 (1956)__(475 Kb); subsequently, Epstein functions were used instead, H. O. Pritchard and F. H. Sumner,(685 Kb).*J. Phys. Chem.*,**65**, 641-645 (1961)The listing is incomplete, being essentially the slight changes required on going from hydrogen-like to Epstein functions, but the full listing can be reconstructed from the programme

__tapes__(1.23 Mb). Also given are handwritten__notes__(by all three authors) (5.23 Mb) giving the functions, fromulae and derivations, decimal to 32-bit conversions, and a specimen__output__page (224 Kb); the matrix elements*H*and*S*of the symmetric matrix*(H - SE)*are in the last two columns, and as the machine made an error in calculating the (6,6)-element, it is recalculated at the end of the page.This is the matrix used by Frank Sumner to develop the "one-level store" (virtual memory) concept, to optimise the number of drum transfers in completing the solution, T. Kilburn, D. B. G. Edwards, M. J. Lanigan, and F. H. Sumner, "One-Level Storage System",

*I.E.E. Trans. on Electronic Computers*,**EC-11**, 223-235 (1962). Since the electronic memory of the Mark I was too small to hold all the data, working pages needed to be shipped to drum storage and replaced by the page containing the next needed item of data. By using simple arbitrary schemes for swaps, e.g. random, or first-in first-out, this calculation took (if I remember correctly) about 680 drum transfers to complete; with Sumner's "supervisor" programme, it took 480, and the absolute minimum (calculated by Tony Brooker) was 440. A decade later, when IBM was marketing its new IBM 390 machine to us at York, it was claimed that its virtual memory implementation was 92% efficient; 440/480 ≡ 91.67%, and half the IBM visiting team were ex-Ferranti from West Gorton , Manchester!

Further information on working with the Ferranti Mark I can be found
__elsewhere__
on this site.

Also, in addition to the main
__Manchester Mark I
Computer__
historical site, there is a
__working
replica__
in Cologne, Germany, together with an authentic reproduction of a
Kilburn-Williams
__electronic storage tube__ containing powers of two and other
system information.