During the period of development of
This Section will outline its evolution in the context of the ICT/ICL 1900 Range
The following is the relevant extract from the “FP6000- Report on Visit to Ferranti-Packard” in April 1963, detailing present or planned software while recommending the adoption of the FP6000 as the Ferranti 1900 (To be noted that Executive was considered an item of software in Ferranti-Packard, while it became part of each “processor” development in the ICT 1900 Range and, together with Test Programs and Diagnostics, was no longer listed by ICT in the general software lists):
“7.
Programming
7.1 General
Software
The
software which either exists or to which Ferranti-Packard are committed is as
follows;-
(1) Executive
This
is the F-P name for what we would call the supervisor. It is written in modular
form and provision will be made for controlling up to 20 peripheral equipments.
In addition it deals with extracodes and timesharing activities. For any
particular system only those parts of the executive which are required will be
supplied. The version for the paper tape system is virtually ready. The
dead-line is 25th April when it is needed for the N.R.E. machine (the P.R.B
machine is a special case and does not require executive). This version will
occupy 960 words.
The
typewriter is used for communication between executive and the operator and a
set of stereotyped messages exists (e.g. SUSPEND, GO, ALTER, REVISE PRIORITY).
(2) Debug
This is a program that may be regarded as an
extension to executive. It assits in the development of programs and can be
'steered' to permit, for example,
'Single-shot’ working with print out,
Monitoring at prescribed points in a
program, or
Monitoring at successful jump instructions
This program has been flow-charted and
partially written and is required by the end of April by the N.R.E.
(3) Assembler
This
is a simple input scheme for machine language programs. It was referred to as
'a poor man's Pegasus, Initial Orders with some extra features'. It is a 'load
and go' assembler with a 1-1 transformation from the written form of
instructions to the machine representation. Names(of up to k characters) are allowed for
symbolic addresses and provided that all symbols are pre-defined, simple arithmetic
can be done on them.
The
assembler enables library routines to be incorporated into a program by means
of the directive "Library" followed by the names of the routines
required. Other directives specify the amount of storage required by the
program, the peripherals required and can allocate the priorities between the
main program and up to 2 sub-programs which can time- share with the main
program.
This
assembler appears to provide an adequate input scheme for machine language
programs. It has been checked out and is used at present as the standard way of
taking in programs that are being developed.
(4) Fortran Compiler
A
Fortran compiler, modelled on the 1620 Fortran but being made compatible with
Atlas Fortran, is being written for the N.R.E. It is scheduled for completion
by October, 1963. This date may be a little optimistic but the commitment to
the N.R.E. should ensure that it is completed.
(5) FP6000 Autocoder
This
is a more sophisticated input than the assembler. It handles mnemonic forms for
the functions in machine language and has no restrictions on symbolic
addresses. It also enables macro-instructions to be assembled. Further features
which are planned include the ability to translate simple logical and
arithmetic statements.
No
precise specification of this language exists and its status will be affected
by any decisions regarding the implementation of COBOL. It would appear that
F-P have in mind a language which should be relatively easy to implement and
which would make a useful alternative to a much more expensive COBOL or NEBULA
compiler.
No
firm dates were mentioned for completion of this project.
(6) Library
At
present the library consists of routines concerned with the input and output of
numbers, fixed to floating conversions, floating point operations, the usual
mathematical functions and certain double-length routines. In all some 40
routines have been written and are being tested. The library list is appended.
(7) Diagnostics
This
is the F-P word for engineers test programs. These have been written for the
paper tape system and cover
Core
store tests
Individual
function tests
Paper
tape reader tests
Paper
tape punch tests
Typewriter
input and output tests
Further
tests will be written to cover other parts of the system as later orders make
them necessary.
No
attempts have been made to write diagnostic tests in the sense that they are
used at West Gorton.
(8) Matrix Interpretive Scheme
It
is intended to write a matrix interpretive scheme based on the Deuce scheme
rather than the Pegasus one. The main difference is that storage can be freed
when no longer required by the scheme.
Little
work has been done on this scheme to date.
(9)
ALGOL compiler
It
is believed that an ALGOL compiler will be written in collaboration with the
Saskatchewan Power Corporation. It is expected that the Corporation will supply
a programmer who has previously written an ALGOL compiler for another machine
to work in