16
Bt485A
Circuit Description (continued)
Cursor Operation
The Bt485A has an on-chip, three-color, user-definable
cursor. Upon power-up, Bt485A is in VGA mode and
the cursor is disabled. A 64 x 64 x 2 or 32 x 32 x 2 cursor
may be selected by writing bit CR32 in Command Reg-
ister 3. The cursor can be used in both interlaced and
noninterlaced systems.
The pattern for the cursor is stored in the cursor
RAM, which may be accessed by the MPU at any time
(see Accessing the Cursor RAM Array in the Circuit
Description section). Three cursor color registers exist,
each of which stores 24 bits of cursor color information.
These registers may also be accessed by the MPU.
Finally, Bt485A supports three cursor modes an shown
in Table 10 (three-color cursor, PM/Window cursor, X-
Windows cursor). Bits CR20 and CR21 in Command
Register 2 determine which cursor mode is to be used.
The cursor position (Xp, Yp) is set through the cursor
position registers. The cursor position is referenced to
the lower right corner of the cursor (see Figure 6). A
(0,0) written to the cursor position registers will place
the cursor off the screen. A (1,1) written to the cursor
position registers will place the lower right pixel of the
cursor on the upper left corner of the screen. Refer to
Cursor Registers in the Internal Registers section for
more detail on cursor position coordinates.
Only one cursor pattern is displayed per frame at the
specified location, regardless of the number of updates
to (Xp, Yp) during that frame. The cursor's x- and y-
position registers are loaded after the upper byte of Yp
has been written. There are no restrictions on updating
(Xp, Yp) other than both cursor position registers must
be written when the cursor location is updated. The cur-
sor position will remain at the same location if (Xp, Yp)
values are not changed.
Figure 6 shows the cursor on a display with overscan
boundary. As shown in this figure, cursor positioning is
relative to the CDE signal, and is not dependent on the
CBLANK* signal. If CBLANK* is deasserted but CDE
is not yet asserted, overscan data is displayed. Only after
CDE is asserted, is the cursor position determined. The
cursor Xp position is relative to the first rising edge of
LCLK when CDE is sampled at logical one after the
CDE vertical blanking interval has been determined.
The Bt485A detects CDE vertical blanking by mea-
suring the interval between CDE transitions. If a CDE
transition from logical zero to logical one (as deter-
mined by LCLK) does not occur within 2,048 pixel
clocks in the 1:1 MUX mode, then vertical blanking is
asserted. The cursor timing is based on LCLK in the 1:1
MUX mode. In 8:1, 4:1, or 2:1 MUX modes, cursor tim-
ing is based on the Pixel Clock.
Bt485A's cursor can be used in both interlaced and
noninterlaced systems. Bit CR23 allows the selection
between interlaced and non-interlaced modes. In nonin-
terlaced systems every scan line is displayed in consec-
utive order. In interlaced systems, each display scan
displays either the odd or even field, depending on the
state of the ODD/EVEN* pin.
The cursor pattern is held in the cursor RAM in the
planar format. As shown in Figure 7, the first byte of the
two planes combine to form the index to the cursor color
register. In non-interlaced mode, every row of cursor
RAM (plane 0, plane 1) is displayed consecutively, but
in interlaced mode odd and even fields have to be
assigned to rows of cursor RAM data.
When using the cursor in the interlaced mode, the
first line displayed depends on the stage of the ODD/
EVEN* pin. When the full length of the interlaced cur-
sor is displayed, the first line displayed depends on the
value of Yp as well as the state of the ODD/EVEN* pin.
The full length of the cursor is displayed on the
screen when Yp is greater than or equal to 64 (32) and
less than or equal to 4,095 for a 64 x 64 (32 x 32) cursor.
If Yp is an even number, the data in row 0 of the cursor
RAM will be displayed as the first scan line of the even
field (ODD/EVEN*=0), and the data in row 1 of the cur-
sor RAM will be displayed as the first scan line of the
odd field (ODD/EVEN*=1). The subsequent odd or
even scan lines will correspond to every alternate RAM
location.
If Yp is an odd number, the data in row 0 of the cursor
RAM will be displayed as the first scan line of the odd
field (ODD/EVEN*=1), and the data in row 1 of the cur-
sor RAM will be displayed as the first scan line of the
even field (ODD/EVEN*=0). The subsequent odd or
even scan lines will correspond to every alternate RAM
location.
If the length of the cursor is only partially seen on the
screen, then Yp is less than 64 (32). In this case, the
interlaced cursor display does not depend on whether Yp
is odd or even. The cursor RAM location corresponding
to the first line of the partial cursor will be displayed as
the first scan line of the even field (ODD/EVEN*=0).
The cursor RAM location corresponding to the second
line of the partial cursor will be displayed as the first
scan line of the odd field (ODD/EVEN*=1). The subse-
quent odd or even scan lines will correspond to every
alternate RAM location.