Vertical blank interrupt

A vertical blank interrupt (or VBI) is a hardware feature found in some legacy computer systems that generate a video signal. Cathode-ray tube based video display circuits generate vertical blanking and vertical sync pulses when the display picture has completed and the raster is being returned to the start of the display. With VBI, the vertical blank pulse is also used to generate an interrupt request for the computer's microprocessor.

The interrupt service routine can then modify data in the video display memory while it is not being read to avoid screen tearing effects. This was particularly useful in simple home computers and video game consoles that relied upon a central microprocessor to generate text or graphic displays. More advanced home computers featuring hardware sprites often supported the more flexible horizontal blank interrupt instead in order to allow them to be multiplexed.

As the VBI will be generated at the start of every displayed frame (50 Hz for PAL, 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 and joystick ports. It can also be used to implement a basic form of multitasking as well as a buffered graphics screen via page flipping, if hardware permits.

Modern protected mode operating systems generally do not support VBIs as access to hardware interrupts for unprivileged user programs could compromise the system stability. Instead, various APIs like DirectX provide efficient and safe ways to present graphics free of tear and flicker.

For computers that support VBIs see the page about raster interrupts.