- Convolution
The 8/24 Macintosh video cards address interlaced display flicker by running
every pixel through a formula that averages the pixel with its individual
neighboring pixels above and below. This technique is called convolution and
it is part of the function of the CLUT/DAC chip. Convolution causes an
averaging effect between scan lines so that a horizontal line includes at least
a portion of the scan lines above and below its own scan line. A portion of
the horizontal line remains visible during display of both the odd and even
fields to avoid flicker. The convolution formula follows a 1:2:1 ratio where
the current pixel value is given twice the weight of its neighbors above and
below.
The 4/8 does not support convolution; the 8/24 supports convolution at up to
8-bits per pixel automatically turning it on where appropriate. If a Display
Card 8/24 is driving an interlace display in 24-bit mode, convolution is
disabled. If the card is driving an interlace display in 8-bit, or a lesser
pixel depth, convolution is enabled.
- Underscan and Overscan
The full 640 x 480 active video display is visible on an interlaced monitor if
the monitor operates in underscan mode. (Underscan means that the monitor
screen is larger than the active video display.)
Many monitors do not show the full active video display area much because the
picture extends beyond the edges of the screen. This mode is called overscan
because the scanned image is larger than the display area. (Television sets
use overscan.)
To guarantee that the whole image is visible on an overscan monitor, all three
new display cards can be switched to overscan mode, which produces a smaller
display with only 512 x 384 pixels.
The new display cards can support both overscan and underscan monitors.
- Memory Organization
The frame buffer controller is a custom gate array that serves as the
controller for the 4/8 and 8/24 display cards. The frame buffer implements an
address translation scheme that allows the cards to use only 1MB to support
24-bit graphics even though a 640 x 480 monitor displaying 24-bit graphics
would normally require 1.2MB of VRAM. The 8 bits of data in each pixel that do
not convey any color (or gray-scale) information are ignored. Such compaction
allows 24-bit data for a 640 x 480 monitor to fit in just over 900K of VRAM.
The eight bits that are ignored are defined as the alpha channel and, when
maintained, can be used for special effects.
Macintosh Display Card 8/24 GC
The Macintosh Display Card 8/24 GC has the entire feature set of the Display
Card 8/24, with rapid drawing of 24-bit images. Display Card 8/24 GC is a
stand-alone display card that extends the 8/24 to include dramatic performance
acceleration. Unaccelerated 24-bit imaging can be slow, but Macintosh Display
Card 8/24 GC uses several methods to provide a thorough and integrated
solution. Macintosh Display Card 8/24 GC accelerates the drawing of images by
5 to 30 times, with greatest acceleration when drawing very complex images.
(Users of applications that circumvent QuickDraw will see very little
acceleration.)
The 8/24 GC supports convolution for interlaced displays at up to 8 bits per
pixel. 8/24 GC resident video RAM is not compressed the way it is on the 4/8
and 8/24 cards, which means the the extra alpha channel byte is maintained.
- Accelerating Graphics
One effective method for accelerating graphic imaging is the use of a
co-processor dedicated to drawing images. This frees the 680x0 to continue
program execution without having to wait for the time-consuming imaging of 8 to
24-bit pixel images. The Macintosh Display Card 8/24 GC card uses the Am29000
RISC-based microprocessor to relieve the 680x0 of the imaging process. The
AM29000 was chosen instead of a graphics processor because specialized graphics
processors are inadequate for Display Card 8/24 GC; they are unable to handle
complex QuickDraw operations and setup code.
- Inter-Process Communication
Display Card 8/24 GC uses a unique Inter-Process Communication (IPC),
streamlined for low overhead and fast response time. The Display Card 8/24 GC
resident IPC intercepts QuickDraw calls on the Macintosh and passes them and
their parameters to the special version of 32-bit QuickDraw that resides on
Macintosh Display Card 8/24 GC. The IPC also makes it possible for the
customized Macintosh Display Card 8/24 GC QuickDraw to call specific routines
running on the Macintosh.
- NuBus Data Transfer
Transferring large and deep bitmaps across the NuBus is the slowest part of the
drawing process. Typical reads and writes, from the Macintosh to the display
cards, are performed in 1000 and 500 nanoseconds respectively. NuBus data
transfer time is affected by the need to re-arbitrate for control of the bus
after each 32-bit word is transferred.
The Display Card 8/24 GC optimizes NuBus data transfer by reading only
QuickDraw variables and small portions of data structures across NuBus. The
bit maps are then created locally in the Macintosh Display Card 8/24 GC's VRAM.
The Display Card 8/24 GC reads and writes to its frame buffer memory at a rate
of 66 to 132 nanoseconds, and up to 2MB of DRAM on the card holds offscreen
bitmaps.
- 32-bit QuickDraw Optimized For the Am29000
The Display Card 8/24 GC 32-bit QuickDraw produces the same graphic output as
standard 32-bit QuickDraw. However, several algorithms have been modified, and
internal organization has been altered to fit into the graphics accelerator
architecture.
Macintosh Display Card 8/24 GC provides transparent acceleration of any
Macintosh application. No extra work need be done by an application to take
advantage of Macintosh Display Card 8/24 GC optimized 32-bit QuickDraw.