Окно открывается в эмуляторе FCEUX через Debug -> PPU Viewer (или горячей клавишей).
Содержимое окна отображает текущие тайлы и палитру из видеопамяти PPU Memory. Тайл - изображение в NES размером 8x8 пикселей. Из тайлов составляется фон/анимация объектов.
Данные окна обновляются 1 раз за кадр. Конкретное время в пределах кадра указывается в опции Display on scanline.
Технические подробности про тайлы и палитру узнаешь в разделе с графикой.
Для просмотра информации по окну выбери соответствующую опцию.
Тайлы и палитра | Прочие функции окна |
Окно поделено на 2 части. Левая часть отображает тайлы из адресов $0000-$0FFF, а правая - $1000-$1FFF. Одна из них хранит тайлы фона, а другая - тайлы для спрайтов. Это определяется регистром видеопроцессора $2000.
При наведении курсора на тайл, внизу окна рядом со словом Tile показывается номер тайла HEX-числом.
Верхняя строчка отображает палитру для фона по адресам $3F00-$3F0F, нижняя - палитру для спрайтов по адресам $3F10-$3F1F. В каждой строчке по 4 набора цвета, которые используются для окраски фона/спрайтов.
При наведении курсора на палитру, рядом со словом Palettes выводится байт, находящийся по данному адресу.
Если кликать правой кнопкой на левой/правой части окна с тайлами, эти тайлы будут отображаться с соответствующим набором цвета. Набор выбирается по порядку, по умолчанию используется первый набор.
Всего 8 наборов + 1 предустановленный черно-белый, который может помочь посмотреть тайлы, когда в игре выбирается черная палитра и затемняется экран.
Некоторые игры, например Battle City, выводят на экран спрайты размером 8x16, а не 8x8. Это определяется регистром видеопроцессора $2000.
Если в своей игре ты не можешь разобрать тайлы, которые видишь в этом окне, попробуй включить данную опцию. При переключении опции тайлы в окне будут отображены в соответствующем режиме.
Со включенной опцией тайлы сами по себе остаются такими же, они просто изменят порядок расположения в окне. При наведении курсора на тайл будет показан его номер, но эти номера уже не будут идти по порядку, как при отключенной опции.
При работе с этим окном будут доступны следующие 2 опции.
Выделяет тайлы, которые были использованы игрой на протяжении работы окна Code/Data Logger. Если точнее, то неиспользуемые тайлы будут затемнены, а подсветка используемых остается без изменений.
Если окно Code/Data Logger в данный момент закрыто или неактивно, включение галочки ни на что не влияет.
Опция становится доступной для выбора только при включенной опции Mask unused graphics. Инвертирует выделение тайлов, то есть с этой опцией затемняются использованные тайлы.
Ползунок позволяет регулировать частоту обновления окна от частого (More) до редкого (Less). Помогает снизить нагрузку на слабом компьютере.
Некоторые игры могут на протяжении кадра подключать другие банки с тайлами на какой-то определенной линии экрана. Обычно это делается для того, чтобы отобразить статусбар вверху/внизу экрана новыми тайлами, или чтобы просто иметь возможность использовать большее количество тайлов для отрисовки фона/спрайтов.
Если правильно подобрать номер сканлинии (горизонтальная линия высотой 1 пиксель), можно посмотреть какую графику игра будет подключать. Записываются значения от 0 до 239, а все, что выше этого, не имеет смысла, так как разрешение экрана NES по высоте 240 пикселей. В большинстве случаев подойдет число 200.
В примере игра переключает первые 64 тайла, которыми отрисовывается статусбар.