The possibility of doing program development on the PDP15 for the FR8O has been considered.
Superficially, it should be straightforward.
The order codes of the two computers are similar.
The assemblers for the two machines are similar. However, a closer study shows:
The III15 assembler is much closer to the PDP7 than the PDP15.
The syntax for the assembler has a number of syntactic items
(comma after label, ==, extended memory reference) considerably
different on the III5.
A number of the III15 pseudo-operations are difficult to implement on the PDP15. For example:
.TEXT .INSERT .ERROR .NAME .MACRO .IFV
III15 does not allow sub-compilation.
The discs on the III5 and PDP15 are different.
Magnetic tapes are similar.
Assembler mnemonics are different on the two computers.
Instruction sets are different.
For these reasons, developing code on the PDP15 is not simple and there
are a number of different ways of attempting it:
Complete simulator for III15 and PLS on the PDP15.
Develop MACR015 code and transfer it by some form of conversion
to the FR80. This would require the complete set of FR80 subroutines to be recoded on the PDP15.
The transfer can be done at the source level.
Various alternatives of (b) exist. Conversion could be from PDP15
relocateable assembler code to absolute binary III15. Absolute PDP15 code could be translated to absolute III15 code.
Obtain FR80 assembler for a PDP15 from III and run it on the PDP15.
This would mean stand-alone use of the PDP15 and a certain amount of modification
to the assembler to change the IOTs for disc and PLS.
Modify DEC assembler to compile III15 assembler code. This is probably a large amount of work.
This does not exhaust the set of possibilities. None of them are simple
and it is difficult to estimate how many of the III15 standard library routines
need to be moved to the PDP15.
It is clear that the amount of work involved, whichever method is chosen,
is sufficiently large that it cannot be done before 1 May. Therefore, this work
will be delayed until after a service has been started and a
clearer idea of the problem is available.
2. FR80 WORK REQUIRED BEFORE A SERVICE STARTS
The main pieces of work that are essential:
Definition of £ character in all fonts.
Producing characters larger than hardware size on the FR80. The
FR80 Displayer format can be modified to specify characters larger
than hardware size. The software can be modified to generate
characters by hardware if the defined size is less than the
hardware maximum and to switch to software characters otherwise.
The software characters will be produced by vectors using the
hardware character definition as a template.
Accounts program. Initially, this will be a pair of programs
called before and after each job. The aim will be to save the
time, camera and number of frames for each job. This will be
saved and output a page at a time on the teletype. Later this
could be output on a magnetic tape so that it could be read and
integrated with the statistics collection and accounting on the 1906A.
To accomplish (2), it will be essential to understand the FR80 Displayer
program sufficiently to patch a binary version.
Later, it will be necessary to decompile the program so that symbolic
changes can be made. On a longer timescale, it will probably be
necessary to redefine the FR80 Displayer completely so that it is
possible to output compact vectors.
Other work on a longer timescale is:
Leader frame generated by FR80. Even if the complete frame
cannot be produced initially, removing the definition of the fixed
part to the FR80 could be an advantage.
A utility to produce FR80 listings on the 1906A.
Modify the loader to allow fonts to be loaded separately from the main program.
An extension of (c) to sub-load more parts of the complete program.
Provide programs to decode special tape formats for particular purposes.
Provide standard background forms.
Add to the set of operator commands. In particular, a command is required to
change the vector drawing speed.
Speed up existing FR80 Displayer program.Is it possible to get
vector drawing faster?
3. PDP15
The major piece of work on the PDP15 is to provide.a VIEW program for
FR80 tapes. This work falls into two parts. Initially, BASICVIEW is required.
This can be a crude version of the final system with very
few frills. It is essential that this is available quickly and can decode
character and vector drawing commands.The final VIEW program should be
a refined version accepting the full tape code and providing a number of diagnostic aids.
The only other piece of work of high-priority is to produce a number of
utilities to aid in the decoding of binary and symbolic FR80 programs.
The following work is of lower priority:
Font definer for standard FR80 fonts.
Font definer for graphics art fonts.
This. will almost certainly involve producing large scale forms of the characters and reading
them using either the D-MAC or the microdensitometer.
Production of forms, slides or permanent pictures on the PDP15.
Graphic input and editing.
Microdensitometer viewing.
Satellite GINO-F.
SPROGS-PDP15 interface.
Synthesizer.
FOG documentation.
High-level utilities on top of PIGS for particular users.
BSI link to RSX.
RSX useable as defined by manufacturers.
Production of machine drawings and circuit layouts for local use.
Modifications to PIGS to allow upper 32K to be used.
Changes to DOS.
Modifications to graphics output routines so that VT15 and Tektronix can be interchanged.
4. 1906A
The major pieces of work to be finished before the service is started are:
SPROGS: add ID frame and define camera numbers for FR80. Document FR80 additions and changes.
GROATS: add ID frame and document additions and changes.
SPOOL: implement basic spool for both 7 and 9-track tapes with the possibility of delay.
The main utility required is Tektronix viewing of spooled data.
SMOG: produce system and manual.
modify large packages to run on the 1906A.
SCFOR: produce SMOG simulator and document changes from SD4020 system.
The work on changing packages will not be possible before a reasonably
full version of SMOG is available. Even then, there may be problems
with the systems using overlays. This work is not necessarily to be
done by the FR80 Project Branch. However, it is likely that some
assistance must be given to the authors. The major packages are XRAY,
ASCOP, COCOA, PAFEC, BOON, ATMOL and SPSS.
Future work on the 1906A may include:
Additions to SPROGS: Data mode input needs to be implemented. It
is likely that some shading routines of various types will be
required. These range from the simple two-dimensional cel shading
of ANTICS to the sophisticated transparent work of the CAD centre.
High-level routines are required for standard operations.
Contouring and 3--dimensional histograms are two examples.
Where possible, these should use only SMOG-like routines.
There are a great number of routines around doing approximately
the same job. Some kind of analysis of the routines available is required.
For example, some of the 3-D routines incorporate smoothing.
Others can be defined on non-linear meshes.
A sensible set of supported software needs to be defined.
The system itself may need to be split into overlays
that can easily be fitted into a host overlay package.
The current preprocessor needs to be extended and made more robust.
Facilities for defining picture types and operations upon pictures should be considered.
GINO-F: It is likely that an FR80 version needs to be implemented
once a suitable purchase price has been negotiated.
ORTEP: The XRAY overlay for drawing molecular structures could be extended
to allow colour output and produce films efficiently.
This involves the particularly simple 3-D hidden line elimination of removing the intersection
when two lines of different colours cross each other.
Implementation of CAMP/CAMPER
Fonts and text processing: COCOA requires high-quality fonts preferably drawn
using graphics art hardware simulation. How to define such fonts needs to be investigated.
It is important that some high quality text is produced this year.
Modifications to GEORGE: to allow LISTFILEs to be output automatically on microfiche.
SPOOL utilities.
SMOG facilities: for reading library information generated by other
packages.
Additional film software: and support for users generating films.
Further accounting utilities: and statistics production.
Text editing: and production.
FR80 utilities: symbolic listings, etc.
SPROGS primer.
It is likely that involvement with particular users may be quite high.
5. 360/ 195
The major pieces of work to be finished before the service is started are:
SMOG: produce a working system.
SPOOL: to be implemented using HASP internal writers by RL.
SCFOR: produce SMOG simulator using l906A version.
SPROGS: producing a working system from 1906A version and SMOG
interface to FR80.
POLYGRAPHICS: implement in terms of SMOG FR80 routines.
The first three items are nearly essential. Tne last two could be allowed to slip.
Future work on the 360/195 which is distinct from the 1906A should be kept
to a minimum. The aim must be to provide a compatible system on both machines.
High level utilities should be made available on both machines.
The main features of the FR80 are high quality output, grey levels, colour and fast text production.
These areas should be covered by comprehensive software on both machines.