Растровое прерывание (также называется горизонтальное прерыванием пустого ) является прерыванием сигнала в компьютерной системе , которая используется для синхронизации отображения. Обычно, хотя и не всегда, он генерируется графическим чипом системы, когда строки развертки кадра подготавливаются для отправки на монитор для отображения.
Такое прерывание обеспечивает механизм изменения регистров графики в середине кадра, поэтому они имеют разные значения выше и ниже точки прерывания. Это позволяет, например, одноцветному объекту иметь несколько горизонтальных цветовых полос или перемещать спрайт, чтобы создать иллюзию того, что спрайтов больше, чем поддерживает система. Ограничение состоит в том, что изменения влияют только на часть дисплея ниже прерывания. Они не позволяют использовать больше цветов или больше спрайтов в одной строке сканирования.
Системы, поддерживающие растровые прерывания
Несколько популярных домашних компьютеров и игровых консолей включали в себя графические чипы, поддерживающие растровые прерывания, или имели функции, которые можно было комбинировать для работы как растровые прерывания.
Балли Астрокейд (1977)
8-битное семейство Atari (чип ANTIC, 1979)
ANTIC чип , используемый в 8-битном семейства Atari включает в себя список отображения прерываний (DLIS), которые запускаются , как дисплей втягивается. [1] [2] Сам чип ANTIC является довольно мощным и по своей сути способен выполнять многие функции, которые в других системах требуется для дублирования растровых прерываний. ANTIC может смешивать несколько графических режимов на экране, отображать горизонтальную и вертикальную развернутую графику и тонкую прокрутку выбранных горизонтальных областей. DLI на Atari обычно используются для добавления дополнительного цвета к дисплею и повторного использования графических элементов Player / Missile.
Commodore 64 (микросхема MOS Technology VIC-II, 1982 г.)
VIC-II C64 имеет гибкую систему прерывания растра. Растровые прерывания и вмешательство ЦП необходимы для повторного использования спрайтов на экране, смешивания графических режимов и выборочной прокрутки областей экрана.
Nintendo Entertainment System (чип PPU, 1983)
В Nintendo Entertainment System «сек PPU графического чип не поддерживает истинные растровые прерывания - прерывание может быть установлены на спусковой крючок во время вертикального пустого интервала, но не в любой произвольной линии сканирования - вместо требуемого опрос„хит флага“ , который указывается , когда рисовался первый спрайт. Хотя в ранних играх, таких как Super Mario Bros. , Castlevania и The Legend of Zelda, с помощью этого метода удавалось производить эффективную прокрутку на разделенном экране, он требовал больших ресурсов процессора. Некоторые более поздние картриджи включали схему MMC (наиболее заметно микросхему MMC3 от Nintendo), которая отслеживала адрес PPU и строки данных и генерировала растровые прерывания.
MSX2 (Yamaha V9938, 1985 г.)
Компьютеры MSX2 оснащены специальным процессором видеодисплея (VDP) Yamaha V9938, который, как и NES, поддерживает прерывания по вертикали, но требует опроса на предмет прерываний по горизонтали. Он обычно использовался для создания разделенных экранов, смешивания нескольких видеорежимов на одном экране и для увеличения количества уникальных цветов на экране сверх официальных спецификаций. Яркими примерами использования являются серия Aleste и Space Manbow от Konami .
Commodore Amiga (Медный чип, 1985)
В компьютерах Amiga есть специальный сопроцессор, называемый Copper, который предназначен для обслуживания растровых прерываний. Copper запускает программу простых инструкций, предписывающих ему дождаться определенной линии вертикального сканирования и положения луча по горизонтали, а затем обновлять содержимое пользовательского аппаратного регистра микросхемы. Обычно это используется для изменения параметров отображения, таких как смешивание режимов отображения, повторное использование спрайтов или изменение регистров цвета, но также может использоваться для запуска прерывания ЦП.
Nintendo Game Boy (чип PPU, 1989)
Game Boy «ы ППА имеет поддержку четыре растровых прерываний: [3] он может быть установлен на спусковой крючок в начале указанной строки развертки, в конце растровых строк (во время горизонтального гашения ), в начале всех растровых строк, или при начало вертикального гашения . Его самый большой недостаток заключается в том, что для первых трех используется один и тот же обработчик прерывания , что требует использования «диспетчерского» кода, если используется более одного условия.
Рекомендации
- ↑ De Re Atari . Atari, Inc., 1982 год.
- ^ Уотсон, Алан (1982). «Введение в прерывания списка отображения» . COMPUTE! - вторая книга Atari .
- ^ «Видео дисплей» . GBDev Wiki . Проверено 20 октября 2017 года . CS1 maint: обескураженный параметр ( ссылка )