Jump to content

User:Gravislizard/sandbox/Display Standards

From Wikipedia, the free encyclopedia


Computer Display Standards

[edit]

A computer display standard is a standard for video output from a computer system. Throughout the history of computers, display standards have developed from custom circuitry which required unique programming on every platform, with accompanying custom monitors, into high-level APIs implementing accelerated operations on generic display devices.

Early custom hardware

[edit]

Early home computers primarily output ordinary television signals in the NTSC, PAL or SECAM standards, either as composite video into a monitor or modulated RF directly into an ordinary television at resolutions of 240p to 480i.

Their video display controllers consisted of discrete components (Apple II, ZX Spectrum) or dedicated video output ASICs developed by companies like Texas Instruments (TMS9918) or Motorola (MC6845). The functionality of this hardware was hardwired and its implementation was unique to each model of computer it was used in. Even between computers sharing the same graphics chip, software developers had to follow the specific guidelines of their particular platform.

Early compatible standards

[edit]

In the 80s, video hardware became an interchangeable component of many microcomputers with expansion slots such as the IBM PC and compatibles, Macintosh and Sun.

IBM

[edit]

On the IBM PC, compatible video hardware used the same specifications as IBM's video cards, such as the MDA, CGA, EGA and VGA. Occasionally non-IBM cards became standards, such as the Hercules Graphics Card.

Cards compatible with these standards used the same video memory and register layouts, meaning that values written by program code to specific locations in the computer's address space would always result in updating the displayed picture or changing the configuration of the card in the same way. Many cards expanded on these capabilities with vendor-specific customizations, while maintaining compatibility with the capabilities of the original specification. These were known colloquially as "Super" cards, such as "Super EGA" and "Super VGA."

The VESA Bios Extensions represented the last register-compatible video card standard for the IBM PC, which persists in graphics cards to this day.

Macintosh

[edit]

Early Macintosh computers did not include expansion slots, and had no intended mechanism for hardware expansion. Beginning in the late 80s Apple introduced expansion slots, and third parties began producing NuBus and PDS video cards. Macintosh video cards required a low-level driver in an onboard ROM to communicate with MacOS, after which the card's capabilities would become available through QuickDraw.[1]

Other

[edit]

In the 1970s, the Tektronix 4010 established a de-facto standard for vector graphics in the CAD industry.[2]

Modern API-based standards

[edit]

While video cards with custom interfaces have been available throughout computer history, as GUI-based operating systems increased in complexity, computers shifted from dependence on register-compatible video hardware to cards implementing a basic functional mode (usually VBE on PC compatibles) for startup and diagnostics, and then a proprietary custom interface implemented by a software driver to enable full features and performance.

These custom drivers are not utilized directly by application developers, due to the operating system HAL. Instead, developers address the hardware through OS graphics APIs.

On Windows these include GDI, GDI+ and DirectDraw for 2D operations, and Direct3D for 3D operations.

On Mac these include QuickDraw 3D, Core Image

Multiple platforms now support common 3D APIs such as OpenGL and Vulkan.

  1. ^ Designing Cards and Drivers for the Macintosh Family 2nd Edition (PDF). 1990. p. 230.
  2. ^ Peddie, Jon (2013-06-13). The History of Visual Magic in Computers: How Beautiful Images are Made in CAD, 3D, VR and AR. Springer Science & Business Media. ISBN 978-1-4471-4932-3.