# IBM 3270

The IBM 3270 is a family of block oriented display and printer computer terminals introduced by IBM in 1971 and normally used to communicate with IBM mainframes. The 3270 was the successor to the IBM 2260 display terminal. Due to the text color on the original models, these terminals are informally known as green screen terminals. Unlike a character-oriented terminal, the 3270 minimizes the number of I/O interrupts required by transferring large blocks of data known as data streams, and uses a high speed proprietary communications interface, using coaxial cable.
IBM no longer manufactures 3270 terminals, but the IBM 3270 protocol is still commonly used via TN3270 clients, 3270 terminal emulation or web interfaces to access mainframe-based applications, which are sometimes referred to as green screen applications.

## Principles

The 3270 series was designed to connect with mainframe computers, often at a remote location, using the technology then available in the early 1970s. The main goal of the system was to maximize the number of terminals that could be used on a single mainframe. To do this, the 3270 was designed to minimize the amount of data transmitted, and minimize the frequency of interrupts to the mainframe. By ensuring the CPU is not interrupted at every keystroke, a 1970s-era IBM 3033 mainframe fitted with only 16 MB of main memory was able to support up to 17,500 3270 terminals under CICS.
Most 3270 devices are clustered, with one or more displays or printers connected to a control unit (the 3275 and 3276 included an integrated control unit). Originally devices were connected to the control unit over coaxial cable; later Token Ring, twisted pair, or Ethernet connections were available. A local control unit attaches directly to the channel of a nearby mainframe. A remote control unit is connected to a communications line by a modem. Remote 3270 controllers are frequently multi-dropped, with multiple control units on a line.
IBM 3270 devices are connected to a 3299 multiplexer or to the cluster controller, e.g., 3271, 3272, 3274, 3174, using 93 ohm RG-62 coaxial cables in a point-to-point configuration with one dedicated cable per terminal. Data is sent with a bit rate of 2.3587 Mbit/s using a slightly modified differential Manchester encoding. Cable runs of up to 1,500 m (4,900 ft) are supported, although IBM documents routinely stated the maximum supported coax cable length was 2,000 ft (610 m). Originally devices were equipped with BNC connectors, which were later replaced with special dual-purpose connectors (DPCs) supporting the IBM shielded twisted-pair cabling system without the need for red baluns.
In a data stream, both text and control (or formatting functions) are interspersed allowing an entire screen to be painted as a single output operation. The concept of formatting in these devices allows the screen to be divided into fields (clusters of contiguous character cells) for which numerous field attributes, e.g., color, highlighting, character set, and protection from modification, can be set. A field attribute occupies a physical location on the screen that also determines the beginning and end of a field. There are also character attributes associated with individual screen locations.
Using a technique known as "read modified", a single transmission back to the mainframe can contain the changes from any number of formatted fields that have been modified, but without sending any unmodified fields or static data. This technique enhances the terminal throughput of the CPU, and minimizes the data transmitted. Some users familiar with character interrupt-driven terminal interfaces find this technique unusual. There is also a read buffer capability that transfers the entire content of the 3270-screen buffer including field attributes. This is mainly used for debugging purposes to preserve the application program screen contents while replacing it, temporarily, with debugging information.
Early 3270s offered three types of keyboards. The typewriter keyboard came in both a 66 key version, with no programmed function (PF) keys, and a 78 key version with twelve. Both versions had two Program Attention (PA) keys. The data entry keyboard had five PF keys and two PA keys. The operator console keyboard had twelve PF keys and two PA keys.$^{:p.19}$ Later 3270s had an Attention key, a Cursor Select key, a System Request key, twenty-four PF keys and three PA keys. There was also a TEST REQ key. When one of these keys is pressed, it will cause its control unit to generate an I/O interrupt to the host computer and present an Attention ID (AID) identifying which key was pressed. Application program functions such as termination, page-up, page-down, or help can be invoked by a single key press, thereby reducing the load on very busy processors.
A downside to this approach was that vi-like behavior, responding to individual keystrokes, was not possible. For the same reason, a port of Lotus 1-2-3 to mainframes with 3279 screens did not meet with success because its programmers were not able to properly adapt the spreadsheet's user interface to a screen at a time rather than character at a time device. But end-user responsiveness was arguably more predictable with 3270, something users appreciated.

## Applications

Following its introduction the 3270 and compatibles were by far the most commonly used terminals on IBM System/370 and successor systems. IBM and third-party software that included an interactive component took for granted the presence of 3270 terminals and provided a set of ISPF panels and supporting programs.
Conversational Monitor System (CMS) in VM has support for the 3270 continuing to z/VM.
Time Sharing Option (TSO) in OS/360 and successors has line mode command line support and also has facilities for full screen applications, e.g., ISPF.
Device Independent Display Operator Console Support (DIDOCS) in Multiple Console Support (MCS) for OS/360 and successors supports 3270 devices and, in fact, MCS in current versions of MVS no longer supports line mode, 2250 or 2260 devices.
The SPF and Program Development Facility (ISPF/PDF) editors for MVS and VM/SP (ISPF/PDF was available for VM, but little used) and the XEDIT editors for VM/SP through z/VM make extensive use of 3270 features.
Customer Information Control System (CICS) has support for 3270 panels. Indeed, from the early 1970s on, CICS applications were often written for the 3270.$^{:195ff}$
The online editing and job submission environment Source Program Maintenance Online II (SPM) was oriented around the 3270.
Various versions of Wylbur have support for 3270, including support for full-screen applications.
McGill University's MUSIC/SP operating system provided support for 3270 terminals and applications, including a full-screen text editor, a menu system, and a PANEL facility to create 3270 full-screen applications.
The modified data tag is well suited to converting formatted, structured punched card input onto the 3270 display device. With the appropriate programming, any batch program that uses formatted, structured card input can be layered onto a 3270 terminal.
IBM's OfficeVision office productivity software enjoyed great success with 3270 interaction because of its design understanding. And for many years the PROFS calendar was the most commonly displayed screen on office terminals around the world.
A version of the WordPerfect word processor ported to System/370 was designed for the 3270 architecture.

## SNA

3270 devices can be a part of an SNA – System Network Architecture network or non-SNA network. If the controllers are SNA connected, they appear to SNA as PU – Physical Unit type 2.0 (PU2.1 for APPN) nodes typically with LU – Logical Unit type 1, 2, and 3 devices connected. Local, channel attached, controllers are controlled by VTAM – Virtual Telecommunications Access Method. Remote controllers are controlled by the NCP – Network Control Program in the Front End Processor i.e. 3705, 3720, 3725, 3745, and VTAM.

## Third parties

One of the first groups to write and provide operating system support for the 3270 and its early predecessors was the University of Michigan, who created the Michigan Terminal System in order for the hardware to be useful outside of the manufacturer. MTS was the default OS at Michigan for many years, and was still used at Michigan well into the 1990s. Many manufacturers, such as GTE, Hewlett-Packard, Honeywell/Incoterm Div, Memorex, ITT Courier, McData, Harris, Alfaskop and Teletype/AT&T created 3270 compatible terminals, or adapted ASCII terminals such as the HP 2640 series to have a similar block-mode capability that would transmit a screen at a time, with some form validation capability. The industry distinguished between 'system compatible' and 'plug compatible' controllers, where 'system compatibility' meant that the third-party system was compatible with the 3270 data stream terminated in the unit, but 'plug compatible' equipment was also compatible at the coax level, thereby allowing IBM terminals to be connected to a third-party controller or vice versa. Modern applications are sometimes built upon legacy 3270 applications, using software utilities to capture (screen scrape) screens and transfer the data to web pages or GUI interfaces.
In the early 1990s a popular solution to link PCs with the mainframes was the Irma board, an expansion card that plugged into a PC and connected to the controller through a coaxial cable. 3270 simulators for IRMA and similar adapters typically provide file transfers between the PC and the mainframe using the same protocol as the IBM 3270 PC.

## Models

The IBM 3270 display terminal subsystem consists of displays, printers and controllers. Optional features for the 3275 and 3277 are the selector-pen, ASCII rather than EBCDIC character set, an audible alarm, and a keylock for the keyboard. A keyboard numeric lock was available and will lock the keyboard if the operator attempts to enter non-numeric data into a field defined as numeric. Later an Operator Identification Card Reader was added which could read information encoded on a magnetic stripe card.

### Displays

Generally, 3277 models allow only upper-case input, except for the mixed EBCDIC/APL or text keyboards, which have lower case. Lower-case capability and dead keys were available as an RPQ (Request Price Quotation); these were added to the later 3278 & 3279 models.
A version of the IBM PC called the 3270 PC, released in October 1983, includes 3270 terminal emulation. Later, the 3270 PC/G (graphics), 3270 PC/GX (extended graphics), 3270 Personal Computer AT, 3270 PC AT/G (graphics) and 3270 PC AT/GX (extended graphics) followed.

#### CUT vs. DFT

There are two types of 3270 displays in respect to where the 3270 data stream terminates. For CUT (Control Unit Terminal) displays, the stream terminates in the display controller, the controller instructs the display to move the cursor, position a character, etc. EBCDIC is translated by the controller into '3270 Character Set', and keyboard scan-codes from the terminal, read by the controller through a poll, is translated by the controller into EBCDIC. For DFT (Distributed Function Terminal) type displays, most of the 3270 data stream is forwarded to the display by the controller. The display interprets the 3270 protocol itself.
In addition to passing the 3270 data stream directly to the terminal, allowing for features like EAB — Extended Attributes, Graphics, etc., DFT also enabled multi sessions (up to 5 simultaneous), featured in the 3290 and 3194 multisession displays. This feature was also widely used in 2nd generation 3270 terminal emulation software.
The MLT — Multiple Logical Terminals feature of the 3174 controller also enabled multiple sessions from a CUT type terminal.
CUT vs. DFT :
| Display Station Name | CUT vs. DFT |
| 3178 — all models | CUT |
| 3179 — Model 1 | CUT |
| 3179 — Models G1, G2 | DFT |
| 3180 — Model 1 | CUT |
| 3191 — all models | CUT |
| 3192 — Models C, D, F, L, W | CUT |
| 3192 — Model G | DFT |
| 3193 — all models | DFT |
| 3194 — all models | DFT |
| 3277 — all models | CUT |
| 3278 — all models | CUT |
| 3279 — all models | CUT |
| 3290 — all models | DFT |
| 3472 — except model G | CUT |
| 3472 — model G | DFT |
| 3482 — all models | DFT |

#### 3277

* 3277 model 1: 40×12 terminal
* 3277 model 2: 80×24 terminal, the biggest success of all
* 3277 GA: a 3277 with an RS232C I/O, often used to drive a Tektronix 4013 or 4015 graphic screen (monochrome)

#### 3278

* 3278 models 1–5: next-generation, with accented characters and dead keys in countries that needed them
** model 1: 80x12
** model 2: 80×24
** model 2A: 80x24 (console) with 4 lines reserved
** IBM 3278 and 3279 terminals side-to-sidemodel 3: 80×32 or 80x24 (switchable)
** model 4: 80×43 or 80x24 (switchable)
** model 5: 132×27 or 80×24 (switchable)
* Extended Highlighting: ability to set highlighting attributes on individual characters as well as on fields. For the 3278 that includes:
** blinking
** character set
** reverse video
** underscored
* Programmed Symbols {PS): programmable characters; able to display monochrome graphics
The 3278, along with the 3279 color display and the 3287 printer, introduced the Extended Display Stream (EDS) as the framework for new features.

#### 3279

The IBM 3279 was IBM's first color terminal. IBM initially announced four models, and later added a fifth model for use as a processor console.
* Models
** model 2A: 80-24 base color
** model 2B: 80-24 extended color
** model 2C: 80-24 base color (console) with 4 lines reserved
** model 3A: 80-32 base color
** model 3B: 80-32 extended color
** model S3G: 80-32 extended color with programmed symbol set graphics

##### Base color

    In base color mode the protection and intensity field attributes determine the color:
    Base color mode Protection Intensity Color Unprotected Normal Green Unprotected Intensified Red Protected Normal Blue Protected Intensified White

##### Extended color

    In extended color mode the color field and character attributes determine the color as one of
* Neutral (White)
* Red
* Blue
* Green
* Pink
* Yellow
* Turquoise
The 3279 was introduced in 1979. The 3279 was widely used as an IBM mainframe terminal before PCs became commonly used for the purpose. It was part of the 3270 series, using the 3270 data stream. Terminals could be connected to a 3274 controller, either channel connected to an IBM mainframe or linked via an SDLC (Synchronous Data Link Control) link. In the Systems Network Architecture (SNA) protocol these terminals were logical unit type 2 (LU2). The basic models 2A and 3A used red, green for input fields, and blue and white for output fields. However, the models 2B and 3B supported seven colors, and when equipped with the optional Programmed Symbol Set feature had a loadable character set that could be used to show graphics. The Programmed Symbol Set feature could be added in the field, and was standard in the model S3G.
The IBM 3279 with its graphics software support, Graphical Data Display Manager (GDDM), was designed at IBM's Hursley Development Laboratory, near Winchester, England.

#### 3290

The 3290 Information Panel a 17", amber monochrome plasma display unit announced March 8, 1983, capable of displaying in various modes, including four independent 3278 model 2 terminals, or a single 160×62 terminal; it also supports partitioning. The 3290 supports graphics through the use of programmed symbols. A 3290 application can divide its screen area up into as many as 16 separate explicit partitions (logical screens).
The 3290 is a Distributed Function Terminal (DFT) and requires that the controller do a downstream load (DSL) of microcode from floppy or hard disk.

#### 317x

* 3178: lower cost terminal (1983)
* 3179: low cost color terminal announced March 20, 1984.

#### 3180

The 3180 was a monochrome display, introduced on March 20, 1984, that the user could configure for several different basic and extended display modes; all of the basic modes have a primary screen size of 24x80. Modes 2 and 2+ have a secondary size of 24x80, 3 and 3+ have a secondary size of 32x80, 4 and 4+ have a secondary size of 43x80 and 5 and 5+ have a secondary size of 27x132. An application can override the primary and alternate screen sizes for the extended mode. The 3180 also supported a single explicit partition that could be reconfigured under application control.

#### 3191

The IBM 3191 Display Station is an economical monochrome CRT. Models A and B are 1920 characters 12-inch CRTs. Models D, E and L are 1920 or 2560 character 14-inch CRTs.

#### 3192

* Model C provides a 7-color 14 inch CRT with 80x24 or 80x32 characters
* Model D provides a green monochrome 15 inch CRT with 80x24, 80x32, 80x44 or 132x27 characters
* Model F provides a 7-color high-resolution 14 inch CRT with 80x24, 80x32, 80x44 or 132x27 characters
* Model G provides a 7-color 14 inch CRT with 80x24 or 80x32 characters
* Model L provides a green monochrome 15 inch CRT with 80x24, 80x32, 80x44 or 132x27 characters with a selector pen capability
* Model W provides a black and while 15 inch CRT with 80x24, 80x32, 80x44 or 132x27 characters

#### 3193

The IBM 3193 Display Station is a high-resolution, portrait-type, monochrome, 380mm (15 inch) CRT image display providing up to letter or A4 size document display capabilities in addition to alphanumeric data. Compressed images can be sent to the 3193 from a scanner and decompression is performed in the 3193. Image data compression is a technique to save transmission time and reduce storage requirements.

#### 3194

The IBM 3194 is a Display Station that features a 1.44 MB 3.5" floppy drive and IND$FILE transfer.
* Model C provides a 12-inch color CRT with 80x24 or 80x32 characters
* Model D provides a 15-inch monochrome CRT with 80x24, 80x31, 80x44 or 132x27 characters
* Model H provides a 14-inch color CRT with 80x24, 80x31, 80x44 or 132x27 characters

#### Subsequent

* 3104: low-cost R-loop connected terminal for the IBM 8100 system
* 3472 Infowindow

#### Non-IBM Displays

Several third-party manufacturers produced 3270 displays besides IBM.

##### GTE

GTE manufactured the IS/7800 Video Display System, nominally compatible with IBM 3277 displays attached to a 3271 or 3272. An incompatibility with the RA buffer order broke the logon screen in VM/SE (SEPP).

##### Harris

Harris manufactured the 8000 Series Terminal Systems, compatible with IBM 3277 displays attached to a 3271 or 3272.
Harris later manufactured the 9100–9200 Information Processing Systems, which included
* 9178
* 9278
* 9279-2A
* 9279-3G
* 9280

##### Informer 270 376/SNA

Informer Computer Terminals manufactured a special version of their model 270 terminal that was compatible with IBM 3270 and its associated coax port to connect to a 3x74.

##### Memorex Telex

* Memorex 1377, compatible with IBM 3277 Attaches to 1371 or 1372
Documentation for the following is available at
* Memorex/Telex 2078
* Memorex/Telex 2079
* Memorex/Telex 2080
* Memorex/Telex 2178
* Memorex/Telex 2179

##### Nokia/Alfaskop

* Alfaskop Display Unit 4110
* Alfaskop Display Unit 4112

##### AT&T

AT&T introduced the Dataspeed 40 terminal/controller, compatible with the IBM 3275, in 1980.

#### Graphics models

IBM had two different implementations for supporting graphics. The first was implemented in the optional Programmed Symbol Sets (PSS) of the 3278, 3279 and 3287, which became a standard feature on the later 3279-S3G, a.k.a. 3279G, and was based on piecing together graphics with on-the-fly custom-defined symbols downloaded to the terminal.
The second later implementation provided All Points Addressable (APA) graphics, a.k.a. Vector Graphics, allowing more efficient graphics than the older technique. The first terminal to support APA / Vector graphics was the 3179G terminal, which was later replaced by first the 3192G, then the 3472G.
Both implementations are supported by IBM GDDM — Graphical Data Display Manager first released in 1979, and by SAS with their SAS/GRAPH software.

##### IBM 3279G

IBM 3279-S3G, a.k.a. 3279G, terminal, announced in 1979, was IBM's graphics replacement for the 3279-3B with PSS. The terminal supported 7 colors and the graphics were made up of Programmable Symbol sets loaded to the terminal by the graphical application GDDM — Graphical Data Display Manager using Write Structured Field command.
Programmable Symbols is an addition to the normal base character set consisting of Latin characters, numbers, etc. hardwired into the terminal. The 3279G supports six additional sets of symbols each supporting 190 symbols, resulting in a total of 1.140 programmable symbols. Three of the Programmable Symbols sets have three planes each enabling coloring (red, blue, green) the Programmable Symbols downloaded to those sets, thereby supporting a total of seven colors.
Each 'character' cell consists of a 9x12 or a 9x16 dot matrix depending on the screen model. In order to program a cell with a symbol 18 bytes of data is needed making the data load quite heavy in some instances when compared to classic text screens.
If one for example wishes to draw a hyperbola on the screen, the application must first compute the required Programmable Symbols to make up hyperbola and load them to the terminal. The next step is then for the application to paint the screen by addressing the screen cell position and select the appropriate symbol in one of the Programmable Symbols sets.
The 3279G could be ordered with Attribute Select Keyboard enabling the operator to select attributes, colors and Programmable Symbols sets, making that version of the terminal quite distinctive.

##### IBM 3179G

The IBM 3179G announced June 18, 1985, is an IBM mainframe computer terminal providing 80×24 or 80×32 characters, 16 colors, plus graphics and is the first terminal to support the APA graphics apart from the 3270 PC/G, 3270 PC/GX, PC AT/G and PC AT/GX.
3179-G terminals combine text and graphics as separate layers on the screen. Although the text and graphics appear combined on the screen, the text layer actually sits over the graphics layer. The text layer contains the usual 3270-style cells which display characters (letters, numbers, symbols, or invisible control characters). The graphics layer is an area of 720×384 pixels. All Points Addressable or vector graphics is used to paint each pixel in one of sixteen colors. As well as being separate layers on the screen, the text and graphics layers are sent to the display in separate data streams, making them completely independent.
The application i.e. GDDM sends the vector definitions to the 3179-G, and the work of activating the pixels that represent the picture (the vector-to-raster conversion) is done in the terminal itself. The datastream is related to the number of graphics primitives (lines, arcs, and so on) in the picture. Arcs are split into short vectors, that are sent to the 3179-G to be drawn. The 3179-G does not store graphic data, and so cannot offload any manipulation function from GDDM. In particular, with user control, each new viewing operation means that the data has to be regenerated and retransmitted.
The 3179G is a distributed function terminal (DFT) and requires a downstream load (DSL) to load its microcode from the cluster controller's floppy disk or hard drive.
The G10 model is a standard 122-key typewriter keyboard, while the G20 model offers APL on the same layout. Compatible with IBM System/370, IBM 4300 series, 303x, 308x, IBM 3090, and IBM 9370.

##### IBM 3192G

The IBM 3192G, announced in 1987 was the successor to 3179G. It featured 16 colors, and support for printers (i.e., IBM Proprinter) for local hardcopy with graphical support, or system printer, text only, implemented as an additional LU.

##### IBM 3472G

The IBM 3472G announced in 1989 was the successor to 3192G and featured five concurrent sessions, one of which could be graphics. Unlike the 3192-G, it needed no expansion unit to attach a mouse or color plotter, and it could also attach a tablet device for digitised input and a bar code reader.

### APL / APL2

Most IBM terminals, starting with the 3277, could be delivered with an APL keyboard, allowing the operator/programmer to enter APL symbolic instructions directly into the editor. In order to display APL symbols on the terminal, it had to be equipped with an APL character set in addition to the normal 3270-character set. The APL character set is addressed with a preceding Graphic Escape X'08' instruction.
With the advent of the graphic terminal 3179G, the APL character set was expandable to 138 characters, called APL2. The added characters were: Diamond, Quad Null, Iota Underbar, Epsilon Underbar, Left Tack, Right Tack, Equal Underbar, Squished Quad, Quad Slope, and Dieresis Dot. Later APL2 symbols were supported by 3191 Models D, E, L, the CUT version of 3192, and 3472.
Please note that IBM's version's of APL also is called APL2.

### Display-Controller

* 3275 remote display with controller function (no additional displays up to one printer)
* 3276 remote display with controller function. IBM 3276, announced in 1981, was a combined remote controller and display terminal, offering support for up to 8 displays, the 3276 itself included. By default, the 3276 had two type A coax ports, one for its own display, and one free for an additional terminal or printer. Up to three additional adapters, each supporting two coax devices, could be installed. The 3276 could connect to a non-SNA or SNA host using BSC or SDLC with line speed of up to 9,600 bit/s. The 3276 looked very much like the 3278 terminal, and the terminal feature of the 3276 itself, was more or less identical to those of the 3278.

### Printers

* 3284 matrix printer
* 3286 matrix printer
* 3287 printer, including a color model
* 3288 line printer
* 3268-1 R-loop connected stand-alone printer for the IBM 8100 system
* 4224 matrix printer
In 1984 announced IPDS – Intelligent Printer Data Stream for online printing of AFP — Advanced Function Presentation documents, using bidirectional communications between the application and the printer. IPDS support among others printing of text, fonts, images, graphics, and barcodes. The IBM 4224 is one of the IPDS capable dot matrix printers.
With the emergence of printers, including laser printers, from HP, Canon, and others, targeted the PC market, 3270 customers got an alternative to IBM 3270 printers by connecting this type of printers through printer protocol converters from manufactures like I-data, MPI Tech, Adacom, and others. The printer protocol converters basically emulate a 3287 type printer, and later extended to support IPDS.
The IBM 3482 terminal, announced in 1992, offered a printer port, which could be used for host addressable printing as well as local screen copy.
In the later versions of 3174 the Asynchronous Emulation Adapter (AEA), supporting async RS-232 character-based type terminals, was enhanced to support printers equipped with a serial interface.

### Controllers

* 3271 remote controller
* 3272 local controller
* 3274 cluster controller (different models could be channel-attached or remote via BSC or SDLC communication lines, and had between eight and 32 coaxial ports)
* 3174 cluster controller
On the 3274 and 3174, IBM used the term configuration support letter, sometimes followed by a release number, to designate a list of features together with the hardware and microcode needed to support them.
By 1994 the 3174 Establishment Controller supported features such as attachment to multiple hosts via Token Ring, Ethernet, or X.25 in addition to the standard channel attach or SDLC; terminal attachment via twisted pair, Token Ring or Ethernet in addition to 3270 coaxial; and TN3270. They also support attachment of asynchronous ASCII terminals, printers, and plotters alongside 3270 devices.

#### 3274 controller

IBM introduced the 3274 controller family in 1977, replacing the 3271–2 product line.
Where the features of the 3271–2 was hardcoded, the 3274 was controlled by its microcode that was read from the 3274's built-in 8" floppy drive.
3274 models included 8, 12, 16, and 32 port remote controllers and 32-port local channel attached units. In total 16 different models were over time released to the market. The 3274-1A was an SNA physical Unit type 2.0 (PU2.0), required only a single address on the channel for all 32 devices and was not compatible with the 3272. The 3274-1B and 3274-1D were compatible with the 3272 and were referred to as local non-SNA models.
The 3274 controllers introduced a new generation of the coax protocol, named Category A, to differentiate them from the Category B coax devices, such as the 3277 terminal and the 3284 printer. The first Category A coax devices were the 3278 and the first color terminal, the IBM 3279 Color Display Station.
Enabling backward compatibility, it was possible to install coax boards, so-called 'panels', in groups of 4 or 8 supporting the now older Category B coax devices. A maximum of 16 Category B terminals could be supported, and only 8 if the controller were fully loaded with a maximum of 4 panels each supporting 8 Category A devices.
During its life span, the 3274 supported several features including:
* Extended Data Stream
* Extended Highlighting
* Programmed Symbol Set (PSS)
* V.24 interfaces with speed up to 14.4 kbit/s
* V.35 interfaces with speed up to 56 kbit/s
* X.25 network attachment
* DFT – Distributed Function Terminal
* DSL – Downstream load for 3290 and 3179G
* 9901 and 3299 multiplexer
* Entry Assist
* Dual Logic (the feature of having two sessions from a CUT mode display).

#### 3174 controller

IBM introduced the 3174 Subsystem Control Unit in 1986, replacing the 3274 product line.
The 3174 was designed to enhance the 3270 product line with many new connectivity options and features. Like the 3274, it was customizable, the main difference was that it used smaller (5.25-inch) diskettes than the 3274 (8-inch diskettes), and that the larger floor models had 10 slots for adapters, some of them were per default occupied by channel adapter/serial interface, coax adapter, etc. Unlike the 3274, any local models could be configured as either local SNA or local non-SNA, including PU2.1 (APPN).
The models included: 01L, 01R, 02R, 03R, 51R, 52R, 53R, 81R and 82R.
The 01L were local channel attached, the R models remotely connected, and the x3R Token Ring (upstream) connected. The 0xL/R models were floor units supporting up to 32 coax devices through the use of internal or external multiplexers (TMA/3299). The 5xR, models were shelf units with 9 coax ports, expandable to 16, by the connection of a 3299 multiplexer. The smallest desktop units, 8xR, had 4 coax ports expandable to 8, by the connection of a 3299 multiplexer.
In the 3174 controller line IBM also slightly altered the classical BNC coax connector by changing the BNC connector to DPC – Dual Purpose Connector. The DPC female connector was a few millimeters longer and with a built-in switch that detected if a normal BNC connector were connected or a newer DPC connector was connected, thereby changing the physical layer from 93 ohm unbalanced coax, to 150 ohm balanced twisted-pair, thereby directly supporting the IBM Cabling system without the need for a so-called red balun.
Configuration Support A was the first microcode offered with the 3174. It supported all the hardware modules present at the time, almost all the microcode features found in 3274 and introduced a number of new features including: Intelligent Printer Data Stream (IPDS), Multiple Logical Terminals, Country Extended Code Page (CECP), Response Time Monitor, and Token Ring configured as host interface.
Configuration Support S, strangely following release A, introduced that a local or remote controller could act as 3270 Token-Ring DSPU Gateway, supporting up to 80 Downstream PU's.
In 1989, IBM introduced a new range of 3174 models and changed the name from 3174 Subsystem Control Unit to 3174 Establishment Controller. The main new feature was support for an additional 32 coax port in floor models.
The models included: 11L, 11R, 12R, 13R, 61R, 62R, 63R, 91R, and 92R.
The new line of controllers came with Configuration Support B release 1, increased the number of supported DSPU on the Token-Ring gateway to 250 units, and introduced at the same time 'Group Polling' that offloaded the mainframe/VTAM polling requirement on the channel.
Configuration Support B release 2 to 5, enabled features like: Local Format Storage (CICS Screen Buffer), Type Ahead, Null/Space Processing, ESCON channel support.
In 1990–1991, a total of 7 more models were added: 21R, 21L, 12L, 22L, 22R, 23R, and 90R. The 12L offered ESCON fibreoptic channel attachment. The models with 2xx designation were equal to the 1xx models but repacked for rackmount and offered only 4 adapter slots. The 90R was not intended as a coax controller, it was positioned as a Token Ring 3270 DSPU gateway. However, it did have one coax port for configuring the unit, which with a 3299 multiplexer could be expanded to 8.
The line of controllers came with Configuration Support C to support ISDN, APPN and Peer Communication. The ISDN feature allowed downstream devices, typically PC's, to connect to the 3174 via the ISDN network. The APPN support enabled the 3174 to be a part of an APPN network, and the Peer Communication allowed coax attached PC's with 'Peer Communication Support' to access resources on the Token-Ring network attached to the 3174.
The subsequent releases 2 to 6 of Configuration Support C enables support for: Split screen, Copy from session to session, Calculator function, Access to AS/400 host and 5250 keyboard emulation, Numerous APPN enhancements, TCP/IP Telnet support that allowed 3270 CUT terminals to communicate with TCP/IP servers using Telnet, and at the same time in another screen to communicate with the mainframe using native 3270. TN3270 support where the 3174 could connect to a TN3270 host/gateway, eliminating SNA, but preserving the 3270 data stream. IP forwarding allowing bridging of LAN (Token-Ring or Ethernet) connected devices downstream to the 3174 to route IP traffic onto the Frame Relay WAN interface.
In 1993, three new models were added with the announcement of Ethernet Adapter (FC 3045). The models were: 14R, 24R, and 64R.
This was also IBM's final hardware announcement of 3174.
The floor models, and the rack-mountable units, could be expanded with a range of special 3174 adapters, that by 1993 included: Channel adapter, ESCON adapter, Serial (V.24/V.35) adapter, Concurrent Communication Adapter, Coax adapter, Fiber optic "coax" adapter, Async adapter, ISDN adapter, Token-Ring adapter, Ethernet adapter, and line encryption adapter.
In 1994, IBM incorporated the functions of RPQ 8Q0935 into Configuration Support-C release 3, including the TN3270 client.

#### Non-IBM Controllers
##### GTE

The GTE IS/7800 Video Display Systems used one of two nominally IBM compatible controllers:
* 7801 (remote, 3271 equivalent)
* 7802 (local, 3277 equivalent)

##### Harris

The Harris 8000 Series Terminal Systems used one of four controllers:
* 8171 (remote, 3271 equivalent)
* 8172 (local, 3277 equivalent)
* 8181 (remote, 3271 equivalent)
* 8182 (local, 3277 equivalent)
* 9116
* 9210
* 9220

##### Home grown

An alternative implementation of an establishment controller exists in form of OEC (Open Establishment Controller). It's a combination of an Arduino shield with a BNC connector and a Python program that runs on a POSIX system. OEC allows to connect a 3270 display to IBM mainframes via TN3270 or to other systems via VT100. Currently only CUT but not DFT displays are supported.

##### Memorex

Memorex had two controllers for its 3277-compatible 1377; the 1371 for remote connection and the 1372 for local connection.
Later Memorex offered a series of controllers compatible with the IBM 3274 and 3174
* 2074
* 2076
* 2174
* 2274

### Multiplexers

IBM offered a device called 3299 that acted as a multiplexer between an accordingly configured 3274 controller, with the 9901 multiplexer feature, and up to eight displays/printers, thereby reducing the number of coax cables between the 3x74 controller and the displays/printers.
With the introduction of the 3174 controller internal or external multiplexers (3299) became mainstream as the 3174-1L controller was equipped with four multiplexed ports each supporting eight devices. The internal 3174 multiplexer card was named TMA – Terminal Multiplexer adapter 9176.
A number of vendors manufactured 3270 multiplexers before and alongside IBM including Fibronics and Adacom offering multiplexers that supported TTP – Telephone Twisted Pair as an alternative to coax, and fiber-optic links between the multiplexers.
In some instances, the multiplexer worked as an "expansion" unit on smaller remote controllers including the 3174-81R / 91R, where the 3299 expanded the number of coax ports from four to eight, or the 3174-51R / 61R, where the 3299 expanded the number of coax ports from eight to 16.

## Manufacture

The IBM 3270 display terminal subsystem was designed and developed by IBM's Kingston, New York, laboratory (which later closed during IBM's difficult time in the mid-1990s). The printers were developed by the Endicott, New York, laboratory. As the subsystem expanded, the 3276 display-controller was developed by the Fujisawa laboratory, Japan, and later the Yamato laboratory; and the 3279 color display and 3287 color printer by the Hursley, UK, laboratory. The subsystem products were manufactured in Kingston (displays and controllers), Endicott (printers), and Greenock, Scotland, UK, (most products) and shipped to users in U.S. and worldwide. 3278 terminals continued to be manufactured in Hortolândia, near Campinas, Brazil as far as late 1980s, having its internals redesigned by a local engineering team using modern CMOS technology, while retaining its external look and feel.

## Telnet 3270

Telnet 3270, or tn3270 describes both the process of sending and receiving 3270 data streams using the telnet protocol and the software that emulates a 3270 class terminal that communicates using that process. tn3270 allows a 3270 terminal emulator to communicate over a TCP/IP network instead of an SNA network. Telnet 3270 can be used for either terminal or print connections. Standard telnet clients cannot be used as a substitute for tn3270 clients, as they use fundamentally different techniques for exchanging data.
TN3270 is typically deployed for online IBM mainframe application access via VTAM.

## Technical Information
### 3270 character set

The 3270 displays are available with a variety of keyboards and character sets. The following table shows the 3275/3277/3284–3286 character set for US English EBCDIC (optional characters were available for US ASCII, and UK, French, German, and Italian EBCDIC).
On the 3275 and 3277 terminals without the a text feature, lower case characters display as uppercase. NL, EM, DUP, and FM control characters display and print as 5, 9, *, and ; characters, respectively, except by the printer when WCC or CCC bits 2 and 3 = '00'b, in which case NL and EM serve their control function and do not print.$^{:p.15}$
3270 Character Set (US EBCDIC) :
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
| 0x | NUL | SOH | STX | ETX | | PT | | | | | | | | | | |
| 1x | DLE | SBA | EUA | IC | | NL | | | | EM | | | DUP | SF | FM | ITB |
| 2x | | | | | | | ETB | ESC | | | | | | ENQ | | |
| 3x | | | SYN | | | | | EOT | | | | | RA | NAK | | SUB |
| 4x | SP | | | | | | | | | | ¢ | . | < | ( | + | | |
| 5x | & | | | | | | | | | | ! | $ | * | ) | ; | ¬ |
| 6x | - | / | | | | | | | | | ¦ | , | % | _ | > | ? |
| 7x | | | | | | | | | | | : | # | @ | ' | = | " |
| 8x | | a | b | c | d | e | f | g | h | i | | | | | | |
| 9x | | j | k | l | m | n | o | p | q | r | | | | | | |
| Ax | | | s | t | u | v | w | x | y | z | | | | | | |
| Bx | | | | | | | | | | | | | | | | |
| Cx | | A | B | C | D | E | F | G | H | I | | | | | | |
| Dx | | J | K | L | M | N | O | P | Q | R | | | | | | |
| Ex | | | S | T | U | V | W | X | Y | Z | | | | | | |
| Fx | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | | | | | | |

### Data stream

Data sent to the 3270 consist of commands, a Copy Control Character (CCC) or Write Control Character (WCC) if appropriate, a device address for copy, orders, character data and structured fields. Commands instruct the 3270 control unit to perform some action on a specified device, such as a read or write. Orders are sent as part of the data stream to control the format of the device buffer. Structured fields are to convey additional control functions and data to or from the terminal.
On a local non-SNA controller, the command is a CCW opcode rather than the first byte of the outbound display stream; on all other controllers, the command is the first byte of the display stream, exclusive of protocol headers.

#### Commands

The following table includes datastream commands and CCW opcodes for local non-SNA controllers; it does not include CCW opcodes for local SNA controllers.
3270 commands :
| Command | Hexadecimal | Hexadecimal | Hexadecimal | Graphic | Function |
| | local non-SNA | EBCDIC | ASCII | | |
| Copy | — | F7 | 37 | 7 | Copy from one device buffer to another, e.g., from a display to a printer |
| Erase All Unprotected | 0F | 6F | 3F | ? | Erase all unprotected fields and reset modified data tags |
| Erase/Write | 05 | F5 | 35 | 5 | Erase device buffer, then write WCC followed by orders and data |
| Erase/Write Alternate | 0D | 7E | 3D | = | Erase device buffer, set alternate size, then write WCC followed by orders and data |
| No Operation | 03 | — | — | — | May be used to retrieve pending status |
| Read Buffer | 02 | F2 | 22 | 2 | Read entire device buffer, including attributes |
| Read Modified | 06 | F6 | 36 | 6 | Read AID, cursor and, except for short read, modified fields from device |
| Read Modified All | — | 6E | 3E | : | Read AID, cursor and modified fields from device; no short read |
| Select | 0B | — | — | — | Transfer data from device to control unit with channel disconnected |
| Select RB | 1B | — | — | — | Select Read Buffer; may only be chained to Read Buffer |
| Select RBP | 3B | — | — | — | Select Read Buffer from Position; may only be chained to Read Buffer |
| Select RM | DB | — | — | — | Select Read Modified |
| Select RMP | 2B | — | — | — | Select Read Modified from Position |
| Select WRT | 4B | — | — | — | Select WRT Command May only be chained to a Write or Write Structured Field |
| Sense | 04 | — | — | — | Retrieve error information after unit check |
| Sense ID | E4 | — | — | — | Retrieve control unit identification |
| Write | 01 | F1 | 31 | 1 | Write WCC followed by orders and data |
| Write Structured Field | 11 | F3 | — | 3 | Write Structured Field |
| For remote 3270s non-significant bits are set so that the command forms a valid EBCDIC (or ASCII) character. ||||||

#### Write control character

The data sent by Write or Erase/Write consists of the command code itself followed by a Write Control Character (WCC) optionally followed by a buffer containing orders or data (or both). The WCC controls the operation of the device. Bits may start printer operation and specify a print format. Other bit settings will sound the audible alarm if installed, unlock the keyboard to allow operator entry, or reset all the Modified Data Tags in the device buffer.

#### Orders

Orders consist of the order code byte followed by zero to three bytes of variable information.
Orders for 3277 :
| Order | Hexadecimal code (EBCDIC) | Hexadecimal code (EBCDIC) | Hexadecimal code (EBCDIC) | Hexadecimal code (EBCDIC) | Description |
| Order | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Description |
| Start Field (SF) | 1D | Attribute character (see Attributes) | | | Indicates the start of a field at the current buffer position and provides its attribute |
| Set Buffer Address (SBA) | 11 | Address byte 1 | Address byte 2 | | Specifies a buffer address to become the current buffer position (see Buffer addressing) |
| Insert Cursor (IC) | 13 | | | | Positions the cursor at the current buffer position |
| Program Tab (PT) | 05 | | | | Advances the current buffer address to the first position of the next unprotected field |
| Repeat to Address (RA) | 3C | Address byte 1 | Address byte 2 | Character to repeat | Stores the character in byte 4 in all buffer locations starting at the current buffer position up to but not including the specified address and sets the current buffer position to the specified address |
| Erase Unprotected to Address (EUA) | 12 | Address byte 1 | Address byte 2 | | Fills all unprotected fields with nulls starting at the current buffer position up to but not including the specified address |

#### Attributes

The 3270 has three kinds of attributes:
* Field attributes
* Extended attributes
* Character attributes

##### Field attributes

The original 3277 and 3275 displays used an 8-bit field attribute byte of which five bits were used.$^{:p.18}$
* Bits 0 and 1 are set so that the attribute will always be a valid EBCDIC (or ASCII) character.
* Bit 2 is zero to indicate that the associated field is unprotected (operator could enter data) or one for protected.
* Bit 3 is zero to indicate that this field, if unprotected, could accept alphanumeric input. One indicates that only numeric input is accepted, and automatically shifts to numeric for some keyboards.
* Bit 4 and 5 operate in tandem:
** '00'B indicate that the field is displayed on the screen and is not selector-pen detectable.
** '01'B indicates that the field is displayable and selector-pen detectable.
** '10'B indicates that the field is intensified (bright), displayable, and selector-pen detectable.
** '11'B indicates that the field is non-display, non-printable, and not pen detectable. This last can be used in conjunction with the modified data tag to imbed static data on the screen that will be read each time data was read from the device.
* Bit 7 is the "Modified Data Tag", where '0' indicates that the associated field has not been modified by the operator and '1' indicates that it has been modified. As noted above, this bit can be set programmatically to cause the field to be treated as modified.
Later models include base color: "Base color (four colors) can be produced on color displays and color printers from current 3270 application programs by use of combinations of the field intensify and field protection attribute bits. For more information on color, refer to IBM 3270 Information System: Color and Programmed Symbols, GA33-3056."$^{:1–7}$

##### Extended attributes

The 3278 and 3279 and later models used extended attributes to add support for seven colors, blinking, reverse video, underscoring, field outlining, field validation, and programmed symbols.

##### Character attributes

The 3278 and 3279 and later models allowed attributes on individual characters in a field to override the corresponding field attributes.
This allowed programs (such as the LEXX text editor) to assign any font (including the programmable fonts), colour, etc. to any character on the screen.

#### Buffer addressing

3270 displays and printers have a buffer containing one byte for every screen position. For example, a 3277 model 2 featured a screen size of 24 rows of 80 columns for a buffer size of 1920 bytes. Bytes are addressed from zero to the screen size minus one, in this example 1919. "There is a fixed relationship between each ... buffer storage location and its position on the display screen."$^{:p.13}$ Most orders start operation at the "current" buffer address, and executing an order or writing data will update this address. The buffer address can be set directly using the Set Buffer Address (SBA) order, often followed by Start Field or Start Field Extended. For a device with a 1920 character display a twelve bit address is sufficient. Later 3270s with larger screen sizes use fourteen or sixteen bits.
Addresses are encoded within orders in two bytes. For twelve bit addresses the high order two bits of each byte are set to form valid EBCDIC (or ASCII) characters. For example, address 0 is coded as X'4040', or space-space, address 1919 is coded as X'5D7F', or '"'.$^{:pp.75–90}$ Programmers hand-coding panels usually keep the table of addresses from the 3270 Component Description or the 3270 Reference Card handy. For fourteen and sixteen-bit address, the address uses contiguous bits in two bytes.

#### Example

The following data stream writes an attribute in row 24, column 1, writes the (protected) characters '> ' in row 24, columns 2 and 3, and creates an unprotected field on row 24 from columns 5-79. Because the buffer wraps around an attribute is placed on row 24, column 80 to terminate the input field. This data stream would normally be written using an Erase/Write command which would set undefined positions on the screen to '00'x. Values are given in hexadecimal.

### Extended Data Stream

Most 3270 terminals newer than the 3275, 3277, 3284 and 3286 support an extended data stream (EDS) that allows many new capabilities, including:
* Display buffers larger than 4096 characters
* Additional field attributes, e.g., color
* Character attributes within a field
* Redefining display geometry
* Querying terminal characteristics
* Programmed Symbol Sets
* All Points Addressable (APA) graphics