Jump Over Left Menu
R W Witty
All software for the FR80 is supplied in binary object program format only. Making changes requires decompilation of the binary program followed by break-out patches. The III software runs as stand-alone programs because the FR80 has no operating system or run time support package. Run time errors usually crash the machine. The primitive architecture of the III-15 CPU means that it cannot trap bad instructions or write-protect parts of store. There is neither software or hardware protection for the vulnerable analogue side of the FR80, particularly the CRT which is very expensive to replace.
All III software has been designed to run in an 8K machine and no disc. To squeeze it into such a small store, the software is coded entirely in Assembler. The software is poorly designed, badly coded and unreliable.
The number of lines of patched code exceeded the size of the code that it was patching. ACL put about 3 manyears of effort into patching III software before the decision was made to rewrite it completely.
III software is unreliable, difficult to maintain and impossible to develop. A replacement system, DRIVER, is being constructed by R W Witty. The advantages of DRIVER are:
- Good documentation
- Ease of maintenance
- Easy addition of new facilities
- Good base for new system programs (run time support)
- Improved error detection and recovery
- Automatic logging and monitoring of system performance
- Reduction of multiple Displayers to one DRIVER
- Improved performance and throughput
- Portability to other FR80 sites
- Compatibility with existing software
- Improved operator interface
- Protection of vulnerable hardware
To make DRIVLR reliable, maintainable and modifiable it is constructed in a structured high level language, DRIL, which is cross-compiled from the 1906A by a TREE-META compiler-compiler produced trsnslator. The advantages of such a high level language over Assembler are many. Cross-compilation means software development causes minimal interference to the FR80's production schedule as most of the work is done on the 1906A. DRIVER is designed and constructed according to the best principles of structured programming. Reliability is greatly increased by proving that DRIVER terminates for any input. Automatic documentation tools are currently being constructed. The DRIVER prototype first ran on 29 march 2976 and the first production version, Mk 1, is scheduled to go into service on 1 December 1976.
Mk 1 DRIVER will offer the following new facilities:
- Font changing
- Easier to use colour system
- Vector speed change
- Temporary pictures on disc
- Accurate clock
- Improved 'manyup'
- Special features for Data Compilation project
- Better operator interface
- Logging and accounting
- Hardware protection
- Multi-reel colour
DRIVER is designed to be a good base for future developments. These could include:
- Typesetting facilities
- Generalised scaling and rotation
- Improved re-run of sections of jobs
- Easier debugging via storage tube
- New Print Program
- Raster scan facilities
- Data compression on magnetic tape
- Colour washing and shading
Development of DRIVER has highlighted some of the problems in dealing with III. For example:
- queries about the operation of the hardware were either wrongly answered or not answered at all
- The Engineer's circuit diagrams and documentation are inadequate as is the software documentation.
- III documentation contains errors and omissions.
DRIVER timescales are:
- 1 April 1976: Prototype running OK
- 1 July 1976: End of prototype evaluation
- 1 September 1976: Automatic documentation working
- 14 September 1976: Mk1 design complete
- 1 December 1976: Mk1 enters service