Demo of KDF9 Usercode

There is a facility for running Usercode programs here. This is very new, and the web page needs improvement, but the Usercode Compiler works.

Demo of KAL4

There is a facility for running KAL4 programs here. It is planned to modify the way in which this works to make it more tolerant of various ways of representing Algol Basic Symbols.

Demos of KDF9 Algol

There is a demonstration of Paper Tape Whetstone Algol here.

You can type your own Algol 60 program into the text area provided, or create a file and upload it. You must have a first line which is the job name, so the simplest thing is to keep the top line of the example. Please do not try any lengthy computation. It is only a very tiny computer that runs this — as was KDF9 by today’s standards.
The resurrection of Kidsgrove Algol (Kalgol) is very much a work-in-progress, but progress has been significant.

There is a β-test version of a facility for running the Kidsgrove compiler here.
Note: The only I/O routines that work are open(20), close(20), open(30), close(30), writetext(30, ...), output(30, ...) and read(20).

You can download a demo of Kidsgrove Algol here which you can run on your own computer. All you need is a C compiler, and it has run on a whole varity of machines. There is a readme.htm file within the ZIP file.

Some components of the original system were missing from the listing, which somehow survived from its original printing in Australia to Bill Waite in Colorado, from where it was transferred over the net to a laptop in the Yorkshire Dales.

The main compiler only lacked brick 20, of which a hand-written version was discovered in the Science Museum. David Huxtable has turned this into an approximation to the original. In fact the whole thing is an approsimation, as it has become abundantly clear that what we have cannot possibly be the final released version, because we have found several bugs that we know to have been absent rom the production version. However, we can compile lots of Algol programs, especially if we avoid using the optimiser.

The surviving software lacked the underlying support system (PANACEA), and the Usercode compiler (brick 84). This is unfortunate as the output from the compiler is in Usercode. However, a listing of the Paper Tape Usercode Compiter (KAA01) was found in the science Museum. A new brick 84 (KAB84) converts the Algol Basic Symbols output by the compiler into paper tape code and feeds it to KAA01. A new PANACEA (KAB00) has also been implemented. Both KAB84 and KAB00 are written in the Leeds University assembly language KAL4.
There are listings of the original source files produced by modern assemblers. The left-hand side shows the machine code, and the source code is shown as it would have appeared on a KDF9 Flexowriter, and with hot links to subroutines.

KMW02 The Whetstone Algol translator
KMW03 The Whetstone Algol run time system

KAB01 Brick 01 Kalgol Set Up Declaration List etc.
KAB02 Brick 02 Kalgol Update Codes
KAB20 Brick 20 Kalgol Procedure Classificatio
KAB22 Brick 22 Kalgol Storage Allocation
KAB24 Brick 24 Kalgol Print Level Parameters
KAB40 Brick 40 Kalgol Brick 40 Interim
KAB41 Brick 41 For Statement + subscript optimization
KAB42 Brick 42 Kalgol Tidy Up after optimizer
KAB45 Brick 45 Kalgol For Statement Conversion
KAB46 Brick 46 Kalgol optimizing For stmt converter
KAB60 Brick 60 Kalgol Translator -- i.e. code generator
KAB95 Brick 95 Kalgol Terminating + Post Mortem Brick
KAB99 Brick 99 Kalgol Terminating Brick

All the above are from the Australian listing, except KAB20 which was missing from the original (see above);

Also missing was KAB84, the brick that translated the usercode generated by brick 60 into a binary program. We have been able to make a near equivalent from the Paper Tape Usercode Compiler (KAA01) which also survived in the Science Museum archives.

KAB84 Brick 84 − new code converting the Compiler otput to paper tape code
KAA01 Paper Tape Usercode Compiler

We are having trouble with the optimiser, and suspect that there is an undetected typo in brick 41. The listings were processed by a mixcture of OCR and human eyes.