VAXstation: A General-Purpose Raster Graphics Architecture

Order Number: MISC-6841C3A2

The VAXstation architecture, and its initial implementation, the VS100, was developed to provide a high-resolution raster graphics workstation environment for VAX minicomputer users. It aimed to bridge the gap between tightly integrated, single-user graphics systems (like Xerox Alto) and loosely coupled remote display devices.

The VAXstation operates as a coprocessor to the VAX host, featuring a Motorola 68000 microprocessor, local memory (including a display frame buffer and off-screen image memory), and a specialized performance accelerator for common graphics operations. A key design allows both the M68000 and accelerator to read and write data in either the VAXstation's local memory or the VAX host's memory (accessed via a fiber-optic link), providing flexibility and overcoming local memory limitations for elements like fonts and windows.

The graphics architecture defines a set of commands built upon an extended RasterOp (BitBlt) model. The five core output commands are:

  1. Copy Area: The fundamental operation, a generalized BitBlt/RasterOp that transfers pixels from a source to a destination bitmap. It supports various source types (bitmap, constant color, halftone), masks (rectangular or arbitrary templates), and transformation "maps" for pixel modification. It uniquely supports multiple clipping rectangles to constrain output, essential for window management.
  2. Draw Curve: Renders connected or disconnected straight and curved segments. It uses source and mask parameters to define a "brush" shape and color, painting along a path defined by points with flags for coordinate type, segment type (cubic splines for curves), and drawing control.
  3. Print Text: Outputs text strings using "strike format" fonts. Fonts can function as either a source image (including background) or a source mask (transparent character shapes), with parameters for justification and control strings for advanced positioning.
  4. Fill Area: Fills bounded regions defined by a path list of segments.
  5. Flood Area: Fills a closed region starting from a seed point, using a boundary map to identify internal pixels.

While the VAXstation architecture aimed for a consistent model, its complexity due to numerous parameters was acknowledged. A significant finding was that host software overhead (e.g., device driver interfacing, memory locking) often consumed more time than the device's actual processing for small commands, highlighting a key challenge in optimizing performance for distributed graphics systems. The VS100 design principles were later adapted for integrated workstation displays directly within VAX systems.

MISC-6841C3A2
January 1984
14 pages
Quality

Original
1.1MB

Site structure and layout ©2025 Majenko Technologies