|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 189696 (0x2e500) Types: TextFile Names: »42-I2156.TXT«
└─⟦481be0aa0⟧ Bits:30008870 Diskette med 42-I og 44-RT dokumenter └─⟦this⟧ »42-I2156.TXT«
i F_O_R_E_W_O_R_D_ First edition: RCSL No 42-i1692. Second edition: RCSL No 42-i2156. This edition supersedes the first edition. Important changes in the text are indicated by a vertical line in the left-hand margin. Pierce C. Hazelton A/S REGNECENTRALEN af 1979, November 1982 \f ii \f iii T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_ 1. INTRODUCTION ........................................... 1 1.1 RC855 IBM 3270 BSC Emulator ....................... 1 1.2 RC855 Cluster Concept ............................. 2 1.3 RC855 Operation in Brief .......................... 3 2. OPERATIONAL CHARACTERISTICS ............................ 5 2.1 Display Terminal .................................. 7 2.2 Keyboard .......................................... 8 2.2.1 General Description ........................ 8 2.2.2 Alphameric Keys ............................ 9 2.2.2.1 Automatic Cursor Movement ......... 10 2.2.3 Auxiliary Keys ............................. 11 2.2.4 Attention Keys ............................. 12 2.2.5 Editing Keys ............................... 14 2.2.5.1 Keys to Move the Cursor ........... 14 2.2.5.2 Keys to Edit the Data ............. 16 2.3 Printers .......................................... 18 2.3.1 Print Formats .............................. 19 2.3.2 Printer Control Characters ................. 19 2.3.2.1 Transparent Print Formats ......... 20 2.3.2.2 Fixed Print Formats ............... 21 2.3.3 Remote Printing Operations ................. 21 2.3.4 Local Copying .............................. 21 2.3.5 Specific Operational Characteristics ....... 22 2.3.6 Rsum ..................................... 22 3. COMMUNICATION WITH THE HOST COMPUTER ................... 23 3.1 Communication in General .......................... 23 3.2 Transmission Sequences ............................ 24 3.2.1 Line Control Characters .................... 25 3.2.2 Fillers and Delimiters ..................... 26 3.2.3 Sequences .................................. 26 3.3 Text Transfer ..................................... 28 3.3.1 Master and Slave ........................... 28 3.3.2 Text Blocking .............................. 29 3.3.3 Transmission Control ....................... 29 \f iv T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _(_c_o_n_t_i_n_u_e_d_)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_ 3.4 Dialog Patterns ................................... 31 3.4.1 Poll-Initiated Dialogs ..................... 31 3.4.2 Selection-Initiated Dialogs ................ 33 3.4.3 Write-Type and Control-Type Commands ....... 34 3.4.4 Read-Type Commands ......................... 34 3.4.5 Chained Commands ........................... 35 3.5 Status Information ................................ 36 3.5.1 Device Unavailable Status Message .......... 37 3.5.2 Status Messages Used Only for Printers ..... 38 3.5.3 Status Messages Resulting from an Invalid Command .................................... 38 4. COMMANDS AND RESPONSES ................................. 40 4.1 Commands .......................................... 40 4.1.1 Read-Type Commands ......................... 41 4.1.1.1 Buffer Addresses .................. 42 4.1.1.2 AID Characters .................... 42 4.1.1.3 Read Buffer Command ............... 44 4.1.1.4 Read Modified Command ............. 44 4.1.2 Write-Type Commands ........................ 45 4.1.2.1 Buffer Addresses .................. 45 4.1.2.2 Write Control Character (WCC) ..... 46 4.1.2.3 Write Command ..................... 47 4.1.2.4 Erase/Write Command ............... 48 4.1.3 Control-Type Commands ...................... 48 4.1.3.1 Copy Command ...................... 48 4.1.3.2 Erase All Unprotected Command ..... 50 4.2 Device Buffer Orders .............................. 50 4.2.1 Start Field Order .......................... 51 4.2.2 Set Buffer Address Order ................... 52 4.2.3 Insert Cursor Order ........................ 52 4.2.4 Program Tabulation Order ................... 53 4.2.5 Repeat to Address Order .................... 53 4.2.6 Erase Unprotected to Address Order ......... 54 4.2.7 Unsolicited Message Order .................. 54 \f v T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _(_c_o_n_t_i_n_u_e_d_)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_ A_P_P_E_N_D_I_C_E_S_: A. REFERENCES ............................................. 55 B. RC855 KEYBOARD LAYOUTS ................................. 56 B.1 US English Keyboard Layout ........................ 56 B.2 UK English Keyboard Layout ........................ 56 B.3 German Keyboard Layout ............................ 57 B.4 Swedish Keyboard Layout ........................... 57 B.5 Danish Standard Keyboard Layout ................... 58 B.6 Danish Public Sector Keyboard Layout .............. 58 C. EBCDIC CODE SETS ....................................... 59 C.1 US English EBCDIC Character Codes ................. 60 C.2 UK English EBCDIC Character Codes ................. 61 C.3 German EBCDIC Character Codes ..................... 62 C.4 German Alternate EBCDIC Character Codes ........... 63 C.5 Swedish EBCDIC Character Codes .................... 64 C.6 Swedish Alternate EBCDIC Character Codes .......... 65 C.7 Danish Standard EBCDIC Character Codes ............ 66 C.8 Danish Standard Alternate EBCDIC Character Codes .. 67 C.9 Danish Public Sector EBCDIC Character Codes ....... 68 C.10 Danish Public Sector Alternate EBCDIC Character Codes ............................................. 69 D. EBCDIC CODES FOR 6-BIT QUANTITIES ...................... 70 E. 7-BIT CODE SETS ........................................ 74 E.1 US English Printer Character Codes ................ 75 E.2 UK English Printer Character Codes ................ 76 E.3 German Printer Character Codes .................... 77 E.4 Swedish Printer Character Codes ................... 78 E.5 Danish Standard Printer Character Codes ........... 79 E.6 Danish Public Sector Printer Character Codes ...... 80 F. V.24 CONNECTIONS ....................................... 81 \f vi T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _(_c_o_n_t_i_n_u_e_d_)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_ G. TRANSMISSION SEQUENCES SHOWING HEXADECIMAL CODES ....... 83 H. CURSOR-SELECT KEY AND MAGNETIC-STRIPE READER OPERATIONS 85 H.1 Cursor-Select Key Operations ...................... 85 H.1.1 Cursor Selectable Field Format ............. 85 H.1.2 Designator Characters ...................... 86 H.2 Magnetic-Stripe Reader Operations ................. 87 H.2.1 IBM 3277 Specifications .................... 87 H.2.1.1 3277-Compatible Numeric Character Set ............................... 88 H.2.1.2 Magnetic-Stripe Capacity .......... 88 H.2.1.3 Magnetic-Stripe Format ............ 88 H.2.2 IBM 3278 Specifications .................... 89 H.2.2.1 Numeric and Alphameric Character Sets .............................. 89 H.2.2.2 Magnetic-Stripe Capacities ........ 90 H.2.2.3 Magnetic-Stripe Format ............ 90 H.2.3 Alfaskop System 37 Specifications .......... 91 H.2.4 Read Messages .............................. 91 H.2.5 Error Conditions ........................... 93 I. INDEX .................................................. 99 \f vii F_I_G_U_R_E_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_ 1: RC855 Keyboard Layout (US English Variant) ............. 8 2: Text Transfer from CU (Master) to Host (Slave) ......... 30 3: Text Transfer from Host (Master) to CU (Slave) ......... 30 4: Poll-Initiated Dialogs ................................. 32 5: Selection-Initiated Dialogs ............................ 33 6: Write-Type or Control-Type Command ..................... 34 7: Read-Type Command ...................................... 35 8: AID Characters ......................................... 43 9: Device Buffer Orders ................................... 51 10: EBCDIC Graphic Characters Used to Represent 6-Bit Quantities ............................................. 71 11: Correspondence between 6-Bit Quantity and EBCDIC Code Used for Transmission to/from Host ..................... 72 12: Correspondence between CU and Device Numbers and Hex- adecimal Addresses Used in Polling/Selection Sequences . 73 13: Correspondence between Connector Pins and Interchange Circuits ............................................... 81 14: 3277-Compatible Numeric Character Set .................. 94 15: Numeric Character Set .................................. 95 16: Alphameric Character Set ............................... 96 \f viii \f 1_._ _ _ _ _ _ _ _ _I_N_T_R_O_D_U_C_T_I_O_N_ 1. The RC855 Display Terminal is designed for the construction of distributed systems in which each display terminal in a cluster configuration can be used interchangeably for communication with a host computer and as a local microcomputer system. The RC855 is a member of the RC850 family of intelligent display terminals. The use of a microcomputer as the basis of all RC850 display terminals makes it possible to emulate a number of dif- ferent terminals on the market as well as to execute a variety of local application programs by means of the same terminal. RC850 display terminals exist accordingly in several different ver- sions. The RC855 is in principle a soft-programmed version: a versatile work station, which can be alternately loaded with communication programs and programs for local applications from an attached diskette drive. 1_._1_ _ _ _ _ _ _ _R_C_8_5_5_ _I_B_M_ _3_2_7_0_ _B_S_C_ _E_m_u_l_a_t_o_r_ 1.1 Inasmuch as the IBM 3270 Information Display System is one of the most widely used terminal systems on the market, an IBM 3270 BSC emulator is included among the communication packages for the RC855. In addition to being available on diskette, the RC855 IBM 3270 BSC Emulator is alternatively available on an internal pro- gram memory board for automatic loading when the multifunction capability of the RC855 Work Station is not required. A 3270 oriented application program in the host computer communi- cates with the terminal operator through a series of display screen images. An image of the data transmitted from the host is displayed at the terminal. By means of an attached keyboard, the operator can enter, modify, or erase data on the display, and cause the revised data to be returned to the host for storage or further processing. Printed copy of data displayed at a terminal\f or transmitted from the host can be provided by an attached printer. Normally the application program supplies a "form" for the ter- minal operator to fill in and return. A formatted display screen image consists of protected fields containing guiding text and unprotected fields for operator input. 1_._2_ _ _ _ _ _ _ _R_C_8_5_5_ _C_l_u_s_t_e_r_ _C_o_n_c_e_p_t_ 1.2 The RC855 terminal cluster does not contain a separate control unit (CU). Instead, one of the terminals in the cluster, the pri- mary terminal, is programmed as a combined IBM 3270 BSC CU/Dis- play Station, whereas the remaining, secondary terminals are pro- grammed as IBM 3270 BSC Display Stations. The CU emulator program in the primary terminal provides compatibility in line discipline with any IBM 3270 BSC control unit which communicates using the EBCDIC character set and supports multiple devices with a buffer of 1920 characters, i.e. appropriate models of the IBM 3271, 3274, or 3276. N_o_t_e_ that the term CU is generally used in this manual to refer to the logical, rather than the physical, control unit. As many as eight RC855 terminals, including the primary, may be grouped for connection to a BSC communication line as an IBM 3270 cluster. The terminals in the cluster are interconnected by means of a simple twisted wire pair, called RC-CIRCUIT. A printer can be attached to each terminal via a serial V.24 in- terface. (The printer is not logically connected to the terminal, but is available as a common resource). Thus, with a full com- plement of terminals and printers, a cluster will contain sixteen devices. Each terminal in the cluster performs the following functions: o Editing of data on the display. o Processing of commands from the host. o Printing. \f The primary terminal (CU emulator program) performs the following additional functions: o Remote BSC communication with the host. o Routing. o Status reporting. o Queue administration for all printers. A secondary terminal can be removed from the cluster at any time, possibly to run another program, but the CU emulator program in the primary terminal must remain running as long as any terminal is operating as an IBM 3270 BSC Display Station. 1_._3_ _ _ _ _ _ _ _R_C_8_5_5_ _O_p_e_r_a_t_i_o_n_ _i_n_ _B_r_i_e_f_ 1.3 The RC855 terminal is reset when power is applied, and thereafter whenever the RESET button is pushed. On being reset, the RC855 performs an automatic self-test. A program can then be loaded into its random-access memory and executed. When loaded with the IBM 3270 BSC Emulator, the RC855 is functionally similar to the IBM 3277 Display Station Model 2. The RC855 keyboard, however, has a different layout and certain extensions when compared with the typewriter keyboard of the IBM 3277. RC855 operator messages are displayed on the bottom line of the (25-line) screen, which is called the status line. Messages from the Emulator are displayed on the status line in inverse video to distinguish them from application-generated messages. Configuration parameters for the individual RC855 terminal are stored in the terminal's nonvolatile memory. The current values of these parameters can be displayed and modified by means of a configurator program, which the operator can enter as soon as the Emulator is loaded. At any time it is possible to change the values of certain parameters temporarily as well as to enable or disable the reveal mode. \f In the reveal mode, the cursor position and the contents of the character position identified by the cursor are displayed on the status line. The operator can also run one or more diagnostic test programs as soon as the Emulator is loaded. At any time it is possible to perform system monitoring. A primary terminal can capture and display transmission sequences on the BSC communication line, including recognized polling/selection sequences for other control units, while secondary terminals can capture (but not display) sequences on RC-CIRCUIT. The Emulator also collects statistical information on system performance while it is running. This information can be displayed at any time. A full description of RC855 operation is given in the operating guide for the RC855 IBM 3270 BSC Emulator 1. \f F_ 2_._ _ _ _ _ _ _ _ _O_P_E_R_A_T_I_O_N_A_L_ _C_H_A_R_A_C_T_E_R_I_S_T_I_C_S_ 2. The RC855 IBM 3270 BSC Emulator supports format oriented communi- cation between the terminal operator and an application program running on a host computer. The basis of this communication is the transfer of a m_e_s_s_a_g_e_ from the application toward the ter- minal (outbound) or from the terminal toward the application (in- bound). A message consists of a string of 8-bit characters. A c_h_a_r_a_c_t_e_r_ may be an alphameric or a control character, or it may be binary encoded (e.g. a buffer location) or encoded in sub- fields (e.g. an attribute character). The EBCDIC code sets (sev- eral national variants) used for transmission of data and control characters are given in appendix C. For each device, i.e. terminal or printer, the Emulator maintains a d_e_v_i_c_e_ _b_u_f_f_e_r_ containing 1920 character positions. For a ter- minal the buffer is organized as 24 lines, each containing 80 character positions. For a printer it is also possible to use other line lengths or no fixed line length. The image shown on a display screen as well as the lines printed on a printer are al- ways determined by the contents of the relevant device buffer. Each character in a device buffer is either an attribute charac- ter or a data character. An a_t_t_r_i_b_u_t_e_ _c_h_a_r_a_c_t_e_r_ indicates the start of a display field ex- tending to the next attribute character, and defines the at- tributes of the field: o alphameric input, numeric input, protected, or automatic skip o normal display, cursor selectable, intensified display and cursor selectable, or nondisplay o flashing or not flashing o modified or not modified An attribute character occupies the first position of a display field, but appears as a blank position on the screen. The con- tents of an attribute character can be displayed in the reveal mode. Attribute characters are protected. \f A field with the alphameric input or numeric input attribute is unprotected against manual input and therefore called an i_n_p_u_t_ f_i_e_l_d_. All character positions following the attribute character in an input field are called i_n_p_u_t_ _p_o_s_i_t_i_o_n_s_. A field which is not an input field is called a p_r_o_t_e_c_t_e_d_ _f_i_e_l_d_. The modified/not modified bit in the attribute character is called the m_o_d_i_f_i_e_d_ d_a_t_a_ _t_a_g_, or MDT. A d_a_t_a_ _c_h_a_r_a_c_t_e_r_ may be any of the following: an alphameric char- acter, null character, DUP character, FM character, or printer control character. One should bear in mind the difference between the null character and the space character. Space is a well-defined alphameric char- acter, whereas null is an all-binary-0 character. Both occupy a position in the device buffer and are displayed as a blank po- sition, but null is suppressed in the transfer of a message. The most common outbound messages are write-type commands, which instruct the Emulator to modify the contents of a device buffer in a specified manner. Similarly, most inbound messages are r_e_a_d_ m_e_s_s_a_g_e_s_ which convey information from the Emulator about the current contents of a device (i.e. terminal) buffer, in particu- lar fields that have been modified by the operator. The part of the message that contains detailed information about the device buffer consists of device buffer orders and device buffer data. D_e_v_i_c_e_ _b_u_f_f_e_r_ _o_r_d_e_r_s_ in outbound messages are used to indicate the buffer locations of the following device buffer data, to set attribute characters, or to request some additional function (e.g. tabulation). In inbound messages, device buffer orders are used exclusively to indicate the buffer locations and attribute characters of transferred fields. D_e_v_i_c_e_ _b_u_f_f_e_r_ _d_a_t_a_ in outbound messages is that which is to be written in the device buffer as data characters. In inbound mes- sages, device buffer data conveys the data characters in trans- ferred fields. \f Messages, commands, and orders are further described in chapters 3 and 4. 2_._1_ _ _ _ _ _ _ _D_i_s_p_l_a_y_ _T_e_r_m_i_n_a_l_ 2.1 D_a_t_a_ _P_r_e_s_e_n_t_a_t_i_o_n_ Data stored in the device (terminal) buffer is displayed on the screen in the form of alphameric characters. The terminal oper- ator can enter alphameric characters into the buffer from the attached keyboard. The application program provides a formatted display by storing attribute characters in the buffer. The attri- bute characters in turn define the display fields, including those for which the operator can manually enter, modify, or erase data (input fields). As all locations in the buffer can be ad- dressed individually, a display field can start at any character position. C_u_r_s_o_r_ The cursor is a unique symbol that identifies a character posi- tion on the display screen, usually the location at which the next character to be entered from the keyboard will appear. The form of the cursor is defined by a configuration parameter. The movement of the cursor is described in detail in subsection 2.2.2.1. C_o_n_t_r_o_l_s_ _a_n_d_ _T_e_r_m_i_n_a_l_ _S_t_a_t_u_s_ _I_n_d_i_c_a_t_i_o_n_ The operator controls on the RC855 Display Terminal are described in the operating guide 1. The status of the terminal is indicated by operator messages displayed on the bottom line of the screen. These messages are also described in the operating guide. C_o_n_f_i_g_u_r_a_t_i_o_n_ _P_a_r_a_m_e_t_e_r_s_ The parameters defined by means of the configurator program in- clude, among others, the following: the display device number of the terminal, the printer device number of the terminal's hard- copy printer, the printer device number of a printer physically attached to the terminal, and several parameters pertaining to an\f attached printer (see section 2.3). Each secondary terminal, moreover, must be configured with a unique secondary address for RC-CIRCUIT, and the primary terminal of a cluster with a CU num- ber. The configuration parameters are fully described in the operating guide 1. P_i_c_t_u_r_e_ _T_i_m_e_o_u_t_ A configuration parameter determines how long the display picture will remain on the screen when neither the host nor the operator is active. 2_._2_ _ _ _ _ _ _ _K_e_y_b_o_a_r_d_ 2.2 The RC855 Display Terminal is provided with a separate, alpha- meric keyboard, which is attached by means of a signal cable one meter in length. A magnetic-stripe reader is available as op- tional equipment (see appendix H). 2_._2_._1_ _ _ _ _ _G_e_n_e_r_a_l_ _D_e_s_c_r_i_p_t_i_o_n_ 2.2.1 The keyboard consists of three main sections: a central, typewriter-like keyboard; above that, a row of attention keys; and to the right, a numeric pad and keys for editing data on the display. This general layout has a number of national variants, which are shown in appendix B. Figure 1: RC855 Keyboard Layout (US English Variant). \f All code-generating keys repeat automatically, at the rate of 10 characters a second, when held depressed longer than three- quarters of a second. Some keys are furnished with a LED (light- emitting diode) indicator. The keyboard gives a click when a key is depressed properly. The keyboard also sounds an alarm in cer- tain circumstances. Finally, the use of the keyboard is inhibited under certain conditions, as indicated by the character "x" dis- played on the status line. The keys are classified functionally as alphameric, auxiliary, attention, and editing keys. Alphameric, PA (program access), and PF (program function) keys have a light shade; all other keys have a dark shade. 2_._2_._2_ _ _ _ _ _A_l_p_h_a_m_e_r_i_c_ _K_e_y_s_ 2.2.2 The alphameric keys generate codes corresponding to the alphabe- tic, numeric, or special character or characters with which each key is marked, either directly or in conjunction with the SHIFT key (see subsection 2.2.3). Alphameric keys are used to enter data for input fields. When data is entered into an input field, the modified data tag, or MDT, of the field is set. N_o_n_n_u_m_e_r_i_c_ _K_e_y_s_ The nonnumeric keys are used to enter data for fields with the alphameric input attribute. If the cursor is positioned at a numeric input or a protected field, an attempt to enter data will cause an alarm. Otherwise the character is entered and the cursor advances (see subsection 2.2.2.1). N_u_m_e_r_i_c_ _K_e_y_s_ The numeric keys include the keys marked with the decimal digits, period (.), comma (,), and minus sign (-) and, on the numeric pad, the key marked with a period, which is called the "decimal point" key. These keys are used to enter data for fields with the numeric input or alphameric input attribute. If the cursor is positioned at a protected field, an attempt to enter data will cause an alarm. Otherwise the character is entered and the cursor advances (see subsection 2.2.2.1). \f N_o_t_e_ that the "decimal point" character can be defined as either the period or the comma character by a configuration parameter. A second parameter then determines whether the character not defined as the "decimal point" character is also a legal numeric character. A third parameter determines whether all characters or only numeric characters are allowed in numeric input fields. N_u_m_e_r_i_c_ _P_a_d_ The numeric pad contains a space key, keys marked with the deci- mal digits and the minus sign, and the "decimal point" key. N_o_t_e_ that the codes for PF1 to PF9 (see subsection 2.2.4) are generat- ed by pressing the numeric pad keys marked 1 to 9 while holding the SHIFT key (see subsection 2.2.3) depressed. 2_._2_._2_._1_ _ _ _A_u_t_o_m_a_t_i_c_ _C_u_r_s_o_r_ _M_o_v_e_m_e_n_t_ 2.2.2.1 The cursor identifies a character position on the display screen, usually that at which the next character to be entered from the keyboard will appear. (Should a character already occupy that po- sition, it will be overwritten). Whenever a character is entered from the keyboard, the cursor advances one character position. If a character is entered at the last position on a line, the cursor advances to the first position on the next lower line, and if a character is entered at the last position on the last line, the cursor advances to the first position on the first line. The cur- sor is said to w_r_a_p_. When a character is entered at the last position of an input field, the cursor advances to the position following the next attribute character, if the latter defines the field as having the alphameric input, numeric input, or protected attribute. If, however, the attribute character defines the field as having the a_u_t_o_m_a_t_i_c_ _s_k_i_p_ attribute (equivalent to protected and numeric), the cursor advances to the position following the next attribute character that defines an input field. The cursor is unaffected by the transfer of a message to or from the application program (unless, of course, a device buffer order calling for cursor movement is received). \f Editing keys that move the cursor are described in subsection 2.2.5.1. 2_._2_._3_ _ _ _ _ _A_u_x_i_l_i_a_r_y_ _K_e_y_s_ 2.2.3 The auxiliary keys, marked SHIFT, LOCK, and CTRL, perform various auxiliary functions, but do not themselves generate codes. S_H_I_F_T_ The SHIFT key can be used in conjunction with any alphameric key on the central keyboard to generate the upper case code for an alphabetic character key or the upper character code for a dual character key. In order to generate the desired code, the opera- tor must press the alphameric key while holding SHIFT depressed. The SHIFT function terminates as soon as the keys are released. N_o_t_e_ that the codes for PA6 to PA10 (see subsection 2.2.4) are generated by pressing the keys marked PA1 to PA5 while holding SHIFT depressed. N_o_t_e_ also that the codes for PF1 to PF9 (see subsection 2.2.4) are generated by pressing the numeric pad keys marked 1 to 9 while holding SHIFT depressed. N_o_t_e_ further that SHIFT is used in conjunction with the RESET key, as described in subsection 2.2.4. Additional uses of the SHIFT key are described in the operating guide 1. L_O_C_K_ The LOCK key is used to place the central keyboard in, and remove it from, the alpha-lock mode (as well as to light and extinguish the indicator on the key). In the alpha-lock mode, the SHIFT function is applied automatically to all alphameric keys marked with (capital) alphabetic characters. The SHIFT key itself can, of course, be used in conjunction with all other alphameric keys while the central keyboard is in the alpha-lock mode. N_o_t_e_ that the central keyboard can be placed permanently in the alpha-lock mode by means of a configuration parameter. C_T_R_L_ The CTRL key is used in conjunction with the CLEAR key (see sub- section 2.2.4) while the Emulator is running to reset the ter-\f minal. This is done by pressing CLEAR while holding CTRL depres- sed. The CTRL key is also used in conjunction with attention keys for diagnostic purposes, as described in the operating guide 1. 2_._2_._4_ _ _ _ _ _A_t_t_e_n_t_i_o_n_ _K_e_y_s_ 2.2.4 The depression of an attention-generating key causes an a_t_t_e_n_t_i_o_n_ to be transferred to the CU emulator program, either via RC-CIR- CUIT or internally in a primary terminal. The kind of attention is identified by an a_t_t_e_n_t_i_o_n_ _i_d_e_n_t_i_f_i_c_a_t_i_o_n_ _c_h_a_r_a_c_t_e_r_, or AID character (see subsection 4.1.1.2). A r_e_m_o_t_e_ _a_t_t_e_n_t_i_o_n_ is generated when a d_a_t_a_ _a_t_t_e_n_t_i_o_n_ or a s_h_o_r_t_ a_t_t_e_n_t_i_o_n_ key is pressed. This signals to the CU that a read mes- sage is to be transmitted when the terminal is polled (specific or general poll). The read message is said to be p_e_n_d_i_n_g_ in the CU until it has been transmitted. It is prepared by executing an implicit Read Modified command (see subsection 4.1.1.4). In the case of a data attention, the CU requests the terminal to execute the Read Modified command, thus constructing a message comprising the relevant AID character and the contents of all display fields in which the MDT is set. This message is called a l_o_n_g_ _r_e_a_d_. In the case of a short attention, the message, which is called a s_h_o_r_t_ _r_e_a_d_, contains only the relevant AID character and is gen- erated by the CU without involving the terminal. Read messages are further described in chapters 3 and 4. A l_o_c_a_l_ _a_t_t_e_n_t_i_o_n_ is used to initiate a function that is local to the terminal cluster and does not cause any transmission to the application program. N_o_t_e_ that when an attention key is pressed, the use of the key- board is inhibited until it is restored by the application pro- gram or, in the case of a local attention, by the CU. Keyboard inhibition is indicated by the character "x" displayed on the status line. \f CLEAR Short attention key. Causes the terminal buffer to be cleared to nulls (thus erasing the entire display screen, protected fields included) and the cursor to be moved to the first character position on the first line. N_o_t_e_ that CLEAR is used in conjunction with the CTRL key, as described in subsection 2.2.3, while the Emulator is running to reset the terminal. PA1-PA5 Short attention keys. N_o_t_e_ that the AID codes for PA6 to PA10 are generated by pressing the keys marked PA1 to PA5 while holding the SHIFT key (see subsection 2.2.3) depressed. Each PA, or program access, key can be defined to solicit program action that does not re- quire data to be read from the terminal buffer. USM Short attention key. The indicator on the key lights when the terminal receives a USM, or u_n_s_o_l_i_c_i_t_e_d_ m_e_s_s_a_g_e_, order in a write-type command. Depression of the key will also extinguish the indicator. PF10-PF14 Data attention keys. N_o_t_e_ that the AID codes for PF1 to PF9 are generated by pressing the numeric pad keys marked 1 to 9 while holding the SHIFT key (see subsec- tion 2.2.3) depressed. Each PF, or program function, key can be defined to solicit program action that requires data to be read from the terminal buffer. M_m_m_ CURSR Data attention key (see appendix H). P_p_p_ SELCT PRINT Local, c_o_p_y_ _r_e_q_u_e_s_t_ attention. The terminal is queued for a local print operation on its hard-copy printer. The use of the keyboard is inhibited until the contents of the terminal buffer have been transferred to the printer buffer (see further section 2.3). RESET The AID code for RESET can be generated only if RESET is pressed while the SHIFT key (see subsection 2.2.3) is held depressed. \f Local, r_e_g_r_e_t_ attention. If a read message generated by the terminal is pending in the CU, the message is can- celled and the use of the keyboard is restored. RESET is used analogously to cancel the latest copy re- quest attention (see PRINT, above) and restore the use of the keyboard. RESET is also used to cancel marks produced by the MARK key (see subsection 2.2.5.2). SEND Data attention key. SEND is used in the same manner as a PF key, viz. to solicit program action that requires data to be read from the terminal buffer. For the uses of SELCT and ESC as well as additional uses of the CLEAR, PA, PF, PRINT, RESET, and SEND keys, e.g. for diagnostic purposes, see the operating guide 1. 2_._2_._5_ _ _ _ _ _E_d_i_t_i_n_g_ _K_e_y_s_ 2.2.5 Editing operations can be performed as soon as the Emulator has been loaded, as connection to a host computer is not required. During the entry of data for a formatted display, the operator can edit the data until he presses an attention key (see subsec- tion 2.2.4). 2_._2_._5_._1_ _ _ _K_e_y_s_ _t_o_ _M_o_v_e_ _t_h_e_ _C_u_r_s_o_r_ 2.2.5.1 The keys described in this subsection enable the operator to move the cursor to any character position on the display screen with- out erasing the characters which the cursor passes. All of the keys repeat automatically as described in subsection 2.2.1. \f L_e_f_t_ _(_B_a_c_k_s_p_a_c_e_)_ Moves the cursor one position left. The cursor may wrap hor- izontally, e.g. from the first position on the first line to the last position on the last line. R_i_g_h_t_ Moves the cursor one position right. The cursor may wrap hor- izontally, e.g. from the last position on the last line to the first position on the first line. U_p_ Moves the cursor one position up. The cursor may wrap verti- cally, e.g. from the first line to the last line (with no horizontal movement). D_o_w_n_ Moves the cursor one position down. The cursor may wrap ver- tically, e.g. from the last line to the first line (with no horizontal movement). H_o_m_e_ Moves the cursor to the first input position of the first input field on the display screen. If no input field is found, the cursor is moved to its h_o_m_e_ _p_o_s_i_t_i_o_n_, i.e. the first position on the first line (character position 0). F_i_e_l_d_ _B_a_c_k_w_a_r_d_ _(_B_a_c_k_t_a_b_)_ When the cursor is at the attribute character or the first input position of an input field or at any position of a pro- tected field, the cursor is moved to the first input position of the preceding input field. When the cursor is at any input position other than the first of an input field, the cursor is moved to the first input position of that field. (The cur- sor may wrap). If no input field is found, the cursor is moved to its home position. F_i_e_l_d_ _F_o_r_w_a_r_d_ _(_T_a_b_)_ Moves the cursor to the first input position of the succeed- ing input field. (The cursor may wrap). If no input field is found, the cursor is moved to its home position. \f N_e_w_ _L_i_n_e_ _(_R_e_t_u_r_n_)_ Moves the cursor to the first input position on the next lower or a succeeding lower line. (The cursor may wrap). If no input field is found, the cursor is moved to its home po- sition. 2_._2_._5_._2_ _ _ _K_e_y_s_ _t_o_ _E_d_i_t_ _t_h_e_ _D_a_t_a_ 2.2.5.2 The keys described in this subsection enable the operator to edit the contents of input fields. N_o_t_e_ that an attempt to perform an illegal editing operation (e.g. when the cursor is positioned at a protected field or an attribute character) will cause an alarm. M_m_m_ INS I_n_s_e_r_t_ _C_h_a_r_a_c_t_e_r_ _M_o_d_e_ MODE P_p_p_ Used to place the terminal in, and remove it from, the in- sert character mode (as well as to light and extinguish the indicator on the key). The operation requires the presence of a null character in the field, either at the cursor position or to the right of it. A character entered from the keyboard will appear at the cursor position, and a nonnull character already occupying that position will be shifted horizontally one position to the right, to- gether with all succeeding characters except a null or characters to the right of a null. M_m_m_ DEL D_e_l_e_t_e_ _C_h_a_r_a_c_t_e_r_ CHAR P_p_p_ Erases the character at the cursor position, and shifts all succeeding characters horizontally one position to the left. A null character is inserted at the last position on the line or in the field, whichever is encountered first. M_m_m_ INS I_n_s_e_r_t_ _L_i_n_e_ LINE P_p_p_ Applicable only to fields containing at least one line, i.e. 80 character positions. The 80 positions may begin at the attribute character or constitute an entire display screen line. The operation vertically shifts the line at which the cursor is positioned and all succeeding lines in the field one line down, thus providing a line of nulls at\f the cursor position. The last line (80 positions) is de- leted. M_m_m_ DEL D_e_l_e_t_e_ _L_i_n_e_ LINE P_p_p_ Applicable only to fields containing at least one line, i.e. 80 character positions. The 80 positions may begin at the attribute character or constitute an entire display screen line. The operation deletes the line at which the cursor is positioned and vertically shifts all succeeding lines in the field one line up, thus providing a line of nulls as the last line (80 positions). M_m_m_ ERASE E_r_a_s_e_ _t_o_ _E_n_d_ _o_f_ _F_i_e_l_d_ FIELD P_p_p_ Erases all characters in the field from and including the character at the cursor position. The cursor is not moved. M_m_m_ ERASE E_r_a_s_e_ _I_n_p_u_t_ _F_i_e_l_d_s_ INPUT P_p_p_ Erases all input fields, and moves the cursor to the first input position of the first input field on the display screen. If no input field is found, the cursor is moved to its home position. The MDT of all input fields is reset. FM F_i_e_l_d_ _M_a_r_k_ Causes an FM character code to be entered into the ter- minal buffer. The FM character, which provides a means of informing the application program of the end of a sub- field, is displayed (or printed) as the character ";". DUP D_u_p_l_i_c_a_t_e_ Causes a DUP character code to be entered into the ter- minal buffer, and moves the cursor to the first input po- sition of the succeeding input field. The DUP character, which provides a means of informing the application pro- gram that a "duplicate" operation is indicated for the re- mainder of the field in which it has been entered, is dis- played (or printed) as the character "*". \f MARK M_a_r_k_ _S_t_r_i_n_g_ Used to mark the first and the last characters of a string to be moved by means of the MOVE key (see below). The string may not contain an attribute character. When the cursor has been positioned at a character, the depression of the MARK key will cause a frame to appear around the character. Such markings may be cancelled by means of the RESET key (see subsection 2.2.4). MOVE M_o_v_e_ _S_t_r_i_n_g_ Moves a character string marked by means of the MARK key to the display screen location determined by the cursor position. The string is inserted starting at the cursor position, and characters already occupying these positions are overwritten. It is not possible to overwrite an at- tribute character in this fashion, nor to copy data into a protected field. 2_._3_ _ _ _ _ _ _ _P_r_i_n_t_e_r_s_ 2.3 A printer can be attached via a serial V.24 interface to each terminal in an RC855 cluster, as described in section 1.2. The parameters defined by means of the configurator program include the following for an attached printer: o Printer device number (0 when no printer is attached). o Local device only, i.e. not available and not reported to the host. o Bit rate of transmission to the printer: 110, 300, 600, 1200, 2400, 4800, or 9600 bps. o Format of characters transmitted to the printer, e.g. even parity, two stop bits. o Maximum print line: up to 132 characters in length. o Printing mode: full-image or compressed, i.e. whether display screen images are to be printed with or without all-null lines and form feed characters. \f N_o_t_e_ that the above parameters apply to the printer which is physically attached to the terminal, and that the terminal must be running the Emulator in order for the printer to be used (e.g. by another terminal as its hard-copy printer). A 7-bit code set, derived from ISO 646, is used for printing on printers attached via a serial V.24 interface. The national vari- ants of this code set are given in appendix E. The RC conventions for the use of V.24 signals are given in appendix F. 2_._3_._1_ _ _ _ _ _P_r_i_n_t_ _F_o_r_m_a_t_s_ 2.3.1 Two types of print formats can be used: o Transparent formats with a maximum print line length as preset by the maximum print line, or MPL, parameter. New line and other printer control characters can be inserted in the printer buffer to control formatting. o Fixed formats with 40, 64, or 80 characters per line. Control characters to cause the printer to move to a new line are gen- erated automatically. Limited support is provided for printer control characters. Regardless of the type of print format, attribute characters and all characters, including printer control characters, which occur in fields with the nondisplay attribute are treated as nulls dur- ing a printing operation, i.e. they are printed as blank posi- tions or completely suppressed. The suppression of all-null lines occurs only when compressed printing is specified by the printing mode, or PM, parameter, which is applicable only to fixed print formats and (remote or local) copying operations. 2_._3_._2_ _ _ _ _ _P_r_i_n_t_e_r_ _C_o_n_t_r_o_l_ _C_h_a_r_a_c_t_e_r_s_ 2.3.2 In conjunction with a Write, Erase/Write, or Copy command (see subsections 4.1.2 and 4.1.3), printer control characters can be\f written as data characters in a printer buffer, and stored there until a printing operation begins. Printer control characters are received from the host computer as EBCDIC characters. These char- acters are: new line (NL), carriage return (CR), vertical tabula- tion (VT), form feed (FF), and end of message (EM). The general effect, if any, of a printer control character en- countered in the printer buffer during a printing operation is that one or more control characters are generated and sent to the printer. The latter control characters, which are 7-bit ISO char- acters (see appendix E), are denoted here by the prefix ISO- in order to distinguish them from their EBCDIC counterparts. The specific effects of printer control characters during a printing operation depend on the print format, as described below. 2_._3_._2_._1_ _ _ _T_r_a_n_s_p_a_r_e_n_t_ _P_r_i_n_t_ _F_o_r_m_a_t_s_ 2.3.2.1 NL Causes the carriage return and line feed characters (ISO-CR and ISO-LF) to be generated. If NL (or CR) is missing, ISO-CR and ISO-LF will be generated automatically when the maximum print line length is attained. CR Causes the carriage return character (ISO-CR) to be gener- ated. VT Causes the vertical tabulation character (ISO-VT) to be gen- erated. FF Causes the form feed character (ISO-FF) to be generated. EM Causes the carriage return and line feed characters (ISO-CR and ISO-LF) to be generated, unless the EM character immedi- ately follows an NL character. Subsequently terminates the printing operation. If no EM character is present, the print- ing operation terminates when the end of the buffer is reached. At this time carriage return and line feed charac-\f ters (ISO-CR and ISO-LF) are generated as if an EM character had been encountered. 2_._3_._2_._2_ _ _ _F_i_x_e_d_ _P_r_i_n_t_ _F_o_r_m_a_t_s_ 2.3.2.2 NL Treated as null. CR Treated as null. VT Causes the vertical tabulation character (ISO-VT) to be gen- erated, provided that the VT character is the first character in a line; otherwise treated as null. FF Causes the form feed character (ISO-FF) to be generated, provided that the FF character is the first character in a line; otherwise treated as null. EM Treated as null. 2_._3_._3_ _ _ _ _ _R_e_m_o_t_e_ _P_r_i_n_t_i_n_g_ _O_p_e_r_a_t_i_o_n_s_ 2.3.3 Printing operations can be initiated by the application program when the start printer bit is set in the write control character (WCC) in a Write or Erase/Write command or the copy control char- acter (CCC) in a Copy command addressed to a printer (see subsec- tions 4.1.2 and 4.1.3). A transparent or a fixed print format is used, as specified by the print format bits in the WCC or the CCC. Compressed printing (PM parameter) may be used in copying operations with a fixed format. 2_._3_._4_ _ _ _ _ _L_o_c_a_l_ _C_o_p_y_i_n_g_ 2.3.4 A local print operation is initiated by means of the PRINT key, as described in subsection 2.2.4. The image displayed on the screen is printed on the printer defined by a configuration par- ameter as the terminal's hard-copy printer. The operation is en-\f tirely local, controlled by the CU emulator program in the pri- mary terminal, and connection to a host computer is not required. A local printing operation always uses a fixed print format with 80 characters per line, so that the printed page corresponds to a display screen image. Compressed printing (PM parameter) may also be used. Spaces or nulls at the end of a line are suppressed. Nulls, when not suppressed, are printed as spaces. The cursor is not printed. The printer can be busy, printing for another terminal or the application program. Local copy requests are queued accordingly on a FIFO (first-in-first-out) basis. A local copy request can be cancelled by means of the RESET key (see subsection 2.4.4). 2_._3_._5_ _ _ _ _ _S_p_e_c_i_f_i_c_ _O_p_e_r_a_t_i_o_n_a_l_ _C_h_a_r_a_c_t_e_r_i_s_t_i_c_s_ 2.3.5 The specific operational characteristics of the printers avail- able for the RC855 Display Terminal are described in other RCSL publications. N_o_t_e_ that any printer to be used in conjunction with the Emulator must support the ISO control characters CR, LF, VT, and FF. 2_._3_._6_ _ _ _ _ _R__s_u_m__ 2.3.6 A_p_p_l_i_c_a_b_l_e_ S_u_p_p_o_r_t_ _o_f_ P_r_i_n_t_i_n_g_ P_r_i_n_t_ P_a_r_a_m_e_t_e_r_s_ P_r_i_n_t_e_r_ _C_o_n_t_r_o_l_ O_p_e_r_a_t_i_o_n_ F_o_r_m_a_t_ M_P_L_ P_M_ C_h_a_r_a_c_t_e_r_s_ remote (WCC) transparent yes no full fixed no no limited remote (CCC) transparent yes no full fixed no yes limited local (PRINT) fixed (80) no yes not applicable \f F_ 3_._ _ _ _ _ _ _ _ _C_O_M_M_U_N_I_C_A_T_I_O_N_ _W_I_T_H_ _T_H_E_ _H_O_S_T_ _C_O_M_P_U_T_E_R_ 3. The RC855 IBM 3270 BSC Emulator, as its name implies, supports the binary synchronous communication, or BSC, line control proto- col for remote communication with a host computer (typically handled by a front-end processor). A modem can be attached to any RC855 Display Terminal via a se- rial V.24 interface. This facility is used by the primary termi- nal, which is programmed as a combined IBM 3270 BSC CU/Display Station, for connection of the device cluster (see section 1.2) to a BSC communication line. The line may be 2-wire or 4-wire (half or full duplex), and the line speed up to 9600 bps. No strapping or reconfiguration is required in the primary terminal to adapt to half or full duplex. Several remote 3270 clusters can be attached to a host computer by means of a single (multipoint) line, to which other, non-3270 terminal systems may also be connected. 3_._1_ _ _ _ _ _ _ _C_o_m_m_u_n_i_c_a_t_i_o_n_ _i_n_ _G_e_n_e_r_a_l_ 3.1 The host computer controls the flow of communication between it- self and devices on the line by means of a polling/selection sys- tem, i.e. the host polls the devices for pending inbound messages and selects a particular device for receipt of an outbound mes- sage. A pending inbound message is either a read message (see subsection 2.2.4) or a status message (see section 3.5). Outbound messages are commands (see chapter 4). Each device on the line has a unique address, which is used in conjunction with polling or selection operations: the C_U_ _n_u_m_b_e_r_, in the range 0 through 31, which identifies the cluster on a mul- tipoint line, concatenated with the d_e_v_i_c_e_ _n_u_m_b_e_r_, in the range 0 through 62, which identifies the device within the cluster. All data and all control characters are transmitted in EBCDIC code (see appendix C). The line control characters are described in section 3.2. \f The polling/selection technique allows the host computer to com- municate intermittently with several 3270 control units. The term CU is often used loosely as a synonym for control unit; in the present description, C_U_ refers to the logical unit which communi- cates with the host computer on the protocol level. At any point in time, the CU is either engaged in a dialog with the host (IBM text mode) or monitoring the line (IBM control mode) for a polling or a selection sequence. A d_i_a_l_o_g_ is an ex- change of transmission sequences (see section 3.2). A dialog be- gins when the CU receives a valid polling or selection sequence from the host. The dialog ends when either party sends an EOT se- quence. All legal dialogs are shown on figs. 2 through 7 in this chapter. Any response from the CU which is not shown on one of these fig- ures is undefined. The general r_e_c_e_i_v_e_ _t_i_m_e_o_u_t_, when either the CU or the host is awaiting a response, is 3 seconds, i.e. the host should not, and the CU will not, request retransmission until at least 3 seconds have elapsed. Since the terminal system may share the line with other, non-3270 systems, the CU has the capability to discard transparent text (IBM transparent monitor mode) when monitoring the line for pol- ling or selection sequences. 3_._2_ _ _ _ _ _ _ _T_r_a_n_s_m_i_s_s_i_o_n_ _S_e_q_u_e_n_c_e_s_ 3.2 Line control characters, as this term is commonly used, comprise two distinct kinds of characters: those which in themselves con- stitute a transmission sequence in a dialog and those which are merely elements in such sequences. This distinction is reflected in the following description. N_o_t_e_ that reference is made here to several concepts which are explained in section 3.3, notably mas- ter/slave, text blocking, and transmission control, while status information is explained in section 3.5. \f 3_._2_._1_ _ _ _ _ _L_i_n_e_ _C_o_n_t_r_o_l_ _C_h_a_r_a_c_t_e_r_s_ 3.2.1 DLE D_a_t_a_ _L_i_n_k_ _E_s_c_a_p_e_ The first character in the two-character sequences ACK 0, ACK 1, RVI, and WACK. ENQ E_n_q_u_i_r_y_ The last character in a polling or a selection sequence. Also sent by the host as the last character in a TTD sequence (see subsection 3.2.3). ENQ also constitutes a sequence in itself (see subsection 3.2.3). ETB E_n_d_ _o_f_ _T_r_a_n_s_m_i_s_s_i_o_n_ _B_l_o_c_k_ The last character in any but the last block of a text. ETB is followed by the block check sequence and treated as ETX. ETX E_n_d_ _o_f_ _T_e_x_t_ The last character in the last or only block of a text. ETX indicates the end of the message. ETX is followed by the block check sequence. When the CU receives ETX, a block check is made, and the CU responds accordingly with ACK 0, ACK 1, WACK, NAK, or a text block. When the host receives ETX, a block check is made, and the host responds accordingly with ACK 0, ACK 1, NAK, RVI, WACK, or a write-type or a control- type command. ITB E_n_d_ _o_f_ _I_n_t_e_r_m_e_d_i_a_t_e_ _T_r_a_n_s_m_i_s_s_i_o_n_ _B_l_o_c_k_ The CU accepts the ITB character, but makes no separate block check on its reception. ITB and the following block check se- quence are included in the BCC accumulation, but are not part of the received message. N_o_t_e_ that ITB is designated IUS in the tables in appendix C. SOH S_t_a_r_t_ _o_f_ _H_e_a_d_i_n_g_ The first character in a text block containing a status mes- sage. SOH is the first character in the message header, a three-character sequence used to identify such messages. BCC accumulation begins after SOH. \f STX S_t_a_r_t_ _o_f_ _T_e_x_t_ The first character in any text block, unless the text block contains a status message. STX indicates the start of the message. BCC accumulation begins after STX, when STX is the first character in the text block. 3_._2_._2_ _ _ _ _ _F_i_l_l_e_r_s_ _a_n_d_ _D_e_l_i_m_i_t_e_r_s_ 3.2.2 PAD P_a_d_ Dummy (all-binary-1) character, used to ensure complete transmission and reception of the first and the last charac- ter in a transmission sequence. SYN S_y_n_c_h_r_o_n_o_u_s_ _I_d_l_e_ Every transmission sequence begins with at least two consecu- tive SYN characters, which are used to achieve and maintain character synchronism. If SYN is used as a time-fill charac- ter in a text block, it is not part of the received message. 3_._2_._3_ _ _ _ _ _S_e_q_u_e_n_c_e_s_ 3.2.3 A t_r_a_n_s_m_i_s_s_i_o_n_ _s_e_q_u_e_n_c_e_ is a sequence of characters transmitted as an entity by the host toward the CU or by the CU toward the host. All such sequences are delimited by PAD characters and be- gin with at least two SYN characters. The following transmission sequences can occur in a dialog between the host and the CU: o polling/selection o text block o ACK 0/1, WACK, and RVI o NAK o EOT o ENQ o TTD Polling and selection sequences are described in section 3.4, and text block sequences in section 3.3. The remaining sequences are described below. \f ACK 0 E_v_e_n_ _P_o_s_i_t_i_v_e_ _A_c_k_n_o_w_l_e_d_g_e_m_e_n_t_ M_M_m_m_ Two-character sequence (DLE and 70 ). Sent by the CU in P_P_ Hex p_p_ response to a valid selection sequence, thereby indicating that the addressed device is ready to receive a message. Also sent by the CU in response to a valid, even-numbered text block. Sent by the host in response to a valid, even- numbered text block. ACK 1 O_d_d_ _P_o_s_i_t_i_v_e_ _A_c_k_n_o_w_l_e_d_g_e_m_e_n_t_ M_M_m_m_ Two-character sequence (DLE and 61 ). Sent by the CU in P_P_ Hex p_p_ response to a valid, odd-numbered text block. Sent by the host in response to a valid, odd-numbered text block. ENQ E_n_q_u_i_r_y_ One-character sequence. Sent by the master to request re- transmission of an ACK or a NAK following a timeout. Sent by the CU in response to WACK. EOT E_n_d_ _o_f_ _T_r_a_n_s_m_i_s_s_i_o_n_ One-character sequence. Informs the slave of the end of a transmission. EOT ends the dialog. When the CU receives EOT, it returns to monitoring the line. EOT is sent to the host: as the normal conclusion of a read operation when the CU is the master, which applies in particular when a gen- eral poll has progressed through all devices attached to a control unit and no pending inbound messages were found; when the CU is the slave and cannot perform the requested operation; or as a response to RVI. NAK N_e_g_a_t_i_v_e_ _A_c_k_n_o_w_l_e_d_g_e_m_e_n_t_ One-character sequence. Sent by the CU in response to a text block when: the text block was terminated as a TTD sequence (see below); the block check revealed an error; or STX was missing. Sent by the host to request retransmission of a text block. RVI R_e_v_e_r_s_e_ _I_n_t_e_r_r_u_p_t_ M_M_m_m_ Two-character sequence (DLE and 7C ). Sent by the slave P_P_ Hex p_p_ to prevent further transmission from the master. Sent by\f the CU in response to a selection sequence when the ad- dressed device has a pending status message. When RVI is received from the host, the CU responds with EOT. TTD T_e_m_p_o_r_a_r_y_ _T_e_x_t_ _D_e_l_a_y_ Sequence comprising at least the two characters STX and ENQ, i.e. any text block terminated by ENQ constitutes a TTD sequence. When the host is unable to transmit a text block within roughly 2 seconds, it can send ENQ in order to maintain the connection with the selected device. ENQ thus prevents the occurrence of a 3-second receive timeout in the CU, which now responds with NAK. WACK W_a_i_t_ _b_e_f_o_r_e_ _T_r_a_n_s_m_i_t_ M_M_m_m_ Two-character sequence (DLE and 6B ). Sent by the CU in P_P_ Hex p_p_ response to a valid selection sequence to indicate that the selected device is busy and therefore unable to receive a message. Also sent by the CU in response to a valid write- type or control-type command to a printer when the start printer bit in the WCC or CCC (see chapter 4) is set. When WACK is received from the host, the CU responds with ENQ. 3_._3_ _ _ _ _ _ _ _T_e_x_t_ _T_r_a_n_s_f_e_r_ 3.3 All messages, whether inbound or outbound, are transmitted as BSC text. A t_e_x_t_ is a character sequence which is treated as an en- tity when it occurs between an STX and an ETX line control char- acter. 3_._3_._1_ _ _ _ _ _M_a_s_t_e_r_ _a_n_d_ _S_l_a_v_e_ 3.3.1 When engaged in a dialog, the host and the CU take turns as the master station and the slave station. The sender of a message is the master; the receiver of the message is the slave. The CU becomes the master whenever it transmits a message, i.e. in response to a polling sequence or a message comprising a read-\f type command. As the master, the CU can send ENQ to request a re- sponse after a receiving timeout or to request retransmission of an ACK or a NAK. The CU becomes the slave whenever it receives a message, i.e. a write-type or a control-type command. As the slave, the CU must respond in a prescribed manner to transmissions from the master. 3_._3_._2_ _ _ _ _ _T_e_x_t_ _B_l_o_c_k_i_n_g_ 3.3.2 Inbound messages are transmitted in text blocks. A block can con- tain a maximum of 256 characters, including the line control characters (STX, possibly SOH, and ETX or ETB). As the receipt of a text block is acknowledged by the slave station, each block transfer requires two line turnarounds. SF and SBA order se- quences (see chapter 4) are not divided between blocks. The maxi- mum length of any text is 3840 characters. 3_._3_._3_ _ _ _ _ _T_r_a_n_s_m_i_s_s_i_o_n_ _C_o_n_t_r_o_l_ 3.3.3 A cyclic redundancy parity/error check, or CRC, is made on each text block. The block check character, or BCC, which is a 16-bit sequence, is transmitted immediately after the ETX or ETB charac- ter. The BCC is not part of the received message, as it is im- mediately separated from the block. BCC accumulation takes place at both stations, and the master sends its BCC at the end of the block for comparison with the BCC of the slave. BCC accumulation begins when an SOH or an initial STX character is encountered. The accumulation does not include SOH or an initial STX, but all following characters to and in- cluding ETX or ETB. \f When a CRC error is detected by the slave, the latter can request retransmission of the block by responding with NAK. The BSC protocol provides neither cyclic nor longitudinal redun- dancy checking on polling and selection sequences. Therefore, to ensure data integrity in such sequences, the CU address and the device address are repeated for comparison on reception. The matters so far discussed are elucidated by the following two figures. Figure 2: Text Transfer from CU (Master) to Host (Slave). Figure 3: Text Transfer from Host (Master) to CU (Slave). \f 3_._4_ _ _ _ _ _ _ _D_i_a_l_o_g_ _P_a_t_t_e_r_n_s_ 3.4 All dialogs between a CU and the host computer are initiated by the host, which either polls a cluster or a specific device for pending inbound messages or selects a device for execution of a command. Depending on the type of polling or selection sequence and on the states of the device or devices involved, the subse- quent dialog will follow one of a number of different patterns. These patterns are described in the present section. 3_._4_._1_ _ _ _ _ _P_o_l_l_-_I_n_i_t_i_a_t_e_d_ _D_i_a_l_o_g_s_ 3.4.1 In a s_p_e_c_i_f_i_c_ _p_o_l_l_, the host addresses the control unit and a specific device. In a g_e_n_e_r_a_l_ _p_o_l_l_, the host addresses the con- trol unit, but not a specific device. The control unit address used in a polling sequence is the CU number. The device address used in a specific poll is the device number, whereas the device address used in a general poll is the number 63, which cannot be the number of a device. A polling sequence consists of five char- acters: CU CU DEV DEV ENQ where the CU and DEV characters are derived from the control unit and the device addresses according to the rule described in ap- pendix D. The CU and DEV characters must be identical in pairs, otherwise the control unit will not recognize the polling se- quence. When performing a polling operation on a selected device, the CU will transfer any pending inbound message from the device to the host. A pending inbound message may be a short or a long read message (see subsection 2.2.4) or a status message (see section 3.5). Long read messages are generated at the request of the CU in the individual display terminals, whereas short read messages and status messages are generated internally in the CU. The host, however, is unaware of this division of tasks. \f A specific poll causes the CU to select the addressed device and perform a polling operation. A general poll causes the CU to se- lect each device in turn and perform a polling operation. The host, however, can force termination of a general poll at any time by sending RVI instead of ACK 0/1 in response to a message. A device can remain selected, after transmission of a message in response to a poll, because the host wishes to continue with a chained write-type or control-type command without further ad- dressing. Thus, when the host has received ETX, it sends a com- mand either to the device already selected by a specific poll or to the device currently selected in a general poll. This termin- ates the polling operation, and any remaining responses to a gen- eral poll will not be transmitted until the next poll. This general outline is amplified by fig. 4, which shows the pat- terns of dialogs initiated by polling sequences. Figure 4: Poll-Initiated Dialogs. When a pending read message has been transferred, it is no longer pending, and the read operation will not be performed again; this is also true, if the host aborts the message transfer prematurely by responding with EOT, RVI, or a chained command before the final text block (ETX) has been received. \f 3_._4_._2_ _ _ _ _ _S_e_l_e_c_t_i_o_n_-_I_n_i_t_i_a_t_e_d_ _D_i_a_l_o_g_s_ 3.4.2 An outbound message, which always comprises a command, is normal- ly preceded by a selection sequence allowing the host computer to determine whether the device for which the message is intended is able to receive it. The selection sequence is like the specific polling sequence, except that 32 is added to the control unit ad- dress to indicate selection rather than polling. When a device receives a valid selection sequence, it can respond in one of three ways: RVI indicates that the device is unavail- able or offline (see section 3.5) and therefore unable to receive a command; WACK indicates that the device is busy and therefore unable to receive a command; and ACK 0 indicates that the device can receive the command. On receiving RVI or WACK, the host responds with EOT, thereby ending its attempt to select the device. When the host accepts ACK 0, the device is selected, and the dialog continues with transmission of the message containing the command. The patterns of dialogs initiated by selection sequences are shown in fig. 5. Figure 5: Selection-Initiated Dialogs. \f 3_._4_._3_ _ _ _ _ _W_r_i_t_e_-_T_y_p_e_ _a_n_d_ _C_o_n_t_r_o_l_-_T_y_p_e_ _C_o_m_m_a_n_d_s_ 3.4.3 A write-type or a control-type command is normally preceded by a selection sequence, but it can also be chained to a poll or a preceding write-type or control-type command. After a positive acknowledgement from the device, which indicates that the command has been executed, the host computer can either terminate the dialog or send an additional (chained) command to the same de- vice. The write-type commands are Write and Erase/Write. The control- type commands are Copy and Erase All Unprotected. All commands are fully described in chapter 4. Fig. 6 shows how write-type and control-type commands are trans- ferred as part of a dialog. Figure 6: Write-Type or Control-Type Command. 3_._4_._4_ _ _ _ _ _R_e_a_d_-_T_y_p_e_ _C_o_m_m_a_n_d_s_ 3.4.4 A general or a specific poll, as described in subsection 3.4.1, will initiate a read operation, if the selected device has a pending read message. The host computer can also send an explicit read-type command to a selected device, i.e. following a selec- tion sequence or a write-type or control-type command to which the command is chained. To perform the read operation, the host first transmits the command and then reads the received text (see chapter 4). \f The read-type commands are Read Buffer and Read Modified. Both commands are fully described in chapter 4. Fig. 7 shows the effect of a read-type command in a dialog. Figure 7: Read-Type Command. 3_._4_._5_ _ _ _ _ _C_h_a_i_n_e_d_ _C_o_m_m_a_n_d_s_ 3.4.5 Command chaining occurs: when two or more commands are sent to a device following a selection sequence; or when the host computer responds to a read message, transferred as a result of a general or specific poll, with a command. Thus the host, for example, can read a message from a polled device and immediately respond with a write-type or a control-type command, followed by another com- mand. All types of commands can be chained in conjunction with a selec- tion sequence, whereas only write-type and control-type commands can be chained in conjunction with a polling sequence. All commands save Erase All Unprotected can be chained to a Write, Erase/Write, or Copy command. N_o_t_e_ that when a command causes the printer to be started, the device will respond with WACK to indicate that a chained command will not be accepted (cf. fig. 6). \f 3_._5_ _ _ _ _ _ _ _S_t_a_t_u_s_ _I_n_f_o_r_m_a_t_i_o_n_ 3.5 A number of events pertaining to individual devices within a ter- minal cluster can cause the CU to transfer a status message in response to a polling sequence. Among these events are the fol- lowing: o A device becomes available. o A printer completes a printing operation or becomes ready after having been offline. o A printer goes offline during a printing operation. o An unavailable device or a printer which is busy or offline is selected. o An invalid command is received. The form of a status message is: SOH % R STX CU DEV S/0 S/1 ETX The CU, DEV, S/0, and S/1 characters are all derived from 6-bit quantities in the fashion described in appendix D. These 6-bit quantities are: the CU number, the device number of the device to which the message pertains, status0, and status1. The bit assignments and definitions for status0 and status1, from the least to the most significant position, are as follows: s_t_a_t_u_s_0_ s_t_a_t_u_s_1_ 0: (not used) 0: OC 1: DE 1: (not used) 2: US 2: (not used) 3: DB 3: (not used) 4: (not used) 4: IR 5: (not used) 5: CR 7-6: See appendix D. 7-6: See appendix D. The bits are named according to IBM conventions, but only the ab- breviations given above are used in this section. The unused bits are always 0. N_o_t_e_ that IBM designates the most significant bit position 0. \f The types of status messages which can occur depend on whether a general or a specific polling sequence is received. A status message is transferred in response to a general poll, only if a device has become available, a printer has completed a printing operation initiated by the host, or a printer has become ready after having been offline. A specific polling sequence addressing a printer is always answered with a status message. A specific polling sequence ad- dressing a display terminal is answered with a status message, only if the device is unavailable or the polling sequence immedi- ately follows an invalid command (answered with EOT; cf. fig. 6) which caused status to be generated for the device. The various types of status messages which can be sent by the CU are described below. For each type of message, the bits set in status0 and status1 are indicated, together with the reason and the occasion for sending the message. 3_._5_._1_ _ _ _ _ _D_e_v_i_c_e_ _U_n_a_v_a_i_l_a_b_l_e_ _S_t_a_t_u_s_ _M_e_s_s_a_g_e_ 3.5.1 M_m_m_ device unavailable bit set: IR P_p_p_ ------------------ Sent when an unavailable device is selected. When the Emulator is loaded into a secondary terminal, and the latter begins to communicate with the primary terminal on RC-CIR- CUIT (see section 1.2), the terminal (3270 display station) and its attached printer, if present, become a_v_a_i_l_a_b_l_e_ _d_e_v_i_c_e_s_. When the terminal ceases to communicate on RC-CIRCUIT, it becomes un- available (as does its attached printer). This normally occurs when the terminal is powered down or a program other than the Emulator is loaded. \f 3_._5_._2_ _ _ _ _ _S_t_a_t_u_s_ _M_e_s_s_a_g_e_s_ _U_s_e_d_ _O_n_l_y_ _f_o_r_ _P_r_i_n_t_e_r_s_ 3.5.2 M_m_m_ printer ready and not busy bit set: DE P_p_p_ -------------------------- Sent in response to a general poll when a device has become available or when a printer has successfully completed a printing operation or has become ready after having been offline. Sent in response to a specific poll addressed to a printer when no other status applies. M_m_m_ printer busy bit set: DB P_p_p_ ------------ Sent when a printer which is currently performing a printing operation initiated by the host is selected. M_m_m_ printer offline bits set: DE and IR P_p_p_ --------------- Sent in response to a general poll when a printer has completed a printing operation initiated by the host, but timed out or went offline (see appendix F) during the operation. Sent in response to a specific poll when the printer is offline. A printer which is performing a local printing operation is considered offline. 3_._5_._3_ _ _ _ _ _S_t_a_t_u_s_ _M_e_s_s_a_g_e_s_ _R_e_s_u_l_t_i_n_g_ _f_r_o_m_ _a_n_ _I_n_v_a_l_i_d_ _C_o_m_m_a_n_d_ 3.5.3 The following types of status messages must be fetched by a spe- cific poll immediately following the invalid command. All com- mands are fully described in chapter 4. If the device is rese- lected before the status message has been retrieved, the status will be reset. M_m_m_ command error bit set: CR P_p_p_ ------------- Occurs when the ESC character is lacking or the CMD character is unknown to the CU. The remaining status messages, all of which are occasioned by an invalid Copy command, pertain to the device to which the command\f was addressed, i.e. the "to" device, even though the status mes- sage may refer to the state of the "from" device. M_m_m_ copy busy bits set: DB and OC P_p_p_ --------- Occurs when the host attempts to copy from the buffer of a busy printer. M_m_m_ copy unavailable bits set: IR and OC P_p_p_ ---------------- Occurs when the host attempts to copy from an unavailable device. M_m_m_ copy locked bits set: US and OC P_p_p_ ----------- Occurs when the host attempts to copy from a device with a locked buffer (see subsection 4.1.3.1). M_m_m_ copy command error bit set: OC P_p_p_ ------------------ Occurs when the "from" device address or the copy control charac- ter is missing. \f F_ 4_._ _ _ _ _ _ _ _ _C_O_M_M_A_N_D_S_ _A_N_D_ _R_E_S_P_O_N_S_E_S_ 4. The commands which the host computer can send to a selected de- vice are described in the present chapter. Particular emphasis is placed on the text contained in commands as well as on that contained in messages sent in response to commands. Device buffer orders, which occur principally in write-type commands, are de- scribed in detail in section 4.2. Seeing that reference is made throughout the chapter to buffer addresses, it would be well to consider them first. A b_u_f_f_e_r_ _a_d_d_r_e_s_s_ is the number of a position in a device buffer. The positions are numbered from 0 to 1919. For a display ter- minal, the buffer positions correspond to character positions on the screen in the normal textual ordering, i.e. from left to right within each line, and from top to bottom. Thus the buffer address corresponding to character position (line, column), where line is numbered 0 to 23 from top to bottom, and column is num- bered 0 to 79 from left to right, is 80 x line + column. Buffer addresses are transmitted as part of a command or a read message in several instances (viz. as cursor positions and in SBA, RA, and EUA orders). A buffer address is always transmitted as two characters: ADDR1 and ADDR2. Being in the range 0 through 1919, a buffer address can be represented in binary form using 12 bits. (Actually, 11 bits will suffice, as the high-order bit is always 0). The ADDR1 and ADDR2 characters are obtained by apply- ing the rule described in appendix D to the high-order and the low-order 6 bits, respectively, of this 12-bit representation. 4_._1_ _ _ _ _ _ _ _C_o_m_m_a_n_d_s_ 4.1 Commands are sent by the host computer to a selected device in order to initiate various operations. The commands are of three types: o Read-type commands, which transfer read messages to the host, especially messages that contain information about the current contents of the device buffer. \f o Write-type commands, which give instructions for modifying the contents of the device buffer in a specified manner. o Control-type commands, which initiate operations that do not require the transfer of device buffer data between the host and the device. Commands are transferred from the host to the CU as messages, packaged as BSC text. The general form of a command is: M_M_ 1 command message = ESC CMD command body P_P_ 0 The command type is identified by the CMD character. The contents of the command body, when present, depend on the command type. 4_._1_._1_ _ _ _ _ _R_e_a_d_-_T_y_p_e_ _C_o_m_m_a_n_d_s_ 4.1.1 The read-type commands (and their CMD characters) are: Read Buf- M_M_m_m_ fer (F2 corresponding to the graphic "2") and Read Modified P_P_ Hex p_p_M_M_m_m_ (F6 corresponding to the graphic "6"). Read Buffer is used to P_P_ Hex p_p_ transfer messages containing information about the entire con- tents of the buffer, whereas Read Modified is used primarily to transfer messages containing information about buffer contents which have been modified. Read operations are normally performed automatically in conjunc- tion with general and specific polls, but the host can also in- itiate a read operation by sending an explicit read-type command to a selected device. The general form of a read message (possibly blocked) transferred in response to a polling sequence or an explicit read-type com- mand is: M_M_ 1 read message = CU DEV AID response body P_P_ 0 \f The device in question is identified by the CU and DEV charac- ters, which are formed in the same manner as described for a specific polling sequence (see subsection 3.4.1). The AID charac- ter is described in subsection 4.1.1.2. The contents of the re- sponse body, which may be absent, depend on the type of read operation. 4_._1_._1_._1_ _ _ _B_u_f_f_e_r_ _A_d_d_r_e_s_s_e_s_ 4.1.1.1 The starting position for a read operation is the buffer address at which Read Buffer starts reading and Read Modified starts scanning the buffer. The operation starts at buffer address 0 when the read-type command: immediately follows a selection se- quence; is chained to a Copy command; or, chained or not chained, is sent to a terminal with an unformatted display. The operation starts at the current buffer address when the read-type command is chained to a write-type command. Read Buffer reads to the last position in the buffer, as does Read Modified when the buffer contains no attribute characters. Normally Read Modified scans/reads to the last position in the last display field. The last field will wrap, if the first posi- tion on the first line does not contain an attribute character, so that scanning/reading will continue on the first line to the first attribute character. At the end of a read operation, the buffer address is 0, i.e. the first position on the first line, unless the last field wrapped, in which case the buffer address points to the position occupied by the first attribute character. 4_._1_._1_._2_ _ _ _A_I_D_ _C_h_a_r_a_c_t_e_r_s_ 4.1.1.2 A read message transferred in response to a polling sequence or an explicit read-type command contains an attention identifica- tion, or AID, character immediately after the device identifica- tion. The AID characters are described in the table in fig. 8.\f M_M_m_m_ N_o_t_e_ that the AID codes 60 and E8 are generated when the P_P_ Hex Hex p_p_ host sends an explicit read-type command and no attention key has been pressed. For "CURSR SELCT" and "reader", see appendix H. Figure 8: AID Characters. \f 4_._1_._1_._3_ _ _ _R_e_a_d_ _B_u_f_f_e_r_ _C_o_m_m_a_n_d_ 4.1.1.3 Read Buffer causes the transfer of all characters in the buffer, including nulls, from the buffer start address. The host computer can give a Read Buffer command without regard to the depression of an attention key (which can only change the AID code). The command message has no command body. The response body of a message transferred in response to a Read Buffer command has the form: response body = ADDR1 ADDR2 read buffer string M_M_ 1 * read buffer string = start field data P_P_ 0 1 start field = SF ATR M_M_ * data = data character P_P_ 0 The buffer address ADDR1 ADDR2 is the cursor position. The read buffer string contains all characters, including nulls, in the buffer. For a formatted buffer, each attribute character (ATR) is indicated by a start field order. 4_._1_._1_._4_ _ _ _R_e_a_d_ _M_o_d_i_f_i_e_d_ _C_o_m_m_a_n_d_ 4.1.1.4 Read Modified causes the transfer of all modified fields in the buffer, with nulls suppressed, from the buffer start address (long read). If a short attention key has been pressed, Read Modified transfers only the AID character (short read). The host computer does not normally use the Read Modified command explicitly, since the polling operation initiates the execution of an implicit Read Modified command whenever a display terminal has a pending read message. \f The command message has no command body. The response body of a long read message has the form: response body = ADDR1 ADDR2 read modified string M_M_ 1 * read modified string = set buffer address data P_P_ 0 0 set buffer address = SBA ADDR1 ADDR2 M_M_ * data = data character P_P_ 0 The buffer address ADDR1 ADDR2 is the cursor position. The read modified string contains all modified fields in the buffer, with nulls suppressed. Each field is preceded by a set buffer address order, in which the buffer address ADDR1 ADDR2 is the address of the first input position in the field. For an unformatted buffer, the cursor position is followed by a string containing all char- acters in the buffer, with nulls suppressed. 4_._1_._2_ _ _ _ _ _W_r_i_t_e_-_T_y_p_e_ _C_o_m_m_a_n_d_s_ 4.1.2 The write-type commands (and their CMD characters) are: Write M_M_m_m_ (F1 corresponding to the graphic "1") and Erase/Write (F5 P_P_ Hex Hex p_p_ corresponding to the graphic "5"). Write is used to give instruc- tions for modifying the existing contents of the buffer, whereas Erase/Write is used to erase the entire buffer, and then (poss- ibly) to give instructions concerning new buffer contents. The write-type commands can also define operations to be performed at the device by means of a write control character. 4_._1_._2_._1_ _ _ _B_u_f_f_e_r_ _A_d_d_r_e_s_s_e_s_ 4.1.2.1 The body of a write-type command can contain device buffer orders and device buffer data. The orders are executed as they occur, whereas the data is written in the buffer as data characters. \f For a Write command, the starting position for a write operation is determined by one of the following: o A set buffer address, or SBA, order. o The current buffer address, when the command is chained to a read-type command or another Write command. o The cursor position, when there is no SBA order, when the com- mand is not chained, or when the command is chained to a con- trol-type command (i.e. the current buffer address equals the cursor address). The data characters are written successively in the following positions until a new SBA order is encountered or all of the characters have been stored. The buffer address is incremented by one for each character written. For an Erase/Write command, the starting position for a write operation is character position 0, i.e. the first position on the first line, as the buffer address and the cursor address are both reset to 0 after the erase operation. 4_._1_._2_._2_ _ _ _W_r_i_t_e_ _C_o_n_t_r_o_l_ _C_h_a_r_a_c_t_e_r_ _(_W_C_C_)_ 4.1.2.2 The body of a write-type command has, as its first element, a write control character, or WCC, which can define operations to be performed at the device. The bit assignments and definitions for the write control character, from the least to the most significant position, are as follows: 0: R_e_s_e_t_ _M_D_T_ When 1: The MDT in all attribute characters is reset before the write operation is begun. 1: K_e_y_b_o_a_r_d_ _R_e_s_t_o_r_e_ When 1: The use of the keyboard is restored when the write operation is completed. \f 2: A_l_a_r_m_ When 1: An alarm is sounded when the write operation is completed. 3: S_t_a_r_t_ _P_r_i_n_t_e_r_ When 1: The printer is started when the write operation is completed in the buffer. 5-4: P_r_i_n_t_ _F_o_r_m_a_t_ When 00: Transparent. When 01: 40 characters per line. When 10: 64 characters per line. When 11: 80 characters per line. 7-6: See appendix D. N_o_t_e_ that IBM designates the most significant bit position 0. 4_._1_._2_._3_ _ _ _W_r_i_t_e_ _C_o_m_m_a_n_d_ 4.1.2.3 The Write command is used by the host computer to modify the existing contents of the buffer of a selected device. The command body has the form: command body = WCC write string M_M_ 1 * write string = order data P_P_ 0 0 order = start fieldset buffer addressinsert cursor program tabulationrepeat to address erase unprotected to addressunsolicited message M_M_ * data = data character P_P_ 0 WCC is a write control character. The write string contains in- structions for modifying the contents of the buffer and possibly the address of an associated cursor. \f 4_._1_._2_._4_ _ _ _E_r_a_s_e_/_W_r_i_t_e_ _C_o_m_m_a_n_d_ 4.1.2.4 The Erase/Write command is used by the host computer to erase the entire contents of the buffer in a selected device, typically prior to the definition of a new format. Erase/Write replaces all characters in the buffer with nulls, moves the cursor to character position 0, and resets the buffer address to 0. Then, if the command message contained a command body, a write operation is performed as for a Write command. 4_._1_._3_ _ _ _ _ _C_o_n_t_r_o_l_-_T_y_p_e_ _C_o_m_m_a_n_d_s_ 4.1.3 The control-type commands (and their CMD characters) are: Copy M_M_m_m_ (F7 corresponding to the graphic "7") and Erase All Unprotect- P_P_ Hex p_p_M_M_m_m_ ed (6F corresponding to the graphic "?"). The operations in P_P_ Hex p_p_ itiated by these commands do not require the transfer of device buffer data between the host computer and the selected device. 4_._1_._3_._1_ _ _ _C_o_p_y_ _C_o_m_m_a_n_d_ 4.1.3.1 The Copy command is used by the host computer to transfer device buffer data from one device to another device connected to the same control unit. The selected device is the "to" device, i.e. the device to which the data is transferred. The command body has the form: command body = CCC DEV CCC is a copy control character (described below). The DEV char- acter (see subsection 3.4.1) specifies the "from" device, i.e. the device from which the data is transferred. N_o_t_e_ that if the DEV character specifies the selected device as the "from" device, an erasing operation, as indicated by bits 1-0 in the copy control character, will be performed in the buffer. \f N_o_t_e_ also that if the DEV character specifies a "from" device with a locked buffer, the CU will reject the Copy command (see subsection 3.5.3). A l_o_c_k_e_d_ _b_u_f_f_e_r_ is obtained by storing an at- tribute character in which bits 5-4 are 10 (protected attribute) as the first character in the buffer. The attribute character is described in subsection 4.2.1. C_o_p_y_ _C_o_n_t_r_o_l_ _C_h_a_r_a_c_t_e_r_ _(_C_C_C_)_ The bit assignments and definitions for the copy control charac- ter, from the least to the most significant position, are as fol- lows: 1-0: C_o_p_y_ _T_y_p_e_ When 00: Copy only attribute characters. When 01: Copy attribute characters and input fields in- cluding nulls; replace the contents of protected fields with nulls. When 10: Copy attribute characters and protected fields including nulls; replace the contents of input fields with nulls. When 11: Copy the entire contents of the buffer including nulls. 2: A_l_a_r_m_ When 1: An alarm is sounded at the "to" device when the buffer transfer is completed. 3: S_t_a_r_t_ _P_r_i_n_t_e_r_ When 1: The printer is started at the "to" device when the buffer transfer is completed. 5-4: P_r_i_n_t_ _F_o_r_m_a_t_ When 00: Transparent. When 01: 40 characters per line. When 10: 64 characters per line. When 11: 80 characters per line. 7-6: See appendix D. \f N_o_t_e_ that IBM designates the most significant bit position 0. 4_._1_._3_._2_ _ _ _E_r_a_s_e_ _A_l_l_ _U_n_p_r_o_t_e_c_t_e_d_ _C_o_m_m_a_n_d_ 4.1.3.2 The Erase All Unprotected command is used by the host computer to perform the following operations at the selected device: o Clear all input fields to nulls. o Reset the MDT in all attribute characters that specify an input field. o Restore the use of the keyboard. o Reset the AID code. o Move the cursor to the first input position in the first input field. o Set the buffer address equal to the cursor address. If there is no input field, i.e. if the entire buffer is protect- ed, no erasing is performed in the buffer and the MDTs are not reset; the other operations are performed, however, the cursor being moved to character position 0. The command message has no command body. 4_._2_ _ _ _ _ _ _ _D_e_v_i_c_e_ _B_u_f_f_e_r_ _O_r_d_e_r_s_ 4.2 In the body of a write-type command, a device buffer order can occur as an element in the write string (see subsection 4.1.2.3). Such orders may or may not be followed by data. The orders them- selves are executed as they occur, whereas data following an or- der is stored in the buffer. Two of the orders, start field and set buffer address, also occur in the bodies of read messages (see subsections 4.1.1.3 and 4.1.1.4). A device buffer order consists of a control character, which can be followed by up to three bytes of supplementary information. The device buffer orders are shown in the table in fig. 9. \f Figure 9: Device Buffer Orders. 4_._2_._1_ _ _ _ _ _S_t_a_r_t_ _F_i_e_l_d_ _O_r_d_e_r_ 4.2.1 Two-byte order. The SF character indicates that the next byte is an attribute character. The latter is stored in the buffer at the current buffer address. A_t_t_r_i_b_u_t_e_ _C_h_a_r_a_c_t_e_r_ _(_A_T_R_)_ The bit assignments and definitions for the attribute character, from the least to the most significant position, are as follows: 0: When 1: Modified field. 1: When 1: Flashing. 3-2: When 00: Normal display. When 01: Cursor selectable. When 10: Intensified display and cursor selectable. When 11: Nondisplay. \f 5-4: When 00: Alphameric input. When 01: Numeric input. When 10: Protected. When 11: Automatic skip. 7-6: See appendix D. N_o_t_e_ that IBM designates the most significant bit position 0. The attribute character is protected, and only bit 0, the MDT, can be affected by manual input. Depression of the CLEAR key, however, will clear all characters in the buffer to nulls. The host computer can send an attribute character containing any combination of bits. 4_._2_._2_ _ _ _ _ _S_e_t_ _B_u_f_f_e_r_ _A_d_d_r_e_s_s_ _O_r_d_e_r_ 4.2.2 Three-byte order. The SBA character indicates that the next two bytes constitute the buffer address at which the following data is to be stored. An SBA order can also precede another order to specify: the ad- dress at which an attribute character is to be stored by a sub- sequent start field order; the address at which the cursor is to be positioned by a subsequent insert cursor order; or the start- ing address for a subsequent program tabulation, repeat to ad- dress, or erase unprotected to address order. 4_._2_._3_ _ _ _ _ _I_n_s_e_r_t_ _C_u_r_s_o_r_ _O_r_d_e_r_ 4.2.3 One-byte order. The IC character causes the cursor to be moved to the character position pointed to by the current buffer address. Neither the contents of this position nor the current buffer ad- dress is affected. \f 4_._2_._4_ _ _ _ _ _P_r_o_g_r_a_m_ _T_a_b_u_l_a_t_i_o_n_ _O_r_d_e_r_ 4.2.4 One-byte order. The PT character indicates that a tabulation operation is to be performed in the buffer. The current buffer address is incremented accordingly to the address of the first character position in the next input field. If the PT order is encountered when the current buffer address points to an at- tribute character that defines an input field, the current buffer address is incremented by one to the address of the first input position. If the PT order follows a data character in the write string, nulls are inserted in any remaining positions to the end of the field, regardless of whether the latter is protected or unpro- tected. If the display is unformatted, nulls are inserted in any remaining positions to the end of the screen, and the current buffer address is reset to 0. If the display is formatted, the current buffer address will also be reset to 0, when no input field is found before the end of the screen. The PT order stops its search for an input field at the last po- sition in the buffer. To continue the search, a second PT order must be given immediately following the first. Since the current buffer address was reset to 0 by the first PT order, the second PT order begins its search at buffer position 0. If the first PT order was still inserting nulls in each character position when it terminated at the last buffer position, the second PT order will continue to insert nulls from buffer position 0 to the end of the current field. 4_._2_._5_ _ _ _ _ _R_e_p_e_a_t_ _t_o_ _A_d_d_r_e_s_s_ _O_r_d_e_r_ 4.2.5 Four-byte order. The RA character indicates that the data charac- ter contained in the fourth byte is to be stored in each position starting at the current buffer address and extending to, but not including, the address specified by the second and third bytes, which will be the current buffer address when the operation is completed. \f If the RA order specifies an address which is equal to or lower than the current buffer address, wrapping will take place during the operation. If the address is equal to the current buffer ad- dress, the specified data character will be stored in all buffer positions. N_o_t_e_ that an RA order will overwrite an attribute character. 4_._2_._6_ _ _ _ _ _E_r_a_s_e_ _U_n_p_r_o_t_e_c_t_e_d_ _t_o_ _A_d_d_r_e_s_s_ _O_r_d_e_r_ 4.2.6 Three-byte order. The EUA character indicates that nulls are to be inserted in all unprotected buffer positions starting at the current buffer address and extending to, but not including, the address specified by the second and third bytes, which will be the current buffer address when the operation is completed. If the EUA order specifies an address which is equal to or lower than the current buffer address, wrapping will take place during the operation. If the address is equal to the current buffer ad- dress, nulls will be inserted in all unprotected buffer positions. N_o_t_e_ that an EUA order will not overwrite an attribute character. 4_._2_._7_ _ _ _ _ _U_n_s_o_l_i_c_i_t_e_d_ _M_e_s_s_a_g_e_ _O_r_d_e_r_ 4.2.7 One-byte order. The USM character in a command to a display ter- minal causes the indicator on the short attention key marked USM to be lit. When USM occurs in a command to a printer, the latter is reserved by the host computer, until a command that does not contain the USM character is received. \f F_ A_._ _ _ _ _ _ _ _ _R_E_F_E_R_E_N_C_E_S_ A. 1 RCSL No 42-i2150: R_C_8_5_5_ _I_B_M_ _3_2_7_0_ _B_S_C_ _E_m_u_l_a_t_o_r_ _O_p_e_r_a_t_i_n_g_ _G_u_i_d_e_ Henning Christensen, November 1982 A_b_s_t_r_a_c_t_: Operating guide for the RC855 IBM 3270 BSC Emula- tor. Describes: keyboard functions; operating procedures; emulator messages; terminal configuration; diagnostics. Covers the specific aspects of operating the emulator, and is meant to be used in conjunction with the terminal oper- ating, software installation, application guidance, and technical reference data documents. Danish edition: RCSL Nr. 42-i2151: R_C_8_5_5_ _I_B_M_ _3_2_7_0_ _B_S_C_ _E_m_u_l_a_t_o_r_ _B_e_t_j_e_n_i_n_g_s_v_e_j_l_e_d_n_i_n_g_ Henning Christensen, november 1982 R_e_s_u_m__: Betjeningsvejledning for RC855 IBM 3270 BSC Emula- tor. Beskriver: tastaturets funktioner; betjeningsprocedu- rer; emulatormeddelelser; terminalkonfigurering; diagnosti- cering. Omhandler de konkrete aspekter i emulatorbetjeningen og skal benyttes i sammenhæng med dokumentation vedrørende installation af programmel, applikationsbetjening og teknisk referencemateriale. \f F_ B_._ _ _ _ _ _ _ _ _R_C_8_5_5_ _K_E_Y_B_O_A_R_D_ _L_A_Y_O_U_T_S_ B. B_._1_ _ _ _ _ _ _ _U_S_ _E_n_g_l_i_s_h_ _K_e_y_b_o_a_r_d_ _L_a_y_o_u_t_ B.1 B_._2_ _ _ _ _ _ _ _U_K_ _E_n_g_l_i_s_h_ _K_e_y_b_o_a_r_d_ _L_a_y_o_u_t_ B.2 \f B_._3_ _ _ _ _ _ _ _G_e_r_m_a_n_ _K_e_y_b_o_a_r_d_ _L_a_y_o_u_t_ B.3 B_._4_ _ _ _ _ _ _ _S_w_e_d_i_s_h_ _K_e_y_b_o_a_r_d_ _L_a_y_o_u_t_ B.4 \f B_._5_ _ _ _ _ _ _ _D_a_n_i_s_h_ _S_t_a_n_d_a_r_d_ _K_e_y_b_o_a_r_d_ _L_a_y_o_u_t_ B.5 B_._6_ _ _ _ _ _ _ _D_a_n_i_s_h_ _P_u_b_l_i_c_ _S_e_c_t_o_r_ _K_e_y_b_o_a_r_d_ _L_a_y_o_u_t_ B.6 \f F_ C_._ _ _ _ _ _ _ _ _E_B_C_D_I_C_ _C_O_D_E_ _S_E_T_S_ C. The RC855 IBM 3270 BSC Emulator has a number of national ver- sions. For each national version there are two code sets: o The EBCDIC code set used for communication with the host com- puter, including BSC line control characters and control char- acters used as device buffer orders and printer control char- acters. o The 7-bit code set used for printing (see appendix E). With a few exceptions, which are described in the notes below, each national character set contains 95 graphic characters, in- cluding the space (SP) character, with EBCDIC codes defined for all 95 characters. N_o_t_e_ that alternate EBCDIC code sets also exist for the German, Swedish, Danish standard, and Danish public sector versions of the Emulator. A configuration parameter in the primary terminal determines which of the two EBCDIC code sets is to be used. \f C_._1_ _ _ _ _ _ _ _U_S_ _E_n_g_l_i_s_h_ _E_B_C_D_I_C_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ C.1 N_o_t_e_ that ITB is designated IUS in the table. \f C_._2_ _ _ _ _ _ _ _U_K_ _E_n_g_l_i_s_h_ _E_B_C_D_I_C_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ C.2 N_o_t_e_ that ITB is designated IUS in the table. \f C_._3_ _ _ _ _ _ _ _G_e_r_m_a_n_ _E_B_C_D_I_C_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ C.3 N_o_t_e_ that ITB is designated IUS in the table. \f C_._4_ _ _ _ _ _ _ _G_e_r_m_a_n_ _A_l_t_e_r_n_a_t_e_ _E_B_C_D_I_C_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ C.4 Only 90 codes are shown in the table below. The characters "S", "#", " ", " ", and """ can be entered from the keyboard and stored in the device buffer of a display terminal. However, when the contents of a device buffer are transmitted to the host com- M_M_m_m_ puter, all of these characters are transmitted as blanks (40 ). P_P_p_p_ Hex N_o_t_e_ that ITB is designated IUS in the table. \f C_._5_ _ _ _ _ _ _ _S_w_e_d_i_s_h_ _E_B_C_D_I_C_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ C.5 N_o_t_e_ that ITB is designated IUS in the table. \f C_._6_ _ _ _ _ _ _ _S_w_e_d_i_s_h_ _A_l_t_e_r_n_a_t_e_ _E_B_C_D_I_C_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ C.6 N_o_t_e_ that ITB is designated IUS in the table. \f C_._7_ _ _ _ _ _ _ _D_a_n_i_s_h_ _S_t_a_n_d_a_r_d_ _E_B_C_D_I_C_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ C.7 N_o_t_e_ that ITB is designated IUS in the table. \f C_._8_ _ _ _ _ _ _ _D_a_n_i_s_h_ _S_t_a_n_d_a_r_d_ _A_l_t_e_r_n_a_t_e_ _E_B_C_D_I_C_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ C.8 Only 93 EBCDIC codes are used for graphic characters. The charac- ters "Å" and "S" can both be entered from the keyboard and stored in the device buffer of a display terminal. However, when the contents of a device buffer are transmitted to the host computer, M_M_m_m_ both "Å" and "S" are transmitted as 5B . When the EBCDIC code P_P_ Hex p_p_M_M_m_m_ 5B is received from the host as device buffer data, it is P_P_p_p_ Hex stored in the device buffer as "Å". The characters "Æ" and "#" M_M_m_m_ are similarly treated. Both are transmitted as 7B . When 7B P_P_ Hex Hex p_p_ is received, it is stored as "Æ". N_o_t_e_ that ITB is designated IUS in the table. \f C_._9_ _ _ _ _ _ _ _D_a_n_i_s_h_ _P_u_b_l_i_c_ _S_e_c_t_o_r_ _E_B_C_D_I_C_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ C.9 N_o_t_e_ that ITB is designated IUS in the table. \f C_._1_0_ _ _ _ _ _ _D_a_n_i_s_h_ _P_u_b_l_i_c_ _S_e_c_t_o_r_ _A_l_t_e_r_n_a_t_e_ _E_B_C_D_I_C_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ C.10 Only 94 EBCDIC codes are used for graphic characters. The charac- ters "Å" and "S" are treated as described for the Danish stan- dard alternate EBCDIC character codes (see section C.8). N_o_t_e_ that ITB is designated IUS in the table. \f F_ D_._ _ _ _ _ _ _ _ _E_B_C_D_I_C_ _C_O_D_E_S_ _F_O_R_ _6_-_B_I_T_ _Q_U_A_N_T_I_T_I_E_S_ D. A number of quantities which are not themselves textual charac- ters can be transmitted as part of a message using the BSC line control protocol. These quantities are either binary encoded in 6 bits or encoded in subfields of a 6-bit field. They include: o device buffer addresses (including cursor addresses) o CU numbers o device numbers o status0 and status1 o attribute characters o write control characters o copy control characters The general rule for obtaining the EBCDIC character used for the transmission of a 6-bit quantity is: Place the 6-bit quantity in the least significant bit positions of a character byte, and as- sign the two high-order bits so that the complete byte value yields a valid EBCDIC graphic character. The set of graphic char- acters used to represent 6-bit quantities is indicated by the shaded areas in fig. 10. \f Figure 10: EBCDIC Graphic Characters Used to Represent 6-Bit Quantities. The EBCDIC equivalent of each 6-bit value is found in the table in fig. 11. The bits are numbered in increasing significance from bit 0. N_o_t_e_ that the graphic characters differ according to the national version. \f Figure 11: Correspondence between 6-Bit Quantity and EBCDIC Code Used for Transmission to/from Host. For speedy reference, the CU and device numbers and the corres- ponding hexadecimal addresses (complete byte values) used in polling/selection sequences are given in table form in fig. 12. \f F_ Figure 12: Correspondence between CU and Device Numbers and Hex- adecimal Addresses Used in Polling/Selection Se- quences. \f F_ E_._ _ _ _ _ _ _ _ _7_-_B_I_T_ _C_O_D_E_ _S_E_T_S_ E. The RC855 IBM 3270 BSC Emulator has a number of national ver- sions. For each national version there are two code sets: o The 7-bit code set, derived from ISO 646, used for printing on printers attached via a serial V.24 interface. o The EBCDIC code set used for communication with the host com- puter (see appendix C). Each national character set contains 95 graphic characters, in- cluding the space (SP) character, with printer codes defined for all 95 characters. Each printer alphabet includes the four control characters CR, LF, VT, and FF, which all printers must support. \f E_._1_ _ _ _ _ _ _ _U_S_ _E_n_g_l_i_s_h_ _P_r_i_n_t_e_r_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ E.1 \f E_._2_ _ _ _ _ _ _ _U_K_ _E_n_g_l_i_s_h_ _P_r_i_n_t_e_r_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ E.2 \f E_._3_ _ _ _ _ _ _ _G_e_r_m_a_n_ _P_r_i_n_t_e_r_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ E.3 \f E_._4_ _ _ _ _ _ _ _S_w_e_d_i_s_h_ _P_r_i_n_t_e_r_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ E.4 \f E_._5_ _ _ _ _ _ _ _D_a_n_i_s_h_ _S_t_a_n_d_a_r_d_ _P_r_i_n_t_e_r_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ E.5 \f E_._6_ _ _ _ _ _ _ _D_a_n_i_s_h_ _P_u_b_l_i_c_ _S_e_c_t_o_r_ _P_r_i_n_t_e_r_ _C_h_a_r_a_c_t_e_r_ _C_o_d_e_s_ E.6 \f F_ F_._ _ _ _ _ _ _ _ _V_._2_4_ _C_O_N_N_E_C_T_I_O_N_S_ F. The RC855 Display Terminal has two 25-pin type DB25-S connectors, which are used for the attachment of signal cables to a modem (used for BSC communication with a host computer) and a printer. The connector for the modem is marked LINE I, and the connector for the printer LINE II. Fig. 13 shows the correspondence between the connector pins and interchange circuits as defined in the CCITT V.24 Recommendation. This correspondence complies with ISO Standard No 2110. The pins not shown in the figure are not used by the Emulator. Figure 13: Correspondence between Connector Pins and Interchange Circuits. \f The interchange circuits connecting the RC855 to the modem are used in accordance with CCITT V.24. The use of each of the interchange circuits connecting the RC855 to an attached printer is described below. M_m_m_ transmitted data (103) P_p_p_ ---------------------- Used for transmission of data, i.e. 7-bit ISO-coded control char- acters and printable characters (see section 2.3 and appendix E). M_m_m_ data terminal ready (108/2) P_p_p_ --------------------------- This circuit is ON whenever the Emulator is running. M_m_m_ request to send (105) P_p_p_ --------------------- This circuit is ON whenever the Emulator has a character to send to the printer. M_m_m_ ready for sending (106) P_p_p_ ----------------------- The ON condition is interpreted by the Emulator to mean that the printer is ready to receive the next character. When this circuit is OFF, the Emulator will not transmit a character. If the OFF condition persists longer than 20 seconds while circuit 105 is M_M_m_m_ ON, the status printer offline (see subsection 3.5.2) will be re- P_P_ --------------- p_p_ ported to the host, if appropriate, or the operator message "Printer not ready" will be displayed at the terminal from which a hard copy was requested. M_m_m_ carrier (109) P_p_p_ ------------- This circuit must be ON whenever the printer is online and oper- ative. When this circuit is OFF, the Emulator assumes that the printer is powered off, is locally selected, or has a paper-out M_M_m_m_ condition. The status printer offline (see subsection 3.5.2) is P_P_ --------------- p_p_ reported to the host, if appropriate, and/or the operator message "Printer offline" is displayed at any terminal from which a hard copy is requested. \f F_ G_._ _ _ _ _ _ _ _ _T_R_A_N_S_M_I_S_S_I_O_N_ _S_E_Q_U_E_N_C_E_S_ _S_H_O_W_I_N_G_ _H_E_X_A_D_E_C_I_M_A_L_ _C_O_D_E_S_ G. This appendix is intended as an aid in the performance of system monitoring (fully described in the operating guide 1). The pri- mary terminal can capture and display transmission sequences on the BSC communication line, including recognized polling/selec- tion sequences for other control units. The following description is based on the discussion of communication with the host com- puter found in chapter 3. For each sequence, the corresponding hexadecimal code is shown underscored, e.g. ENQ 2_D_. Transmission sequences are delimited by PAD characters: ... PAD <transmission sequence> PAD ... ... F_F_ <transmission sequence> F_F_ ... <transmission sequence>: SYN SYN <sequence> 3_2_ 3_2_ <sequence> <sequence>: <polling/selection sequence> <text> ACK 0 (i.e. DLE 70) 1_0_ 7_0_ ACK 1 (i.e. DLE 61) 1_0_ 6_1_ WACK (i.e. DLE 6B) 1_0_ 6_B_ RVI (i.e. DLE 7C) 1_0_ 7_C_ NAK 3_D_ EOT 3_7_ ENQ 2_D_ TTD (i.e. STX ... ENQ) 0_2_ ... 2_D_ <polling/selection sequence>: CU CU DEV DEV ENQ E_x_a_m_p_l_e_s_ General poll, CU CU DEV DEV ENQ CU number 0: 4_0_ 4_0_ 7_F_ 7_F_ 2_D_ \f Specific poll, CU number 0, CU CU DEV DEV ENQ device number 0: 4_0_ 4_0_ 4_0_ 4_0_ 2_D_ Selection, CU number 0, CU CU DEV DEV ENQ device number 0: 6_0_ 6_0_ 4_0_ 4_0_ 2_D_ <text>: STX message ETX E_x_a_m_p_l_e_s_ Short read message, CU number 1, device STX CU DEV AID ETX number 5, CLEAR: 0_2_ C_1_ C_5_ 6_D_ 0_3_ Status message, CU number 2, device number 10, printer SOH % R STX CU DEV S/0 S/1 ETX offline: 0_1_ 6_C_ D_9_ 0_2_ C_2_ 4_A_ C_2_ 5_0_ 0_3_ Command message, Erase All STX ESC CMD ETX Unprotected: 0_2_ 2_7_ 6_F_ 0_3_ Message transmitted in three STX ... ETB ... ETB ... ETX text blocks: 0_2_ ... 2_6_ ... 2_6_ ... 0_3_ \f F_ H_._ _ _ _ _ _ _ _ _C_U_R_S_O_R_-_S_E_L_E_C_T_ _K_E_Y_ _A_N_D_ _M_A_G_N_E_T_I_C_-_S_T_R_I_P_E_ _R_E_A_D_E_R_ _O_P_E_R_A_T_I_O_N_S_ H. H_._1_ _ _ _ _ _ _ _C_u_r_s_o_r_-_S_e_l_e_c_t_ _K_e_y_ _O_p_e_r_a_t_i_o_n_s_ H.1 The cursor-select key (marked CURSR SELCT) permits the operator to select from a menu of displayed items and then cause a read message containing the selections to be transmitted to the host computer (see subsection 2.2.4). The cursor-select key is operat- ed by positioning the cursor within a field formatted for cursor- select key operations and pressing the CURSR SELCT key. H_._1_._1_ _ _ _ _ _C_u_r_s_o_r_ _S_e_l_e_c_t_a_b_l_e_ _F_i_e_l_d_ _F_o_r_m_a_t_ H.1.1 A field to be used for cursor-select key operations must have the following format: data1: Data character (preceding field on the same line as the cursor selectable field). SPSPSP: Space or null characters. Three such characters must precede the attribute character defining the cursor selectable field, unless the attribute character is the first character on the line. attr1: Attribute character (see subsection 4.2.1). The at- tribute character defines the field as cursor select- able (normal display) or intensified display and cursor selectable. The field may be an input field or a pro- tected field. A cursor selectable field is the equival- ent of an IBM selector-pen detectable (SPD) field. desig: Designator character (see subsection H.1.2). data2: Displayed alphameric character(s). \f SPSPSP: Space or null characters. Three such characters must precede a new field following on the same line as the cursor selectable field. attr2: Attribute character (succeeding field on the same line as the cursor selectable field). The attribute character, designator character, and displayed al- phameric character(s) must be on the same line. Should the field extend beyond one line, only that part of the field which is on the same line as the attribute character is cursor selectable. A maximum of 12 cursor selectable fields may precede the last cur- sor selectable field on a given line. H_._1_._2_ _ _ _ _ _D_e_s_i_g_n_a_t_o_r_ _C_h_a_r_a_c_t_e_r_s_ H.1.2 The effect of cursor selection, i.e. pressing the CURSR SELCT key after having positioned the cursor within a cursor selectable field, is determined by the designator character. A question mark (?) designator character defines the cursor se- lectable field as a selection field. Cursor selection of such a field sets the MDT of the field, and changes the displayed de- signator character to a greater-than sign (>) to indicate suc- cessful selection. Cursor selection of the same field again will reset the MDT and change the designator character back to a ques- tion mark. A space or null designator character (displayed as a blank) de- fines the cursor selectable field as an attention field. Cursor selection of such a field sets the MDT of the field, and gener- M_M_ ates a data attention (AID code 7E ). The read modified string P_ Hex P_ in the response body of the read message (see subsection 4.1.1.4) will contain only the address of each modified field. An ampersand (&) designator character defines the cursor select- able field as an attention field of a second type. Cursor selec- tion of such a field sets the MDT of the field, and generates a\f M_M_ data attention (AID code 7D ) as if the SEND key had been P_ Hex P_ pressed (see subsection 2.2.4). N_o_t_e_ that, if none of the above characters is present in the se- cond character position of a cursor-selected field, the keyboard will sound an alarm. H_._2_ _ _ _ _ _ _ _M_a_g_n_e_t_i_c_-_S_t_r_i_p_e_ _R_e_a_d_e_r_ _O_p_e_r_a_t_i_o_n_s_ H.2 The magnetic-stripe reader reads information encoded on magnetic- striped documents, such as operator identification badges or cards. The recorded information is read from the stripe when the operator inserts the document into the slot of the reader. The reader data is written, as a rule, into the terminal buffer at the location specified by the cursor. Once the information is read, the reader generates a data attention, and the use of the keyboard is inhibited (see subsection 2.2.4). A configuration parameter determines whether the magnetic-striped document is to be handled according to IBM 3277, IBM 3278, or Al- faskop System 37 specifications. H_._2_._1_ _ _ _ _ _I_B_M_ _3_2_7_7_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ H.2.1 The magnetic-stripe reader reads the 3277-compatible numeric character set shown in figure 14. The reader data is written into the buffer at the location specified by the cursor, but is not displayed on the screen, i.e. the data is automatically secure. M_M_ The AID code of the reader-generated data attention is E6 . P_ Hex P_ Once the document is read, it may be removed from the reader. \f H_._2_._1_._1_ _ _ _3_2_7_7_-_C_o_m_p_a_t_i_b_l_e_ _N_u_m_e_r_i_c_ _C_h_a_r_a_c_t_e_r_ _S_e_t_ H.2.1.1 The 3277-compatible numeric character set comprises 10 numeric data characters and 4 control characters, including a field sep- arator. Each character consists of a 4-bit pattern plus an odd- M_ parity bit. This bit pattern is recorded with the low-order bit M_ 0 1 2 3 P_P_ first (i.e. 2 2 2 2 P). A longitudinal redundancy check (LRC) character is placed at the end, protected by an odd-parity bit of its own. Characters are recorded, low-order bit first, beginning at the left side of the magnetic stripe. H_._2_._1_._2_ _ _ _M_a_g_n_e_t_i_c_-_S_t_r_i_p_e_ _C_a_p_a_c_i_t_y_ H.2.1.2 A maximum of 37 data characters can be encoded between the SS (Start Sentinel) and ES (End Sentinel) control characters at a density of 3 bits/mm (75 bits/inch). At least 7 data characters must be encoded between SS and ES. H_._2_._1_._3_ _ _ _M_a_g_n_e_t_i_c_-_S_t_r_i_p_e_ _F_o_r_m_a_t_ H.2.1.3 The magnetic-stripe recording format is as follows: SS (hex B) identifies the beginning and ES (hex F) the end of the data. The LRC character is calculated beginning with the SS and ending with the ES characters. See further subsection H.2.4. \f H_._2_._2_ _ _ _ _ _I_B_M_ _3_2_7_8_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ H.2.2 The magnetic-stripe reader reads the numeric and alphameric char- acter sets shown in figures 15 and 16. The header of the mag- netic-stripe record indicates which of the two character sets was used for recording. The reader data is written into the buffer at the location specified by the cursor, but is not displayed on the screen when secure data is specified by the header. The AID code M_M_ of the reader-generated data attention is E7 . Once the docu- P_ Hex P_ ment is read, it may be removed from the reader. H_._2_._2_._1_ _ _ _N_u_m_e_r_i_c_ _a_n_d_ _A_l_p_h_a_m_e_r_i_c_ _C_h_a_r_a_c_t_e_r_ _S_e_t_s_ H.2.2.1 The numeric character set comprises 11 data characters (10 numeric characters and space) and 4 control characters. Each character consists of a 4-bit code plus an odd-parity bit. The alphameric character set comprises 64 data characters (10 nu- meric and 54 nonnumeric characters including space) and 4 control characters. Each nonnumeric character is composed of two hex characters, and each hex character consists of 4 bits plus an odd-parity bit. Viewing this as a paired 4-bit code, the letter M, for example, is recorded as hex D4, hex D being recorded first. Each numeric character is composed of a single hex character, so that two numeric characters can be recorded in this paired 4-bit code structure. Consequently, there must be an even number of nu- meric characters in any contiguous string of numeric characters or, if an odd number of numeric characters is recorded, a filler character, hex A, must be added following the odd-numbered nu- meric character to preserve the paired 4-bit structure. M_ For both the numeric and the alphameric character sets, hex char- M_ 0 1 2 P_P_M_ acters are recorded with the low-order bit first (i.e. 2 2 2 M_ 3 P_P_ 2 P). \f H_._2_._2_._2_ _ _ _M_a_g_n_e_t_i_c_-_S_t_r_i_p_e_ _C_a_p_a_c_i_t_i_e_s_ H.2.2.2 A maximum of 37 numeric data characters (37 hex codes) or 18 non- numeric data characters (36 hex codes) can be encoded between the SS (Start Sentinel) and ES (End Sentinel) control characters at a density of 3 bits/mm (75 bits/inch). If a combination of numeric and nonnumeric characters is recorded, the total number of hex codes must not exceed 37. At least 7 hex codes must be encoded between SS and ES. H_._2_._2_._3_ _ _ _M_a_g_n_e_t_i_c_-_S_t_r_i_p_e_ _F_o_r_m_a_t_ H.2.2.3 The magnetic-stripe recording format is as follows: SS (hex B) identifies the beginning and ES (hex F) the end of the information section. The LRC character is calculated beginning with the SS and ending with the ES characters. See further sub- section H.2.4. The header specifies whether the data section is secure and indi- cates the character set used in the data section. A secure data section is specified when hex A immediately follows SS (hex B) as the first (only) character in the header. The char- acter set is indicated by the presence or absence of hex C in the header. There are four possible combinations of secure/nonsecure data and numeric/alphameric character set: \f o secure data, numeric character set: hex B followed by hex A immediately followed by a numeric character or the space character (hex D) as the first character of the data section o nonsecure data, numeric character set: hex B immediately followed by a numeric character or the space character (hex D) as the first character of the data section o secure data, alphameric character set: hex B followed by hex A immediately followed by hex C in the second hex character position of the header o nonsecure data, alphameric character set: hex B immediately followed by hex C in the first hex character position and hex A (as a filler character) in the second hex character position of the header H_._2_._3_ _ _ _ _ _A_l_f_a_s_k_o_p_ _S_y_s_t_e_m_ _3_7_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ H.2.3 The magnetic-stripe reader reads the 3277-compatible numeric character set described in subsection H.2.1. The ES and LRC char- acters are not seen by the application program. Of the four con- trol characters, only the separation character (hex D) is sent to the host computer, as EBCDIC 40. The reader data is stored in a buffer separate from the terminal buffer. When the document is removed from the reader, the latter generates a second data at- M_M_ tention (AID code E6 ). The response body of the read message P_ Hex P_ (see subsection 4.1.1.4) contains only the address of the cursor. H_._2_._4_ _ _ _ _ _R_e_a_d_ _M_e_s_s_a_g_e_s_ H.2.4 Once the magnetic-stripe information is read, the reader gen- erates a data attention (see subsection 2.2.4). The contents of the response body of the read message (see subsection 4.1.1.4) depend on whether the display screen is unformatted or formatted (i.e. has at least one attribute character defined on initial presentation). When the SS (Start Sentinel) control character is\f read, and the data is secure, the reader automatically generates an attribute character at the current cursor position (provided that the location is unprotected). This attribute character de- fines the following field as protected, alphameric, and nondis- play/nonprint. As the data characters are read into the buffer, they are stored starting at the first character position follow- ing the attribute character. The cursor does not move, but is repositioned when the document has been read. If no field is defined by the application program, the response body of the read message will contain: ADDR1 ADDR2 the address of the cursor on completion of the read operation SBA ADDR1 ADDR2 a set buffer address order with the address of the first character position in the field defined by the reader-generated at- tribute character data the reader data followed by any other buffer contents If the application program defines a field for reader data as an unprotected field, with the cursor directly following the at- tribute character, the response body of the read message will contain: ADDR1 ADDR2 the address of the cursor on completion of the read operation SBA ADDR1 ADDR2 a set buffer address order with the address of the first character position in the field defined by the application program, i.e. the address of the attribute character generated by the reader SBA ADDR1 ADDR2 a set buffer address order with the address of the first character position in the field defined by the reader-generated at- tribute character \f data the reader data followed by any other data up to the next attribute character If the application program defines a field for reader data as an unprotected field containing, say, the operator prompt "ENTER ID," followed by the cursor, the response body of the read message will contain: ADDR1 ADDR2 the address of the cursor on completion of the read operation SBA ADDR1 ADDR2 a set buffer address order with the address of the first character position in the field defined by the application program data ENTER ID SBA ADDR1 ADDR2 a set buffer address order with the address of the first character position in the field defined by the reader-generated at- tribute character data the reader data followed by any other data up to the next attribute character N_o_t_e_ that the response body of the read message will also include any other fields for which the MDT is set. The position of the reader data in the response body will therefore depend on the po- sition of the reader-data field in the format. H_._2_._5_ _ _ _ _ _E_r_r_o_r_ _C_o_n_d_i_t_i_o_n_s_ H.2.5 Reader data is not written into the terminal buffer when any of several different error conditions exists. Thus the reader may detect invalid magnetic-stripe information, for example, or the cursor may be positioned in a protected field. Whenever an error condition arises, the Emulator displays an appropriate message, as described in the operating guide 1. \f Figure 14: 3277-Compatible Numeric Character Set. \f Figure 15: Numeric Character Set. \f Figure 16: Alphameric Character Set (Part 1 of 3). \f Figure 16: Alphameric Character Set (Part 2 of 3). \f Figure 16: Alphameric Character Set (Part 3 of 3). N_o_t_e_ that the characters shown for EBCDIC codes 4A, 5A, 7C, 5B, 7B, 4F, 5F, 7F, and E0 are those of the "US English" EBCDIC code set (see appendix C). \f F_ I_._ _ _ _ _ _ _ _ _I_N_D_E_X_ I. ACK 0 sequence 27, 83 ACK 1 sequence 27, 83 ADDR1 and ADDR2 characters 40 AID character: see Attention identification character Alarm 9, 16, 87 Alarm bit, in CCC 49 in WCC 47 Alfaskop System 37 specifications, magnetic-stripe reader 91 Alpha-lock mode 11 Alphameric input field 5, 6, 9, 52, 92 ATR character: see Attribute character Attention 12 Attention identification character 12, 41, 42, 44, 50, 86, 87, 89, 91 Attribute character 5, 6, 7, 19, 42, 44, 49, 50, 51f, 53, 54, 70, 85, 86, 87, 91ff Automatic skip field 5, 10, 52 Available device 37 Backspace key: see Left key Backtab key: see Field backward key BCC: see Block check character BCC accumulation 25, 26, 29 Block check character 29 Block check sequence 25, 27, 29 BSC communication line 23 Buffer address 40, 42, 44, 45, 46, 48, 50, 52ff, 70 Cancellation, of local copy request attention 14 of marks produced by MARK key 14 of pending read message 14 CCC: see Copy control character Chained command 32, 34, 35, 42, 46 Character 5 CLEAR key 13, 52 CMD character 37, 41 \f Command body 41 Command error status 38 Command message, general form 41 Compressed printing mode 18, 19, 21, 22 Configuration parameter 3, 7, 8, 11, 18, 19, 21, 11, 59, 87 Configuration program 3 Connection of cluster to BSC line 23 Control mode 24 Control-type command 34, 41 Control unit address 23, 30, 31, 33, 73 Copy busy status 39 Copy command 38f, 41, 48ff command body 48 Copy command error status 39 Copy control character 49f, 70 Copy locked status 39 Copy request attention 13 Copy type bits in CCC 49 Copy unavailable status 39 CRC: see Cyclic redundancy check CRC error 30 CTRL key 11 CU 24 CU character 31, 36, 40, 42 CU emulator program 2, 3, 12, 22 CU number 8, 23, 31, 36, 70, 73 Cursor 7, 9, 10, 13, 14ff, 22, 85f, 92 Cursor address 40, 44, 45, 46, 47, 48, 50, 52, 70 Cursor selectable field 51, 85ff CURSR SELCT key 13, 85ff Cyclic redundancy check 29 Data attention 12, 86, 87 key 12, 44 Data character 6, 19, 43, 44, 45, 46, 47, 53, 54 Data presentation 7 "Decimal point" character 10 key 9, 10 DEL CHAR key 16 \f DEL LINE key 17 Designator character 86f DEV character 31, 36, 41, 42, 48f Device address 23, 30, 31, 73 Device buffer 5, 40, 41, 87 Device buffer data 6, 41, 43, 44, 45, 47, 48, 50 Device buffer order 6, 45, 47, 50ff Device number 7, 18, 23, 31, 36, 70, 73 Device unavailable status 37 Diagnostic test programs 4, 12, 14 Dialog 24, 28, 31ff DLE character 25 Down key 15 DUP character 6, 17 key 17 Editing operations 14, 16ff ENQ character 25 sequence 26, 27, 83 EOT sequence 27, 37, 83 Erase All Unprotected command 41, 48, 50 command body 50 ERASE FIELD key 17 ERASE INPUT key 17 Erase unprotected to address order 54 Erase/Write command 41, 45, 48 command body 48 Erasing by Copy command 48 ESC character 37, 41 ESC key 14 ETB character 25, 29 ETX character 25, 28, 29 EUA order: see Erase unprotected to address order Field backward key 15 Field forward key 15 Fixed print format 19, 21, 22 FM character 6, 17 key 17 \f Formatted buffer 7, 44, 53, 87, 91ff Formatted display: see Formatted buffer "From" device 39, 48f Full-image printing mode 18, 21, 22 General poll 27, 31f, 37, 38, 41, 44 Hard-copy printer 13 Home key 15 Home position 15 IBM 3277 specifications, magnetic-stripe reader 87f IBM 3278 specifications, magnetic-stripe reader 89ff IC order: see Insert cursor order Inbound message 6, 12, 14, 23, 25, 26, 27, 28, 31, 32, 34, 36, 42, 44, 45 Inhibited use of keyboard: see Keyboard inhibition Input field 6, 9, 50, 52, 53, 85, 92 Input position 6 Insert character mode 16 Insert cursor order 52 INS LINE key 16 INS MODE key 16 Interchange circuits for attached printer 82 Invalid command 37, 38, 39 ITB character 25 Keyboard inhibition 9, 12, 14, 87 Keyboard restore bit in WCC 46 Keys repeating automatically 9 Left key 15 Line control characters 24, 25f LINE I and LINE II connectors 81 Local attention 12 Local copying 13, 21f Local device 18 LOCK key 11 Locked buffer 39, 49 Long read message 12, 31, 44, 45 \f Magnetic-stripe reader 8, 87ff MARK key 18 Marking of strings 18 Master station 27, 28ff MDT: see Modified data tag Message 5, 28 Message header 25 Modem attachment 23 Modified data tag 6, 9, 12, 17, 50, 51, 52, 86, 93 Modified field 5, 6, 51 Modified field transfer 41, 42, 44, 45 Monitoring system 4, 83f MOVE key 18 Moving of strings 18 Multipoint line 23 NAK sequence 27, 30, 83 New line key 16 No attention 43 Nondisplay field 5, 19, 51, 92 Nonnumeric keys 9 Null and space characters 6 Null suppression 6, 18, 19, 22, 44, 45 Numeric input field 5, 6, 9, 10, 52 Numeric keys 9 Numeric pad 10 Operator controls 7 Operator messages 3, 7, 93 Outbound messages 6, 23, 28, 31, 33, 41 PAD character 26, 83 PA key: see Program access keys Pending inbound message 23, 27, 31 read message 12, 14, 31, 32, 34, 44 status message 28 PF key: see Program function keys Picture timeout 8 Polling sequence 31, 73, 83 \f Primary terminal 2, 3, 4, 8, 12, 22, 23, 37, 83f Print format bits, in CCC 21, 49 in WCC 21, 47 PRINT key 13 Printer 2, 7, 18ff, 37ff Printer busy status 38 Printer control characters 6, 19ff, 22 Printer offline status 38 Printer ready and not busy status 38 Program access keys 13 Program function keys 13 Program tabulation order 53 Protected buffer 50 Protected field 5, 6, 9, 52, 53, 85, 92 PT order: see Program tabulation order RA order: see Repeat to address order RC-CIRCUIT 2, 4, 8, 12, 37 Read Buffer command 41, 43f body of response 44 command body 44 Read buffer string 44 Read message 6, 31, 42 general form 41 Read Modified command 41, 44f body of response (long read) 45, 86, 91ff command body 45 implicit 12, 44 Read modified string 45 Read-type command 34f, 40, 41ff explicit 34, 41, 43, 44 Receive timeout 24, 28 Regret attention 14 Remote attention 12 Remote printing operations 21 Repeat to address order 53f Reservation of printer by host 54 RESET button 3 RESET key 13 \f Reset MDT bit in WCC 46 Reset of terminal 3, 11, 13 Response body 41f Restoration of keyboard use 12, 14, 46, 50 Return key: see New line key Reveal mode 4, 5 Right key 15 RVI sequence 27, 83 SBA order: see Set buffer address order Secondary address 8 Secondary terminal 2, 3, 4, 8, 37 SELCT key 14 Selection sequence 33, 73, 83 Selector-pen detectable field 85 Self-test, automatic 3 SEND key 14, 86 Set buffer address order 45, 46, 52 SF order: see Start field order SHIFT key 11 Short attention 12 key 12, 44 Short read message 12, 31, 44 Six-bit quantities 70 Slave station 27, 28ff SOH character 25, 29 Space and null characters 6 SPD field: see Selector-pen detectable field Specific poll 31f, 37, 38, 41, 44 Start field order 44, 51f Starting position, for EUA order 52 for PT order 52 for RA order 52 for read operation 42 for write operation 46 Start printer bit, in CCC 21, 28, 49 in WCC 21, 28, 47 Statistics, system 4 \f Status message 23, 25, 26, 31, 36ff general form 36 Status0 and status1 36 STX character 26, 28, 29 Suppression of null: see Null suppression SYN character 26, 83 S/0 and S/1 characters 36 Tab key: see Field forward key Text 27, 41, 83 Text block 29 Text mode 24 Text transfer 29 "To" device 39, 48f Transmission sequence 4, 26, 83f Transparent monitor mode 24 Transparent print format 19, 20 TTD sequence 28, 83 Unformatted buffer 42, 44, 45, 53, 87, 91ff Unformatted display: see Unformatted buffer Unprotected field 5, 6, 50, 53, 54, 92f Unsolicited message order 13, 54 Up key 15 USM key 13, 54 USM order: see Unsolicited message order WACK sequence 28, 35, 83 WCC: see Write control character Wrapping 10, 15f, 42, 54 Write command 45, 47 command body 47 Write control character 45, 46f, 70 Write string 47, 50, 53 Write-type command 34, 41, 45 key: see Left key key: see Right key key: see Up key \f key: see Down key key: see Home key key: see Field backward key key: see Field forward key key: see New line key \f F_ \f \f «eof»