User Tag List

Показано с 211 по 220 из 230

Тема: Проектирование идеального "советского" компьютера

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    я не сильно в курсе, но когда читал как там работает спрайтовый движек то там было указанно что флаг sprite overflow не работает как должен и потому игры его не используют (что печально) игра как бы должна видеть какие спрайты были показанны в прошлый раз а какие не смогли высветится в этом случае нужно их поменять местами чтоб они мигали поочередно а не так что тот что левее пропадал бы напрочь надолго
    Какие-то глупости. Вот кусочек схемного ввода этого флага:

    R2B5

    [свернуть]

    Как это работает: EVAL это сигнал сброса схемы, он срабатывает на "пререндере". Хотя, сам "пререндер" придумали тупые буржуи. Дело в том, что там в каждой строке во время обратного хода загружается в спрайтовый пайплайн графика нужных спрайтов, а потом начинается выводиться строка и спрайты, по своим координатам Х. Но у буржуев сначала идёт строка а потом обратный ход с прогрузкой спрайтов на следующую строку. Отсюда и "пререндер", хотя это просто строка, которая идёт непосредственно перед выводом первой строки графики и позиция её на экране лишь последствия интерпретации синхросигналов телевизором. Т.е., они пляшут относительно телевизора а не самого PPU.

    Сигнал I2N активен если есть очередной спрайт в данной строке, а счётчик OAM2_COUNTER считает до 16: 8 спрайтов по 2 байта графики. И при первом же переполнении он выставляет флаг. А особенность флага в том, что он устанавливается при первом же переполнении в строке, а вот сбрасывается только непосредственно перед новым кадром, по сигналу RESCL, который приходит чуть ранее, чем EVAL. Это, конечно, накладывает ограничение на определение двух или более переполнений, но это особенность работы флага а не бага. А проблема сортировки списка спрайтов такова, что 6502 тупо не успеет подготовить новый список на следующую строку для уменьшения мерцания (чтобы мерцали не блоки 8х8 или 8х16, а полосочки 8х1 что менее заметно же), а если даже списки готовы заранее - тупо не успеет вгрузить в PPU новые данные. Т.е., всё упирается в производительность 6502 и такое поведение флага переполнения оправдано, хоть и не удобно программистам.

    Тем не менее, программисты его используют, например при отсечении в катсценах (привет Ninja Ryukenden / Ninja Gaiden). Так что нет никакой ложки, мистер Андерсон.

    Этот пользователь поблагодарил HardWareMan за это полезное сообщение:

    hobot(01.05.2020)

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Схема ZX-Спектрум совместимого компьютера "Бейсик"
    от Gryphon в разделе Несортированное железо
    Ответов: 9
    Последнее: 07.08.2021, 08:37
  2. Обсуждение компьютера Робик (из темы "Люди \ Вспомнить все")
    от OrionExt в разделе Несортированное железо
    Ответов: 50
    Последнее: 09.05.2021, 12:10
  3. Ответов: 4
    Последнее: 15.02.2020, 17:29
  4. Ответов: 4
    Последнее: 03.03.2018, 12:48
  5. Ответов: 4
    Последнее: 06.01.2009, 00:08

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •