Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Видеопроцессор Денди (PPU)




 

Видеопроцессор (PPU) ориентирован на работу в одном из стандартов (PAL/NTSC) – для российских Денди – это, как правило, PAL (Далее рассматриваем именно вариант PAL). PPU формирует «готовый» низкочастотный видеосигнал, который непосредственно (или, в зависимости от модели приставки, через каскад усилителя) подается на видеовыход Денди и на вход модулятора полного («антенного») сигнала.

Итак - PPU имеет:

· Шина Адреса – 14 бит (адресное пространство 16кб) + 256 байт отдельно адресуемой памяти спрайтов

· Шина Данных – 8 бит

· Количество цветов всего – 64

· Одновременно на экране – до 25 (любые из 64), до 13-и для фона и до 12-и для спрайтов

· Количество спрайтов на экране – 64 (не более 8-и на линии)

· Разрешение выводимой картинки (PAL/NTSC) – 256x240 / 256x224

· Частота регенерации (PAL/NTSC) – 50Гц/60Гц

 

Для программиста (и CPU) – видеопроцессор это 8 регистров, адресуемые CPU по адресам $2000-$2007 – они обеспечивают возможность полного управления видеопроцессором. Запись в память спрайтов может осуществлять так же и контроллер DMA (понятно, что без участия процессора). Других способов общения с PPU нет.

Адресное пространство PPU распределяется следующим образом:

 

Адрес Размер Назначение
$0000-$0FFF 4k CHR-ROM Знакогенератор 0
$1000-$1FFF 4k CHR-ROM Знакогенератор 1
$2000-$23BF $3C0 = 960 байт VRAM Экранная страница 1 – Символы
$23C0-$23FF $40 = 64 байта VRAM Экранная страница 1 – Атрибуты
$2400-$26BF $3C0 = 960 байт VRAM Экранная страница 2 – Символы
$27C0-$27FF $40 = 64 байта VRAM Экранная страница 2 – Атрибуты
$2800-$2BBF $3C0 = 960 байт VRAM Экранная страница 3 – Символы
$2BC0-$2BFF $40 = 64 байта VRAM Экранная страница 3 – Атрибуты
$2C00-$2FBF $3C0 = 960 байт VRAM Экранная страница 4 – Символы
$2FC0-$2FFF $40 = 64 байта VRAM Экранная страница 4 – Атрибуты
$3000-$3EFF $F00 = 3840 байт VRAM Mirror of $2000-2EFF
$3F00-$3F0F $10 = 16 байт Палитра фона
$3F10-$3F1F $10 = 16 байт Палитра спрайтов
$3F20-$3FFF $E0 = 224 байт Not used

 

Регистры видеопроцессора выполняют следующие функции:

 

Регистр (адресация по CPU) Биты Назначение
$2000 w/o   Управление видеопроцессором
  Формирование запроса прерывания NMI при кадровом синхроимпульсе (0 - запрещено; 1 - разрешено)
  Не используется (должен быть 0)
  Размер спрайтов (0 - 8x8; 1 - 8x16)
  Выбор знакогенератора фона (0/1)
  Выбор знакогенератора спрайтов (0/1)
  Выбор режима инкремента адреса при обращении к видеопамяти (0 – увеличение на единицу «горизонтальная запись»; 1- увеличение на 32 «вертикальная запись»)
1,0 Адрес активной экранной страницы (00 – 1; 01 – 2; 10 – 3; 11 - 4)
$2001 w/o   Управление видеопроцессором
7-5 Яркость экрана/интенсивность цвета (в Денди не используется)
  0 – Спрайты не отображаются; 1 – Спрайты отображаются
  0 –Фон не отображается; 1 –Фон отображается
  0 – Спрайты невидны в крайнем левом столбце; 1- Все спрайты видны
  0 – Рисунок фона невиден в крайнем левом столбце; 1- Весь фон виден
  Тип дисплея (в Денди не используется)
$2002 r/o   Состояние видеопроцессора
  1 – PPU генерирует кадровый импульс; 0 – PPU рисует картинку на экране
  Устанавливается в 1 после вывода спрайта с номером 0. Сбрасывается при чтении или при кадровом синхроимпульсе.
  1 – На линии больше 8-и спрайтов; 0 - меньше
  1 – Запись в видеопамять разрешена; 0 - запрещена
$2003 w/o, $2004 r/w   Операции с памятью спрайтов.В регистр $2003 записывается адрес в памяти спрайтов ($00-$FF). После чего с регистром $2004 производится операция чтения/записи. После каждой операции происходит автоинкремент адреса на единицу.
$2005 w/o(x2)   Аппаратный скроллинг фоновой картинки.В регистр последовательно записываются два байта. Первый – абсолютное значение вертикального скроллинга; второе – горизонтального (подробнее см. главу «Отражение экранных страниц».)
$2006 w/o(x2), $2007 r/w   Операции с видеопамятью.Обеспечивают доступ к любой ячейке адресного пространства видеопроцессора. Регистр $2006 – адрес (2байта), сначала записывается старший. Регистр $2007 – операционный буфер (чтение/запись).После каждой операции происходит автоинкремент адреса на 1 или на 32 (см. регистр $2000- бит 2). Всвязи с тем, что шины адреса и данных у PPU совмещены, в архитектуре Денди предусмотрен регистр для хранения текущего адреса. Чтение происходит из ячейки адресуемой этим регистром, а лишь затем он выдает вновь записанный адрес. Соответственно содержимое новой ячейки будет доступно при следующей операции чтения. Рассмотрим это на примере: Пусть в VRAM с адреса $2000 содержится: $AA $BB $CC $DD. При операциях с VRAM инкремент равен 1. Результаты исполнения кода приведены в комментариях. LDA #$20 STA $2006 LDA #$00 STA $2006; VRAM address now set at $2000 LDA $2007; A=?? VRAM Buffer=$AA LDA $2007; A=$AA VRAM Buffer=$BB LDA $2007; A=$BB VRAM Buffer=$CC LDA #$20 STA $2006 LDA #$00 STA $2006; VRAM address now set at $2000 LDA $2007; A=$CC VRAM Buffer=$AA LDA $2007; A=$AA VRAM Buffer=$BB При работе с палитрами буфер адреса не используется (т.к. они находятся специальных регистрах видеопроцессора).

 

Таблицы 2 и 3.

 

Теперь подробнее:

 

CHR-ROM – 8кб. (Она же VROM) Вспомним нашу модель картриджа, в которой второе ПЗУ размером 8кб подключалось к шинам PPU. Функционально оно называется CHR-ROM. В нем хранятся два знакогенератора (по 4кб каждый). Знакогенератор содержит «иконки» (они же «значки», «спрайты», «тайлы»), размер каждой иконки 8x8 пикселей. На каждый пиксель выделяется 2 бита. В каждом знакогенераторе 256 таких иконок. Все что «умеет» видеопроцессор – это отображать содержимое знакогенераторов (и ничего более!)

 

VRAM – 2кб. Ровно столько в Денди оперативной видеопамяти. Далее под словом «видеопамять» - понимаем именно VRAM (не путать с адресным пространством PPU, которое включает, в том числе, и VRAM). В видеопамяти хранятся экранные страницы или иными словами – фоновая картинка (точнее: информации о том из каких иконок она состоит – область символов; два старших бита цвета иконки – область атрибутов). Каждая экранная страница занимает ровно 1k видеопамяти (960 – информация о номерах иконок из знакогенератора + 64 –информация о цвете групп иконок). В видеопамяти приставки умещается две экранных страницы (2k) – архитектурно предусмотрено четыре. Подробнее об экранных страницах см. в главе «Отражение экранных страниц».

 

Палитры фона и спрайтов – 16 + 16 байт. См. следующую главу.

 




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 1141; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.