24 Interactive Terminals

Our remaining task, to be completed in this and the following chapter, is to consider the code which controls interactive terminals (or “terminals”, for short).

A wide variety of terminals is available and several different types may be simultaneously attached to a single computer. Distinguishing characteristics for different classes of terminal include (besides such non-essential features as shape, size and colour):

(a)

transmission speed, e.g. 110 baud for an ASR33 teletype, 300 baud for a DECwriter, 2400 baud or 9600 baud for a Visual Display unit (“VD”);

(b)

graphic character set, notably the full ASCII graphic set and the 64 graphic subset;

(c)

transmission parity: odd, even, none or inoperatlve;

(d)

output technique: serial printer or visual display;

(e)

miscellaneous: combined carriage return/line feed character, half duplex terminal (input characters do not need echoing); recognition of tab characters;

(f)

characteristic delays for certain control functions, e.g. carriage returns may not be completed within a single character transmission time, etc.

As well as the wide variety of terminals which are available and in use, there is also a variety of hardware devices which may be used to interface a terminal to a PDP 11 computer. For example:

DL11/KL11

single line, asynchronous

 

interface; 13 standard

 

transmission rates between

 

40 and 9600 baud;

DJ11

16 line, asynchronous, buffered

 

serial line multiplexer; 11

 

speeds between 75 and 9600 baud,

 

selectable in four line groups;

DH11

16 line, asynchronous, buffered,

 

serial line multiplexer; 14 speeds,

 

individually selectable; DMA

 

transmission

Each of the above interfaces will work in full or half duplex mode; handle 5, 6, 7 or 8 level codes; generate odd, even or no parity; and generate a stop code of 1, 1.5 or 2 bits.

In addition to the above asynchronous interfaces, there are a number of synchronous interfaces, e.g. DQ11.

Each interface has its own control characteristics and it requires a separate operating system device driver. The common code which can be shared between these is gathered into a single file “tty.c”, to be found on Sheets 81 to 85. A set of common definitions is gathered in the file “tty.h” on Sheet 79.

By way of example, Sheet 80 contains the file “kl.c”, which constitutes the device driver for a set of DL11/KL11 interfaces. This device driver always needs to be present, since one KL11 interface is invariably included in a system for the the operator’s console terminal.