fbpx
Wikipedia

Raster interrupt

A raster interrupt (also called a horizontal blank interrupt) is an interrupt 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 as the scan lines 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.

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 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 edit

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.

Astrocade (two custom chips, 1977) edit

The Bally Astrocade 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) edit

The ANTIC chip used by the Atari 8-bit family includes display list interrupts (DLIs), which are triggered as the display is being drawn.[1][2] 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) edit

The ColecoVision, an 8-bit game console released in 1982, as well as the MSX, a standardized home computer from 1983, utilized the Texas Instruments TMS9918. It features a 'vertical interrupt' source to reposition the hardware sprites on the screen.

Commodore 64 (MOS Technology VIC-II chip, 1982) edit

The C64's and C128's VIC-II 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.

Nintendo Entertainment System (PPU chip, 1983) edit

The Nintendo Entertainment System's PPU graphics chip does not support true raster interrupts - an interrupt can be set to trigger during the vertical blank 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., Castlevania, and The Legend of Zelda 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) edit

The IBM PCjr using the Video Gate Array graphics chip supported a 'vertical retrace interrupt' implemented as IRQ5.[3] 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.[4] However, not all EGA cards implemented this feature and just very few programs utilizing EGA modes relied on it.

Modern GPUs 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 for the graphics card.

MSX2 (Yamaha V9938, 1985) edit

MSX2 computers feature a Yamaha V9938 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 series and Konami's Space Manbow.

Amiga (Copper chip, 1985) edit

The Amiga computers include a custom coprocessor called the Copper 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.

X68000 (VSOP + VINAS chip, 1987) edit

The X68000, a 16-bit home computer sold in Japan, has a flexible raster interrupt system to multiplex hardware sprites.

Game Boy (PPU chip, 1989) edit

The Game Boy's PPU has support for four raster interrupts:[5] it can be set to trigger at the beginning of a specified scanline, at the end of scanlines (during horizontal blanking), at the beginning of all scanlines, or at the beginning of vertical blanking. Its biggest drawback is that the same interrupt handler is used for the first three, requiring the use of "dispatching" code if more than one condition is used.

References edit

  1. ^ De Re Atari. Atari, Inc. 1982.
  2. ^ Watson, Alan (1982). "An Introduction To Display List Interrupts". COMPUTE!'s Second Book of Atari.
  3. ^ IBM PCjr Technical Reference. International Business Machines Corporation. November 1983. p. 108.
  4. ^ IBM Enhanced Graphics Adapter manual (PDF). p. 72.
  5. ^ "Video Display". GBDev Wiki. Retrieved 20 October 2017.

See also edit

raster, interrupt, this, article, needs, additional, citations, verification, please, help, improve, this, article, adding, citations, reliable, sources, unsourced, material, challenged, removed, find, sources, news, newspapers, books, scholar, jstor, december. This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources Raster interrupt news newspapers books scholar JSTOR December 2016 Learn how and when to remove this template message A raster interrupt also called a horizontal blank interrupt is an interrupt 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 as the scan lines 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 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 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 Contents 1 Systems supporting raster interrupts 1 1 Astrocade two custom chips 1977 1 2 Atari 8 bit family ANTIC chip 1979 1 3 ColecoVision and MSX TMS9918 chip 1979 1 4 Commodore 64 MOS Technology VIC II chip 1982 1 5 Nintendo Entertainment System PPU chip 1983 1 6 IBM PCjr Video Gate Array 1984 1 7 MSX2 Yamaha V9938 1985 1 8 Amiga Copper chip 1985 1 9 X68000 VSOP VINAS chip 1987 1 10 Game Boy PPU chip 1989 2 References 3 See alsoSystems supporting raster interrupts editSeveral 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 Astrocade two custom chips 1977 edit The Bally Astrocade 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 edit The ANTIC chip used by the Atari 8 bit family includes display list interrupts DLIs which are triggered as the display is being drawn 1 2 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 edit The ColecoVision an 8 bit game console released in 1982 as well as the MSX a standardized home computer from 1983 utilized the Texas Instruments TMS9918 It features a vertical interrupt source to reposition the hardware sprites on the screen Commodore 64 MOS Technology VIC II chip 1982 edit The C64 s and C128 s VIC II 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 Nintendo Entertainment System PPU chip 1983 edit The Nintendo Entertainment System s PPU graphics chip does not support true raster interrupts an interrupt can be set to trigger during the vertical blank 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 Castlevania and The Legend of Zelda 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 edit The IBM PCjr using the Video Gate Array graphics chip supported a vertical retrace interrupt implemented as IRQ5 3 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 4 However not all EGA cards implemented this feature and just very few programs utilizing EGA modes relied on it Modern GPUs 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 for the graphics card MSX2 Yamaha V9938 1985 edit MSX2 computers feature a Yamaha V9938 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 series and Konami s Space Manbow Amiga Copper chip 1985 edit The Amiga computers include a custom coprocessor called the Copper 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 X68000 VSOP VINAS chip 1987 edit The X68000 a 16 bit home computer sold in Japan has a flexible raster interrupt system to multiplex hardware sprites Game Boy PPU chip 1989 edit The Game Boy s PPU has support for four raster interrupts 5 it can be set to trigger at the beginning of a specified scanline at the end of scanlines during horizontal blanking at the beginning of all scanlines or at the beginning of vertical blanking Its biggest drawback is that the same interrupt handler is used for the first three requiring the use of dispatching code if more than one condition is used References edit De Re Atari Atari Inc 1982 Watson Alan 1982 An Introduction To Display List Interrupts COMPUTE s Second Book of Atari IBM PCjr Technical Reference International Business Machines Corporation November 1983 p 108 IBM Enhanced Graphics Adapter manual PDF p 72 Video Display GBDev Wiki Retrieved 20 October 2017 See also editList of home computers by video hardware Racing the beam Vertical blank interrupt Retrieved from https en wikipedia org w index php title Raster interrupt amp oldid 1167031710, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.