English Electric KDF8

By producing a software-compatible system, the intention was to reduce time and cost to develop software.

Firstly, English Electric built a version of the RCA 501 computer which was known as the KDP10 (KDP for Kidsgrove Data Processing).

RCA's original design was adapted to use the types of transistors, diodes and other components manufactured in the UK.

One KDF8 was installed at the Kidsgrove (Staffordshire) site of The English Electric Company's computer bureau.

Over the years, and a succession of mergers, this organisation became English Electric Leo Marconi (EELM), International Computing Services Limited (ICSL), and finally under a joint arrangement between ICL and Barclay's Bank, Baric.

Given the minimal core memory available, programmers frequently used "spare" characters in instructions for storage of constants and similar storage-saving tricks.

A system of hardware "gates" set and checked at machine code level were used to control the degree of synchronous operation.

The KDP10 in the service bureau was updated in situ, as the system was built with RCA germanium transistors.

were common, especially for applications like payroll, and small paper-tape control loops were needed to match page-throw size to each paper type.

Some aspects of the instruction set were advanced, and greatly eased programming of commercial systems.

A "Sector Compare" instruction (Octal 43) permitted three-way conditional branching of program control depending on whether the data stored in the range from the "A" address to the "B" address was greater, less than, or equal to, the value of the same number of characters stored at locations to the left of the (previously set) "T" register, as the following Assembler language version attempts to demonstrate.

This example compares a salary with a tax limit, and jumps to one of three program locations depending on the respective values.

KDP8 was enhanced to compare from left to right, so the comparison could stop as soon as the relative values were clear, speeding up processing of such instructions considerably.

Operators were also responsible for manually clearing memory and re-setting the computer between programs, mounting and changing tapes, controlling off-line printing and the like.

To optimize throughput of production programs, standard packages of software were produced by bureau programmers for payroll, sales and purchase ledgers, share registration, stock control and the like, and some applications – such as payroll – supported the processing of data from many bureau customers in one computer run, with individual parameter settings managing individual customer's requirements.

Programmers (or for operational suites Production Control staff) gave the operator written instructions on which program tape and data tapes to load, on which devices, and a written summary of how to load and initiate each program.

The display section was made up of indicators which when illuminated showed, in binary (grouped as octal) characters, the machine's current running (or static) status at the individual machine core address and register level, for the compute, read and write operations then in progress.

The control panel section consisted of press-buttons to select the next register to be set and a central part that mirrored the lay-out of a single machine core address.

Use of these buttons enabled the operator to select and then directly input to the machine's core storage locations and registers the octal pattern he/she keyed in manually.