Vertical blank interrupt

From Vero - Wikipedia
Jump to navigation Jump to search

Template:Short description

A vertical blank interrupt (also known as a vertical blanking interrupt,<ref name="mac-revealed">Template:Cite book</ref><ref name="mac-hardware-ref">Template:Cite book</ref> vertical retrace interrupt<ref name="prog-sol-ibm">Template:Cite book</ref> 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.<ref name="prog-sol-ibm" />

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.<ref>Template:Cite book</ref><ref name="mac-hardware-ref" /> For simple animation, it was possible to do all of the drawing within the limited time available during the vertical blanking period.<ref name="prog-sol-ibm" /> For more complex animation, the vertical blank interrupt handler could be used to switch buffers in a double-buffering scheme,<ref name="grafik-amiga">Template:Cite book</ref> or to configure a graphics coprocessor that would generate the display as it was being output.<ref name="arcade-game-design">Template:Cite book</ref><ref name="de-re-atari">Template:Cite book</ref> 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.<ref name="c128-graphics">Template:Cite book</ref> In a more complex operating system, the VBI may be used as a clock source for task switching or to trigger periodic background jobs.<ref name="hidden-powers-mac">Template:Cite book</ref>

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

Template:Reflist