A raster interrupt (also called a horizontal blank interrupt) is an
interrupt
In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
signal in a legacy computer system which is used for display timing. It is usually, though not always, generated by a system's
graphics chip
A video display controller or VDC (also called a display engine or display interface) is an integrated circuit which is the main component in a video-signal generator, a device responsible for the production of a TV video signal in a computin ...
as the
scan line
A scan line (also scanline) is one line, or row, in a raster scanning pattern, such as a line of video on a cathode ray tube (CRT) display of a television set or computer monitor.
On CRT screens the horizontal scan lines are visually discernible ...
s of a frame are being readied to send to the monitor for display. The most basic implementation of a raster interrupt is the
vertical blank interrupt
{{unreferenced, date=February 2008
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 ...
.
Such an interrupt provides a mechanism for graphics registers to be changed mid-frame, so they have different values above and below the interrupt point. This allows a single-color object such as the background or the screen border to have multiple horizontal
color bands, for example. Or, for a hardware
sprite to be repositioned to give the illusion that there are more sprites than a system supports. The limitation is that changes only affect the portion of the display below the interrupt. They don't allow more colors or more sprites on a single scan line.
Modern
protected mode
In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units (CPUs). It allows system software to use features such as virtual memory, paging and safe multi-tasking d ...
operating systems generally do not support raster interrupts as access to hardware interrupts for unprivileged user programs could compromise the system stability. As their most important use case, the multiplexing of hardware sprites, is nowadays no longer relevant there exists no modern successor to raster interrupts.
Systems supporting raster interrupts
Several popular home computers and video game consoles included graphics chips supporting raster interrupts or had features that could be combined to work like raster interrupts. The following list is not exhaustive.
Bally Astrocade (two custom chips, 1977)
The
Bally Astrocade
The ''Bally'' ''Astrocade'' (also known as ''Bally Arcade'' or initially as ''Bally ABA-1000'') is a second-generation home video game console and simple computer system designed by a team at Midway, at that time the videogame division of Bally. ...
supported a horizontal blank interrupt to select the four screen colors from a palette of 256 colors. The Astrocade did not support hardware sprites.
Atari 8-bit family (ANTIC chip, 1979)
The
ANTIC
Alphanumeric Television Interface Controller (ANTIC) is an LSI ASIC dedicated to generating 2D computer graphics to be shown on a television screen or computer display. Under the direction of Jay Miner, the chip was designed in 1977-1978 by ...
chip used by the
Atari 8-bit family
The Atari 8-bit family is a series of 8-bit home computers introduced by Atari, Inc. in 1979 as the Atari 400 and Atari 800. The series was successively upgraded to Atari 1200XL , Atari 600XL, Atari 800XL, Atari 65XE, Atari 130XE, Atari 800XE, ...
includes display list interrupts (DLIs), which are triggered as the display is being drawn.
The ANTIC chip itself is considerably powerful and inherently capable of many features which other systems require raster interrupts to duplicate. ANTIC can mix multiple graphics modes on the screen, display horizontal and vertical overscan graphics, and fine scroll selected horizontal regions. DLIs on the Atari are typically used to add additional color to the display and reuse Player/Missile graphics elements.
ColecoVision and MSX (TMS9918 chip, 1979)
The
ColecoVision
ColecoVision is a second-generation home video-game console developed by Coleco and launched in North America in August 1982. It was released a year later in Europe by CBS Electronics as the CBS ColecoVision.
The console offered a closer expe ...
, a 8-bit game console released in 1992 as well as the
MSX, a standardized home computer from 1983 utilized the Texas Instruments
TMS9918
IMAGE:TMS9918A 01.jpg, VDP TMS9918A
IMAGE:TMS9918A 02.jpg, VDP TMS9918A
IMAGE:TMS9928A 01.jpg, VDP TMS9928A
The TMS9918 is a video display controller (VDC) manufactured by Texas Instruments, in manuals referenced as 'Video Display Processor' (VDP ...
. It features a 'vertical interrupt' source to reposition the hardware sprites on the screen.
Commodore 64 (MOS Technology VIC-II chip, 1982)
The
C64's and
C128's
VIC-II
The VIC-II (Video Interface Chip II), specifically known as the MOS Technology 6567/8562/8564 (NTSC versions), 6569/8565/8566 (PAL), is the microchip tasked with generating Y/C video signals (combined to composite video in the RF modulator) and D ...
has a flexible raster interrupt system. Raster interrupts and CPU intervention are necessary to reuse sprites on the screen, mix graphics modes, and selectively scroll screen regions. Raster interrupts are also supported by the
Plus/4's and
C16's
TED
TED may refer to:
Economics and finance
* TED spread between U.S. Treasuries and Eurodollar
Education
* ''Türk Eğitim Derneği'', the Turkish Education Association
** TED Ankara College Foundation Schools, Turkey
** Transvaal Education Depa ...
.
Nintendo Entertainment System (PPU chip, 1983)
The
Nintendo Entertainment System
The Nintendo Entertainment System (NES) is an 8-bit third-generation home video game console produced by Nintendo. It was first released in Japan in 1983 as the commonly known as the The NES, a redesigned version, was released in America ...
's
PPU graphics chip does not support true raster interrupts - an interrupt can be set to trigger during the
vertical blank
In a raster scan display, the vertical blanking interval (VBI), also known as the vertical interval or VBLANK, is the time between the end of the final visible line of a frame or field and the beginning of the first visible line of the next fram ...
interval, but not at any arbitrary scan line - instead required polling of a "hit flag" that indicated when the first sprite was being drawn. Although early games like ''
Super Mario Bros.
is a platform game developed and published by Nintendo for the Nintendo Entertainment System (NES). The successor to the 1983 arcade game '' Mario Bros.'' and the first game in the ''Super Mario'' series, it was first released in 1985 for ...
'', ''
Castlevania
''Castlevania'' (), known in Japan as is a gothic horror action-adventure video game series and media franchise about Dracula (Castlevania), Dracula, created and developed by Konami. It has been released on various platforms, from early system ...
'', and ''
The Legend of Zelda
''The Legend of Zelda'' is an action-adventure game franchise created by the Japanese game designers Shigeru Miyamoto and Takashi Tezuka. It is primarily developed and published by Nintendo, although some portable installments and re-rele ...
'' managed to produce effective split-screen scrolling with this method, it is CPU-intensive. Some later cartridges incorporated
MMC circuitry (most prominently Nintendo's MMC3 chip) that kept track of the PPU's address and data lines and generated raster interrupts.
IBM PCjr (Video Gate Array, 1984)
The
IBM PCjr
The IBM PCjr (pronounced "PC junior") was a home computer produced and marketed by IBM from March 1984 to May 1985, intended as a lower-cost variant of the IBM PC with hardware capabilities better suited for video games, in order to compete mor ...
using the
Video Gate Array
Tandy Graphics Adapter (TGA, also Tandy graphics) is a computer display standard for the Tandy 1000 series of IBM PC compatibles, which has compatibility with the video subsystem of the IBM PCjr but became a standard in its own right.
PCjr grap ...
graphics chip supported a 'vertical retrace interrupt' implemented as IRQ5. Later in 1984, IBM introduced the
EGA graphics standard which also supported a vertical retrace interrupt, but implemented as
XT IRQ2 and disabled by default. However, not all EGA cards implemented this feature and just very few programs utilizing EGA modes relied on it.
Modern
GPU
A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
s have an IRQ registered on the main processor. Importantly, this is neither a vertical nor a horizontal 'blank interrupt' and it is handled by the
device driver
In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and ot ...
for the graphics card.
MSX2 (Yamaha V9938, 1985)
MSX2 computers feature a
Yamaha V9938
The Yamaha V9938 is a video display processor (VDP) used on the MSX2 home computer, as well as on the Geneve 9640 enhanced TI-99/4A clone and the Tatung Einstein 256. It was also used in a few MSX1 computers, in a configuration with 16kB VRAM.
...
graphics chip that, like the NES, supports 'vertical blank interrupts' but requires polling for 'horizontal blank interrupts'. It was commonly used to create split screens, mix multiple video modes together on one screen and to increase the number of unique colours on the screen beyond the official spec. Prominent usage examples are the
Aleste
is a 1988 shoot 'em up video game developed by Compile, originally published by Sega for the Master System and then by CP Communications for the MSX2. The Master System version was released outside Japan as ''Power Strike''. The game spawned ...
series and Konami's
Space Manbow
is a horizontally scrolling shooter developed and published by Konami for the MSX2 and MSX2+ home computers in 1989. It was later re-released for mobile phones on September 1, 2006; for the Nintendo Wii's Virtual Console service on November 24, ...
.
Commodore Amiga (Copper chip, 1985)
The Amiga computers include a custom
coprocessor
A coprocessor is a computer processor used to supplement the functions of the primary processor (the CPU). Operations performed by the coprocessor may be floating-point arithmetic, graphics, signal processing, string processing, cryptography o ...
called the
Copper
Copper is a chemical element with the symbol Cu (from la, cuprum) and atomic number 29. It is a soft, malleable, and ductile metal with very high thermal and electrical conductivity. A freshly exposed surface of pure copper has a pinkis ...
which is dedicated to servicing raster interrupts. The Copper runs a program of simple instructions directing it to wait for a specific vertical scan line and horizontal beam position, then update the contents of a custom chip hardware register. This is typically used for modifying display parameters, such as mixing display modes, reusing sprites, or changing color registers, but can also be used to trigger a CPU interrupt.
Sharp X68000 (VSOP + VINAS chip, 1987)
The
Sharp X68000
The is a home computer created by Sharp Corporation. It was first released in 1987 and sold only in Japan.
The initial model has a 10 MHz Motorola 68000 CPU, 1 MB of RAM, and lacks a hard drive. The final model was released in 1993 wit ...
, a 16-bit home computer sold in Japan only has a flexible raster interrupt system to multiplex hardware sprites.
Nintendo Game Boy (PPU chip, 1989)
The
Game Boy
The is an 8-bit fourth generation handheld game console developed and manufactured by Nintendo. It was first released in Japan on April 21, 1989, in North America later the same year, and in Europe in late 1990. It was designed by the same ...
's
PPU has support for four raster interrupts:
it can be set to trigger at the beginning of a specified scanline, at the end of scanlines (during
horizontal blanking
Horizontal blanking interval refers to a part of the process of displaying images on a computer monitor or television screen via raster scanning. CRT screens display images by moving beams of electrons very quickly across the screen. Once the beam ...
), at the beginning of all scanlines, or at the beginning of
vertical blanking
In a raster scan display, the vertical blanking interval (VBI), also known as the vertical interval or VBLANK, is the time between the end of the final visible line of a frame or field and the beginning of the first visible line of the next fra ...
. Its biggest drawback is that the same
interrupt handler
In computer systems programming, an interrupt handler, also known as an interrupt service routine or ISR, is a special block of code associated with a specific interrupt condition. Interrupt handlers are initiated by hardware interrupts, softwar ...
is used for the first three, requiring the use of "dispatching" code if more than one condition is used.
References
{{reflist
See also
*
List of home computers by video hardware
This is a list of home computers, sorted alphanumerically, which lists all relevant details of their video hardware.
Home computers are the second generation of desktop computers, entering the market in 1977 and becoming common during the 1980s. ...
*
Racing the beam
*
Vertical blank interrupt
{{unreferenced, date=February 2008
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 ...
Interrupts