{{short description|Computer interrupt in home computers triggered by video output.}}

A '''vertical blank interrupt''' (also known as a '''vertical blanking interrupt''',<ref name="mac-revealed">{{cite book |last1=Chernicoff |first1=Stephen |title=Macintosh Revealed |date=1985 |publisher=Hayden Book Co |isbn=0810465515 |page=610 |url=https://archive.org/details/macintoshreveale0000cher/mode/2up |access-date=1 Sep 2025}}</ref><ref name="mac-hardware-ref">{{cite book |title=Macintosh Family Hardware Reference |date=1988 |publisher=Apple Computer Inc. |isbn=9780201192551 |page=6-3 |url=https://archive.org/details/isbn_9780201192551/page/n127/mode/2up |access-date=1 Sep 2025}}</ref> '''vertical retrace interrupt'''<ref name="prog-sol-ibm">{{cite book |last1=Sanchez |first1=Julio |last2=Canton |first2=Maria |title=Programming solutions handbook for IBM microcomputers |date=1991 |publisher=McGraw-Hill |isbn=0070546053 |page=375 |url=https://archive.org/details/programmingsolut00sanc/page/374/mode/2up |access-date=1 Sep 2025}}</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>{{Cite book |last=Mentley |first=David E. |url=https://books.google.com/books?id=PkMSAQAAMAAJ&q=%22Vertical+blank+interrupt%22+-wikipedia+%22interrupt+request%22 |title=ABCs of Atari Computers |date=1984 |publisher=Datamost |isbn=978-0-8359-0013-3 |language=en}}</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">{{cite book |last1=Kohlen |first1=Manfred |title=Grafik auf dem Amiga |date=1987 |publisher=Markt und Technik |isbn=3-89090-236-7 |page=100 |url=https://archive.org/details/grafik-auf-dem-amiga-de/page/99/mode/2up |access-date=1 Sep 2025}}</ref> or to configure a graphics coprocessor that would generate the display as it was being output.<ref name="arcade-game-design">{{cite book |last1=Stanton |first1=Jeffrey |last2=Pinal |first2=Daniel |title=Atari Graphics & Arcade Game Design |date=1984 |publisher=Arrays Inc. |isbn=0912003057 |pages=202–203 |url=https://archive.org/details/ataribooks-atari-graphics-and-arcade-game-design/mode/2up |access-date=1 Sep 2025}}</ref><ref name="de-re-atari">{{cite book |last1=Crawford |first1=Chris |last2=Winner |first2=Lane |last3=Cox |first3=Jim |last4=Chen |first4=Amy |last5=Dunlon |first5=Jim |last6=Pitta |first6=Kathleen |last7=Fraser |first7=Bob |last8=Makreas |first8=Gus |title=De re Atari |date=1983 |publisher=Atari Inc. |pages=8–16 |url=https://archive.org/details/de-re-atari-anno-domini-mcmlxxxi-a-guide-to-efective-programming/page/8-15/mode/2up |access-date=1 Sep 2025}}</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&nbsp;Hz for PAL, approximately 60&nbsp;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">{{cite book |last1=Krute |first1=Stan |title=Advanced Commodore 128 Graphics and Sound Programming |date=1988 |publisher=TAB Books |isbn=083060930X |page=142 |url=https://archive.org/details/Advanced_Commodore_128_Graphics_and_Sound_Programming_1988_TAB_Books/page/n155/mode/2up |access-date=1 Sep 2025}}</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">{{cite book |last1=Morgan |first1=Christopher |title=Hidden Powers of the Macintosh |date=1985 |publisher=The Waite Group |isbn=0452256437 |pages=133–134 |url=https://archive.org/details/mac_Hidden_Powers_of_the_Macintosh_1985/page/n147/mode/2up |access-date=1 Sep 2025}}</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== *Horizontal blank interrupt

==References== {{reflist}}

Category:Video game development