IBM 3270
IBM 3270
Main page
2322543

IBM 3270

logo
Community Hub0 subscribers
Read side by side
from Wikipedia

IBM 3277 Model 2

The IBM 3270 is a family of block oriented[1] display and printer computer terminals introduced by IBM in 1971[2] and normally used to communicate with IBM mainframes. The 3270 was the successor to the IBM 2260 display terminal.[3] 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[4] via TN3270[5] clients, 3270 terminal emulation or web interfaces to access mainframe-based applications, which are sometimes referred to as green screen applications.

Principles

[edit]

The 3270 series was designed to connect with mainframe computers, often at a remote location, using the technology then available in the early 1970s.[2] 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.

Sample IBM 3270 cluster with one control unit connected to a printer and two displays

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).[6] 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).[7][8] 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,[a] highlighting, character set,[a] and protection from modification, can be set.[9] A field attribute occupies a physical location on the screen that also determines the beginning and end of a field. There are also[a] character attributes associated with individual screen locations.

Using a technique known as "read modified",[10] 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[11] 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.[12][13] The data entry keyboard had five PF keys and two PA keys. The operator console keyboard had twelve PF keys and two PA keys.[14]: p.19  Later 3270s had an Attention[b] key, a Cursor Select[c] 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[d] 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

[edit]

Following its introduction the 3270 and compatibles were by far the most commonly used terminals on IBM System/370 and successor systems.[15] 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[16] 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,[e] 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.[12]: 195ff 

The online editing and job submission environment Source Program Maintenance Online II (SPM) was oriented around the 3270.[17]

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.[citation needed]

A version of the WordPerfect word processor ported to System/370 was designed for the 3270 architecture.

SNA

[edit]

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

[edit]

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.[clarification needed] 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[f] 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.[18]

Models

[edit]
IBM selector-pen in use

The IBM 3270 display terminal subsystem consists of displays, printers and controllers. Optional features for the 3275 and 3277 are the selector-pen,[g] 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.[14] Later an Operator Identification Card Reader was added which could read information encoded on a magnetic stripe card.

Displays

[edit]

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

[edit]

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

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

3278

[edit]
  • 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-side
      model 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

[edit]
IBM 3279 Color Display Terminal
An Informatics General computer programmer using an IBM 3279 terminal
IBM 3279-S3G terminal displaying a pie chart, showing green lightning

The IBM 3279 was IBM's first color[20] 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.[21] 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.[22] 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[h] software support, Graphical Data Display Manager (GDDM), was designed at IBM's Hursley Development Laboratory, near Winchester, England.[23]

3290

[edit]
IBM 3290

The 3290 Information Panel a 17", amber monochrome plasma display unit announced[24] 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.[25][i] 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

[edit]
  • 3178: lower cost terminal (1983)
  • 3179: low cost color terminal[26] announced March 20, 1984.

3180

[edit]

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

[edit]

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

[edit]
  • 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[g] pen capability
  • Model W provides a black and while 15 inch CRT with 80x24, 80x32, 80x44 or 132x27 characters

3193

[edit]

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

[edit]

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

[edit]
  • 3104: low-cost R-loop connected terminal for the IBM 8100 system
  • 3472 Infowindow

Non-IBM Displays

[edit]

Several third-party manufacturers produced 3270 displays besides IBM.

GTE
[edit]

GTE manufactured the IS/7800[27] 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
[edit]

Harris manufactured the 8000[28] Series Terminal Systems, compatible with IBM 3277 displays attached to a 3271 or 3272.

Harris later manufactured the 9100–9200[29] Information Processing Systems, which included

  • 9178
  • 9278
  • 9279-2A
  • 9279-3G
  • 9280
Informer 270 376/SNA
[edit]

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.[30][31]

Memorex Telex
[edit]
  • Memorex 1377, compatible with IBM 3277
    Attaches to 1371 or 1372

Documentation for the following is available at[32]

  • Memorex/Telex 2078
  • Memorex/Telex 2079
  • Memorex/Telex 2080
  • Memorex/Telex 2178
  • Memorex/Telex 2179
Nokia/Alfaskop
[edit]
  • Alfaskop Display Unit 4110
  • Alfaskop Display Unit 4112
AT&T
[edit]

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

Graphics models

[edit]

IBM had two different implementations for supporting graphics. The first was implemented in the optional Programmed Symbol Sets[34] (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
[edit]

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
[edit]
IBM 3179G
Also known asIBM 3179G Color Display Station
ManufacturerIBM
Release dateMarch 1984 (1984-03)
Introductory priceUS$2,295 (equivalent to $6,946 in 2024)
SuccessorIBM 3192-G

The IBM 3179G announced June 18, 1985,[35] is an IBM mainframe computer terminal providing 80×24 or 80×32 characters, 16 colors, plus graphics[36][37][38][39][40] 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).[41] The graphics layer is an area of 720×384 pixels.[42] 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
[edit]

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
[edit]

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

[edit]

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

[edit]
  • 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

[edit]
4224 printer
  • 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

[edit]
IBM 3174 controller
IBM 3274-41D controller with terminal
  • 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[43]

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.[44]

3274 controller

[edit]

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.[45]

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

[edit]

IBM introduced the 3174[46] 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.[47]

Non-IBM Controllers

[edit]
GTE
[edit]

The GTE IS/7800 Video Display Systems used one of two nominally IBM compatible controllers:

  • 7801 (remote, 3271 equivalent)
  • 7802 (local, 3277 equivalent)
Harris
[edit]

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
[edit]

An alternative implementation of an establishment controller exists in form of OEC (Open Establishment Controller).[48][49][50][51] 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
[edit]

Memorex had two controllers for its 3277-compatible 1377; the 1371 for remote connection and the 1372 for local connection.[52]

Later Memorex offered a series of controllers compatible with the IBM 3274 and 3174

  • 2074
  • 2076
  • 2174
  • 2274

Multiplexers

[edit]

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

[edit]

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.[citation needed]

Telnet 3270

[edit]

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.[5][53] 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

[edit]

3270 character set

[edit]

The 3270 displays are available with a variety[54] of keyboards and character sets. The following table shows the 3275/3277/3284–3286 character set[55][56] 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.[14]: 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

[edit]

Data sent to the 3270 consist of commands, a Copy Control Character (CCC)[j] or Write Control Character (WCC) if appropriate, a device address[j] for copy, orders, character data and[a] 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.[a]

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

[edit]

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[57]
Command Hexadecimal Graphic Function
local
non-SNA
EBCDIC ASCII
Copy[j] F7 37 7 Copy from one device buffer to another, e.g., from a display to a printer
Erase All Unprotected[58] 0F 6F 3F ? Erase all unprotected fields and reset modified data tags
Erase/Write[59] 05 F5 35 5 Erase device buffer, then write WCC followed by orders and data
Erase/Write Alternate[k][60] 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[61] 02 F2 22 2 Read entire device buffer, including attributes
Read Modified[62] 06 F6 36 6 Read AID, cursor and, except for short read, modified fields from device
Read Modified All[63] 6E 3E : Read AID, cursor and modified fields from device; no short read
Select[64] 0B Transfer data from device to control unit with channel disconnected
Select RB[l][65] 1B Select Read Buffer;
may only be chained to Read Buffer
Select RBP[l][66] 3B Select Read Buffer from Position;
may only be chained to Read Buffer
Select RM[l][67] DB Select Read Modified
Select RMP[l][68] 2B Select Read Modified from Position
Select WRT[l][69] 4B Select WRT Command
May only be chained to a Write or Write Structured Field
Sense[70] 04 Retrieve error information after unit check
Sense ID[k][71] E4 Retrieve control unit identification
Write[72] 01 F1 31 1 Write WCC followed by orders and data
Write Structured Field[k][a][73] 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

[edit]

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

[edit]

Orders[74] consist of the order code byte followed by zero to three bytes of variable information.

Orders for 3277[m]
Order Hexadecimal code (EBCDIC) Description[14]
Byte 1 Byte 2 Byte 3 Byte 4
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

[edit]

The 3270 has three[75] kinds of attributes:

Field attributes
[edit]

The original 3277 and 3275 displays used an 8-bit field attribute byte[76] of which five bits were used.[14]: 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."[76]: 1–7 

Extended attributes
[edit]

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

Character attributes
[edit]

The 3278 and 3279 and later models allowed attributes on individual characters[78] 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

[edit]

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."[14]: 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.[79] 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 '"'.[14]: 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

[edit]

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.

  Data        Description
  D3          WCC [reset device + restore (unlock) keyboard + reset MDT]
  11 5C F0    SBA Row 24 Column 1
  1D F0       SF/Attribute
              [protected, alphanumeric, display normal intensity, not pen-detectable, MDT off]
  6E 40       '> '
  1D 40       SF/Attribute
              [unprotected, alphanumeric, display normal intensity, not pen-detectable, MDT off]
              SBA is not required here since this is being written at the current buffer position 
  13          IC — cursor displays at current position: Row 24, column 5
  11 5D 7F    SBA Row 24 Column 80
  1D F0       SF/Attribute
              [protected, alphanumeric, display normal intensity, not pen-detectable, MDT off]

Extended Data Stream

[edit]

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

See also

[edit]

Notes

[edit]

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
The IBM 3270 is a family of block-mode, text-based display terminals introduced by IBM in 1971 to interface with mainframe computers such as the System/360 and System/370, enabling efficient data entry, inquiry, and display operations for multiple users through structured datastreams rather than character-by-character transmission.[1][2] Comprising control units like the 3271 and 3272, display stations such as the 3277 (available in 12x40 or 24x80 character models) and 3275, and printers including the 3284 and 3286, the system supported local and remote configurations with transmission speeds up to 7,200 bits per second and data compaction for improved efficiency.[2][3] Key features included operator aids like cursor controls, selector pens for menu selection, audible alarms, and keyboard locking to prevent input until the mainframe was ready, all designed to minimize training and enhance reliability in office environments.[2][4] The 3270 system marked a significant advancement over predecessors like the IBM 2260 by supporting up to 32 devices per control unit in a cluster, reducing costs through flexible configurations and higher transaction rates while integrating with IBM's Systems Network Architecture (SNA) for networked operations.[3][2] Over time, it evolved with enhancements like the 3278 display station in 1977 and protocol converters in the 1980s to connect ASCII terminals, and later transitioned to TN3270 for TCP/IP compatibility, remaining influential in enterprise computing for decades.[3][4]

Overview

Core Principles

The IBM 3270 operates as a block-mode terminal system, distinguishing it from character-mode terminals by buffering and transmitting entire screen contents as discrete blocks rather than sending individual keystrokes in real time. In block-mode operation, the terminal maintains a local buffer that stores formatted screen data, allowing users to edit input locally without immediate host interaction; this approach minimizes bandwidth usage by enabling the host to send complete, pre-formatted screens and receive only modified fields upon user submission, achieving efficient data transfer rates such as up to 650,000 bytes per second for write operations in local configurations.[5][6] By contrast, character-mode systems transmit each character as it is entered, which increases network overhead and latency, whereas the 3270's block transmission supports high-volume, interactive environments by reducing the frequency of host communications.[5] A central principle of the 3270 is the use of structured fields within the data stream to control screen formatting and user interaction, where attribute characters define field properties such as protection status, display intensity, and numeric restrictions, embedded in the buffer via orders like Set Buffer Address (SBA) and Start Field (SF). User input is collected in unprotected fields of this buffer without host involvement until an Attention Identification (AID) key—such as Enter or a Program Function (PF) key—is pressed, at which point the terminal locks the keyboard, generates an attention interrupt, and transmits the AID byte along with only the modified data as a block to the host via commands like Read Modified.[7][5] This mechanism, including support for nondisplay fields like passwords, ensures secure and efficient local editing while allowing the host application to process structured responses, such as function key activations (e.g., PF7 for page up).[7][6] Introduced in 1971 as part of IBM's System/370 ecosystem, the 3270 facilitated time-sharing and transaction processing by enabling multiple remote users to interact concurrently with a centralized mainframe, supporting virtual memory for efficient resource allocation across large databases and real-time applications like inventory management.[8] In this environment, the 3270's block-mode design optimized the System/370's multi-programming capabilities, allowing terminals to handle conversational time-sharing via the Time Sharing Option (TSO) and high-throughput transaction workloads, such as those in banking and retail, by consolidating thousands of programs onto a single host.[8][6] The hardware-software interaction model of the 3270 relies on compatible controllers, such as the 3271 or 3275, to mediate between multiple attached devices and the host System/370, managing up to 32 terminals or printers through polling sequences and command execution like Write or Erase/Write to handle data streams efficiently.[9][6] These controllers process channel commands from the host, convert protocols if needed (e.g., for remote attachments via SDLC), and ensure synchronized operation by buffering data transfers and reporting device status, thereby enabling scalable, interactive access in both local channel-attached and remote network configurations.[9][6]

Applications and Environments

The IBM 3270 found widespread application in enterprise environments requiring high-volume transaction processing, particularly in sectors such as banking, airlines, and manufacturing. In banking, it supported teller systems and ATM backends for tasks like account inquiries, fund transfers, and customer service interactions, often integrated with Customer Information Control System (CICS) for real-time transaction management.[10][11] Airlines utilized the 3270 for reservation systems, enabling operators to check seat availability, process bookings, and manage flight schedules across distributed offices.[10][12] In inventory management, manufacturing firms employed it for production scheduling, stock tracking, and order fulfillment, facilitating efficient data entry and updates to centralized databases.[10][13] Integration with IBM mainframes, such as the System/370 and later z/OS, allowed the 3270 to handle data entry, inquiry, and batch operations through local or remote attachments via channels or communication controllers.[13] These systems supported formatted screens for structured input, enabling multiple users to interact simultaneously with shared resources like DB2 databases while maintaining data integrity and rapid response times under one second for typical transactions.[10] CICS, running on these mainframes, exemplified this by processing 3270-based transactions for online key entry in payroll or inventory applications, often using block-mode operations to minimize mainframe interruptions.[11][13] Deployment environments typically involved office installations with coaxial cabling connecting terminals to control units like the 3274, supporting distances up to 1,500 meters per segment and accommodating up to 32 devices per unit.[3][13] Later adaptations in the 1980s incorporated token-ring networks through gateways such as the 3174 Model 1L, allowing up to 140 workstations to connect via SNA protocols for distributed access to mainframe resources.[14] These setups used modems or data links for remote sites, ensuring reliable connectivity in multi-site enterprises.[13] The 3270 significantly enhanced workflow efficiency in large organizations from the 1970s to the 1990s by enabling centralized data processing on a single mainframe to serve thousands of users, offloading I/O tasks to control units and reducing communication overhead through buffered, block-oriented transmissions.[10][13] This architecture supported continuous availability for mission-critical operations, streamlining administrative, clerical, and executive tasks while improving overall system performance and scalability.[10]

History and Development

Origins and Evolution

The IBM 3270 Information Display System was introduced in 1971 as a successor to the IBM 2260 and 2265 display systems, addressing the growing demand for higher-density, more efficient terminals in System/360 mainframe environments.[15] This evolution stemmed from evaluations aimed at reducing communication line costs, transmission control overhead, CPU utilization, and channel demands associated with earlier video display setups, enabling decentralized data entry to replace costly transcriptive methods and improve throughput in large-scale data processing operations.[15] The system's design emphasized block-mode operation for alphameric displays, supporting inquiry, data entry, and system console functions across System/360 models 25 through 195 and early System/370 variants, with compatibility for programming interfaces like BTAM, TCAM, and CICS.[15] In the 1970s, the 3270 family focused on monochrome models and foundational cluster architectures, with the initial 3271 and 3272 controllers pairing with the 3277 display station to form polled clusters of CRTs, enhancing reliability and operator efficiency over asynchronous terminals.[16] A key milestone came in 1977 with the launch of the 3278 display station, which improved upon the 3277 by incorporating more processing into the 3274 cluster controller, reducing terminal manufacturing costs and response times while maintaining the 80x24 character format that became an industry standard.[16] This period aligned with IBM's broader strategy to optimize mainframe-terminal interactions, including early integration with the Virtual Telecommunications Access Method (VTAM) and Systems Network Architecture (SNA) for networked operations via SDLC protocols.[16] The 1980s marked a phase of expansion into color, graphics, and compatibility features, reflecting IBM's push toward versatile, cost-competitive systems amid rising personal computing influences. Models like the 3179 and 3279 introduced color displays, while the 3270-PC/G and 3270-PC/GX added graphics capabilities, enabling vector and bitmap rendering for enhanced applications.[16] ASCII-compatible variants, such as the 7426 in 1982 and later 4994 and 7171 models, facilitated protocol conversion for non-IBM environments, broadening adoption.[16] Networking advancements, including the 3710 controller and coaxial multiplexers like the 3299, supported longer cable runs and local-area integration, tying into SNA/VTAM for scalable enterprise connectivity.[16] By the 1990s, the 3270 evolved toward advanced cluster controllers, with the 3174 Subsystem Control Unit—announced in 1987 and refined through the decade—offering programmable features for expanded connectivity, including token-ring and Ethernet options, to bridge legacy mainframes with emerging networks.[17] This progression culminated in models like the 3483 terminal, resembling thin clients with VGA support, as IBM adapted the architecture to sustain mainframe ecosystems amid distributed computing shifts.[18]

Manufacturing and Production

The IBM 3270 family of display terminals and associated controllers was initially designed and manufactured at IBM's Kingston, New York facility, where engineering work began in 1968 and the first display terminals were shipped in 1971.[19] Printer components within the 3270 ecosystem were produced at IBM's Endicott, New York plant, a key site for much of the company's hardware assembly during that era.[20] Additional production occurred at IBM's Greenock, Scotland facility, which handled a significant portion of the subsystem components for international distribution.[21] By 1985, cumulative production had exceeded 1 million 3270 terminals delivered worldwide, reflecting the system's widespread adoption in enterprise environments.[22] Manufacturing costs varied by configuration and model, with purchase prices for mid-1980s units ranging from approximately $3,160 for a basic color display like the 3279 Model S2A to over $21,000 for integrated printer models such as the 4250.[22] Early production in the 1970s benefited from economies of scale as volumes grew, though specific per-unit breakdowns from that period emphasized modular assembly to support high-volume output at Kingston before partial shifts to other sites. As the 3270 line evolved through the 1980s, manufacturing adapted to component sourcing changes, including the introduction of more compact designs in later models to align with advancing electronics standards.[23] By the mid-1980s, older controller models like the 3271, 3272, and 3275 were withdrawn from marketing, signaling a transition toward updated variants.[22] Production of select display and printer models, such as certain 3278 and 3276 configurations, ceased new manufacturing around 1984.[22] The overall 3270 hardware line was discontinued in the late 1990s with the introduction of the final model, the 3483 terminal, after which IBM shifted focus to software emulation; extended maintenance support for legacy installations continued into the early 2000s to accommodate ongoing enterprise use.[18]

System Architecture

SNA Protocol Integration

The IBM 3270 family of terminals and printers integrates with IBM's Systems Network Architecture (SNA) to enable reliable, hierarchical networking in enterprise environments, allowing 3270 devices to communicate with mainframe hosts over shared links. This integration occurs primarily at the data link control (DLC) and transmission control (TC) layers of SNA, where 3270 controllers act as nodes that manage multiple dependent devices. SNA provides the framework for session management, error recovery, and flow control, ensuring that 3270 data streams are transported efficiently across potentially large networks.[24] In SNA, 3270 integration leverages specific Physical Unit (PU) and Logical Unit (LU) types to define device roles and capabilities. Cluster controllers, such as the IBM 3174, function as PU Type 2 nodes, which support multiple attached 3270 devices and handle local processing while connecting to the host via SNA links. For the devices themselves, displays operate as dependent LU Type 2, supporting interactive sessions with the full 3270 data stream for screen formatting and user input. Printers use dependent LU Type 3, which employs a subset of the 3270 data stream optimized for print output, or occasionally LU Type 1 for SNA Character String (SCS) printing in compatible scenarios. These LU types ensure compatibility with host applications like CICS or IMS, where the host's LU (typically Type 6.2 or similar) acts as the primary endpoint.[25][26][27] Session establishment between 3270 devices and the host follows SNA's standard LU-LU protocol, initiated by the primary LU (PLU) on the host sending a BIND request to the secondary LU (SLU) on the device side. This process begins after an Exchange Identification (XID) handshake establishes link parameters, followed by the BIND Path Information Unit (PIU)—SNA's basic transmission unit comprising a transmission header (TH), request header (RH), and request unit (RU)—which negotiates session characteristics like data flow control, pacing windows, and compression levels. The SLU responds with a positive acknowledgment, activating the session for bidirectional data exchange; PIUs carry all subsequent 3270 traffic, with VTAM managing routing and recovery. This ensures robust connectivity, with sessions typically limited to one per dependent LU in 3270 setups.[24] SNA's architecture facilitates multi-host connectivity for 3270 devices by allowing a single controller to establish sessions with multiple mainframes through VTAM's resource management and cross-domain routing via Network Control Programs (NCPs). This enables load balancing and failover across hosts in subarea networks. Additionally, the Remote Spooling Communications Subsystem (RSCS) extends SNA to support remote printing and file transfer for 3270 printers, routing spool files across interconnected systems for centralized management and distribution in multi-node environments.[24][28] Over time, SNA's physical layer evolved to support 3270 networking beyond its original Synchronous Data Link Control (SDLC) links, which provided point-to-point or multipoint connections at speeds up to 56 Kbps. In the 1980s, IBM adapted SNA for local area networks with Token Ring attachments on controllers like the 3174, enabling peer-to-peer communication at 4 or 16 Mbps while preserving hierarchical control. Later enhancements, including the 1990s introduction of Enterprise Extender, allowed SNA (and thus 3270 traffic) to run over Ethernet and IP networks via tunneling, facilitating integration with modern TCP/IP infrastructures without replacing legacy hardware.[27][29]

Controller and Multiplexer Functions

The IBM 3274 served as a local control unit in 3270 systems, managing communications for up to 32 attached devices such as display stations and printers. It handled device polling through general polls to sequentially check all devices for status or input and specific polls to target individual devices, enabling efficient data transfer and operator interaction without constant host intervention. Address assignment was managed via a 32-address scheme (or 12/16 for certain remote models), with sequential allocation starting from address 00 for non-SNA or 02 for SNA configurations, supporting up to 256 terminal addresses in channel-attached setups. The 3274 supported local channel attachments via coaxial cable to hosts like System/360 or System/370, categorizing devices as Type A (e.g., 3278 displays) or Type B (e.g., 3277 displays) for compatibility.[30] Error handling in the 3274 included detection of conditions like operation checks, device checks, parity errors, and communication failures, with recovery procedures involving retries, sense code reporting (e.g., X'1003' for intervention required), and operator alerts via status bytes. Diagnostics featured built-in tests such as Test 0 for communication verification and Test 1 for error logging, along with Read Buffer and Sense commands to identify issues like invalid cursor positions or data parity, often displayed through 8421 indicators or nnn codes for maintenance. These functions ensured reliable operation by queuing alerts by priority and supporting host-initiated recovery.[30] The IBM 3174 establishment controller advanced these capabilities as a replacement for the 3274, incorporating downloadable microcode licensed from IBM for flexible updates and customization at a central site. It supported up to 88 devices (e.g., 64 3270 and 24 ASCII devices depending on model), including control unit terminals like the 3178 display and printers such as the 3287, through enhanced scalability over the 3274's limits. Interfaces included bisynchronous for legacy compatibility and token-ring for local area network integration, enabling roles as an SNA PU 2.0 node with peer-to-peer communication and multi-host support via concurrent ESCON adapters. In SNA environments, it briefly managed sessions like SSCP-PU for network control, but focused on hardware-level device aggregation.[31][32] For the 3174, error handling extended to advanced SNA alert functions, with sense codes like X'0802' for unit checks and recovery via error recovery procedures (ERP) including retransmission and operator intervention, prioritizing severe errors in a single alert queue per device. Diagnostics incorporated query replies for device characteristics (e.g., color support), online tests via TEST commands, and integration with tools like Response Time Monitor (RTM) for performance logging, alongside maintenance analysis procedures (MAP) and NetView alerts for network-wide issue resolution. These built-in self-test features and detailed status codes (e.g., 2nn-8nn series) improved fault isolation compared to earlier controllers.[31] Multiplexer functions in 3270 systems were provided by devices like the IBM 3299 Terminal Multiplexer, which concentrated multiple low-speed terminal lines into a single high-speed channel, reducing cabling complexity in large installations. Models 2 and 3 acted as intermediaries between controllers such as the 3174 or 3274 and up to 8 terminals per unit, supporting distances up to 1500 meters from the controller and 3000 meters total with daisy-chaining, compatible with large-cluster models except the 3274 Model 51C. Up to four 3299 units could connect 32 terminals to a controller, interleaving signals over coaxial cable for efficient data flow. Error handling relied on the attached controller's diagnostics, with no independent self-test features detailed, but it supported offline/online tests through the host unit for signal integrity verification.[33]

Hardware Components

Display Terminals

The IBM 3270 display terminals served as the primary interactive interfaces for the 3270 Information Display System, enabling block-mode data entry and display in mainframe environments. These terminals utilized cathode ray tube (CRT) technology, known as Control Unit Terminal (CUT) displays, to render alphanumeric characters in a monochrome green phosphor format initially, with later models introducing color capabilities. Screen sizes varied across models, ranging from 12 rows by 40 columns (480 characters) to larger formats up to 43 rows by 80 columns (3,440 characters) in advanced variants, supporting efficient data presentation without constant screen refresh from the host.[34][35][36] The foundational models included the IBM 3275 and 3277 Display Stations, introduced in 1971. The 3275 featured an integrated control unit for remote, standalone operation via modem, with Model 1 offering a 12x40 character screen (480 characters total) and Model 2 providing a 24x80 character screen (1,920 characters total). The IBM 3277, designed for cluster configurations, featured monochrome CRT displays with two primary variants: Model 1 offering a 12x40 character screen (480 characters total) and Model 2 providing a 24x80 character screen (1,920 characters total). These terminals emphasized reliability through buffered operation, where the entire screen content was stored locally and updated in blocks, reducing transmission overhead and flicker via a refresh rate of approximately 50 times per second using a 7x9 dot matrix character set. Input was handled via detachable keyboards, including 66-key or 78-key typewriter-style layouts for standard alphanumeric entry, with optional data entry keyboards featuring numeric pads and program function keys (PFKs) that generated Attention Identification (AID) codes for host interaction; an APL keyboard variant was available for mathematical applications. Additional input options included a selector pen for pointing at screen elements and an audible alarm for operator feedback, all connected via a 20-foot cable to support flexible workstation setups.[34][34][34][37] In 1977, the IBM 3278 Display Station succeeded the 3277, incorporating enhancements for greater reliability and maintainability, such as field-replaceable units (FRUs), built-in diagnostics, and improved power supplies to minimize downtime in enterprise settings. Available in Models 1 through 5, it retained the monochrome CRT design but expanded screen options, including Model 1's 12x80 format (960 characters), Models 2–4's standard 24x80 (1,920 characters), and Model 5's extended 24x132 (3,168 characters) for wider data views. Keyboard options mirrored the 3277's, with typewriter, data entry, and APL configurations, plus added support for text processing and numeric lock features; PFKs continued to produce AID signals for actions like field exit or program interrupts. The 3278's design emphasized ergonomic adjustments, such as tiltable screens and operator-adjustable brightness, while maintaining compatibility with 3270 control units for seamless integration.[35][35][35] The IBM 3279 Color Display Station, launched in 1979, extended the 3270 family with color CRT technology using a shadow-mask tube and three electron guns for red, green, and blue primaries, enabling up to seven colors (including yellow, pink, turquoise, and white) for improved data differentiation. Models included 2A/2B (24x80 characters, 1,920 total) and 3A/3B (32x80 characters, 2,560 total), with A-suffix variants supporting four colors and B-suffix adding extended character sets and highlighting. Input devices paralleled prior models, featuring 75/76- or 87/88-key keyboards in typewriter, data entry, or APL layouts, with PFKs for AID generation and optional selector pens or magnetic slot readers for enhanced interaction. The color capability was particularly valued for applications requiring visual cues, such as highlighting fields or errors, while maintaining the block-mode efficiency of earlier terminals.[38][38][38] Advanced models in the 1980s addressed portability and larger displays, with the IBM 3179 Color Display Station introduced in 1984 as a compact, portable option featuring a 14-inch diagonal CRT screen supporting 24x80 or 32x80 formats (1,920–2,560 characters) in multicolor modes for mobile use in field or office settings. The 319x series, developed through the late 1980s and 1990s, offered expanded capabilities, exemplified by the 3191 Display Station with 12-inch (Models A/B: 1,920 characters) or 14-inch (Models D/E/L: up to 2,560 characters) monochrome CRT screens, including options for selector light pens and local printing ports. These models supported screen sizes up to 43x80 in the broader series, prioritizing monochrome efficiency for high-volume data entry. All advanced terminals used CUT (CRT-based) technology, with some later variants using Distributed Function Terminal (DFT) technology, including gas-discharge (plasma) panels as in the IBM 3290 model, to reduce power and flicker, though CRT remained dominant. Keyboard features evolved to include 102- or 122-key enhanced layouts with APL options and dedicated PFKs for AID generation, facilitating complex interactions like keystroke recording and multi-screen viewing.[36][39][39]

Printers

The IBM 3270 printer models were designed to provide non-interactive, high-volume output compatible with the 3270 data stream, serving as the hardcopy counterparts to display terminals.[40] Early examples included the IBM 3284 and 3286 matrix impact printers, introduced in 1972. The 3284 featured 132 print positions, with Model 1 at 120 characters per second (cps) and Model 2 at 200 cps, supporting continuous forms. The 3286 offered similar speeds but with options for cut-sheet paper handling and operator controls for versatility in office environments. A prominent later example is the 3287 matrix printer, introduced in 1979, which featured bi-directional wire-matrix printing across 132 positions and supported both monochrome and color variants (Models 1C and 2C).[37][41] Operating at speeds of 80 characters per second (cps) for Model 1 and 120 cps for Model 2, the 3287 handled cut-sheet or roll-fed paper and emphasized reliability for office environments.[13] For line-printing needs, the 3262 offered a variant focused on continuous forms, with Model 3 achieving 650 lines per minute (lpm) using a 48-character print band, while Model 13 provided 325 lpm for reduced-speed applications.[13] In the 1980s, higher-capacity options like the 3289 line printer addressed demands for faster throughput, delivering 155 lpm in Model 1 and 400 lpm in Model 2, suitable for bulk data processing on continuous fanfold paper.[13] Across models, print speeds ranged from approximately 40 cps in entry-level configurations to over 600 lpm in advanced line printers, balancing cost, volume, and media handling for enterprise use.[42][13] These printers primarily utilized Logical Unit (LU) Type 1 mode for dedicated print-only sessions, enabling the output of formatted screens in SNA Character String (SCS) format without interactive display functions.[43] Later models, such as enhanced 3287 and 3268 variants, extended support to include bar codes and other structured elements within the print stream, enhancing utility for inventory and reporting tasks.[44] Integration with host systems often involved spooling through the Job Entry Subsystem (JES), where tools like NetSpool converted 3270 data streams for queuing and distribution across multiple devices.[45] This compatibility ensured seamless handling of display-oriented content in batch printing workflows.[40]

Third-Party and Compatible Hardware

In the 1970s and 1980s, several third-party vendors developed hardware compatible with the IBM 3270 family to provide cost-effective alternatives for organizations seeking to connect to IBM mainframe hosts without incurring IBM's premium pricing.[46] These implementations adhered strictly to the 3270 data stream protocol, ensuring plug-and-play interoperability with IBM's Systems Network Architecture (SNA) environments and allowing seamless integration with existing controllers and hosts like the System/370.[47] By emulating the core commands, orders, and buffer addressing of the 3270, third-party devices avoided the need for custom software modifications on the host side, making them attractive for large-scale deployments in enterprise settings.[48] Memorex Telex emerged as a prominent player following the 1984 merger of Memorex and Telex, offering a full suite of 3270-compatible terminals, controllers, and printers designed as direct replacements for IBM models.[46] Notable examples include the 1091 series monochrome displays (e.g., 1091D/E models supporting 1920-character screens) and the color-capable 1091C, which featured enhanced keyboards with up to 122 keys for specialized functions and support for international character sets.[46] Controllers like the 1174 and 1374 series supported up to 96 devices and multiple protocols including SNA/SDLC, while printers such as the 1187 dot-matrix model delivered 200 characters per second at a fraction of IBM's cost—terminals priced from $995 to $2,960 compared to higher IBM equivalents.[46] These products emphasized reliability and added features like light pen support and local printing, targeting Fortune 1000 companies looking to expand without vendor lock-in.[46] Earlier in the decade, GTE Information Systems introduced the IS/7800 series in 1973 as one of the first full 3270 replacements, comprising local and remote cluster controllers (IS/7801, IS/7802) that supported up to 26 devices with transmission speeds reaching 9600 bits per second—double IBM's 4800 bps limit.[48] Display terminals in the series offered screen capacities from 240 to 1920 characters, with options for graphics and auxiliary monitors, and integrated printers at 30 or 165 characters per second.[48] Priced significantly lower than IBM's offerings, the IS/7800 achieved strong user satisfaction in 1976 surveys for its cost savings and BSC protocol compatibility, enabling direct substitution in IBM software environments.[48] Telex, prior to its merger with Memorex, independently produced models like the TC178 (replacing the IBM 3278) and TC279 color display, which featured ergonomic enhancements and multi-peripheral support at prices around $1,550—about 30-50% below IBM's.[47] Similarly, Amdahl offered controller compatibles aligned with Memorex designs, focusing on high-volume SNA environments.[47] Other vendors, such as Applied Digital Data Systems (ADDS), provided terminals like the Viewpoint series that accessed 3270 applications via protocol converters, incorporating advanced keyboards and lower-cost monochrome or color screens for hybrid setups.[49] This third-party ecosystem fostered vigorous competition, driving terminal prices down by 20-40% through the late 1970s and enabling broader adoption of distributed data processing.[50] Vendors like Memorex Telex captured about 28% of the 3270-compatible market by the mid-1980s, compelling IBM to refine its pricing and expand compatibility programs.[46] However, IBM retained dominance—holding over 50% market share—through rigorous SNA certification requirements that ensured only vetted third-party hardware fully supported advanced networking features, limiting some competitors to basic BSC implementations.[51] This dynamic ultimately benefited users by accelerating innovation in display technologies while maintaining ecosystem stability.[50]

Technical Specifications

Character Set and Encoding

The IBM 3270 system employs a subset of the Extended Binary Coded Decimal Interchange Code (EBCDIC) for character encoding in its communications and displays, consisting of 96 printable characters that include uppercase letters (A–Z), digits (0–9), the space character, and 59 graphic symbols such as &, $, #, @, and %. [52] This subset is derived from the full 256-code EBCDIC scheme but restricts usage to ensure compatibility across terminals, printers, and controllers, with non-printable control codes handled separately in the data stream. [52] For the standard US English configuration, the 3270 utilizes IBM code page 037 (also known as CCSID 37), which maps these characters to specific byte values in the EBCDIC range, such as hex C1 for 'A', hex 4A for '¢', and hex 5C for '*'. [53] International variants adapt this base set through National Replacement Characters (NRC), substituting certain graphic symbols with accented or national-specific letters to support languages like French (e.g., replacing '#' with '£' at hex 5B), German (e.g., 'Ä' at hex 4A), or Spanish (e.g., 'Ñ' at hex 5A), while preserving the core 96-character structure for interoperability. [52] These NRC sets are predefined for regions including Austria/Germany, Belgium, Brazil, Canada (French), Denmark/Norway, Finland/Sweden, France, Italy, Portugal, Spain, and the UK. [54] On 3270 display terminals, characters are rendered using fixed-width monospaced fonts to maintain alignment in the 80x24 or similar grid-based screens, with hardware support for visual attributes such as overline (a horizontal line above the character), underline (below), and reverse video (inverting foreground and background colors). [52] These attributes are applied at the field or character level without altering the encoded character itself, enhancing readability for tabular data or emphasis in host applications. [54] Extensions for graphics, such as all-points-addressable (APA) modes on models like the 3279, incorporate additional EBCDIC codes or two-byte sequences (e.g., using a Graphic Escape byte at hex 08) to access vector-drawn symbols beyond the standard printable set. [52] Early 3270 models, such as the 3277 terminal introduced in 1971, were limited to uppercase-only displays in their base configuration, mapping lowercase EBCDIC codes (e.g., hex 81–A0) to their uppercase equivalents for output, though input keyboards could generate them. [54] This mono-case limitation persisted until the introduction of the Dual Case feature on later devices like the 3278/3279, which enabled full lowercase rendering. [55] Further enhancements came with the 3270 Extended Character Set (ECS) feature, available on advanced models and controllers, which expanded the repertoire to include up to 190 characters by adding lowercase letters, additional symbols, and support for APL or text-specific glyphs, addressed via extended data stream orders. [55]

Data Stream Fundamentals

The IBM 3270 data stream defines the protocol for exchanging information between a host application and 3270-compatible display or printer devices, enabling the formatting and updating of screen buffers in a structured, block-oriented manner. This stream consists of a sequence of bytes that include commands to initiate operations, control characters for device setup, and payload data representing text, fields, and attributes. The design prioritizes efficiency by allowing the host to transmit complete screen images or modifications in single units, reducing the frequency of interactions compared to line-by-line protocols.[56] Data streams are initiated by specific host commands, such as Read Modified (code X'F6') to retrieve only changed fields from the device buffer or write commands like Write (X'F1') and Erase/Write (X'F5') to update the buffer contents. Write commands are typically followed by a Write Control Character (WCC), a single byte that establishes initial conditions for the operation, including options to reset modified data tags across fields, restore keyboard functionality, sound an audible alarm, or control printer-specific behaviors like line length. For instance, a WCC with bits set to unlock the keyboard and clear all modified data tags (e.g., binary 11000011) ensures the device is ready for user input after the write. These elements form the core of outbound streams, while inbound streams from the device begin with an Attention Identification (AID) byte indicating user actions like pressing Enter.[56][57] Each block in the data stream incorporates a device address for routing, a header containing the command and control information, and variable-length user data such as text or field definitions, all encapsulated for transmission as a Systems Network Architecture (SNA) Request/Response Unit (RU). In SNA environments, the block is prefixed with length, transmission, and response headers (e.g., LH, TH, RH) before the 3270-specific content, ensuring reliable delivery over LU 3 sessions between the host and controller. This RU format supports both normal and retry states, where the device awaits host acknowledgment after inbound transmissions to resume operations. For non-SNA bisynchronous (BSC) connections, blocks are delimited by Start of Text (STX) and End of Text (ETX) characters, with optional DLE for transparency in binary data.[56][58] A representative example of a simple outbound stream to clear the screen and write text begins with the Erase/Write command byte, followed by the WCC byte for setup, then a Set Buffer Address (SBA) order (two bytes specifying the starting position), the field attribute byte, and the text bytes themselves, concluding the block without further chaining. At the byte level, this might appear as: command byte | WCC byte | SBA order bytes | attribute byte | text bytes (e.g., multiple characters forming a label like "Enter data:"), totaling a compact sequence that fully repaints the buffer. Inbound responses to such a stream would include the AID for the Enter key, the cursor address, and only the modified field data.[56][59] In contrast to ASCII-based terminals, which rely on sequential escape sequences and character streaming for real-time updates, the 3270 data stream is inherently binary and field-oriented, operating in block mode to transmit predefined buffer structures that minimize I/O interrupts and support local editing without constant host involvement. This approach, using EBCDIC encoding within fixed screen geometries, enables high-volume data entry but requires the host to manage field protections and modifications explicitly.[60][56]

Commands, Orders, and Attributes

The IBM 3270 data stream employs a set of commands to control the transmission and manipulation of display and printer output, enabling efficient screen updates from the host system. The primary commands include Write, Erase/Write, and Read Modified, each accompanied by parameters that dictate how the terminal processes the incoming data.[7][58] The Write command (hex X'F1') transmits characters and orders to the terminal buffer, starting from the current cursor position or a specified address, and is used for incremental screen updates without clearing existing content. It is followed by a Write Control Character (WCC) as its first parameter, a single byte that sets terminal states such as keyboard unlock, audible alarm, or printer start/end operations. The Erase/Write command (hex X'F5') erases the entire display buffer—resetting the cursor to the home position (row 1, column 1)—before writing new data, making it suitable for complete screen refreshes; it is also followed by a WCC. The Read Modified command (RM, hex X'F6') retrieves only the contents of unprotected fields that the user has altered since the last read, along with their buffer addresses and attribute bytes, facilitating efficient input validation without transmitting unchanged data.[7][58] Within the data stream, orders provide fine-grained instructions for buffer manipulation and formatting, embedded between commands to guide terminal behavior. The Set Buffer Address (SBA) order (hex 0x11) repositions the buffer pointer to a specified 14-bit or 16-bit address (two bytes, row-major format), allowing subsequent data or orders to start at a precise location without overwriting prior content. The Insert Cursor (IC) order (hex 0x0F) places the cursor at the current buffer position, overriding any previous cursor setting and preparing the screen for user input. The Repeat to Address (RA) order (hex 0x3C) fills the buffer from the current position to a target address with a repeated character (the next byte in the stream), useful for drawing lines or padding fields efficiently. These orders interleave with displayable characters to build the screen layout dynamically.[61][58] Field attributes define the behavior and appearance of input/output areas in the 3270 buffer, encoded as special bytes following the Start Field (SF, hex 0x1D) order that control protection, validation, and rendering. The attribute byte uses a bit structure where: bit 0 (1=protected, 0=unprotected), bit 1 (1=numeric-only, 0=alphanumeric), bit 2 (1=nondisplay, 0=display), bit 3 (1=high intensity, 0=normal), bit 5 (1=selector pen detectable), bit 6 (Modified Data Tag, set by device), bit 7 (1=autoskips). Common examples include x'40' (protected alphanumeric display normal) and x'42' (protected numeric display normal). For color-capable models like the 3279, extended attributes via the Start Field Extended (SFE, hex 0x29) or Modify Field (MF, hex 0x2C) orders employ byte pairs (e.g., C1 for foreground color followed by 0xF1 for blue), enabling up to eight colors and highlighting effects like reverse video or underscore.[61][58][56] A representative example is formatting a protected label field followed by a numeric-only input area: the data stream might include an SBA order to position at buffer address 0x0040, a Start Field (SF, hex 0x1D) order with attribute byte x'40' (protected, display), followed by the label text "AMOUNT:", then another SF with attribute byte x'C2' (unprotected, numeric-only, display) to validate subsequent user-entered digits. This setup ensures the label remains static while restricting input to valid numbers, enhancing data integrity in applications like financial entry screens.[61]

Buffer Addressing

The IBM 3270 employs a 14-bit addressing scheme to reference positions within its display buffer, enabling precise management of screen content on models supporting up to 1,920 characters, such as the standard 24-row by 80-column format.[62][63] Addresses range from 0 (top-left corner, row 1, column 1) to 1,919 (bottom-right), calculated as (row - 1) × 80 + (column - 1), where row spans 1 to 24 and column spans 1 to 80.[62][63] This linear, zero-based indexing facilitates sequential access across the buffer, with smaller models like the 12×40 configuration limited to addresses 0 through 479.[63] Positioning within the buffer relies on specific orders for absolute and relative cursor or data placement, such as the Set Buffer Address (SBA) order, which uses hexadecimal code 11 followed by a two-byte address to set an absolute position.[64][63] The Repeat to Address (RA) order, coded as hexadecimal 3C, enables relative positioning by repeating a character from the current buffer location up to a specified target address, also encoded in two bytes.[63] These orders integrate with field management through attribute bytes, which follow the Start Field (SF) order (hexadecimal 1D) to outline and define input/output fields; for instance, an attribute byte like hexadecimal 40 designates a protected alphanumeric display field, controlling visibility and editability while delimiting buffer segments.[62][63] The 3270 operates with a local buffer in each device, serving as dedicated hardware storage that holds the complete screen image for display or printing, including both output data from the host and user input collected via the keyboard.[62][63] This buffer functions independently of the host during routine interactions, updating the screen presentation in real-time as data is entered or modified, with transmission to the host occurring only upon an explicit read command.[62] The first position of each field reserves space for display attributes rather than user data, rendering it blank on screen.[62] Buffer addressing imposes fixed size constraints tied to the device model, such as 480 positions for 12×40 displays or 1,920 for 24×80, without support for dynamic expansion.[63] In models like the 3279, unterminated fields may wrap from the final position (1,919) back to the start (0), potentially spanning the entire buffer if not properly delimited by attributes, which can complicate field integrity in extended operations.[63]

Extensions and Variants

Graphics and Specialized Models

The IBM 3279 Model 5B was a specialized color graphics terminal within the 3270 family, designed to support high-resolution displays for applications utilizing the Graphical Data Display Manager (GDDM). It featured a 27-by-132 character screen capacity, accommodating up to 3,564 characters, with a 7-by-16 pixel cell size to enable all-points-addressable (APA) graphics rendering. This model integrated vector drawing primitives, such as lines, arcs, and images, through the 3270 data stream extensions, allowing for the creation and display of complex graphical elements in retained and non-retained modes.[65][66] Specialized APL models extended the 3270 ecosystem for mathematical and scientific computing, incorporating dedicated hardware for advanced notation. The 3279 Models 2B and 3B, along with compatible 3278 variants, supported the APL/Text feature, which provided access to a 222-character set including 81 APL-specific symbols for array programming and data analysis. These models used specialized keyboards, such as the 87-key EBCDIC Typewriter/APL layout, to input mathematical operators and overstruck characters efficiently. Similarly, the 3287 printer Models 1C and 2C included an APL/Text option via the Extended Character Set Adapter, enabling the printing of the full 222-character set at speeds of 80 or 120 characters per second, respectively, with compatibility requiring the Extended Print Buffer and APL/Text Control on the attached 3274 control unit.[67][67] The IBM 3290 Information Panel represented a high-brightness variant optimized for control room and industrial environments, employing gas plasma technology for its display. Its plasma panel offered a resolution of 960 horizontal by 751 vertical picture elements (PELs), supporting up to 9,920 alphanumeric characters in a 62-by-160 configuration or multiple concurrent logical terminals (up to four active sessions). The device attached to a 3274 Control Unit as a Category A terminal, fully compatible with the 3270 data stream, and displayed in monochromatic orange while accepting color codes for future extensibility; it also supported programmed symbols for basic graphics and features like zoom, rule lines, and screen partitioning into up to 16 sections.[68][68] These graphics-capable models leveraged APA mode to transcend character-based rendering, permitting direct addressing of individual PELs for precise vector graphics via GDDM instructions. Integration with IMS environments occurred through GDDM's Graphics Data Format (GDF), which stored drawing commands for output to 3270 devices, enabling IMS applications to generate and query graphical displays using facilities like the Graphical Display and Query Facility (GDQF) for importing from CAD/CAM systems.[13][69]

Extended Data Stream Features

The 3270 Extended Data Stream (EDS) was introduced in January 1980 as an enhancement to the base 3270 data stream, enabling advanced display and interaction capabilities for IBM 3270 Information Display Systems.[70] It incorporates structured fields to support variable-length data transmission, facilitating more complex formatting and device interactions beyond the original buffer-oriented protocol.[70] EDS was designed to operate in both SNA and non-SNA environments, supporting devices such as the 3274 control unit and later models, while aligning with Systems Application Architecture (SAA) standards for interoperability.[71] A core innovation of EDS is the use of structured fields, initiated by the Write Structured Field (WSF) command, which allows for self-defining parameters up to 255 optional elements, each 2 to 127 bytes long.[71] These fields enable outbound data exchange, such as creating partitions or loading programmed symbols, and inbound replies, including query responses that report device capabilities like color support or usable area dimensions.[71] Query lists are invoked through Read Partition operations with specific query codes (QCODEs), providing the host with details on auxiliary devices, highlighting options, and graphics subsets to tailor application behavior dynamically.[71] This bidirectional data flow supports up to 16-bit addressing for larger screens and printers, enhancing scalability for enterprise applications.[71] Key operational features include Read Partition Absolute, which allows selective input from specific screen partitions by specifying a nonzero partition ID (PID), enabling targeted data retrieval without full buffer reads.[71] Complementing this, Present Absolute facilitates dynamic positioning by formatting data at precise buffer addresses or invoking predefined formats via structured field ID 4B, improving user interface responsiveness.[71] Color table management is handled through commands like Load Color Table (ID OF05), which defines up to eight loadable color sets, and Select Color Table, which switches between them; query replies detail supported colors, such as red (X'C1') or green (X'C5'), including transparency options for overlays.[71] These mechanisms extend the base seven-color palette introduced in EDS, allowing multi-colored fields and characters for better visual distinction.[70] For graphics, EDS introduces orders such as Set Graphics Color to define palette entries and Draw Vector for rendering lines in All Points Addressable (APA) mode, supported by structured fields like Object Control and Extended Drawing Routine.[71] These enable vector-based drawing and segment management on compatible devices, with query replies confirming graphics levels from basic (Level 1) to advanced (Level 4) subsets.[71] EDS maintains full backward compatibility with the base 3270 data stream, ensuring legacy applications function unchanged while allowing seamless integration of new features.[71] It was implemented in controllers like the IBM 3174 Establishment Controller, which processes EDS commands for distributed terminal networks, and continues to be supported in modern IBM z/OS hosts for legacy terminal emulation.

Modern Usage and Legacy

Telnet 3270 Protocol

The Telnet 3270 (TN3270) protocol enables the emulation of IBM 3270 terminals over TCP/IP networks by layering 3270 data stream commands atop the Telnet protocol, typically using TCP port 23. It allows clients to connect to mainframe hosts, transmitting block-mode EBCDIC data while leveraging Telnet's option negotiation for mode transitions. Unlike native SNA connections, TN3270 integrates 3270 functionality into IP environments without requiring dedicated coaxial cabling or controllers.[72] Operation begins in Network Virtual Terminal (NVT) mode, where the connection uses ASCII line-mode communication as a fallback mechanism. The server initiates negotiations via Telnet commands such as IAC DO BINARY, IAC DO END-OF-RECORD (EOR), and IAC DO TERMINAL-TYPE to switch to the 3270 regime, with the client responding affirmatively (e.g., IAC WILL BINARY) and specifying a device type like IBM-3278-2. Once negotiated, 3270 data streams are encapsulated in binary mode, delimited by EOR, enabling full-screen interactions; if negotiations fail (e.g., server sends IAC WONT BINARY), the session reverts to NVT mode for basic connectivity. Although RFC 1041 defined a dedicated 3270-REGIME Telnet option (code 29) for explicit regime switching, it saw limited adoption, leading most implementations to rely on the implicit negotiations above.[72][73] The protocol emerged in the late 1980s as TCP/IP adoption grew, providing a bridge for connecting ARPANET-derived networks to IBM mainframes and facilitating interoperability in academic and research environments. Early formalization came with RFC 1041 in 1988, which proposed the 3270 regime option to streamline Telnet-based 3270 support. Subsequent RFCs refined it: RFC 1576 (1994) documented common practices, while RFC 1647 (1994) introduced initial enhancements for broader device support. Today, TN3270 serves as the standard for web-to-mainframe access, powering terminal emulators in enterprise settings.[73][72][74] TN3270E, the enhanced variant defined in RFC 2355 (1998), extends the original protocol to better accommodate modern 3270 features and replaces RFC 1647. It introduces explicit Telnet suboptions for TN3270E negotiation, implying BINARY and EOR modes, and supports the 3270 extended data stream (e.g., colors and highlighting) through device types suffixed with "-E," requiring clients to handle Read Partition Query commands. Key additions include timing marks via the Telnet TIMING-MARK option for session keep-alives and monitoring, as well as BIND-IMAGE messages that transmit the full SNA Bind RU for precise device type and attribute negotiation between client and server. These features enable robust printer emulation, out-of-band responses, and response modes like unconditional read, which were limited in base TN3270.[75] The original TN3270 protocol provides no inherent encryption, transmitting data in cleartext and exposing sessions to interception on untrusted networks. Contemporary deployments mitigate this by wrapping TN3270 in SSL/TLS, often using dedicated ports like 992 for secure connections, with servers handling certificate-based authentication and cipher suite negotiation via libraries such as OpenSSL. This approach integrates with system security frameworks, such as IBM z/OS SAF, to enforce access controls alongside encryption.[76]

Emulation in Contemporary Systems

In contemporary computing environments, the IBM 3270 terminal is emulated through a variety of software solutions that enable connectivity to mainframe systems from modern desktops, laptops, and servers. IBM Personal Communications (PCOMM) remains a widely adopted commercial emulator, offering full 3270 protocol support with features such as graphical user interfaces, file transfer capabilities, and integration with Windows environments for secure host access.[77] Similarly, Micro Focus Rumba, now part of Rocket Software's portfolio, provides robust 3270 emulation with automated sign-on, SSL/TLS encryption, and UI modernization tools to bridge legacy applications with contemporary workflows on Windows platforms.[78] For open-source alternatives, x3270 serves as a versatile suite of 3270 terminal emulation tools, supporting interactive sessions on Unix-like operating systems including Linux, macOS, and Solaris, as well as Windows, with options for X11 graphical interfaces or curses-based console modes.[79] Web-based emulation has expanded 3270 access to browser environments, eliminating the need for dedicated client installations and enabling support for mobile devices through HTML5 and JavaScript technologies. Solutions like Virtel Web Access deliver 3270 screens as secure HTML webpages, maintaining traditional terminal ergonomics while allowing connections from any HTTPS-enabled browser on desktops, tablets, or smartphones.[80] Likewise, Inventu Viewer+ converts TN3270 data streams into pure HTML and JavaScript, providing instant, plugin-free access to mainframe applications across popular browsers without requiring mainframe modifications, and it extends usability to mobile platforms via responsive design.[81] Hardware emulation persists for scenarios requiring physical terminal integration or specialized connectivity. USB-to-3270 adapters, such as the 3270 USB Interface from Approachware, allow legacy IBM 3270 coax terminals to connect directly to modern PCs, utilizing open-source controller software like OEC to handle protocol translation over USB.[82] The Forvus 3270 Coax Emulation Adapter further supports this by converting coaxial signals to TN3270E over USB, enabling flexible desk-side or networked deployment for environments retaining original hardware.[83] In cloud-based z/OS setups, virtual controllers facilitate 3270 emulation by integrating with VTAM for terminal access to IBM Cloud virtual server instances, allowing remote users to connect via standard emulators while maintaining isolation from public networks.[84] The 3270 emulation ecosystem remains relevant in the 2020s, particularly within banking and government sectors reliant on legacy COBOL and CICS applications for high-volume transaction processing. As of 2024, COBOL underpins 95% of ATM transactions and 80% of in-person banking activities, processing around $3 trillion in daily commerce worldwide.[85] These industries continue to leverage 3270 interfaces for their reliability in handling critical workloads, such as ATM networks and insurance claims. As of 2025, while mainframe modernization initiatives continue, 3270 emulation remains essential for accessing these legacy applications.[86]

References

User Avatar
No comments yet.