Vertical blank interrupt

Last updated

A vertical blank interrupt (also known as a vertical blanking interrupt [1] [2] , vertical retrace interrupt [3] or abbreviations of these such as VBL or VBI) is a hardware feature found in many older computer systems that generate a video signal. Video display circuits must generate vertical blanking and vertical sync pulses to indicate the start of each field within the video signal. With VBI, the display circuitry also generates an interrupt request for the computer's microprocessor at the start of the vertical blanking period. [3]

As no display information is being transmitted to the display during the vertical blanking period, an interrupt service routine for the vertical blanking interrupt can make changes to the displayed image or to the configuration of the display without the effects being immediately visible on screen. This can be used in a variety of ways to achieve smooth animation without screen tearing artefacts. [4] [2] For simple animation, it was possible to do all of the drawing within the limited time available during the vertical blanking period. [3] For more complex animation, the vertical blank interrupt handler could be used to switch buffers in a double-buffering scheme, [5] or to configure a graphics coprocessor that would generate the display as it was being output. [6] [7] Some systems also support a horizontal blank interrupt, which allows more elaborate interrupt-driven techniques such as sprite multiplexing.

As the VBI will be generated at the start of every displayed field (50 Hz for PAL, approximately 60 Hz for NTSC), it is a useful timebase in systems lacking other timing sources. VBIs are used in some home computers to perform regular functions like scanning the keyboard, mouse and joystick ports. [8] In a more complex operating system, the VBI may be used as a clock source for task switching or to trigger periodic background jobs. [9]

VBIs became less important in graphics programming on general-purpose computers in the 1990s, as multitasking operating systems no longer provide direct address to hardware features, and modern graphics libraries provide higher-level ways of achieving smooth animation. For examples of computers that support VBIs, see raster interrupt.

See also

References

  1. Chernicoff, Stephen (1985). Macintosh Revealed. Hayden Book Co. p. 610. ISBN   0810465515 . Retrieved 1 Sep 2025.
  2. 1 2 Macintosh Family Hardware Reference. Apple Computer Inc. 1988. p. 6-3. ISBN   9780201192551 . Retrieved 1 Sep 2025.
  3. 1 2 3 Sanchez, Julio; Canton, Maria (1991). Programming solutions handbook for IBM microcomputers. McGraw-Hill. p. 375. ISBN   0070546053 . Retrieved 1 Sep 2025.
  4. Mentley, David E. (1984). ABCs of Atari Computers. Datamost. ISBN   978-0-8359-0013-3.
  5. Kohlen, Manfred (1987). Grafik auf dem Amiga. Markt und Technik. p. 100. ISBN   3-89090-236-7 . Retrieved 1 Sep 2025.
  6. Stanton, Jeffrey; Pinal, Daniel (1984). Atari Graphics & Arcade Game Design. Arrays Inc. pp. 202–203. ISBN   0912003057 . Retrieved 1 Sep 2025.
  7. Crawford, Chris; Winner, Lane; Cox, Jim; Chen, Amy; Dunlon, Jim; Pitta, Kathleen; Fraser, Bob; Makreas, Gus (1983). De re Atari. Atari Inc. p. 8-16. Retrieved 1 Sep 2025.
  8. Krute, Stan (1988). Advanced Commodore 128 Graphics and Sound Programming. TAB Books. p. 142. ISBN   083060930X . Retrieved 1 Sep 2025.
  9. Morgan, Christopher (1985). Hidden Powers of the Macintosh. The Waite Group. p. 133-134. ISBN   0452256437 . Retrieved 1 Sep 2025.