[Contents] [index] [Help] [Retrace] [browse <] [Browse >]

The system has many different display modes that you can specify for each
viewport.  under 1.3, the eight constants that control the modes are
DUALPF, PFBA, HIRES, SUPERHIRES, LACE, HAM, SPRITES, and EXTRA_HALFBRITE.
Some, but not all of the modes can be combined in a ViewPort.  HIRES and
LACE combine to make a high-resolution, interlaced ViewPort, but HIRES and
SUPERHIRES conflict, and cannot be combined.

Under 1.3, you set these flags directly in the Modes field during
initialization of the viewport.  under release 2, there are many more
display modes possible than in 1.3 so a new system of flags and structures
is used to set the mode.  With Release 2, you set the display mode for a
ViewPort by using the videocontrol() function as described in the section
on "monitors, modes and the display database" later in this chapter.

The dualpf and pfba modes are related.  dualpf tells the system to treat
the raster specified by this viewport as the first of two independent and
separately controllable playfields. It also modifies the manner in which
the pixel colors are selected for this raster (see the above table).

When pfba is specified, it indicates that the second playfield has video
priority over the first one.  Playfield relative priorities can be
controlled when the playfield is split into two overlapping regions.
Single-playfield and dual-playfield modes are discussed below in
"advanced topics."

hires tells the system that the raster specified by this viewport is to be
displayed with (nominally) 640 horizontal pixels, rather than the 320
horizontal pixels of Lores mode.

superhires tells the system that the raster specified by this viewport is
to be displayed with (nominally) 1280 horizontal pixels.  This can be used
with 31 kHz scan rates to provide the VGA and Productivity modes available
in Release 2.  SUPERHIRES modes require both the ECS and Release 2.   See
the section on "determining chip versions" earlier in this chapter for an
explanation of how to find out if the ECS is present.

lace tells the system that the raster specified by this viewport is to be
displayed in interlaced mode. If the ViewPort is non-interlaced and the
view is interlaced, the viewport will be displayed at its specified height
and will look only slightly different than it would look when displayed in
a non-interlaced View (this is handled by the system automatically). See
"interlaced mode vs. non-interlaced mode" below for more information.

ham tells the system to use "hold-and-modify" mode, a special mode that
lets you display up to 4,096 colors on screen at the same time. It is
described in the "advanced topics" section.

sprites tells the system that you are using sprites in this display
(either vsprites or simple sprites). the system will load color registers
for the sprites. Note that since the mouse pointer is a sprite, omitting
this mode will prevent the mouse pointer from being displayed when this
ViewPort is frontmost. See the "graphics sprites, bobs and animation"
chapter for more information about sprites.

extra_halfbrite tells the system to use the extra-half-brite mode, a
special mode that allows you to display up to 64 colors on screen at the
same time.  It is described in the "advanced topics" section.

If you peruse the <graphics/view.h> include file you will see another
flag, extended_mode. never set this flag yourself; it is used by the
Release 2 system to control more advanced mode features.

Be sure to read the section on "monitors, modes and the display database"
for additional information about the viewport mode and how it has changed
in the Release 2 version of the operating system.

 single-playfield mode vs. dual-playfield mode 
 low-resolution mode vs. high-resolution mode 
 interlaced mode vs. non-interlaced mode