Macintosh Quadra 700, 900: Built-In Video

  • Last Modified: October 04, 2008
  • Article: TA28634
  • Old Article: 10992
Email this article
Print this page
This article, by the designer of the Macintosh Quadra's video hardware, discusses a number of general Quadra video topics.
The Quadras were designed with a flexible video hardware section to support a wide variety of displays. Since the purchaser of one of these systems is paying for a frame buffer on the logic board (whether (s) he wants it or not), and since the Quadras were designed to be high-performance machines, the frame buffer was designed to be both very flexible (to support most displays a user may want to use) and to be high performance (to match the computer's capabilities).

Obviously, every display made by every third-party monitor vendor can't be supported by the built-in video, but the Quadras do support a much wider range of displays at a higher level of performance than any previous Macintosh. The Quadra 700 and 900 support pixel depths ranging from 1 to 32 bits per pixel (bpp), Apple displays ranging from the 512 x 384 12-inch color monitor through the 1152 x 870 21-inch color monitor, pixel clocks ranging from 12 to 100 MHz, and a variety of industry standards such as VGA, SVGA, NTSC, and PAL. The Quadra video port produces RS-343 RGB, and provides horizontal, vertical, and composite sync outputs.

Composite or S-video output is not provided, but can be accomplished by use of an external RGB-to-composite encoder. The Quadra 700 and 900 also support Apple convolution for flicker-reduction on interlaced displays (i.e., NTSC and PAL) at up to 8 bpp. The Quadras automatically detect the type of display attached to the video connector via three 'sense' pins on the video connector. Depending on the wiring of these three pins, software in ROM configures the video hardware for one of the supported display types. (A full description of sense pin wiring and supported display types is in another article.)

The Quadra series provides the highest built-in video performance of any Macintosh to date. In a (very) simplified graphics model, we could say that performance depends on two main factors: processor horsepower and the bandwidth the processor has into frame buffer memory. These systems already have a fast processor-- the 68040-- which runs standard 32-bit QuickDraw.

To provide high bandwidth into frame buffer memory, dedicated video RAM (VRAM) was used for the frame buffer, and that VRAM was placed directly on the 68040 processor's local bus. This provides the 68040 the same access time into frame buffer memory that it has into main system RAM. (Transfer rates can exceed 40MB/sec.) In addition, memory options such as fast page mode are supported, which can improve graphics performance for operations such as scrolling, offscreen-to-onscreen pixmap transfers, etc.

In several cases the design was optimized for high performance over low cost. A good example of this is 32 bpp operation on Apple's standard 13-inch RGB monitor at 640 x 480 resolution (and this also applies to VGA and NTSC), which is probably the most common color monitor in use on the Macintosh. The actual number of memory bytes needed to support 24 bpp is 640 x 480 x 3 = 921,600. This would seem to fit within 1MB of memory (as is true with the Macintosh Display Card 8*24), but the Quadras actually require 2MB of VRAM for this mode.

The 8*24 card supports 24 bpp at 640 x 480 by using a storage mode called 'chunky planar' to use all its 1MB of VRAM. However, this results in having to perform three separate memory accesses for each 24-bit pixel read from or written to the frame buffer. (This is done in hardware, so software only performs a single read or write.) On a NuBus video card, this inefficiency is partly masked by the synchronization delays which occur at the
processor-bus/NuBus interface. However, when frame buffer memory is placed directly on the processor bus, this approach results in a nearly 3x performance degradation.

This was judged unacceptable for the Quadras. Each 24-bit pixel occupies one longword (4-bytes) in VRAM, so the Quadras actually provide 32 bpp for the 640 x 480 resolution. This pushes the memory requirement for this mode over the 1MB boundary (640 x 480 x 4 = 1,228,800 bytes). Performance is improved still more by another frame buffer architectural feature. Frame buffer memory in the Quadras is organized into 4 'banks' of 512 K per bank. As mentioned earlier, Quadra VRAM can operate in fast page mode. In addition, each bank of VRAM operates in fast page mode independent of the other 3 banks. This causes in-page 'hits' to increase, and improves the effective bandwidth into the frame buffer. Also, at 32 bpp, 640 x 480 resolution, each row is set to 4096 bytes, or 1024 32-bit pixels. Each successive row is assigned to a different VRAM bank (modulo 4).

This memory organization commonly improves performance during certain performed graphics operations such as vertical scrolling.

In any design there are several tradeoffs to be made, and this is certainly true for the frame buffer in the Quadras. While the video does operate at 32 bpp on up to 16-inch displays, it does not support 21-inch displays at this pixel depth since this would have greatly raised the cost of the main logic board. (Memory capacity and bus bandwidths would essentially have to double, and this would be expensive.) It does support NTSC and PAL timing, but does not provide a composite video output. While it is much faster than any non-accelerated video card, there are accelerated video cards that are faster (and more expensive).

A separate graphics processor was not added primarily for cost reasons. However, a graphics processor such as the 29000 RISC chip on the Display Card 8*24 GC can only speed up the graphics operations that it was designed to know about. If an application program bypasses QuickDraw (which is what most Macintosh graphics accelerators are designed to speed up), a graphics accelerator will not improve performance, and can actually cause a performance degradation.

Overall, the Macintosh Quadra video provides a reasonable compromise of cost, performance, and features, which provide the video needed by most Macintosh users at a reasonable price.
Not helpful Somewhat helpful Helpful Very helpful Solved my problem