KDF9 Software resurrection
The surviving KDF9 software is mainly language implementations and Directors (kernel operating systems).
All survived in the form of lineprinter listings, and have been recovered as files
by a mixture of copy-typing, OCR and proof reading.
Paper copies of original documentation are in possession of David Holdsworth, and significant parts have been scanned.
Additionally we have made an accurate listing of the
KDF9 instruction code,
culled from vaious sources, and confirmed as accurate by use of the genuine Usercode Compiler.
KDF9 Programming Manual.
This was originally produced by B Foley of the Computer Society at N.U.I. Galway,
who has given permission for its use here.
It was originally located here.
- Service Routine Library Manual.
Many scans are available on-line.
- Algol Users Manual.
Some scans are available on-line.
- Support documentation for KDF9 directors scanned from 1965 originals
- Technical documents.
This is a list of technical documents for the KDF9 which were typically not released to users.
Currently we only have paper copies, but digitisation is under very active consideration.
- EGDON3 Manual. This is the only EGDON relic that we have so far encountered.
Some scans are avaiolable on-line.
KDF9 Languages − May 2019
In recent years we have been active
in rescuing KDF9 programming languages, especially in rescuing a listing of the Kidsgrove Algol Compiler which was
not quite complete.
This page gives access to the results of this effort.
There are facilities for execution of four different language implementations,
and for browsing the original source text as it would have looked in its heyday.
KDF9 Operating Systems − October 2019
There were two main strands of operating system development for KDF9.
English Electric produced the Time-Sharing Director, which was further developed
at the universities of Leeds and Oxford and at the National Physical Laboratory.
This system allowed multi-programming of up to 4 programs.
The UKAEA developed the EGDON system in collaboration with English Electric.
This ran a single job stream with input and output spooled
via magnetic tape, rather akin to the IBM 7090.
None of the software for the EGDON system has survived.
Developments on both systems introduced multi-access giving on-line facilities to around 30 teletype terminals.
KDF9 Raw Material
A collection of material relating to KDF9 especially stuff with a software aspect.
This has been collected up by Brian Wichmann, David Holdsworth, Bill Findlay and others.
Some of the material that it describes is being actively worked upon, so some of the content is quite volatile.
We have the following raw material − and in some cases scanned copies:
Programming Language Implementations
The KDF9 Languages page
gives an overview of the systems and includes links to facilities for executing each
or them in emulation.
At the foot of the page are links to assembler listings of the source code,
which then include links to the scans of the original pages.
- A listing of Whetstone Algol
- A listing of the KAL4 assembler
- A listing of Kidsgrove Algol compiler
The scans can be seen
- A listing of the Paper Tape Uercode Compiler
- KDF9 director as used at NPL, and as reconstituted by Hans Pufal, with later editing by David Holdsworth.
This began life as an English Electric time-sharing director and was then extensively modified at Leeds University
by David Holdsworth and further modified at NPL (National Physical Laboratory) by Tony Hillman.
The highest priority program run under this director was usually the Eldon2 terminal system,
which occupied 2048 48-bit words and provided interactive editing and a foreground job queue.
Unfortunately, listings of this system have been lost inside Leeds University Library.
- KDF9 director exactly as reconstituted by Hans Pufal
- image of paper tape for loading English Electric’s time-sharing director KKT40E007UPU
This is a binary image that you can download. It has one byte for each 8-bit character on the tape.
KDF9’s rather quirky paper usage can be handled by this program ptconv.c.
The command to interpret the tape as text is ptconv k dirtape.bin dirtape.txt.
If you do this you clearly see the director A-block immediately following the KDF9 bootstrap loader.
- Annotated listing of Drum Director KKT40E.
- KDF9 initial orders
- The Time-Sharing Director from Oxford University.
For someone new to the KDF9 story, it may help to know that
there were several versions of director under the main banners:
1. non-time-sharing director
just ran one object program at a time
2. time-sharing director
a) English Electric’s official director
b) as 2a plus enhancements at Oxford
c) Eldon2 at Leeds with many enhancements and rewritten sections (guilty as charged)
d) Eldon2 at NPL (National Physical Laboratory), very like 2c, but with a few extras.
The Eldon2 director had a symbiotic relationship with the Eldon2 multi-access system
which ran as a user program with special priviledges, and also with JobOrganiser which
also ran as a user program with different priviledges.
A completely different director making the KDF9 look a lot like an IBM 7090
Our software relics are all in category 2. We have a binary paper tape of 2a, a lineprinter listing of 2b (in my
possession), and an imperfect copy typing of 2d, coupled with my own memories of 2c. There was
ample cross-fertilisation between 2b, 2c and 2d.
We have had considerable success in actually running much of the software listed above,
especially the programming languages (see below).
KDF9 character codes
The character codes used on KDF9 were somewhat device dependent.
They are covered in this web page, towards the end.
The section on programming languages includes advice for typing Algol programs in ASCII (or in ISO-Latin1),
and then converting them to paper tape code for input to Whetstone Algol and also converting
them to HTML so that the appearance with a web browser is extremely close to that of a KDF9 Flexowriter.
In order to execute KDF9 software we need an assembler (see below) to convert the source code to binary,
and an emulator that will actually execute the KDF9 binary code.
A very thorough emulation of KDF9 has been written in Ada2005 by Bill Findlay.
Information on downloading the system can be seen here.
The emulator is released in source form, and also as a pre-compiled binaries for the MacOSX system (both PowerPC and Intel),
GNU/Linux and Windows.
More of Bill’s KDF9 material can be seen here.
There is a cruder emulator written by DH, which can be found here: kdf9.c.
This emulator is a single program written in C, and is readily compiled for many platforms, and
makes very few assumptions about the target machine.
Integers need to be at least 32 bits.
Documentation is in the form of a comment at the head of the source code.
KDF9 assembler Usercode
All of our surviving source code is written KDF9 Usercode, with the sole exception of the KAL4 assembler (see below).
English Electric's Usercode assembler (which their documentation calls the Usercode Compiler)
only came to light in 2016.
In order to resurrect the surviving KDF9 software written in Usercode (of which Whetstone Algol was the first), we implemented
a new Usercode assembler.
This available for download.
You need the following source files:
If you do not possess yacc or bison, you can get the two files that are generated from kal3.y here
The command to compile the assembler is: gcc -o kal3 kal3.c y.tab.c
KDF9 Usercode in ASCII lists synonyms that this assembler will recognise for
Flexowriter characters that do not exist in ASCII.
The original assembler (KAA01PT) survived as a listiing in the Science Museum archive,
and is clearly not the final version as it has a bug which the released system
definitely did not have.
We have original manufacturer’s manual pages.
This software is the paper tape version, and has size limitations.
There was another Usercode assembler (KAB84) which ran in the magnetic tape filing system
Although it formed part of the Kidsgrove Algol system it has not survived (see below).
The KDF9 languages page includes links to the facility for running KDF9 Usercode programs.
Both the original English Electric KAA01 and our own new implementation are available.
We have a preservation of Whetstone Algol.
The implementation issued by English Electric to Newcastle University has been copy-typed from a mature listing,
and has successfully run Algol60 benchmarks using the Findlay emulator.
Details and downloadable software are here.
The KDF9 Languages page
includes a link to the on-line facility,
and listings of the two surviving modules of the system.
Here is documentation on KALGOL, collected and assembled by Brian Wichmann.
The KDF9 Languages page
includes a link to the on-line facility,
and listings of all the surviving “bricks” of the system.
There are also listings of the newly written modules, which have
been written in KAL4 which quickly distinguishes them for the Elglish Electric original code.
This assembly language developed and used extensively at Leeds University, has been resurrected to run on the above emulation systems.
The assembler is written in KAL4 and can successfully assemble itself.
A more detailed web page is in the course of preparation.
The KDF9 Languages page
gives accerss to the facility for running KAL4 programs on-line.
Atlas Autocode / Compiler-Compiler
Atlas autocode (AA) was ported onto KDF9 by people at Edinburgh University,
and then extended to become their IMP language, which was eventually
used as the implementation language for EMAS.
It would appear that this is an implementation of the Brooker-Morris Compiler-Compiler
for the KDF9.
It needs much more investigation before we have a proper understanding of this.
This web page give some ideas on further steps, and links to the original material in Edinburgh.
It may help to know what is my personal experience with KDF9.
At Leeds University we ran our KDF9 under Eldon2, which was developed in house.
I was basically the architect of this system, and did a share of the coding.
I made extensive modification to the time-sharing director to make the Eldon2 director,
and wrote the multiprogramming kernel of the multi-access system which ran as a level 0
NPL also took up Eldon2 and made a few more enhancements to the system.
It is their director that is on this website (see above).
Eldon2 is described in Computer Journal Vol14 No1.
The Eldon2 operating system for KDF9 PDF copied from Computer Journal with permission.
The Eldon2 operating system for KDF9 HTML generated by a mix of OCR and manual editing.
There is a recently written article on Eldon2 here.
Here are some notes takes from my memories (which I feel are quite accurate).
I will keep adding material as it occurs to me.
After I made the offer to do this, I was strongly encouraged by Bill Findlay and Brian Wichmann.
The present info is only a start.
Here are some software tools for analysing Usercode.
Here is stuff from Brian Wichmann.
Here is stuff from Bill Findlay.
Postscript: KDF10 a pipe dream.