The Jim Austin Computer Collection
ICL System 25
The following has been provided by Brendon Murray about this machine, Feb 2008.
I came across your web site & I notice you have very little information on
the ICL System 25. I worked on the prototype of this machine, shortly before it
was released, verifying that the packages from its predecessor, the ICL System
Ten (acquired from Singer) would run correctly. This work was done in Feltham,
in 1980-81. I think it was released in early 1981, but it may have been late
1980. I moved to Denmark shortly after this project, to work for an ICL dealer,
Kontor Automation A/S (later became F.E.Bording A/S), where I looked after the
system side of the System 25, as well as any unusual projects. I actually still
have a "Programmers Reference Booklet" for the System 25 - I have toyed with the
idea of creating an emulator at different times, but always found something
useful to do with my time instead.
The machine's name is based on the instruction set. Originally it was called
System 29, but there were some issues with the microcode so four of the
instructions were dropped, and the resulting 25 became the name. Later they
resolved these issues and produced an "extended facility processor" for which
they got all 29 instructions working and even added a further six, a total of 35
instructions. I think they renamed this machine the "System 25 Plus".
Early models of the machine had front-loading plastic-encapsulated removable
hard disks. However there was a flaw in the design (which was later rectified)
where powering off the system caused a spiral write to be executed on the disk
drive, rendering the thing unreadable.
The System 25 was a decimal-based machine, where each instruction was 10 bytes,
aligned on a decimal boundary. Mathematical operations worked on decimal data
rather than their binary equivalents. Memory was partitioned, where a task would
typically use a partition (max size = 80KB, although 2KB was reserved for system
use), with up to twenty partitions in a system. Shared memory was in "Common",
which could be up to 320KB. Of course, the OS was loaded into Common, being
booted from partition zero by typing "0001" at the command line. The OS was
located in the lower 80KB of common - I can't remember how large it was - and
the rest of common was used to optimise the partition-based programs, where
common functions were loaded and called from the partitions. The character set
used was ASCII, i.e. ISO-646 with the usual national variants for Europe - I
don't ever remember an Asian or BiDi version being produced.
The OS was called DMF III (Disk Management Facility?) and used loadable modules
to access the disk called Logical Input-Output Control System (LIOCS). The
system commands typed at the screen were referred to as CSM (the M stood for
Manager, but I can't remember what the C and S were).
Programming the System 25, like its predecessor the System Ten, was pretty close
to the metal. While ICL did produce a COBOL compiler later, along with an
enormously complex framework called IAS, the System 25 remained popular because
of its simplicity. Any programmer worth his/her salt knew exactly what the
individual bits in each 10-byte instruction did, and could assemble an
instruction by hand (and often in his/her head). However, there was an assembler
program called ASMIII (assembler 3) and I vaguely remember an independent
assembler called ASMIV, but I think that sank without trace.
While ICL in the UK pushed this machine as a retail controller, it was actually
used in a very broad range of applications. Those I had direct contact with
were: