Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ OverviewNo.1No.2No.3No.4No.5No.8No.9No.11No.12No.13No.14No.15No.17No.19No.21No.22No.23No.24No.25No.26No.27No.28No.29No.30No.31No.32No.33No.37No.38No.39No.40No.41No.43No.44No.45No.46No.47No.48No.49No.50No.51No.52
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureProgress ReportsSPROGS Papers
ACLLiteratureProgress ReportsSPROGS Papers
ACL ACD C&A INF CCD CISD Archives
Further reading

Overview
No.1
No.2
No.3
No.4
No.5
No.8
No.9
No.11
No.12
No.13
No.14
No.15
No.17
No.19
No.21
No.22
No.23
No.24
No.25
No.26
No.27
No.28
No.29
No.30
No.31
No.32
No.33
No.37
No.38
No.39
No.40
No.41
No.43
No.44
No.45
No.46
No.47
No.48
No.49
No.50
No.51
No.52

SPROGS Paper No 48: Accessing the FR80 using SPROGS

R E Thomas

August 30 1974

It will be a simple matter to include the FR80 as just another device, but this will not allow access to a number of powerful features of the magnetic tape order code. This paper discusses some of the problems, with ideas for their solution.

A number of unknowns still face us. In particular, it is not clear how much of the order code is interpreted by software in the FR80, and which may therefore be slower than using the main machine to generate equivalent orders. It may also be possible to program the FR80 to acccpt other (as yet undefined) codes which will effectively fit the FR80 to SPROGS. This has the drawback of providing a non-standard FR80.

One possible example of the latter would be the inclusion of routines to handle the Region Chain in the FR80. This would avoid all the clip and convert problems, but would most likely be very slow with no floating-point hardware. Such a scheme would involve REGION, RGLIN, etc passing region parameters direct to the FR80, and TODXYF etc bypassing the region chain for this device.

The following features require special consideration:

Intensity
The FR80 allows a different intensity per colour. It would be possible to provide an array within SPROGS to accomplish this.
Colour
etails of the colour selection would have to be sent to the FR80.
Repeat
The FR80 Repeat order allows nested repetition of any sequence of orders. ADVRPT can be modified to make use of this order (rather than basic files), but this does not give the flexibility.
New display routines could be incorporated to call the Repeat order direct. These would be ignored by the other devices. Its use within a complex sequence list, however, might give odd results.

The following set can only be used successfully if no clipping or conversion is required. This implies detecting the current region as FR80 base region, with visibility inside and outside as 1.

Dotting
This order can replace the line splitting.
Thick
The vector family order could be used, with calculation of the outside lines of the cluster.

Dotting and Thick can also be handled by adding extra markers to the line segment queue, and performing the function at the base region level. This would make no allowance for accurate clipping on Thick, or on consistent dotting. Two possible methods are:

(1) Only use the marker for FR8O lines. If other devices are selected, the lines are split as normal. If the FR80 is selected (possibly as well as others), the line is added to the queue with a marker.

(2) A separate system is specified which requests low-level Thick and Dotted. If selected, all lines are marked, the details are passed to the handlers, who either select hardware or simulate with software.

ARC
This could be a display routine which passes direct to FR80, or calls VEC. It may be possible to pass arc orders at a lower level in the chain if a clip of a curved line is introduced.
Picture
If a picture file makes no use of index variables (and no clipping or conversion is required), it should be possible to output the whole file as a Picture, mark the fact in the file header, and, subsequently, each DRAW will output a Picture order. Basic files can be treated in the same way. Care must be taken on FIDF type, however.
Text
TEXT is not a display routine at the moment because of the problems associated with an unknown number of arguments, and the saving of text in a file. Outside a file, TEXT could call the various Text orders instead of DRAs. Alternatively, any file with a single character name (or NL, BS) can be treated as a character. DRAWing, such a file will send the character name to the FR80.
The handler can store these in a buffer and output them in the correct form.
TEXPAN can give size and spacing. However, there is no current mechanism for making use of proportional spacing, rotation, etc.
Character definition
A routine DEFNT (X) could generate a string of character definitions from all the files in store with single character names. Files will be interpreted in the condensed character code.
Vectors
The FR80 has a considerable wealth of different absolute, relative line drawing orders. It will thus be necessary to know what generated the order in the first place, so that the correct vector can be selected.
The orders also allow the FR80 'current position' to be left at either end of the vector. It would be possible to optimise on this, but this would entail waiting for the next line before outputting the current one.

The following flowcharts give the overall structure of display routines, line output to devices and DRAW. They are included to show how facilities are provided at the moment.

Fig 1: DISPLAY ROUTINES ENTER FILE DEF? No Yes PRIORITY? No Yes Save call in file Execute call EXIT
Fig 2: LINE OUTPUT ENTER SELECTED COLOUR? No Yes EXIT ROTATE EXPAND TEXPAN Split lines If dotted put on stack This is done as an internal subroutine call to the rest of the routine to save space Add lines if THICK to stack CLIP LINE on stack Base region for selected devices? Yes No Call Device Handler for LINE More devices? No Yes More lines in stack? yes No CONVERT line Select new region EXIT
Fig 3: DRAW ENTER FILE DEF? Yes No Plant in Sequence Set to head of first active item BASIC FILE? Yes No Save file position unless WHILE GET LINE update pointer Send to device if selected FILE DEF? No Yes A EXIT WHILE in /CAR? Yes OK Yes failed No B from Fig 4 Skip any BEGINs BEGINs ? Yes No Entry in file stack Reset WHILE pointer to re-read clear WHILE and allow for index variables FILE DEF? Yes No GREY LINE End of Sequence? Yes No EXIT End of file? No Yes EXIT Save line in file
Fig 4 (1): Action on ADVFLM Switch to next item in sequence if possible ADVANCE FRAME if back-track B new command line Fig 4 (2): Action on AFIDF A Close file and restore from stack If end of item, delete from sequence Set back pointer if repeat Remove from new sequence item if needed More items in sequence? Yes No B new command line EXIT
Fig 5: DRAW: within sequences ENTER BASIC file? Yes No Output if device selected EXIT Enter on STACK Reset file pointers EXIT
⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site