Растровое прерывание - Raster interrupt

А растровое прерывание (также называемый горизонтальное пустое прерывание) является прерывать сигнал в компьютерной системе, который используется для отображения времени. Обычно, хотя и не всегда, он генерируется системой графический чип как линии сканирования кадра готовятся для отправки на монитор для отображения.

Такое прерывание обеспечивает механизм для изменения регистров графики в середине кадра, поэтому они имеют разные значения выше и ниже точки прерывания. Это позволяет, например, одноцветному объекту иметь несколько горизонтальных цветных полос или перемещать спрайт, чтобы создать иллюзию того, что спрайтов больше, чем поддерживает система. Ограничение состоит в том, что изменения влияют только на часть дисплея под прерыванием. Они не позволяют размещать больше цветов или больше спрайтов в одной строке сканирования.

Системы, поддерживающие растровые прерывания

Несколько популярных домашних компьютеров и игровых приставок включали графические чипы, поддерживающие растровые прерывания, или имели функции, которые можно было комбинировать для работы как растровые прерывания.

Балли Astrocade (1977)

8-битное семейство Atari (чип ANTIC, 1979)

В АНТИК чип, используемый Семейство 8-битных Atari включает отображать список прерываний (DLI), которые запускаются при отрисовке дисплея.[1][2] Сам чип ANTIC является довольно мощным и по своей сути обладает многими функциями, которые другим системам требуется для дублирования растровых прерываний. ANTIC может смешивать несколько графических режимов на экране, отображать горизонтальную и вертикальную развернутую графику и тонкую прокрутку выбранных горизонтальных областей. DLI на Atari обычно используются для добавления дополнительного цвета к дисплею и повторного использования графических элементов Player / Missile.

Commodore 64 (микросхема MOS Technology VIC-II, 1982)

VIC-II C64 имеет гибкую систему прерывания растра. Растровые прерывания и вмешательство ЦП необходимы для повторного использования спрайтов на экране, смешивания графических режимов и выборочной прокрутки областей экрана.

Nintendo Entertainment System (чип PPU, 1983)

В Система развлечений Nintendo с PPU графический чип не поддерживает истинные растровые прерывания - прерывание можно настроить на срабатывание во время вертикальный бланк интервал, но не в любой произвольной строке развертки - вместо этого требуется опрос «флага попадания», который указывает, когда рисовался первый спрайт. Хотя ранние игры нравятся Super Mario Bros., Castlevania, и Легенда о Зельде с помощью этого метода удалось произвести эффективную прокрутку на разделенном экране, он требует больших ресурсов процессора. Некоторые более поздние картриджи включены MMC схема (в первую очередь микросхема MMC3 от Nintendo), которая отслеживала адрес PPU и линии данных, а также генерировала растровые прерывания.

MSX2 (Yamaha V9938, 1985 г.)

Компьютеры MSX2 имеют специальный Yamaha V9938 Процессор видеодисплея (VDP), который, как и NES, поддерживает «вертикальные пустые прерывания», но требует опроса для «горизонтальных пустых прерываний». Он обычно использовался для создания разделенных экранов, смешивания нескольких видеорежимов на одном экране и для увеличения количества уникальных цветов на экране сверх официальных спецификаций. Яркими примерами использования являются Алесте серии и Konami Космический Манбоу.

Commodore Amiga (Медный чип, 1985)

В компьютерах Amiga есть специальный сопроцессор называется Медь который предназначен для обслуживания растровых прерываний. Copper запускает программу простых инструкций, предписывающих ему дождаться определенной линии вертикального сканирования и положения луча по горизонтали, а затем обновлять содержимое пользовательского аппаратного регистра чипа. Обычно это используется для изменения параметров отображения, таких как смешивание режимов отображения, повторное использование спрайтов или изменение регистров цвета, но также может использоваться для запуска прерывания ЦП.

Nintendo Game Boy (чип PPU, 1989)

В Геймбой с PPU имеет поддержку четырех растровых прерываний[3] : его можно настроить на запуск в начале указанной строки развертки, в конце строки развертки (во время Горизонтальное гашение ), в начале всех строк развертки или в начале Вертикальное гашение. Самый большой его недостаток в том, что Обработчик прерывания используется для первых трех, требуя использования кода "диспетчеризации", если используется более одного условия.

Рекомендации

  1. ^ Де Ре Атари. Atari, Inc. 1982 г.
  2. ^ Уотсон, Алан (1982). «Введение в прерывания списка отображения». Вторая книга Atari от COMPUTE!.
  3. ^ "Видео дисплей". GBDev Вики. Получено 20 октября 2017.

Смотрите также