• Keine Ergebnisse gefunden

Keyboard/Display Storage

Im Dokument IBM 5280 (Seite 127-132)

The keyboard/display storage provides control information and refresh buffers for processing keystrokes and for displaying characters on the display screen. Each keyboard/display unit uses a separate portion of keyboard/display storage. The total size of the portion of keyboard/display storage used by each keyboard/display unit depends on the size of the refresh buffer necessary for the keyboard/display unit's screen.

The keyboard/display storage is loaded during system IPL from the IPL diskette.

The keyboard/display lOB in each partition contains the addresses of the keyboard/

display storage areas used by that partition's keyboard/display unit.

The following is a general description of the data areas and refresh buffer areas with-in keyboard/display storage. The addresses for each keyboard/display unit begwith-ins with an x, which represents hex F, B, 7, and 3 for keyboard/display units 1 through 4 respectively. For example, if all keyboard/display units have a screen size of 1920 characters, the keyboard/display storage for unit 1 begins at hex F400, for unit 2 at hex B400, for unit 3 at hex 7400, and tor unit 4 at nex 3400. There is also additional storage in a fifth section, which starts at hex 0000 and which is shared by the four units.

On a dual unit, the two keyboards share the same keyboard/display storage section.

The first keyboard (keyboard 0) uses the lower-numbered rows of the refresh buffer, control register 0, cursor address register 0, and status line refresh buffer 1.

The second keyboard (keyboard 1) uses the higher-numbered rows of the refresh buffer, control register 1, cursor address register 1, and status line refresh buffer 2.

The following illustration shows the format of keyboard/display storage as it is generated for IPL bv the system configuration program (SYSCON).

Keyboard/Display Storage 121

Ell 00 20 40 60 80 AD CO .EO.

Single Displays Storage

1

Area

xCOO Ir Monocase

Validity Table Exception Table xDOO

Not Assigned Diacritic Tables xEOO

Because the keyboard/display lOB in each partition contains pointers into the keyboard/display storage, the validity table, storage area, diacritic table, scan code translate table, and the Katakana translate table (if required) can be located any-where in keyboard/display storage as long as the tables that require alignment on a 256-byte boundary are properly aligned. However, the refresh buffer, status line refresh area, and display translate table for a particular keyboard must all be located in the same section of keyboard/display storage (section F, B, 7, or 3). The display translate table must always begin at address xFOO, and the display control area must begin at address xEAO of the appropriate section of keyboard/display storage.

REFRESH BUFFER AREA

The keyboard/display storage contains refresh buffers for each keyboard/display unit. These buffers act as refresh areas for display characters. The refresh area for the status line(s) is separated from the refresh area for the remainder of the screen.

This separate area is in addition to the refresh area appropriate for a particular screen size.

When a keystroke is processed by the keyboard/display microprocessor, it is trans-lated from the keystroke scan code to EBCDIC code. The EBCDIC code is placed into the current record buffer in main storage within the partition associated with the keyboard, and translated to display code. The display code is then placed into the refresh buffer in order to be displayed on the screen. The hexadecimal repre-sentations of screen attributes are also placed into the refresh area.

VALIDITY TABLE

The validity table defines:

• The EBCDIC values used in the alphabetic only, numeric only, and Katakana only character sets.

• The EBCDIC values of keys defined as diacritics.

• The EBCD IC values that have to be translated to uppercase when the monocase function is enabled.

• The scan codes of keys that are not typamatic.

• The scan codes of keys that can be shifted from lowercase alphameric only if a shift key (not including the Shift Lock key) is simultaneously pressed, such as the function keys to the left of the keyboard.

Keyboard/Display Storage 123

The validity table contains 1-byte entries that are in the following format:

Bit Meaning When 1

o

Ignore the typamatic action in the scan code.

1 Shift only if the shift key is pressed.

2 System use only (initialized to 0).

3 Translate EBCD IC code to uppercase if monocase function is enabled.

4 EBCD IC code used for diacritic.

5 EBCDIC code belonging to Katakana-only character set.

6 EBCDIC code belonging to numeric-only character set.

7 EBCD!C code belonging to a!pn3bctic en!y cn3r3ctcr set.

Bits 0 and 1 in the table are used when the table is accessed using a scan code. The 7-bit scan code is an index into the validity table to retrieve the corresponding 1-byte entry.

Bits 3 through 7 are used when the table is accessed using an EBCDIC. The value hex 40 is subtracted from the EBCDIC code to establish the offset into the table in order to retrieve the corresponding 1-byte entry.

STORAGE AREA

The storage area holds information needed for interpreting keystrokes and main-taining the status line, and a monocase exception table. Following is a description of the first 16 bytes of this storage area:

Byte Description

o

Display code for the insert mode indicator.

1 Display code for the alphabetic shift symbol.

2 Display code for the numeric shift symbol.

3 Display code for the hexadecimal shift symbol.

4 Display code for the Katakana shift symbol.

5 Scan code for the Hex key function.

6 Scan code for the Power On Reset key function.

7 Scan code for the Console key function.

S Not used.

9 Display code for the alphabetic-only shift symbol.

10 Display code for the numeric-only shift symbol.

11 Display code for the digits-only shift symbol.

12 Display code for the Katakana-only shift symbol.

13-15 Not used.

Monocase E xeeption T abte

Following the first 16 bytes is a monocase exception table. The monocase excep-tion table contains character values that cannot be conveniently converted from lowercase to uppercase. (See the logic shown below.) The table begins at displace-ment hex 10 into the storage area. The table contains pairs of bytes (lowercase code/uppercase code) that provide translation from lowercase EBCD IC to upper-case EBCDIC. The byte pairs are in ascending order of the EBCDIC for the lower-case values. The length of the table is variable, depending on the number of entries required. The table always ends with hex FFFF; if· the table contains no other entries, it contains only hex FFFF.

Exception dia-critic or hex key sequence during formatted data entry, or by keyboard operation hex OA [pass scan code] or 08 [pass EBCDIC] , or by the KACCPT instruction) that can be monocase, the system translates the lowercase EBCDIC to its corresponding uppercase EBCDIC. The following shows how the system translates the EBCDIC to monocase:

exception entry in table

table

DIACRITIC TABLE

Tho rli",,..ri1-i,.. 1-",hlo nrnuirloc: ,..nrnnnc:i1-o " ' ' ' ' ' "" ... v •• &".., ... ""..., ... ,... • ...., •• _ ... .., __ ••• ,..._ ... "'" _ _ _ _ • _ _ _ _ ... ,..,._ ... ,... ... .., .... , ... _. __ ... _ I=Rrn Ir ,..MOC: 1-h"'1- ronroc:ont tho rli",,..riti,.._

character pairs for characters defined as diacritic in the validity table.

The diacritic table is in two parts. Part 1 contains 2-byte entries for each diacritic defined. Byte 1 is the EBCDIC code for each diacritic and byte 2 is a pointer into part 2 of the table.

Part 2 of the diacritic table contains the EBCDIC code for each character that can be used with a diacritic-character pair and also contains the composite E BCD IC code that iepiesent5 the diocritic-chaiactei paiis.

The following shows how the diacritic table is used:

Part 1 Part 2

Im Dokument IBM 5280 (Seite 127-132)