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:
 

The machine itself was hugely flexible, including a very varied connectivity - this was very unusual at the time, where most small machines could only handle a very limited number of protocols and usually only had a single connection to the outside.