MicroVMS
Workstation Software Release Notes, Version 3.2
AA-KP45A-TE
July 1987
This document provides supplemental information about Version 3.2 of
MicroVMS Workstation graphics software. It describes all the changes
between Version 3.2 and Version 3.0, lists problems and restrictions,
includes notes to existing documentation, and provides an appendix for
VMS data types.
This manual replaces the MicroVMS Workstation Release Notes, Version
3.0 and MicroVMS Workstation Release Notes, Version 3.1
Software Version VAX/VMS Version 4.5
First Printing, July 1987
©1987 -- DIGITAL EQUIPMENT CORPORATION
Please note
These on-line release notes contain corrections to sections 1.5.3,
1.6 and 1.6.1 to clarify new command file documentation and adds
sections 2.1.10 through 2.1.13, additional known problems.
These corrections were too late to be included in the printed release
notes.
Page 2
PREFACE
This document provides supplemental information about the Version 3.2
MicroVMS Workstation Software. It also describes all changes to the
software since Version 2.0. If you have not already done so, please
read the Read-Me First card included with your documentation.
1 INTENDED AUDIENCE:
This manual is for graphic programmers and users who should know about
new features, problems and restrictions, and changes to existing
documentation. All users should read this document before using the
MicroVMS Workstation graphics software.
2 DOCUMENT STRUCTURE:
The MicroVMS Workstation Release Notes, Version 3.2, is arranged in
three chapters and one appendix that cover the following topics:
o MicroVMS Workstation software features
o MicroVMS Workstation software problems and restrictions
o Notes to published documentation
o VMS Data Types
3 ASSOCIATED DOCUMENTS:
o VWS Installation Guide
o VWS User Guide
o VWS Programming Guide
o VWS Driver Manual
o MicroVMS Workstation Guide to Printing Graphics
4 CONVENTIONS:
Unless otherwise noted, the following conventions are used in this
Page 3
manual in displaying examples and the requirements of user input to
the system.
Convention Meaning
RETURN This symbol indicates that you press the key marked
RETURN.
CTRL x This symbol indicates that you must press the
key labeled CTRL while you simultaneously press
another key, for example, CTRL/C, CTRL/Y, CTRL/O.
$ SHOW TIME Command examples show all output lines or 05-JUN-1985
11:55:22 prompting characters that the system prints
or displays in black letters.
Red ink Indicates user input.
Ellipsis Vertical series of periods, or ellipsis, mean either
that not all the data that the system would
display in response to the particular command is
shown or that not all the data a user would enter is shown.
Hellipsis Horizontal ellipsis indicates that additional parameters,
values, or information can be entered.
[ ] Square brackets indicate that the enclosed
item is optional. (Square brackets are not, however,
optional in the syntax of a directory name in a file
specification or in the syntax of a substring
specification in an assignment statement.)
" The term quotation marks is used to refer to double
quotation marks. The term apostrophe is used to refer
to a single quotation mark.
Italics Italicized words indicate that you should
supply a value.
CHAPTER 1
MICROVMS WORKSTATION SOFTWARE FEATURES
This chapter describes major changes in the MicroVMS Workstation
software since Version 2.0. For additional changes, see Chapter 3.
1.1 CHANGES TO THE USER INTERFACE
The following changes are reflected in the VWS User's Guide:
o Color conversion method -- To set up your workstation for
color SIXEL printing, select the "Eight colors" option from
the Printer setup menu.
o To set up your printer for color SIXEL printing, select the
"Eight color" option from the Printer setup menu. See
section in the VWS User's Guide.
o Disable setup -- You can use logical name assignments to
disable certain setup features. See Appendix B in the VWS
User's Guide.
o Automatic login -- If automatic login is enabled, you need to
log in to the system only once. Terminal-emulator windows
you create will execute your login procedure automatically.
o Color display setup -- On color and intensity systems, you
can adjust the color shades, using the color setup options in
the Workstation Setup menu. On a monochrome system, this
setup item permits you to change between black, white, and
grey.
o Mouse fallback mechanism -- The pointer on the screen can be
moved by using the CTRL and SHIFT keys with the arrow keys.
When used with E4, E5, or E6, CTRL/SHIFT performs the same
functions as the three mouse buttons.
The keys support only the Click mouse function. They do not
support the Hold Down mouse function.
MICROVMS WORKSTATION SOFTWARE FEATURES Page 1-2
o The Window Options menu includes the following new options:
"Shrink to an icon" provides a user interface for
shrinking windows to icons.
"Additional options" allows you to change terminal setup
features for each terminal created by the VT220 emulator.
o The banner on the terminal emulator window is black,
regardless of window background color. (In previous
versions, the banner was the reverse of the window background
color.) On color and intensity workstations, the default is
also black but can be altered with the Color display setup
menu.
The "Print (portion of) screen" option of the Workstation
Options menu includes a change of the function on the SELECT
button on the mouse.
To select a portion of the screen for printing, click and
hold down the SELECT button instead of clicking the button
twice.
o The VT100 terminal emulator has been replaced by a VT220
terminal emulator.
o The format and contents of the Workstation Setup menu have
changed. Many new options have been added. The options
"Window memory size" and "Text scrolling rate" have been
removed.
1.2 CHANGES TO THE PROGRAMMING INTERFACE
The following sections describe changes to the programming interface
after UIS Version 2.0. These changes are documented in the VWS
Programmer's Guide.
1.2.1 New UIS Routines
The following UIS routines have been added:
Function Routine
AST-enabling UIS$SET_ADDOPT_AST
UIS$SET_EXPAND_ICON_AST
UIS$SET_TB_AST
UIS$SET_SHRINK_TO_ICON_AST
Color UIS$CREATE_COLOR_MAP
UIS$CREATE_COLOR_MAP_SEG
MICROVMS WORKSTATION SOFTWARE FEATURES Page 1-3
UIS$DELETE_COLOR_MAP
UIS$DELETE_COLOR_MAP_SEG
UIS$GET_COLORS
UIS$GET_HW_COLOR_INFO
UIS$GET_INTENSITIES
UIS$GET_VCM_ID
UIS$HLS_TO_RGB
UIS$HSV_TO_RGB
UIS$RESTORE_CMS_COLORS
UIS$RGB_TO_HLS
UIS$SET_COLORS
UIS$RGB_TO_HSV
UIS$SET_INTENSITIES
Display list UIS$COPY_OBJECT
UIS$DELETE_OBJECT
UIS$DELETE_PRIVATE
UIS$EXECUTE
UIS$EXECUTE_DISPLAY
UIS$EXTRACT_HEADER
UIS$EXTRACT_OBJECT
UIS$EXTRACT_PRIVATE
UIS$EXTRACT_REGION
UIS$EXTRACT_TRAILER
UIS$FIND_PRIMITIVE
UIS$FIND_SEGMENT
UIS$GET_CURRENT_OBJECT
UIS$GET_NEXT_OBJECT
UIS$GET_OBJECT_ATTRIBUTES
UIS$GET_PARENT_SEGMENT
UIS$GET_PREVIOUS_OBJECT
UIS$GET_ROOT_SEGMENT
UIS$INSERT_OBJECT
UIS$PRIVATE
UIS$SET_INSERTION_POSITION
UIS$TRANSFORM_OBJECT
Graphics UIS$LINE
UIS$LINE_ARRAY
Keyboard and pointer UIS$CREATE_TB
UIS$DELETE_TB
UIS$DISABLE_TB
UIS$ENABLE_TB
UIS$GET_TB_INFO
UIS$GET_TB_POSITION
Text UIS$GET_CHAR_ROTATION
UIS$GET_CHAR_SIZE
UIS$GET_CHAR_SLANT
UIS$GET_FONT_ATTRIBUTES
UIS$GET_TEXT_FORMATTING
UIS$GET_TEXT_MARGINS
UIS$GET_TEXT_PATH
UIS$GET_TEXT_SLOPE
MICROVMS WORKSTATION SOFTWARE FEATURES Page 1-4
UIS$SET_CHAR_ROTATION
UIS$SET_CHAR_SIZE
UIS$SET_CHAR_SLANT
UIS$SET_TEXT_FORMATTING
UIS$SET_TEXT_MARGINS
UIS$SET_TEXT_PATH
UIS$SET_TEXT_SLOPE
Windowing UIS$EXPAND_ICON
UIS$GET_VIEWPORT_ICON
UIS$GET_WINDOW_SIZE
UIS$SHRINK_TO_ICON
1.2.2 New UISDC Routines
The following UISDC routines are new for Version 3.0:
o UISDC$ALLOCATE_DOP
o UISDC$EXECUTE_DOP_ASYNCH
o UISDC$EXECUTE_DOP_SYNCH
o UISDC$GET_CHAR_SIZE
o UISDC$GET_TEXT_MARGINS
o UISDC$LINE
o UISDC$LINE_ARRAY
o UISDC$LOAD_BITMAP
o UISDC$QUEUE_DOP
o UISDC$SET_CHAR_SIZE
o UISDC$SET_TEXT_MARGINS
1.2.2.1 New Chapters -
Three new chapters describing color concepts, transformations, and
color programming have been added since Version 2.0:
o Color concepts
o Geometric and attribute transformations
MICROVMS WORKSTATION SOFTWARE FEATURES Page 1-5
o Programming in color
1.2.2.2 New UIS Writing Modes -
Five new writing modes have been added since Version 2.0:
o UIS$C_MODE_BIC
o UIS$C_MODE_BICN
o UIS$C_MODE_BIS
o UIS$C_MODE_BISN
o UIS$C_MODE_COPYN
1.2.2.3 New Fonts In Technical Character Set -
The following new fonts have been added to the technical character set
since Version 2.0.
o DVWSVT0R07SK00PG0001QZZZZ02A000 (80-wide normal)
o DVWSVT0R07SK00GG0001QZZZZ02A000 (80-wide bold)
o DVWSVT0R03WK00PG0001QZZZZ02A000 (132-wide normal)
o DVWSVT0R03WK00GG0001QZZZZ02A000 (132-wide bold)
o DVWSVT0N06OK00PG0001QZZZZ02A000 (80-wide bold double high)
o DVWSVT0N06OK00GG0001QZZZZ02A000 (80-wide double high)
o DVWSVT0N03CK00PG0001QZZZZ02A000 (80-wide bold double high)
o DVWSVT0N03CK00GG0001QZZZZ02A000 (80-wide double wide)
o DVWSVT0I03WK00PG0001QZZZZ02A000 (132-wide bold double high)
o DVWSVT0I03WK00GG0001QZZZZ02A000 (132-wide double high)
o DVWSVT0G03CK00PG0001QZZZZ02A000 (132-wide bold double wide)
o DVWSVT0G03CK00GG0001QZZZZ02A000 (132-wide double wide)
MICROVMS WORKSTATION SOFTWARE FEATURES Page 1-6
1.2.2.4 New Text Attributes -
The following new text attributes have been added to the programming
interface:
o Character rotation
o Character scaling
o Character slant
o Text formatting
o Text margins
o Text path
o Text slope
1.2.2.5 Changes To Existing UIS Routines -
1.2.2.5.1 UIS$BEGINSEGMENT -
UIS$BEGIN_SEGMENT now returns a segment identifier that can be
referenced by other display list routines. For example, this allows
traversing segments and segment paths.
1.2.2.5.2 UIS$MEASURETEXT And UIS$TEXT -
You can now use control lists with UIS$TEXT and UIS$MEASURE_TEXT.
1.2.2.5.3 UIS$DISABLEDISPLAYLIST And UIS$ENABLEDISPLAYLIST -
Additional arguments have been included that control updates to
display screens and display lists.
1.2.2.5.4 UIS$SETPOINTERPATTERN And UISDC$SETPOINTERPATTERN -
If you are using a color system, you can now specify a pointer pattern
outline and flags to bind the pointer to a particular region.
MICROVMS WORKSTATION SOFTWARE FEATURES Page 1-7
1.2.2.5.5 Display Lists And Segmentation -
The chapter on display lists and segmentation has been expanded with
more examples.
1.2.2.5.6 UIS Metafiles -
You can now create and store metafiles of generically encoded
instructions as files and reexecute the file.
1.2.2.5.7 Shrinking Viewports And Expanding Icons -
You can now shrink display viewports and expand icons.
1.2.2.5.8 Obsolete UIS Routines In Version 2.0 -
The following routines are now obsolete:
o UIS$GET_LEFT_MARGIN
o UIS$SET_LEFT_MARGIN
o UISDC$GET_LEFT_MARGIN
o UISDC$SET_LEFT_MARGIN
They have been replaced by the following routines:
o UIS$SET_TEXT_MARGINS
o UIS$GET_TEXT_MARGINS
1.3 CHANGES TO THE DRIVER INTERFACE
The following changes are reflected in the VWS Driver:
o The QDSS driver is available (on systems with QDSS hardware).
The QDSS driver permits you to draw multiplane (color) images
through the use of the hardware-assisted Drawing Operation
Primitive (DOP) interface. The QDSS system also uses a QIO
interface. Read Chapters 1 and 2 for an overview of the
driver.
o New QDSS-specific QIOs -- see Chapter 4.
MICROVMS WORKSTATION SOFTWARE FEATURES Page 1-8
o New DOP interface -- see Chapter 5.
o New UISDC routines for use with the DOP interface -- see
Chapter 5.
1.4 ERROR REPORTING AND HANDLING
Error reporting and handling has been improved for VWS Version 3.2.
VWS issues non-fatal bug checks and deletes a process when it detects
error conditions that are fatal to that process. Previously, VWS
would either fail to report the error or report it ambiguously. In
either case, the process would continue with no chance of recovering
from the error.
If the error formatter (ERRFMT) is running, an error log entry is
written for each bug check. By default, ERRFMT is not started on
MicroVMS systems. To start ERRFMT, log into the system manager's
account. Type the following command:
$ @SYS$SYSTEM:STARTUP ERRFMT
See the VAX/VMS System Manager's Reference Manual for more information
on the error log and ERRFMT.
1.5 FONTS
The following sections describe new font features.
1.5.1 New Font Utility
This new font utility permits you to add new user-defined fonts to the
system. See Section 2.5 of the VWS Installation Guide for a
description of how to install and use user-defined fonts.
1.5.2 Font File Types
In previous versions of UIS, the font files supplied in SYS$FONT had
the file type FNT. The font files now have the file types shown in
the following table:
System File Type
VAXstation I VWS$FONT
VAXstation II VWS$FONT)
VAXstation II/GPX VWS$VAFONT
MICROVMS WORKSTATION SOFTWARE FEATURES Page 1-9
1.5.2.1 Loading UIS Fonts -
In previous versions of UIS, a font was associated with an attribute
block when a call to UIS$SET_FONT was made, but the font was not
actually loaded until it was used in a call to UIS$TEXT or a fill
routine. The font is now loaded during the call to UIS$SET_FONT,
which now signals errors associated with loading the font---not with
UIS$TEXT or the fill routine. This may result in errors being
signaled that would not have been signaled before. For example, if
UIS$SET_FONT is called with a nonexistent font, UIS$SET_FONT signals
an error when it would not have signaled before.
1.5.3 New Fonts
The following new fonts have been added for Version 3.2. They are
loaded into SYS$FONT at installation time.
The following table lists the names for the new 19-point, 80 column
fonts, which are 11-pitch:
TABLE 1 -- 80-Column Fonts
Font name Font type
DVWSVT0K05AK00GG0001UZZZZ02A000 Normal
DVWSVT0K05AK00PG0001UZZZZ02A000 Bold
DVWSVT0V05AK00GG0001UZZZZ02A000 Double-wide
DVWSVT0V05AK00PG0001UZZZZ02A000 Double-wide bold
DVWSVT0V0AKK00GG0001UZZZZ02A000 Double-high
DVWSVT0V0AKK00PG0001UZZZZ02A000 Double-high bold
DVWSVT1K05AK00GG0001UZZZZ02A000 Display controls
DVWSVT0K05AK00GG0001QZZZZ02A000 Technical characters
DVWSVT0K05AK00PG0001QZZZZ02A000 Technical characters
The following table lists the names for the new 19-point, 132 column
fonts, which are 7-pitch:
TABLE 2 -- 132-Column Fonts
Font name Font type
DVWSVT0G05AK00GG0001UZZZZ02A000 Normal
DVWSVT0G05AK00PG0001UZZZZ02A000 Bold
DVWSVT0N05AK00GG0001UZZZZ02A000 Double-wide
DVWSVT0N05AK00PG0001UZZZZ02A000 Double-wide bold
DVWSVT0N0AKK00GG0001UZZZZ02A000 Double-high
DVWSVT0N0AKK00PG0001UZZZZ02A000 Double-high bold
DVWSVT1G05AK00GG0001UZZZZ02A000 Display controls
DVWSVT0G05AK00GG0001QZZZZ02A000 Technical characters
DVWSVT0G05AK00PG0001QZZZZ02A000 Technical characters
MICROVMS WORKSTATION SOFTWARE FEATURES Page 1-10
1.6 DEMONSTRATION SOFTWARE
The MicroVMS Workstation Version 3.2 software kit includes a diskette
containing programs that demonstrate some of the capabilities of the
workstation.
The diskette is labeled "MicroVMS Workstation Demos VWSDEMO032 1/1.)
Use VMSINSTAL to install the demonstration programs. VMSINSTAL will
place them in a directory that it creates called
SYS$SYSDEVICE:[VWSDEMO]. The following files will be in the directory
when VMSINSTAL completes:
BANNER.COM---Procedure that produces interactive banner
BANNER.EXE---Executable program invoked by BANNER.COM
COMPILE__ALL.COM---Procedure that compiles and links quick.for
and cube.for
CUBE.FOR---Graphics program that produces a rotating cube
CUBE.EXE---Executable version of CUBE.FOR
DECLANDER.EXE---Executable game
DECLANDER.HELP---Directions for playing DEClander
QUICK.FOR---Graphics program that produces swirling lines
QUICK.EXE---Executable version of QUICK.FOR
SETUP_COLORS.PAS---Linked with QUICK.EXE object module
SIGHT.EXE---Object-oriented graphics editor
SIGHT.MEM---Documentation for SIGHT
MICROVMS WORKSTATION SOFTWARE FEATURES Page 1-11
1.6.1 Loading Fonts
The following font command procedures are in the directory
SYS$SYSDEVICE:[VWSDEMO]:
o LOAD_19P_FONTS.COM
LOAD_19P_FONTS.COM loads the fonts into memory. This command
file can be invoked by a user with Change Mode to Kernel
privileges or automatically at startup by adding it to
SYS$SYSTEM:UISUSERFONTS.COM. However, if
SYS$SYSTEM:UISUSERFONTS.COM does not exist, the user must
create it. If UISUSERFONTS.COM is present, it is invoked by
the normal font load procedure and is used exclusively for
users to load fonts.
o UIS$SELECT_FONT.COM
UIS$SELECT_FONT.COM creates the command file
UIS$TERM_FONTS.COM. It finds all of the available fonts
loaded in memory and produces a command file that allows you
to switch to any available font. You must define the
UIS$VT_ENABLE_OSC_STRINGS logical name. (See the MicroVMS
Workstation User's Guide.)
o USE_19P_FONT.COM
You can add USE_19P_FONT.COM to SYS$MANAGER:SYSTARTUP.COM to
use the 19-point fonts by default. If you add
USE_19P_FONT.COM to SYSTARTUP.COM, make sure you add the
LOAD_19P_FONTS.COM command file
SYS$SYSTEM:UISUSERFONTS.COM. USE_19P_FONT.COM
defines certain logical names documented in the (MicroVMS
Workstation User's Guide).
1.7 HARDCOPY UIS
The MicroVMS Workstation Version 3.2 software kit contains media and
documentation for Hardcopy UIS (HCUIS). It enables users and
applications to translate UIS pictures to the formats needed for
printing on a variety of hard-copy devices.
The kit for HCUIS consists of the following:
o The RENDER command, which translates and displays UIS picture
files
o Four translators:
- UIS to PostScript (TMpostScript is a registered trademark
of Adobe Systems Incorporated.)
- UIS to SIXEL
MICROVMS WORKSTATION SOFTWARE FEATURES Page 1-12
- UIS to HPGL
- UIS to ReGIS
o HCUIS$ routines
See the MicroVMS Workstation Guide to Printing Graphics for additional
information about HCUIS.
1.8 LOCAL AREA VAXCLUSTERS
Version 3.1 of the MicroVMS Workstation Software supports Local Area
VAXclusters.
1.9 VAXSTATION 2000
Version 3.1 of the MicroVMS Workstation Software supports the
monochrome VAXstation 2000. Version 3.2 supports the color,
gray-scale, and monochrome VAXstation 2000.
1.10 CHANGES TO THE VT220 EMULATOR (VERSION 3.2)
o A Point Size/Spacing fallback has been added.
o The VT52 mode keyboard errors have been fixed.
o End of line wrap and overwrite handles double-wide lines
correctly.
o A number of edit control sequence errors have been corrected.
o Blinking works on terminals wider than 132 columns.
o Specifying a point size of only one digit is no longer a
problem.
o Resizing an invisible window (WDPL$M_INVISIBLE for placement)
will no longer cause visibility.
o The code ignores APL and TCS SCS sequences if the fonts do
not exist.
o If the Display Controls Mode font is not found, this mode
does not change.
o The sequences to report page width and height have been
corrected.
CHAPTER 2
MICROVMS WORKSTATION SOFTWARE PROBLEMS AND RESTRICTIONS
This chapter describes problems and restrictions you may encounter
when using the MicroVMS Workstation Software. The chapter describes
the problems and restrictions of the user interface, programming
interface, and device driver interface in separate sections.
2.1 VERSION 3.2
The following section describes problems and restrictions that occur
with Version 3.2 of the MicroVMS Workstation Software.
2.1.1 User Interface
The following sections describe problems and restrictions in the user
interface.
2.1.1.1 VAXstation II/GPX Boot Problem -
If your VAXstation II/GPX system is unresponsive during a boot or
shutdown operation, press the F2 key. The system may have written a
message to the operator console window and may be waiting for you to
read the message before it continues. The operator console window
stays activated only for 30 seconds. This restriction prevents the
possibility of hanging your workstation.
2.1.1.2 Restriction With Autologin -
If you log in to your first terminal emulator window while autologin
is enabled and then quickly create another emulator, you may not be
automatically logged in to the second window. This is because the
process information for the first window has not yet been saved. A
solution is to wait until the initial login procedure has executed
before creating additional terminal emulators.
MICROVMS WORKSTATION SOFTWARE PROBLEMS AND RESTRICTIONS Page 2-2
2.1.1.3 Restriction To Print Screen Destination -
Do not select a terminal emulator window (using the Workstation Setup
menu) as the print destination. If you print to such a device, your
system hangs.
2.1.2 Programming Interface
The following sections describe problems and restrictions in the
programming interface.
UIS$C_TEXT_WRITE -- 16-Bit Text Problem
When you use text with control lists and 16-bit text (for example,
2-byte Kanji fonts), the control list item UIS$C_TEXT_WRITE should
have a value that specifies the number of characters it will write.
VWS interprets this value as the number of bytes VWS will write
instead. To avoid this problem when you use 16-bit text, specify
double the number of characters you want to write as a value for the
control list item.
UIS$CIRCLE and UIS$ELLIPSE -- Overflow Problem
On both VAXstation II and VAXstation II/GPX systems, UIS$CIRCLE or
UIS$ELLIPSE may occasionally draw large circles or ellipses
incorrectly, due to an overflow in the coordinate conversion.
UIS$DISABLE_KB and UIS$DISABLE_VIEWPORT_KB -- AST Not Delivered
When a virtual keyboard is disabled by a UIS$DISABLE_KB or
UIS$DISABLE_VIEWPORT_KB, the Lose Keyboard AST routine will not be
delivered. If your application depends on this AST being received
after the virtual keyboard has been detatched from the physical
keyboard, you must explicitly call the AST routine after disabling the
keyboard.
UIS$SET_KB_ATTRIBUTES -- Spurious Data
When you are using the Up/Down key transitions enabled by
UIS$SET_KB_ATTRIBUTES, you may get spurious data when the physical
keyboard is attached to the window. A possible solution is to ignore
incoming data for a short time after getting a GAIN_KB_AST. This will
be fixed in a future release.
UIS$SET_POINTER_AST -- Late Execution of Exit AST Routines
When two contiguous regions have been set up with UIS$SET_POINTER_AST,
you might execute an exit AST intended for the previous region after
executing the first movement AST routine for the new region.
To clarify, when you exit from one region and enter the other, three
actions occur in the following order:
MICROVMS WORKSTATION SOFTWARE PROBLEMS AND RESTRICTIONS Page 2-3
1. The last movement in the first region
2. Exiting from the first region
3. The first movement in the new region
However, the ASTs asociated with these actions may be delivered out of
order: last movement, first movement, exit.
The recommended solution is to test for the first movement on any
contiguous region and emulate the exit AST before taking any other
action. According to the application, you may wish to emulate only
some essential portion of the exit AST routine and let the actual AST
perform the remainder when it is executed.
2.1.2.1 Drawing Images That Use 8 Bits/Pixel -
When drawing images that use 8 bits/pixel, use the COPY writing mode
(UIS$C_MODE_COPY) to use the pixel values as direct indices into the
color map. This writing mode will copy each pixel value from the
image into the bit map without any changes to the data.
The default writing mode (UIS$C_MODE_OVER) will NOT work like COPY
mode.
2.1.3 Text Problems
The following sections describe problems and restrictions to using
text with the programming interface.
2.1.4 Extracting Transformed Control Lists
The result of extracting transformed control list text is undefined.
That is, the following sequence of routine calls will produce a buffer
containing unpredictable results:
UIS$TEXT(vd_id, atb, text_string, x, y, ctllist, ctllen)
obj_id = UIS$GET_CURRENT_OBJECT(vd_id)
UIS$TRANSFORM_OBJECT(obj_id, matrix, atb)
UIS$EXTRACT_OBJECT(obj_id, buflen, bufaddr, retlen)
Note, however, that the results on the screen and within UIS's
internal display list will be correct.
MICROVMS WORKSTATION SOFTWARE PROBLEMS AND RESTRICTIONS Page 2-4
2.1.4.1 Tabs In Control Lists -
Text that has a control list containing relative or absolute tabs may
produce unexpected results if the text falls under any of the
following categories:
o Sloped
o Written with a nondefault major text path (for example,
UIS$C_TEXT_PATH_LEFT)
o Transformed (using UIS$TRANSFORM_OBJECT or UIS$COPY_OBJECT)
to be sloped
Slanted text that has a control list containing relative or absolute
tabs may erase portions of characters when written with any writing
mode that writes the background, such as overlay negate.
2.1.4.2 Text Placement And Display Lists -
After calling UIS$TEXT and UIS$NEW_TEXT_LINE to create lines of text,
you may wish to insert more text at the end of a line. Since text
position is undefined when you insert text into a display list, you
should always explicitly position your inserted text.
2.1.4.3 Text Formatting Problems -
The following sections describe problems and restrictions when
formatting text.
2.1.4.4 Enabling And Disabling Text Formatting -
If the original input attribute block for a UIS$TEXT or UISDC$TEXT
call with a control list does not have text formatting enabled and a
subsequent ATB in the control list does format text, the results are
undefined.
2.1.4.5 Formatted Text With Nondefault Attributes -
Formatted text gives undefined results if the text or vertical major
text path being written has nondefault attributes of slant, slope,
rotation, or character size. The same is true for formatted text that
is transformed to have nondefault attributes of slant, slope,
rotation, or character size.
MICROVMS WORKSTATION SOFTWARE PROBLEMS AND RESTRICTIONS Page 2-5
2.1.4.6 Full Text Justification Of Nonstandard Fonts -
For fully justified text to work correctly with fonts other than those
supplied on the distribution kit, the glyph for the space character
must be in the 33rd position in the font, which is the same position
as the ASCII space character in the supplied fonts.
2.1.4.7 Sloped Text -
The following sections describe the behavior of sloped text when it is
viewed through a distorted viewport.
2.1.4.8 Text Slope Angles With Distorted Windows -
If sloped text is displayed using UIS$TEXT and a distorted
window/viewport mapping (that is, the aspect ratio of the window
differs from the aspect ratio of the viewport), the results differ,
depending on whether character scaling is enabled. If character
scaling is not enabled, the angle is displayed relative to the device.
For example, at a slope of 45 degrees (with major path right) each
character position moves up and right by the same number of pixels.
If character scaling is enabled, the slope is measured relative to
world coordinates. For example, at a slope of 45 degrees (with major
path right) each character position moves up and right by the same
world-coordinate amount.
If sloped text is displayed using UISDC$TEXT, the slope angles are
measured based on device coordinates, regardless of whether scaling is
enabled.
This behavior is permanent and is consistent with other uses of
unscaled text and UISDC routines with distorted viewport/window
mappings.
2.1.4.9 Text Slope Angles On VR100 Monitors -
If sloped text is displayed using UIS$TEXT with character scaling
disabled, the angles appear to be distorted, even if the viewport and
window aspect ratios are the same. The reason for this behavior is
that the angle is being drawn in device coordinates, and pixels on a
VR100 are not square. To make the angle appear correct, you must
enable character scaling, using the UIS$SET_CHAR_SIZE routine.
If sloped text is displayed using UISDC$TEXT, angles appear distorted
on a VR100 monitor.
This behavior is permanent and is consistent with other uses of
unscaled text and UISDC routines with VR100 monitors.
MICROVMS WORKSTATION SOFTWARE PROBLEMS AND RESTRICTIONS Page 2-6
NOTE
The only supported hardware device that uses a VR100
monitor is a VAXstation I.
2.1.5 Restrictions On Writing Modes That Change The Background
2.1.5.1 Scaled Text On GPX Systems -
When the VAXstation II/GPX hardware compresses text, it can write both
the background and foreground colors into the same pixel on the
screen. If you are using a writing mode that changes background
pixels (for example, REPL or REPLN), the foreground pixels can be
overwritten. This can result in what appears to be missing pixels in
scaled characters. Scaling is done implicitly if text is drawn at
slope, rotation, or slant angles that are not 0 or multiples of 90
degrees.
This is a permanent restriction.
2.1.5.2 Text Written At Angles -
If text is written in a mode that causes the background of the cell to
be written (for example, REPL or REPLN), unwritten pixels may exist
between adjacent character cells. This effect only happens with
slope, rotation, or slant angles that are not 0 or multiples of 90.
DIGITAL believes that this is an unavoidable effect of rasterization,
but DIGITAL will continue to investigate possible future improvements.
2.1.6 Device Driver Interface
2.1.6.1 MOVE/ROTATE DOP -- Specifying Scaling -
There is a problem in specifying scaling in the MOVE/ROTATE Drawing
Operation Primitive (DOP).
If the source_width divided by the vec1_length or the source_height
divided by the vec2_length cannot be represented exactly in 12 bits or
fewer, a pixel may be dropped from the end of the source.
The recommended solution is to decrease the vector length (usually by
a constant 1 or 2 pixels), without changing the Dx or Dy values, until
the full source is drawn correctly.
MICROVMS WORKSTATION SOFTWARE PROBLEMS AND RESTRICTIONS Page 2-7
2.1.7 System Management Interface
SYSTEM Account Must Be Usable To Correctly Load the MicroVMS
Workstation Software If the SYSTEM account is not usable, the MicroVMS
Workstation Software does not load correctly when you reboot the
VAXstation hardware. Loading fails when the password for the SYSTEM
account is expired. To update the password for the SYSTEM account,
invoke the VMS Authorize Utility (AUTHORIZE).
2.1.8 User Interface
RESIZE WINDOW Time-Out Implemented
The RESIZE WINDOW feature has been modified so that it stays activated
for 30 seconds. This restriction prevents the possibility of hanging
your workstation.
2.1.8.1 Receiving Operator Messages In A Local Area VAXcluster -
When your workstation is a member of a Local Area VAXcluster, its
operator window is disabled by default. DIGITAL recommends that you
do not reenable the operator window. Instead, to monitor operator
messages, create a terminal emulator window and enter the REPLY/ENABLE
command at the DCL prompt $. To execute the REPLY/ENABLE command, you
must have the OPER privilege.
SET PROCESS/SUSPEND Command Can Cause Your Workstation to Hang
Entering the SET PROCESS/SUSPEND command to suspend a workstation
process that creates windows can cause your workstation to hang. That
is, no further display operations are executed.
The locks control the process access to the workstation display. When
you use the SET PROCESS/SUSPEND command to suspend a process that
currently holds a lock, the process cannot give up its display lock,
thereby preventing other processes from accessing the display.
To return your workstation to normal operation, enter the SET
PROCESS/RESUME command, specifying the suspended process.
2.1.9 Programming Interface
VWSSYSDEF.H Contains Syntax Errors
If you select the C language option in the installation procedure, the
resulting VWSSYSDEF.H file contains syntax errors. These syntax
errors cause compiler warnings when you include the VWSSYSDEF.H file
MICROVMS WORKSTATION SOFTWARE PROBLEMS AND RESTRICTIONS Page 2-8
in your program.
To avoid these compiler warnings, edit the file to remove the
dimension specification ("[1]") from the declarations of the following
structures:
dop_point_array
dop_line_array
dop_ftext_array
dop_vtext_array
dop_poly_array
dop_move_array
dop_move_r_array
dop_mvr_array
SYS$SUSPEND Calls Can Cause Your Workstation to Hang
Calling the SYS$SUSPEND system service to suspend a workstation
process that creates windows can cause your workstation to hang. That
is, no further display operations are executed.
The locks control the process access to the workstation display. When
you use the SYS$SUSPEND system service call to suspend a process that
currently holds a lock, the process cannot give up its display lock,
thereby preventing other processes from accessing the display.
To return your workstation to normal operation, issue a SYS$RESUME
system service call, specifying the suspended process.
Undesirable Visual Effects Caused by
Hardware Replay to a Previously Occluded
Area of the VAXstation II/GPX Display
On a VAXstation II/GPX, the MicroVMS Workstation Software uses two
methods to restore occluded windows that have become exposed. Its
first method is to specify that the GPX hardware "replay" the list of
commands that generated the graphics in the occluded area. When the
list of commands gets too long, the MicroVMS Workstation Software
switches to its second method, which saves the screen contents in the
occluded area and copies them to the display when the occluded area is
exposed.
In some applications, the first replay method causes undesirable
visual effects. To avoid these undesirable visual effects, execute a
scrolling operation within the viewport. The scrolling operation
causes the MicroVMS Workstation Software to switch from the replay
method to saving the screen contents in the occluded area.
To execute a scrolling operation in the viewport, you can either make
a call to UIS$MOVE_WINDOW or, if you are using the DOP interface,
queue a SCROLL_AREA DOP. You should specify the same world
coordinates in the move window call that you specified when you
created the window.
MICROVMS WORKSTATION SOFTWARE PROBLEMS AND RESTRICTIONS Page 2-9
The following FORTRAN code segment demonstrates how to disable
hardware replay when restoring an occluded window:
WD_ID = UIS$CREATE_WINDOW(VD_ID,0.,0.,1.,1.,20.,20.) !Create window
CALL UIS$MOVE_WINDOW(VD_ID,WD_ID,0.,0.,1.,1.) !Disable replay
Specifying a Negative Value As Start_deg or End_deg Causes
Incorrect Drawing of a Circle or Ellipse
If you specify a negative value as the start_deg or end_deg parameter
for a circle or ellipse, it is drawn incorrectly. To achieve the
desired drawing results when specifying a negative value for either of
these parameters, do the following:
1. Take the negative value modulo 360 and add 360.
2. Specify the resulting value as the start_deg or end_deg
parameter.
The following FORTRAN code segment demonstrates how to change a
negative value into a value that causes the system to execute the
drawing operation correctly:
START_DEG = AMOD(START_DEG,360.)+360.
END_DEG = AMOD(END_DEG,360.)+360.
CALL UIS$CIRCLE(VD_ID,ATB,X,Y,RADIUS,START_DEG,END_DEG)
2.1.10 Workstation appears hung
On very heavily loaded color workstation systems an occasional hang
has been observed. The workstation screen appears frozen; however, the
rest of the system appears to function normally, as seen from other
terminals.
A process is waiting for a VPS$ lock to be granted and some other
process is holding it. The process holding the lock has kernel
mode AST's disabled and a user mode AST active. If this happens
the lock will never be release and the system has to be rebooted.
This is more likely to occur on 4 plane systems or where there is
insufficient paged dynamic memory (SYSGEN PAGEDYN parameter).
2.1.11 Problem with UIS$
DC
E$
XEC
XE
UC
TE
UTD
EOD
POP
The routines UISDC$EXECUTE_DOP_SYNCH and UISDC$EXECUTE_DOP_ASYNCH
do not work properly. Use of these routines can cause unpredictable
results, including process hangs, please use the routine UISDC$QUEUE_DOP
instead. We hope to have this fixed in a future release.
MICROVMS WORKSTATION SOFTWARE PROBLEMS AND RESTRICTIONS Page 2-10
2.1.12 UIS$MOVEWINDOW problem
Repetitious calls to UIS$MOVE_WINDOWS over an extended period of time
may cause the system to crash with a "system service exception" bugcheck.
In analysis of the dump %SYSTEM-F-BADPARAM has been signaled by
UIS$MOVE_VIEWPORT.
2.1.13 Loss of video synchronization
On color workstation systems it is possible to generate a sequence of
instructions that will cause the screen to lose video synchronization.
We believe this is associated with the UIS$SET_POINTER_PATTERN routine.
It is usually necessary to restart the system to correct this problem.
CHAPTER 3
NOTES TO PUBLISHED DOCUMENTATION
This chapter includes corrections to the following MicroVMS
workstation manuals:
o MicroVMS Workstation Video Device Driver Manual
o MicroVMS Workstation Graphics Programming Guide
3.1 CORRECTIONS TO THE MICROVMS WORKSTATION GRAPHICS PROGRAMMING
GUIDE
3.1.1 UIS$GETOBJECTATTRIBUTES---Missing Object Type
The routine UIS$GET_OBJECT_ATTRIBUTES returns a value that identifies
an object. UIS$C_OBJECT_NEW_TEXT_LINE is the symbol of a value that
is not listed in the UIS$GET_OBJECT_ATTRIBUTES routine description.
3.1.2 Symbol Prefix Change
In Section 15.2.1, the symbol UIS$C_LENGTH_DIFF should be
GER$C_LENGTH_DIFF.
3.1.3 UIS$SETINTENSITY, UIS$SETINTENSITIES -- Function Descriptions
On page 16-3 of the MicroVMS Workstation Graphics Programming Guide,
the funtion definitions for UIS$SET_INTENSITY and UIS$SET_INTENSITIES
in Table 16-1 should be switched with each other.
3.1.4 UIS$GETLINEWIDTH Routine Description
On page 18-151 of the MicroVMS Workstation Graphics Programming Guide,
the "Argument" section incorrectly references the line width
NOTES TO PUBLISHED DOCUMENTATION Page 3-2
specification modes as WDPL$C_WIDTH_WORLD and WDPL$C_WIDTH_PIXELS.
The correct line width specification modes follow:
UIS$C_WIDTH_WORLD UIS$C_WIDTH_PIXELS
3.1.5 UIS$SETEXPANDICONAST Routine Description
On page 18-290 of the MicroVMS Workstation Graphics Programming Guide,
the "Description" section should read as follows:
To reenable the default behavior of UIS$SET_EXPAND_ICON_AST, specify
the constant UIS$C_DEFAULT_EXPAND_ICON as the astadr argument or
specify only the wd_id argument.
UISENTRY.PAS
In Version 3.4 of the VAX PASCAL complier, a bug in a parameter
declaration checking was fixed. This uncovered an invalid parameter
declaration in the UISENTRY.PAS file shipped with VWS Version 3.0 and
later. To maintain compatibility with all other versions of VWS and
PASCAL, you must add the /NOWARNING qualifier when you build the
Pascal environment file.
On page 6-11 of the MicroVMS Workstation Graphics Programming Guide in
the section "Creating Environment Files" under step 2, the command
line should read as follows:
$ PASCAL/ENVIRONMENT/NOOBJECT/NOWARNING UISENTRY
UIS$GET_VIEWPORT_ICON Routine Description
On page 18-182 of the MicroVMS Workstation Graphics Programming Guide,
the initial definition of the routine should read as follows:
Boolean value returned indicating if an icon has replaced a viewport.
UIS$TRANSFORM_OBJECT Routine Description
On page 18-378 of the MicroVMS Workstation Graphics Programming Guide,
the example matrix for rotation would cause a clockwise rotation of
the object.
Appendix D -- UIS Fill Patterns
Appendix D of the MicroVMS Workstation Graphics Programming Guide
omits two fill patterns, PATT$S_FOREGROUND and PATT$C_BACKGROUND.
Both solid fill patterns use the default foreground and background
colors.
UIS$TEXT, UISDC$TEXT - 16-Bit Text
On pages 18-372 and 19-68 of the MicroVMS Workstation Graphics
Programming Guide, the routines UIS$TEXT and UISDC$TEXT support 16-bit
NOTES TO PUBLISHED DOCUMENTATION Page 3-3
text (for example, 2-byte Kanji fonts). To enable 16-bit text
functions for both routines, set the DTYPE field (DSC$B_DTYPE) in the
descriptor of the text string to DSC$K_DYPTE_T2.
Appendix E -- Error Messages
The following error messages are additions to those that appear in
Appendix E.
BADCOLORVALUE -- Color value out of range.
Error: An attempt was made to specify one or more color values that
are out of range.
Remedy: Check for a programming error.
BADCMS -- Illegal color map segment identifier.
Error: An illegal color map segment identifier was given to a UIS
routine as an argument.
Remedy: Check for a programming error.
BADDOP -- Illegal drawing packet (DOP) format.
Error: An attempt was made to pass either a drawing operation
primitive that was 0, or the type field was not UIS$C_DYN_DOP, or the
size field was less than DOP$C_LENGTH.
Remedy: Check for a programming error.
BADFONT -- Font !AS is not a valid font.
Error: An attempt was made to reference an activated but invalid VWS
font. The font will not be placed in the specified attribute block.
The program may continue after this error.
Remedy: Check for a programming error.
BADICONWD -- Invalid icon window identifier.
Error: An attempt was made to specify the icon WD_ID that does not
match the one saved by UIS. UIS saves the icon WD_ID when it shrinks
a viewport to an icon or when UIS$ASSOCIATE_ICON_WITH_VP is called.
Remedy: Check for a programming error.
BADOBJID -- Illegal object identifier.
Error: An illegal object (segment or primitive) identifier was given
to a UIS routine as an argument.
Remedy: Check for a programming error.
NOTES TO PUBLISHED DOCUMENTATION Page 3-4
BADOPCODE -- Unrecognized generic encoding item.
Error: The generic encoding interpreter detected an unknown item
opcode. The rest of the generic encoding stream will be skipped.
Remedy: Check for a programming error.
BADSTRING -- String too long.
Error: An attempt was made to pass a string that is too long.
Remedy: Shorten the string.
BADTB -- Illegal tablet identifier.
Error: An illegal tablet identifier was given to a UIS routine as an
argument.
Remedy: Check for a programming error.
BADTEXTITEM -- Unrecognized text control item, item=!XL.
Error: An illegal text control item was specified.
Remedy: Check for a programming error.
BADTITLE -- Illegal window title string.
Error: An illegal window title string was passed when attempting to
create a window.
Remedy: Check for a programming error.
BADVER -- Bad display list version number.
Error: An attempt was made to pass an unsupported version of the
display list to UIS$EXECUTE.
Remedy: Use a supported display list.
BADVCM -- Illegal virtual color map identifier.
Error: An illegal virtual color map index was given to a UIS routine
as an argument. The color map index must be less than the VCM size.
Remedy: Check for a programming error.
BADVCMATTR -- Illegal or missing virtual color map attributes.
Error: One or more illegal virtual color map attributes were given to
a UIS routine as an argument, or one or more attributes were missing.
Remedy: Check for a programming error.
NOTES TO PUBLISHED DOCUMENTATION Page 3-5
BADVCMINDEX -- Virtual color map index out of range.
Error: An illegal virtual color map index was given to a UIS routine
as an argument.
Remedy: Check for a programming error.
BADVCMNAME -- Illegal or missing virtual color map name.
Error: An illegal virtual color map name was given to a UIS routine
as an argument, or the name was missing.
Remedy: Check for a programming error.
BADVCMSIZE -- Virtual color map size out of range, or illegal.
Error: An illegal virtual color map size was given to a UIS routine
as an argument, or the process referenced an existing shareable
virtual color map that specified different size than that of the
existing map.
Remedy: Check for a programming error.
CMSACTIVE -- Color map segment is still referenced by virtual color
map(s).
Error: An attempt was made to delete a color map segment that was
still referenced by one or more virtual color maps.
Remedy: Check for a programming error.
CMSCREATEERR -- Requested color map segment could not be created as
specified.
Error: An attempt to create a color map segment failed because of
illegal, missing, or incompatible parameters or insufficient hardware
resources.
Remedy: Check for a programming error.
DIGITACTIVE -- Digitizing already active.
Error: An attempt was made to begin a new digitizing program while
another digitizing program was still running. The current digitizing
program must be disabled or deleted before a new program may be
declared.
Remedy: Exit from first digitizing program in order to run the
second.)
FONTTOOBIG -- Specified font is too big for driver's font block.
Error: An attempt was made to specify a font that does not fit into a
QDSS driver font block. The font must at least fit the top raster of
each glyph into a single QDSS font block (which is currently 1024 x 35
NOTES TO PUBLISHED DOCUMENTATION Page 3-6
pixels).
Remedy: Change either the font or the driver's font block routines.
INSFARG -- Insufficient arguments.
Error: A required argument was not specified.
Remedy: Check for a programming error.
INSEG -- Object not in segment.
Error: An attempt was made to specify an object that is not in the
specified segment.
Remedy: Check for a programming error.
NODEFFONT -- The default font, !AD, is not in the system font queue.
Error: An attempt was made to request a font in attribute block 0
that is not present in the system font queue.
Remedy: Check SYS$SYSTEM:UISMEMFONTS.COM.
NODEL -- Root segment cannot be deleted.
Error: An attempt was made to delete the root segment.
Remedy: Check for a programming error.
NODEV -- No physical display device.
Error: An attempt was made to create a display window for a virtual
display that has no physical display device associated with it.
Remedy: Check your hardware configuration.
NOEND -- Root segment not ended.
Error: An attempt was made to end a segment that is the root segment.
Remedy: Check for a programming error.
NOKB -- No keyboard has been bound to the specified display window.
Error: An attempt was made to specify a display window that has not
been bound to a keyboard with UIS$BIND_KB.
Remedy: Check for a programming error.
NOINSERT -- Segment cannot be inserted in itself.
Error: An attempt was made to insert a segment in itself.
NOTES TO PUBLISHED DOCUMENTATION Page 3-7
Remedy: Check for a programming error.
NOTABLET -- No tablet device.
Error: An attempt was made to use a mouse as a pointing device rather
than a tablet. Only a tablet may be used for digitizing.
Remedy: Replace the mouse with a tablet.
NOTVAFONT -- Font !AS is not a VA font.
Error: An attempt was made to load a font or intensity that is
invalid for the color workstation.
Remedy: Check for a programming error.
SHRINKICON -- Request to shrink an icon to another icon ignored.
Error: An attempt was made to request that an application shrink an
icon to an icon. The request is ignored by UIS.
Remedy: Check for a programming error.
TOODEEP -- Cannot interrupt allocation more than 5 levels deep.
Error: An attempt was made to allocate storage while already
interrupting the allocation routines five levels deep.
Remedy: Check for an error in the graphics services.
UNSUPFONT -- Font !AS is an unsupported version.
Error: An attempt was made to request an activated but unsupported
version of a font. The font will not be placed in the specified
attribute block. The program may continue after this error.
Remedy: Check for a programming error.
VAFONTERR -- Error loading !AS.VWS$VAFONT into the driver.
Error: Internal error.
Remedy: Submit an Software Performance Report (SPR.)
VCMACTIVE -- Virtual color map is still active.
Error: An attempt was made to delete a virtual color map that was
still referenced by one or more virtual displays.
Remedy: Check for a programming error.
VCMBOUND -- Virtual color map is already bound to a color map
segment.)
NOTES TO PUBLISHED DOCUMENTATION Page 3-8
Error: An attempt was made to create a color map segment for a
virtual color map that was already bound to another color map segment.
Remedy: Check for a programming error.
VCMEXISTS -- Virtual color map already accessed by process.
Error: An attempt was made to create a virtual color map that already
exists.
Remedy: Check for a programming error.
VCMNOTBOUND -- Virtual color map is not bound to a color map segment.
Error: An attempt was made to create a window to which the virtual
display's virtual color map was not bound, and the NOBIND attribute
was specified for the virtual color map.
Remedy: Check for a programming error.
3.2 CORRECTIONS TO THE MICROVMS WORKSTATION VIDEO DEVICE DRIVER
MANUAL
Addition of Appendix J
The update to the MicroVMS Workstation Video Device Driver Manual
included in the Version 3.2 release of the MicroVMS Workstation
Software contains a new Appendix J, which is a table for the ISO Latin
Alphabet Nr 1 Supplemental Character Set and corrections made to
Chapters 1, 5 and Appendix A.
3.2.1 UIS$SETPOINTERPATTERN -- New Argument
A new, optional argument, flags, has been added to
UIS$SET_POINTER_PATTERN. It is the last argument and is a longword
that is passed by reference.
This argument allows an application to bind the cursor pointer to a
specified screen region. When the field UIS$M_BIND_POINTER of this
argument is set and the specified screen region is not occluded, the
pointer cannot exit a region once it has been positioned there. If
the region becomes occluded, the cursor may escape from the specified
screen region.
3.2.2 UIS$READCHAR -- New Argument
A new, optional argument, flags, has been added to UIS$READ_CHAR. It
is the last argument and is a longword that is passed by reference.