Workstation Customization Programming
Workstation Customization Programming
SC41-5605-00
AS/400e series IBM
SC41-5605-00
Note
Before using this information and the product it supports, be sure to read the general information in “Notices” on page 395.
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform
Function . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Preparing to Customize an ASCII Printer . . . . . . . . . . . . . . . 145
Gathering Source Materials . . . . . . . . . . . . . . . . . . . 145
Completing Printer Setup . . . . . . . . . . . . . . . . . . . . 145
Planning the Customization Schedule . . . . . . . . . . . . . . . 146
Customizing Unsupported ASCII Printers . . . . . . . . . . . . . . 146
Retrieving the Workstation Customizing Source . . . . . . . . . . . . 146
Understanding the Transform Table . . . . . . . . . . . . . . . . 146
Choosing the Customizing Source . . . . . . . . . . . . . . . . 147
Changing the Source . . . . . . . . . . . . . . . . . . . . . . 147
Transform Table (TRNSFRMTBL) Tag . . . . . . . . . . . . . . . 147
Using the Tags . . . . . . . . . . . . . . . . . . . . . . . 148
Programming Considerations . . . . . . . . . . . . . . . . . . 148
Customizing Printer Information . . . . . . . . . . . . . . . . . . 149
Printer Data Stream (PRTDTASTRM) Tag. . . . . . . . . . . . . . 149
Raster Mode (RASTERMODE) Tag . . . . . . . . . . . . . . . . 150
No-print Border (NOPRTBDR) Tag . . . . . . . . . . . . . . . . 151
Drawer Page Size . . . . . . . . . . . . . . . . . . . . . . 152
Customizing Printer Controls . . . . . . . . . . . . . . . . . . . 153
Bell (BELL) Tag . . . . . . . . . . . . . . . . . . . . . . . 153
Carrier Return (CARRTN) Tag . . . . . . . . . . . . . . . . . . 153
Initialize Printer (INITPRT) Tag . . . . . . . . . . . . . . . . . . 153
Reset Printer (RESETPRT) Tag . . . . . . . . . . . . . . . . . 154
Raster Graphics End (RASEND) Tag . . . . . . . . . . . . . . . 154
Print All Characters (PRTALLCHR) Tag . . . . . . . . . . . . . . 154
Print Next Character (PRTNXTCHR) Tag . . . . . . . . . . . . . . 155
Customizing Print Media Size . . . . . . . . . . . . . . . . . . . 155
Envelope Size . . . . . . . . . . . . . . . . . . . . . . . . 155
Contents v
Paper Size . . . . . . . . . . . . . . . . . . . . . . . . . 156
Page Length . . . . . . . . . . . . . . . . . . . . . . . . 157
Printable Area . . . . . . . . . . . . . . . . . . . . . . . . 159
Customizing Highlighting . . . . . . . . . . . . . . . . . . . . . 161
Bold . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Underscore . . . . . . . . . . . . . . . . . . . . . . . . . 162
Customizing Horizontal Movement . . . . . . . . . . . . . . . . . 162
Backspace (BSP) Tag . . . . . . . . . . . . . . . . . . . . . 162
Characters Per Inch. . . . . . . . . . . . . . . . . . . . . . 162
Horizontal Absolute Movement (HORAMOV) Tag . . . . . . . . . . . 164
Horizontal Relative Movement (HORRMOV) Tag . . . . . . . . . . . 165
Proportional Spacing . . . . . . . . . . . . . . . . . . . . . 167
Space (SPACE) Tag . . . . . . . . . . . . . . . . . . . . . 167
Customizing Vertical Movement . . . . . . . . . . . . . . . . . . 167
Form Feed (FORMFEED) Tag . . . . . . . . . . . . . . . . . . 168
Half Line Feed (HLFLINEFEED) Tag . . . . . . . . . . . . . . . 168
Line Feed (LINEFEED) Tag . . . . . . . . . . . . . . . . . . . 168
Vertical Absolute Movement (VERAMOV) Tag . . . . . . . . . . . . 168
Vertical Relative Movement (VERRMOV) Tag . . . . . . . . . . . . 169
Reverse Half Line Feed (RVSHLFLINEFEED) Tag . . . . . . . . . . 171
Reverse Line Feed (RVSLINEFEED) Tag . . . . . . . . . . . . . . 171
Vertical Line Spacing . . . . . . . . . . . . . . . . . . . . . 171
Customizing Indexing . . . . . . . . . . . . . . . . . . . . . . 173
Subscript. . . . . . . . . . . . . . . . . . . . . . . . . . 173
Superscript . . . . . . . . . . . . . . . . . . . . . . . . . 173
Customizing Color . . . . . . . . . . . . . . . . . . . . . . . 174
Foreground Color (FOREGRND) Tag . . . . . . . . . . . . . . . 174
Customizing Paper Input . . . . . . . . . . . . . . . . . . . . . 174
Paper Drawer Selection (DWRSLT) Tag . . . . . . . . . . . . . . 174
Selecting Paper Drawer Number (DWRNBR) Tag . . . . . . . . . . . 175
Additional Paper Drawer Selection . . . . . . . . . . . . . . . . 175
Customizing Paper Output . . . . . . . . . . . . . . . . . . . . 176
Output Bin Selection . . . . . . . . . . . . . . . . . . . . . 176
Jog Output Tray . . . . . . . . . . . . . . . . . . . . . . . 177
Duplex . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Customizing Print Orientation . . . . . . . . . . . . . . . . . . . 179
Print Angle (PRTANGLE) Tag . . . . . . . . . . . . . . . . . . 179
Paper Orientation (PRTORIENT) Tag . . . . . . . . . . . . . . . 179
Customizing Print Quality. . . . . . . . . . . . . . . . . . . . . 180
Print Quality (PRTQLTY) Tag . . . . . . . . . . . . . . . . . . 180
Customizing Fonts . . . . . . . . . . . . . . . . . . . . . . . 180
Font Groups . . . . . . . . . . . . . . . . . . . . . . . . 181
Individual Fonts . . . . . . . . . . . . . . . . . . . . . . . 182
Font Mapping . . . . . . . . . . . . . . . . . . . . . . . . 183
Customizing Code Page Support . . . . . . . . . . . . . . . . . . 184
Customizing EBCDIC-to-ASCII Code Page Mapping . . . . . . . . . . 185
Supporting Additional ASCII Code Pages . . . . . . . . . . . . . . 187
Overriding the Default ASCII Code Page (DFTASCCP) Tag . . . . . . . 189
Customizing Fax Support. . . . . . . . . . . . . . . . . . . . . 189
Fax Size . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Customizing Double-Byte Character Set (DBCS) Support . . . . . . . . . 191
CCSID Mapping . . . . . . . . . . . . . . . . . . . . . . . 191
Shift In (SI) Tag . . . . . . . . . . . . . . . . . . . . . . . 192
Shift Out (SO) Tag . . . . . . . . . . . . . . . . . . . . . . 192
DBCS Space (DBSPACE) Tag . . . . . . . . . . . . . . . . . . 192
Chapter 11. Customizing ASCII Printers That Use the Emulator on the
Display . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Supported ASCII Printers Attached to Twinaxial Displays . . . . . . . . . 205
Customizing Unsupported ASCII Printers Attached to Twinaxial Displays . . . 206
Printer Mapping Table for ASCII Printers Attached to Twinaxial Displays . . . 206
ASCII Printer Definition Table . . . . . . . . . . . . . . . . . . 207
Determining Which ASCII Printer Tables to Use . . . . . . . . . . . . 207
Working with the Tag Language for ASCII Printers Attached to Twinaxial
Displays . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Using the Tags to Customize ASCII Printers Attached to Twinaxial Displays . . 208
ASCII Printer Definition Table (PDFNTBL) Tag . . . . . . . . . . . . 208
Printer Function Tags . . . . . . . . . . . . . . . . . . . . . 209
Printer Function Tags for 3477 Model H, 3486, 3487, and 3488 Displays . . . 209
Printer Function Tags with Variable and Relative Movement . . . . . . . 209
Backspace (BSP) Tag . . . . . . . . . . . . . . . . . . . . . 211
Bell (BELL) Tag . . . . . . . . . . . . . . . . . . . . . . . 211
Start Bold Printing Function (STRBOLD) Tag . . . . . . . . . . . . 211
End Bold Printing (ENDBOLD) Tag . . . . . . . . . . . . . . . . 211
Carrier Return (CARRTN) Tag . . . . . . . . . . . . . . . . . . 212
Set Characters per Inch (CPI) Tag . . . . . . . . . . . . . . . . 212
Set Code Page (CODEPAGE) Tag . . . . . . . . . . . . . . . . 212
Set Double Character Height (DBLCHRH) Tag . . . . . . . . . . . . 213
Start Double-Wide Continuous (STRWIDE) Tag . . . . . . . . . . . 213
End Double-Wide Continuous (ENDWIDE) Tag. . . . . . . . . . . . 213
Drawer Selection (DWRSLT) Tag . . . . . . . . . . . . . . . . . 213
Global Fonts for Printer Definition Table (FNTGPDT) Tag . . . . . . . . 214
End Global Fonts for PDT (EFNTGPDT) Tag . . . . . . . . . . . . 214
Global Font Range (FNTGRNG) Tag . . . . . . . . . . . . . . . 214
Foreground Color (FOREGRND) Tag . . . . . . . . . . . . . . . 215
Form feed (FORMFEED) Tag . . . . . . . . . . . . . . . . . . 215
Initialize Printer (INITPRT) Tag . . . . . . . . . . . . . . . . . . 215
Line Feed (LINEFEED) Tag . . . . . . . . . . . . . . . . . . . 215
Set Lines per Inch (LPI) Tag . . . . . . . . . . . . . . . . . . 216
Set Page Length in Lines (PAGLENL) Tag . . . . . . . . . . . . . 216
Contents vii
Paper Feed (PRTFEED) Tag . . . . . . . . . . . . . . . . . . 217
Paper Orientation (PRTORIENT) Tag . . . . . . . . . . . . . . . 217
Print Quality (PRTQLTY) Tag . . . . . . . . . . . . . . . . . . 218
Start Proportional Space (STRPROP) Tag . . . . . . . . . . . . . 218
End Proportional Space (ENDPROP) Tag. . . . . . . . . . . . . . 218
Quality Font Download (SETQLTY) Tag . . . . . . . . . . . . . . 219
Space (SPACE) Tag . . . . . . . . . . . . . . . . . . . . . 219
Set Standard Character Height (STDCHRH) Tag . . . . . . . . . . . 219
Start Subscript (STRSUBS) Tag . . . . . . . . . . . . . . . . . 219
End Subscript (ENDSUBS) Tag . . . . . . . . . . . . . . . . . 220
Start Superscript (STRSUPS) Tag . . . . . . . . . . . . . . . . 220
End Superscript (ENDSUPS) Tag. . . . . . . . . . . . . . . . . 220
Table Name (TBLNAME) Tag . . . . . . . . . . . . . . . . . . 220
Translation Printer Definition Table (TRNEBCDIC) Tag . . . . . . . . . 221
End Translation Printer Definition Table (ETRNEBCDIC) Tag . . . . . . . 221
Translation Entry (TRNEBCDICE) Tag . . . . . . . . . . . . . . . 221
Start Underscore (STRUS) Tag . . . . . . . . . . . . . . . . . 221
End Underscore (ENDUS) Tag . . . . . . . . . . . . . . . . . . 221
Set Vertical Units (VERUNT) Tag . . . . . . . . . . . . . . . . . 222
Additional Tags for Use with 3486, 3487, and 3488 Displays . . . . . . . . 222
Adjust Horizontal Origin (ADJHRZORG) Tag. . . . . . . . . . . . . 222
Adjust Vertical Origin (ADJVERORG) Tag. . . . . . . . . . . . . . 222
Set Characters per Inch (CPI) Tag . . . . . . . . . . . . . . . . 223
Set Characters per Inch in COR Mode (CPICOR) Tag . . . . . . . . . 223
Duplex Printing (DUPXPRT) Tag . . . . . . . . . . . . . . . . . 224
Half Line Feed (HLFLINEFEED) Tag . . . . . . . . . . . . . . . 224
Jog Output Tray (JOGOUTTRAY) Tag . . . . . . . . . . . . . . . 225
Select Next Side Printing in Duplex (NXTDUPXPRT) Tag . . . . . . . . 225
Paper Orientation (PRTORIENT) Tag . . . . . . . . . . . . . . . 225
Reverse Half Line Feed (RVSHLFLINEFEED) Tag . . . . . . . . . . 226
Reverse Line Feed (RVSLINEFEED) Tag . . . . . . . . . . . . . . 226
Set Simplex Printing (SMPXPRT) Tag . . . . . . . . . . . . . . . 226
Set Tumble Duplex Printing (TUMDUPXPRT) Tag. . . . . . . . . . . 226
Set Vertical Units in Half (VERUNTHLF) Tag . . . . . . . . . . . . 227
Customizing a Hewlett-Packard LaserJet Series IIP Printer Attached to a 3477
Twinaxial Display . . . . . . . . . . . . . . . . . . . . . . . 227
Setting up the 3477 Model H Display . . . . . . . . . . . . . . . 227
Step 1: Planning the Customizing. . . . . . . . . . . . . . . . . 228
Step 2: Retrieving the Workstation Customizing Object Source . . . . . . 231
Step 3: Changing the Source . . . . . . . . . . . . . . . . . . 232
Step 4: Creating the Workstation Customizing Object . . . . . . . . . 233
Step 5: Varying On the Device . . . . . . . . . . . . . . . . . . 234
Chapter 12. Customizing ASCII Printers That Use the Emulator on the
Controller . . . . . . . . . . . . . . . . . . . . . . . . . 237
Supported ASCII Printers . . . . . . . . . . . . . . . . . . . . . 237
Customizing Unsupported ASCII Printers . . . . . . . . . . . . . . . 237
Mapping Tables for ASCII Printers . . . . . . . . . . . . . . . . . 239
Default EBCDIC-to-ASCII Mapping Table . . . . . . . . . . . . . . 239
ASCII Printer Function Table . . . . . . . . . . . . . . . . . . 241
Printer Multilanguage EBCDIC-to-ASCII Mapping Table. . . . . . . . . 241
Determining Which ASCII Printer Tables to Use . . . . . . . . . . . . 243
Working with the Tag Language for Directly Attached ASCII Printers . . . . . 244
Using the Tags to Customize ASCII Printers . . . . . . . . . . . . . . 246
Default EBCDIC-to-ASCII Mapping Table (PDFTMAPTBL) Tag . . . . . . 246
End Default EBCDIC-to-ASCII Mapping Table (EPDFTMAPTBL) Tag. . . . 246
Contents ix
Appendix D. Setting Up to Customize a Display . . . . . . . . . . . 369
Setting Up to Customize an ASCII Display . . . . . . . . . . . . . . 369
Setting Up a 3477 Twinaxial Display. . . . . . . . . . . . . . . . . 371
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Programming Interface Information . . . . . . . . . . . . . . . . . 397
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . 399
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
| You should also have the International Application Development readily available to
| look up information about the EBCDIC code pages associated with the language
| you are using.
|
| Who should read this book
| This publication is intended for experienced technical professional who are
| knowledgeable about configurations of keyboards, displays, and printers.
| Before using the workstation customizing funcations, your AS/400 system should be
| up and running. You should have your licensed programs installed, including IBM
| Application Development ToolSet (Program 5769-PW1). The new devices you want
| to use with the system should be physically attached to the system to complete the
| customizing procedures.
|
| Conventions and terminology used in this book
| The AS/400 displays in this book could be shown as they are presented through
| Graphical Access for AS/400, which is part of Client Access on the personal
| computer. The example displays in this book could also be shown without Graphical
| Access for AS/400 available. Figure 1 on page xvi shows both types of displays.
|
| IBM recommends that you use this new interface. It has online help to guide you.
| While we develop this interface, you will still need to use either of the following to
| do some of your tasks:
| v Graphical Access (which provides a graphical interface to AS/400 screens).
| Graphical Access is part of the base Client Access.
| v A traditional emulator such as PC5250.
| Note: To use AS/400 Operations Navigator, you must have Client Access installed
| on your Windows 95/NT PC and have an AS/400 connection from that PC.
| For help in connecting your Windows 95/NT PC to your AS/400 system,
| consult Client Access for Windows 95/NT - Setup, SC41-3512.
|
| How to send your comments
| Your feedback is important in helping to provide the most accurate and high-quality
| information. If you have any comments about this book or any other AS/400
| documentation, fill out the readers’ comment form at the back of this book.
| v If you prefer to send comments by mail, use the readers’ comment form with the
| address that is printed on the back. If you are mailing a readers’ comment form
| from a country other than the United States, you can give the form to the local
| IBM branch office or IBM representative for postage-paid mailing.
| v If you prefer to send comments by FAX, use either of the following numbers:
| – United States and Canada: 1-800-937-3430
| – Other countries: 1-507-253-5192
| v If you prefer to send comments electronically, use this network ID:
| – IBMMAIL, to IBMMAIL(USIB56RZ)
| – [email protected]
| Be sure to include the following:
| v The name of the book.
| v The publication number of the book.
| v The page number or topic to which your comment applies.
Some of the workstation characteristics you can add or change are listed below:
Command key sequences
Special character support (display and print)
Function key support
Shift state key processing
Bold, underlined, and double width printing
Font and pitch support
Paper orientation
Paper selection
Customizing Limitations
v Workstation customizing supports only those functions supported by the
workstation controller, the display, or the host print transform function and the
device itself.
v If the workstation controller, the display, or the host print transform function
cannot support a particular function, the function cannot be added using the
workstation customizing functions.
v If a device is not capable of performing a function, or displaying or printing a
character, workstation customizing does not and cannot provide the additional
function.
v The workstation customizing functions require that you provide hexadecimal data
corresponding to the characters and functions supported by your device. You
must have this information to customize device functions.
To change the characteristics of workstations and printers, you change copies of the
mapping tables used for character translation and function translation. You then
create a customizing object. A road map showing the basic steps of the workstation
customizing procedure is shown in the following figure. The steps are denoted
Figure 3. Workstation Customizing Procedure Road Map. Step 7 applies only to printers that use the host print
transform function with spooled print jobs. For printers that use the host print transform function with nonspooled print
jobs, the customized table is activated when the job is printed.
To begin the workstation customizing procedure, there are some things you should
do before you actually customize the device. First, you need to familiarize yourself
with the display or printer device you want to customize. This means you should
read the books and available reference material for the device and understand the
characteristics you want to change. If the device has never been used with the
AS/400 system before, or it is a device that is not supported by IBM, you need to
connect the device to the system, see how it works, and then create a list of the
characteristics you want to change. You also need the hexadecimal codes for the
device. The hexadecimal codes provide you with values for customizing the
appropriate mapping tables.
If you are using a language other than English, you may also have language
concerns you need to address. The language a workstation uses determines how
you should define several characteristics when you first set up the AS/400 system
and the workstation itself.
You may be working with more than one language on your AS/400 system. For
example, suppose the primary language used on the system is US English, but
some of your workstations are set up to display French. The device description for
the workstations using the secondary language must indicate the correct keyboard
language type and character identifier. Indicating the correct keyboard language
type and character identifier ensures the correct mapping tables are used to display
data.
For more general information about setting up and using national language support,
see the sections about using and changing a secondary language and system
coded character set identifier (CCSID) implementation in the National Language
Support book and the other language support books listed in the Bibliography.
A tag language is provided for you to change the mapping tables that you retrieve.
The tag language provides a shell for the system-based mapping tables that are
used to map data and functions between the AS/400 system and the device you are
customizing. For a description of the tag language for workstation customizing, see
Chapter 3. Changing the Source to Customize Your Workstations.
After you have completed your changes in the source file member, you use the
Create Work Station Customizing Object (CRTWSCST) command to create a
customizing object. Specifying the name of that object in the device description for
the display or printer links the object to the device. If a customized object is used by
the host print transform function, it is activated when:
v The printer writer is started (spooled print jobs)
v A job is printed (nonspooled print jobs)
The following list shows the device types that can be customized using the OS/400
workstation customizing functions:
v Twinaxial keyboards (twinaxial workstations)
v ASCII displays and keyboards (ASCII workstations)
v ASCII printers that use the host print transform function
Before you begin using the workstation customizing functions, your AS/400 system
must be up and running, and you need to have at least one workstation configured
and usable. The workstations you want to customize should be physically attached
to the AS/400 system, and you also should have created all the appropriate line (if
remote), controller, and device descriptions.
You may need to refer to some or all of the following books when customizing a
device:
v Reference book for the device you want to customize
v ASCII Work Station Reference
v National Language Support
It is absolutely critical that you have the hexadecimal codes for the device you want
to customize. This information is often included in the reference book for the device.
The device book also gives you an understanding of what functions the device is
capable of performing and which language or character sets it supports.
The following sections briefly describe some of the equipment and the mapping
tables for which you use the workstation customizing functions.
Workstation Controllers
The following local and remote workstation controllers can use the customized
mapping tables you create with the workstation customizing functions.
Note: Customized printers that use the host print transform function do not have
workstation controller dependencies.
v Local Workstation Controllers
2661: Twinaxial local workstation controller
2638: Twinaxial local workstation controller
6040: Twinaxial local workstation controller
6050: Twinaxial local workstation controller
6140: Twinaxial local workstation controller
2637: ASCII local workstation controller
6041: ASCII local workstation controller
6141: ASCII local workstation controller
v Remote Workstation Controllers
5494 Remote workstation controller (Release 1 Modification 1)
Note: The 5494 is a twinaxial workstation controller. The customizing process for
a remote workstation attached to the 5494 is the same as it would be for
a local twinaxial workstation.
The workstation controller uses the mapping tables loaded from the AS/400 system
to translate data back and forth between the workstation or printer and the system.
When you change the hexadecimal values in the mapping tables, you customize
the associated device. The customized tables and attributes are then compiled and
Displays
The IBM Corporation sells a wide variety of displays that can be connected to the
AS/400 system. The OS/400 workstation customizing functions support both the
twinaxial display and the ASCII display. Displays are attached to the AS/400 system
by way of a workstation controller. Both the ASCII workstation controller and the
twinaxial workstation controller use mapping tables downloaded from the AS/400
system to support the input/output (I/O) for these devices.
The workstation controller processes I/O for a display in two ways. Inbound
processing refers to keystroke and function processing from the display to the
AS/400 system. Outbound processing refers to character and function processing
from the AS/400 system to the display. The workstation customizing functions allow
you to customize both types of processing for an ASCII display, but only the
inbound, or keystroke processing can be customized for a twinaxial display.
ASCII Printers
A wide variety of ASCII printers can be attached to the AS/400 system. ASCII
printers receive and process data by way of an ASCII data stream. One example of
an ASCII data stream is the IBM page printer data stream (PPDS). ASCII printers
understand only the ASCII data stream and commands. The AS/400 system and
applications produce an EBCDIC data stream. Therefore, the AS/400 system treats
all ASCII printers as emulated AS/400 printers.
This means that the EBCDIC data stream is converted to an ASCII data stream.
Some restrictions exist on the printing functions that are supported because of the
selected emulation type, the ASCII printer type, and the connection type. Some of
the more general functions that may not be supported include graphics, images,
and bar codes. For more information on customizing printers, see Chapter 9.
Customizing Printers.
The second and third items in this list are covered in the reference part of this book.
The last item comes from your or your user’s experience with the device to be
customized. If you are customizing the tables for a device that is not supported by
IBM, you may also want to have the reference information for a similar
IBM-supported device so that you can compare the character values and control
sequences. To complete the planning for customizing your workstation, do the
following:
1. Read the reference books for the device and know what the control codes and
function codes are and where they are located in the book.
2. Experiment with the device to find out which characteristics you would like to
change. For example, you may need to change the way a character is displayed
or printed. You may want to change the way a certain character is displayed
when used with the Shift key or change the function of a command or control
key sequence.
3. Use the work sheets provided in Appendix E. Workstation Customizing Planning
Work Sheets to make a note of these characteristics and check the device
reference books to find out the following:
v Does the device itself support the character or function you want to add or
change? (Is the device capable of producing the character or performing the
function?)
You should be familiar with the way the workstation controller, the display, or the
host print transform function handles the mapping tables for your device. You
should also have an understanding of the tags you use in the customizing step of
the procedure. (See the chapters for each device type in Part 2 and Part 3 of this
book.)
When you retrieve copies, the internal forms of the tables and control sequences
are converted into the source format of the customizing tag language. The source is
then put into a source file member.
Note: If you are customizing the keyboard for an unsupported twinaxial display, you
must select the supported twinaxial display that your display emulates.
After you determine which device type to select, use the following procedure to
retrieve your workstation customizing source.
Note: It is important that the keyboard language type you specify here is the
same as the keyboard language type specified in the device description.
If the two keyboard language types specified do not match, then the
device will not vary on.
4. Specify a name for the source file member to be created for the customizing tag
language source that you want to retrieve. This is a required parameter. This
should be a name you can easily remember, possibly related to the device or
type of device you are customizing.
5. Specify the keyboard type. This parameter is required only for customizing
twinaxial displays and twinaxial displays with attached ASCII printers. For
illustrations of the keyboard types you can use with twinaxial displays, see
Appendix A. Twinaxial Keyboard Layouts. Each illustration is associated with a
keyword value to assist you in making your selection.
Note: For twinaxial displays, this is a required parameter. The value specified
here must match the actual keyboard type of the display being
customized; otherwise the display will not vary on successfully.
6. Specify a library and source file name to create a source physical file in which
to store the source file member. The library you specify must exist. If the source
physical file already exists, the system adds the new file member to it. If the
source file does not exist, the system creates it for you. The coded character
set identifier for the newly created file is *HEX.
The default value for this field is the system-supplied source file QTXTSRC in
library QGPL.
7. Specify a text description for the source file if it does not already have one. The
description should be unique so that you can use it to help you identify the
devices associated with the source file member. This is helpful when you have
more than one source file for more than one device type.
Each device that can be customized has one or more specific mapping or
translation tables associated with it. The source physical file member you create in
this step should contain all the source code for each of the tables required by the
device you specified.
Examples showing this step of the workstation customizing procedure are provided
for each device class in the corresponding reference chapters in Parts 2 and 3 of
this book. After you have retrieved the workstation customizing source, you can
begin changing the source that allows you to customize your device.
After you determine which manufacturer, type, and model to select, use the
following procedure to retrieve your workstation customizing source.
Retrieving Source for ASCII Printers That Use the Host Print Transform
Function
Follow these steps to retrieve workstation customizing source for ASCII printers that
use the host print transform function.
1. Type RTVWSCST (Retrieve Work Station Customizing Object Source
command) and press F4 (Prompt).
2. Specify *TRANSFORM for the device type. This is a required parameter.
3. Specify the manufacturer, type, and model for the ASCII printer you want to
customize. Press F4 (Prompt) in the Manufacturer type and model field to see a
list of values you can specify. This is a required parameter.
4. Specify a name for the source file member to be created for the source that you
want to retrieve. This is a required parameter. This should be a name you can
easily remember, possibly related to the manufacturer, type, and model name.
5. Specify a library and source file name to create a source physical file in which
to store the source file member. The library you specify must exist. If the source
physical file already exists, the system adds the new file member to it. If the
source file does not exist, the system creates it for you. The coded character
set identifier for the newly created file is *HEX.
The default value for this field is the system-supplied source file QTXTSRC in
*LIBL.
6. Specify a text description for the source file if it does not already have one. The
description should be unique so that you can use it to help you identify the
devices associated with the source file member. This is helpful when you have
more than one source file for more than one manufacturer, type, and model.
Examples showing this step of the workstation customizing procedure are provided
for the TRANSFORM device class in the corresponding reference chapter in Part 3
of this book. After you have retrieved the workstation customizing source, you can
begin changing it to customize your device.
If you do not want to attempt to match device specifications or you cannot find an
IBM-supported device that has similar specifications to your device, you can create
a source file and blank source file member to enter the tag language and table
information yourself. This method of creating workstation customizing source is not
recommended; however, if you cannot find any IBM-supported devices with
matching specifications, it may be simpler to create a new source file member
yourself than to retrieve and try to change a source file member for a totally
different device type.
The workstation customizing source should appear on your display. If the system
cannot find the source, press F9 (Retrieve) as needed to look at the names you
specified when you ran the RTVWSCST command. Try the verification procedure
again.
For IBM devices, control codes are the simplest hexadecimal codes and provide the
basic device functions. A control code is usually a single byte of hexadecimal data
that tells the device to perform a basic function. Some examples of functions that
are called by control codes are the vertical tab, carrier return, and backspace
functions.
Within your workstation customizing source, these codes and sequences are
indicated by specific tags. For example, there are two tags associated with
underlining for an ASCII printer attached to a 3477 display. The STRUS (start
underscore) and ENDUS (end underscore) tags each have a data parameter. The
data parameter specifies the hexadecimal ASCII sequence that tells the printer to
start and end underlining.
For example, you have a Hewlett-Packard LaserJet 4 printer and you want to
underline text. The printer does not currently underline text, although it is capable of
doing so, as stated in the printer reference manual. To add support for this function,
:WSCST
DEVCLASS=TWINAXDSP|ASCIIDSP|
TWINAXPRT|ASCIIPRT|TRANSFORM.
.
.
.
/*tag or comment*/
.
.
.
.
.
:EWSCST.
The possible values for the DEVCLASS parameter on the WSCST tag are:
TWINAXDSP
An EBCDIC display connected by a twinaxial cable.
ASCIIDSP
An ASCII display connected by way of a local ASCII workstation controller.
TWINAXPRT
An ASCII printer connected to one of the following twinaxial displays: 3477,
3486, 3487, or 3488 that use the emulator on the display.
Note: The 3477 twinaxial display must be a Model H display. To verify this,
see the procedure described in “Setting Up a 3477 Twinaxial
Display” on page 371.
When you retrieve the source file member for a device, the tags are set up in the
appropriate structure and the values on the tags are from the system mapping
tables for that particular device. The allowable structures for source file members
(hereafter called source) for each device class are shown in the corresponding
reference chapters in this part of the manual.
Use the following procedure to change the source file members you created
previously in step 2 (Retrieving the source).
1. Type
STRSEU SRCFILE(library/source file name)
on any command line. The library and source file you specify should be the one
you created in step 2. Press the Enter key.
2. Type a 2 (Edit) in the Option column next to the file member containing the
customizing source you want to change and press the Enter key.
3. Use the tag language as described in Part 2 and Part 3 to change the values
for mapping tables used by your device. The following list will help you find the
tags specific to the device you are customizing.
Twinaxial display (keyboard)
See “Working with the Tag Language for Twinaxial Displays” on page 62.
ASCII display
See “Working with the Tag Language for ASCII Displays” on page 93.
ASCII printer that uses the host print transform function
See “Changing the Source” on page 147.
ASCII printer attached to a 3477, 3486, 3487, or 3488 twinaxial display that
uses the emulator on the display
See “Working with the Tag Language for ASCII Printers Attached to
Twinaxial Displays” on page 207.
ASCII printer that uses the emulator on the workstation controller
See “Working with the Tag Language for Directly Attached ASCII Printers”
on page 244.
Note: A device that uses the emulator on the workstation controller may have
entire tables you do not want to customize. You can delete the mapping
tables you do not want to customize. For example, if you did not need to
change the ASCII-to-EBCDIC mapping table, you could delete this table from
your workstation customizing source. Doing this reduces the storage
requirements on the workstation controller. The workstation controller then
Chapter 3. Changing the Source to Customize Your Workstations 19
uses the default mapping tables associated with your device type to map the
data properly between the device and the system. You should not however,
delete the tags for individual functions, such as the tags for the printer
definition table. When you delete these tags and values, the workstation
controller does not map the associated function at all.
Examples showing this step of the workstation customizing procedure are provided
for each device class in the corresponding reference chapters in Part 2 and Part 3
of this book. When you have finished making the changes to the workstation
customizing source, you can create the customizing object that allows you to
customize your device.
When you have completed the changes to the source member, use the Create
Work Station Customizing Object (CRTWSCST) command. This command creates
the new customizing object for the device.
The following rules apply to all the tags and keywords used for the workstation
customizing tag language.
v Tag identifiers (IDs) begin with a colon followed by a character string. The total
maximum length of a tag ID is 15 characters.
v Keywords that are associated with a tag ID have a maximum length of 10
characters.
v Parameters (for tags that require parameters) are represented by pairs of
keywords and values.
v Values that are not hexadecimal are limited to a length of 32KB. The allowable
length for hexadecimal values depends on the size of the table you are working
with. The allowable length is shown in specific places within the tag descriptions.
v The ending delimiter for all tags is a period.
v Blanks are not allowed within the tag names, identifiers, keywords, or values.
Blanks are allowed anywhere else in the source.
v The tag language for workstation customizing can be coded in free form. There
are no column-dependent restrictions. Tags may begin in any column.
v Comments can appear anywhere in the source as long as they are not in the
middle of a tag, keyword, or value. A comment is coded in the following form:
/* . . . character string . . . */
v Values associated with the keywords for the tags are in one of the following
formats:
Character constants
These values are to be coded exactly as shown in the tag descriptions.
Twinaxial scan codes for the 122-key, 5250, and enhanced keyboards are listed in
“Keyboard Scan Codes” on page 42.
For each device class supported by the workstation customizing functions, there is
a corresponding reference chapter. The reference chapters provide the detailed
technical information you need. The reference chapters also provide examples to
help you work with the tag language and the workstation customizing source. A
number of appendixes also provide keyboard layouts, source examples, additional
procedures, and hexadecimal conversion tables. Appendix C. Character to
Hexadecimal Value Tables provides the hexadecimal values for the United States
ASCII character codes. “EBCDIC Character Code to Hexadecimal Value Chart” on
page 367 provides an EBCDIC character to hexadecimal value conversion table.
After you create the customizing object, you can use it to customize one or more
devices of the same type. For example, you may create a customizing object for an
ASCII workstation and you may want to use seven of these workstations with your
AS/400 system. You can use the single customizing object you created for all seven
of the workstation configurations, or you can use a different customizing object for
each of the seven identical workstations.
For more information about saving, restoring, and distributing objects, see the
Backup and Recovery book and the Central Site Distribution book.
Examples showing this step of the workstation customizing procedure are provided
for each device class in the corresponding reference chapters in Part 2 and Part 3
of this book. When you have finished creating the workstation customizing object,
you can change the device description for your device. For devices that use the
emulator on the workstation controller or the display, you can vary the device off
and on. This loads the object into the workstation controller for the device. For
printers that use the host print transform function, you can start the printer writer to
use the customized object for the printer.
The following is a list of errors that can also occur during this step in the procedure
but do not correspond to a specific AS/400 error message.
v You are not authorized to use the CRTWSCST command
Have the security administrator (QSECADM) for your system use the Grant
Object Authority (GRTOBJAUT) command to give you the proper authority to use
the command. You can then try the command again.
v You are not authorized to use the library in which the source file is stored.
Have the security administrator (QSECADM) for your system use the Grant
Object Authority (GRTOBJAUT) command to give you the proper authority to use
the library (create and store files and members there). You can then try using the
CRTWSCST command again.
v Programming errors
The workstation customizing functions are based on the use of a tag language
that has syntax rules much like any other programming language. When you
have a coding error, you can use the messages in the job log associated with
your AS/400 session to help you resolve the error. If the workstation customizing
object is created and the character or function you are trying to add or change
does not work, you need to go back to your device book and verify the
hexadecimal values you used for the data parameters. As with most types of
programming, customizing a device involves some trial-and-error.
Note: If you need to delete a workstation customizing object from your system, you
use the Delete Work Station Customizing Object (DLTWSCST) command.
For examples of this step in the workstation customizing procedure, see the
example sections in the reference chapters for each device type in Part 2 and Part
3 of this book.
Note: If your printer is not shown in the list of manufacturer type and model
values, specify *WSCST.
b. Specify the following parameters in the device description:
v Paper source 1
v Paper source 2
v Envelope source
v ASCII code page 899 support
To view the status of the devices, use the Work with Configuration Status
(WRKCFGSTS) command. Your devices should show a status of Vary on pending,
Active, or Signon display.
Note: If for any reason, your displays are not functioning properly or the
customization is not successful (that is, the displays do not respond at all),
you can use the QCONSOLE display to reset the system so that the original
system mapping tables are used until you can correct the customizing
source and recompile the customizing object.
Starting the Printer Writer for a Printer That Uses Host Print Transform
Function
Use the Start Printer Writer (STRPRTWTR) command to start the printer writer for
the customized printer that uses the host print transform function. When you start
the printer writer, the host print transform function uses the customized AS/400
mapping table to transform the data from the AS/400 system to the printer for
spooled print jobs. For nonspooled print jobs, the customized mapping table is used
when the job is printed.
Note: For ASCII printers attached to the AS/400 system through Client Access/400,
the printer writer is automatically started when the workstation function
printer session is started.
Note: This problem does not occur for printers customized through the host print
transform function.
Table 1. Device Does Not Vary On
Problem Recovery
Workstation controller If you have varied a device off and on many times to test a workstation customizing
storage capacity exceeded object, new or changed mapping tables have been downloaded to the workstation
controller each time you have varied on the device. It is possible that the storage for
the workstation controller is full to capacity. To verify this, check the error messages in
the QSYSOPR message queue. If the workstation controller storage is full, you need
to vary off the controller, and then vary it on again specifying RESET(*YES). Use the
following values on the Vary Configuration display to vary on the controller, specifying
your controller name for ctlname.
– CFGOBJ(ctlname)
– CFGTYPE(*CTL)
– STATUS(*ON)
– RESET(*YES)
To display the Reset parameter on the Vary Configuration display, you need to press
F10 (Additional parameters).
If you have specified an incompatible value for the keyboard attached parameter when
you retrieved the source for customizing a twinaxial display or ASCII printer attached
to a twinaxial display, you need to use the Retrieve Work Station Customizing Object
Source (RTVWSCST) command again, specifying a compatible keyboard for this
value. You can then make the same changes to this new source that you made in the
original source, create the new workstation customizing object, and try to vary on the
device again.
Language type in When you are customizing any type of device, you must be sure that the keyboard
workstation customizing language type you specify when you retrieve the source exactly matches the keyboard
object does not match language type (for displays) or the language type (for printers) in the device
language type specified in description. If these values do not match, the device fails to vary on and messages are
device description sent to the job log.
To correct this, you must change either the language type you selected to retrieve the
workstation customizing source, or the language type in the device description. If you
decide to change the value you specified for the source, you need to use the Retrieve
Work Station Customizing Object Source (RTVWSCST) command again, specifying
the correct language type for this value. You can then make the same changes to this
new source that you made in the original source, create the new workstation
customizing object, and try to vary on the device again.
Before you start to use the test function, be sure the AS/400 Sign On display is
showing. If the Sign On display does not appear on the device, you may need to
change the device type (DEVTYPE) parameter in your device description. Change
the device type to a type that is more closely matched to your display device. (For a
procedure to help you get to a Sign On display, see Appendix D. Setting Up to
Customize a Display.)
For twinaxial displays, use the following keystrokes to call the test function. The set
of keystrokes you use is determined by the type of keyboard that is attached to the
twinaxial display.
For an ASCII display, press the key sequence Esc+t to call the test function.
The test function uses the tables that were loaded into the workstation controller
when you varied on the display. These tables are the system-supplied tables if you
did not specify a customizing object in the device description before you varied on
the display. If you did specify a customizing object in the device description before
you varied on the display, these tables are user-defined tables.
If the characters you need to display are not shown, check the International
Application Development book to see if they are defined for the code page you
specified in the device description. If they are defined for that code page, check to
see if the book for the device indicates you can change the code page. (Some
displays do not provide this function.) Remember that workstation customizing
functions support only the characters and functions that the device and the
workstation controller support.
The workstation controller processes I/O for a display as inbound processing and
outbound processing. Inbound processing is keystroke and function processing from
The workstation customizing functions allow you to customize only the inbound, or
keystroke processing, for a twinaxial display. The workstation customizing functions
allow you to customize both inbound and outbound processing for an ASCII display.
You can also customize keystroke processing for unsupported twinaxial displays.
For more information on customizing unsupported twinaxial displays, see
“Customizing Unsupported Twinaxial Displays” on page 41.
Customize the characters and functions called from the keyboard of a twinaxial
display by changing the hexadecimal values in the twinaxial keyboard translation
table. You may also need to change the keyboard language type specified in the
device description if:
v You are using a language other than your primary language
v You want to use a special character set
The workstation controller uses the twinaxial keyboard translation table to translate
the keyboard scan codes from a twinaxial keyboard. The keyboard scan codes are
translated into either character codes or internal function codes for processing by
the AS/400 system. For complete information on customizing the twinaxial keyboard
translation table, see Chapter 7. Customizing Twinaxial Displays.
You can also customize inbound and outbound processing for unsupported ASCII
displays. For more information on customizing unsupported ASCII displays, see
“Customizing Unsupported ASCII Displays” on page 74.
Customize the characters and functions called from the ASCII display and keyboard
by changing the hexadecimal values in a set of system-provided mapping tables.
For a better understanding of the default character and control sequence mappings,
retrieve the source for the display and keyboard as described in Chapter 2.
Retrieving the Workstation Customizing Source. You can then use the source entry
utility (SEU) to view the default character and control sequence mappings.
The choices you make for character and control sequence mapping are based on
the:
v Reference information for the ASCII display
v Supported device you select when you retrieve the tables
v Characteristics of the display
v National language code page and character set you are using
For a twinaxial display, the OS/400 workstation customizing functions provide you
with a way to create a customized version of the keyboard translation table. The
translation table is used by the workstation controller to convert scan codes from
the twinaxial display keyboard to EBCDIC codes or function codes that the AS/400
system can interpret. To customize this table, you retrieve a workstation customizing
object source (a source file member) that contains the entries for a translation table
corresponding to the device type, keyboard type, and language specified in the
device description for the display. The source and its structure allow you to create
an object that is compatible with the system translation tables normally used by the
workstation controller.
Note: The OS/400 licensed program does not support the customizing of
double-byte character set (DBCS) keyboards.
There are five basic types of keyboards you can attach to displays on the twinaxial
workstation controller. The different keyboard layouts are distinguished from each
other by the physical layout of the keys. For example, the number of keys, the
relative position of different groups of keys, and the way in which certain types of
numeric and graphic characters are laid out on the keyboard are different for
different national languages. Keyboard layout is usually either a typewriter or a data
entry style. For illustrations of the different keyboard layouts, see Appendix A.
Twinaxial Keyboard Layouts.
Table 2 shows the different types of twinaxial displays that may be attached to a
twinaxial workstation controller. For each display type, the table shows the types of
keyboards that can be attached and the parameter value you would use for the
Keyboard attached parameter on the Retrieve Work Station Customizing Object
Source (RTVWSCST) command to retrieve the object source for a twinaxial display
with that type of keyboard.
Note: There are no twinaxial displays to which all the different types of keyboards
can be attached.
Table 2. IBM Twinaxial Displays and Supported Keyboards
Display Supported Keyboards Parameter Values
5251 5250 Typewriter *TYPE5250
5250 Data Entry *DATA5250
Notes:
1 The 3179-2 and the 5292-1 both report the same vital product data to the
workstation controller when they report in. The workstation controller cannot
distinguish between the two. The 3179-2 displays are configured as 5292-1. The
5292-1 only supports the TYPE5250 keyboard (F typewriter layout). Consequently,
because the workstation controller thinks the 3179 is a 5292 that only supports the
TYPE5250, varying on a 3179 with a TYPE122 keyboard specified in the
customizing object causes the workstation controller to detect a mismatch between
the keyboard type specified in the customizing object and the actual keyboard
attached to the display.
2 The 3488 display station must be specified as a 3487 display station when using
the RTVWSCST command. The workstation customizing functions support a 3488
display station as a 3487 display station.
The table of twinaxial displays does not include double-byte character set devices.
It also does not include any devices that can be attached, but for which the
workstation controller does no keystroke processing, such as personal computers
running Client Access/400 Keystroke processing for these devices is done in the
device itself; therefore, no translation table is downloaded to the workstation
controller for these devices.
To determine the type of keyboard that most closely matches your keyboard,
compare your keyboard to the keyboard illustrations in Appendix A. Twinaxial
Keyboard Layouts.
To determine the keyboard language type for your display, check the device
description for the display (if it exists), or check with your system administrator to
verify that the language type used by the system is the language you want to
configure for the device. The language type used by the system is defined in the
QCHRID system value.
Note: The keyboard language type you specify when you retrieve the workstation
customizing source for a display must exactly match the keyboard language
type you specify in the device description for the display. If these values do
not match, the device will not vary on when you specify the workstation
customizing object in the device description.
The workstation controller supports a wide variety of display types, keyboard styles,
and languages. Using different translation tables, the controller can support all the
different combinations of displays, keyboards, and languages. There are separate
translation tables to support each unique combination of display type, keyboard
style, and language.
Because of the wide variety of displays, keyboard styles, and languages supported
by the workstation controller, a large number of translation tables exist on the
AS/400 system. However, only a small number of these tables are stored in the
workstation controller when it is first varied on.
The OS/400 licensed program determines the particular translation table required to
support the unique requirements of a given display. When the display device and
the workstation controller are first varied on, the correct translation tables are
downloaded to the controller.
Every key on the keyboard has a particular scan code value assigned to it. The
assignment of a scan code is not directly related to the label on the key top. A key
at a certain position on a particular keyboard layout always has the same scan
code value assigned to it. For example, a key at a given location on a 5250-style
keyboard always returns the same scan code, although the key may be labeled
differently for different national languages.
Keyboard scan codes are passed to the controller in a 1-byte code. The 7 least
significant bits within this byte contain the actual scan code. Some keys, called
make/break keys, use the most significant bit of this byte to indicate whether the
scan code corresponds to a make of the key or a break of the key. When a
make/break key is pressed, a scan code is generated when the key is first pressed
(make) and another scan code is generated when the key is released (break).
The shift keys (left and right), Alt key, Shift Lock key, and Caps Lock key on a
keyboard are usually all make/break keys. In general, it is not recommended that
you change these keys using the workstation customizing functions.
Figure 5 shows the format for a scan code byte passed to the workstation controller
from a display.
Bit ────Ê 0 1 2 3 4 5 6 7
┌─────┬────┬────┬────┬───┬────┬────┬────┐
│ M/B │ S │ S │ S │ S │ S │ S │ S │
└─────õ────┴────┴────┴───┴────┴────┴────õ
Make/Break bit õ │ │
0 ─ Make ───┘ └──────────────┬──────────────────┘
1 ─ Break └───Ê Scan Code Bits
Scan code values are assigned in the range '01'X to '7F'X. Not all values in this
range are assigned to keys on the keyboard. The set of valid scan codes depends
on the style of keyboard. For example, the set of scan codes generated by a
5250-style keyboard is different from the set of scan codes generated by an
Enhanced keyboard.
Figure 6 and Figure 7 shows the scan code values assigned to each of the different
key positions for the 5250 and Enhanced keyboard layouts, respectively. The scan
codes for corresponding keys on the 5250 typewriter and 5250 data entry
keyboards are the same.
Note: Some of the existing 5250-style translation tables are set up to handle scan
codes that cannot be generated by an actual 5250-style keyboard. Attached
devices using 5250 emulation use these scan codes to support additional
capabilities that are not available with the 5250-style keyboard.
7C 6F 4B 4C
6C 6D 47 48 49 4E
6E 7D 44 45 46
71 70 41 42 43 4D
72 73 40 4A
C o re A re a
3E 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D
54 11 12 13 14 15 16 17 18 19 1A 1B 1C
57 OE 01 02 03 04 05 06 07 08 09 0A OC 56
7E OF 68
RV2H453-0
57 5F 62
Numeric Pad
67 6E 6F 76 77 7E 7F
64 65 6D 6C 75 7D 7C
6B 73 74 7B
63 69 72 7A
79
61 60 6A 70 71
Function Keys
OA 07 OF 17 1F 27 2F 37 3F 47 4F 56 5E
Core Area
OE 16 1E 26 25 2E 36 3D 3E 46 45 4E 55 66
OD 15 1D 24 2D 2C 35 3C 43 44 4D 54 5B 5C
14 1C 1B 23 2B 34 33 3B 42 4B 4C 52 5A
12 1A 22 21 2A 32 31 3A 41 49 4A 59
11 19 29 39 58
RV2H471-0
The 122-key keyboard is shown in Figure 8 on page 45. Displays with this layout
that attach to the twinaxial workstation controller always operate in what can be
referred to as a 5250-style emulation mode. When a key on a 122-key keyboard is
pressed, the scan codes assigned to each individual key are not passed directly
back to the workstation controller. Instead, the display passes back a scan code or
a sequence of scan codes corresponding to the scan code required for that same
function on a 5250-style keyboard. For example, pressing the key for PF1 on a
122-key keyboard actually results in the generation of 5250 keyboard scan codes
for the Cmd key and the key in the core area of the keyboard normally labeled with
the number 1.
Note: For certain national languages, the 122-key displays are capable of also
passing back additional scan codes that cannot be generated on an 5250
keyboard.
F u n c tio n
C o n tro l K e y s C u rs o r C o n tro l K e y s N u m e ric P a d
7C 75 66 (80) 62 1D 1E 4F 50
c (65) c c c c c c c
66 67 (76) 6C u 6C 1 47 48 49 (106)
c c c c c c c c c
6E 7D 71 44 45 46 55
c c3E 1 c c c c c
78 72 60 73 41 42 41
c c 6D c c c c
c3D 1
4D
c
70 40 4A
c7B c6B c c c
C o m m a n d K e y A re a
c31 u c32 u c33 u c34 u c35 u c36 u c37 u c38 u c39 u c3A u c3 B u c3C u
c51 c51 c51 c51 c51 c51 c51 c51 c51 c51 c51 c51
c31 1 c32 1 c33 1 c34 1 c35 1 c36 1 c37 1 c38 1 c39 1 c3A 1 c3 B 1 c3C 1
c51 c51 c51 c51 c51 c51 c51 c51 c51 c51 c51 c51
C o re A r e a
11 12 13 14 15 16 17 18 19 1A 1B (42) (43)
(30)
c c c c c c c c c c c c c
(44) OE 01 02 03 04 05 06 07 08 09 0A 0C (57)
c c c c c c c c c c c c
0F 68
7E
c c
RV2H483-0
In Figure 8, the top line shown for each key shows the emulation scan code
generated for that key. The scan codes are for the key when:
v It is pressed simultaneously with the shift key (the upper-shift state)
v It is pressed by itself (the lower-shift state)
The bottom line shown for each key shows the emulation scan code generated for
that key when it is pressed simultaneously with the ALT key.
Table 3 shows the emulation scan codes generated for keys that are dependent on
the keyboard layout.
Table 3. 1A Keyboard Type Dependent Emulation Scan Codes
1A Katakana
1A Data Data 1A Katakana
Key Number Processing 1A Data Entry Processing Data Entry
(01) 3E 3E 30 3E
(13) 3C 3D 3C 30
(15) 3D 3F 3D 3F
(16) 20 5E 20 5E
(28) 2C 2E 2C 2D
(30) 54 10 57 57
(42) 1C 1C 1C 1F
(43) 2D 2D 56 56
(44) 57 57 53 53
(57) 56 56 52 52
(65) 6F3D 6F3D 6F61 6F3D
(76) 0C 63 63 63
(80) 4C 65 4C 65
(106) 4E 2C 4E 2C
There are slight differences in other national language versions of keyboards from
the U.S. English versions; for example, some keys in the core area can be
arranged differently. These other versions are not shown; however, a more
complete listing of the supported keyboards is available in the National Language
Support book.
For most of the Latin-based languages supported by the OS/400 licensed program,
such as those used in US/Canada, Latin America, and most of Western Europe, a
common set of characters, known as character set 697, makes up the different
code pages. The set of characters in the code pages is the same from one code
page to the next; however, the code point values assigned to given characters may
be different from one code page to the next.
One of the code pages that contains all the characters in character set 697 is the
Multinational EBCDIC code page, or code page 500. This code page does not
conform to the code page standard of any particular national language. It does,
however, contain all the same characters as those code pages used by the
Latin-based languages. Displays that support the Multinational EBCDIC code page
also usually support one or more national language code pages containing the
characters in code page 697. For more information about code pages and EBCDIC
code point values, see the International Application Development book.
The workstation controller uses the translation tables to convert the keyboard scan
codes into EBCDIC character codes. This conversion is done taking into account
the layout of characters on the keyboard for that country and the EBCDIC code
page to which a scan code is being mapped. The conversion is done differently
depending on whether the conversion is being done for a specific national language
EBCDIC code page or the Multinational EBCDIC code page. This means that for
the keyboards of many countries, there are separate translation tables so that many
countries using national language support can handle the conversion into either a
specific national language EBCDIC code page or the Multinational EBCDIC code
page.
Over time, a country may change its standards. Not only the keyboard standard
may change, but the EBCDIC code page standard may change as well. New
displays and printers are expected to conform to the new standards, but existing
hardware devices are usually not changed to meet the new standards. The
workstation controller supports the existing displays that conform to older standards,
as well as the new displays that conform to the latest standards. For example,
many displays with the 5250 keyboard layout that are supported by the workstation
controller conform to older standards.
In general, specifying functions that are not supported for a particular type of
keyboard should be avoided. For example, the translation table entry for a proof
space character is only present in the translation tables for data entry keyboards,
and should not be specified for other keyboard types.
There are also certain scan codes that you should not customize. The translation
table entries for these scan codes should not be changed in the source you
retrieve.
Changing these particular translation table entries could cause your keyboards to
be unusable. For example, if certain shift key functions were converted to scan
codes for keys that are not make/break keys, a user might not be able to get out of
a certain shift state. For another example, when the scan code assigned to the
Cmd key function in a 122-key keyboard translation table is changed, many of the
Cmd key functions on a display with that keyboard become inaccessible because
there is no single key on the 122-key keyboard that generates this particular scan
code. The scan code for the Cmd key is part of a scan code sequence generated
because the 122-key keyboard operates in a 5250 keyboard emulation mode.
The twinaxial workstation controller uses the keyboard translation tables to map
scan codes received from an attached display in one of the following ways:
v Map the scan code for a key into the EBCDIC code for the character that is
labeled on the top of the key.
The translation tables contain information indicating which keys are blank (no
graphic character or function assigned) and which scan codes are not valid (cannot
be generated by certain keyboard types). The translation table that the workstation
controller uses for a given display must be specific to the particular requirements of
that display. The following list shows the factors that determine which translation
table is to be used:
v Device type
v Keyboard type (5250, 122-key, or Enhanced)
v Keyboard language type
When you use the Retrieve Work Station Customizing Object Source (RTVWSCST)
command to retrieve the source for customizing a twinaxial keyboard, you specify
parameters relating to these factors that determine which translation table is copied
in your source. It is very important that you specify the correct keyboard type and
language parameters so that the correct translation table is retrieved.
Note: The device type and keyboard language type you specify for the
RTVWSCST command must match the corresponding parameter values in
the device description for the display; otherwise, the device will not vary on
when the workstation customizing object is specified in the device
description. For an example showing the use of the RTVWSCST command,
see “Customizing a 3477 Twinaxial Display for Diacritic Character Support”
on page 68.
There are five basic translation table layouts (according to shift regions):
1. 5250 and 122-key layout for 2-shift national languages (2 shift regions)
2. 5250 and 122-key layout for 4-shift national languages (4 shift regions)
3. Enhanced keyboard layout for 2-shift national languages without special
character support (3-shift regions)
4. Enhanced keyboard layout for 4-shift national languages (5 shift regions)
5. Enhanced keyboard layout for 2-shift national languages with special character
support (6 shift regions)
Each of the shift regions has a corresponding region in the workstation customizing
source that begins at '00'X following a TKSTATE tag.
For most national languages, a 5250 keyboard type has only an upper-shift
capability. National languages whose keyboards contain this type of shift capability
are called 2-shift national languages (unshifted and upper shift).
Some national languages also support a language and Latin shift key or keys on
their keyboard, in addition to keys for the upper shift state. National languages that
use the language and Latin shift key or keys are called 4-shift national languages.
The data keys on this type of keyboard can be viewed functionally as being split
into a language layer and a Latin layer. The language layer of the data keys usually
contains characters unique to a particular language, while the Latin layer contains
those characters common to most Latin-based languages. Each layer of a key is a
character defined for the unshifted position and another character defined for the
upper shift position. Therefore, a key may have 4 characters on the key top, one
corresponding to each possible combination of the upper/lower shift and
language/Latin shift.
Although 122-key keyboards contain an Alt shift key, there is no shift region
reserved within the translation table for this keyboard for the Alt shift state. This is
because all twinaxial displays using 122-key keyboards function in a 5250 keyboard
emulation mode, and the 5250 keyboard does not have a defined Alt key.
Enhanced keyboards also have Alt keys in their layout. When you press the Alt key
on this type of keyboard, it is recognized by the workstation controller as a unique
shift state. Therefore, the translation tables used for an Enhanced keyboard also
include shift regions to handle the Alt shift state. For some national languages, the
Enhanced keyboard also contains language and Latin shift keys. The translation
tables for these types of keyboards have regions to handle the different
combinations of language/Latin and upper/lower shift.
When you press an Alt key in combination with an upper shift key on one of these
Enhanced keyboards, the workstation controller puts the display into special
character mode. In this mode, scan codes from the display are translated according
Note: Special character support is not provided for Enhanced keyboards containing
a language/Latin shift capability.
“Source Code for 3477 Twinaxial Display” on page 311 shows an example of the
source for a 3477 Model H twinaxial display with a 122-key keyboard and a
keyboard language type of USI. Each shift region in the source contains the
individual entries corresponding to each possible scan code value from '00'X to
'7F'X in each of the possible shift states.
Note: Monocasing is not supported for any entry that has a first byte value other
than '0A'X.
The second byte of the translation table entries for EBCDIC character translations
must contain a valid EBCDIC character code. The valid range of values for this
second byte is from '40'X to 'FE'X.
The uppercase and lowercase alphabetic character types are used for scan codes
that are mapped to the alphabetic characters A-Z and a-z, as well as to any other
characters that are on the keyboard or included in the alphabet for a given national
language. When you enter a character from the keyboard and that character is
identified as supporting monocasing, the character is converted to its uppercase
character value if the Caps Lock key is active or if the character is entered into a
monocase input field.
The process of converting the lowercase version of a character into its uppercase
version is called monocasing. The workstation controller performs this conversion
when an input field is designated as a monocase input field or when the Caps Lock
key is active. The OS/400 operating system has monocasing tables that it uses for
the conversion of system data. The workstation controller has its own separate
tables for doing this monocase conversion; it does not access or use the system
monocasing tables. When you change the source for a twinaxial keyboard
translation table, identifying a character as an alphabetic character type that
supports monocasing does not result in that character supporting monocasing
unless that character is in the workstation controller’s internal monocase table. Also,
changing a character that is currently identified as an alphabetic character type that
supports monocasing to a different character type means that monocasing is no
longer done for that character.
The numeric digit character type for the numeric key pad area of the keyboard is
used for scan codes corresponding to keys in the numeric key pad that are mapped
into a numeric digit character (0-9). The numeric digit character type for the core
area of the keyboard is used for scan codes corresponding to keys containing
numeric characters anywhere within the core area (either the top row keys of
typewriter keyboards or the keys used for numeric characters on a data entry
keyboard).
The plus (+) character type is used solely to designate the plus character on a
keyboard. There is also a class of characters consisting of the comma, period,
The workstation controller uses the different character types to determine the
validity of data types in different input fields. When customizing a keyboard for a
twinaxial display, you should not change the character type value associated with a
given EBCDIC character code. Doing so can result in data being allowed in certain
types of input fields that an application may not expect or accept. For some
applications, this causes unpredictable results.
The workstation customizing source entries for scan codes corresponding to keys
that contain a diacritic have the following general format:
Table 10. General Format for Translation Table Entries for Diacritics
Byte Number Bit Numbers Values
1 0-7 '25'X Alphabetic diacritic '26'X Nonalphabetic
diacritic
2 0-7 Assigned diacritic value
The first byte of a source entry for a diacritic indicates that the entry is for a
diacritic. If the value for an alphabetic diacritic is specified, then that diacritic is
treated the same way as an alphabetic character. If a non-alphabetic diacritic is
specified, that diacritic is treated the same way as a non-alphabetic character.
The value for the second byte of a source entry for a diacritic indicates the specific
diacritic character associated with the entry. The value assigned to a particular
diacritic character depends on the language of the translation table (see Table 11 on
page 57). The following example shows a source entry for a nonalphabetic diacritic
character from the source for the upper shift region of a 3477 Model H twinaxial
display with a 122-key keyboard.
Corresponding Shift
Data Scan Code Mode Region
The set of diacritic characters that the workstation controller supports depends on
the language associated with the translation table. The following list shows the sets
of diacritics that are supported by the workstation controller for different groups of
languages. For each set, the values for the second bytes in the translation table
associated with each diacritic are also shown.
The keyboard language type associated with a customized table is the same as the
keyboard language type of the workstation customizing source from which the
customized table is created. Because diacritic processing done by the workstation
controller depends on the keyboard language type of a translation table, it is
important that the keyboard language type you select when retrieving a set of
translation tables be the same as the actual language for that keyboard. If it is not
the same, the EBCDIC characters resulting from diacritic character processing may
be incorrect.
When an unassigned key is pressed, the workstation controller discards the scan
code. No character is displayed, nor is any kind of error message displayed.
The controller processes function key requests from a twinaxial display based on a
number of different categories of keyboard functions. The source entries for function
keys have a format that allows the controller to identify a function key request as
belonging to a particular function category.
The first byte of each source entry has the same value for all keyboard functions
that are in the same category. The second byte of the entry contains the value that
uniquely identifies the keyboard function within a particular category.
Note: In data processing mode, unique text functions are performed for the different tabs
with hexadecimal values '0A'X, '0B'X, and '0C'X. In word processing mode, the unique text
functions are performed for all the different types of tabs.
Table 19. Translation Table Entry Formats: Function (Cmd) Key Functions
Byte Value and Function
1 '05'X Cmd Key Functions
2 '01'X PF1 (Cmd1)
'02'X PF2 (Cmd2)
'03'X PF3 (Cmd3)
'04'X PF4 (Cmd4)
'05'X PF5 (Cmd5)
'06'X PF6 (Cmd6)
'07'X PF7 (Cmd7)
'08'X PF8 (Cmd8)
'09'X PF9 (Cmd9)
'0A'X PF10 (Cmd10)
'0B'X PF11 (Cmd11)
'0C'X PF12 (Cmd12)
'0D'X PF13 (Cmd13)
'0E'X PF14 (Cmd14)
'0F'X PF15 (Cmd15)
'10'X PF16 (Cmd16)
'11'X PF17 (Cmd17)
'12'X PF18 (Cmd18)
'13'X PF19 (Cmd19)
'14'X PF20 (Cmd20)
'15'X PF21 (Cmd21)
'16'X PF22 (Cmd22)
'17'X PF23 (Cmd23)
'18'X PF24 (Cmd24)
Changing Source Entries for Scan Codes That Are Not Valid
The set of scan codes that a particular display keyboard can generate is a subset
of the entire range of scan code values in a translation table. The complete range is
from '00'X to '7F'X. Translation table entries for scan code values that are not in a
specific subset are usually coded as scan code entries that are not valid (see “Entry
Format for Blank Keys and Unassigned Scan Codes” on page 57). Although most
twinaxial displays should never generate such scan code values, you can change
the corresponding source entries for these scan codes so that something other than
a scan code that is not valid is specified.
Examples of keyboard functions that you cannot directly specify are functions that
require a Command (Cmd) key sequence on a 5250-style keyboard. When you
press the Cmd key on a twinaxial keyboard followed by one of the top-row keys on
the keyboard, the workstation controller performs one of the Command or PF key
functions (Cmd1-Cmd12). However, there are no individual entries in a 5250-style
keyboard translation table for each of these functions. There is only a translation
table entry for the Cmd key itself. When the Cmd key is pressed and the scan code
for a top-row key is received, the controller calls one of the Cmd1-Cmd12 functions.
Any keyboard functions normally performed by the workstation controller that are
not coded in a given translation table cannot be customized using the workstation
customizing functions. Therefore, the key sequences for Cmd1-Cmd12 on a
5250-style keyboard must always involve pressing a given key (like Cmd) followed
The text editing functions are only affected by workstation customizing when you
decide to change the base keyboard functions with which a given text edit function
is associated. For example, the editing function for underlining text is initiated by
pressing Alt U on an Enhanced keyboard when the editing functions are active. If a
customized translation table changes the key required for a user to enter the
character U, then the underscore function follows the U function to that new key.
:WSCST DEVCLASS=TWINAXDSP.
:EWSCST.
The order and placement of the primary tags in each source file member is
enforced by the workstation customizing object compiler.
:TKBDTBL
LANGTYPE = keyboard language type
KBDTYPE = DATA5250|TYPE5250|
DATA122|TYPE122|
ENHANCED.
The TKBDTBL tag indicates the beginning of the keyboard translation table and is
used to specify a keyboard and language type for a twinaxial display or an ASCII
printer attached to a twinaxial display.
LANGTYPE
A required parameter that specifies the type of keyboard language. Valid values
for this parameter are listed in Table 22.
Note: Not all combinations of the language type parameter and the keyboard
type parameter are valid. For a list of the valid combinations, see
Table 23 on page 66.
Table 22. Values for the Language Type (LANGTYPE) Parameter
Language Type Value Language Description Associated Code Page
AGB Austria/Germany 273
AGI Austria/Germany Multinational 500
ALI Albania 500
BGB Bulgaria 1025
BLI Belgium Multinational 500
BRB Brazil 037
CAB Canadian French 260
CAI Canadian French Multinational 500
CLB Arabic 420
CSB Czech Republic 870
CYB Cyrillic 880
DMB Denmark 277
DMI Denmark Multinational 500
FAB France (Azerty) 297
FAI France (Azerty) Multinational 500
KBDTYPE
A required parameter that specifies the keyboard type. The following list shows
the valid values and their meanings.
Table 23 on page 66 maps the available language types with the types of keyboards
for which workstation customizing is supported.
The TKBDTBL tag can be followed by from two to six TKSTATE (keyboard
translation state table) tags. Each tag indicates one state table for the keyboard.
For a given language type, there are valid combinations of the KBDTYPE
parameter with the MODE and SHIFT parameters on the TKSTATE tags. See
Table 23 on page 66 for the format value associated with each valid KBDTYPE
value for the language type you selected. This format value dictates the number of
TKSTATE tags that are required. The formats are described with the TKSTATE tag
in the following section.
Figure 11. Syntax for the Keyboard Translation State Table Tag
MODE
A required parameter. Specifies the keyboard mode for which the translation
table is used.
SHIFT
A required parameter. Specifies the keyboard shift for which the translation table
is used.
UNSHIFT The translation table is used if the keyboard is not in any shift
state.
UPPER The translation table is used if the keyboard is in an upper shift
state.
ALT The translation table is used if the keyboard is in an Alt key
shift state.
DATA
A required parameter. Specifies the translation table data for one keyboard
state. The data is the hexadecimal values for the keys on the keyboard in this
state. The table data must be hexadecimal and must be exactly 256 bytes in
length.
table data
Hexadecimal values for the keyboard keys in this state.
Table 23 maps the available language types with the keyboards and shift states
they support. A list following the table shows the MODE / SHIFT combinations for
the various language and keyboard types. These combinations can occur in any
order within the group, but all are required to be present for a particular keyboard
and its requirements.
Table 23. Language Type and Keyboard Type Considerations
Language Type Value Number of TKSTATE Tags
DATA122 TYPE122 DATA5250 TYPE5250 ENHANCED
AGB, AGI — 2 2 2 6
ALI — 2 — — 6
BGB — — — — 5
BLI — 2 2 2 6
BRB — — — 2 6
CAB 2 2 2 2 3
CAI 2 2 2 2 6
From experimenting with the display functions, you find that five keys on the
numeric key pad do not correspond to or provide any function. Using the scan code
illustrations in “Keyboard Scan Codes” on page 42, you find the scan codes for
these unassigned keys. These are shown in the following figure:
┌───────┬────────┬───────┬───────┐
│ │ │ │ │
│ 1D │ 1E │ 4F │ 50 │
│ │ │ │ │
├───────┼────────┼───────┼───────┤
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
├───────┼────────┼───────┼───────┤
│ │ │ │ │
│ │ │ │ 55 │
│ │ │ │ │
├───────┼────────┼───────┼───────┤
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
├───────┴────────┼───────┤ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────┴───────┴───────┘
Numeric Key Pad
Figure 12. Scan Codes for Unassigned Keys on 3477 Model H 122-Key Typewriter Keyboard
To be certain that the keys you want to customize are unassigned, look at the first
state table in your source denoted by
:TKSTATE MODE = NONE SHIFT = UNSHIFT.
The values for unassigned keys are set to '2200'X. The first byte of the new entries
was selected from Table 10 on page 56. The second byte was selected from
Table 11 on page 57. Write these values on your planning work sheet as shown in
the following table:
Note:
Table 24. Twinaxial Keyboard Translation Table Entries–Example Work Sheet
Twinaxial Keyboard Translation Table Entries (Mode= NONE Shift State= UNSHIFT)
Key or Function Hexadecimal Data
Scan Code Old New Old New
1D Num Lock | 2200 2501
1E / ˜ 2200 2503
4F * cedilla 2200 2504
50 — .. 2200 2505
55 + u 2200 2506
Change the '2200'X entries for the appropriate keys in your source to the entry
values shown in the previous table and save the changed source.
If any errors occur, messages are sent to the job log to help you correct them.
To activate the workstation customizing function, use the Work with Configuration
Status (WRKCFGSTS) to vary off and then vary on the display.
The tag language source structure for customizing the mapping tables for ASCII
displays is also described in this chapter, followed by the syntax and descriptions
for the individual tags related to customizing ASCII displays.
Using the OS/400 workstation customizing for ASCII displays you can:
v Customize the functional characteristics of a supported ASCII display
v Customize the functional characteristics and specify all the necessary parameters
required to provide support for an unsupported ASCII device type
To begin customizing your ASCII display, start by changing the characteristics for
outbound processing first. This allows you to see the information being sent to the
display correctly. It is then easier to determine the changes you want to make for
keyboard processing. After you have made the necessary additions and changes to
the display mapping tables, you should create the customizing object and test the
characteristics for outbound processing that you changed. When you have these
characteristics working correctly, you can then change the workstation customizing
source a second time to change the characters and functions called by the
keyboard.
If you are customizing a supported ASCII display, you can skip the next section and
go on to the technical overview that describes the way the ASCII workstation
controller performs both inbound and outbound processing. Following the overview
is more detailed technical information about the ASCII display mapping tables and
the tags you can use to customize your display.
When you know or have an idea which supported display your ASCII display is
most like, you can use the device type for the supported display to retrieve a
workstation customizing source file member to be the basis of your workstation
customizing object. Use the Retrieve Work Station Customizing Object Source
(RTVWSCST) command to retrieve mapping tables for a supported workstation that
is most like your unsupported workstation.
After you have answered the previous questions, you also need to do the following:
v Set up all the necessary hardware to connect the display to the ASCII
workstation controller
v Set up any programmable features provided by the display
This is the time to set up any emulation (if supported), a well as any language
sets and other parameters that affect the display.
v Create the necessary controller and device descriptions if needed
The controller description is for the ASCII workstation controller and may already
exist. The device description is for the ASCII display.
The workstation customizing procedure for ASCII displays that are not currently
supported can involve some trial-and-error. For an unsupported display, you usually
have a lot of additions or changes to make. To avoid compiling errors, you can do
this by making one or two changes to the source at a time and then creating the
workstation customizing object. Test the object (vary off the display, specify the
customizing object in the device description, and then vary the display back on) to
see if the results are what you expected. If so, then make the next changes;
otherwise, go back to the source and the reference book for the display to
determine the cause of the problem before going further with the workstation
customizing procedure.
The remaining sections in this chapter provide more detailed technical information
about the display mapping tables, the tags you use to customize an ASCII display,
and some examples.
The function of the local ASCII workstation controller is based on that of the
twinaxial workstation controller. Much of the functional code within the two
controllers is common code. This common code provides most of the major
functions provided by the controllers, for example, data flow control, data stream
processing, and keystroke processing.
The ASCII-specific layer of code has two main interfaces. One is an interface to the
common code, which sends and receives commands, status, and data as though a
twinaxial display is attached. The other is the interface to the actual ASCII displays.
The character data sent to and received from the devices must be ASCII character
data and the command format must conform to the command format for the specific
type of ASCII display that is attached.
Common Workstation
Controller Functions
AS/400 or
Application
Datastreams
AS/400
Keyboard Common
Functions Datastream
Processing
Common
Keystroke Processing
ASCII-Specific
Functions Twinaxial Display
Commands
Twinaxial Display
Commands
ASCII Conversion
ASCII to EBCDIC
ASCII to Keyboard Update Screen Image
Function Buffer Processing
(tables 1 and 2)
ASCII Datastream
Generation Processing
(tables 3 and 4)
ASCII
Display
Tables:
To support an ASCII display, the ASCII-specific code must map data and commands
back and forth between the format required by the common code and the format
required by the devices themselves. This is done using a number of different
mapping tables. The following list shows the mapping tables required to support an
ASCII display.
In most cases, the ASCII to keyboard function table and the update screen table
used for an ASCII display depends exclusively on the device type. Which
ASCII-to-EBCDIC character tables and EBCDIC-to-ASCII character tables are used
for an ASCII display depends on both the device type and the national language
selected for the device description.
The ASCII workstation controller uses the mapping tables combined with twinaxial
device emulation to map data between an ASCII workstation and the AS/400
system. The twinaxial device emulation assures that the following objectives are
met:
v Appearance of application displays sent to an ASCII display are the same (or
nearly the same) as if those application displays were sent to a twinaxial display.
This means that the same characters should be displayed in the same locations
on the screen, and the highlighting of data should be consistent with what it
would be on a twinaxial display.
v Data passed back to the application from an attached ASCII display is in the
same format as data passed back from an attached twinaxial display.
v ASCII keyboard functions are the same as the keyboard functions available for a
twinaxial display.
Maintaining the internal screen image buffer and mapping the data from this buffer
into ASCII data streams allows the appearance of the ASCII display to be as close
as possible to the appearance of a twinaxial display. This also allows the ASCII
workstation controller to be sure that data being passed back to the application is
equivalent to data that would be passed back from a twinaxial display.
To provide you with the same type of keyboard functions that are available on a
twinaxial display, the ASCII-specific code in the ASCII workstation controller maps
the ASCII control characters and control sequences generated from the keyboard of
your ASCII display into a format which the common workstation controller code
recognizes as twinaxial keyboard function requests. The common workstation
controller code then completes the keystroke processing.
Code values in the range '20'X through '7E'X are reserved for graphical character
data. Code values in the range '00'X through '1F'X, plus '7F'X, are used for control
codes.
Just as there are different varieties of EBCDIC character sets and code pages,
there is also a variety of ASCII character sets and code pages. For most ASCII
devices manufactured in the US, the US ASCII character set is the same from one
ASCII device to the next. The particular ASCII character set used for a given
national language varies from one display manufacturer to the next.
The US ASCII character set is a 7-bit character set, meaning all the data and
control codes within this set can be represented by different combinations of 7 bits.
Some ASCII devices support 8-bit ASCII character sets. For 8-bit ASCII character
sets, the assignment of character code values and control code values is split into
two ranges, a lower range of values from '00'X through '7F'X, and an upper range
of values from '80'X through 'FF'X. The assignment of character values in this upper
range is similar to the assignment used in the lower range as shown in the following
list.
ASCII devices that support an 8-bit character set can be set up to operate in 7-bit
mode. In this case, the display still needs a way to access data in the upper range
of the character set using a 7-bit character code. To access the upper range of the
character set, the control characters, shift-in (SI) and shift-out (SO) are used.
When a shift-out control character (usually '0E'X) is sent to the display, the display
is signaled that it should now treat the subsequent data it receives in the range
'20'X through '7F'X as though it is character data in the upper range ('A0'X through
'FF'X) of the character set.
When a shift-in control character (usually '0F'X) is sent to the display, the display is
signaled that it should return to treating data in the range '20'X through '7F'X as the
character data defined for those values.
The two ranges that make up the 8-bit character set are often referred to as
character spaces. IBM ASCII displays refer to those spaces as the G0 and G1
character spaces. These displays support commands that allow the set of
accessible characters in one of these character spaces to be swapped with a
different set of graphic characters. Therefore, a single display may actually support
three or more sets of characters simultaneously with specific character sets being
loaded into the two character spaces as needed to display specific characters.
For example, many ASCII displays that are not manufactured in the United States
are designed so that, by default, the US ASCII character set is assigned to the
character space '20'X through '7F'X. Another character set containing many of the
special language characters is assigned to the space from 'A0'X through 'FF'X.
These displays usually support a command that allows the special language
character set to be replaced with another graphic character set.
A command to switch back to the national language character set is also provided
allowing the ASCII workstation controller to force the display back and forth
between character sets as needed. The ASCII workstation controller makes use of
these character space exchanging functions in its support for text symbol
characters.
The data stream sent to an ASCII display or printer consists of ASCII graphic
character codes, control codes, and ASCII command sequences. Although many
ASCII displays and printers perform similar types of functions and support similar
types of commands, the set of commands that is supported varies considerably
from one device to another. Also, commands that perform similar functions on
different types of displays are often called with completely different command
sequences or control codes. This means that each ASCII device has its own unique
set of commands. Therefore, the ASCII data stream sent to a particular type of
device to perform a given function must be specific to that type of device.
More than one character code, control code, or command sequence can be
assigned to a given key on an ASCII keyboard. In such cases, the particular code
or sequence sent to the ASCII workstation controller depends on whether the key
has been pressed in combination with a Shift or Control (Ctrl) key.
In general, ASCII displays do not send anything to the workstation controller when
only the Shift or Ctrl key is pressed. When these keys are pressed in combination
with other keys, is data sent to the ASCII workstation controller.
There are usually other keys on an ASCII keyboard that do not send anything to the
ASCII workstation controller. Most ASCII displays have several keys reserved for
local display functions. Pressing these keys causes the display to perform some
internal function that does not involve the workstation controller.
As with command sequences that are sent to an ASCII display to perform certain
functions, the control codes or command sequences that are assigned to the keys
on an ASCII display depend on the ASCII device type. Each different device
generally has its own unique way of assigning control codes or command
sequences to the keys.
As an example, Figure 14 on page 81 shows the keyboard layout for an IBM 3151
ASCII display. The functions and characters shown are labeled on the key tops and
do not indicate any kind of specific functions supported by the ASCII workstation
controller. Figure 15 on page 82 shows the ASCII character codes and ASCII code
sequences sent to the ASCII workstation controller when the keys on the keyboard
are pressed. Table 25 on page 83 shows the ASCII control sequences for providing
the function key support for an IBM 3151 ASCII display.
Figure 15. Hexadecimal Code Values for the IBM 3151 ASCII Keyboard
Notes:
1. The keyboards on other ASCII displays may have some of the same functions
as those shown for the 3151. In general, however, the keyboards on ASCII
displays vary from one manufacturer to another, and the assignment of control
codes or character sequences varies a great deal from one display device to
the next.
2. If the data sent to the workstation controller for noncharacter keyboard functions
contains more than one byte, then the first byte is almost always the Esc control
character ('1B'X). This is also the case for most ASCII displays other than the
3151.
3. Different data can be returned when a key is pressed depending on whether the
Shift or Control (Ctrl) key is being held down at the same time the key is
pressed.
4. Some of the labeled functions shown in Figure 14 on page 81 do not send data
back to the workstation controller. In most cases, a local display function is
performed. Examples of this are the Hold and Trace keyboard functions on the
3151 display, which are local display functions.
5. The data passed back to the workstation controller for keys containing graphic
character data is always in the range '20'X through '7E'X. The data sent back
for all other functions, such as noncharacter keyboard functions, always begins
with data in the range '00'X through '1F'X or '7F'X.
6. For many of the character and control codes generated by the keyboard and
sent to the ASCII workstation controller, it is not possible to identify exactly
which key was pressed. For example, the control code of '09'X is sent to the
workstation controller as a result of either pressing the Tab key or pressing the
key sequence Ctrl I. Similarly, the code for the number 1 ('31'X) can originate
from either a key on the top row of the keyboard or from one of the keys on the
numeric key pad.
The data sent to the ASCII workstation controller from the keyboard does not
allow the workstation controller to determine which key has been pressed. Only
the particular function or character that you are trying to call is known.
It is recommended that you start customizing the mapping tables for outbound
processing first, and then customize the tables for inbound processing. This is so
that what you see on the display is correct before you try to customize the keyboard
for special characters and functions.
The following sections describe the general characteristics of the mapping tables to
help you better understand how to change the workstation customizing source for
these tables.
The flow of operations shown in the figure is from the ASCII display to the common
code for the workstation controller. The ASCII display sends data to the workstation
controller when you press keys on the ASCII keyboard. An example of the type of
data passed to the workstation controller for particular keys is shown in Figure 15
on page 82.
The ASCII-specific code in the workstation controller provides two paths for the
processing of inbound data. One path handles the mapping of ASCII code values
associated with graphic characters, while the other path handles mapping ASCII
control characters and control character sequences.
When the data received from an ASCII display is a control character or a character
sequence beginning with a control character, the ASCII workstation controller
compares that data with information in the ASCII to keyboard function mapping
table to determine whether or not it matches a mapping sequence in the table. The
workstation customizing functions allow you to customize this table. Control
characters and control sequences are mapped to one of the following:
v A twinaxial display function key request
v A local function supported by a display, such as a screen refresh, toggle
indicator, or a terminal disconnect
v A request to set the state for processing subsequent data from the device
When customizing an ASCII to keyboard function table for twinaxial display function
key requests, you can be sure that the workstation customizing functions generate
the correct internal code for the function key specified. You only need to be
concerned with specifying the ASCII command or control sequence for a given
function key tag.
Table 30 on page 121 shows the workstation customizing tags you can use to
customize the twinaxial keyboard functions with the ASCII to keyboard function
mapping table.
Setting the State for Inbound Data Processing: Some other general types of
functions specified in the ASCII to keyboard function mapping table are functions to
set the state for processing inbound data. The following list describes the three
functions for setting the state that you can specify using the workstation customizing
functions.
v Shift-Out State: This function sets the ASCII workstation controller into a
shift-out state for this display. When this state is set, ASCII character data
received from the display in the range from '20'X through '7E'X is mapped to
EBCDIC character data as though the ASCII character received is in the upper
range of the ASCII character set ('A0'X through 'FE'X.) This function may be set
by the SHIFTOUT (shift-out) tag following the DKBDTBL (keyboard function
table) tag.
Note: This state is normally used with ASCII displays that have an ASCII code
page covering a range of character values from '20'X through '7E'X and
'A0'X through 'FE'X, but are operating in 7 bit mode which only allows a
maximum value of '7F'X to be specified. The ASCII display uses the Shift
Out control character to switch to the higher range of the code page.
v Shift-In State: This function sets the ASCII workstation controller into a shift-in
state for this display. When this state is set, ASCII character data received from
the display in the range from '20'X through '7E'X is processed as character data.
If the display has previously been set to the shift-out state, this resets it. This
function may be set by the SHIFTIN (shift-in) tag following the DKBDTBL
(keyboard function table) tag.
v Set Read Status State: This function sets the ASCII workstation controller into a
read status state for an ASCII display. When the attached display is an IBM
ASCII display with an auxiliary printer configured for the display, the workstation
controller periodically sends the display a command to check whether a printer is
attached and powered on at the auxiliary port on the display. IBM ASCII displays
return a five-byte response to this command. When the ASCII workstation
controller detects the first two bytes of this response, it goes into read status
state, verifying that the remaining bytes of the response have been received
correctly. If the response data indicates that the printer is powered on, the
power-on status for the auxiliary printer is sent back to the AS/400 system and
the controller stops sending the read status command to the display.
The ASCII workstation controller uses two tables to perform this function, the
update screen table and an EBCDIC-to-ASCII mapping table.
The update screen table also contains information specifying other commands that
are sent to support certain special workstation controller functions, such as
132-column support and support for text symbols. This table also contains the
information used to specify device support characteristics for the display, such as
the way the positions on the screen are addressed and the way display highlighting
is handled. You can use the workstation customizing functions to customize this
table. See “Working with the Update Screen Table” on page 95 for more information
about what you can specify in this table.
For more information about this table, see “Working with the EBCDIC-to-ASCII
Code Mapping Table” on page 117.
At a minimum, you must specify commands for the following tags in an update
screen table to obtain a minimal level of ASCII device support:
v CLRSCN (Clear Screen command)
v CSRADR (Set Cursor Address command)
If only these two commands are specified, basic 24x80 display support is provided
on an ASCII display. However, there is no highlighting support for the screen. If the
ASCII display does support highlighting on the screen, then the attribute commands
should also be specified (ATRCMD tag). Most ASCII displays also support a
command to sound the display alarm, so the ALARM tag can usually be specified
also.
In most cases, you can obtain an acceptable level of display support by specifying
the data for the CLRSCN, CSRADR, and ATRCMD tags (and possibly the ALARM
tag). For more information about these commands and their associated tags, see
the following sections:
“Clear Screen Command” on page 106
“Set Cursor Address Command” on page 106
“Attribute Command (ATRCMD) Tag” on page 111
“Sound Alarm Command” on page 107
>
<:FKEY
KEY = F1
DATA = '1B31'X. /*Substring of F10 key data*/
:FKEY
KEY = F10
DATA = '1B3130'X.
.
.
.
v Most ASCII workstations also provide functions that are local to the display;
because these functions are local, they cannot be customized. These functions
do not send codes to the ASCII workstation controller.
The tables used by an ASCII display are downloaded to the ASCII workstation
controller at the time that the display is varied on. To accommodate the variety of
device types, EBCDIC character sets, and ASCII character sets that the ASCII
workstation controller must work with, there are a large number of tables stored on
the system. When you retrieve and edit the source for an ASCII display, all four of
the tables required to support a given ASCII display configured for a particular
language are retrieved and ready to be changed.
When you want to change only the way a character or characters appear on the
display (outbound processing), you need to change the following tables in the
workstation customizing source you retrieve:
v Update screen table
v EBCDIC-to-ASCII mapping table
When you want to change only the way the keyboard is interpreted (inbound
processing), you need to change the following tables in the workstation customizing
source you retrieve:
v ASCII to keyboard function mapping table
v ASCII-to-EBCDIC mapping table
Note: The ASCII workstation controller currently has restrictions on the language
types that may be configured for an unsupported ASCII device type. Also,
there are restrictions, regardless of whether the device is a supported or
unsupported ASCII display, on selecting certain language types supported by
the twinaxial workstation controller. Almost all such restrictions are removed
when you specify a customizing object during device configuration. Using the
workstation customizing functions, you can create a set of mapping tables to
properly support an unsupported ASCII display for a national language other
than US English (USB) or US International (USI).
:EWSCST.
The primary tags in the workstation customizing source for an ASCII display are the
following:
The default values for the parameters associated with a given tag depend on the
device type you specify when you retrieve the workstation customizing source.
These tags can occur in any order within the source file member; however, the
secondary tags must follow the appropriate primary tag.
When a primary tag is missing from the source, the system default table associated
with the missing primary tag is used. This is based on the device type and national
language type you specified when you used the RTVWSCST command.
When a DKBDTBL tag is present in the source, but has no keyboard function tags
following it, no keyboard functions are mapped when the workstation controller uses
this customizing object. This may cause unpredictable results.
When a DSCNTBL tag is present in the source, but has no update screen tags
following it, no functions to update the screen are mapped when the workstation
controller uses this customizing object. It is probable that no data will appear on the
screen when this occurs.
The update screen table used to support an ASCII display is unique to the ASCII
device type. It contains commands specific to that ASCII display. You specify the
data for the update screen table by changing the hexadecimal values for associated
tags in the workstation customizing source you retrieved for the ASCII display.
The following sections describe the tags and commands that allow you to set up the
most basic screen characteristics. As previously mentioned, these may be the most
important commands you use when using the workstation customizing functions
with an unsupported ASCII display.
:DSCNTBL
CHARATR = FIELD|CHAR
ADDRMOD = CHAR|BINARY
TEXTSYM = NOSUPPORT|SUPPORT
AUTOSCL = NO|YES.
Note: The default values for the following parameters depend on the device type
you specify when you retrieve the workstation customizing source.
CHARATR (Character)
An optional parameter. Specifies whether or not the display supports
highlighting on the screen on a character basis or on a field basis. The default
for this value depends on the ASCII display you specify for the device type
when you retrieve the workstation customizing source. (For more information
about the field or character basis, see “The Highlighting Support Parameter
(CHARATR)” on page 96.)
The following sections describe the parameters for the :DSCNTBL tag in more
detail.
mno
RV2H476-0
For field-based highlighting on an ASCII display, all data between the limits of
where highlighting on the screen is defined are displayed with the highlighting
attribute defined for the beginning of that region. Therefore, in this example, the
characters abc, def, and 123 are displayed as blinking data. The actual field defined
to use the blinking attribute begins just before the character a and ends just after
the character 3. The characters ghi and jkl are shown as reverse image data. This
field begins just before the character g and ends just after the character l The
remainder of the display is treated as 1 large field and is set to normal highlighting.
Therefore the characters mno are displayed with normal highlighting.
If a command is now sent to set the highlighting on the screen at row 5, column 15
(between abc and def) to underscore, all characters between this position and the
next highlighting attribute position (row 7, column 10) are now shown as underlined
data. Although the underlined highlighting is only shown for the characters def and
123, the actual field that is highlighted begins with the character d and ends with the
last space before the character g.
abc def
123
gh i jkl
mno
RV2H477-0
ghi jkl
mno
RV2H478-0
To write the characters 123 on the screen between the abc and def with the
underscore highlighting, the following sequence of commands must be sent to the
screen:
1. Position the cursor to the appropriate address on the screen between the abc
and def characters.
2. Set the highlighting to underscore.
3. Write the characters 123.
abc def
123
ghi jkl
mno
RV2H479-0
Note that the data previously shown on the screen does not change. To write the
characters def on the screen to be shown as underlined characters in this example,
the following additional commands must be sent following the three listed previously
listed.
1. Position the cursor from the current screen address to the location on the
screen where the character d is shown.
When selecting the CHARATR parameter for an ASCII display, you should refer to
the book for the display to determine whether highlighting on the screen is
performed on a field or character basis. You can then set this parameter
appropriately and use the ATRCMD (attribute command) tag to allow screen
highlighting.
For the decimal numeric character addressing format, the address on the screen is
represented by separate character or character sequences for the row and column
of the address. The character or character sequence consists of ASCII codes for
the numeric characters (graphic characters 0 through 9, represented by the ASCII
codes '30'X through '39'X).
When specifying data for the command to set the cursor address on a display
screen that uses numeric character addressing, the position of each address unit in
the command sequence must be specified. This is shown in the following example.
Assume that the general format for setting the cursor address for an ASCII display
that uses numeric character addressing is as follows:
ESC [ R1R2 ; C1C2 f
1B 5B - - 3B - - 66
R1R2 represent two numeric character values that specify the row address and C1C2
represent two numeric characters that specify the column address. For example,
R1R2 would be '3132'X for a row address of 12, C1C2 would be '3637'X for a column
address of 67. When the ASCII workstation controller sends this command to the
screen, the values in this command for the row and column address at any time
depend on the position on the screen that is currently being addressed.
When specifying this command for the CSRADR (set cursor address) tag for the
update screen table, some default values need to be specified for the row and
column values in the Data parameter of the command. The default values specified
should represent a screen address of row 1 and column 1. The following shows
how the CSRADR tag should be specified for this particular example:
:CSRADR
ROWTENS = 3
Notes:
1. It is very important that the address on the screen for the data specified in the
command corresponds to a screen address of row 1 and column 1. The ASCII
workstation controller saves the row and column information specified here and
later uses these saved values as a base in calculating the row and column
values to be used when sending the Set Cursor Address command for a
particular screen address. Characters may not be positioned properly on an
ASCII display screen if the row and column values specified do not correspond
to row 1 and column 1.
2. The ROWTENS, ROWONES, COLTENS, and COLONES parameters are each
set to the offset into the DATA sequence of the byte representing that address
unit. The third byte in the data is the tens unit of the row address, so
ROWTENS is set to 3. The sixth byte in the DATA sequence is the tens unit
column address, so COLTENS is set to 6.
Some ASCII displays use a zero-based addressing scheme for addressing data
on the screen. For example, the first screen position may be referenced by the
display as row 0 and column 0. In this case, the initial values specified in the
set cursor address command should reflect this zero-based addressing scheme.
For this example, the Data value specified on the CSRADR tag for a display
that uses zero-based addressing would look like the following:
:CSRADR
DATA = '1B5B30303B303066'X.
3. The COLHUNDS byte has been set to zero in this example. This indicates that
the Set Cursor Address command format for this device does not provide for a
hundreds unit in the column address. This is the case for most ASCII displays
supported by numeric character addressing. When specifying the CSRADR tag,
you should be sure not to set the COLHUNDS parameter unless the Set Cursor
Address command format for the display absolutely requires it.
4. None of the ASCII displays that use numeric character addressing and that are
currently supported by the ASCII workstation controller have a hundreds
parameter byte in their column address. The COLHUNDS parameter will always
be zero when retrieving the source tables for these displays.
Binary value addressing: For ASCII displays that support binary value addressing,
the address locations on the screen are specified in commands for positioning data
by ASCII character code values that are arbitrarily assigned to row and column
positions. Most ASCII displays that support binary addressing assign the ASCII
codes for graphic characters ('20'X through '7F'X) to consecutively represent a
given row or column position. Therefore, the first ASCII character code, '20'X, is
assigned for a row or column value in the command for positioning data if the data
were to be positioned at row 1 or column 1. Following from this, a value of '21'X
would represent a row or column address of 2, '22'X would represent a row or
column address of 3, and so on.
Other displays that use binary value addressing for their Set Cursor Address
command may use a range of ASCII character code values other than '20'X through
'7E'X. For example, some ASCII displays use a range of ASCII character codes
When specifying data for the Set Cursor Address command of a display that uses
binary value addressing, the position of the row and column address bytes in the
command sequence must be specified. These positions are indicated by the
ROWTENS and COLHUNDS parameter bytes of the CSRADR tag. This is shown in
the following example.
Assume that the Set Cursor Address command for a display has the following
format:
ESC X Pr Pc
1B 58 - -
Pr and Pc are single-byte values representing the specific row and column to be
addressed. For this example, assume that the range of address values starts with
'20'X (so that a row or column value of 2 is specified by '21'X, and so on.).
When specifying this command on the CSRADR tag, the default row and column
values specified should be set to a screen address of row 1, column 1. The
following lists the specification of the CSRADR tag for this example:
CSRADR
ROWTENS = 3
ROWONES = 0
COLHUNDS = 4
COLTENS = 0
COLONES = 0
DATA = '1B582020'X.
Notes:
1. Only the ROWTENS and COLHUNDS parameters should be set to nonzero
values. The values set for each indicate which bytes in the command sequence
are the row and column parameters, respectively.
2. This command is used to address data on the screen using binary value
addressing whenever the position on the screen being addressed is in columns
1 through 80.
3. Most ASCII displays attached to the ASCII workstation controller are supported
as 24-row by 80-column screens. If the screen uses binary value addressing,
but is being supported by the workstation controller as a screen with
132-column capability, this command is not used to address data beyond
column 80. Instead the Extended Set Cursor Address command (specified by
the XCSRADR tag) is used to address data in columns 81 through 132.
4. If the range of values used by the screen for its row and column address values
had been different, the default row and column values specified for the Data
value would still be set to represent a screen address of row 1 and column 1.
For example, if the range of address values started at '1F'X instead of '20'X the
data value in this example should have been specified as DATA='1B581F1F'X.
The reference book for your ASCII display should describe the type of addressing
supported by the display. You should set the ADDRMOD parameter to correspond
with what your display supports.
Be aware that the way you set the ADDRMOD parameter determines how the
ASCII workstation controller subsequently uses data that is specified for the
CSRADR tag in the update screen table. The format of the data specified for the
CSRADR tag should agree with the type of addressing mode set by the ADDRMOD
parameter. After you have selected either numeric character or binary addressing,
you should specify the data for the Set Cursor Address tag (CSRADR) in the
update screen table to agree with the selected type of addressing. See “Set Cursor
Address (CSRADR) Tag” on page 106 for a complete description of the format you
should use for the CSRADR tag for the different types of addressing.
As an example, text symbols are supported by the ASCII workstation controller for
the IBM 3151 displays. Table 26 shows an example of some of the graphic
characters that are shown on a 3151 ASCII display for the listed control characters.
Table 26. Graphics for Text Control Characters
Text Control Character IBM 3151 Displayed Graphic
Carrier Return ┘ (box lower-right)
Required Carrier Return Í (solid left triangle)
Required Tab Ê (solid right triangle)
Tab ┤(box right junction)
The characters shown in Table 26 are in the graphic character set for the 3151
ASCII display. The ASCII workstation controller, when required by the
OfficeVision/400 editor, sends commands to the 3151 display to allow these graphic
characters to be displayed.
The last tag listed (set graphic character set, GCS) specifies the command that the
ASCII workstation controller sends to an ASCII display to select the graphic
character set of the display. The other tags listed specify the character code values
in that graphic character set to which each of the text control symbols is mapped.
See the descriptions of these tags in “Update Screen Tags” for more information
about the specification of text symbols support.
Mapping Text Symbols: Of the update screen table tags shown in the previous list,
the TAB (tab function) and GCS (graphic character set) tags do not indicate the way
that text control characters are mapped. The remaining update screen table tags
specify how text control characters are to be mapped by the ASCII workstation
controller. For each of these tags, a single ASCII character code value should be
specified in the data parameter. The ASCII character code value should correspond
to the value assigned to a graphic character in an ASCII display’s graphic character
set. The ASCII workstation controller sends a command to select the graphic
character set whenever it is going to display one of these text symbols. This
command is specified by the GCS tag.
When the ASCII workstation controller selects the ASCII graphic character set, it
assumes that the graphic character set is loaded into the upper range of an 8-bit
ASCII character space (the range of ASCII codes from '80'X through 'FF'X). Data
specified for the text symbol mapping tags should be within this range of values.
The data specified for the text symbol mapping tags is only used by the ASCII
workstation controller when the text symbols parameter for the update screen table
tag is set to indicate that text symbols are supported (TEXTSYM=SUPPORT).
If the ASCII display does not support this paging operation for the last screen
position, this parameter should be set to NO. If the display does support paging, set
the parameter to YES. When this parameter is set to YES, the ASCII workstation
controller does not write data in the last screen position of the display.
The following sections describe the individual tags that you can specify following the
DSCNTBL (update screen table) tag.
With some exceptions, the update screen tags have the same general syntax. The
tags that are exceptions to the general syntax are the ATRCMD (attribute
command), SCNSIZE (screen size), CSRADR (set cursor address) and XCSRADR
(extended set cursor address) tags. The syntax for these tags is described
separately.
The general syntax for an update screen function tag is shown in the following
figure.
:xxxxx
DATA = ASCII control sequence.
DATA
A required parameter. Specifies the ASCII control sequence for the screen
function. The maximum length of this value is 255 bytes, unless otherwise
noted. This data must be coded as a hexadecimal value.
ASCII control sequence
Hexadecimal values for mapping ASCII control sequences to ASCII display
functions.
1
For these tags, the associated DATA value must be no more than 1 byte in length.
See “Update Screen Tags” on page 104 for information about coding these values.
Set Cursor Address Command: To use this command, you need to specify the
CSRADR (set cursor address) tag in your workstation customizing source. This is
one of the basic commands used for setting up and using an unsupported ASCII
display. When this command is sent to an ASCII display to position the cursor or to
set the screen address, all subsequent data received by the display appears
beginning at that screen position.
The ASCII workstation controller supports two different formats for basic addressing
of screen data on a 24-row by 80-column display screen. The format used is
determined by the value you specify for the ADDRMOD parameter of the update
screen table tag. Data for the CSRADR tag needs to be set differently depending
on whether you select addressing by numeric characters or addressing by binary
values. See “The Address Mode Parameter (ADDRMOD)” on page 100 for a more
complete description of the two types of addressing and some examples of how the
CSRADR tag could be specified for each.
Set Cursor Address (CSRADR) Tag: The CSRADR tag specifies the ASCII control
sequence for the set cursor address command. The data you specify for this tag
should provide the ASCII control sequence for positioning the cursor at row 1,
column 1 on the screen. The ASCII workstation controller uses the values you
specify here to calculate the offsets to the other screen addresses. Therefore, it is
important that you specify the correct address information to be used as a base for
:CSRADR
ROWTENS = row position tens byte
ROWONES = row position ones byte
COLHUNDS = column position hundreds byte
COLTENS = column position tens byte
COLONES = column position ones byte
DATA = ASCII control sequence.
Note: If one or more of these values do not apply to the device you are
customizing, specify those values as 0 (zero).
ROWTENS
A required parameter. Specifies the position of the Set Cursor Row (tens unit)
byte in the control sequence. This value must be an integer. For binary value
addressing, this specifies the position of the set cursor row byte in the control
sequence.
ROWONES
A required parameter. Specifies the position of the Set Cursor Row (ones unit)
byte in the control sequence. This value must be an integer.
COLHUNDS
A required parameter. Specifies the position of the Set Cursor Column
(hundreds unit) byte in the control sequence. This value must be an integer. For
binary value addressing, this specifies the position of the set cursor column byte
in the control sequence.
COLTENS
A required parameter. Specifies the position of the Set Cursor Column (tens
unit) byte in the control sequence. This value must be an integer.
COLONES
A required parameter. Specifies the position of the Set Cursor Column (ones
unit) byte in the control sequence. This value must be an integer.
DATA
A required parameter. Specifies the ASCII control sequence for the set cursor
address function. The maximum length for this value is 255 bytes. This
parameter value must be coded as a hexadecimal value.
ASCII control sequence
Hexadecimal values for the ASCII control sequence for the set cursor
address function.
Sound Alarm Command: You can specify a command for sounding the audible
alarm on an ASCII display in the update screen table using the ALARM (alarm) tag.
For most ASCII displays, this command is the single ASCII control character with a
value of '07'X (BEL). If necessary, you can specify a multicharacter sequence.
The audible alarm command is sent to the display at various times by the ASCII
workstation controller, depending on the types of operations being performed at the
display. For example, the alarm command is sent to alert you when unrecognized
keyboard data is entered, when an operator error condition occurs, or possibly
when a message waiting condition becomes active.
The control sequences you specify for this tag are sent to the display when the
display is varied on. They are sent to the display again when the screen refresh
function is called from the keyboard.
The data you specify for the setup command usually consists of ASCII display
commands for initializing the state of the display, or for enabling or disabling display
functions that you cannot otherwise set during the local setup of the ASCII display.
If a number of different ASCII display parameters must be initialized, you can set
these different parameters by specifying the different ASCII command sequences
for each command in consecutive hexadecimal data strings following the SETUP
tag.
For example, separate commands are sent to an IBM 3151 display that allow the
Reset key and the Print key to return data to the workstation controller when each
key is pressed. These keys cannot be enabled during the device setup, but instead,
must be enabled by sending command sequences to activate them. The command
sequences to enable each key are as follows:
Note that the two different command sequences directly follow each other with no
spaces in between. Additional command sequences to initialize other display
conditions can be specified by simply adding the ASCII command sequences to the
end of the data already specified for the setup tag.
When you specify more than one command sequence for the SETUP tag data, the
ASCII workstation controller does not recognize the different command sequences
specified as unique command sequences. The controller views the entire data string
as a single command sequence and sends all the data to the display at the same
time. Some ASCII displays support commands that require some delay before
sending additional commands to the display. You should be aware that the display
may not be able to handle all the individual commands specified in the SETUP data
if one of the commands is one for which the display expects a delay before the next
command is sent.
Set ASCII Character Set Command: You can specify the Set ASCII Character
Set command using the ACS tag in the update screen table of your workstation
customizing source.
Most ASCII displays already use the US ASCII character set for the lower range of
an 8-bit character space, so in many cases, there is no need to specify this tag.
However, you should specify this tag when the default character set in the lower
range of the character space is required to be initialized for the display to function
properly.
Set National Language Character Set Command: You can specify the Set
National Language Character Set command using the NLCS (national language
character set) tag in the update screen table section of your workstation
customizing source. This command is sent to an ASCII display to select the national
language character set for the upper range of an 8-bit ASCII character space ('80'X
through 'FF'X.)
When you specify that text symbols are supported for a display, the ASCII
workstation controller assumes that the upper range character space is to be
shared between the national language character set and the special graphics
character set. In this case, the national language character set is treated as the
default character set for the upper range character space. When a text symbol
needs to be displayed, the ASCII workstation controller replaces the national
language character set in the upper range character space by sending the
command to select the special graphics character set for the G1 space. After the
commands to display the appropriate symbol are sent, the ASCII workstation
controller sets the upper range character space back to the default by sending the
command to select that national language character set.
When a display does not provide text symbols support, and the default character
set used for the upper range character space is the character set you want for the
language you are using, you do not need to specify the NLCS tag after the
DSCNTBL tag in your source.
The ASCII workstation controller assumes that when the special graphics character
set is selected, it is loaded into the upper range of an 8-bit ASCII character space
('80'X through 'FF'X.)
Note: IBM ASCII displays refer to this character space as the G1 character space.
See “ASCII Character Sets and Code Pages” on page 78 for more
information about ASCII character spaces.
The ASCII display uses the support provided by the Set Graphic Character Set
command when text symbols support is specified in the TEXTSYM parameter for
Applications can define certain types of fields on the display screen where the
cursor disappears when it is moved into that field. The ASCII workstation controller
sends the command to turn the cursor off when such a field is entered. The
command to turn it back on is sent when the cursor is moved out of the field.
When you specify the tags for these commands in an update screen table, you
should be aware of the following:
v You should not specify a command to turn the cursor off without also specifying
the command to turn it on. If the command to turn it off is the only one specified,
the cursor disappears and does not come back after the first time the command
to turn it off is sent.
v The command to turn the cursor on can actually be a command to set the cursor
to a specific type, for example, a block cursor, an underscore cursor, or a blinking
cursor. You should be aware that when such a command is sent to the ASCII
display, it overrides any cursor style that you may have selected during the setup
for the display. In this case, you should select a command for setting the cursor
to a style that is not unpleasant to you when the cursor style override occurs.
Insert Cursor Command: You can specify the command to position the cursor by
using the INSCSR (insert cursor) tag in the update screen table in your workstation
customizing source. Some ASCII displays support the Insert Cursor command for
positioning the cursor on the display separately from the command for positioning
the data. For many ASCII displays, these commands are one and the same. IBM
ASCII displays provide separate commands for positioning the cursor and
positioning screen data. When the Insert Cursor command is sent to an ASCII
display, it positions the cursor to the current screen address (as previously set by
the Set Cursor Address command).
When the ASCII display positions the cursor to the same address that is set by the
Set Cursor Address command, this tag does not need to be specified in an update
screen table. If specified, the ASCII workstation controller uses this command for
positioning the cursor. If specified for a device type other than an IBM ASCII
display, the display should perform a function that is equivalent to the Insert Cursor
command performed by the IBM displays.
Start and End Printer Data Bypass: You can specify the commands to start and
end printer data bypass by using the STRBYP (start printer bypass) and ENDBYP
(end printer bypass) tags in the update screen table in your workstation customizing
source. These commands allow the ASCII workstation controller to support an
auxiliary printer attached to an ASCII display. The workstation controller sends the
command sequence specified on the STRBYP tag to the display before sending the
data that is to be passed on to the printer. All subsequent data sent to the display
should be sent to the printer until the workstation controller sends the command
sequence to end printer bypass. When you specify these command sequences in
As part of its twinaxial device emulation function, the ASCII workstation controller
maps these attribute control characters into ASCII command sequences that set the
way data is to be highlighted on an ASCII display. This allows the workstation
controller to format data on an ASCII display so that the highlighting is as close as
possible to what it would look like on a twinaxial display.
You can map the attribute control characters by specifying the ATRCMD (attribute
command) tag in the update screen table in your workstation customizing source.
The ATRCMD tag allows you to specify the ASCII control sequence that is sent to
set the highlighting for an ASCII display.
:ATRCMD
CTLCHAR = control character
DATA = ASCII control sequence.
CTLCHAR
A required parameter. Specifies a control character for a highlighting attribute.
(For a listing of the control characters for highlighting an ASCII display, see
Table 28 on page 112.)
control character
Hexadecimal value representing a highlighting attribute control character.
The range of values is '20'X through '3F'X.
DATA
A required parameter. Specifies the ASCII control sequence for the function.
The maximum length of this value is 255 bytes. This data must be coded as a
hexadecimal value.
ASCII control sequence
Hexadecimal values for mapping a highlighting attribute control character to
an ASCII control sequence.
The following table shows the highlighting codes that are associated with a twinaxial
display:
The default attribute mappings that the ASCII workstation controller uses for each
supported type of display map the control characters so that the appearance of data
on an ASCII display is as close as possible to what it would be on a twinaxial
Set Screen Size (SCNSIZE) Tag: The SCNSIZE (set screen size) tag specifies
the ASCII control sequence for setting a different screen size. You should set the
screen size based on the emulation you want to use. The syntax for this tag is:
:SCNSIZE
SIZE = 1920|2000|3564
DATA = ASCII control sequence.
SIZE
A required parameter. Specifies the size of the screen (in characters) for the
ASCII display.
The ASCII workstation controller can set three screen sizes corresponding to the
three values that you can specify for the SIZE parameter on the SCNSIZE tag. You
can specify the SCNSIZE tag and its parameters up to three times in a workstation
customizing source.
Notes:
1. An ASCII display does not have to support a command that sets the screen size
to exactly 25x80 or exactly 27x132 for you to use these commands in the
update screen table. However, for each SCNSIZE tag you specify, the display
should be capable of showing at least as many rows and at least as many
columns as are associated with the screen size specified. Therefore, a
command that sets the screen to 26 rows by 80 columns could be used for the
25x80 screen size, or a command to set the screen size to 28 rows by 132
columns could be used for the 27x132 screen size. When this is the case, the
ASCII workstation controller only writes data on those areas of the screen
associated with the sizes you select for the SCNSIZE tag.
2. The command to set the screen size to 24x80 is only sent if the twinaxial
display being emulated is one that runs in 24x80 mode. In this case, the
command is sent when you first vary on the display. Many ASCII displays
always run in 24x80 mode. It is not necessary to specify this command in your
update screen table if your display is one that always runs with this screen size.
3. If the twinaxial device emulation selected during device configuration is one that
provides 132-column support, the ASCII workstation controller switches back
and forth between displaying data in a 25x80 format and a 27x132 format. The
ASCII workstation controller sends the two command sequences specified in the
SCNSIZE tag for size values of 2000 and 3564 to set these sizes.
4. If the twinaxial device emulation selected provides 132-column support, the
SCNSIZE tag should be specified in the update screen table with commands for
both of the screen sizes: 25x80 and 27x132. You should not specify only the
27X132 screen size.
Extended Set Cursor Address (XCSRADR) tag: The XCSRADR (extended set
cursor address) tag specifies the ASCII control sequence for the extended set
cursor address command. The syntax for this tag is:
Figure 30. Syntax for the Extended Set Cursor Address Tag
ROW
A required parameter. Specifies the position of the Extended Set Cursor Row
byte in the control sequence. This value must be an integer.
COLHIGH
A required parameter. Specifies the position of the Extended Set Cursor Column
(high) byte in the control sequence. This value must be an integer.
COLLOW
A required parameter. Specifies the position of the Extended Set Cursor Column
(low) byte in the control sequence. This value must be an integer.
DATA
A required parameter. Specifies the ASCII control sequence for the extended
set cursor address function. The maximum length of this value is 255 bytes.
This parameter value must be coded as a hexadecimal value.
ASCII control sequence
Hexadecimal values for the ASCII control sequence for the extended set
cursor address function.
If the XCSRADR tag and its parameters are present in an update screen table, the
ASCII workstation controller uses a format that is similar to that of the Extended Set
Cursor Address command for the IBM 3151 and 3162 displays. The Extended Set
Cursor Address command for the 3151 and 3162 displays has the following general
format:
ESC X Prh Prl Pch Pcl
1B 58 - - - -
The address parameter (either row or column) for the Extended Set Cursor Address
command on these displays is a 2-byte parameter. The following scheme is used
for the display in the specification of an address value for these 2 bytes.
Table 29. Address Parameter for the Extended Set Cursor Address Command
Decimal Address Value High Byte Low Byte
1 - 32 '20'X '20'X - '3F'X
33 - 64 '21'X '20'X - '3F'X
65 - 98 '22'X '20'X - '3F'X
97 - 128 '23'X '20'X - '3F'X
129 - 132 '24'X '20'X - '3F'X
The 3151 and 3162 displays require certain bits within the last parameter byte of a
command that contains multiple parameters to be set a certain way. This allows the
display to determine which parameter is the last one in a multiple parameter
:XCSRADR
ROW=4
COLHIGH=5
COLLOW=6
DATA='1B5820202040'X
The default address specified in the data for this example corresponds to a screen
address of row 1, column 1. The ROW, COLHIGH, and COLLOW parameters are
each set to the offset value in the command for that address parameter. The
XCSRADR tag does not provide a parameter to specify an index to the high byte of
the ROW parameter in the command. The only rows that can ever be addressed on
an ASCII display are in the range of 1 to 27. For a 2-byte addressing scheme, as
described above, only one of the bytes ever changes value in the row address. The
row parameter byte of the tag should point to the byte that changes value as
different rows are specified. You should also note that the last byte specified for the
data parameter in this example has a value of '40'X This value is specified to fulfill
the previously described 3151 and 3162 requirement for marking the last parameter
byte in a multiple parameter command.
The ASCII workstation controller uses this command only when the twinaxial display
being emulated is one that can operate in 132-column mode.
These tags are described in more detail in previous sections in this chapter. The
following information summarizes the different things you must keep in mind when
customizing an ASCII display that is to be used in 132-column mode.
The only ASCII displays for which wide screen support is currently provided are the
IBM 3151, with an appropriate expansion cartridge, and the IBM 3162. You can
specify these commands that are specific to the 132-column support in any
customized update screen table. However, the commands are used only when the
configured device type for which the customized table is being used is a 3151 or a
3162 (and the twinaxial device type selected for the emulation is one that supports
132 columns).
Notes:
1. The command to set the screen size to 25x80 is sent any time the application
data stream contains a command indicating that the default screen size (25x80)
is to be set at the display.
:DEBCTBL
DATA = table data.
DATA
A required parameter. Specifies the EBCDIC-to-ASCII mapping table data for
the ASCII display. The data are hexadecimal values used for the
EBCDIC-to-ASCII translation of system data to data the ASCII display can use.
The table data must be hexadecimal, and exactly 256 bytes in length.
table data
Hexadecimal values used for the EBCDIC to ASCII translation.
The EBCDIC-to-ASCII mapping table consists of 256 1-byte entries. Each entry
corresponds to an EBCDIC value in the range '00'X through 'FF'X. Figure 32 on
:DEBCTBL
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'20202020202020202020202020202020'X /* 0- */
'2020202020202020202020202A202020'X /* 1- */
'20202020202020202020202020202020'X /* 2- */
'20202020202020202020202020202020'X /* 3- */
'2020616161616161636E5B2E3C282B21'X /* 4- */
'266565656569696969205D242A293B5E'X /* 5- */
'2D2F414141414141434E7C2C255F3E3F'X /* 6- */
'204545454549494949603A2340273D22'X /* 7- */
'20616263646566676869202020792020'X /* 8- */
'206A6B6C6D6E6F707172202020202020'X /* 9- */
'207E737475767778797A213F20202020'X /* A- */
'20202020202020202B20207C20202720'X /* B- */
'7B4142434445464748492D6F6F6F6F6F'X /* C- */
'7D4A4B4C4D4E4F505152207575757579'X /* D- */
'5C20535455565758595A204F4F4F4F4F'X /* E- */
'30313233343536373839205555555520'X. /* F- */
Notes:
1. The ASCII workstation controller does not verify whether or not the ASCII
character code specified in an entry of this table corresponds to a code for a
valid ASCII character. Entries from this table are accessed as they appear and
are sent to the display.
2. Code values from '00'X through '1F'X are normally reserved for control
characters on twinaxial displays. If any of these character codes appear in the
EBCDIC screen image buffer for a display, they are mapped as specified in the
EBCDIC-to-ASCII mapping table and then transmitted to the display. The
EBCDIC-to-ASCII mapping table entries corresponding to these control
characters are usually coded so that the characters are mapped into ASCII
blanks ('20'X). One exception to this is the control character generated when
you press the Dup key on the keyboard. The control character put into the
screen image buffer for the Dup function is '1C'X. On twinaxial displays, this
control character appears as an asterisk with a line above it. The
EBCDIC-to-ASCII mapping tables usually map this control character into a
substitute ASCII character (a plain asterisk).
Some of the control characters from '00'X through '1F'X are significant to the
text editing functions supported by the workstation controller, and the mappings
for these control characters can be overridden if the display of text symbols is
enabled (and the display supports these symbols).
3. Code values from '20'X through '3F'X are reserved for attribute control
characters on twinaxial displays. These entries in the EBCDIC-to-ASCII
mapping table are never used by the ASCII workstation controller.
4. A given ASCII character set often does not contain all the same characters as
an EBCDIC character set. When possible, the existing EBCDIC-to-ASCII
mapping tables map a character that is in an EBCDIC character set into a
substitute character, when that exact same character does not exist in the
corresponding ASCII character set. This is most often done for diacritic
characters. For example, the character ‘ä’ is often mapped to the letter ‘a’. If no
substitute character is selected, the EBCDIC characters that are not in an ASCII
character set are mapped to an ASCII space character.
The ASCII to keyboard function mapping table is set up to recognize the specific
control codes and command sequences that are generated by the keyboard of an
ASCII display.
The ASCII-to-EBCDIC mapping table allows the workstation controller to convert the
ASCII character data entered from the keyboard to EBCDIC character data that an
AS/400 application can understand.
To change these mappings, you need to use the keyboard function tags that follow
the DKBDTBL (ASCII to keyboard function mapping table) tag.
:DKBDTBL.
Figure 33. Syntax for ASCII to Keyboard Function Mapping Table Tag
The size of the ASCII to keyboard function mapping table is limited. You need to
keep this in mind when adding a large number of keyboard function tags that have
long ASCII control sequences (hexadecimal data values).
The same keyboard function tag can be specified more than once in the same
ASCII to keyboard function mapping table as long as the ASCII control sequences
specified in each case are different. This allows the same keyboard function to be
called by more than one ASCII keyboard mapping. When customizing an ASCII to
The absence of a specific keyboard function tag after the DKBDTBL tag implies that
particular keyboard function is not mapped. If the same keyboard function tag
occurs multiple times (with different data values) following a DKBDTBL tag, the
ASCII workstation controller uses all the occurrences of the tag in the source to
map the function.
If a particular keyboard function tag does not appear in your retrieved source, you
cannot use that keyboard function on your ASCII display. You can, however, try
adding these functions by checking the tags that are available to add or change the
function. Add the tag and the corresponding hexadecimal data to the source under
the appropriate primary tag and then create and test the customizing object for that
function.
Note: You cannot add a function that the workstation controller does not support for
the type of device you are trying to customize.
When customizing an ASCII to keyboard function table, you should be sure that the
ASCII control sequences you specify for the different keyboard function tags are
unique.
With one exception, all keyboard function tags have the same general syntax, as
described in the following section. The exception to the general syntax is the FKEY
tag, which is described separately.
:xxxxx
DATA = ASCII control sequence.
DATA
A required parameter. Specifies the ASCII control sequence for the keyboard
function. The maximum length for this value is 31 bytes. This data must be
coded as a hexadecimal value.
Note: A control sequence is only recognized if the first byte is in the range
'00'X through '1F'X or is equal to '7F'X as shown in Figure 18 on page 86
.
Function Key (FKEY) tag: The function key tag, FKEY, specifies the ASCII
control sequence to be mapped into a particular function key. The syntax for this tag
is:
:FKEY
KEY = F1|F2|F3|F4|F5|F6|F7|
F8|F9|F10|F11|F12|
F13|F14|F15|F16|F17|
F18|F19|F20|F21|F22|
F23|F24
DATA = ASCII control sequence.
KEY
A required parameter. Specifies the function key to be mapped.
F1 - F24
The range of function keys you can set using this parameter.
DATA
A required parameter. Specifies the ASCII control sequence for the function key.
The maximum length for this value is 31 bytes. This value must be a
hexadecimal value.
ASCII control sequence
Hexadecimal values that represent the ASCII control sequence you want to
map to the function key you specified for the KEY parameter.
For each keyboard function tag or function key tag (FKEY) that can be specified
following a DKBDTBL tag, you can specify data for the ASCII control sequence that
you want to assign to that keyboard function.
When you specify the ASCII keystroke sequence for a given keyboard function tag,
you need to be aware of the following programming considerations:
Notes:
1. You can specify a keystroke sequence that is anywhere from 1 to 31 bytes in
length.
2. The control character values of '11'X and '13'X should never be specified
anywhere in an ASCII control sequence. These values are reserved for the XON
('11'X) and XOFF ('13'X) control characters, which are used by ASCII devices to
control the flow of data between devices. The ASCII workstation controller
performs special processing when this character is received from a display. It
does not map any ASCII control sequences containing this character into the
specified keyboard function.
3. The first byte of a control sequence must have one of the following values: '00'X
through '10'X, '12'X, '14'X to '1F'X, or '7F'X. The ASCII workstation controller will
not recognize any ASCII control sequences beginning with values other than
these.
The ASCII workstation controller will never map this control sequence into the
cursor up keyboard function. Instead, the first character ('22'X) is treated as an
ASCII character code and mapped into an EBCDIC code. The remaining bytes
in the control sequence are ignored by the ASCII workstation controller.
4. If the same control sequence is specified for two or more different keyboard
function tags, the ASCII workstation controller maps the specified ASCII input
sequences into only one of the keyboard functions. The keyboard function into
which it is mapped depends on the relative location of the keyboard function
tags in the ASCII to keyboard function table.
5. If the ASCII control sequence specified for one keyboard function tag matches
the beginning of a longer sequence specified in another entry, the workstation
controller only recognizes the shorter sequence.
For example, assume the following three keyboard function tags are specified:
:CSRUP DATA=X'1B32'
:CSRLEFT DATA=X'1B3203'
:CLEAR DATA=X'03'
The ASCII workstation controller never maps a control sequence for the cursor
left keyboard function in this example. If the control sequence assigned to
cursor left (’1B3203’X) is received, the ASCII workstation controller performs the
cursor up keyboard function and then subsequently performs the clear keyboard
function. In this example, if no keyboard function is assigned the single value
’03’X, the ASCII workstation controller still performs the cursor up function and
then ignores the ’03’X.
:DASCTBL
DATA = table data.
DATA
A required parameter. Specifies the ASCII-to-EBCDIC mapping table data for
the ASCII display. The data are hexadecimal values used for the translation of
an ASCII character to an EBCDIC character. The table data must be
hexadecimal, and exactly 224 bytes in length.
The ASCII-to-EBCDIC mapping table consists of 224 1-byte entries. Each entry
corresponds to an ASCII character code value in the range '20'X through 'FF'X.
Each entry contains the EBCDIC character code to which a given ASCII character
is mapped. Figure 37 illustrates the layout of this table in your workstation
customizing source.
:DASCTBL
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'404F7F7B5B6C507D4D5D5C4E6B604B61'X /* 2- */
'F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F'X /* 3- */
'7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6'X /* 4- */
'D7D8D9E2E3E4E5E6E7E8E94AE05A5F6D'X /* 5- */
'79818283848586878889919293949596'X /* 6- */
'979899A2A3A4A5A6A7A8A9C0BBD0A100'X /* 7- */
'00000000000000000000000000000000'X /* 8- */
'00000000000000000000000000000000'X /* 9- */
'00000000000000000000000000000000'X /* A- */
'00000000000000000000000000000000'X /* B- */
'00000000000000000000000000000000'X /* C- */
'00000000000000000000000000000000'X /* D- */
'00000000000000000000000000000000'X /* E- */
'00000000000000000000000000000000'X. /* F- */
The EBCDIC character code values in this table should be in the range of valid
EBCDIC characters ('40'X through 'FF'X) to be usable by the ASCII workstation
controller. The value '00'X can be specified for ASCII code points that either have
no ASCII graphic character assigned or for which there is no corresponding
character in the EBCDIC character set.
For example, ASCII code points in the range from '80'X through '9F'X usually have
no graphic character assigned to them. In the retrieved source, the entries in the
ASCII-to-EBCDIC mapping table that correspond to these ASCII code points contain
the value '00'X. When the ASCII workstation controller receives an ASCII character
whose entry in the ASCII-to-EBCDIC mapping table has a value of '00'X, it is not
mapped to an EBCDIC character and the received ASCII character is ignored.
You should not specify values in the range from '01'X through '3F'X for entries in
the ASCII-to-EBCDIC mapping table. When a value in this range appears in a table
entry and the ASCII code corresponding to this entry is received from the display,
the ASCII workstation controller sends an error message to the display. This
appears as a blinking 0002 on the bottom line of the display.
The ASCII workstation controller treats the ASCII code point, '7F'X as a control
character. Although the entry for this ASCII code point is in the ASCII-to-EBCDIC
mapping table, it is never used.
The ASCII-to-EBCDIC mapping table you retrieve when you customize an ASCII
display comes from one of the AS/400 system ASCII-to-EBCDIC display mapping
tables. There are a limited number of these source tables on the system,
corresponding to the limited ASCII device type and language type combinations that
can be configured when an ASCII display is not customized. ASCII-to-EBCDIC
To begin, use the default setup for the display hardware. Because the VT-320 is an
unsupported ASCII display, and its functions are similar to the VT-220, you need to
change the device type to TYPE(V220) in the device description. Check the default
values for the communications parameters used in the setup for the display and
then specify these same values for the device description. For the VT-320, the
following parameter values were specified:
Vary on the device with the default mapping tables for a VT-220 display by
specifying *NONE for the work station customizing object (WSCST) parameter in
the device description.
The Sign On Screen appears and is clear. The tests provided by the DISPLAY
TEST function for the VT-320 display also work correctly. This indicates that the
commands for updating the screen match those supported by the display.
Using the work sheet for the ASCII update screen table, experiment with the display
functions to verify the commands that are supported by the display are actually
working. Be sure to look at those commands that have the most effect on the
display, such as the values for the basic update screen table (DSCNTBL) tag,
cursor addressing (CSRADR) tag, and clearing the screen (CLRSCN) tag. Some
The VT-320 display supports several different modes. The only major difference
between the 320 mode of the VT-320 display and the VT-220 display is that the
VT-220 display does not have function keys. The VT-320 function keys, F6 through
F10 and F14, can be customized. (The other function keys cannot be customized
because they provide local ASCII functions.)
Look at the VT-320 reference book to find the hexadecimal code sequences sent by
the F6, F7, and F8 keys and fill in the ASCII to keyboard function mapping table
work sheet as shown in the following figure. This allows you to more easily make
the changes to the workstation customizing source. (You can have more than one
entry for each function key.)
Note: The VT-320 ASCII display provides a function that allows you to check the
code generated by each key when you set the display to DISPLAY
CONTROL mode.
Figure 38. ASCII to Keyboard Function Mapping Table (Function Key)–Example Work Sheet
The following example source shows the code for the function keys that you want to
map to your ASCII display keyboard. In the data parameter for each function key,
type the ASCII hexadecimal data string for the command that the display sends
when that key is pressed. (These are the hexadecimal values you wrote down on
your work sheet in the planning part of the workstation customizing process.) This
maps the display’s code for a function key to the AS/400 function for that key.
.
.
:FKEY
KEY = F6
DATA = '1B5B31377E'X.
:FKEY
KEY = F7
DATA = '1B5B31387E'X.
:FKEY
KEY = F8
DATA = '1B5B31397E'X.
.
.
.
If errors occur while the object is being created, messages are sent to the job log.
Use the recovery actions provided in the help information for the message to
correct any errors and try to create the customizing object again.
To activate the workstation customizing function, vary on the display again so that
the customizing object is downloaded to the ASCII workstation controller. The F6,
F7, and F8 function keys on the VT-320 keyboard now call the appropriate AS/400
functions for those keys.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform
Function . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Preparing to Customize an ASCII Printer . . . . . . . . . . . . . . . 145
Gathering Source Materials . . . . . . . . . . . . . . . . . . . 145
Completing Printer Setup . . . . . . . . . . . . . . . . . . . . 145
Planning the Customization Schedule . . . . . . . . . . . . . . . 146
Customizing Unsupported ASCII Printers . . . . . . . . . . . . . . 146
Retrieving the Workstation Customizing Source . . . . . . . . . . . . 146
Understanding the Transform Table . . . . . . . . . . . . . . . . 146
Choosing the Customizing Source . . . . . . . . . . . . . . . . 147
Changing the Source . . . . . . . . . . . . . . . . . . . . . . 147
Transform Table (TRNSFRMTBL) Tag . . . . . . . . . . . . . . . 147
Using the Tags . . . . . . . . . . . . . . . . . . . . . . . 148
Programming Considerations . . . . . . . . . . . . . . . . . . 148
Customizing Printer Information . . . . . . . . . . . . . . . . . . 149
Printer Data Stream (PRTDTASTRM) Tag. . . . . . . . . . . . . . 149
Raster Mode (RASTERMODE) Tag . . . . . . . . . . . . . . . . 150
No-print Border (NOPRTBDR) Tag . . . . . . . . . . . . . . . . 151
Drawer Page Size . . . . . . . . . . . . . . . . . . . . . . 152
Drawer Page Size (DWRPAGSIZ) Tag . . . . . . . . . . . . . . 152
Drawer Page Size Entry (DWRPAGSIZE) Tag . . . . . . . . . . . 152
End Drawer Page Size (EDWRPAGSIZ) Tag . . . . . . . . . . . 153
Customizing Printer Controls . . . . . . . . . . . . . . . . . . . 153
Bell (BELL) Tag . . . . . . . . . . . . . . . . . . . . . . . 153
Carrier Return (CARRTN) Tag . . . . . . . . . . . . . . . . . . 153
Initialize Printer (INITPRT) Tag . . . . . . . . . . . . . . . . . . 153
Reset Printer (RESETPRT) Tag . . . . . . . . . . . . . . . . . 154
Raster Graphics End (RASEND) Tag . . . . . . . . . . . . . . . 154
Print All Characters (PRTALLCHR) Tag . . . . . . . . . . . . . . 154
Print Next Character (PRTNXTCHR) Tag . . . . . . . . . . . . . . 155
Customizing Print Media Size . . . . . . . . . . . . . . . . . . . 155
Envelope Size . . . . . . . . . . . . . . . . . . . . . . . . 155
Chapter 11. Customizing ASCII Printers That Use the Emulator on the
Display . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Supported ASCII Printers Attached to Twinaxial Displays . . . . . . . . . 205
Customizing Unsupported ASCII Printers Attached to Twinaxial Displays . . . 206
Printer Mapping Table for ASCII Printers Attached to Twinaxial Displays . . . 206
ASCII Printer Definition Table . . . . . . . . . . . . . . . . . . 207
Determining Which ASCII Printer Tables to Use . . . . . . . . . . . . 207
Working with the Tag Language for ASCII Printers Attached to Twinaxial
Displays . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Using the Tags to Customize ASCII Printers Attached to Twinaxial Displays . . 208
ASCII Printer Definition Table (PDFNTBL) Tag . . . . . . . . . . . . 208
Printer Function Tags . . . . . . . . . . . . . . . . . . . . . 209
Printer Function Tags for 3477 Model H, 3486, 3487, and 3488 Displays . . . 209
Printer Function Tags with Variable and Relative Movement . . . . . . . 209
Backspace (BSP) Tag . . . . . . . . . . . . . . . . . . . . . 211
Bell (BELL) Tag . . . . . . . . . . . . . . . . . . . . . . . 211
Start Bold Printing Function (STRBOLD) Tag . . . . . . . . . . . . 211
End Bold Printing (ENDBOLD) Tag . . . . . . . . . . . . . . . . 211
Carrier Return (CARRTN) Tag . . . . . . . . . . . . . . . . . . 212
Set Characters per Inch (CPI) Tag . . . . . . . . . . . . . . . . 212
Set Code Page (CODEPAGE) Tag . . . . . . . . . . . . . . . . 212
Set Double Character Height (DBLCHRH) Tag . . . . . . . . . . . . 213
Start Double-Wide Continuous (STRWIDE) Tag . . . . . . . . . . . 213
End Double-Wide Continuous (ENDWIDE) Tag. . . . . . . . . . . . 213
Drawer Selection (DWRSLT) Tag . . . . . . . . . . . . . . . . . 213
Global Fonts for Printer Definition Table (FNTGPDT) Tag . . . . . . . . 214
End Global Fonts for PDT (EFNTGPDT) Tag . . . . . . . . . . . . 214
Global Font Range (FNTGRNG) Tag . . . . . . . . . . . . . . . 214
Foreground Color (FOREGRND) Tag . . . . . . . . . . . . . . . 215
Form feed (FORMFEED) Tag . . . . . . . . . . . . . . . . . . 215
Initialize Printer (INITPRT) Tag . . . . . . . . . . . . . . . . . . 215
Line Feed (LINEFEED) Tag . . . . . . . . . . . . . . . . . . . 215
Set Lines per Inch (LPI) Tag . . . . . . . . . . . . . . . . . . 216
Chapter 12. Customizing ASCII Printers That Use the Emulator on the
Controller . . . . . . . . . . . . . . . . . . . . . . . . . 237
Supported ASCII Printers . . . . . . . . . . . . . . . . . . . . . 237
Customizing Unsupported ASCII Printers . . . . . . . . . . . . . . . 237
Mapping Tables for ASCII Printers . . . . . . . . . . . . . . . . . 239
Default EBCDIC-to-ASCII Mapping Table . . . . . . . . . . . . . . 239
ASCII Printer Function Table . . . . . . . . . . . . . . . . . . 241
Printer Multilanguage EBCDIC-to-ASCII Mapping Table. . . . . . . . . 241
Determining Which ASCII Printer Tables to Use . . . . . . . . . . . . 243
Working with the Tag Language for Directly Attached ASCII Printers . . . . . 244
Using the Tags to Customize ASCII Printers . . . . . . . . . . . . . . 246
Default EBCDIC-to-ASCII Mapping Table (PDFTMAPTBL) Tag . . . . . . 246
By using a process of experimentation and trial and error, you can determine
whether or not an ASCII printer can be customized. Experiment with the printer after
it has been connected and varied on. Use the information in this chapter to
determine the method you should use to retrieve and customize the workstation
customizing source for your ASCII printer. Workstation customizing functions
support only the characters and functions that the device and the workstation
controller, the display, or the host print transform function supports.
Mapping tables are used to convert EBCDIC data streams into ASCII data streams.
AS/400 EBCDIC data streams are converted into ASCII data streams for a printer.
The way you choose to convert the EBCDIC data stream into an ASCII data stream
determines which printer customization method you use. The various conversion
methods are described as follows.
1. You can use the host print transform function on the AS/400 system to convert
the EBCDIC data stream to an ASCII data stream for ASCII printers attached in
the following ways:
v ASCII printers attached to twinaxial displays
v ASCII printers attached to a personal computer or Personal System/2 through
5250 emulation products (such as Client Access/400)
v ASCII printers directly attached to the AS/400 system through a serial
interface
See Figure 39 on page 136 for an illustration of how ASCII printers that use the
host print transform function can be attached to the AS/400 system.
Figure 39. ASCII Printers That Use the Host Print Transform Function. This figure indicates
the ways an ASCII printer that uses the host print transform function can be attached to the
AS/400 system and can be customized. In this figure, WSC is an abbreviation for workstation
controller.
When the host print transform function converts the data stream, the same
ASCII data stream is always sent to a specific type of printer. The ASCII data
stream sent to the printer does not depend on how the printer is attached to the
AS/400 system.
The method of customizing printers that use the host print transform function
provides more function, for more printer types, than other methods of
customizing printers.
2. You can use an emulator on the display to convert the EBCDIC data stream to
an ASCII data stream for printers attached to twinaxial displays. This conversion
method may send a different ASCII data stream to a printer, depending on the
type of display to which the printer is attached.
┌────────┐
│ │ ┌────────────┐
│ │ │3477(H) │ ┌─────────┐
│ AS/400 │ │3486 │ │ ASCII │
│ System ├──────────┤3487 Work ├───────────────┤ Printer │
│ ┌────┤ Twinaxial│ Station│ Printer Cable │ │
│ │ A │ │3488 │ (parallel) └─────────┘
│ │ S │ └────────────┘
│ │ C │
│ │ I │
│ │ I │
│ │ │
│ │ W │
│ │ S │
│ │ C │
└───┴────┘
Figure 40. ASCII Printers That Use the Emulator on the Display. This figure indicates the way
an ASCII printer that uses the emulator on the display can be attached to the AS/400 system
and can be customized. In this figure, WSC is an abbreviation for workstation controller.
This conversion method maps to customizing printer functions for printers that
use the emulator on the display. This customization method provides less
function and consistency, for fewer printer types, than customizing printers that
use host print transform function. The amount of printer function you can
support with this method is determined by the type of display to which the
printer is attached.
3. You can use an emulator on the workstation controller to convert the EBCDIC
data stream to an ASCII data stream for directly attached printers. When an
emulator on the local workstation controller converts the data stream, the same
data stream is sent to a specific type of ASCII printer. It makes no difference
which workstation controller attaches the printer to the AS/400 system. For
example, the IBM 2637 ASCII Local Workstation Controller and IBM 6141 ASCII
Local Workstation Controller send the same data stream to IBM 4019
LaserPrinters.
Figure 41 on page 138 illustrates how ASCII printers that use the emulator on
the workstation controller can be attached to the AS/400 system.
Figure 41. ASCII Printers That Use the Emulator on the Workstation Controller. This figure
indicates the ways an ASCII printer that uses the emulator on the workstation controller can
be attached to the AS/400 system and can be customized.
This conversion method maps to customizing printer function for printers that
use the emulator on the workstation controller. This method of customization
provides less function, for fewer printer types, than customizing printers that use
the host print transform function. Customizing printers that use the emulator on
the workstation controller provides as much consistency, however, as
customizing printers that use host print transform function.
To customize printer functions, retrieve the source for the mapping tables that
define printer functions. Then add to or change the source to customize printer
functions for your printer. The content of the source you retrieve is determined by
the type of printer customized and the method of customizing printer functions you
use. You must choose the method of customizing printer functions that most closely
matches your customization needs.
The way you choose to convert the EBCDIC data stream to an ASCII data stream
determines which of the printer function customization methods you use.
v For ASCII printers that use the host print transform function, you customize the
printer by changing the source containing the transform table. The printer can be
attached to the AS/400 system in any of the ways shown in Figure 39 on
page 136 .
v For ASCII printers that use the emulator on the display, you customize the printer
by changing the source containing the printer definition table. The printer must be
attached to a 3477 Model H, 3486, 3487, or 3488 twinaxial display station.
v For ASCII printers that use the emulator on the workstation controller, you
customize the printer by changing the source containing:
– The default printer EBCDIC-to-ASCII mapping table
The printer must be attached directly to the AS/400 system by way of a local
ASCII workstation controller or attached to an ASCII display station.
To customize an ASCII printer that uses the host print transform function, you
retrieve the source for the mapping table that defines printer functions. You need to
know the printer manufacturer, type, and model to successfully retrieve the correct
workstation customizing source for your printer.
The OS/400 workstation customizing functions provide source you can use when
customizing printer functions for many printers sold by the following companies:
Epson America Incorporated
Hewlett-Packard Company
IBM Corporation
NEC Corporation
Okidata Corporation
Panasonic Corporation
Note: Customizing printer functions for ASCII printers that use the host print
transform function is described in detail in Chapter 10. Customizing ASCII
Printers That Use the Host Print Transform Function.
The source you retrieve contains tags only for the specified printer. You add or
customize tags to change the functions supported by the specified printer. To
remove a function for the specified printer, remove tags from the source. Exceptions
The twinaxial display uses one mapping table (the printer definition table) to convert
the twinaxial printer data stream into ASCII printer commands. The ASCII printer
commands perform the same (or nearly the same) functions as those specified in
the twinaxial printer data stream. It also converts character data specified in the
application data stream as EBCDIC character code values into ASCII code values
corresponding to those same characters. Many IBM ASCII printers are currently
supported by the twinaxial displays.
Note: Customizing printer function for ASCII printers that use the emulator on the
display is described in detail in Chapter 11. Customizing ASCII Printers That
Use the Emulator on the Display.
When you vary on the display and printer, the character set and the printer
definition table are used. They are used to convert the twinaxial printer data stream
sent by an application to the ASCII characters and the ASCII function codes used
by the printer.
The display station uses the printer definition table to convert the twinaxial printer
data stream to an ASCII data stream for the printer. This table contains information
The printer definition table used by the twinaxial display for a particular printer
depends on the type of printer and the setup in the display. The twinaxial displays
that support the connection of an ASCII printer support only a subset of the
available print functions. This is a limitation of the display.
The primary tags for the workstation customizing source for an ASCII printer
attached to a twinaxial display are the TKBDTBL (keyboard translation table) tag,
and the PDFNTBL (ASCII printer definition table) tag. These tags denote the
beginning of specific groups of tags that may occur in any order following the
primary tags. Because the order and placement of the primary tags in each source
file member are strictly enforced by the workstation customizing object compiler, the
tag groups must remain intact. You add or customize tags to change the functions
supported by the specified printer. You must set the ASCII data value to null
('0000'X) for a tag to remove a function for the specified printer.
If you remove a tag from the source, a value for the tag is read from
system-provided tables when the device is varied on. Therefore, if you want to
customize only printer functions, you can delete all tags for keyboard functions from
your customized object.
When you retrieve source to customize an ASCII printer that uses the emulator on
the workstation controller, you retrieve customization source for the specified printer.
To successfully retrieve the correct workstation customizing source for your printer,
you must know the printer device type and the keyboard language type. The
OS/400 workstation customizing functions provide mapping tables you can use as
source for many IBM ASCII printers.
Note: Customizing printer function for ASCII printers that use the emulator on the
workstation controller is described in detail in Chapter 12. Customizing ASCII
Printers That Use the Emulator on the Controller.
These tables are downloaded to the workstation controller when the printer is varied
on. The workstation controller downloads a particular multilanguage
EBCDIC-to-ASCII mapping table when a printer is varied on, only if the same table
has not previously been downloaded for another printer.
The source you retrieve contains three mapping tables for the specified printer. The
three particular tables you see depend on the type of printer and the language
configured for the printer.
After you retrieve the workstation customizing source, determine which of the
mapping tables in the source you need to change. Verify that the printer is capable
of printing the characters you need and performing any special functions you want
to add. Then print a file from the application that is to use this printer for its output.
Use the reference manual for the printer and the tags in your retrieved source to
change the existing printer mapping tables. By changing the existing printer
mapping tables, you can add any new, supported print functions you need.
Note: Refer to “Appendix B. Source Code Examples” on page 311 for examples
that will help you understand and work with the values for the tags that are
described in this chapter.
You should plan anywhere from 1 to 5 days to complete a successful ASCII printer
customization.
Note: If you are customizing a laser printer that is not listed, you may want to
select the *HPII value. Many laser printers have printer functions similar
to those provided by the Hewlett-Packard LaserJet Series II.
4. Specify a name for the source file member to be created for the transform table
you want to retrieve. This should be a name you can easily remember.
5. Specify a library and source file name in which to store the source file member
you specified in the previous step. The library you specify must exist.
6. Specify a text description for the source file member if it does not already have
one. This description should be unique.
The system provides you with a transform table for a specific ASCII printer.
Note: A period must follow the last data element within a tag entry.
There are no parameters that are associated with this tag. The tag is immediately
followed by a number of separate printer function tags that make up the table
entries. See “Using the Tags” on page 148 for more information about the individual
printer function tags.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 147
Using the Tags
Following are descriptions of the valid printer functions and corresponding tags for a
device class of TRANSFORM. These tags must follow the transform table tag
(TRNSFRMTBL) in your source.
The syntax for each tag is shown and is followed by the tag description. Some tags
have only a data parameter. Other tags have more than one parameter to describe
variables within the functions.
Note: A period must follow the last data element within a tag entry.
The printer function tags are divided into the following general tasks for
customizing:
| Printer information
| Printer controls
Print media size
Highlighting
| Horizontal movement
| Vertical movement
Indexing
Color
| Paper input
| Paper output
Print orientation
Print quality
Fonts
Code page support
Fax support
| Double-byte character set (DBCS) support
Programming Considerations
In general, when you customize a transform table, the host print transform function
uses only tags that are defined in your customizing object. You can delete function
tags from the retrieved source when creating your customizing object. The host
print transform function then assumes a null value for the ASCII control sequence
for that function.
The absence of a specific printer function tag after the TRNSFRMTBL tag implies
that particular printer function is not mapped and cannot be used. If the same
printer function tag occurs multiple times following a TRNSFRMTBL tag, warning
messages are not sent to the job log. The customizing object uses the last
occurrence of the tag in the source to map the printer function.
Programming considerations for specific tags, or specific tag sets, are included in
| the description of those tags.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 149
| Value Description Raster Mode
| Supported
| IBMPPDS3I₁ The IBM personal printer data stream level 3 is Yes
| supported in raster mode. This value means the same
| to the SCS-to-ASCII transform as IBMPPDS3. For the
| AFP-to-ASCII transform, this value causes the printer
| data stream to go into raster mode for a PDS level 3
| (4019) printer.
| IBMPPDS4 The IBM personal printer data stream level 4 is Yes
| supported. This is used for the IBM 4029 printer.
| Supported functions over level 3 are multiple rotations
| on a page and compressed image.
| IBMPPDS4I₁ The IBM personal printer data stream level 4 is Yes
| supported in raster mode. This value means the same
| to the SCS-to-ASCII transform as IBMPPDS4. For the
| AFP-to-ASCII transform, this value causes the printer
| data stream to go into raster mode for a PPDS level 3
| (4029) printer.
| IBM3812 The IBM 3812 printer data stream is supported. No
| IOCA_G3MH IBM IOCA raster image format with G3 modified Yes
| Huffman compression.
| IOCA_G3MRK2 IBM IOCA raster image format with G3 modified read Yes
| K=2 compression.
| IOCA_G3MRK4 IBM IOCA raster image format with G3 modified read Yes
| K=4 compression.
| IOCA_IBMMMR IBM IOCA raster image format with IBM modified Yes
| modified read compression.
| IOCA_NOCOMP IBM IOCA raster image format with no compression. Yes
| NEC The NEC printer data stream is supported. No
| NULL The printer data stream supported is not known. No
| TIFF_G4 Tagged Image File Format with G4 compression. Yes
| TIFF_PB Tagged Image File Format with packed bit Yes
| compression.
| Notes:
| 1. These types are valid, but it is recommended that you should use the raster mode tag.
|
| The default mode is mapping mode. The RASTERMODE (raster mode) tag allows
| you to specify that the host print transform should generate raster image output.
| The PRTDTASTRM (printer data stream) tag determines the format of the raster
| image output.
| The RASTERMODE tag enables raster mode that is based on the AS/400 print job
| type. The syntax is:
| :RASTERMODE
| SCS = YES | NO
| AFP = YES | NO.
| SCS
| This is a required parameter. SCS determines if the host print transform
| converts the SCS print data stream to the raster mode image format that is
| specified in the printer data stream tag.
| AFP
| This is a required parameter. AFP determines if the host print transform
| converts the AFP print data stream to the raster mode image format that is
| specified in the printer data stream tag.
| If the no-print border is defined, it is included in the top, bottom, left, and right
| margins that are used for an AS/400 print job. For example, if you specify a value of
| 1/2 inch for the top, portrait no print border, and the AS/400 document sets a top
| margin of 1 inch, the host print transform only advances your ASCII printer position
| 1/2 inch. The effect is that the printed document has a 1-inch top margin.
| ORIENT
| A required parameter. Defines the type of paper orientation. Some printers have
| different unprintable areas based on the orientation of the printed output.
|| PORTRAIT The no-print border specified is for portrait-oriented print.
| LANDSCAPE The no-print border specified is for landscape-oriented print.
| DATA
| A required parameter. Specifies the size of the no print in 1/1440-inch
| increments. This value must be an integer.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 151
| Drawer Page Size
| The DWRPAGSIZ (drawer page size) tag defines the size of the paper present in a
| specific source paper drawer.
| In raster mode, this paper size is used to allocate the raster page buffer. The SCS
| to ASCII transform uses this paper size to determine if COR mode is required.
| If the drawer size is not defined, the host print transform uses the page size that is
| specified in the AS/400 print job.
| You can define a drawer size for one or more of the source drawers. You begin
| support for the drawer page size with the DWRPAGSIZ tag and end the support
| with the EDWRPAGSIZE tag. The DWRPAGSIZE tags fall between, defining a
| drawer and its size.
| Using the drawer page size tags, your source could look something like this for a
| printer supporting two different source drawers.
| :DWRPAGSIZ.
| :DWRPAGSIZE...
| :DWRPAGSIZE...
| :EDWRPAGSIZ.
|
| The following sections describes the tags used to support different drawer sizes.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 153
Reset Printer (RESETPRT) Tag
The RESETPRT (reset printer) tag defines the ASCII control sequence for the reset
printer function for an ASCII printer. The RESETPRT tag is used by the host print
transform at the end of each print job. The syntax for this tag is:
:RESETPRT
DATA = ASCII control sequence.
DATA
A required parameter. Specifies the ASCII control sequence for the reset printer
function. This must be a hexadecimal value.
HIGHLOW The byte order of the variable is in high-low order. The most
significant byte is first.
LOWHIGH The byte order of the variable is in low-high order. The most
significant byte is last.
DATA
A required parameter. This parameter specifies the ASCII control sequence for
the set top margin (inches) printer function. This must be a hexadecimal value.
Envelope Size
You can customize selecting various sizes of envelopes. You begin support for
various envelope sizes with an ENVSIZXFM tag, and end the support with an
EENVSIZXFM tag. The ENVSIZE tags fall between the start and end tags to define
each different envelope size.
Using the envelope definition tags, your source could look something like this for a
printer supporting two different envelope sizes:
:ENVSIZXFM.
:ENVSIZE....
:ENVSIZE....
:EENVSIZXFM.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 155
Envelope Size for Transform (ENVSIZXFM) Tag
The ENVSIZXFM (envelope size for transform) tag begins a group of different
envelope size entry tags. The ENVSIZXFM tag must be followed by one or more
envelope size entry tags (ENVSIZE) containing the envelope sizes. The syntax for
the ENVSIZXFM tag is:
:ENVSIZXFM.
Paper Size
You can customize selecting various sizes of paper. You begin support for various
paper sizes with a PAGSIZXFM tag, and end the support with an EPAGSIZXFM
tag. The PAGSIZE tags fall between the start and end tags to define each different
page size.
Using the page size definition tags, your source could look something like this for a
printer supporting five separate page sizes:
:PAGSIZXFM.
:PAGSIZE....
:PAGSIZE....
:PAGSIZE....
:PAGSIZE....
:PAGSIZE....
:EPAGSIZXFM.
Following is a description of each of the tags used to support different page sizes
for an ASCII printer.
Page Length
You can set page length in lines or in inches. Following is a description of the tags
used to customize page length.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 157
VAROFFSET
A required parameter. Defines the offset for the variable portion of the control
sequence. This value must be an integer.
Note: When specifying this parameter, ensure that the length of the offset
specified is large enough to accommodate the maximum size of your
variable data.
VARTYPE
A required parameter. Defines the type of variable used with the set page length
in inches tag.
HIGHLOW The byte order of the variable is in high-low order. The first
byte is the most significant.
LOWHIGH The byte order of the variable is in low-high order. The last
byte is the most significant.
CHRDEC The variable is in character decimal format with no byte order
consideration. All characters are in the range from 0 to 9.
Many Hewlett-Packard printers use this variable type.
CHRHEX The variable is in character hexadecimal format with no byte
order consideration. All characters are in the range from 0 to
9, A to F.
CHRAN The variable is in character alphanumeric format with no byte
order consideration. All characters are in the range from 0 to
9, A to Z.
CNVNUM
A required parameter. Defines the numerator of the conversion ratio. This value
must be an integer. The most common value for CNVNUM is 1.
CNVDEN
A required parameter. Defines the denominator of the conversion ratio. This
value must be a nonzero integer. The most common value for CNVDEN is 1.
DATA
A required parameter. Specifies the ASCII control sequence for setting the page
length in inches. This must be a hexadecimal value.
HIGHLOW The byte order of the variable is in high-low order. The first
byte is the most significant.
LOWHIGH The byte order of the variable is in low-high order. The last
byte is the most significant.
CHRDEC The variable is in character decimal format with no byte order
consideration. All characters are in the range 0 to 9. Many
Hewlett-Packard printers use this variable type.
CHRHEX The variable is in character hexadecimal format with no byte
order consideration. All characters are in the range 0 to 9, A to
F.
CHRAN The variable is in character alphanumeric format with no byte
order consideration. All characters are in the range 0 to 9, A to
Z.
DATA
A required parameter. Specifies the ASCII control sequence for setting the page
length in lines. This must be a hexadecimal value.
Printable Area
Text Length in Lines (TEXTLENL) Tag
This tag specifies the text length in lines. The syntax of this tag is:
:TEXTLENL
VAROFFSET = variable offset in
control sequence
VARLEN = variable length
VARTYPE = HIGHLOW|LOWHIGH|CHRDEC|
CHRHEX|CHRAN
DATA = ASCII control sequence.
VAROFFSET
A required parameter. This parameter specifies the offset for the variable portion
of the control sequence. This value must be an integer.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 159
VARTYP
A required parameter. This parameter specifies the type of variable that is used
with the category of printer function tags.
HIGHLOW The byte order of the variable is in high-low order. The most
significant byte is first.
LOWHIGH The byte order of the variable is in low-high order. The most
significant byte is last.
CHRDEC The variable is in character decimal format with no byte order
consideration. All characters are in the range of 0 to 9. Many
Hewlett-Packard ASCII printers use this type of variable.
CHRHEX The variable is in character hexadecimal format with no byte
order consideration. All characters are in the range of A to F.
CHRAN The variable is in character alphanumeric format with no byte
order consideration. All characters are in the range of 0 to 9, A
to Z.
DATA
A required parameter. This parameter specifies the ASCII control sequence for
the set-text-length-in-lines printer function. This must be a hexadecimal value.
HIGHLOW The byte order of the variable is in high-low order. The most
significant byte is first.
LOWHIGH The byte order of the variable is in low-high order. The most
significant byte is last.
CNVNUM
A required parameter. This parameter specifies the numerator of the conversion
ratio. This value must be an integer. The most commonly used value for
CNVNUM is 1.
CNVDEN
A required parameter. This parameter specifies the denominator of the
conversion ratio. This value must be a nonzero integer.
CNVDEN defines the units that are used for the variable portion. For example, if
movement is in 1/300ths, CNVNUM should be defined as 1 and CNVDEN
should be defined as 300.
DATA
A required parameter. This parameter specifies the ASCII control sequence for
the set top margin (inches) printer function. This must be a hexadecimal value.
Customizing Highlighting
| You can customize highlighting functions, such as underlining and bold printing for
| an ASCII printer.
Bold
Start Bold Printing (STRBOLD) Tag
The STRBOLD (start bold printing) tag defines the ASCII control sequence for
starting the bold printing function for an ASCII printer. The syntax for this tag is:
:STRBOLD
DATA = ASCII control sequence.
DATA
A required parameter. Specifies the ASCII control sequence for the start bold
printing function. This must be a hexadecimal value.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 161
Underscore
Start Underscore Function (STRUS) Tag
The STRUS (start underscore) tag defines the ASCII control sequence for starting
the underscore function for an ASCII printer. The syntax for this tag is:
:STRUS
DATA = ASCII control sequence.
DATA
A required parameter. Specifies the ASCII control sequence for the start
underscore function. This must be a hexadecimal value.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 163
ASCIIFNT
A required parameter. Specifies the ASCII type style (the global font ID (FGID))
to be used when reduction is applied. This value must be an integer.
For example, the FGID for a Courier 17-pitch font (17 characters per inch) is
254. Therefore, you specify ASCIIFNT=254 for a Courier 17-pitch font. For
information on global font IDs, see the Printer Device Programming book.
FNTWTH
A required parameter. Specifies the width, in 1/1440-inch increments, of the font
used when reduction is applied. This value must be an integer.
For example, if you use a 17-pitch font when reduction is applied, divide the
increment by the number of characters per inch (1440 divided by 17). This
gives you a font width of 85 (rounded off) for the substituted font. Therefore,
you specify FNTWTH=85.
FNTATR
A required parameter. Specifies the attribute value for the substituted font. This
value must be an integer. In most cases, you specify a fixed-pitch type style
(FNTATR=1) for the substitute font attribute value.
Integer Attribute value
01 Fixed-pitch font
02 Proportional-spaced font
04 Typographic font
DATA
An optional parameter. Specifies the ASCII control sequence to select the
substituted font. This must be a hexadecimal value. You find the ASCII control
sequence in the technical reference manual for your printer under the
description of selecting type styles. If there is no control sequence, ''X must be
specified. When a control sequence of ''X is specified, the values specified for
ASCIIFNT, FNTWTH, and FNTATR are used to select the COR font.
HIGHLOW The byte order of the variable is in high-low order. The most
significant byte is first.
LOWHIGH The byte order of the variable is in low-high order. The most
significant byte is last.
CHRDEC The variable is in character decimal format with no byte order
consideration. All characters are in the range of 0 to 9. Many
Hewlett-Packard ASCII printers use this type of variable.
CHRHEX The variable is in character hexadecimal format with no byte
order consideration. All characters are in the range of A to F.
CHRAN The variable is in character alphanumeric format with no byte
order consideration. All characters are in the range of 0 to 9, A
to Z.
CNVNUM
A required parameter. Specifies the numerator of the conversion ratio. This
value must be an integer. The most commonly used value for CNVNUM is 1.
CNVDEN
A required parameter. Specifies the denominator of the conversion ratio. This
value must be a nonzero integer.
CNVDEN defines the units to be used for the variable portion. For example, if
movement is in 1/300ths, CNVNUM should be defined as 1 and CNVDEN
should be defined as 300.
DATA
A required parameter. Specifies the ASCII control sequence for the horizontal
absolute movement printer function. This must be a hexadecimal value.
You can have up to two HORRMOV tags in the same source file. If you specify two
HORRMOV tags in the same source file, one must have a direction of forward and
the other a direction of backward. The syntax of this tag is:
:HORRMOV
DIRECTION = FWD|BCK|FWDBCK
VAROFFSET = variable offset in
control sequence
VARLEN = variable length
VARTYPE = HIGHLOW|LOWHIGH|CHRDEC|
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 165
CHRHEX|CHRAN
CNVNUM = conversion ratio
numerator
CNVDEN = conversion ratio
denominator
DATA = ASCII control sequence.
DIRECTION
A required parameter. Specifies the direction of the relative movement
command.
VAROFFSET
A required parameter. Specifies the offset for the variable portion of the control
sequence. This value must be an integer.
HIGHLOW The byte order of the variable is in high-low order. The most
significant byte is first.
LOWHIGH The byte order of the variable is in low-high order. The most
significant byte is last.
CHRDEC The variable is in character decimal format with no byte order
consideration. All characters are in the range from 0 to 9. Many
Hewlett-Packard ASCII printers use this type of variable.
CHRHEX The variable is in character hexadecimal format with no byte
order consideration. All characters are in the range from 0 to 9,
A to F.
CHRAN The variable is in character alphanumeric format with no byte
order consideration. All characters are in the range from 0 to 9,
A to Z.
CNVNUM
A required parameter. Defines the numerator of the conversion ratio. This value
must be an integer. The most commonly used value for CVNUM is 1.
CNVDEN
A required parameter. Specifies the denominator of the conversion ratio. This
value must be a nonzero integer.
CNVDEN defines the units to be used for the variable portion. For example, if
movement is in 1/300ths, CNVNUM should be defined as 1 and CNVDEN
should be defined as 300.
Proportional Spacing
Start Proportional Space (STRPROP) Tag
The STRPROP (start proportional space) tag defines the ASCII control sequence
for starting the proportional space mode for an ASCII printer. The syntax for this tag
is:
:STRPROP
DATA = ASCII control sequence.
DATA
A required parameter. Specifies the ASCII control sequence for the start
proportional space function. This must be a hexadecimal value.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 167
Form Feed (FORMFEED) Tag
The FORMFEED (form feed) tag defines the ASCII control sequence for the form
feed function for an ASCII printer. The FORMFEED control advances the paper to
the top of the next page. The syntax for this tag is:
:FORMFEED
DATA = ASCII control sequence.
DATA
A required parameter. Specifies the ASCII control sequence for the form feed
function. This must be a hexadecimal value.
CNVNUM
A required parameter. Specifies the numerator of the conversion ratio. This
value must be an integer. The most commonly used value for CNVNUM is 1.
CNVDEN
A required parameter. Specifies the denominator of the conversion ratio. This
value must be a nonzero integer.
CNVDEN defines the units to be used for the variable portion. For example, if
movement is in 1/300ths, CNVNUM should be defined as 1 and CNVDEN
should be defined as 300.
DATA
A required parameter. Specifies the ASCII control sequence for the horizontal
absolute movement printer function. This must be a hexadecimal value.
You can have up to two VERRMOV tags in the same source file. If you specify two
VERRMOV tags in the same source file, one must have a direction of upward and
the other a direction of downward. The syntax of this command is:
:VERRMOV
DIRECTION = UP|DOWN|UPDOWN
VAROFFSET = variable offset in
control sequence
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 169
VARLEN = variable length
VARTYPE = HIGHLOW|LOWHIGH|CHRDEC|
CHRHEX|CHRAN
CNVNUM = conversion ratio
numerator
CNVDEN = conversion ratio
denominator
DATA = ASCII control sequence.
DIRECTION
Defines the direction of the relative movement command. This is a required
parameter.
VAROFFSET
A required parameter. Defines the offset for the variable portion of the control
sequence. This value must be an integer.
HIGHLOW The byte order of the variable is in high-low order. The first
byte is the most significant.
LOWHIGH The byte order of the variable is in low-high order. The last
byte is the most significant.
CHRDEC The variable is in character decimal format with no byte order
consideration. All characters are in the range from 0 to 9. Many
Hewlett-Packard printers use this variable type.
CHRHEX The variable is in character hexadecimal format with no byte
order consideration. All characters are in the range from 0 to 9,
A to F.
CHRAN The variable is in character alphanumeric format with no byte
order consideration. All characters are in the range from 0 to 9,
A to Z.
CNVNUM
A required parameter. Defines the numerator of the conversion ratio. This value
must be an integer. The most common value is 1.
CNVDEN
A required parameter. Defines the denominator of the conversion ratio. This
value must be a nonzero integer. Defines the units of measure to be used for
the variable portion. For example, if movement is in 1/300ths, specify CNVNUM
as 1 and CNVDEN as 300.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 171
not define variable line spacing, the customizing source is searched for a fixed pitch
tag, for example, 8 lines per inch. The syntax for this tag is:
:VARLSPC
VAROFFSET = variable offset in
control sequence
VARLEN = variable length
VARTYPE = HIGHLOW|LOWHIGH|CHRDEC|
CHRHEX|CHRAN
CNVNUM = conversion ratio
numerator
CNVDEN = conversion ratio
denominator
DATA = ASCII control sequence.
VAROFFSET
A required parameter. Defines the offset for the variable portion of the control
sequence. This value must be an integer.
HIGHLOW The byte order of the variable is in high-low order. The first
byte is the most significant.
LOWHIGH The byte order of the variable is in low-high order. The last
byte is the most significant.
CHRDEC The variable is in character decimal format with no byte order
consideration. All characters are in the range from 0 to 9. Many
Hewlett-Packard printers use this variable type.
CHRHEX The variable is in character hexadecimal format with no byte
order consideration. All characters are in the range from 0 to 9,
A to F.
CHRAN The variable is in character alphanumeric format with no byte
order consideration. All characters are in the range from 0 to 9,
A to Z.
CNVNUM
A required parameter. Defines the numerator of the conversion ratio. This value
must be an integer. The most common value for CNVNUM is 1.
CNVDEN
A required parameter. Defines the denominator of the conversion ratio. This
value must be a nonzero integer. Defines the units of measure used for the
variable portion.
DATA
A required parameter. Specifies the ASCII control sequence for variable line
spacing. This must be a hexadecimal value.
Subscript
Start Subscript Function (STRSUBS) Tag
The STRSUBS (start subscript) tag defines the ASCII control sequence for starting
the subscript function for an ASCII printer. The syntax for this tag is:
:STRSUBS
DATA = ASCII control sequence.
DATA
A required parameter. Specifies the ASCII control sequence for the start
subscript function. This must be a hexadecimal value.
Superscript
Start Superscript Function (STRSUPS) Tag
The STRSUPS (start superscript) tag defines the ASCII control sequence for
starting the superscript function for an ASCII printer. The syntax for this tag is:
:STRSUPS
DATA = ASCII control sequence.
DATA
A required parameter. Specifies the ASCII control sequence for the start
superscript function. This must be a hexadecimal value.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 173
Customizing Color
DATA
A required parameter. Specifies the ASCII control sequence for setting the
foreground color. This must be a hexadecimal value.
HIGHLOW The byte order of the variable is in high-low order. The first
byte is the most significant.
LOWHIGH The byte order of the variable is in low-high order. The last
byte is the most significant.
CHRDEC The variable is in character decimal format with no byte order
consideration. All characters are in the range 0 to 9. Many
Hewlett-Packard printers use this variable type.
CHRHEX The variable is in character hexadecimal format with no byte
order consideration. All characters are in the range 0 to 9, A to
F.
DATA
A required parameter. Specifies the ASCII control sequence for selecting the
paper drawer number. This must be a hexadecimal value.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 175
You begin the support for additional paper drawer selection with the ADDDRWTBL
tag and end the support with the EADDDRWRTBL tag. The ADDDRWTBLE tags
falls between defining each additional drawer.
Using the additional paper drawer selection tags, your source could look something
like this for a printer supporting two additional source drawers.
:ADDDRWTBL.
:ADDDRWTBLE...
:ADDDRWTBLE...
:EADDDRWTBL.
| The following section describes the tags that are used to support output bin
| selection.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 177
| Duplex
| Set Duplex Printing (DUPXPRT) Tag
| The DUPXPRT (duplex printing) tag defines the ASCII control sequence for the
| duplex printing function for an ASCII printer. The DUPXPRT control prints on both
| sides of a sheet of paper, from left to right. (Contrast the DUPXPRT control with the
| TUMDUPXPRT control.) The syntax for this tag is:
| :DUPXPRT
| DATA = ASCII control sequence.
| DATA
| A required parameter. Specifies the ASCII control sequence for the duplex
| printing function. This must be a hexadecimal value.
| Simplex
| Set Simplex Printing (SMPXPRT) Tag
| The SMPXPRT (set simplex printing) tag defines the ASCII control sequence for the
| set simplex printing function for an ASCII printer. The SMPXPRT tag sets the printer
| to print on one side of the paper. The syntax for this tag is:
| :SMPXPRT
| DATA = ASCII control sequence.
| DATA
| A required parameter. Specifies the ASCII control sequence for the set simplex
| printing function. This must be a hexadecimal value.
DATA
A required parameter. Specifies the ASCII control sequence for setting the
paper orientation for the printer. This must be a hexadecimal value.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 179
Customizing Print Quality
DRAFT The print quality is draft quality. This is equivalent to the *DRAFT type
used in the OS/400 printer file commands.
LETTER The print quality is letter quality. This is equivalent to the *NLQ type
used in the OS/400 printer file commands.
TEXT The print quality is text quality. This is equivalent to the *STD type used
in the OS/400 printer file commands.
DATA
A required parameter. Specifies the ASCII control sequence for the function.
This is a hexadecimal value.
Customizing Fonts
You can change the appearance of characters printed by an ASCII printer by
selecting and customizing fonts. You can choose a range of fonts to be used by the
printer. You can also customize individual fonts that are used by the printer.
Font Groups
You can choose font groups used by an ASCII printer. Using the font group tags,
your source could look something like this for a printer supporting five separate font
groups:
:FNTGRP.
:FNTGRPE....
:FNTGRPE....
:FNTGRPE....
:FNTGRPE....
:FNTGRPE....
:EFNTGRP.
Following is a description of each of the tags used to support font groups for an
ASCII printer.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 181
FNTSTR
A required parameter. Defines the ASCII control sequence to start a font
request.
FNTEND
An optional parameter. Defines the ASCII control sequence to end a font
request. If no ASCII control sequence is defined to end a font request, ''X must
be entered.
FNTWTH
An optional parameter. Specifies the individual character widths in 1/1440-inch
increments for the font group range. If specified, this must be either a 256-byte
or 512-byte hexadecimal value. If no font-width data is defined, ''X must be
entered.
Notes:
1. The ranges specified for MINFID and MAXFID are not validated for different
FNTGRPE tags to ensure that they do not overlap.
2. Validation is not performed to ensure individual fonts (INDFNTE) are not defined
within a range of fonts specified in a FNTGRPE tag.
3. For information on font identifiers, see the Printer Device Programming book.
Individual Fonts
You can customize individual fonts used by an ASCII printer. Using the individual
font tags, your source could look something like:
:INDFNT.
:INDFNTE....
:INDFNTE....
:INDFNTE....
:INDFNTE....
:INDFNTE....
:EINDFNT.
Following is a description of each of the tags used to support individual fonts for an
ASCII printer.
Font Mapping
Font global identifiers (FGID) can be mapped to AS/400 AFP bit map fonts. You
begin support for font mapping with the FNTMAPTBL tag and end the support with
the EFNTMAPTBL tag. The FNTMAPE tags fall between defining each FGID that is
mapped to an AS/400 bit map font.
Using the font mapping tags, your source could look like the following:
:FNTMAPTBL.
:FNTMAPE....
:FNTMAPE....
:FNTMAPE....
:EFNTMAPTBL.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 183
Following is a description of each of the tags used to support font mapping.
When you specify code page information in a customizing object, the customizing
object information takes precedence over information in system-supplied code page
tables. If you remove code page tags from a customizing object, code page
information continues to be read from the system-supplied tables.
You can customize the EBCDIC-to-ASCII mapping that should be used for an ASCII
printer. You can customize the mapping to replace the entire ASCII code page
mapped to an EBCDIC code page. For example, the U.S. English EBCDIC code
page 037 normally maps to the ASCII code page 437. You could use these tags to
map EBCDIC code page 037 to an ASCII code page other than 437 (such as ASCII
code page 850).
The following code page mapping tables are available on the AS/400 system for
use by the host print transform function. The default mapping table is the mapping
table used if you do not override the default table using a customizing object.
In addition, you can map the EBCDIC symbols code page (code page 259) to an
ASCII code page. If you configure a printer to support the ASCII symbols code page
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 185
(code page 899), the complete mapping from EBCDIC code page 259 to ASCII
code page 899 is used. Otherwise, a partial mapping is done from EBCDIC code
page 259 to the currently defined ASCII code page. The partial mapping can be
done from EBCDIC code page 259 to any of the following ASCII code pages:
For more information on specific code pages, see the International Application
Development book. For information on generating your own code page mapping
table in QUSRSYS, see the Create Table (CRTTBL) command in the CL Reference
(Abridged) book.
You can also customize EBCDIC-to-ASCII mapping for an individual code point
within an EBCDIC code page. When you customize the mapping for an individual
code point, though, you must indicate data values for every code point within the
code page. You cannot just indicate the data value for the code point you want
customized.
You begin support for various mapping tables with an EBCASCTBL tag, and end
the support with an EEBCASCTBL tag. The EBCASCTBLE tags fall between the
start and end tags to define the EBCDIC-to-ASCII mapping using the DATA
parameter.
Using the EBCDIC-to-ASCII definition tags, your source could look something like
this:
:EBCASCTBL.
:EBCASCTBLE...
.
.
:EBCASCTBLE...
.
.
:EEBCASCTBL.
When you customize to replace the entire ASCII code page mapped to an
EBCDIC code page, you set the DATA value to ''X (null). For example, EBCDIC
code page 277 maps to ASCII code page 865 by default. If you prefer to map
EBCDIC code page 277 to ASCII code page 1051 (Roman 8), enter the
following in your customizing source:
:EBCASCTBLE
EBCDICCP = 277
ASCIICP = 1051
DATA = ''X.
When you customize for an individual code point within an ASCII code page,
you must indicate data values for every code point within the code page. You
cannot just indicate the data value for the code point you want customized. The
data must be hexadecimal, and exactly 192 bytes in length. For example,
EBCDIC code page 277 maps to ASCII code page 865 by default. You like this
EBCDIC-to-ASCII code page mapping, except for the mapping of one character.
To change the code page mapping for that character, you must indicate data
values for every code point within the code page, not just for the code point you
want changed.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 187
Using the ASCII code page support tags, your source could look something like this
for a printer supporting five separate code pages:
:ASCCPINFO.
:CODEPAGE....
:ASCIICTL....
:ASCIICTL....
:CODEPAGE....
:ASCIICTL....
:CODEPAGE....
:CODEPAGE....
:CODEPAGE....
:ASCIICTL....
:ASCIICTL....
:ASCIICTL....
:EASCCPINFO.
Following is a description of each of the tags used to support code pages for an
ASCII printer.
Specifying the ASCIICTL tag allows you to convert a single-byte control code to a
multiple-byte control sequence. For example, you could use this code to have the
printer print characters that are not normally in the range of printable characters
(such as a heart or a diamond shape). You could also use this tag to allow the
printer to change to a different code page to print a single character. Then you can
have the printer change back to the original code page.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 189
| Fax Size
| You can customize printing for various fax sizes. You begin support for various fax
| sizes with an FAXSIZXFM tag, and end the support with an EFAXSIZXFM tag. The
| FAXSIZE tags fall between the start and end tags to define each different fax size.
| Using the fax size tags, your source could look something like this for two different
| fax sizes:
| :FAXSIZXFM.
| :FAXSIZE....
| :FAXSIZE....
| :EFAXSIZXFM.
| The following section describes the tags used to support different fax sizes.
| CCSID Mapping
| You can customize the mapping of EBCDIC to ASCII CCSID’s for double-byte
| character conversion. You begin the support for the EBCDIC to ASCII CCSID
| mapping with the EBCASCCSID tag and end the support with the EEBCASCCSID
| tag. The EBCASCCSIDE tags fall between defining each CCSID mapping.
| Using the EBCDIC to ASCII CCSID mapping tags, your source could look
| something like this for a printer supporting DBCS.
| :EBCASCCSID.
| :EEBACASCCSIDE....
| :EEBACASCCSIDE....
| :EEBCASCCSID.
| If no tag is specified, the CCSID mapping is made according to the following table.
| Table 31. Default CCSID Mapping Table
| From CCSID Default CCSID Language
| 5026 932 Japanese
| 5035 932 Japanese
| 930 932 Japanese
| 931 932 Japanese
| 939 932 Japanese
| 933 949 Korean
| 937 950 Traditional Chinese
| 935 1381 Simplified Chinese
| The following section describes the tags used to support specification of mapping of
| EBCDIC to ASCII CCSIDs.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 191
| ASCIICCSID
| This is a required parameter. This parameter defines the ASCII CCSID identifier.
| The CCSID is a registered ASCII identifier that is used to specify the CCSID of
| the target characters.
| DATA
| A required parameter. Specifies the ASCII control sequence for the printer
| function. This must be a hexadecimal value.
| CNVNUM
| A required parameter. This parameter specifies the numerator of the conversion
| ratio. This value must be an integer. The most commonly used value for
| CNVNUM is 1.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 193
| CNVDEN
| A required parameter. This parameter specifies the denominator of the
| conversion ratio. This value must be a nonzero integer.
| CNVDEN defines the units that are used for the variable portion. For example, if
| movement is in 1/300ths, CNVNUM should be defined as 1 and CNVDEN
| should be defined as 300.
| DATA
| A required parameter. This parameter specifies the ASCII control sequence for
| the set top margin (inches) printer function. This must be a hexadecimal value.
| CNVDEN defines the units that are used for the variable portion. For example, if
| movement is in 1/300ths, CNVNUM should be defined as 1 and CNVDEN
| should be defined as 300.
| DATA
| A required parameter. This parameter specifies the ASCII control sequence for
| the set top margin (inches) printer function. This must be a hexadecimal value.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 195
| CHRAN The variable is in character alphanumeric format with no byte
| order consideration. All characters are in the range of 0 to 9, A
| to Z.
| CNVNUM
| A required parameter. This parameter specifies the numerator of the conversion
| ratio. This value must be an integer. The most commonly used value for
| CNVNUM is 1.
| CNVDEN
| A required parameter. This parameter specifies the denominator of the
| conversion ratio. This value must be a nonzero integer.
| CNVDEN defines the units that are used for the variable portion. For example, if
| movement is in 1/300ths, CNVNUM should be defined as 1 and CNVDEN
| should be defined as 300.
| DATA
| A required parameter. This parameter specifies the ASCII control sequence for
| the set top margin (inches) printer function. This must be a hexadecimal value.
| DATA
| A required parameter. Specifies the ASCII control sequence for the printer
| function. This must be a hexadecimal value.
| DATA
| A required parameter. This parameter specifies the ASCII control sequence for
| the set top margin (inches) printer function. This must be a hexadecimal value.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 197
| VAROFFSET
| This is a required parameter. This parameter specifies the offset for the variable
| portion of the control sequence. This value must be an integer.
| DATA
| A required parameter. This parameter specifies the ASCII control sequence for
| the set top margin (inches) printer function. This must be a hexadecimal value.
| CNVNUM
| A required parameter. This parameter specifies the numerator of the conversion
| ratio. This value must be an integer. The most commonly used value for
| CNVNUM is 1.
| CNVDEN
| A required parameter. This parameter specifies the denominator of the
| conversion ratio. This value must be a nonzero integer.
| CNVDEN defines the units that are used for the variable portion. For example, if
| movement is in 1/300ths, CNVNUM should be defined as 1 and CNVDEN
| should be defined as 300.
| DATA
| A required parameter. This parameter specifies the ASCII control sequence for
| the set top margin (inches) printer function. This must be a hexadecimal value.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 199
| Value Description Raster Mode
| Supported
| LIPS3 The Cannon DBCS LIPS3 data stream is supported. No
| 201PL The NEC DBCS data stream is supported. No
Vary on the ASCII printer. The host print transform function uses the customized
source to map the data sent by the AS/400 system to the printer:
v When you start the printer writer (using the STRPRTWTR command), for spooled
print jobs
v When you print the job, for nonspooled print jobs
It is assumed that your printer is physically attached to the system and configured
to work with the AS/400 system. The device type for the Hewlett-Packard printer is
set to 3812, which is a comparable IBM laser printer.
To support the Roman 8 symbol set, you find that you need to set the default ASCII
code page to Roman 8. You then need to define the ASCII command sequence to
select the Roman 8 code page at the printer.
Using the International Application Development book, you determine that the IBM
code page identifier (ID) for the Roman 8 symbol set is code page 1051. Next,
using “Overriding the Default ASCII Code Page (DFTASCCP) Tag” on page 189,
you determine that you change the default code page by specifying the 1051 code
page ID in the DFTASCCP tag. In addition, you determine that you define the ASCII
command sequence to select the Roman 8 code page at the printer using the
CODEPAGE tag as described in “Code Page (CODEPAGE) Tag” on page 188.
Table 32. Printer Function Tags–Example Work Sheet
Tag Description Hexadecimal Data
DFTASCCP Overriding the default code page ASCIICP=1051
CODEPAGE Support for a code page CODEPAGE=1051
DATA='1B283855'X.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 201
Step 2: Retrieving the Workstation Customizing Object Source
To create the workstation customizing source, you use the Retrieve Work Station
Customizing Object Source (RTVWSCST) command and specify the following:
When you edit the file, only make changes, do not delete any of the tags even if no
change is made. If tags are deleted, the functions and characteristics associated
with those tags are no longer mapped and do not work anymore. This step and the
next two steps are performed several times. Each time a few more changes are
made to the workstation customizing source, which is then compiled and the device
and controller are varied off and on. Print the test document each time you vary on
the printer and start the printer writer to see if the changes are effective.
The following listing shows part of the source that you changed to customize the
printer. For an example of retrieved source, see Appendix B. Source Code
Examples.
:WSCST DEVCLASS=TRANSFORM.
:TRNSFRMTBL.
.
.
.
/* Add tag here to override the default code page */
:DFTASCCP
ASCIICP=1051.
:CODEPAGE
CODEPAGE=437
DATA='1B28313055'X.
:CODEPAGE
CODEPAGE=850
DATA='1B28313255'X.
:EASCCPINFO.
:EWSCST.
Chapter 10. Customizing ASCII Printers That Use the Host Print Transform Function 203
Step 6: Varying On the Device
To activate the workstation customizing function, vary off and then vary on the
printer. Then start the printer writer for the printer. Print the test document on the
Hewlett-Packard printer. The document is printed using the Roman 8 symbol set.
After you have answered the previous questions, you also need to do the following:
v Set up all the necessary hardware to connect the printer to the display
This is usually a parallel connection.
v Set up any programmable features provided by the printer
This is the time to set up IBM emulation (if supported), as well as any DIP
switches and other parameters that affect the printer.
v Create the necessary controller and device descriptions if needed
The controller description is for a twinaxial controller and the device description
for the printer can be automatically created using automatic configuration.
After you have set up and turned on the display and printer, do not forget to set up
for the display to acknowledge the printer. When the display setup is complete, use
one of your usual applications, such as OfficeVision/400, to print a short test
document. This is the starting point for workstation customizing.
At first glance, the source for the printer definition table does not look like it
supports all the functions listed previously. However, the tags and commands that
are part of the tag language for workstation customizing allow you to add the print
characteristics that are not included in the default printer definition table. The
system provides you with a default printer definition table. It is this table which
provides the source for an ASCII printer attached to a twinaxial display. This table is
based on a line-oriented printer that has limited printing capabilities.
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 207
:WSCST DEVCLASS=TWINAXPRT.
.
.
printer function tag /*tag with parameters*/
.
.
.
.
:EWSCST.
Figure 42. Source Structure for ASCII Printers Attached to Twinaxial Displays
The following sections describe the additional tags that appear in the source you
retrieve to customize an ASCII printer attached to a twinaxial display.
Note: When you retrieve a source file for customizing an ASCII printer attached to
a 3488 display, specify 3487 as the device type. The OS/400 customizing
functions support a 3488 display station as a 3487 display station.
Figure 43. Syntax for the ASCII Printer Definition Table Tag
If you delete a printer function tag from your customizing source, the value for that
tag is read from the default ASCII printer definition table stored in the emulator. If
the same printer function tag occurs multiple times following a PDFNTBL tag,
warning messages are sent to the job log. The customizing object uses the last
occurrence of the tag in the source to map the printer function.
Printer Function Tags for 3477 Model H, 3486, 3487, and 3488 Displays
The following printer function tags work for all 3477 Model H, 3486, 3487, and 3488
displays. The syntax for each tag is shown, following the tag description. Some tags
have only a data parameter. Other tags have more than one parameter to describe
variables within functions.
The general syntax for a printer function tag with a variable and relative movement
is:
:xxxxxxxxxx
VAROFFSET = variable offset in
control sequence
VARLEN = variable length
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 209
VARTYPE = HIGHLOW|LOWHIGH|CHRDEC|
CHRHEX|CHRAN
VARMAX = maximum variable value
ADJUST = adjustment
CNVNUM = conversion ratio numerator
CNVDEN = conversion ratio denominator
DATA = ASCII control sequence.
VAROFFSET
A required parameter. Defines the offset for the variable portion of the control
sequence. This value must be an integer.
HIGHLOW The byte order of the variable is in high-low order. The most
significant byte is first.
LOWHIGH The byte order of the variable is in low-high order. The most
significant byte is last.
CHRDEC The variable is in character decimal format with no byte order
consideration. All characters are in the range from 0 to 9. Many
Hewlett-Packard ASCII printers use this type of variable.
CHRHEX The variable is in character hexadecimal format with no byte
order consideration. All characters are in the range from 0 to 9,
A to F.
CHRAN The variable is in character alphanumeric format with no byte
order consideration. All characters are in the range from 0 to 9,
A to Z.
VARMAX
A required parameter. Defines the maximum variable value. This value must be
an integer.
ADJUST
A required parameter. Defines the adjustment value for the variable. This value
must be a signed integer.
CNVNUM
A required parameter. Defines the numerator of the conversion ratio. This value
must be an integer. The most commonly used value for CVNUM is 1.
CNVDEN
A required parameter. Defines the denominator of the conversion ratio. This
value must be an integer other than zero.
CNVDEN defines the units to be used for the variable portion. For example, if
movement is in 1/300ths, CNVNUM should be defined as 1 and CNVDEN
should be defined as 300.
DATA
A required parameter. Specifies the ASCII control sequence for the printer
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 211
Carrier Return (CARRTN) Tag
The CARRTN (carrier return) tag defines the ASCII control sequence for the carrier
return function for an ASCII printer. The CARRTN function returns the carrier to the
left margin, without advancing a line. The syntax for this tag is:
:CARRTN
DATA = ASCII control sequence.
DATA
A required parameter. Specifies the ASCII control sequence for the carrier
return function. This data must be coded as a hexadecimal value. The
maximum length of this value is 240 bytes.
Note: See “Set Characters per Inch (CPI) Tag” on page 223 for additional
parameter values for this tag when used with 3486, 3487, and 3488 displays.
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 213
for printing.
DATA
A required parameter. Specifies the ASCII control sequence for the function.
This must be a hexadecimal value. The maximum length of this value is 240
bytes.
DATA
A required parameter. Specifies the ASCII control sequence for setting the
foreground color. This must be a hexadecimal value. The maximum length of
this value is 240 bytes.
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 215
:LINEFEED
DATA = ASCII control sequence.
DATA
A required parameter. Specifies the ASCII control sequence for the line feed
function. This data must be coded as a hexadecimal value. The maximum
length of this value is 240 bytes.
VARMAX
A required parameter. Defines the maximum variable value. This value must be
an integer.
ADJUST
A required parameter. Defines the adjustment value to the variable. This value
must be a signed integer.
DATA
A required parameter. Specifies the ASCII control sequence for the printer
function. This must be a hexadecimal value. The maximum length of this value
is 240 bytes.
DATA
A required parameter. Specifies the ASCII control sequence for the function.
This must be a hexadecimal value. The maximum length of this value is 240
bytes.
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 217
DATA
A required parameter. Specifies the ASCII control sequence for setting the
paper orientation for the printer. This must be a hexadecimal value. The
maximum length of this value is 240 bytes.
Note: For additional parameter values for this tag when used with 3486, 3487, and
3488 displays, see “Paper Orientation (PRTORIENT) Tag” on page 225.
DATA
A required parameter. Specifies the ASCII control sequence for the function.
This must be a hexadecimal value. The maximum length of this value is 240
bytes.
DATA
A required parameter. Specifies the ASCII control sequence for downloading the
quality font. This must be a hexadecimal value. The maximum length of this
value is 240 bytes.
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 219
subscript function. This data must be coded as a hexadecimal value. The
maximum length of this value is 240 bytes.
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 221
underscore function. This data must be coded as a hexadecimal value. The
maximum length of this value is 240 bytes.
Additional Tags for Use with 3486, 3487, and 3488 Displays
The following tags, or additional parameters described with tags, work with 3486,
3487, and 3488 displays. These tags or additional parameters do not work for 3477
Model H displays.
The following tags define more printer functions and must also follow the PDFNTBL
tag in your workstation source.
Note: The 20 CPI and 25 CPI values are supported only when your ASCII
printer is attached to a 3486, 3487, or 3488 twinaxial display.
DATA
A required parameter. Specifies the ASCII control sequence for setting the
number of characters per inch. This must be a hexadecimal value. The
maximum length of this value is 240 bytes.
The CPICOR tag must follow the PDFNTBL tag in your source. The syntax for this
tag is:
:CPICOR
CPI = 10|12|15
ASCIIFNT = type style
FNTWTH = integer
FNTATR = integer
DATA = ASCII control sequence.
CPI
A required parameter. This is the current number of characters per inch before
the reduction is applied. For example, to define the type style to use for COR in
a 10-pitch print job, specify CPI=10.
10 10 characters per inch
12 12 characters per inch
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 223
15 15 characters per inch
ASCIIFNT
A required parameter. Specifies the ASCII type style (the global font ID (FGID))
to be used when reduction is applied. This value must be an integer.
For example, the FGID for a Courier 17-pitch font (17 characters per inch) is
254. Therefore, you specify ASCIIFNT=254 for a Courier 17-pitch font. For
information on global font IDs, see the Printer Device Programming book.
FNTWTH
A required parameter. Specifies the width, in 1/1440-inch increments, of the font
used when reduction is applied, This value must be an integer.
For example, if you use a 17-pitch font when reduction is applied, divide the
increment by the number of characters per inch (1440/17). This gives you a font
width of 85 (rounded off) for the substituted font. Therefore, you specify
FNTWTH=85.
FNTATR
A required parameter. Specifies the attribute value for the substituted font. This
value must be an integer.
For example, the technical reference manual for the IBM 4029 printer lists 0
through 4 as possible attribute values for the substituted font. In most cases,
you specify a fixed-pitch type style (FNTATR=1) for the substitute font attribute
value.
DATA
A required parameter. Specifies the ASCII control sequence to select the
substituted font. This must be a hexadecimal value. The maximum length of this
value is 240 bytes. You find the ASCII control sequence in the technical
reference manual for your printer under the description of selecting type styles.
For example, the control sequence for selecting type styles for an IBM 4029
printer is in the 4029 technical reference manual under the description of the
Select Font Global command. To select a font group ID of 254 for an IBM 4029
printer, you specify DATA='1B5B49050000FE005401'X.
DATA
A required parameter. Specifies the ASCII control sequence for setting the
paper orientation for the printer. This must be a hexadecimal value. The
maximum length of this value is 240 bytes.
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 225
Reverse Half Line Feed (RVSHLFLINEFEED) Tag
The RVSHLFLINEFEED (reverse half line feed) tag defines the ASCII control
sequence for the reverse half line feed function for an ASCII printer. The reverse
half line feed function moves the paper back up one half line. The syntax for this
tag is:
:RVSHLFLINEFEED
DATA = ASCII control sequence.
DATA
A required parameter. Specifies the ASCII control sequence for the reverse half
line feed function. This data must be coded as a hexadecimal value. The
maximum length of this value is 240 bytes.
Next, change the setup for the printer so that the connection to the 3477 display is
parallel. You should also check the DIP switch settings and the other setup values
that are programmed on the printer itself. When this is done, you can vary on the
printer.
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 227
Step 1: Planning the Customizing
Customizing an ASCII printer attached to a 3477 Model H display involves
trial-and-error. You may have to go through the workstation customizing procedure
several times before all the characteristics you want to add or change are working
correctly.
You may need to change more than just these characteristics, but you do not know
that until you have tried customizing and seen what the results are.
ä ö ü Ä Ö Ü
The first time you print this document, extra pages are generated, some strange
characters are printed on the top of the page, the title appears alone on the second
@
RV2H486-0
The last page of the test document when printed the first time looked something like
Figure 45.
To remove the strange characters, you investigate the printer initialization sequence.
You find that you need to set the variable line spacing, page length in lines and
inches, forward and backward relative movement, paper feed to the printer, and
drawer selection.
After you know what needs to be changed, check to see if the printer itself can
support these functions. If so, then you need to fill in the printer customizing work
sheet showing the printer characteristic and the associated hexadecimal value from
the printer reference manual. Remember, if the device does not support a character
or function, then workstation customizing cannot provide it either.
After checking the reference manual for the Hewlett-Packard LaserJet Series IIP
printer, you find that subscripts and superscripts are not supported at all (with the
basic font cartridge). As you are going through the manual, you write down the
hexadecimal codes that the printer uses to call the other functions and
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 229
characteristics you want to support. The list is shown in Table 34, Table 35 on page
230, and Table 36 on page 231.
You also find that Hewlett-Packard uses some terminology that is different from IBM
terminology when referring to some of the printer characteristics. For example, IBM
uses the terms code page and character set to describe different sets of national
language and graphics characters. Hewlett-Packard provides support for different
character sets, but refers to them as symbol sets. Knowing that there are some
differences in terminology helps you find some of the hexadecimal codes needed
for customizing.
Table 34. Printer Function Tags with Only a Data Parameter – Example Work Sheet
Tag Description Hexadecimal Data
INITPRT Initialize Printer DATA='1B5B4B03000031011B5B5C020090001B5B5405000000035200'X
ENDBOLD End Bold Printing DATA='1B46'X
ENDUS End Underscore DATA='1B2D00'X
STRBOLD Start Bold Printing DATA='1B45'X
STRUS Start Underscore DATA='1B2D01'X
Table 35. Printer Function Tags with Variable and Relative Movement – Example Work Sheet
Tag Description Data (see Note)
FWDRMOV Forward Relative VAROFFSET= 2
Movement VARLEN= 2
VARTYPE= LOWHIGH
VARMAX= 32767
ADJUST= 0
CNVNUM= 12
CNVDEN= 1
DATA='1B640F00'X
BCKRMOV Backward Relative VAROFFSET= 2
Movement VARLEN= 2
VARTYPE= LOWHIGH
VARMAX=32767
ADJUST=0
CNVNUM=12
CNVDEN=1
DATA='1B650F00'X
PAGLENI Set Page Length in VAROFFSET= 3
Inches VARLEN= 1
VARTYPE= LOWHIGH
VARMAX= 255
ADJUST= 0
CNVNUM= 1440
CNVDEN= 1
DATA='1B43000B'X
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 231
Step 3: Changing the Source
After you retrieve the source, use the source entry utility (SEU) to change the
printer characteristics and add the special character support. The command looks
like the following:
STRSEU SRCFILE(CSTLIB/CSTSRC) SRCMBR(CST3477P)
This step and the next two steps are performed several times. Each time a few
more changes are made to the workstation customizing source, which is then
compiled and the device and controller are varied off and on. Print the test
document each time you vary on the printer to see if the changes are effective.
If you delete a printer function tag from your customizing source, the value for that
tag is read from the default ASCII printer definition table stored in the emulator. If
you perform a hexadecimal trace, you may see escape sequences for tags that are
read from the default table, in addition to the tags read from the customizing
source. Therefore, to remove support for printer functions, you must specify the
tags for those functions in your customizing source. You then assign a hexadecimal
value of null (''X) to the tags to remove support for those functions.
The following listing shows part of the source that you changed to customize the
printer. For an example of the original retrieved source, see Appendix B. Source
Code Examples.
.
.
.
:PDFNTBL.
.
.
.
:VARLSPC
VAROFFSET= 11
VARLEN= 1
VARTYPE=LOWHIGH
VARMAX= 255
ADJUST= 0
CNVNUM= 10
CNVDEN= 1
DATA ='1B5B5C0400900090001B41101B32'X.
:PAGLENI
VAROFFSET= 3
VARLEN= 1
VARTYPE=LOWHIGH
VARMAX= 255
ADJUST= 0
CNVNUM= 1440
CNVDEN= 1
DATA ='1B43000B'X.
:PAGLENL
VAROFFSET= 2
VARLEN= 1
VARTYPE=LOWHIGH
VARMAX= 255
ADJUST= 0
DATA ='1B4342'X.
:FWDRMOV
VAROFFSET= 2
VARLEN= 2
VARTYPE=LOWHIGH
VARMAX=32767
ADJUST= 0
CNVNUM= 12
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 233
Library LIB(CSTLIB)
Text TEXT(’Workstation customizing object for 3477 with ASCII
printer’)
To activate the workstation customizing function, vary off and then vary on the
display so that the customizing object is downloaded to the workstation controller
and then to the display. Then print the test document on the Hewlett-Packard
printer. As shown in Figure 46 on page 235, the document is printed showing the
characteristics you customized for, as well as the removal of the strange characters
that were appearing at the top of each printed page.
per-inch spacing.
per-inch spacing.
RV2H485-1
Chapter 11. Customizing ASCII Printers That Use the Emulator on the Display 235
236 OS/400 Workstation Customization Programming V4R3
Chapter 12. Customizing ASCII Printers That Use the Emulator
on the Controller
This chapter describes the mapping tables and the tags you use to customize the
support for an ASCII printer directly attached to the AS/400 system by way of the
ASCII workstation controller. This ASCII printer does not use the host print
transform function.
The workstation customizing functions for directly attached ASCII printers provide
you with the following capabilities:
v Allow you to customize the functional characteristics of a supported ASCII printer
v Allow you to customize the functional characteristics and specify all the
necessary parameters required to support a normally unsupported ASCII printer.
The workstation customizing procedure for directly attached ASCII printers may
involve some trial and error. You may need to add or change more than one tag to
add or change the printer functions. If you have a lot of additions or changes to
make, you may want to do this by making one or two changes to the source at a
time, creating the customizing object, and then testing your changes. Doing this can
help you avoid compiling errors and unpredictable results from the printer.
If you are customizing a supported ASCII printer, you can skip the next section and
go on to the technical overview about the ASCII printer mapping tables. The
remaining sections in this chapter provide more detailed technical information about
the printer mapping tables and the tags you can use to customize your printer.
To find out which IBM device type is most like your unsupported printer, you need to
answer the following questions:
v What printer functions or characteristics and national characters do I want this
printer to support?
Write these down so that you can answer the next question.
When you know or have an idea which supported printer your printer is most like,
you can use the device type for the supported printer to retrieve a workstation
customizing source file member to be the basis of your workstation customizing
object.
After you have answered the previous questions, you also need to do the following:
v Set up all the necessary hardware to connect the printer to the ASCII workstation
controller
This is usually a serial connection.
v Set up any programmable features provided by the printer
This is the time to set up IBM emulation (if supported), as well as any switches
and other parameters that affect the printer.
v Create the necessary controller and device descriptions if needed
The controller description is for the ASCII workstation controller and may already
exist. The device description is for the ASCII printer.
After you have set up and turned on the printer, try to print a test document using
one of your usual applications, such as OfficeVision/400. This is the starting point
for workstation customizing.
The workstation customizing procedure for directly attached ASCII printers that are
not currently supported can involve a lot of trial-and-error. For an unsupported
printer, you usually have a lot of additions or changes to make. To avoid compiling
errors, you should do this by making one or two changes to the source at a time
and then creating the workstation customizing object. Test the object (vary off the
printer, specify the workstation customizing object in the device description, vary the
printer back on, and print a test document) to see if the results are what you
expected. If so, then make the next changes; otherwise, go back to your source
and the printer reference manual to determine the cause of any problems with
these changes before going further with the workstation customizing procedure.
The EBCDIC-to-ASCII mapping table used for a given printer depends on the
device type and the language configured for the printer. Different types of printers
support different ASCII code pages. Also, certain ASCII printers are capable of
supporting different national-language-dependent ASCII code pages (the code page
in use at any time is determined by a command to select the ASCII code page).
The following list shows the values and value ranges you can enter in the
EBCDIC-to-ASCII mapping table.
00 Nonprintable character
01–1E Converts the ASCII code to a multiple-byte code
20–FF Character data
Note: See “ASCII Control Code Mapping (ASCIICTL) Tag” on page 254 for more
information about using the values in the range 01-1E for converting the
ASCII code to a multiple-byte code. The AS/400 system provides a separate
EBCDIC-to-ASCII mapping table for each unique combination of EBCDIC
code page and ASCII character set based on the device type and the
language configured for the device. The following example shows the source
retrieved for the default EBCDIC-to-ASCII mapping table for an IBM 4219
printer that is configured with a language type of USI.
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 239
.
.
.
:PDFTMAPTBL.
:PDFTEBCTBL
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBE169FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'7B4142434445464748492D939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152FB968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:EPDFTMAPTBL.
.
.
.
This table cannot be used to map EBCDIC characters into ASCII data when an
application data stream being sent to the printer contains a command indicating that
a different EBCDIC code page should be used for character conversion. When this
occurs, the ASCII workstation controller uses the EBCDIC-to-ASCII mapping data
contained in the multilanguage EBCDIC-to-ASCII mapping table. The controller
goes back to using the default EBCDIC-to-ASCII mapping table if a command is
received to set the printer to initial conditions or when the printer is varied off and
then varied back on.
The PFNTWTH (font width) portion of the table contains the font width information
for each EBCDIC character being mapped into ASCII code. Font widths are
normally specified in 1/120-inch units. The only exception to this occurs when you
specify the PRTCTL (print control flag) tag with the value, '80'X. When you do this,
the font widths should be specified in 1/1440-inch units.
The ASCII workstation controller uses the font width data to calculate the character
width when proportional spacing mode is used. For example, the value 20 in the
EBCDIC-to-ASCII mapping table in Figure 47 is mapped to a font width of '0A'X.
The ASCII character for the value 20 is the space character (blank). This mapping
indicates that when the printer is printing in proportional space mode, the space
character (blank) is (10 x 1/120) = 1/12 inch wide.
More information about the content and format of the ASCII printer function table is
available in “Printer Function Tags” on page 250.
:PMLGEBCTBL
EBCDICCP= 29
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A4E82E3C282B21'X /* 4- */
'268288898AA18C8B8DE192242A293B99'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DED03A23D1273D22'X /* 7- */
'9D616263646566676869AEAF60EC7BF1'X /* 8- */
'F86A6B6C6D6E6F707172A6A77DF75DCF'X /* 9- */
'E694737475767778797AADA840ED5BA9'X /* A- */
'BD9CBEFAB8F5F4ACABF3AA7CEEF95C9E'X /* B- */
'E7414243444546474849F0937E95A2E4'X /* C- */
'914A4B4C4D4E4F505152FB968197A398'X /* D- */
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 241
'EFF6535455565758595AFDE25EE3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0E0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0E0A0A0A0A0E'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080C0A0A0E060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0A0C0A0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0A0A0A0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0A0E0A0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0C0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0E0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0A0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 30
ASCIICP= 853
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A000917BA4802E3C282B21'X /* 4- */
'268288898AA18C8B8DE1A6982A293B5E'X /* 5- */
'2D2FB686B7B500925BA5AD2C255F3E3F'X /* 6- */
'0090D2D3D4D6D7D8DED53A99B8273D9A'X /* 7- */
'F4616263646566676869E886C7ED007C'X /* 8- */
'F86A6B6C6D6E6F707172A99B9FF700CF'X /* 9- */
'E694737475767778797AE78FC6EC0040'X /* A- */
'FA9CBE7DBD155D00AB24A89DACF9EF9E'X /* B- */
'87414243444546474849F0937E95A2E5'X /* C- */
'A74A4B4C4D4E4F50515260965C81A300'X /* D- */
'81F6535455565758595AFDE223E3E0E4'X /* E- */
'30313233343536373839FCEA22EBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0E0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0E080A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0A0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C08080808060A0E0C060A0E'X /* 7- */
'0A0A0C0A0C0A080C0C060C0A0A0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0C0C060A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0E0E0C0E0E0A'X /* A- */
'0A0A0A0A0C0A0A0A0A0A0E0E0C0E0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0C'X /* C- */
'0C0A0E0C0E0E0E0C0E0E0A0C0A0C0C0C'X /* D- */
'0C0A0C0E0E0E0E0E0E0C0A0E0A0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0A0E0E0A'X. /* F- */
.
.
.
When you use the Retrieve Work Station Customizing Object Source (RTVWSCST)
command to create your workstation customizing source, you must specify an ASCII
printer for the device type. You must also specify the same language type as you
did when you created the device description. This provides the correct mapping
tables to use as a base and the correct printer functions for your specific ASCII
printer.
If you are adding support for a device that is not supported by IBM, specify a device
type that is similar to your unsupported device. For example, if you are trying to
customize an unsupported ASCII laser printer, you might choose a device type of
4019 on the RTVWSCST command. The 4019 is a supported ASCII laser printer
with some similar functional characteristics to non-IBM laser printers.
Use the following list as a guideline to help you determine which tables in your
workstation customizing source you want to customize.
v Characters do not appear or are not the characters that are expected.
To change the characters that are supported for the printer’s default code page
and character set, you need to change one or more entries in your default
EBCDIC-to-ASCII mapping table, which is denoted in your workstation
customizing source by the PDFTEBCTBL (EBCDIC-to-ASCII mapping table) tag.
v Adding or changing the print characteristics.
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 243
If you want to add or change the printing characteristics of your ASCII printer,
such as the margins, line and page spacing, paper drawer selection, paper feed,
paper orientation, and so on, you need to add to or change the existing printer
function tags in your source. The printer function table in a retrieved workstation
customizing source begins with the PFCNTBL (ASCII printer function table) tag.
This tag is followed by a number of individual printer function tags with their
parameters and data values that, when compiled, make up the actual printer
function table. See “Printer Function Tags” on page 250 for more information
about the individual printer function tags.
v The data stream from your application contains commands that tell the printer to
use a different code page.
If you know that your application is capable of producing documents that contain
commands to use a different code page, you need to change the entries in one
or more of the multilanguage EBCDIC-to-ASCII mapping tables that are denoted
by the PMLGMAPTBL (multilanguage EBCDIC-to-ASCII mapping table) tag in
your source. This tag is followed by the PMLGEBCTBL (EBCDIC-to-ASCII
mapping table) tag and the corresponding PFNTWTH (font width mapping table)
tag and its entries. There must be at least 30 of these matched pairs of mapping
tables in a single workstation customizing source, each containing the
EBCDIC-to-ASCII mapping and its corresponding font width mapping for a
different code page. See “Multilanguage EBCDIC-to-ASCII Mapping Table
(PMLGMAPTBL) Tag” on page 247 for more information about these mapping
table pairs.
Using the reference manual for the printer and the tags in your retrieved source,
you can now change the existing printer mapping tables and add any new,
supported print functions you need.
After you have made your changes to the source, you should create the
customizing object from the retrieved source using the Create Work Station
Customizing Object (CRTWSCST) command. Use the Work with Configuration
Status (WRKCFGSTS) command to vary the printer off and then on again. Now, try
printing your test document again.
Working with the Tag Language for Directly Attached ASCII Printers
When you specify an ASCII printer for the device type on the Retrieve Work Station
Customizing Object Source (RTVWSCST) command, the device class is specified
in the source as an ASCII printer (DEVCLASS = ASCIIPRT). The source structure for
this device class looks like the following:
:EPDFTMAPTBL.
.
.
( PMLGEBCTBL/PFNTWTH pairs)
.
.
:EPMLGMAPTBL.
The source structure provides the basic outline of a source file member retrieved for
an ASCII printer.
The primary tags for the ASCII printer source structure are the following:
The order and placement of the primary tags in each source file member is strictly
enforced by the workstation customizing object compiler. When a primary tag is
missing in the source, the system default table associated with the missing primary
tag may be used in place of a customized table. The default table chosen is based
on the device type and national language type you specified when you used the
RTVWSCST command. When you make changes to your workstation customizing
source, you should leave the tags in the order they were in when you retrieved the
source. This helps to avoid possible errors and unpredictable results when you
create and use the workstation customizing object.
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 245
Following the PMLGMAPTBL tag, the number of PMLGEBCTBL (EBCDIC-to-ASCII
mapping table) and PFNTWTH (font width mapping table) tag pairs determines the
size of the customized multilanguage mapping table. Each tag pair represents one
code page to character set mapping table. For a complete description of the
PMLGEBCTBL tag, see “EBCDIC-to-ASCII Mapping Table (PMLGEBCTBL) Tag” on
page 248 .
When a PFCNTBL (ASCII printer function table) tag is present in the source, but
has no printer function tags following it, the system default printer function table is
not used. Instead, no printer functions are mapped when this customizing object is
used by the workstation controller. This can cause your printer to produce
unpredictable results.
There are no keyword parameters associated with this tag. However, it must be
immediately followed by an PDFTEBCTBL (EBCDIC-to-ASCII mapping table) tag
and a PFNTWTH (font width mapping table) tag. This pair of tags indicates that the
contents of the tables are to be used for customizing the ASCII printer. An example
showing these tags and source for these tables is shown in Figure 47 on page 240.
The ASCII workstation controller uses the font width data to calculate the character
width when proportional spacing mode is used. Font widths are normally specified
in 1/120-inch units. The only exception to this occurs when you specify the PRTCTL
(print control flag) tag with the value, '80'X. When you do this, the font widths
should be specified in 1/1440-inch units.
There are no keyword parameters for this tag. However, it must be immediately
followed by a number of individual printer function tags, which make up the function
table entries. See “Printer Function Tags” on page 250 for more information about
the individual printer function tags. The absence of a specific printer function tag
following the PFCNTBL tag implies that particular printer function is not mapped.
When the same printer function tag occurs multiple times following a PFCNTBL tag,
the workstation controller uses the last occurrence of the tag in the source to map
the printer function.
There are no keywords associated with this tag. However, it is immediately followed
by one or more occurrences of a PMLGEBCTBL (EBCDIC-to-ASCII mapping table)
tag and a PFNTWTH (font width mapping table) tag. These pairs of tags specify the
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 247
table contents. The maximum number of pairs allowed is 150. The minimum
number of pairs required is 30. See “EBCDIC-to-ASCII Mapping Table
(PMLGEBCTBL) Tag” for a description of the PMLGEBCTBL tag and more
information on the required pairs.
Note: For unsupported printers, this value is tied to the variable type parameter
(VARTYPE) on the CODEPAGVAR (code page variable) tag.
DATA
A required parameter. Specifies the hexadecimal table data that is used to map
EBCDIC codes from the AS/400 system to the ASCII code needed by the ASCII
printer. The table data must be hexadecimal, and exactly 192 bytes in length.
table data
Hexadecimal values for mapping EBCDIC codes to ASCII codes needed by
the ASCII printer.
Note: The code page values supported by the workstation controller differ from
those supported for twinaxial-connected displays, as shown in Table 22 on
page 63 . It is strongly recommended that you do not delete the original 30
pairs you find in the retrieved source. Unpredictable results may appear on
your printed output. You are free to add as many new pairs of
PMLGEBCTBL/PFNTWTH tags as you need.
Table 37. Required Code Page Identifiers
EBCDICCP Parameter Value
for PMLGEBCTBL Tag EBCDIC Code Page
037 United States
256 International
273 Austria/Germany
274 Belgium
275 Brazil
276 Canadian French
277 Denmark/Norway
278 Finland/Sweden
280 Italy
281 Japan English
282 Portugal
283 Spain
284 Spanish Speaking
285 United Kingdom
290 Japan Katakana
297 France
330 Languages of the former Yugoslavia
340 OCR
420 Arabic
423 Greece
424 Hebrew
500 International
870 ROECE/Latin 2
871 Icelandic
880 ROECE/Cyrillic
892 OCR-A
893 OCR-B
905 Turkey
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 249
Table 37. Required Code Page Identifiers (continued)
EBCDICCP Parameter Value
for PMLGEBCTBL Tag EBCDIC Code Page
259 Map to ASCII character set 899
Note: You must have the ASCIICP set to 899 for the
PMLGEBCTBL tag.
259 Map to ASCII character set 850, or ASCII character set 437
Note: You must have set the ASCIICP set to 850 or 437
for the PMLGEBCTBL tag.
Most of the printer function tags fall into one of following general formats.
v Tags with only the data parameter
v Tags that provide additional parameters to describe variables within functions
v Tags for functions that support relative movement combined with the first two tag
formats
The remaining printer functions that are described are functions with specialized
parameters that do not meet any of the general formats.
Syntax for Printer Function Tags with the Data Parameter Only
The following table lists the tags that have only a data parameter that you can use
to set or change printer characteristics.
Table 38. Printer Function Tags with Data Parameter Only
Tag Description
BELL Bell
BSP Backspace
CARRTN Carrier Return
ENDBOLD End Bold Printing
ENDSUBS End Subscript
ENDSUPS End Superscript
ENDUS End Underscore
FNTGPFT Set Global Font for PFT
FORMFEED Form Feed
INITPRT Initialize Printer
INITVON Initialization at Vary On
LINEFEED Line Feed
The general syntax for a printer function tag that uses only the data parameter is:
:xxxxx
DATA = ASCII control sequence.
DATA
A required parameter. Specifies the ASCII control sequence for the printer
function. This data must be coded as a hexadecimal value. The maximum
length of this value is 240 bytes.
ASCII control sequence
Hexadecimal values for mapping the ASCII control sequence for the printer
function.
The FNTGPFT (set global font for PFT) tag allows you to set the base font for
printing. It is this font that is used for all printed characters until the printer receives
a command to change to another font.
The printer control flags (PRTCTL tag) are bit-mapped flags that allow you to
control certain print characteristics, such as the font width units for the FNTGPFT
(set global font) tag. The hexadecimal values for the PRTCTL tag that are defined
in Table 38 on page 250 can all be specified on a single occurrence of the tag. To
do this you can use a logical OR operation to combine the values. For example,
when you combine the values '01'X. and '02'X. using a logical OR operation, the
result is '03'X. Specifying '03'X. for the PRTCTL tag allows you to set both the flag
for allowing a printer response and the flag for not allowing a page length change in
mid-page.
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 251
Table 39. Printer Function Tags with a Variable
Tag Description
CODPAGVAR Set Code Page
FNTTYPE Font Type
PRISPCM Set Primary Spacing Mode
PRISTYLE Set Primary Style
The general syntax for a printer function tag with a variable is:
:xxxxx
VAROFFSET = variable offset in
control sequence
VARLEN = variable length
VARTYPE = HIGHLOW|LOWHIGH|CHRDEC|
CHRHEX|CHRAN
DATA = ASCII control sequence.
VAROFFSET
A required parameter. Defines the offset of the variable in the control sequence.
This value must be an integer.
DATA
A required parameter. Specifies the ASCII control sequence for the printer
function. This must be a hexadecimal value. The maximum length of this value
is 240 bytes.
ASCII control sequence
Hexadecimal values for mapping the ASCII control sequence for the printer
function.
The PRISPCM (primary spacing mode) tag and the PRISTYLE (set primary style)
tag, in combination with the PRICHRH (set primary character height) tag are used
for font selection when an ASCII printer does not support global fonts or provide
font quality and characters per inch (CPI) support.
Primary style is related to the font map identifier. When the value of a font mapping
table entry is greater than 255, the high order byte of the font map identifier is used
to set the print to a particular style within the specified font. For example, when an
ASCII printer is set up to print in a Gothic font, the primary style might be italic or
upright print within the Gothic font.
Syntax for Printer Function Tags with Variable and Relative Movement
The following table lists the tags that you can use to set or change printer
characteristics that involve a variable and some relative movement.
Table 40. Printer Function Tags with Variable and Relative Movement
Tag Description
BCKRMOV Backward Relative Movement
FWDRMOV Forward Relative Movement
PAGLENI Set Page Length in Inches
PRICHRH Set Primary Character Height
VARCPI Variable Characters Per Inch
VARLSPC Variable Line Spacing
The general syntax for a printer function tag with a variable is:
:xxxxxxxxxx
VAROFFSET = variable offset in
control sequence
VARLEN = variable length
VARTYPE = HIGHLOW|LOWHIGH|CHRDEC|
CHRHEX|CHRAN
VARMAX = maximum variable value
ADJUST = adjustment
CNVNUM = conversion ratio numerator
CNVDEN = conversion ratio denominator
DATA = ASCII control sequence.
VAROFFSET
A required parameter. Defines the offset position of the variable in the control
sequence. This value must be an integer.
Note: This offset position is relative to the beginning of the control sequence.
Therefore, a value of zero (0) implies that the variable starts in the first
byte of the control sequence.
VARLEN
A required parameter. Defines the length of the variable. This value must be an
integer.
VARTYPE
A required parameter. Defines the type of variable used with this category of
printer function tags
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 253
CHRDEC The variable is in characters and there is no byte order
consideration. All characters are in the range from 0 to 9.
CHRHEX The variable is in characters and there is no byte order
consideration. All characters are in the range from 0 to 9, A to
F.
CHRAN The variable is in characters and there is no byte order
consideration. All characters are in the range from 0 to 9, A to
Z.
VARMAX
A required parameter. Defines the maximum variable value. This value must be
an integer.
ADJUST
A required parameter. Defines the adjustment value for the variable. This value
must be a signed integer.
CNVNUM
A required parameter. Defines the numerator of the conversion ratio. This value
must be an integer.
CNVDEN
A required parameter. Defines the denominator of the conversion ratio. This
value must be a nonzero integer.
DATA
A required parameter. Specifies the ASCII control sequence for the printer
function. This must be a hexadecimal value. The maximum length of this value
is 240 bytes.
ASCII control sequence
Hexadecimal values for mapping the ASCII control sequence for the printer
function.
For variable line spacing (VARLSPC tag), the conversion ratio specified converts
line spacing parameter values in the application data stream from units of 1/1440
inch to whatever units are used by the ASCII printer. For example, if the line
spacing units used by an ASCII printer in its variable spacing command are in units
of 1/72 inch, then the conversion ratio specified in the command header should be
20.
For setting the page length, the ASCII workstation controller only recognizes the
first occurrence of the PAGLENI tag. If more than one of these tags is specified, the
values in the first occurrence are used and all other occurrences are ignored.
Specifying the ASCIICTL tag allows you to convert a single-byte character code to a
multiple-byte sequence. For example, you could use this code to have the printer
print control characters, such as a face and §, that are not normally in its range of
printable characters. You could also use this tag to allow the printer to change to a
different code page to print a single character and then change back to the original
code page.
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 255
133 13.3 characters per inch
15 15 characters per inch
171 17.1 characters per inch
20 20 characters per inch
27 27 characters per inch
DATA
A required parameter. Specifies the ASCII control sequence for setting the
number of characters per inch. This must be a hexadecimal value. The
maximum length of this value is 240 bytes.
ASCII control sequence
Hexadecimal value for mapping an ASCII control sequence to define the
number of characters that are to be printed per inch of paper
DRAWER
A required parameter. Defines the drawer from which paper is to be selected.
DATA
A required parameter. Specifies the ASCII control sequence for the drawer
selection function. This must be a hexadecimal value. The maximum length of
this value is 240 bytes.
ASCII control sequence
Hexadecimal value for mapping an ASCII control sequence to define the
drawer selection for the ASCII printer.
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 257
End Font ID Mapping (EFNTMAP) Tag
The EFNTMAP (end font ID mapping) tag ends the ASCII printer function table font
ID mappings. The syntax for this tag is:
:EFNTMAP.
Note: You cannot specify both 15 and 17.1 for the same ASCII printer.
QLTYTYPE
A required parameter, and Defines the quality of the printing for the ASCII
printer.
ORIENT
A required parameter. Defines the type of paper orientation.
DATA
A required parameter. Specifies the size of the margin and denotes the number
of 1/1440-inch increments. This value must be an integer.
data
Integer value for the margin size
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 259
VAROFFSET
A required parameter. Defines the offset of the variable in the control sequence.
This value must be an integer.
VARMAX
A required parameter. Defines the maximum variable value. This value must be
an integer.
ADJUST
A required parameter. Defines the adjustment value to the variable. This value
must be a signed integer.
DATA
A required parameter. Specifies the ASCII control sequence for the printer
function. This must be a hexadecimal value. The maximum length of this value
is 240 bytes.
ASCII control sequence
Hexadecimal values for mapping the ASCII control sequence for the printer
function.
DATA
A required parameter. Specifies the ASCII control sequence for the function.
This must be a hexadecimal value. The maximum length of this value is 240
bytes.
ASCII control sequence
Hexadecimal value for mapping an ASCII control sequence to define the
way paper is fed to the printer.
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 261
PORTRAIT The paper is vertically aligned in the printer
LANDSCAPE The paper is horizontally aligned in the printer
RTT180 The paper is rotated 180 degrees
RTT270 The paper is rotated 270 degrees
DATA
A required parameter. Specifies the ASCII control sequence for setting the
paper orientation for the printer. This must be a hexadecimal value. The
maximum length of this value is 240 bytes.
ASCII control sequence
Hexadecimal value for mapping an ASCII control sequence to define the
orientation for the paper to be used with printer.
DATA
A required parameter. Specifies the ASCII control sequence for the function.
This must be a hexadecimal value. The maximum length of this value is 240
bytes.
ASCII control sequence
Hexadecimal value for mapping an ASCII control sequence to define the
print quality for the ASCII printer.
3812 N
Emulation
?
RVSIDX N :STRSUPS N
Defined :STRSUBS
? Defined
?
Y Y
Function
not
Move 1/2 line Use Defined
and print :STRSUPS, :ENDSUPS
characters :STRSUBS, :ENDSUBS
RV2H482-0
Figure 50. Decision Structure for Selecting the Subscript and Superscript Tags
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 263
:PAGLENL N
Defined
?
:PAGLENI N
Defined
?
Number N Y
of lines
> 25 5 Function
? not
Defined
Y
Use :PAGLENL Use :PAGLENI
:PAGELENI N
Defined Use :PAGLENL
?
Use :PAGLENI
RV2H481-1
Figure 51. Decision Structure for Selecting the Correct Page Length Tags
Figure 52 on page 265 shows a flow chart that provides a hierarchy for choosing the
correct font selection tags for your ASCII printer. This chart is most helpful when
you are not sure how fonts are selected for an unsupported printer. A list following
the flow chart briefly describes the tag hierarchy for font selection.
Y CPI = Y N N
:FONTQLTY :PRISPCM
10, 12, 15, 17.1 Defined
or PSM Defined
? ?
N Y
Use FONQLTY
Use PRISPCM
Y :VARCPI
Defined
?
N
:PRICHRH N
Use VARCPI Defined
?
Y
:CPI Y
Defined
?
Use PRICHRH
N
Use CPI
N
Function :FNTMAPE
not Defined
Defined ?
Y
Use FNTMAPR
N
:PRISTYLE
Defined
?
Use PRISTYLE
N
:FNTTYPE
Defined
?
Y
Use FNTTYPE
N CPI =
10, 12, 15, 17.1
or PSM
Y
RV2H480-0
Figure 52. Decision Structure for Selecting the Correct Font Selection Tags
v If your printer supports using the Set Global Font for PFT tag, FNTGPFT, then
you need specify no other tags for font selection.
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 265
v If you use the PRISTYLE (primary style), PRICHRH (primary character height),
PRISPCM (primary spacing mode), and FNTTYPE (font type) tags, you should
not use any of the other tags for font selection except for the CPI (characters per
inch) tag.
v If your printer supports variable spacing, you should use the FONTQLTY (font
quality) tag and the VARCPI (variable characters per inch) tag.
Note: If variable characters per inch is not supported, you can use the CPI tag
to set the characters per inch that are supported along with the
FONTQLTY tag.
v If it is not apparent which method of font selection your printer uses, you should
begin by setting the appropriate CPI tags and then try the other combinations of
tags with the CPI settings.
To begin the workstation customizing process you need to read the reference
manual for the printer. You then set up the printer using the setup instructions and
hints provided in the manual. You should look at the following setup items:
v Character set: PC 850 (Hewlett-Packard calls this a symbol set)
v Physical connection: Serial (parallel or serial)
v DIP switch settings
v Printer panel settings
After the printer is physically connected to the AS/400 system, and the appropriate
controller and device descriptions are created, you should go back and set the
controller description parameters shown below to the values indicated. These are
the recommended settings for this type of printer.
v ROBUST XON(ON)
v DTR POLARITY(HI)
The printer should be powered on and varied on.
Use the following parameter values to create the device description for the
Hewlett-Packard LaserJet Series III ASCII printer:
When you try to print the test document, special characters are at the top of the
page on the initial printout. Some characters do not show at all, or are not the
characters you expected to see. Some printer functions do not work, including the
following:
v Printer initialization sequences
v Bold printing
v Underlined printing
v Margins
v Landscape printing
v Font selection
In addition, the data stream from your application contains commands that tell the
printer to use a different code page. Using this guide, you determine you must
change all of the mapping tables to customize this printer.
Some characters are not shown or are not the characters you expected to see.
Therefore, you need to change the default EBCDIC-to-ASCII mapping table. Use
the reference manual for the printer to find the hexadecimal values you should
specify for the default EBCDIC-to-ASCII mapping table. Your customized default
EBCDIC-to-ASCII mapping table looks like this:
:PDFTEBCTBL
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A4BD2E3C282B7C'X /* 4- */
'26828889BAA18C8B8DE121242A293BAA'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'5E9CBEFA9FF5F4ACABF35B5DEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:EPDFTMAPTBL.
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 267
You also want to add and change printer functions. Therefore, you need to change
the ASCII printer function table. Use the reference manual for the printer to find the
hexadecimal values you should specify for the ASCII printer function table. You
need to find the hexadecimal values you should specify for the following printer
functions and characteristics:
v Printer initialization. Use these values to change the INITPRT and INITVON tags
in the customizing source as follows:
:INITVON
DATA ='1B451B283132551B266C3831411B
266C32411B266C303045'X.
:INITPRT
DATA ='1B451B283132551B266C303045'X.
v Bold highlighting. Use these values to change the STRBOLD and ENDBOLD
tags in the customizing source as follows:
:STRBOLD
DATA ='1B28733342'X.
:ENDBOLD
DATA ='1B28733042'X.
v Underlining. Use these values to change the STRUS and ENDUS tags in the
customizing source as follows:
:STRUS
DATA ='1B26643044'X.
:ENDUS
DATA ='1B266440'X.
v Margin setting. Use these values to change the MARGIN tags in the customizing
source as follows:
:MARGIN
OPTION=TOP
ORIENT=PORTRAIT
DATA = 720.
:MARGIN
OPTION=LEFT
ORIENT=PORTRAIT
DATA = 240.
:MARGIN
OPTION=RIGHT
ORIENT=PORTRAIT
DATA = 240.
:MARGIN
OPTION=BOTTOM
ORIENT=PORTRAIT
DATA = 240.
:MARGIN
OPTION=TOP
ORIENT=LANDSCAPE
DATA = 720.
:MARGIN
OPTION=LEFT
ORIENT=LANDSCAPE
DATA = 240.
:MARGIN
OPTION=RIGHT
ORIENT=LANDSCAPE
DATA = 240.
:MARGIN
OPTION=BOTTOM
ORIENT=LANDSCAPE
DATA = 240.
v Portrait and landscape printing orientation. Use these values to change the
PRTORIENT tags in the customizing source as follows:
You want to set page length in lines, even if the number of lines is greater than
255 per page. Therefore, delete the PAGLENI tag from the customizing source.
v ASCII control code mapping. To remove the existing ASCII control code mapping,
delete the ASCIICTL tags.
v Font selection. Use these values to add tags to select the correct fonts, as
illustrated on Figure 52 on page 265. To select the correct fonts, you must do the
following:
– Delete the FNTGPFT and FONTQLTY tags from the customizing source.
– Add PRISPCM, PRICHRH, FNTMAP, FNTMAPE, EFNTMAP, PRISTYLE,
FNTTYPE, and VARCPI tags to the customizing source.
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 269
VARMAX=255
ADJUST= 0
CNVNUM= 1440
CNVDEN= 1440
DATA ='1B2873303548'X.
:FNTMAP
CPI=5
DEFAULT= 11.
:FNTMAPE
IBMFNT= 240
ASCIIFNT= 11.
:EFNTMAP.
:FNTMAP
CPI=855
DEFAULT= 11.
:FNTMAPE
IBMFNT= 260
ASCIIFNT= 11.
:EFNTMAP.
:FNTMAP
CPI=10
DEFAULT= 3.
:FNTMAPE
IBMFNT= 3
ASCIIFNT= 110.
:FNTMAPE
IBMFNT= 5
ASCIIFNT= 10.
:FNTMAPE
IBMFNT= 11
ASCIIFNT= 3.
:FNTMAPE
IBMFNT= 12
ASCIIFNT= 8.
:FNTMAPE
IBMFNT= 18
ASCIIFNT= 259.
:FNTMAPE
IBMFNT= 19
ASCIIFNT= 104.
:FNTMAPE
IBMFNT= 30
ASCIIFNT= 8.
:FNTMAPE
IBMFNT= 38
ASCIIFNT= 10.
:FNTMAPE
IBMFNT= 39
ASCIIFNT= 6.
:FNTMAPE
IBMFNT= 40
ASCIIFNT= 6.
:FNTMAPE
IBMFNT= 41
ASCIIFNT= 5.
:FNTMAPE
IBMFNT= 46
ASCIIFNT= 3.
:FNTMAPE
IBMFNT= 60
ASCIIFNT= 8.
:EFNTMAP.
:FNTMAP
CPI=PROP
DEFAULT= 23.
:FNTMAPE
IBMFNT= 160
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 271
ASCIIFNT= 8.
:FNTMAPE
IBMFNT= 112
ASCIIFNT= 264.
:EFNTMAP.
:FNTMAP
CPI= 133
DEFAULT= 6.
:FNTMAPE
IBMFNT= 204
ASCIIFNT= 6.
:EFNTMAP.
:FNTMAP
CPI= 15
DEFAULT= 6.
:FNTMAPE
IBMFNT= 230
ASCIIFNT= 6.
:FNTMAPE
IBMFNT= 231
ASCIIFNT= 6.
:EFNTMAP.
:FNTMAP
CPI= 171
DEFAULT= 3.
:FNTMAPE
IBMFNT= 253
ASCIIFNT= 3.
:FNTMAPE
IBMFNT= 254
ASCIIFNT= 3.
:FNTMAPE
IBMFNT= 252
ASCIIFNT= 3.
:FNTMAPE
IBMFNT= 255
ASCIIFNT= 3.
:EFNTMAP.
:FNTMAP
CPI= 20
DEFAULT= 6.
:FNTMAPE
IBMFNT= 281
ASCIIFNT= 6.
:EFNTMAP.
v Superscript printing. Use these values to change the STRSUPS and ENDSUPS
tags in the customizing source as follows:
:STRSUPS
DATA ='1B26612D2E3552'X.
:ENDSUPS
DATA ='1B3D'X.
v Subscript printing. Use these values to change the STRSUBS and ENDSUBS
tags in the customizing source as follows:
:STRSUBS
DATA ='1B3D'X.
:ENDSUBS
DATA ='1B26612D2E3552'X.
v Forward and backward relative movement. Use these values to change the
FWDRMOV and BCKRMOV tags in the customizing source as follows:
:FWDRMOV
VAROFFSET= 4
VARLEN= 5
VARTYPE=CHRDEC
VARMAX=32767
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 273
:PRTFEED
FEEDTYPE=MANUAL
DATA ='1B266C3248'X.
v Control sequence for paper drawer selection. Use these values to change the
DWRSLT tags in the customizing source as follows:
:DWRSLT
DRAWER=DRAWER1
DATA ='1B266C3148'X.
:DWRSLT
DRAWER=DRAWER2
DATA ='1B266C3448'X.
:DWRSLT
DRAWER=ENVELOPE
DATA ='1B266C3648'X.
v Reverse index. Use this value to change the RVSIDX tag in the customizing
source. as follows:
:RVSIDX
DATA ='1B26612D3152'X.
v Printer control flags. The printer control flag values come from this guide, instead
of the printer reference manual. Use the values indicated in this guide to change
the PRTCTL tag in the customizing source. You set printer control flags to '82'X
to indicate:
– Page length changes in the middle of the page are not allowed.
– Font widths are indicated in 1/1440-inch units.
v Page size for different types of paper. Use these values to change the
PAGSIZPFT tags in the customizing source. For legal size (8.5-inch by 14-inch)
paper, manually fed, specify:
:PAGSIZPFT
PAGWTH=12240
PAGLEN=20160
PAPER=MANUAL.
The data stream from your application contains commands that tell the printer to
use a different code page. Therefore, you need to change the printer multi language
EBCDIC-to-ASCII mapping table. Use the reference manual for the printer to find
the hexadecimal values you should indicate for the printer multi language
EBCDIC-to-ASCII mapping table.
If your applications use only U.S. English and U.S. international code pages (code
page 037 and code page 038), the changed portion of the printer multi language
EBCDIC-to-ASCII mapping table looks like this:
/* Following is the code page mapping for */
/* EBCDIC code page 037 (USB) to ASCII */
/* code page 3157 (PC 850) */
:PMLGEBCTBL
EBCDICCP= 37
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A4BD2E3C282B7C'X /* 4- */
'26828889BAA18C8B8DE121242A293BAA'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'5E9CBEFA9FF5F4ACABF35B5DEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 275
/* EBCDIC code page 038 (USI) to ASCII */
/* code page 3157 (PC 850). */
:PMLGEBCTBL
EBCDICCP= 38
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'7B4142434445464748492D939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152FB968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A785252F052D352'X /* 4- */
'BB6A6A6A6A4343434378527878525278'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
If your applications use additional code pages, you must change the printer
multi-language EBCDIC-to-ASCII mapping tables for each additional code page
used.
The copy of the source you retrieve contains all the mapping tables for the printer.
These mapping tables are downloaded to the workstation controller when the printer
is varied on. When you edit the file, functions and characteristics associated with
tags you delete are no longer mapped and do not work anymore.
Make a few changes at a time to the workstation customizing source. Then compile
the source. Vary off the printer and then vary it on. Print the test document each
time you vary on the printer to see if your changes are effective.
Note: When you vary the device on and off many times, the workstation controller
storage can fill up. When this occurs, the device no longer varies on and an
error message is sent to the QSYSOPR message queue. To correct this
situation, it is necessary to vary off the workstation controller, and then vary
it on again specifying RESET(*YES). This clears the storage in the
workstation controller and allows the mapping tables in the new workstation
customizing object to be loaded.
The following listing shows the customized source, after you have made all
changes. For an example of the original retrieved source, see Appendix B. Source
Code Examples.
:WSCST DEVCLASS=ASCIIPRT.
:PDFTMAPTBL.
:PDFTEBCTBL
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A4BD2E3C282B7C'X /* 4- */
'26828889BAA18C8B8DE121242A293BAA'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'5E9CBEFA9FF5F4ACABF35B5DEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:EPDFTMAPTBL.
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 277
:PFCNTBL.
:DFTFNTID
CPI=855
DEFAULT= 265.
:DFTFNTID
CPI=10
DEFAULT= 11.
:DFTFNTID
CPI=12
DEFAULT= 85.
:DFTFNTID
CPI=15
DEFAULT= 230.
:DFTFNTID
CPI=171
DEFAULT= 253.
:DFTFNTID
CPI=PROP
DEFAULT= 159.
:DFTFNTID
CPI=5
DEFAULT= 244.
:DFTFNTID
CPI=133
DEFAULT= 204.
:DFTFNTID
CPI=20
DEFAULT= 281.
:VARLSPC
VAROFFSET= 3
VARLEN= 2
VARTYPE=CHRDEC
VARMAX= 255
ADJUST= 0
CNVNUM= 30
CNVDEN= 1
DATA ='1B266C30302E303043'X.
:PAGLENL
VAROFFSET= 3
VARLEN= 3
VARTYPE=CHRDEC
VARMAX= 255
ADJUST= 0
DATA ='1B266C30303050'X.
:CODPAGVAR
VAROFFSET= 2
VARLEN= 3
VARTYPE=CHRAN
DATA ='1B28313255'X.
:FWDRMOV
VAROFFSET= 4
VARLEN= 5
VARTYPE=CHRDEC
VARMAX=32767
ADJUST= 0
CNVNUM= 2
CNVDEN= 1
DATA ='1B26612B303030303048'X.
:BCKRMOV
VAROFFSET= 4
VARLEN= 5
:FNTTYPE
VAROFFSET= 3
VARLEN= 3
VARTYPE=CHRDEC
DATA ='1B287330303054'X.
:PRISTYLE
VAROFFSET= 3
VARLEN= 1
VARTYPE=CHRDEC
DATA ='1B28733053'X.
:PRISPCM
VAROFFSET= 3
VARLEN= 1
VARTYPE=CHRDEC
DATA ='1B28733050'X.
:PRICHRH
VAROFFSET= 3
VARLEN= 2
VARTYPE=CHRDEC
VARMAX=65535
ADJUST= 0
CNVNUM= 20
CNVDEN= 1
DATA ='1B2873303056'X.
:VARCPI
VAROFFSET= 3
VARLEN= 2
VARTYPE=CHRDEC
VARMAX=255
ADJUST= 0
CNVNUM= 1440
CNVDEN= 1440
DATA ='1B2873303548'X.
:CPI
CPI=855
DATA ='1B2873303848'X.
:CPI
CPI=10
DATA ='1B2873313048'X.
:STRPROP
DATA ='1B2873303150'X.
:CPI
CPI=12
DATA ='1B2873313248'X.
:CPI
CPI=15
DATA ='1B2873313548'X.
:CPI
CPI=171
DATA ='1B266B325300'X.
:STRBOLD
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 279
DATA ='1B28733342'X.
:ENDBOLD
DATA ='1B28733042'X.
:PRTQLTY
QLTYTYPE=LETTER
DATA ='1B28733053'X.
:PRTQLTY
QLTYTYPE=DRAFT
DATA ='1B28733053'X.
:PRTQLTY
QLTYTYPE=TEXT
DATA ='1B28733153'X.
:PRTFEED
FEEDTYPE=MANUAL
DATA ='1B266C3248'X.
:DWRSLT
DRAWER=DRAWER1
DATA ='1B266C3148'X.
:DWRSLT
DRAWER=DRAWER2
DATA ='1B266C3448'X.
:DWRSLT
DRAWER=ENVELOPE
DATA ='1B266C3648'X.
:PRTORIENT
ORIENT=PORTRAIT
DATA ='1B266C304F'X.
:PRTORIENT
ORIENT=LANDSCAPE
DATA ='1B266C314F'X.
:PRTORIENT
ORIENT=RTT180
DATA ='1B266C324F'X.
:PRTORIENT
ORIENT=RTT270
DATA ='1B266C334F'X.
:STRUS
DATA ='1B26643044'X.
:ENDUS
DATA ='1B266440'X.
:STRSUPS
DATA ='1B26612D2E3552'X.
:ENDSUPS
DATA ='1B3D'X.
:STRSUBS
DATA ='1B3D'X.
:ENDSUBS
DATA ='1B26612D2E3552'X.
:RVSIDX
DATA ='1B26612D3152'X.
:INITVON
DATA ='1B451B283132551B266C3831411B266C32411B266C303045'X.
:INITPRT
DATA ='1B451B283132551B266C303045'X.
:SPACE
DATA ='20'X.
:BELL
DATA ='07'X.
:CARRTN
DATA ='0D'X.
:LINEFEED
:FNTMAP
CPI=5
DEFAULT= 11.
:FNTMAPE
IBMFNT= 240
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 281
ASCIIFNT= 11.
:EFNTMAP.
:FNTMAP
CPI=855
DEFAULT= 11.
:FNTMAPE
IBMFNT= 260
ASCIIFNT= 11.
:EFNTMAP.
:FNTMAP
CPI=10
DEFAULT= 3.
:FNTMAPE
IBMFNT= 3
ASCIIFNT= 110.
:FNTMAPE
IBMFNT= 5
ASCIIFNT= 10.
:FNTMAPE
IBMFNT= 11
ASCIIFNT= 3.
:FNTMAPE
IBMFNT= 12
ASCIIFNT= 8.
:FNTMAPE
IBMFNT= 18
ASCIIFNT= 259.
:FNTMAPE
IBMFNT= 19
ASCIIFNT= 104.
:FNTMAPE
IBMFNT= 30
ASCIIFNT= 8.
:FNTMAPE
IBMFNT= 38
ASCIIFNT= 10.
:FNTMAPE
IBMFNT= 39
ASCIIFNT= 6.
:FNTMAPE
IBMFNT= 40
ASCIIFNT= 6.
:FNTMAPE
IBMFNT= 41
ASCIIFNT= 5.
:FNTMAPE
IBMFNT= 46
ASCIIFNT= 3.
:FNTMAPE
IBMFNT= 60
ASCIIFNT= 8.
:EFNTMAP.
:FNTMAP
CPI=PROP
DEFAULT= 23.
:FNTMAPE
IBMFNT= 160
ASCIIFNT= 23.
:FNTMAPE
IBMFNT= 155
ASCIIFNT= 308.
:FNTMAPE
IBMFNT= 157
ASCIIFNT= 52.
:FNTMAPE
IBMFNT= 158
ASCIIFNT= 4.
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 283
ASCIIFNT= 6.
:EFNTMAP.
:FNTMAP
CPI= 15
DEFAULT= 6.
:FNTMAPE
IBMFNT= 230
ASCIIFNT= 6.
:FNTMAPE
IBMFNT= 231
ASCIIFNT= 6.
:EFNTMAP.
:FNTMAP
CPI= 171
DEFAULT= 3.
:FNTMAPE
IBMFNT= 253
ASCIIFNT= 3.
:FNTMAPE
IBMFNT= 254
ASCIIFNT= 3.
:FNTMAPE
IBMFNT= 252
ASCIIFNT= 3.
:FNTMAPE
IBMFNT= 255
ASCIIFNT= 3.
:EFNTMAP.
:FNTMAP
CPI= 20
DEFAULT= 6.
:FNTMAPE
IBMFNT= 281
ASCIIFNT= 6.
:EFNTMAP.
:PMLGMAPTBL.
:PMLGEBCTBL
EBCDICCP= 29
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A4E82E3C282B21'X /* 4- */
'268288898AA18C8B8DE192242A293B99'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DED03A23D1273D22'X /* 7- */
'9D616263646566676869AEAF60EC7BF1'X /* 8- */
'F86A6B6C6D6E6F707172A6A77DF75DCF'X /* 9- */
'E694737475767778797AADA840ED5BA9'X /* A- */
'BD9CBEFAB8F5F4ACABF3AA7CEEF95C9E'X /* B- */
'E7414243444546474849F0937E95A2E4'X /* C- */
'914A4B4C4D4E4F505152FB968197A398'X /* D- */
'EFF6535455565758595AFDE25EE3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
:PMLGEBCTBL
EBCDICCP= 30
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A000917BA4802E3C282B21'X /* 4- */
'268288898AA18C8B8DE1A6982A293B5E'X /* 5- */
'2D2FB686B7B500925BA5AD2C255F3E3F'X /* 6- */
'0090D2D3D4D6D7D8DED53A99B8273D9A'X /* 7- */
'F4616263646566676869E886C7ED007C'X /* 8- */
'F86A6B6C6D6E6F707172A99B9FF700CF'X /* 9- */
'E694737475767778797AE78FC6EC0040'X /* A- */
'FA9CBE7DBDF55D00AB24A89DACF9EF9E'X /* B- */
'87414243444546474849F0937E95A2E5'X /* C- */
'A74A4B4C4D4E4F50515260965C81A300'X /* D- */
'81F6535455565758595AFDE223E3E0E4'X /* E- */
'30313233343536373839FCEA22EBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 37
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A4BD2E3C282B7C'X /* 4- */
'26828889BAA18C8B8DE121242A293BAA'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'5E9CBEFA9FF5F4ACABF35B5DEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 285
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 38
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 45
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838461A0C79F87865B2E3C282B21'X /* 4- */
'2682A98985A18C9692E15D242A293B5E'X /* 5- */
'2D2FB68E41B5C6AC808FD82C255F3E3F'X /* 6- */
'F390A8D3DED6D79591603A2340273D22'X /* 7- */
'F461626364656667686998E5D0ECFDAD'X /* 8- */
'F86A6B6C6D6E6F70717288E4E7F7F2CF'X /* 9- */
'A5F1737475767778797AB8D5D1EDFCB8'X /* A- */
'FA4CBEDDBDF5A7ABA68D9DE3E6F9EFEE'X /* B- */
'D4414243444546474849F09394EAA28B'X /* C- */
'D24A4B4C4D4E4F505152B7FB819CA379'X /* D- */
'A420535455565758595A32E299E8E08A'X /* E- */
'3031323334353637383933EB9A9BE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
:PMLGEBCTBL
EBCDICCP= 256
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBE169FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 257
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'202080828486888A8C8E5B2E3C282B21'X /* 4- */
'2690929496989A9EEF815D242A293B5E'X /* 5- */
'2D2F838587898B8D8F917C2C255F3E3F'X /* 6- */
'9395972D999B9CA0A2603A2340273D22'X /* 7- */
'9A616263646566676869A6A8AAACB5B7'X /* 8- */
'BD6A6B6C6D6E6F707172C6D0D2D4D6D8'X /* 9- */
'DE7E737475767778797AE1E3E5E7E9EB'X /* A- */
'EDF1F3F5F7F9FB9E9DA1A3A5A7A9ABAD'X /* B- */
'7B414243444546474849B6B8BEC7D1D3'X /* C- */
'7D4A4B4C4D4E4F505152D5D7DDE0E2E4'X /* D- */
'5CCF535455565758595AE6E8EAECEEF2'X /* E- */
'30313233343536373839F4F6F8FAFC00'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 287
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 258
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'20208384EEA0C79F87865B2E3C282B21'X /* 4- */
'2682A98985A18C9692E15D242A293B5E'X /* 5- */
'2D2FB68EF1B5C6AC808F7C2C255F3E3F'X /* 6- */
'F390A8D3DED6D79591603A2340273D22'X /* 7- */
'F461626364656667686998E5D0ECFDAD'X /* 8- */
'F86A6B6C6D6E6F70717288E4E7F7F2CF'X /* 9- */
'A57E737475767778797AB8D5D1EDFCB8'X /* A- */
'FAA4BEDDBDF5A7ABA68D9DE3E6F9EF9E'X /* B- */
'7B414243444546474849F09394EAA28B'X /* C- */
'7D4A4B4C4D4E4F505152B7FB819CA3DB'X /* D- */
'5CF6535455565758595AD4E299E8E08A'X /* E- */
'30313233343536373839D2EB9A9BE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 259
ASCIICP= 2125
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'20203D2D2B247044A22F00CE3C280021'X /* 4- */
'5CB0FCF90000400000CF00CB5D290000'X /* 5- */
'2D5EC6C5E9D7FCF9FD002700005F3ED5'X /* 6- */
'B6B5BABBC00000C2000025FE23272200'X /* 7- */
'B06162777A65706B6769E0D2E1F5E2E4'X /* 8- */
'00796A786C6D6F716368B32BB400F2F4'X /* 9- */
'EF0072736E2A64767466F0D1F1EC0000'X /* A- */
'00000000000000000000B400CC000000'X /* B- */
'E359245755A4504B00A1EC000000F600'X /* C- */
'F30000585A00A3004348000000B0E8EA'X /* D- */
'FB2052A24E26447D547C3FC80000E5E7'X /* E- */
'30313233343536373839D80000000000'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
:PMLGEBCTBL
EBCDICCP= 260
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 273
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020837B85A0C68687A48E2E3C282B21'X /* 4- */
'26828889BAA18C8B8D7E9A242A293B5E'X /* 5- */
'2D2FB65BB7B5C78F80A5942C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A23F5273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E6E1737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9F40F4ACABF3AA7CEEF9EFF2'X /* B- */
'84414243444546474849F093D095A2E4'X /* C- */
'814A4B4C4D4E4F505152D5967D97A398'X /* D- */
'9920535455565758595AFDE25CE3E0E5'X /* E- */
'30313233343536373839FCEA5DEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 289
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 274
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838440A0C6865CA45B2E3C282B21'X /* 4- */
'267B88897DA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5972C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2385273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E6F9737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEE7EEFF2'X /* B- */
'82414243444546474849F0939495A2E4'X /* C- */
'8A4A4B4C4D4E4F505152D5968197A398'X /* D- */
'8720535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 275
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A06086D0A4902E3C282B21'X /* 4- */
'267B8889BAA18C8B8DE124802A293B5E'X /* 5- */
'2D2FB68EB7B5408F5DA5872C255F3E3F'X /* 6- */
'9B5BD2D3D4D6D7D8DEC63AE5C7273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'E4414243444546474849F0939495A27B'X /* C- */
'824A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E023'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
:PMLGEBCTBL
EBCDICCP= 276
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'202083845BA0C68687A4852E3C282B21'X /* 4- */
'267B88897DA18C8B8DE1EF242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5972C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A7915C92CF'X /* 9- */
'E6F9737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEE7E5DF2'X /* B- */
'82414243444546474849F0939495A2E4'X /* C- */
'8A4A4B4C4D4E4F505152D5968197A398'X /* D- */
'F720535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 277
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C67B87A4232E3C282B21'X /* 4- */
'26828889BAA18C8B8DE1CF8F2A293B5E'X /* 5- */
'2D2FB68EB7B5C72480A59B2C255F3E3F'X /* 6- */
'D090D2D3D4D6D7D8DE603A929D273D22'X /* 7- */
'40616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A77BF75B5D'X /* 9- */
'E681737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'91414243444546474849F0939495A2E4'X /* C- */
'864A4B4C4D4E4F505152D5967E97A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 291
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 278
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020837B85A0C67D87A4F52E3C282B21'X /* 4- */
'26608889BAA18C8B8DE1CF8F2A293B5E'X /* 5- */
'2D2FB623B7B5C72480A5942C255F3E3F'X /* 6- */
'9B5CD2D3D4D6D7D8DE823A8E99273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F7925D'X /* 9- */
'E681737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9F5BF4ACABF3AA7CEEF9EFF2'X /* B- */
'84414243444546474849F093D095A2E4'X /* C- */
'864A4B4C4D4E4F505152D5967E97A398'X /* D- */
'9020535455565758595AFDE240E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 279
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838440A0C6865CA4F82E3C282B21'X /* 4- */
'267B88897DA18C8B8DE1F5242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5972C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DEE63A9C85273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'5B6A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'60F9737475767778797AADA8D1EDE8A9'X /* A- */
'BD23BEFA9F5DF4ACABF3AA7CEE7EEFF2'X /* B- */
'82414243444546474849F0939495A2E4'X /* C- */
'8A4A4B4C4D4E4F505152D59681D0A398'X /* D- */
'8720535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
:PMLGEBCTBL
EBCDICCP= 280
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'202083847BA0C6865CA4F82E3C282B21'X /* 4- */
'265D88897DA18C8B7EE182242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5952C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE973A9CF5273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'5B6A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E68D737475767778797AADA8D1EDE8A9'X /* A- */
'BD23BEFA9F40F4ACABF3AA7CEEF9EFF2'X /* B- */
'85414243444546474849F09394D0A2E4'X /* C- */
'8A4A4B4C4D4E4F505152D5968160A398'X /* D- */
'8720535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 281
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A49C2E3C282B7C'X /* 4- */
'26828889BAA18C8B8DE121BE2A293BAA'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E6EE737475767778797AADA8D1EDE8A9'X /* A- */
'BD5B5CFA9FF5F4ACABF35E5D7EF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'2420535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 293
:PMLGEBCTBL
EBCDICCP= 282
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A07B867EA45B2E3C282B21'X /* 4- */
'26828889BAA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5238F5CA5E42C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603AC7E5273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E687737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'C6414243444546474849F0939495A2D0'X /* C- */
'EF4A4B4C4D4E4F505152D5968197A398'X /* D- */
'8020535455565758595AFDE299E3E040'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 283
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687D05B2E3C282B7C'X /* 4- */
'26828889BAA18C8B8DE15D502A293BAA'X /* 5- */
'2D2FB68EB7B5C78F8023A42C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603AA540273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E6F9737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF35E21EE7EEFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 285
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A4242E3C282B7C'X /* 4- */
'26828889BAA18C8B8DE1219C2A293BAA'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E6EE737475767778797AADA8D1EDE8A9'X /* A- */
'BD5BBEFA9FF5F4ACABF35E5D7EF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 295
EBCDICCP= 290
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'20A1A2A3A4A5A6A7A8A9E12E3C282B7C'X /* 4- */
'26AAABACADAEAF00B000215C2A293BE3'X /* 5- */
'2D2F0000000000000000002C255F3E3F'X /* 6- */
'000000000000000000003A2340273D22'X /* 7- */
'00B1B2B3B4B5B6B7B8B9BA00BBBCBDBE'X /* 8- */
'BFC0C1C2C3C4C5C6C7C8C90000CACBCC'X /* 9- */
'007ECDCECFD0D1D2D3D4D500D6D7D8D9'X /* A- */
'00000000000000000000DADBDCDDDEDF'X /* B- */
'7B414243444546474849000000000000'X /* C- */
'004A4B4C4D4E4F505152000000000000'X /* D- */
'2420535455565758595A000000000000'X /* E- */
'30313233343536373839000000000000'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 293
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 297
:PMLGEBCTBL
EBCDICCP= 310
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 330
ASCIICP= 3157
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 297
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838461A0C79F87865B2E3C282B21'X /* 4- */
'2682A98985A18C9692E15D242A293B5E'X /* 5- */
'2D2FB68E41B5C6AC808FD82C255F3E3F'X /* 6- */
'F390A8D3DED6D79591603A2340273D22'X /* 7- */
'F461626364656667686998E5D0ECFDAD'X /* 8- */
'F86A6B6C6D6E6F70717288E4E7F7F2CF'X /* 9- */
'A5F1737475767778797AB8D5D1EDFCB8'X /* A- */
'FA4CBEDDBDF5A7ABA68D9DE3E6F9EFEE'X /* B- */
'D4414243444546474849F09394EAA28B'X /* C- */
'D24A4B4C4D4E4F505152B7FB819CA379'X /* D- */
'A420535455565758595A32E299E8E08A'X /* E- */
'3031323334353637383933EB9A9BE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 340
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7C4DE603A2340273D22'X /* 7- */
'A7616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9C9DFAB8F5F4ACABF3AA7CEEF9EFDB'X /* B- */
'7B4142434445464748492D609495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152FB7E8197A35E'X /* D- */
'5CF6535455565758595AFD5F99E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 420
ASCIICP= 3157
DATA =
:PMLGEBCTBL
EBCDICCP= 423
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'20A4A5A6A7A8A9AAACAD5B2E3C282B21'X /* 4- */
'26B5B6B7B8BDBEC6C7CF5D242A293B5E'X /* 5- */
'2D2FD0D1D2D3D4D500007C2C255F3E3F'X /* 6- */
'00868D8F0090929598603A9CF5273D22'X /* 7- */
'8E616263646566676869D6D7D8DDDEE0'X /* 8- */
'996A6B6C6D6E6F707172E1E2E3E4E5E6'X /* 9- */
'9AF9737475767778797AE7E8E9EAEBEC'X /* A- */
'009B9D9EA09FA2A3FBFDEDEEF2F3F4F6'X /* B- */
'F7414243444546474849F0FA83858488'X /* C- */
'EF4A4B4C4D4E4F505152F1828A898C8B'X /* D- */
'F820535455565758595AAB9493969781'X /* E- */
'30313233343536373839798780000000'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 424
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 299
'208081828384858687889B2E3C282B7C'X /* 4- */
'26898A8B8C8D8E8F909121242A293BAA'X /* 5- */
'2D2F92939495969798997C2C255F3E3F'X /* 6- */
'009A0000200000005F603A2340273D22'X /* 7- */
'00616263646566676869AEAF000000F1'X /* 8- */
'F86A6B6C6D6E6F707172000000000000'X /* 9- */
'E67E737475767778797A000000000052'X /* A- */
'5E9C9DF900F5F4ACAB005B5D2D000078'X /* B- */
'7B4142434445464748492D0000000000'X /* C- */
'7D4A4B4C4D4E4F505152000000000000'X /* D- */
'5CF6535455565758595AFD0000000000'X /* E- */
'30313233343536373839000000000000'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 500
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 870
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'20208384EEA0C79F87865B2E3C282B21'X /* 4- */
:PMLGEBCTBL
EBCDICCP= 871
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A4E82E3C282B21'X /* 4- */
'268288898AA18C8B8DE192242A293B99'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DED03A23D1273D22'X /* 7- */
'9D616263646566676869AEAF60EC7BF1'X /* 8- */
'F86A6B6C6D6E6F707172A6A77DF75DCF'X /* 9- */
'E694737475767778797AADA840ED5BA9'X /* A- */
'BD9CBEFAB8F5F4ACABF3AA7CEEF95C9E'X /* B- */
'E7414243444546474849F0937E95A2E4'X /* C- */
'914A4B4C4D4E4F505152FB968197A398'X /* D- */
'EFF6535455565758595AFDE25EE3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 880
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'202080828486888A8C8E5B2E3C282B21'X /* 4- */
'2690929496989A9EEF815D242A293B5E'X /* 5- */
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 301
'2D2F838587898B8D8F917C2C255F3E3F'X /* 6- */
'9395972D999B9CA0A2603A2340273D22'X /* 7- */
'9A616263646566676869A6A8AAACB5B7'X /* 8- */
'BD6A6B6C6D6E6F707172C6D0D2D4D6D8'X /* 9- */
'DE7E737475767778797AE1E3E5E7E9EB'X /* A- */
'EDF1F3F5F7F9FB9E9DA1A3A5A7A9ABAD'X /* B- */
'7B414243444546474849B6B8BEC7D1D3'X /* C- */
'7D4A4B4C4D4E4F505152D5D7DDE0E2E4'X /* D- */
'5CCF535455565758595AE6E8EAECEEF2'X /* E- */
'30313233343536373839F4F6F8FAFC00'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 892
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'202000000000000000005B2E3C282B21'X /* 4- */
'260000000000000000005D242A293B00'X /* 5- */
'2D2F008E0000008F00A5002C25003E3F'X /* 6- */
'00000000000000C400003A2340273D22'X /* 7- */
'A7616263646566676869000000000000'X /* 8- */
'006A6B6C6D6E6F707172000000009200'X /* 9- */
'0000737475767778797A000000000000'X /* A- */
'009C9D00000000000000007C000000DB'X /* B- */
'7B414243444546474849006000000000'X /* C- */
'7D4A4B4C4D4E4F505152007E0000005E'X /* D- */
'5C20535455565758595A005F99000000'X /* E- */
'3031323334353637383900009A000000'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 893
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'202000840000008600005B2E3C282B21'X /* 4- */
'260000000000000000E15D242A293B5E'X /* 5- */
'2D2F008E0000008F00A5002C255F3E3F'X /* 6- */
:PMLGEBCTBL
EBCDICCP= 905
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A000917BA4802E3C282B21'X /* 4- */
'268288898AA18C8B8DE1A6982A293B5E'X /* 5- */
'2D2FB686B7B500925BA5AD2C255F3E3F'X /* 6- */
'0090D2D3D4D6D7D8DED53A99B8273D9A'X /* 7- */
'F4616263646566676869E886C7ED007C'X /* 8- */
'F86A6B6C6D6E6F707172A99B9FF700CF'X /* 9- */
'E694737475767778797AE78FC6EC0040'X /* A- */
'FA9CBE7DBDF55D00AB24A89DACF9EF9E'X /* B- */
'87414243444546474849F0937E95A2E5'X /* C- */
'A74A4B4C4D4E4F50515260965C81A300'X /* D- */
'81F6535455565758595AFDE223E3E0E4'X /* E- */
'30313233343536373839FCEA22EBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 259
ASCIICP= 3157
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'20200000000000001A2F5B003C28B800'X /* 4- */
'00EE3C3E0000000000005DFA0029F95E'X /* 5- */
'2D000000BA003C3E0000EF0C0B5F3E00'X /* 6- */
'00000000001C00000060F6F1F82722A9'X /* 7- */
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 303
'0000E100000000000000DAC3C0B30000'X /* 8- */
'00000000E60000000000C2C5C1000000'X /* 9- */
'007E0000009E00000000BFB4D9C40000'X /* A- */
'000000000000000000000000079CCFBE'X /* B- */
'7B000000001B0000F418F00400007C00'X /* C- */
'7D00F50000001900000000FE00EE0000'X /* D- */
'5C20001A00000000000000AA101E0000'X /* E- */
'00FBFDFC0000000000009D0000000000'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'48486A6A6A6A6A6A6A787852F052D378'X /* 4- */
'BB6A6A6A6A43434343785278785252D3'X /* 5- */
'5252ADADADADADADA3B27852D378F06A'X /* 6- */
'789595959552525252785278D352D36E'X /* 7- */
'AD6A786A786A527878436060787878D3'X /* 8- */
'78437843BB787878785678789E78D378'X /* 9- */
'86785B437878AD78786A526AB2AD8B78'X /* A- */
'787878AD787878D3D3D3D37878787878'X /* B- */
'6AAD95A3B29590ADB252527878787878'X /* C- */
'6A5BA895D8B2AD8BAD9E567878787878'X /* D- */
'52488295B2ADE2ADAD9A56ADADADADAD'X /* E- */
'7878787878787878787856B2B2B2B278'X. /* F- */
:EPMLGMAPTBL.
:EWSCST.
To activate the workstation customizing function, vary off and then vary on the
printer so that the customizing object is downloaded to the workstation controller.
When you print the test document on the Hewlett-Packard printer, it shows the
characteristics for which you customized. In addition, the strange characters that
appeared at the top of the page are gone.
Note: This step was performed several times. When you vary the device on and off
many times as you do when you test a new workstation customizing object,
the workstation controller storage can fill up. When this occurs, the device no
Chapter 12. Customizing ASCII Printers That Use the Emulator on the Controller 305
306 OS/400 Workstation Customization Programming V4R3
Appendix A. Twinaxial Keyboard Layouts
This appendix provides illustrations of the five basic keyboard types that are used
with twinaxial displays. The core area of each keyboard is not labeled because the
intention is to show the physical layout of the keyboard and not necessarily the
positions of individual keys.
The keyboard layouts shown are for a United States English (USB) layout. For
other national languages, slight differences may exist in terms of the number of
keys in certain rows of the core areas of the keyboards. In most cases, it is the
core area for each keyboard layout that is functionally different from one national
language to the next. This area contains the alphanumeric characters and some
function keys. The location of the non-alphanumeric keys is almost always the
same from one national language to the next.
Use the following keyboard illustrations to help you select the correct keyboard type
when you use the Retrieve Work Station Customizing Object Source (RTVWSCST)
command to retrieve the source for your twinaxial display. The following list matches
the values for the keyboard attached parameter to the name of the actual keyboard.
v Specify *DATA5250 for the 5250 data entry keyboard
v Specify *TYPE5250 for the 5250 typewriter keyboard
v Specify *DATA122 for the 122-key data entry keyboard
v Specify *TYPE122 for the 122-key typewriter keyboard
v Specify *ENHANCED for the Enhanced style keyboard
Notes:
1. Not all the different keyboard styles are supported for all the different keyboard
languages the AS/400 system can support. For example, there are very few
national languages that have a data entry layout defined for the 122-key
keyboard.
2. The 5250 data entry keyboard has no numeric key pad area.
3. The number of keys on an Enhanced keyboard varies from one national
language to another. The Enhanced keyboard shown in this appendix has 102
keys. Other Enhanced keyboards may have 102 keys, 103 keys, 105 keys, or
107 keys. The layout of the keyboard is the same; however, some of the larger
keys, such as the Shift key above the Enter key, may be split into two keys
rather than one large key.
Function
Control Keys Core Area
SysRq # , $ . - 0
Cmd < DUP ErRst RecAd
Attn @ % * - /
Del ErInp
Home NewLn FieldExit Fld-
Ins
Rl Up Rl Dn
Cr Up Cr Dn Num Shift Backspace Alpha Shift
CrLft CrRgt
Enter
RV2H475-0
Function
Control Keys
Core Area Numeric Pad
Rl Up Rl Dn Shift Shift 1 2 3
New Fld+
Cr Up Cr Dn Shift Shift 1 2 3
New Fld+
PA1 PA3 PA3
FstCr FstCr
Error Reset Enter 0 .
CrLft CrRgt
Error Reset Enter 0 .
RV2H474-0
CMD13 CMD14 CMD15 CMD16 CMD17 CMD18 CMD19 CMD20 CMD21 CMD22 CMD23 CMD24
CMD1 CMD2 CMD3 CMD4 CMD5 CMD6 CMD7 CMD8 CMD9 CMD10 CMD11 CMD12
Function
Control Keys
Core Area Cursor Control Keys Numeric Pad
SysRq # , $ . - 0 BackSpc
Attn @ % * < Dup - Reset RecAd = BackSpc FBksp
/
Clear
ErInp FldAdv NewLn FldExit 7 8 9 Fld-
Ins Del
FldAdv NewLn FldExit 7 8 9 Fld-
Ins Del
Help Rl Up 4 5 6
Print Help Cr Up 4 5 6
Hex
Fst Cr Fst Cr 1 2 3
Alpha Shift CrLft CrRgt 1 2 3
NumShft
TstRq Home Fld+
Rl En . Fld+
Err Rst Alt Space Alt Enter 0
Cr Dn 0 .
Err Rst Alt Space Alt Enter
RV2H454-0
CMD13 CMD14 CMD15 CMD16 CMD17 CMD18 CMD19 CMD20 CMD21 CMD22 CMD23 CMD24
CMD1 CMD2 CMD3 CMD4 CMD5 CMD6 CMD7 CMD8 CMD9 CMD10 CMD11 CMD12
Function
Control Keys Cursor Control Keys Numeric Pad
Core Area
SysRq BackSpc
Attn BackSpc FBksp Dup
Clear
7 8 9 Fld-
ErInp FldAdv FldExit New Ins Del 8
7 9 Fld-
FldAdv FldExit Line Ins Del
Rl Up 4 5 6
Help
Cr Up 4 5 6
Print Help
Hex
Fst Cr Fst Cr 1 2 3
CrLft CrRgt 1 2 3
TstRq Home Fld+
. Fld+
Rl Dn 0
Err Rst Alt Space Alt Enter 0 .
Cr Dn
Err Rst Alt Space Alt Enter
RV2H470-1
F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 Print Help Pause
Attn
F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 SysRq Test Clear
PA1 PA2 7 8 9
Fld Bksp PA3 FldAdv
Del ErEOF 7 8 9
FldAdv Pg Dn FldAdv
CrSel ErInp
Caps 4 5 6 Fld+
New Line 4
Caps 5 6 Fld+
Field Exit
Shift Lock
Shift Shift 1 2 3
Cr Up 2 3 E
Shift Shift 1
Cr Up N
Shift Shift
T
CrLft CrRgt 0 .
Reset Enter Cr Dn E
CrLft CrRgt 0 .
Reset Enter Cr Dn R
FstCr FstCr
RV2H472-0
The first example is for both the twinaxial display and the twinaxial display with an
attached printer that uses the emulator on the display.
Note: The retrieved source code for twinaxial displays (other than the 3477 Model
H, 3486, 3487, and 3488) does not contain the code for the printer definition
table. The remaining examples are for:
v The ASCII display
v The ASCII printer that uses the host print transform function
v The ASCII printer attached to the ASCII workstation controller that uses
the emulator on the workstation controller
Use these examples to help you understand and work with the values for the tags
used in the coding for workstation customizing.
Note: Device type 3477 is one of three device types that you can specify to
customize an ASCII printer attached to a twinaxial display. The other two
device types you can specify to include the printer definition table in your
source are the 3486 and the 3487.
:WSCST DEVCLASS=TWINAXPRT.
:TKBDTBL
LANGTYPE = USI
KBDTYPE = TYPE122 .
:TKSTATE
MODE = NONE SHIFT = UNSHIFT
DATA =
'2300'X /* 00 */ /* MODE = NONE SHIFT = UNSHIF */
'0AA9'X /* 01 */ /* MODE = NONE SHIFT = UNSHIF */
'0AA7'X /* 02 */ /* MODE = NONE SHIFT = UNSHIF */
'0A83'X /* 03 */ /* MODE = NONE SHIFT = UNSHIF */
'0AA5'X /* 04 */ /* MODE = NONE SHIFT = UNSHIF */
'0A82'X /* 05 */ /* MODE = NONE SHIFT = UNSHIF */
:PDFNTBL.
:SPACE
DATA ='20'X.
:BELL
DATA ='07'X.
:BSP
DATA ='08'X.
:LINEFEED
DATA ='0A'X.
:FORMFEED
DATA ='0C'X.
:CARRTN
DATA ='0D'X.
:STRUS
:DASCTBL
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'405A7F7B5B6C507D4D5D5C4E6B604B61'X /* 2- */
'F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F'X /* 3- */
'7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6'X /* 4- */
'D7D8D9E2E3E4E5E6E7E8E9BAE0BBB06D'X /* 5- */
'79818283848586878889919293949596'X /* 6- */
'979899A2A3A4A5A6A7A8A9C04FD0A100'X /* 7- */
'00000000000000000000000000000000'X /* 8- */
'00000000000000000000000000000000'X /* 9- */
'00000000000000000000000000000000'X /* A- */
'00000000000000000000000000000000'X /* B- */
'00000000000000000000000000000000'X /* C- */
'00000000000000000000000000000000'X /* D- */
'00000000000000000000000000000000'X /* E- */
'00000000000000000000000000000000'X. /* F- */
:DEBCTBL
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'20202020202020202020202020202020'X /* 0- */
'2020202020202020202020202A202020'X /* 1- */
:DSCNTBL
CHARATR = CHAR
ADDRMOD = BINARY
TEXTSYM = SUPPORT
AUTOSCL = NO.
:CARRTN
DATA = 'EA'X.
:HLFIDXDN
DATA = 'F6'X.
:HLFIDXUP
DATA = 'F7'X.
:PAGEND
DATA = 'BE'X.
:RQDCARRTN
DATA = 'BD'X.
:RQDSPC
DATA = 'BF'X.
:RQDTAB
DATA = 'BC'X.
:STOPCODE
DATA = 'FE'X.
:TAB
DATA = 'F5'X.
:WORDUS
DATA = 'ED'X.
:ATRCMD
CTLCHAR = '20'X
DATA = '1B3440'X.
:ATRCMD
CTLCHAR = '21'X
DATA = '1B3441'X.
:ATRCMD
CTLCHAR = '22'X
DATA = '1B3448'X.
:ATRCMD
CTLCHAR = '23'X
DATA = '1B3449'X.
:ATRCMD
CTLCHAR = '24'X
DATA = '1B3442'X.
:ATRCMD
CTLCHAR = '25'X
DATA = '1B3443'X.
:ATRCMD
CTLCHAR = '26'X
DATA = '1B344A'X.
:ATRCMD
CTLCHAR = '27'X
DATA = '1B3440'X.
:ATRCMD
CTLCHAR = '28'X
:DKBDTBL.
:ATN
DATA = '01'X.
:BSP
DATA = '08'X.
:CSRUP
DATA = '1B41'X.
:CSRDOWN
DATA = '1B42'X.
:CSRLEFT
DATA = '1B44'X.
:CSRRIGHT
DATA = '1B43'X.
:DLT
DATA = '1B51'X.
:DUP
DATA = '04'X.
:ENTER
DATA = '1B3803'X.
:ERSINP
DATA = '1B4B'X.
:ERRRESET
DATA = '1B217A03'X.
:ERRRESET
Source Code for 4029 ASCII Printer That Uses the Host Print
Transform Function
The source for this example is created when you use the Retrieve Work Station
Customizing Object Source (RTVWSCST) command specifying the following
parameters:
:WSCST DEVCLASS=TRANSFORM.
:TRNSFRMTBL.
:PRTDTASTRM
DATASTREAM=IBMPPDS4.
:NOPRTBDR
OPTION=TOP
ORIENT=PORTRAIT
DATA = 240.
:NOPRTBDR
OPTION=LEFT
ORIENT=PORTRAIT
DATA = 360.
:NOPRTBDR
OPTION=RIGHT
ORIENT=PORTRAIT
DATA = 360.
:NOPRTBDR
OPTION=BOTTOM
ORIENT=PORTRAIT
DATA = 240.
:NOPRTBDR
OPTION=TOP
ORIENT=LANDSCAPE
DATA = 360.
:NOPRTBDR
OPTION=LEFT
ORIENT=LANDSCAPE
DATA = 240.
:NOPRTBDR
OPTION=RIGHT
ORIENT=LANDSCAPE
DATA = 240.
:NOPRTBDR
OPTION=BOTTOM
:SPACE
DATA ='20'X.
:BSP
DATA ='08'X.
:CARRTN
DATA ='0D'X.
:FORMFEED
DATA ='0C'X.
:LINEFEED
DATA ='0A'X.
:RVSLINEFEED
DATA ='1B5D'X.
:VERRMOV
DIRECTION=UPDOWN
VAROFFSET= 9
VARLEN= 2
VARTYPE=HIGHLOW
CNVNUM= 1
CNVDEN= 1440
DATA ='1B5B510600030100000000'X.
:HORRMOV
DIRECTION=FWD
VAROFFSET= 2
VARLEN= 2
VARTYPE=LOWHIGH
CNVNUM= 1
CNVDEN= 120
DATA ='1B640000'X.
:HORRMOV
DIRECTION=BCK
VAROFFSET= 2
VARLEN= 2
VARTYPE=LOWHIGH
CNVNUM= 1
CNVDEN= 120
DATA ='1B650000'X.
:STRBOLD
DATA ='1B451B47'X.
:ENDBOLD
DATA ='1B461B48'X.
:STRSUBS
DATA ='1B5301'X.
:ENDSUBS
DATA ='1B54'X.
:STRSUPS
DATA ='1B5300'X.
:ENDSUPS
DATA ='1B54'X.
:STRUS
DATA ='1B2D01'X.
:ENDUS
DATA ='1B2D00'X.
:VARLSPC
VAROFFSET= 11
VARLEN= 1
VARTYPE=LOWHIGH
CNVNUM= 1
CNVDEN= 144
DATA ='1B5B5C0400900090001B41001B32'X.
Source Code for 4019 ASCII Printer That Uses the Emulator on the
Controller
The source for this example is created when you use the Retrieve Work Station
Customizing Object Source (RTVWSCST) command specifying the following
parameters:
:WSCST DEVCLASS=ASCIIPRT.
:PDFTMAPTBL.
:PDFTEBCTBL
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
:PFCNTBL.
:DFTFNTID
CPI=10
DEFAULT= 11.
:DFTFNTID
CPI=12
DEFAULT= 85.
:DFTFNTID
CPI=171
DEFAULT= 254.
:DFTFNTID
CPI=PROP
DEFAULT= 159.
:DFTFNTID
CPI=5
DEFAULT= 244.
:DFTFNTID
CPI=855
DEFAULT= 265.
:DFTFNTID
CPI=133
DEFAULT= 204.
:DFTFNTID
CPI=15
DEFAULT= 223.
:DFTFNTID
CPI=20
DEFAULT= 281.
:DFTFNTID
CPI=27
DEFAULT= 290.
:VARLSPC
VAROFFSET= 11
VARLEN= 1
VARTYPE=LOWHIGH
VARMAX= 255
ADJUST= 0
CNVNUM= 10
CNVDEN= 1
DATA ='1B5B5C0400900090001B41101B32'X.
:PAGLENI
:PMLGMAPTBL.
:PMLGEBCTBL
EBCDICCP= 29
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A4E82E3C282B21'X /* 4- */
'268288898AA18C8B8DE192242A293B99'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DED03A23D1273D22'X /* 7- */
'9D616263646566676869AEAF60EC7BF1'X /* 8- */
'F86A6B6C6D6E6F707172A6A77DF75DCF'X /* 9- */
'E694737475767778797AADA840ED5BA9'X /* A- */
'BD9CBEFAB8F5F4ACABF3AA7CEEF95C9E'X /* B- */
'E7414243444546474849F0937E95A2E4'X /* C- */
'914A4B4C4D4E4F505152FB968197A398'X /* D- */
'EFF6535455565758595AFDE25EE3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0E0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0E0A0A0A0A0E'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080C0A0A0E060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0A0C0A0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0A0A0A0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0A0E0A0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0C0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0E0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0A0E0E0E'X /* E- */
:PMLGEBCTBL
EBCDICCP= 30
ASCIICP= 853
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A000917BA4802E3C282B21'X /* 4- */
'268288898AA18C8B8DE1A6982A293B5E'X /* 5- */
'2D2FB686B7B500925BA5AD2C255F3E3F'X /* 6- */
'0090D2D3D4D6D7D8DED53A99B8273D9A'X /* 7- */
'F4616263646566676869E886C7ED007C'X /* 8- */
'F86A6B6C6D6E6F707172A99B9FF700CF'X /* 9- */
'E694737475767778797AE78FC6EC0040'X /* A- */
'FA9CBE7DBDF55D00AB24A89DACF9EF9E'X /* B- */
'87414243444546474849F0937E95A2E5'X /* C- */
'A74A4B4C4D4E4F50515260965C81A300'X /* D- */
'81F6535455565758595AFDE223E3E0E4'X /* E- */
'30313233343536373839FCEA22EBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0E0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0E080A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0A0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C08080808060A0E0C060A0E'X /* 7- */
'0A0A0C0A0C0A080C0C060C0A0A0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0C0C060A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0E0E0C0E0E0A'X /* A- */
'0A0A0A0A0C0A0A0A0A0A0E0E0C0E0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0C'X /* C- */
'0C0A0E0C0E0E0E0C0E0E0A0C0A0C0C0C'X /* D- */
'0C0A0C0E0E0E0E0E0E0C0A0E0A0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0A0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 37
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A4BD2E3C282B7C'X /* 4- */
'26828889BAA18C8B8DE121242A293BAA'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'5E9CBEFA9FF5F4ACABF35B5DEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 38
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 45
ASCIICP= 880
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838461A0C79F87865B2E3C282B21'X /* 4- */
'2682A98985A18C9692E15D242A293B5E'X /* 5- */
'2D2FB68E41B5C6AC808FD82C255F3E3F'X /* 6- */
'F390A8D3DED6D79591603A2340273D22'X /* 7- */
'F461626364656667686998E5D0ECFDAD'X /* 8- */
'F86A6B6C6D6E6F70717288E4E7F7F2CF'X /* 9- */
'A5F1737475767778797AB8D5D1EDFCB8'X /* A- */
'FA4CBEDDBDF5A7ABA68D9DE3E6F9EFEE'X /* B- */
'D4414243444546474849F09394EAA28B'X /* C- */
'D24A4B4C4D4E4F505152B7FB819CA379'X /* D- */
'A420535455565758595A32E299E8E08A'X /* E- */
'3031323334353637383933EB9A9BE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0C060606060C0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0E080808080A0A0A0A060A0A'X /* 7- */
'0A0A0C0A0C0A080C0C060A0C0C0C0A0A'X /* 8- */
'0A060C060E0C0A0C0C0A060C0A0A0A0A'X /* 9- */
'0A0A0A080C0C0E0C0C0A0C0E0E0E0E0C'X /* A- */
'0A0C0A0E0C0A0A0A0C0C0C0E0C0A0A08'X /* B- */
'0C0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0E0A0E0C0E0E0E0C0E0E0C0C0C080C0C'X /* D- */
'0E0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 257
ASCIICP= 855
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'202080828486888A8C8E5B2E3C282B21'X /* 4- */
'2690929496989A9EEF815D242A293B5E'X /* 5- */
'2D2F838587898B8D8F917C2C255F3E3F'X /* 6- */
'9395972D999B9CA0A2603A2340273D22'X /* 7- */
'9A616263646566676869A6A8AAACB5B7'X /* 8- */
'BD6A6B6C6D6E6F707172C6D0D2D4D6D8'X /* 9- */
'DE7E737475767778797AE1E3E5E7E9EB'X /* A- */
'EDF1F3F5F7F9FB9E9DA1A3A5A7A9ABAD'X /* B- */
'7B414243444546474849B6B8BEC7D1D3'X /* C- */
'7D4A4B4C4D4E4F505152D5D7DDE0E2E4'X /* D- */
'5CCF535455565758595AE6E8EAECEEF2'X /* E- */
'30313233343536373839F4F6F8FAFC00'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0C0A0A0A0A0606060A0A0A0A0A0A'X /* 4- */
'0C0E0E0C0C0C0C0E0E0E0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0C08080A0E0A0A0A0A0A0A'X /* 6- */
'0E0E0E0A0E0E0E0A0A0A0A0A0A060A0A'X /* 7- */
'0C0A0C0A0C0A080C0C060C0A0C0A0A0C'X /* 8- */
'0C060C060E0C0A0C0C0A0C0C0E0C0A0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0C0A0A0C0E0C'X /* A- */
'0C0E0A0E0A0E0C0C0E0E0E0E0E0C0E0E'X /* B- */
'0A0E0E0E0E0C0C0E0E080E0E0E0E0E0E'X /* C- */
'0A0A0E0C0E0E0E0C0E0E0E0E0E0E0C0E'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0E0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
:PMLGEBCTBL
EBCDICCP= 259
ASCIICP= 899
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0B08687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DB15D242A293B5E'X /* 5- */
'2D2FB28EB3B4B58F80A57C2C255F3E3F'X /* 6- */
'B690B7B8B9BA00BCBD603A2340273D22'X /* 7- */
'BE616263646566676869AEAFBFC0C1C2'X /* 8- */
'C36A6B6C6D6E6F707172A6A791C492C5'X /* 9- */
'C67E737475767778797AADA8C7C8C9CA'X /* A- */
'9B9C9D9E9FE0CBACABCCAACDCECFD0D1'X /* B- */
'7B414243444546474849D2939495A2D3'X /* C- */
'7D4A4B4C4D4E4F505152D4968197A398'X /* D- */
'5C20535455565758595AD5D699D7D8D9'X /* E- */
'30313233343536373839DADB9ADCDD00'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 260
:PMLGEBCTBL
EBCDICCP= 273
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020837B85A0C68687A48E2E3C282B21'X /* 4- */
'26828889BAA18C8B8D7E9A242A293B5E'X /* 5- */
'2D2FB65BB7B5C78F80A5942C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A23F5273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E6E1737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9F40F4ACABF3AA7CEEF9EFF2'X /* B- */
'84414243444546474849F093D095A2E4'X /* C- */
'814A4B4C4D4E4F505152D5967D97A398'X /* D- */
'9920535455565758595AFDE25CE3E0E5'X /* E- */
'30313233343536373839FCEA5DEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0E0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0E0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0C0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0C0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0E0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 274
ASCIICP= 850
:PMLGEBCTBL
EBCDICCP= 275
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A06086D0A4902E3C282B21'X /* 4- */
'267B8889BAA18C8B8DE124802A293B5E'X /* 5- */
'2D2FB68EB7B5408F5DA5872C255F3E3F'X /* 6- */
'9B5BD2D3D4D6D7D8DEC63AE5C7273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'E4414243444546474849F0939495A27B'X /* C- */
'824A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E023'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0C0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0E0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0E0E060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 276
ASCIICP= 850
DATA =
:PMLGEBCTBL
EBCDICCP= 277
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C67B87A4232E3C282B21'X /* 4- */
'26828889BAA18C8B8DE1CF8F2A293B5E'X /* 5- */
'2D2FB68EB7B5C72480A59B2C255F3E3F'X /* 6- */
'D090D2D3D4D6D7D8DE603A929D273D22'X /* 7- */
'40616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A77BF75B5D'X /* 9- */
'E681737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'91414243444546474849F0939495A2E4'X /* C- */
'864A4B4C4D4E4F505152D5967E97A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0E0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0E0E060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0C0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0E0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 278
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
:PMLGEBCTBL
EBCDICCP= 279
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838440A0C6865CA4F82E3C282B21'X /* 4- */
'267B88897DA18C8B8DE1F5242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5972C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DEE63A9C85273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'5B6A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'60F9737475767778797AADA8D1EDE8A9'X /* A- */
'BD23BEFA9F5DF4ACABF3AA7CEE7EEFF2'X /* B- */
'82414243444546474849F0939495A2E4'X /* C- */
'8A4A4B4C4D4E4F505152D59681D0A398'X /* D- */
'8720535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0C0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080C0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 280
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'202083847BA0C6865CA4F82E3C282B21'X /* 4- */
:PMLGEBCTBL
EBCDICCP= 281
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A49C2E3C282B7C'X /* 4- */
'26828889BAA18C8B8DE121BE2A293BAA'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E6EE737475767778797AADA8D1EDE8A9'X /* A- */
'BD5B5CFA9FF5F4ACABF35E5D7EF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'2420535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 282
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A07B867EA45B2E3C282B21'X /* 4- */
'26828889BAA18C8B8DE15D242A293B5E'X /* 5- */
:PMLGEBCTBL
EBCDICCP= 283
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687D05B2E3C282B7C'X /* 4- */
'26828889BAA18C8B8DE15D502A293BAA'X /* 5- */
'2D2FB68EB7B5C78F8023A42C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603AA540273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E6F9737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF35E21EE7EEFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0E0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0C0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0E0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 284
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687D05B2E3C282B7C'X /* 4- */
'26828889BAA18C8B8DE15D242A293BAA'X /* 5- */
'2D2FB68EB7B5C78F8023A42C255F3E3F'X /* 6- */
:PMLGEBCTBL
EBCDICCP= 285
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A4242E3C282B7C'X /* 4- */
'26828889BAA18C8B8DE1219C2A293BAA'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E6EE737475767778797AADA8D1EDE8A9'X /* A- */
'BD5BBEFA9FF5F4ACABF35E5D7EF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 290
ASCIICP= 911
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'20A1A2A3A4A5A6A7A8A9E12E3C282B7C'X /* 4- */
'26AAABACADAEAF00B000215C2A293BE3'X /* 5- */
'2D2F0000000000000000002C255F3E3F'X /* 6- */
'000000000000000000003A2340273D22'X /* 7- */
:PMLGEBCTBL
EBCDICCP= 293
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 297
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838440A0C6865CA4F82E3C282B21'X /* 4- */
'267B88897DA18C8B8DE1F5242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5972C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DEE63A9C85273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
:PMLGEBCTBL
EBCDICCP= 310
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 330
ASCIICP= 880
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838461A0C79F87865B2E3C282B21'X /* 4- */
'2682A98985A18C9692E15D242A293B5E'X /* 5- */
'2D2FB68E41B5C6AC808FD82C255F3E3F'X /* 6- */
'F390A8D3DED6D79591603A2340273D22'X /* 7- */
'F461626364656667686998E5D0ECFDAD'X /* 8- */
'F86A6B6C6D6E6F70717288E4E7F7F2CF'X /* 9- */
:PMLGEBCTBL
EBCDICCP= 340
ASCIICP= 876
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7C4DE603A2340273D22'X /* 7- */
'A7616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9C9DFAB8F5F4ACABF3AA7CEEF9EFDB'X /* B- */
'7B4142434445464748492D609495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152FB7E8197A35E'X /* D- */
'5CF6535455565758595AFD5F99E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 420
ASCIICP= 864
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020F1F0E09FC1C2A2C3C02E3C282B7C'X /* 4- */
'26A5C40000C6C7A8A9C821242A293BDC'X /* 5- */
'2D2FC9AACAABCBADCCAE7C2C255F3E3F'X /* 6- */
'CDAFCECFD0D1D2BCD3AC3A2340273D22'X /* 7- */
'BD616263646566676869D4BED5EBD6D7'X /* 8- */
'D86A6B6C6D6E6F707172DFC5D9ECEEED'X /* 9- */
'DADD737475767778797AF7BAE1F8E2FC'X /* A- */
:PMLGEBCTBL
EBCDICCP= 423
ASCIICP= 851
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'20A4A5A6A7A8A9AAACAD5B2E3C282B21'X /* 4- */
'26B5B6B7B8BDBEC6C7CF5D242A293B5E'X /* 5- */
'2D2FD0D1D2D3D4D500007C2C255F3E3F'X /* 6- */
'00868D8F0090929598603A9CF5273D22'X /* 7- */
'8E616263646566676869D6D7D8DDDEE0'X /* 8- */
'996A6B6C6D6E6F707172E1E2E3E4E5E6'X /* 9- */
'9AF9737475767778797AE7E8E9EAEBEC'X /* A- */
'009B9D9EA09FA2A3FBFDEDEEF2F3F4F6'X /* B- */
'F7414243444546474849F0FA83858488'X /* C- */
'EF4A4B4C4D4E4F505152F1828A898C8B'X /* D- */
'F820535455565758595AAB9493969781'X /* E- */
'30313233343536373839798780000000'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0E0E0E0C0C0C0E0E080A0A0A0A0A0A'X /* 4- */
'0C0E0E0E0E0E0E0E0C0E0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0E0E0E0C0A0E0E0E0A0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060C0C0A0A0A0A'X /* 8- */
'0E060C060E0C0A0C0C0A0A0A0A0C0A0A'X /* 9- */
'0E0A0A080C0C0E0C0C0A0A0A0A0A0A0A'X /* A- */
'0A0A0A0A06060A0C0C0C0A0A0A0A0A0C'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0C0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E0A0A0A0A0606'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0A0A0C0C0C'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0C0A0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 424
ASCIICP= 862
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'208081828384858687889B2E3C282B7C'X /* 4- */
'26898A8B8C8D8E8F909121242A293BAA'X /* 5- */
'2D2F92939495969798997C2C255F3E3F'X /* 6- */
'009A0000200000005F603A2340273D22'X /* 7- */
'00616263646566676869AEAF000000F1'X /* 8- */
'F86A6B6C6D6E6F707172000000000000'X /* 9- */
'E67E737475767778797A000000000052'X /* A- */
'5E9C9DF900F5F4ACAB005B5D2D000078'X /* B- */
:PMLGEBCTBL
EBCDICCP= 500
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A45B2E3C282B21'X /* 4- */
'268288898AA18C8B8DE15D242A293B5E'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DE603A2340273D22'X /* 7- */
'9D616263646566676869AEAFD0ECE7F1'X /* 8- */
'F86A6B6C6D6E6F707172A6A791F792CF'X /* 9- */
'E67E737475767778797AADA8D1EDE8A9'X /* A- */
'BD9CBEFA9FF5F4ACABF3AA7CEEF9EFF2'X /* B- */
'7B414243444546474849F0939495A2E4'X /* C- */
'7D4A4B4C4D4E4F505152D5968197A398'X /* D- */
'5C20535455565758595AFDE299E3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 870
ASCIICP= 852
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'20208384EEA0C79F87865B2E3C282B21'X /* 4- */
'2682A98985A18C9692E15D242A293B5E'X /* 5- */
'2D2FB68EF1B5C6AC808F7C2C255F3E3F'X /* 6- */
'F390A8D3DED6D79591603A2340273D22'X /* 7- */
'F461626364656667686998E5D0ECFDAD'X /* 8- */
'F86A6B6C6D6E6F70717288E4E7F7F2CF'X /* 9- */
'A57E737475767778797AB8D5D1EDFCB8'X /* A- */
'FAA4BEDDBDF5A7ABA68D9DE3E6F9EF9E'X /* B- */
'7B414243444546474849F09394EAA28B'X /* C- */
:PMLGEBCTBL
EBCDICCP= 871
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A0C68687A4E82E3C282B21'X /* 4- */
'268288898AA18C8B8DE192242A293B99'X /* 5- */
'2D2FB68EB7B5C78F80A5DD2C255F3E3F'X /* 6- */
'9B90D2D3D4D6D7D8DED03A23D1273D22'X /* 7- */
'9D616263646566676869AEAF60EC7BF1'X /* 8- */
'F86A6B6C6D6E6F707172A6A77DF75DCF'X /* 9- */
'E694737475767778797AADA840ED5BA9'X /* A- */
'BD9CBEFAB8F5F4ACABF3AA7CEEF95C9E'X /* B- */
'E7414243444546474849F0937E95A2E4'X /* C- */
'914A4B4C4D4E4F505152FB968197A398'X /* D- */
'EFF6535455565758595AFDE25EE3E0E5'X /* E- */
'30313233343536373839FCEA9AEBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0E0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0E0A0A0A0A0E'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080C0A0A0E060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0A0C0A0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0A0A0A0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0A0E0A0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0C0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0E0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0A0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 880
ASCIICP= 855
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'202080828486888A8C8E5B2E3C282B21'X /* 4- */
'2690929496989A9EEF815D242A293B5E'X /* 5- */
'2D2F838587898B8D8F917C2C255F3E3F'X /* 6- */
'9395972D999B9CA0A2603A2340273D22'X /* 7- */
'9A616263646566676869A6A8AAACB5B7'X /* 8- */
'BD6A6B6C6D6E6F707172C6D0D2D4D6D8'X /* 9- */
'DE7E737475767778797AE1E3E5E7E9EB'X /* A- */
'EDF1F3F5F7F9FB9E9DA1A3A5A7A9ABAD'X /* B- */
'7B414243444546474849B6B8BEC7D1D3'X /* C- */
'7D4A4B4C4D4E4F505152D5D7DDE0E2E4'X /* D- */
:PMLGEBCTBL
EBCDICCP= 892
ASCIICP= 876
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'202000000000000000005B2E3C282B21'X /* 4- */
'260000000000000000005D242A293B00'X /* 5- */
'2D2F008E0000008F00A5002C25003E3F'X /* 6- */
'00000000000000C400003A2340273D22'X /* 7- */
'A7616263646566676869000000000000'X /* 8- */
'006A6B6C6D6E6F707172000000009200'X /* 9- */
'0000737475767778797A000000000000'X /* A- */
'009C9D00000000000000007C000000DB'X /* B- */
'7B414243444546474849006000000000'X /* C- */
'7D4A4B4C4D4E4F505152007E0000005E'X /* D- */
'5C20535455565758595A005F99000000'X /* E- */
'3031323334353637383900009A000000'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0A0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0A0A0A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0E0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C080808080A0A0A0A060A0A'X /* 7- */
'0E0A0C0A0C0A080C0C060E0E0C0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0A0A0E0A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0A0A0E0E0E0A'X /* A- */
'0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0A'X /* C- */
'0A0A0E0C0E0E0E0C0E0E060C0C0C0C0C'X /* D- */
'0A0A0C0E0E0E0E0E0E0C0A0E0E0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0E0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 893
ASCIICP= 877
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'202000840000008600005B2E3C282B21'X /* 4- */
'260000000000000000E15D242A293B5E'X /* 5- */
'2D2F008E0000008F00A5002C255F3E3F'X /* 6- */
'A60000000000A9C400603A2340273D22'X /* 7- */
'A761626364656667686900000000B9BA'X /* 8- */
'006A6B6C6D6E6F707172000091F792CF'X /* 9- */
'007E737475767778797A000000000000'X /* A- */
'009C9D0000F500000000007C00F9EFDB'X /* B- */
'7B414243444546474849000094000000'X /* C- */
'7D4A4B4C4D4E4F50515200008100005E'X /* D- */
'5C20535455565758595A000099000000'X /* E- */
:PMLGEBCTBL
EBCDICCP= 905
ASCIICP= 853
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2020838485A000917BA4802E3C282B21'X /* 4- */
'268288898AA18C8B8DE1A6982A293B5E'X /* 5- */
'2D2FB686B7B500925BA5AD2C255F3E3F'X /* 6- */
'0090D2D3D4D6D7D8DED53A99B8273D9A'X /* 7- */
'F4616263646566676869E886C7ED007C'X /* 8- */
'F86A6B6C6D6E6F707172A99B9FF700CF'X /* 9- */
'E694737475767778797AE78FC6EC0040'X /* A- */
'FA9CBE7DBDF55D00AB24A89DACF9EF9E'X /* B- */
'87414243444546474849F0937E95A2E5'X /* C- */
'A74A4B4C4D4E4F50515260965C81A300'X /* D- */
'81F6535455565758595AFDE223E3E0E4'X /* E- */
'30313233343536373839FCEA22EBE900'X. /* F- */
:PFNTWTH
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'0A0A0A0A0A0A0A0A0A0C0E0A0A0A0A0A'X /* 4- */
'0C0A0A0A0A060606060C0E080A0A0A0A'X /* 5- */
'0A0A0E0E0E0E0E0E0A0E0A0A0A0A0A0A'X /* 6- */
'0A0C0C0C0C08080808060A0E0C060A0E'X /* 7- */
'0A0A0C0A0C0A080C0C060C0A0A0C0C0A'X /* 8- */
'0A060C060E0C0A0C0C0A0C0C060A0E0A'X /* 9- */
'0C0A0A080C0C0E0C0C0A0E0E0C0E0E0A'X /* A- */
'0A0A0A0A0C0A0A0A0A0A0E0E0C0E0A0A'X /* B- */
'0A0E0E0E0E0C0C0E0E080A0A0A0A0A0C'X /* C- */
'0C0A0E0C0E0E0E0C0E0E0A0C0A0C0C0C'X /* D- */
'0C0A0C0E0E0E0E0E0E0C0A0E0A0E0E0E'X /* E- */
'0A0A0A0A0A0A0A0A0A0A0A0E0A0E0E0A'X. /* F- */
:PMLGEBCTBL
EBCDICCP= 259
ASCIICP= 850
DATA =
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'20200000000000001A2F5B003C28B800'X /* 4- */
'00EE3C3E0000000000005DFA0029F95E'X /* 5- */
'2D000000BA003C3E0000EF0C0B5F3E00'X /* 6- */
'00000000001C00000060F6F1F82722A9'X /* 7- */
'0000E100000000000000DAC3C0B30000'X /* 8- */
'00000000E60000000000C2C5C1000000'X /* 9- */
'007E0000009E00000000BFB4D9C40000'X /* A- */
'000000000000000000000000079CCFBE'X /* B- */
'7B000000001B0000F418F00400007C00'X /* C- */
'7D00F50000001900000000FE00EE0000'X /* D- */
'5C20001A00000000000000AA101E0000'X /* E- */
'00FBFDFC0000000000009D0000000000'X. /* F- */
Source Code for HP4 ASCII Printer That Uses the Host Print Transform
Function
The source for this example is created when you use the Retrieve Work Station
Customizing Object Source (RTVWSCST) command specifying the following
parameters:
:WSCST DEVCLASS=TRANSFORM.
:TRNSFRMTBL.
:PRTDTASTRM
DATASTREAM=HPPCL5.
:NOPRTBDR
OPTION=TOP
ORIENT=PORTRAIT
DATA = 240.
:NOPRTBDR
OPTION=LEFT
ORIENT=PORTRAIT
DATA = 360.
:NOPRTBDR
OPTION=RIGHT
ORIENT=PORTRAIT
DATA = 360.
:NOPRTBDR
OPTION=BOTTOM
ORIENT=PORTRAIT
DATA = 240.
:NOPRTBDR
OPTION=TOP
ORIENT=LANDSCAPE
DATA = 360.
:NOPRTBDR
OPTION=LEFT
ORIENT=LANDSCAPE
DATA = 240.
:NOPRTBDR
OPTION=RIGHT
ORIENT=LANDSCAPE
DATA = 240.
:NOPRTBDR
OPTION=BOTTOM
The following procedure is provided to help you display a Sign On screen correctly,
so that you can determine the remaining the device characteristics you want to
customize.
Note: If your ASCII workstation is totally incompatible with the device type you
specified in your device description, this procedure may not help you. If you
still do not have a Sign On screen displayed on your workstation after
following this procedure, try changing the device type and model you
specified in the device description for the workstation and for the Retrieve
Work Station Customizing Object Source (RTVWSCST) command.
1. Use the RTVWSCST command to retrieve the default source for the device type
you selected for your device description. You need the following information for
the command parameters:
Device type
This should be the same as the device type you specified when you created
the device description.
Keyboard language type
This should match either the language type supported for your AS/400
system or the language that you want to use for this display.
Source member name
This name should be unique so that you can recognize and keep track of
your workstation customizing source.
Source file name / library
This is QTXTSRC unless you have created a source file specifically for your
workstation customizing source members. The library you specify here can
contain both the source file and member and the compiled customizing
object.
Text description
This is any text that you may want to use to help you identify this source
member.
2. Use the Start SEU (STRSEU) command to edit the source file member you just
created. You will need your device reference manual to map at least the
following functions correctly. For more complete information about the tags
described here, see Chapter 8. Customizing ASCII Displays.
CLRSCN (Clear Screen) Tag
Check the device reference manual to find the hexadecimal value that your
Note: If your display does not support the Clear Screen command, try
mapping it to one or more other commands supported by your
display that will do the equivalent of clearing the screen. For
example, on a VT-52** display, sequences for two separate VT-52
commands, Set Home and Clear to End of Screen, can be specified
in the DATA keyword for the CLRSCN tag to perform the clear
screen function.
CSRADR (Set Cursor Address) Tag
This affects the positions of the characters shown on the ASCII display. Use
the device reference manual to determine the values for the keywords
associated with this tag. Change the values on the CSRADR tag keywords
to match those given in your device reference manual. If these values do
not apply to your device type, set these keywords to 0. (See “Set Cursor
Address (CSRADR) Tag” on page 106 for more information about this tag.)
DSCNTBL (Update Screen Table) Tag
You do not need to change all of the keyword values for this tag, only the
ADDRMOD (address mode) and CHARATR (character) keywords to begin
testing the device. Find the values your device uses for these keywords in
the device reference manual and specify the correct addressing mode
supported by your display. This is CHAR for numeric addressing, and
BINARY if your display uses graphic characters. The CHARATR keyword is
normally set to FIELD depending on the display type you selected when you
retrieved the workstation customizing source.
3. Change the following keyboard function tags so that you can complete the
testing for planning workstation customizing. (For more information about these
and other keyboard function tags, see “Keyboard Function Tags” on page 120.)
ENTER (Enter)
This value is usually '0D'X (carrier return)
TSTREQ (Test request)
This value is usually '1B74'X (ESC + t )
4. Use the Create Work Station Customizing Object (CRTWSCST) command to
compile the workstation customizing object. You need the following information
for the command parameters:
WSCST name/Library
The name you want to call the customizing object. This is the name you will
specify in your device description for the ASCII display. The library may be
the same as the one you specified for the source file or you may create a
library specifically for the compiled customization objects.
Source member
This is the same source member name you used to retrieve the source in
step 1.
Text description
This is a text description you can use to help you further identify the
customizing object.
Your ASCII display should have at least minimal function and a Sign On screen
displayed. If you cannot get the display to this point, you should try changing the
device type and model in the device description for the display, and vary the device
off and then on again. To determine the correct device type to select, you need to
compare the characteristics of your unsupported ASCII display with the
characteristics of the supported IBM displays. To help you with this comparison, see
the ASCII Work Station Reference book. When you find a supported display that
has at least some matching characteristics to your ASCII display, you can then use
the device type the AS/400 system selected to retrieve the workstation customizing
source and try this procedure again to get to an AS/400 Sign On display.
If you are working with a 3477 display and the final Customization Setup menu did
not show the ASCII printer type or ASCII printer ID fields, then your 3477 display is
not a Model H and you cannot customize an attached ASCII printer using the
OS/400 workstation customizing functions.
Devices that do not use the host print transform function have matching keywords
and parameters for these commands, as shown in Table 43. Printers that use the
host print transform function have matching keywords and parameters for these
commands, as shown in Table 44 on page 374.
An X in these tables indicates that the parameter should have the same value for
the device description commands as it does in the workstation customizing
commands. For example, if you are going to customize an ASCII display, the device
type (DEVTYPE) parameter for the RTVWSCST command should be the same
value as the device type (TYPE) parameter you specified in the CRTDEVDSP
command.
Note: You should create the device descriptions for the workstations you want to
customize before you retrieve a source file member or create the
customizing object.
Table 43. Matching Command Parameters--Devices That Do Not Use Host Print Transform Function
Parameter (KEYWORD) CRTDEVDSP CRTDEVPRT RTVWSCST CRTWSCST
Device type (TYPE,
DEVTYPE) X X X
Keyboard language type
(KBDTYPE, LNGTYPE) X X X
Workstation customizing object
(WSCST) X X X
Library (LIB) X X X X
Source file (SRCFILE) X X
Source member (SRCMBR) X X
Figure 53 provides a graphic representation of the table for devices that do not use
the host print transform function.. Each parameter in the figure is mapped to a
corresponding parameter in the device description commands. These corresponding
parameters must match when you set up the customization of a device.
RTVWSCST CRTDEVDSP
Table 44. Matching Command Parameters--Printers That Use Host Print Transform Function
Parameter (KEYWORD) CRTDEVPRT RTVWSCST CRTWSCST
Manufacturer, type, and X (except when value is
model (MFRTYPMDL) *WSCST) X
Workstation customizing
object (WSCST) X X
Library (of workstation
customizing object) X X
Source member (SRCMBR) X X
Source file (SRCFILE) X X
Library (of source file) X X
Twinaxial Displays
Twinaxial Keyboard Translation Table Entries (Mode= Shift State= )
Key or Function Hexadecimal Data Key or Function Hexadecimal Data
Scan Scan
Code Old New Old New Code Old New Old New
ASCII Displays
ASCII to Keyboard Function Mapping Table
Tag Key Sequence Hexadecimal Data
ATN
BASE
BOTPAG
BSP
CLEAR
CLOSE
CSRUP
CSRDOWN
CSRLEFT
CSRRIGHT
CSRSEL
DISC
DLT
DUP
Work Sheets for Customizing ASCII Printers That Use the Host Print
Transform Function
The following tables are for you to copy and use as work sheets for customizing an
ASCII printer that uses host print transform function.
Table 45. Command Parameters for ASCII Printers That Use the Host Print Transform Function
Command Parameter Value
CRTDEVPRT TRANSFORM *YES
MFRTYPMDL
WSCST
LIB
RTVWSCST DEVTYPE *TRANSFORM
MFRTYPMDL
SRCMBR
SRCFILE
LIB
TEXT
CRTWSCST WSCST
LIB
SRCMBR
SRCFILE
LIB
Work Sheet for Customizing ASCII Printers That Use the Emulator on
the Display
The following tables are for you to copy and use as work sheets for customizing an
ASCII printer that uses the emulator on the display.
Work Sheets ASCII Printers Attached to 3477 Model H, 3486, 3487, and
3488 Displays
Table 61. Printer Function Tags for Printers Attached to 3477 Model H Displays
Tag Description Data
FWDRMOV Forward relative movement VAROFFSET =
VARLEN=
VARTYPE=
VARMAX=
ADJUST=
CNVNUM=
CNVDEN=
DATA=
BCKRMOV Backward relative movement VAROFFSET =
VARLEN=
VARTYPE=
VARMAX=
ADJUST=
CNVNUM=
CNVDEN=
DATA=
PAGLENI Set page length in inches VAROFFSET=
VARLEN=
VARTYPE=
VARMAX=
ADJUST=
CNVNUM=
CNVDEN=
DATA=
Work Sheets for ASCII Printers That Use the Emulator on the
Workstation Controller
The following tables are for you to copy and use as work sheets to customize ASCII
printers that use the emulator on the workstation controller.
Work Sheet for Printer Function Tags with Only a Data Parameter
Tag Description Hexadecimal Data
BELL Bell DATA=
BSP Backspace DATA=
CARRTN Carrier return DATA=
ENDBOLD End bold printing DATA=
ENDSUBS End subscript DATA=
ENDSUPS End superscript DATA=
ENDUS End underscore DATA=
FNTGPFT Set font global for PFT DATA=
FORMFEED Form feed DATA=
INITPRT Initialize printer DATA=
INITVON Initialization at vary on DATA=
LINEFEED Line feed DATA=
PRTCTL Printer control flags DATA=
Valid values are:
'00'X No flags set
'01'X Printer response allowed
'02'X Page length change in middle of page not allowed
'30'X Inhibit computer output reduction (COR) mode
'80'X Font widths in 1/1440-inch units
RVSIDX Reverse index DATA=
SPACE Space DATA=
STRBOLD Start bold printing DATA=
STRPROP Start proportional space mode DATA=
STRSUBS Start subscript DATA=
STRSUPS Start superscript DATA=
STRUS Start underscore DATA=
Note: Printer function table (PFT) DEVCLASS = ASCIIPRT
Work Sheet for Printer Function Tags with a Variable and Relative Movement
Tag Description Data
BCKRMOV Backward relative movement VAROFFSET=
VARLEN=
VARTYPE=
VARMAX=
ADJUST=
CNVNUM=
CNVDEN=
DATA=
FWDRMOV Forward relative movement VAROFFSET=
VARLEN=
VARTYPE=
VARMAX=
ADJUST=
CNVNUM=
CNVDEN=
DATA=
PAGLENI Set page length in inches VAROFFSET=
VARLEN=
VARTYPE=
VARMAX=
ADJUST=
CNVNUM=
CNVDEN=
DATA=
PRICHRH Set primary character height VAROFFSET=
VARLEN=
VARTYPE=
VARMAX=
ADJUST=
CNVNUM=
CNVDEN=
DATA=
| Notices
| This information was developed for products and services offered in the U.S.A. IBM
| may not offer the products, services, or features discussed in this document in other
| countries. Consult your local IBM representative for information on the products and
| services currently available in your area. Any reference to an IBM product, program,
| or service is not intended to state or imply that only that IBM product, program, or
| service may be used. Any functionally equivalent product, program, or service that
| does not infringe any IBM intellectual property right may be used instead. However,
| it is the user’s responsibility to evaluate and verify the operation of any non-IBM
| product, program, or service.
| IBM may have patents or pending patent applications covering subject matter
| described in this document. The furnishing of this document does not give you any
| license to these patents. You can send license inquiries, in writing, to:
| IBM Director of Licensing
| IBM Corporation
| 500 Columbus Avenue
| Thornwood, NY 10594
| U.S.A.
| For license inquiries regarding double-byte (DBCS) information, contact the IBM
| Intellectual Property Department in your country or send inquiries, in writing, to:
| IBM World Trade Asia Corporation
| Licensing
| 2-31 Roppongi 3-chome, Minato-ku
| Tokyo 106, Japan
| The following paragraph does not apply to the United Kingdom or any other
| country where such provisions are inconsistent with local law:
| INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
| PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
| OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
| OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
| PARTICULAR PURPOSE. Some states do not allow disclaimer of express or
| implied warranties in certain transactions, therefore, this statement may not apply to
| you.
| Any references in this information to non-IBM Web sites are provided for
| convenience only and do not in any manner serve as an endorsement of those
| Web sites. The materials at those Web sites are not part of the materials for this
| IBM product and use of those Web sites is at your own risk.
| Licensees of this program who wish to have information about it for the purpose of
| enabling: (i) the exchange of information between independently created programs
| and other programs (including this one) and (ii) the mutual use of the information
| which has been exchanged, should contact:
| IBM Corporation
| The licensed program described in this information and all licensed material
| available for it are provided by IBM under terms of the IBM Customer Agreement,
| IBM International Program License Agreement, or any equivalent agreement
| between us.
| Information concerning non-IBM products was obtained from the suppliers of those
| products, their published announcements or other publicly available sources. IBM
| has not tested those products and cannot confirm the accuracy of performance,
| compatibility or any other claims related to non-IBM products. Questions on the
| capabilities of non-IBM products should be addressed to the suppliers of those
| products.
| All statements regarding IBM’s future direction or intent are subject to change or
| withdrawal without notice, and represent goals and objectives only.
| This information is for planning purposes only. The information herein is subject to
| change before the products described become available.
| This information contains examples of data and reports used in daily business
| operations. To illustrate them as completely as possible, the examples include the
| names of individuals, companies, brands, and products. All of these names are
| fictitious and any similarity to the names and addresses used by an actual business
| enterprise is entirely coincidental.
| COPYRIGHT LICENSE:
| If you are viewing this information softcopy, the photographs and color illustrations
| may not appear.
| AFP
| Advanced Function Printing
| Advanced 36
| Application Development
| Application System/400
| APPN
| AS/400
| AS/400e series
| BookManager
| Client Access
| IBM
| InfoWindow
| Personal System/2
| PS/2
| OfficeVision
| OfficeVision for AS/400
| Operating System/400
| OS/400
| SAA
| 400
| Microsoft, Windows, Windows NT, and the Windows 95 logo are registered
| trademarks of Microsoft Corporation.
| UNIX is a registered trademark in the United States and other countries licensed
| exclusively through X/Open Company Limited.
| Other company, product, and service names may be trademarks or service marks
| of others.
Notices 397
398 OS/400 Workstation Customization Programming V4R3
Bibliography
This list of tasks related to workstation ISDN, as well as a description of the AS/400
customizing followed by the AS/400 books that implementation of ISDN and X.31 packet mode
describe them is provided to help you find more and circuit mode.
information about setting up your displays and LAN, Frame-Relay and ATM Support,
ASCII printers. SC41-5404, describes the AS/400 support for
IBM Token-Ring, Ethernet, distributed data
For more information about general AS/400 interface (DDI), and wireless local area
| system management tasks, see: networks and frame relay wide area networks.
| Backup and Recovery, SC41-5304, provides This manual includes information about
| information about planning a backup and bridged local area networks and the use of
| recovery strategy, the different types of media frame relay networks for connection to remote
| available to save and restore procedures, and local area networks.
| disk recovery procedures. It also describes Communications Management, SC41-5406,
| how to install the system again from backup. contains information on working with
| Central Site Distribution, SC41-5308, provides communications status, error handling and
| information about how to create and distribute recovery, performance, specific line speed, and
| media containing licensed programs, program subsystem storage requirements.
| temporary fixes (PTFs), and application Communications Configuration, SC41-5401,
| programs to other systems. This manual is for provides the application programmer with
| users who have the Distributed System information on configuring line, controller, and
| License Option (DSLO). device descriptions to communicate within a
| Security - Reference, SC41-5302, provides network. Additional configuration
| information on how system security support considerations are discussed.
| can be used. This includes information on how X.25 Network Support, SC41-5405, contains
| to protect your system and data from being information about using an AS/400 system in
| used by other people who do not have the an X.25 packet-switched network. This manual
| proper authorization, protect the data from includes descriptions of various connection
| intentional or unintentional damage or methods, diagnostic information, and
| destruction, keep security information configuration examples.
| up-to-date, and set up security on your system.
| System Operation, SC41-4203, provides the For more information about AS/400 national
| system operator or system administrator with language support, code pages, coded character
| information about controlling jobs, sending and set identifiers, and character identifiers in general,
| receiving messages, responding to error see:
| messages, starting and stopping the system, Application Display Programming, SC41-5715,
| using control devices, and managing your provides information about using DDS to
| AS/400 operations. create and maintain displays for applications.
This manual also describes creating and
For more information about AS/400 system working with display files on the system and
| communications and configuration in general, see: creating online help information.
| APPN Support, SC41-5407, provides National Language Support, SC41-5101,
| information about AS/400 Advanced provides planning information. Included is
| Peer-to-Peer Networking (APPN) support. This information about adding additional licensed
| manual describes the APPN concepts, programs, adding secondary languages, and
| functions, and features and contains changing the primary language of the system.
| information for configuring an APPN network.
Work Management, SC41-5306, provides the
| ISDN Support, SC41-5403, provides programmer with information about how to
| information about configuring and using effectively manage their system work load by
| integrated services digital network (ISDN). This changing work management objects to meet
| manual gives a conceptual description of their needs. This manual provides guidelines
Index 403
command (continued) control code
set ASCII character set (ACS) 108 ASCII device
set cursor address (CSRADR) 106 hexadecimal value 80
set cursor display off (CSROFF) 110 definition 17
set cursor display ON (CSRON) 110 control sequence
set graphic character set (GCS) 109 definition 17
set national language character set (NLCS) 109 example 81
sound alarm (ALARM) 107 controller
STRBYP (start printer data bypass) 110 ASCII
command, CL functional overview 75
Analyze Problem (ANZPRB) 30 local display functions 87
ANZPRB (Analyze Problem) 30 screen refresh function 87
Change Device Description (Display) (CHGDEVDSP) terminal disconnect function 87
27 toggle display indicators 88
Change Device Description (Printer) (CHGDEVPRT) twinaxial device emulation 77
27 twinaxial
CHGDEVDSP (Change Device Description (Display)) keyboard translation table specifications 51
27 working with the keyboard translation table 41
CHGDEVPRT (Change Device Description (Printer)) workstation
27 preparing for customizing 6
Create Authorized Program Analysis Report country requirements
(CRTAPAR) 31 ASCII display 78
Create Work Station Customizing Object twinaxial display 47
(CRTWSCST) 5, 23 CPI (set characters per inch) tag
CRTAPAR (Create Authorized Program Analysis printers that use emulator on display 212, 223
Report) 31 printers that use emulator on workstation controller
CRTWSCST (Create Work Station Customizing 255
Object) 5, 23 printers that use host print transform function 163
Delete Work Station Customizing Object CPICOR (set characters per inch in COR mode) tag
(DLTWSCST) 5 printers that use emulator on display 223
Display File Description (DSPFD) 22 printers that use host print transform function 163
Display Job Log (DSPJOBLOG) 21 Create Authorized Program Analysis Report (CRTAPAR)
Display Library (DSPLIB) 21 command 31
DLTWSCST (Delete Work Station Customizing
Create Work Station Customizing Object (CRTWSCST)
Object) 5
command 5, 23
DSPFD (Display File Description) 22
creating
DSPJOBLOG (Display Job Log) 21
APAR (authorized program analysis report) 31
DSPLIB (Display Library) 21
authorized program analysis report (APAR) 31
Grant Object Authority (GRTOBJAUT) 25
customizing object 23, 24
GRTOBJAUT (Grant Object Authority) 25
errors and recovery 24
Restore Object (RSTOBJ) 30
workstation customizing object 5, 23
Retrieve Work Station Customizing Object Source
creating the workstation customizing object 200
(RTVWSCST) 5
RSTOBJ (Restore Object) 30 CRTAPAR (Create Authorized Program Analysis Report)
RTVWSCST (Retrieve Work Station Customizing command 31
Object Source) 5 CRTWSCST (Create Work Station Customizing Object)
Start Printer Writer (STRPRTWTR) 28 command 5, 23
STRPRTWTR (Start Printer Writer) 28 CSRADR (set cursor address) tag 106
Vary Configuration (VRYCFG) 27 CSROFF (set cursor display off) command 110
VRYCFG (Vary Configuration) 27 CSRON (set cursor display on) command 110
Work with Configuration Status (WRKCFGSTS) 28 cursor address (CSRADR) tag 106
WRKCFGSTS (Work with Configuration Status) 28 cursor address tag, extended (XCSRADR) 114
command sequence 80 customization schedule, planning the 148
comments in tag language source 20 customizing
completing ASCII display 73
source changes 22 determining mapping tables 92
configuration outbound processing 95
varying on 27 restrictions 90
working with status 28 setting up 369
ASCII printer, attached to twinaxial display
limitations 141
Index 405
device display (continued)
supported ASCII (continued)
retrieving source 11 source structure 93
unsupported tag language 20
retrieving source 13 terminal disconnect function 87
varying on 27 toggle display indicators 88
device description update screen table 37, 89
character identifier 4 update screen tags 104
display customizing overview 35
changing 27 determining whether customizable 35
keyboard language type 4 mapping table
printer 132-column support 116
changing 27 ASCII to EBCDIC entry format 95
DFTASCCP (default ASCII code page) tag EBCDIC-to-ASCII entry format 117
printers that use host print transform function 189 set cursor address command 106
DFTFNTID (default font ID) tag set graphic character set command 109
printers that use emulator on workstation controller start and end printer data bypass 110
256 update screen table, insert cursor command 110
diacritic characters update screen table, set national language
definition 56 character set 109
entry format 56 update screen table entry format 95
twinaxial scan codes 56 mapping tables, overview
display ASCII display screen 89
ASCII 89 preparing for customizing 7
ASCII-to-EBCDIC mapping table 37, 86 twinaxial
ASCII-to-EBCDIC mapping table format 123 code page standards 47
ASCII to keyboard function mapping table 37, 87 customizing a 3477 Model H twinaxial display for
binary value addressing format 101 diacritic characters 68
character sets 78 customizing overview 39
code pages 78 customizing restrictions 48
command sequence 79 diacritic character entry format 56
commands for unsupported displays 90 keyboard layouts 307
control character 87 language requirements 47
control codes 79 list of supported 36
control sequence 87 planning work sheet 375
customizing overview 73 restrictions 62
customizing restrictions 90 setting up to customize 3477 371
customizing unsupported 74 source structure 62
decimal numeric character addressing format tag language 20
100 using the tags to customize 62
determining mapping tables to customize 92 work sheet for planning customization 374
EBCDIC-to-ASCII mapping table 37, 89 Display File Description (DSPFD) command 22
entry format 119 Display Job Log (DSPJOBLOG) command 21
inbound and outbound processing 84 Display Library (DSPLIB) command 21
keyboard function mapping table 119 display setup commands 108
keyboard mapping table 85 displaying
keyboard operation 80 file description 22
keyboard tags 119 job log 21
list of mapping tables 37 library 21
list of supported 36 DKBDTBL (ASCII to keyboard function mapping table)
mapping graphic character data 86 tag 119
mapping local display functions 87 DLTWSCST (Delete Work Station Customizing Object)
mapping table, inbound and outbound processing command 5
84 double character height
mapping tables, list of 92 printers that use emulator on display 213
mapping twinaxial function key requests 87 drawer selection (DWRSLT) tag
planning work sheet 376 printers that use emulator on display 213
port sharing 92 printers that use emulator on workstation controller
screen refresh function 87 256
setting state for inbound data processing 88 printers that use host print transform function 174
setting up to customize 369 DSCNTBL (update screen table) tag 95
Index 407
end translation printer definition table (ETRNEBCDIC) errors and recovery (continued)
tag retrieving the source 14
printers that use emulator on display 221 varying on device 30
end underscore varying on the customized device 28
printers that use emulator on display 221 escape sequence
printers that use host print transform function 162 definition 17
end underscore (ENDUS) tag example 81
printers that use emulator on workstation controller ETRNEBCDIC (end translation printer definition table)
250 tag
end workstation object (EWSCST) tag 18 printers that use emulator on display 221
ENDBOLD (end bold highlighting) tag EWSCST (end workstation object) tag 18
printers that use emulator on workstation controller example
250 3151 ASCII display character codes and code
ENDBYP (end printer data bypass) command 110 sequences 80
ending delimiter customizing 3477 Model H twinaxial display for
for tag identifier 20 diacritic characters 68
ENDSUBS (end subscript) tag customizing DEC VT-320 display in VT-300 mode
printers that use emulator on workstation controller 125
250 customizing directly attached Hewlett-Packard
ENDSUPS (end superscript) tag LaserJet Series III printer 266
printers that use emulator on workstation controller customizing Hewlett-Packard LaserJet Series IIP
250 printer attached to 3477 twinaxial display 227
ENDUS (end underscore) tag printers that use host print transform function
printers that use emulator on workstation controller customizing Hewlett-Packard LaserJet 4 printer
250 201
enhanced keyboard workstation customizing source code
layout 309 3151 ASCII display 321
scan codes 44 3477 twinaxial display with attached ASCII printer
enhanced keyboard scan codes 43 311
entry format 4019 ASCII printer 334
translation table 4029 ASCII printer 328
blank keys and unassigned scan codes 57 HP4 ASCII printer 359
diacritic characters 56 extended set cursor address (XCSRADR) tag 114
EBCDIC character translations 54 extended set cursor address command 114
function keys 58 F
proof space character 58 fax size entry (FAXSIZE) tag
envelope size (ENVSIZXFM) tag printers that use host print transform function 190
printers that use host print transform function 156 fax size transform (FAXSIZXFM) tag
envelope size entry (ENVSIZE) tag printers that use host print transform function 190
printers that use host print transform function 156 fax size transform(FAXSIZXFM) tag
ENVSIZE (envelope size entry) tag printers that use host print transform function 190
printers that use host print transform function 156 fax support, customizing 189
ENVSIZXFM (set envelope size) tag FAXSIZE (fax size entry) tag
printers that use host print transform function 156 printers that use host print transform function 190
EPAGSIZXFM (end page size for host print transform FAXSIZXFM (fax size transform) tag
function) tag printers that use host print transform function 190
EPAGSIZXFM (end page size for host print transform field-based highlighting 96
function) 157 file description
EPDFTMAPTBL (end default EBCDIC-to-ASCII mapping displaying 22
table) tag FKEY (function key) tag 122
printers that use emulator on workstation controller FNTGPDT (global fonts for printer definition table) tag
246 printers that use emulator on display 214
EPMLGMAPTBL (end multilanguage EBCDIC-to-ASCII FNTGPFT (set global font for PFT) tag
mapping table) tag printers that use emulator on workstation controller
printers that use emulator on workstation controller 250
248 FNTGRNG (global font range) tag
EPSON 150 printers that use emulator on display 214
errors and recovery FNTGRP (font group) tag
changing the customizing source 21 printers that use host print transform function 181
creating the customizing object 24 FNTGRPE (font group entry) tag
planning 9 printers that use host print transform function 181
Index 409
horizontal relative movement (HORRMOV) tag host print transform function (continued)
printers that use host print transform function 165 PRTQLTY (print quality) tag 180
horizontal spacing reverse half line feed function 171
printers that use host print transform function 162 reverse line feed function 171
HORRMOV (horizontal relative movement) tag select next side printing in duplex 178
printers that use host print transform function 165 set lines per inch (LPI) tag 171
host print transform function set tumble duplex printing 178
backspacing function 162 setting simplex printing 178
bell function 153 simplex printing, setting 178
carrier return function 153 space function 167
customizing an ASCII printer 145 start bold printing functions 161
customizing highlighting 161 start subscript functions 173
duplex printing function 178 start superscript functions 173
EFNTGRP (end font group) tag 182 start underscore functions 162
EINDFNT (end individual font) tag 183 vertical movement functions 167
end bold printing function 161 HP4 ASCII printer example 359
end font group (EFNTGRP) tag 182 HPPCL4 150
end individual font (EINDFNT) tag 183 HPPCL4I 150
end page size (EPAGSIZXFM) tag 157 HPPCL5I 150
end subscript functions 173
end superscript functions 173 I
end underscore function 162 IBMPPDS3 150
EPAGSIZXFM (end page size) tag 157 IBMPPDS3I 150
FNTGRP (font group) tag 181 IBMPPDS4 150
FNTGRPE (font group entry) tag 181 IBMPPDS4I 150
font group (FNTGRP) tag 181 inbound processing
font group entry (FNTGRPE) tag 181 description 84
FOREGRND (foreground color) tag 174 setting the state 88
foreground color (FOREGRND) tag 174 indexing functions
form feed function 168 printers that use host print transform function 173
half line feed function 168 INDFNT (individual font) tag
highlighting 161 printers that use host print transform function 182
horizontal spacing functions 162 INDFNTE (individual font entry) tag
indexing functions 173 printers that use host print transform function 182
INDFNT (individual font) tag 182 individual font (INDFNT) tag
INDFNTE (individual font entry) tag 182 printers that use host print transform function 182
individual font (INDFNT) tag 182 individual font entry (INDFNTE) tag
individual font entry (INDFNTE) tag 182 printers that use host print transform function 182
initializing printer function 153 initialize at vary on (INITVON) tag
jog output tray function 177 printers that use emulator on workstation controller
line feed function 168 250
lines per inch (LPI) tag 171 initialize printer (INITPRT) tag
LPI (set lines per inch) tag 171 printers that use emulator on workstation controller
page length in lines (PAGLENL) tag 158 250
page size (PAGSIZXFM) tag 157 initializing printer
page size entry (PAGSIZE) tag 157 printers that use emulator on display 215
PAGLENL (page length in lines) tag 158 printers that use host print transform function 153
PAGSIZE (page size entry) tag 157 INITPRT (initialize printer) tag
PAGSIZXFM (page size) tag 157 printers that use emulator on workstation controller
paper orientation (PRTORIENT) tag 179 250
print quality (PRTQLTY) tag 180 INITVON (initialize at vary on) tag
printer control functions 153 printers that use emulator on workstation controller
printer data stream (PRTDTASTRM) tag 149 250
printers that use host print transform function INSCSR (insert cursor) command 110
reset printer (RESETPRT) tag, using host print insert cursor (INSCSR) command 110
transform function 154 integer value
RESETPRT (reset printer) tag, using host print definition 21
transform function 154 invalid scan codes, changing source entries 61
proportional space function 167
PRTDTASTRM (printer data stream) tag 149
J
job log
PRTORIENT (paper orientation) tag 179
displaying 21
M
K make/break keys 42
keyboard 48 mapping 187
122-key data entry 308 tag
122-key typewriter 308 EBCASCTBLE (EBCDIC-to-ASCII entry), using
5250 data entry 307 the host print transform function 186
5250 typewriter 308 mapping books to tasks 399
ASCII display mapping table
function tag 120 ASCII display
operation 80 ASCII-to-EBCDIC 37, 86
enhanced 309 ASCII-to-EBCDIC entry format 123
mapping table, ASCII 85 ASCII to keyboard function 37, 87
twinaxial 307 binary value addressing format 101
determining which translation table to customize control character 87
51 control sequence 87
translation table 41 decimal numeric character addressing format
using the tags to customize 62 100
keyboard translation state table (TKSTATE) tag 65 determining which to customize 92
keyboard translation table (TKBDTBL) tag 63 EBCDIC-to-ASCII 37, 89
keys entry format for update screen table 95
function key tag for ASCII display 122 insert cursor command 110
function keys for twinaxial display 58 keyboard 85
make/break 42 list of 77
mapping graphic character data 86
overview 84
L set cursor address command 106
language set graphic character set command 109
requirements update screen table 37, 89
twinaxial display 47 ASCII printer 241
support ASCII control code (ASCIICTL), for printers that
primary language 4 use host print transform function 188
secondary language 4 ASCIICTL (ASCII control code) tag, for printers
tag for workstation customizing 20 that use host print transform function 188
language requirements overview 142
ASCII display 78 overview, printers that use emulator on display
length of page, setting 206
printers that use host print transform function 157 overview, printers that use emulator on
library workstation controller 239
displaying 21 overview, printers that use host print transform
limitations function 146
ASCII printer attached to twinaxial display 141 ASCII printer attached to twinaxial display
customizing 3 printer function tag, printers that use emulator on
line feed (LINEFEED) tag display 209
printers that use emulator on display 215 ASCII to keyboard function
printers that use emulator on workstation controller entry format 119
250 customizing
printers that use host print transform function 168 EBCDIC-to-ASCII, for printers that use host print
LINEFEED (line feed) tag transform function 185
printers that use emulator on display 215 default printer EBCDIC-to-ASCII 239
printers that use emulator on workstation controller determining which ASCII printer table to customize
250 243
printers that use host print transform function 168 display station
lines per inch (LPI) tag set national language character set 109
printers that use emulator on display 216 update screen table, set national language
printers that use host print transform function 171 character set 109
list of device types that can be customized 5 EBCDIC-to-ASCII entry format 117
Index 411
mapping table (continued) mapping table (continued)
keyboard translation table 41 tag (continued)
printer multilanguage EBCDIC-to-ASCII 241 PMLGEBCTBL (EBCDIC-to-ASCII), printers that
printers that use emulator on workstation controller use emulator on workstation controller 248
ASCII control code (ASCIICTL) 254 PMLGMAPTBL (multilanguage EBCDIC-to-ASCII),
ASCIICTL (ASCII control code) tag 254 printers that use emulator on workstation
tag controller 247
ASCII-to-EBCDIC (DASCTBL) 123 TKBDTBL (keyboard translation table) 63
DASCTBL (ASCII-to-EBCDIC) 123 update screen table 104
DEBCTBL (EBCDIC-to-ASCII) 117 update screen table
default EBCDIC-to-ASCII (PDFTEBCTBL), printers 132-column support 116
that use emulator on workstation controller 246 decimal numeric character addressing format
default EBCDIC-to-ASCII (PDFTMAPTBL), 100
printers that use emulator on workstation entry format 95
controller 246 set national language character set 109
EBCASCTBL (EBCDIC-to-ASCII), for printers that start and end printer data bypass 110
use host print transform function 186 mapping text symbols 104
EBCDIC-to-ASCII (DEBCTBL) 117 margin (MARGIN) tag
EBCDIC-to-ASCII (EBCASCTBL), for printers that printers that use emulator on workstation controller
use host print transform function 186 259
EBCDIC-to-ASCII (PMLGEBCTBL), printers that MARGIN (set margin) tag
use emulator on workstation controller 248 printers that use emulator on workstation controller
EBCDIC-to-ASCII table entry (EBCASCTBLE), 259
using the host print transform function 186 matching command parameters 373
EFNTMAP (end font ID mapping), printers that multilanguage EBCDIC-to-ASCII mapping table
use emulator on workstation controller 258 printers that use emulator on workstation controller
end default EBCDIC-to-ASCII (EPDFTMAPTBL), 241
printers that use emulator on workstation multilanguage EBCDIC-to-ASCII mapping table
controller 246 (EPMLGMAPTBL) tag, end
end font ID mapping (EFNTMAP), printers that printers that use emulator on workstation controller
use emulator on workstation controller 258 248
end multilanguage EBCDIC-to-ASCII multilanguage EBCDIC-to-ASCII mapping table
(EPMLGMAPTBL), printers that use emulator on (PMLGMAPTBL) tag
workstation controller 248 printers that use emulator on workstation controller
EPDFTMAPTBL (end default EBCDIC-to-ASCII), 247
printers that use emulator on workstation
controller 246
EPMLGMAPTBL (end multilanguage N
EBCDIC-to-ASCII), printers that use emulator on next side printing in duplex
workstation controller 248 printers that use emulator on display 225
FNTMAP (font ID mapping), printers that use printers that use host print transform function 178
emulator on workstation controller 257 NLCS (set national language character set) command
FNTMAPE (font mapping table entry), printers that 109
use emulator on workstation controller 258 no-print border (NOPRTBDR) tag
font ID mapping (FNTMAP), printers that use printers that use host print transform function 151
emulator on workstation controller 257 nonhexadecimal value
font mapping table entry (FNTMAPE), printers that allowable length for tag identifier 20
use emulator on workstation controller 258 NOPRTBDR (no-print border) tag
font width (PFNTWTH), printers that use emulator printers that use host print transform function 151
on workstation controller 247 Notices 395
keyboard translation table (TKBDTBL) 63
multilanguage EBCDIC-to-ASCII (PMLGMAPTBL),
printers that use emulator on workstation
controller 247
O
object
PDFTEBCTBL (default EBCDIC-to-ASCII), printers
customizing, creating 23
that use emulator on workstation controller 246
restoring 30
PDFTMAPTBL (default EBCDIC-to-ASCII),
structure of customizing 18
printers that use emulator on workstation
verifying workstation customizing object is created
controller 246
25
PFNTWTH (font width), printers that use emulator
object authority
on workstation controller 247
granting 25
Index 413
planning (continued) printer (continued)
work sheet (continued) ASCII, directly attached (continued)
customizing ASCII printer attached to twinaxial function table 241
display 386 planning work sheet 389
customizing ASCII printers that use host print source structure 244
transform function 379 tag language 244, 262
customizing twinaxial display 375 using the tags to customize, printers that use
workstation customizing emulator on workstation controller 246
introduction 3 ASCII, printers that use host print transform function
setting up customizing 7 planning work sheet 379
things you need to have and do 6 determining whether customizable 135
workstation customizing work sheets 373 example
planning the customization schedule 148 customizing Hewlett-Packard LaserJet 4 201
PMLGEBCTBL (EBCDIC-to-ASCII mapping table) tag customizing Hewlett-Packard LaserJet Series III
printers that use emulator on workstation controller 266
248 customizing Hewlett-Packard LaserJet Series IIP
PMLGMAPTBL (multilanguage EBCDIC-to-ASCII attached to 3477 twinaxial display 227
mapping table) tag Printer
mapping table
printers that use emulator on workstation controller
ASCII printer definition, printers that use emulator
247
on display 206
port sharing, ASCII 92
printer
PPDS (page printer data stream)
mapping table
definition 7
ASCII printer definition, printers that use emulator
preparing for customizing
on display 207
ASCII printer 7
ASCII printer definition, printers that use emulator
displays 7, 35
on workstation controller 142, 239
workstation 5
ASCII printer function 241
PRICHRH (set primary character height) tag
Printer
printers that use emulator on workstation controller
mapping table
253
ASCII transform table, printers that use host print
print angle (PRTANGLE) 155
transform function 146
print media size, customizing 155
printer
print next character (PRTNXTCHR) 155
mapping table
print out tray position
default printer EBCDIC-to-ASCII 239
printers that use emulator on display 225
multilanguage EBCDIC-to-ASCII 241
print output tray position
supported ASCII
printers that use host print transform function 177
list of, printers that use host print transform
print quality (PRTQLTY) tag
function 139
printers that use emulator on display 218
work sheet for planning to customize
printers that use emulator on workstation controller
printers that use host print transform function
262
379
printers that use host print transform function 180
printers that use the emulator on the display 385
printer
printer, resetting (RESETPRT) tag
ASCII
printers that use host print transform function 154
planning to customize 7
printer control flags (PRTCTL) tag
preparation to customize, using host print
transform function 145 printers that use emulator on workstation controller
preparing for customizing 7 250
supported, attached to twinaxial display 205 printer controls
tag language 20 printers that use host print transform function 153
unsupported 146 printer data stream
ASCII, attached to twinaxial display EPSON 150
planning work sheet 386 HPPCL4 150
source structure 207 HPPCL4I 150
tag language, for printers that use emulator on HPPCL5I 150
display 208 printer data stream (PRTDTASTRM) tag
tag language, using the host print transform printers that use host print transform function 149
function 147 printer definition table
unsupported 206 printers that use emulator on display
ASCII, directly attached EFNTGPDT (end global fonts) tag 214
customizing unsupported 237 end global fonts (EFNTGPDT) tag 214
Index 415
proportional spacing mode retrieving
printers that use emulator on display 218 source
PRTCTL (printer control flags) tag device type 11
printers that use emulator on workstation controller errors and recovery 14
250 for devices not supported by IBM 13
PRTDTASTRM (printer data stream) tag keyboard language type 11
printers that use host print transform function 149 library name 11
PRTFEED (paper feed) tag physical file name 11
printers that use emulator on display 217 workstation customizing object source 5, 11, 13
printers that use emulator on workstation controller retrieving the workstation customizing source 146
261 reverse half line feed
PRTNXTCHR (print next character) 155 printers that use emulator on display 226
PRTORIENT (paper orientation) tag printers that use host print transform function 171
printers that use emulator on display 217, 225 reverse index (RVSIDX) tag
printers that use emulator on workstation controller printers that use emulator on workstation controller
261 251
printers that use host print transform function 179 reverse line feed
PRTQLTY (print quality) tag printers that use emulator on display 226
printers that use emulator on display 218 printers that use host print transform function 171
printers that use emulator on workstation controller road map for workstation customizing 4
262 RSTOBJ (Restore Object) command 30
printers that use host print transform function 180
RTVWSCST (Retrieve Work Station Customizing Object
publications, task index 399
Source) command 5
RVSIDX (reverse index) tag
Q printers that use emulator on workstation controller
251
QTXTSRC source file name 22
quality font download (SETQLTY) tag
printers that use emulator on display 219
S
scan code byte format 42
R scan codes
122-key style keyboard 45
RASEND, raster graphics end 154
5250-style keyboard 43
raster graphics end (RASEND) tag 154
diacritic characters 56
RASTERMODE (Raster mode) tag
enhanced keyboard 43
printers that use host print transform function 150
twinaxial keyboard 42
recovery
unassigned and not valid
from errors while changing source 21
changing translation table entries 61
from failure to create customizing object 24
scan codes, incorrect 61
from planning errors 9
SCNSIZE (set screen size) tag 113
from retrieving source errors 14
screen size (SCNSIZE) tag 113
from vary on errors 28
screen table (DSCNTBL) tag 95
reset printer (RESETPRT) tag
set ASCII character set (ACS) command 108
printers that use host print transform function 154
set characters per inch (CPI) tag
RESETPRT (reset printer) tag
printers that use emulator on display 212, 223
printers that use host print transform function 154
printers that use emulator on workstation controller
Restore Object (RSTOBJ) command 30
255
restoring
printers that use host print transform function 163
object 30
set characters per inch in COR mode (CPICOR) tag
restrictions
printers that use emulator on display 223
customizing ASCII display 90
printers that use host print transform function 163
customizing twinaxial display 48
set code page (CODEPAGE) tag
device constraints 3
printers that use emulator on display 212
remapping
set code page (CODPAGVAR) tag
122-key data entry keyboard scan codes 50
122-key typewriter keyboard scan codes 50 printers that use emulator on workstation controller
5250 data entry keyboard scan codes 51 252
5250 typewriter keyboard scan codes 50 set cursor address (CSRADR) tag 106
enhanced keyboard scan codes 51 set cursor display off (CSROFF) command 110
Retrieve Work Station Customizing Object Source set cursor display on (CSRON) command 110
(RTVWSCST) command 5
Index 417
start subscript (STRSUBS) tag syntax
printers that use emulator on workstation controller tag language
251 ASCII printer, directly attached 244
start superscript (STRSUPS) tag ASCII printer attached to twinaxial display 207
twinaxial display 62
printers that use emulator on workstation controller
tag language for
251
ASCII display 93
start underscore
printers that use host print transform function 162 syntax for printer function tags with variable and relative
start underscore (STRUS) tag movement
printers that use emulator on display 209
printers that use emulator on workstation controller
printers that use emulator on workstation controller
251
251, 253
starting
printer writer 27
underscore 17
starting bold printing
T
printers that use emulator on display 211 table
starting underscore 122-key data entry keyboard scan codes restricted
printers that use emulator on display 221 from remapping 50
STRBOLD (start bold printing) tag 122-key typewriter keyboard scan codes restricted
printers that use emulator on workstation controller from remapping 50
251 5250 data entry keyboard scan codes restricted from
STRBYP (start printer data bypass) command 110 remapping 51
STRBYP (start printer data bypass) tag 110 5250 typewriter keyboard scan codes restricted from
STRPROP (start proportional space mode) tag remapping 50
ASCII character code to hexadecimal value 367
printers that use emulator on workstation controller ASCII display mapping 77
251 ASCII-to-EBCDIC mapping 37
STRPRTWTR (Start Printer Writer) command 28 ASCII to keyboard function mapping table 37
STRSUBS (start subscript) tag EBCDIC character code to hexadecimal value 367
printers that use emulator on workstation controller EBCDIC-to-ASCII mapping table 37
251 enhanced keyboard scan codes restricted from
STRSUPS (start superscript) tag remapping 51
printers that use emulator on workstation controller example twinaxial keyboard translation table entries
251 70
structure IBM twinaxial displays and supported keyboards 39
customizing object 18 language type and keyboard type considerations 66
source supported diacritic characters by language group
ASCII display 93 56
ASCII printer attached to twinaxial display 207 translation table entry format
twinaxial displays 62 aid generating functions 60
STRUS (start underscore) tag blank keys 58
cursor movement functions 58
printers that use emulator on workstation controller
diacritic characters 56
251
field exit functions 59
STRWIDE (start double-wide continuous) tag
function (Cmd) key functions 60
printers that use emulator on display 213
immediate functions 59
subscript functions
incorrect scan codes 58
printers that use emulator on display 219, 220
mapping EBCDIC characters 54
printers that use host print transform function 173
nonaid functions 59
subscripting
proof space character 58
printers that use host print transform function 173
shift key functions 60
superscript functions
update screen table for ASCII display 37, 89
printers that use emulator on display 220
values for the language type (LANGTYPE) parameter
printers that use host print transform function 173
63
superscript tags
table name (TBLNAME) tag
printers that use emulator on workstation controller printers that use emulator on display 220
262 tag 17, 244
superscripting
ASCII control code mapping (ASCIICTL), for printers
printers that use host print transform function 173
that use host print transform function 188
supported
ASCII display keyboard function 120
ASCII printer 237
Index 419
tag (continued) tag (continued)
printers that use emulator on display (continued) printers that use emulator on display (continued)
CPICOR (set characters per inch in COR mode) proportional spacing mode (STRPROP) 218
223 PRTFEED (paper feed) 217
DBLCHRH (set double character height) 213 PRTORIENT (paper orientation) 217, 225
drawer selection (DWRSLT) 213 PRTQLTY (print quality) tag 218
duplex printing (DUPXPRT) 224 quality font download (SETQLTY) 219
DUPXPRT (duplex printing) 224 reverse half line feed (RVSHLFLINEFEED) 226
DWRSLT (drawer selection) 213 reverse line feed (RVSLINEFEED) 226
EFNTGPDT (end global fonts for printer definition RVSHLFLINEFEED (reverse half line feed) 226
table) 214 RVSLINEFEED (reverse line feed) 226
end bold printing (ENDBOLD) 211 select next side printing in duplex
end double-wide continuous (ENDWIDE) 213 (NXTDUPXPRT) 225
end global fonts for printer definition table set characters per inch (CPI) 212, 223
(EFNTGPDT) 214 set characters per inch in COR mode (CPICOR)
end translation printer definition table 223
(ETRNEBCDIC) 221 set code page (CODEPAGE) 212
end underscore (ENDUS) 221 set double character height (DBLCHRH) 213
ENDBOLD (end bold printing) 211 set lines per inch (LPI) 216
ENDPROP (proportional space mode) 218 set page length in inches (PAGLENI) 209
ENDSUBS (subscript function) 220 set page length in lines (PAGLENL) 216
ENDSUPS (superscript function) 220 set simplex printing (SMPXPRT) 226
ENDUS (end underscore) 221 set standard character height (STDCHRH) 219
ENDWIDE (end double-wide continuous) 213 set tumble duplex printing (TUMDUPXPRT) 226
ETRNEBCDIC (end translation printer definition set vertical units (VERUNT) 222
table) 221 set vertical units in half (VERUNTHLF) 227
FNTGPDT (global fonts for printer definition table) SETQLTY (quality font download) 219
214 SMPXPRT (set simplex printing) 226
FNTGRNG (global font range) 214 SPACE (space function) 219
FOREGRND (foreground color) 215 space function (SPACE) 219
foreground color (FOREGRND) 215 start bold printing (STRBOLD) 211
form feed (FORMFEED) 215 start double-wide continuous (STRWIDE) 213
FORMFEED (form feed) 215 start underscore (STRUS) 221
forward relative movement (FWDRMOV) 209 STDCHRH (set standard character height) 219
FWDRMOV (forward relative movement) 209 STRBOLD (start bold printing) 211
global font range (FNTGRNG) 214 STRPROP (proportional spacing mode) 218
global fonts for printer definition table (FNTGPDT) STRSUBS (subscript function) 219
214 STRSUPS (superscript function) 220
half line feed (HLFLINEFEED) 224 STRUS (start underscore) 221
HLFLINEFEED (half line feed) 224 STRWIDE (start double-wide continuous) 213
initialize printer (INITPRT), printers that use subscript function (ENDSUBS) 220
emulator on display 215 subscript function (STRSUBS) 219
INITPRT (initialize printer), printers that use superscript function (ENDSUPS) 220
emulator on display 215 superscript function (STRSUPS) 220
jog output tray (JOGOUTTRAY) 225 table name (TBLNAME) 220
JOGOUTTRAY (jog output tray) 225 TBLNAME (table name) 220
line feed (LINEFEED) 215 translation entry (ETRNEBCDIC) 221
LINEFEED (line feed) 215 translation printer definition table (TRNEBCDIC)
LPI (set lines per inch) 216 221
NXTDUPXPRT (select next side printing in TRNEBCDIC (translation printer definition table)
duplex) 225 221
PAGLENI (set page length in inches) 209 TRNEBCDICE (translation entry) 221
PAGLENL (set page length in lines) 216 TUMDUPXPRT (set tumble duplex printing) 226
paper feed (PRTFEED) 217 variable line spacing (VARLSPC) 209
paper orientation (PRTORIENT) 217, 225 VARLSPC (variable line spacing) 209
PDFNTBL (ASCII printer definition table) 208 VERUNT (set vertical units) 222
print quality (PRTQLTY) 218 VERUNTHLF (set vertical units in half) 227
printer function 209 printers that use emulator on workstation controller
printer function with variable and relative ASCII control code mapping (ASCIICTL) 254
movement 209 ASCII printer function table (PFCNTBL) 247
proportional space mode (ENDPROP) 218 ASCIICTL (ASCII control code mapping) 254
Index 421
tag (continued) tag (continued)
printers that use emulator on workstation controller printers that use host print transform function
(continued) (continued)
STRSUBS (start subscript) 251 INITPRT (initialize printer) 153
STRSUPS (start superscript) 251 jog output tray (JOGOUTTRAY) 177
STRUS (start underscore) 251 JOGOUTTRAY (jog output tray) 177
VARCPI (variable characters per inch) 253 line feed (LINEFEED) 168
variable characters per inch (VARCPI) 253 LINEFEED (line feed) 168
variable line spacing (VARLSPC) 253 LPI (set lines per inch) 171
VARLSPC (variable line spacing) 253 NOPRTBDR (set no-print border) 151
printers that use host print transform function 157, NXTDUPXPRT (select next side printing in
163 , 179, 187 duplex) 178
ASCCPINFO (ASCII code page information) 188 page length in inches (PAGLENI) 157
ASCII code page information (ASCCPINFO) 188 page length in lines (PAGLENL) 158
backspace (BSP) 162 PAGLENI (page length in inches) 157
bell (BELL) 153 PAGLENL (page length in lines) 158
BELL (bell) 153 print quality (PRTQLTY) 180
BSP (backspace) 162 proportional space (STRPROP) 167
carrier return (CARRTN) 153 PRTQLTY (print quality) 180
CARRTN (carrier return) 153 reverse half line feed (RVSHLFLINEFEED) 171
code page (CODEPAGE) 188 reverse line feed (RVSLINEFEED) 171
CODEPAGE (code page) on 188 RVSHLFLINEFEED (reverse half line feed) 171
CPICOR (set characters per inch in COR mode) RVSLINEFEED (reverse line feed) 171
163 select next side printing in duplex
default ASCII code page (DFTASCCP) 189 (NXTDUPXPRT) 178
DFTASCCP (default ASCII code page) 189 select paper drawer number (DWRNBR) 175
drawer selection (DWRSLT) 174 set characters per inch in COR mode (CPICOR)
duplex printing (DUPXPRT) 178 163
DUPXPRT (duplex printing) 178 set lines per inch (LPI) 171
DWRNBR (select paper drawer number) 175 set no-print border (NOPRTBDR) 151
DWRSLT (drawer selection) 174 set simplex printing (SMPXPRT) 178
EBCASCTBL (EBCDIC-to-ASCII mapping table) set tumble duplex printing (TUMDUPXPRT) 178
186 SMPXPRT (set simplex printing) 178
EBCDIC-to-ASCII mapping table (EBCASCTBL) SPACE (space function) 167
186 space function (SPACE) 167
EEBCASCTBL (end EBCDIC-to-ASCII) 187 start bold printing (STRBOLD) 161
end bold printing (ENDBOLD) 161 start underscore (STRUS) 162
end EBCDIC-to-ASCII mapping table STRBOLD (start bold printing) 161
(EEBCASCTBL) 187 STRPROP (proportional space) 167
end proportional space (ENDPROP) 167 STRSUBS (subscript function) 173
end underscore (ENDUS) 162 STRSUPS (subscript function) 173
ENDBOLD (end bold printing) 161 STRUS (start underscore) 162
ENDPROP (end proportional space) 167 subscript function (ENDSUBS) 173
ENDSUBS (subscript function) 173 subscript function (STRSUBS) 173
ENDSUPS (superscript function) 173 subscript function (STRSUPS) 173
ENDUS (end underscore) 162 superscript function (ENDSUPS) 173
envelope size entry (ENVSIZE) 156 transform table (TRNSFRMTBL) 147
ENVSIZE (envelope size entry) 156 TRNSFRMTBL (transform table) 147
fax size entry (ENVSIZE) 190 TUMDUPXPRT (set tumble duplex printing) 178
FAXSIZE (fax size entry) 190 variable line spacing (VARLSPC) 171
FNTGRPE (font group entry) 181 VARLSPC (variable line spacing) 171
font group entry (FNTGRPE) 181 VERRMOV (backward relative movement) 169
FOREGRND (foreground color) 174 vertical relative movement (VERRMOV) 169
foreground color (FOREGRND) 174 PRTDTASTRM (printer data stream), for host print
form feed (FORMFEED) 168 transform function 149
FORMFEED (form feed) 168 PRTORIENT (paper orientation) 179
half line feed (HLFLINEFEED) 168 raster graphics end (RASEND) tag 154
HLFLINEFEED (half line feed) 168 Raster mode (RASTERMODE) 150
horizontal relative movement (HORRMOV) 165 RASTERMODE (Raster mode) 150
HORRMOV (horizontal relative movement) 165 reset printer (RESETPRT) 154
initialize printer (INITPRT) 153 RESETPRT (reset printer) 154
Index 423
typewriter keyboard varying on
122-key layout 308 device 27
5250 layout 308 errors and recovery 28
VERAMOV tag, vertical absolute move 168, 175
verifying
U customizing source retrieved successfully 15
unprintable area source changes complete 22
printers that use host print transform function 151 vary on is successful 32
unsupported ASCII display, customizing 74 workstation customizing object created 25
unsupported ASCII printer, customizing workstation customizing planning complete 10
printers that use emulator on workstation controller VERRMOV (vertical relative movement) tag
237 printers that use host print transform function 169
update screen table vertical absolute move (VERAMOV) tag 168, 175
132-column support 116 vertical line spacing
ASCII display printers that use host print transform function 171
insert cursor command 110 vertical movement
binary value addressing format 101 printers that use host print transform function 167
decimal numeric character addressing format 100 vertical origin (ADJVERORG) tag
description 89 printers that use emulator on display 222
entry format 95 vertical relative movement (VERRMOV) tag
general syntax 105 printers that use host print transform function 169
overview 37 VRYCFG (Vary Configuration) command 27
set cursor address command 106
set graphic character set command 109 W
start and end printer data bypass 110 work sheets
tag description 104 planning to customize displays 374
update screen table (DSCNTBL) tag 95 planning to customize printers that use host print
using font selection tags transform function 379
printers that use emulator on workstation controller planning to customize printers that use the emulator
264 on display 385
using set page length tag workstation customizing planning 373
printers that use emulator on workstation controller Work with Configuration Status (WRKCFGSTS)
263 command 28
using superscript and subscript tags working with
printers that use emulator on workstation controller configuration status 28
262 keyboard translation table 41
tag language for
ASCII display 93
V ASCII printer attached to twinaxial display 207
directly attached ASCII printer 244
value
twinaxial display 62
finding the hexadecimal code for tag 21
workstation
VARCPI (variable characters per inch) tag
ASCII
printers that use emulator on workstation controller list of mapping tables 37
253 mapping local display functions 87
variable characters per inch (VARCPI) tag mapping twinaxial function key requests 87
printers that use emulator on workstation controller screen refresh function 87
253 terminal disconnect function 87
variable line spacing (VARLSPC) tag toggle display indicators 88
printers that use emulator on display 209 ASCII display 92
printers that use emulator on workstation controller ASCII-to-EBCDIC mapping table 37, 86
253 ASCII to keyboard function mapping table 37, 87
printers that use host print transform function 171 binary value addressing format 101
VARLSPC (variable line spacing) tag character sets 78
printers that use emulator on display 209 code page 78
printers that use emulator on workstation controller command sequence 79
253 commands for unsupported displays 90
printers that use host print transform function 171 control character 87
Vary Configuration (VRYCFG) command 27 control codes 79
vary on control sequence 87
verifying success 32 customizing overview 73
Index 425
workstation customizing (continued)
work sheet for planning to customize printer
(continued)
printers that use host print transform function
379
workstation customizing object
creating 23
retrieving source 11, 13
verifying object is created 25
workstation customizing object, creating the 200
workstation customizing object, deleting the 200
workstation customizing object, specifying the 200
workstation customizing object is created, verifying 25
workstation object (WSCST) tag 18
WRKCFGSTS (Work with Configuration Status)
command 28
WSCST (workstation object) tag 18
X
XCSRADR (extended set cursor address) tag 114
AS/400e series
Workstation Customization Programming
Version 4
Overall, how satisfied are you with the information in this book?
How satisfied are you that the information in this book is:
When you send comments to IBM, you grant IBM a nonexclusive right to use or distribute your comments in any way
it believes appropriate without incurring any obligation to you.
Name Address
Company or Organization
Phone No.
___________________________________________________________________________________________________
Readers’ Comments — We’d Like to Hear from You Cut or Fold
SC41-5605-00 IBMR Along Line
_ _ _ _ _ _ _Fold
_ _ _ and
_ _ _Tape
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Please
_ _ _ _ do
_ _ not
_ _ _staple
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Fold
_ _ _and
_ _ Tape
______
NO POSTAGE
NECESSARY
IF MAILED IN THE
UNITED STATES
IBM CORPORATION
ATTN DEPT 542 IDCLERK
3605 Highway 52 N
ROCHESTER MN 55901-7829
________________________________________________________________________________________
Fold and Tape Please do not staple Fold and Tape
Cut or Fold
SC41-5605-00 Along Line
IBMR
SC41-5605-00
Spine information: