Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ OverviewThe CasePurchasingArrivalAcceptanceHardwareCommandsMore commandsImage sizesHigh-speed printQuest article □ Brochures □ III BrochureIII Brochure □ Manuals □ FR80 Pocket ManualFR80 Programmers ManualFR80 User ManualFR80 Applications ManualFR80 Monitor ManualFR80 Operator Manual
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLTechnologyFR80 :: III FR80
ACLTechnologyFR80 :: III FR80
ACL ACD C&A INF CCD CISD Archives
Further reading

Overview
The Case
Purchasing
Arrival
Acceptance
Hardware
Commands
More commands
Image sizes
High-speed print
Quest article
Brochures
III Brochure
III Brochure
Manuals
FR80 Pocket Manual
FR80 Programmers Manual
FR80 User Manual
FR80 Applications Manual
FR80 Monitor Manual
FR80 Operator Manual

FR80 Commands

Introduction

Being a soft machine, the command set does not need to have a 1-1 relationship with the hardware itself. The set of commands given here are the basic set defined by the III Displayer program that came with the standard FR80. FR80's with additional facilities had a wider command set and individual organisations could enhance the basic set assuming they had the expertise. By keeping the source code of Displayer to themselves, III reduced the likelihood of this occurring.

Tape Format

FR80 commands are defined as 1, 2 or 3 18-bit words. Output to 7-track tapes is odd parity at 556bpi while 9-track is 1600 bpi. In both cases, the word consists of three characters on the magnetic tape. For 9-track tapes, the top two bits of each character are set to zero. Each tape record is up to 512 18-bit words

Vector Drawing

Vectors are drawn from the current beam position (CX,CY). Horizontal and vertical line drawing or beam repositioning requires a single-word command while a general vector command takes two words. After each command, the beam position is reset to be the end of the vector just drawn. This is written as (CX',CY'). The general vector command is V(X1,Y1,X2,Y2) which defines a line drawn from the point (X1,Y1) to the point (X2,Y2). After the command has been obeyed, (CX',CY'), the beam position is set to (X2,Y2). The format for the FR80 instructions is shown below.

03 C 417 A Single-word C A Two-word 03 0001 417 B 0100 10010 N Four-word VERTICAL FAMILY 03 1101 DY 03 0110 DX 03 1101 417 DY 0100 10010 N Four-word HORIZONTAL FAMILY 03 1100 DX 03 0111 DY 03 1100 417 DX
FR80 Instructions

Single-word Commands

The first four bits, C, define the type of command while the lower 14 bits define an X or Y value, or increment.

C A Formal Description Name
0010 X CX' = X ABSOLUTE MOVE HORIZONTAL
0110 DX CX' = CX + DX RELATIVE MOVE HORIZONTAL
1010 X V(CX,CY,X,CY); CX' = X ABSOLUTE DRAW HORIZONTAL
1110 DX V(CX,CY,CX+DX,CY); CX' = CX + DX RELATIVE DRAW HORIZONTAL
0011 Y CY' = Y ABSOLUTE MOVE VERTICAL
0111 DY CY' = CY + DY RELATIVE MOVE VERTICAL
1011 Y V(CX,CY,CX,Y);CY' = Y ABSOLUTE DRAW VERTICAL
1111 DY V(CX,CY,CX,CY+DY);CY' = CY + DY RELATIVE DRAW VERTICAL

Two-word Commands

The two-word commands are similar to the single-word commands but both the X and Y values can be changed.

C A B Formal Description Name
0010 X Y CX' = X; CY' = Y MOVE ABSOLUTE
0110 DX DY CX'= CX + DX; CY' =CY + DY MOVE RELATIVE
1010 X Y V(CX,CY,X,Y); CX' = X; CY' = Y DRAW ABSOLUTE
1110 DX DY V(CX,CY,CX+DX,CY+DY); CX' = CX + DX; CY' = CY + DY DRAW RELATIVE

Three-word Commands

Special commands are provided for drawing a set of lines in the horizontal or vertical directions. The formats are shown in the figure above.

The VERTICAL FAMILY command draws the lines V(CX,CY,CX,CY+DY) and V(CX+DX,CY,CX+DX,CY+DY) and N equally spaced lines parallel with and in between these two.

The HORIZONTAL FAMILY command draws the lines V(CX,CY,CX+DX,CY) and V(CX,CY+DY,CX+DX,CY+DY) and N equally spaced lines parallel with and in between these two.

Point Plotting

In the following commands, the 18-bit word is given as 6 octal digits

215000

A point is plotted at the current beam position (CX,CY).

Character Output

The FR80 has a hardware character set which can be displayed at one of 64 different character sizes. Characters are defined on a 10 by 14 grid so that the character width is smaller than the character height. The size and spacing between characters is defined by the following commands:

211SSS                       SET CHARACTER SPACE

This sets the distance between the left edge of one character in a string and the left edge of the next character to SSS raster positions. Thus SSS includes the width of the character as well as the following space.

224HHH                       SET CHARACTER HEIGHT

This sets the character size to the largest value which is less than HHH raster positions. Note that the spacing SSS should not be smaller than HHH. Otherwise, characters will overlap. Character height defines the size of the character. The width is changed also to keep the aspect ratio the same (14 by 10).

21000R                       SET CHARACTER ROTATION

All subsequent characters will be rotated by R×45° anti-clockwise. R=0 corresponds to upright characters.

204000                       TYPE CHARACTER STRING (MONO-SPACED)
AAABBB
CCCDDD
......
XXX203

For mono-spaced text, the string of text is output with the lower left-hand corner of the first character at the current beam position (CX,CY). the characters of the string follow the command itself and are packed two per word. Each character other than the termination one must have the top bit set. The lower eight bits give the position in the FR80 character set. The last character in the string must be the End of Message control character 203. If it appears in the left-hand 9-bit character position, the remaining 9 bits should be zero. The current beam position is unchanged by this command.

IF the command code is 204400 followed by the text string, the text is output with proportional spacing.

For proportional text, character space is interpreted as the distance between the right-hand corner of one character and the left-hand corner of the next.

Vector Drawing Mode

The standard method of vector drawing is as solid lines. However, it is possible to draw both dotted and dashed lines. The mode of subsequent line drawing can be specified by the following commands:

216000                       SOLID MODE

Solid vectors are to be drawn, the default.

216001                       DASHED MODE
7NNNNN
3FFFFF

Dashed vectors are to be drawn. NNNNN is the approximate number of raster positions that the beam will be on and a line drawn while FFFFF is the number of raster positions that the beam will be switched off. the lengths are measured along the axis having the larger vector component. Both FFFFF and NNNNN must be less than 16383.

216002                       DOTTED MODE
3SSSSS

Dotted lines are to be drawn. the spaces between the dots are SSSSS raster positions along the axis having the larger vector component. SSSSS must be less than 16383.

Intensity

The intensity of all subsequent line drawing, point plotting and character drawing can be specified by the intensity command. There are 256 different intensity levels available on the ACL FR80. However, the command with the machine as delivered only allowed 64 to be specified.

2050IJ                       SET INTENSITY

All subsequent output will be at an intensity 32×J+4×I.

Organisation

020000                       START JOB

This should be the first command output at the start of a job. it resets the intensity level to the standard value, resets vector drawing to solid lines and resets character rotation to zero.

004010                       END JOB

This command should be the last one output by a job.

221M00                       SET CAMERA MODE

This command should be output immediately after the START JOB command. If M=4, all output will be generated in cine mode while if M=0 output will be generated in comic mode. These are defined as follows:

Y X A Y X B Y X C COMIC (M=0) Y X A Y X B Y X C CINE (M=4)
Camera Mode
034NNN                       ADVANCE FRAME

The camera is advanced N frames. In the case of the microfiche camera, this means move the fiche on by N pages.

036000                       ADVANCE FICHE

This command should only be used with the microfiche camera. It causes an advance to the next fiche ready to output the first page on the next fiche.

000000                       NOP

This is the NOP command that does nothing and is used to pad out records.

⇑ 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