Важная информация

User Tag List

Страница 3 из 9 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 88

Тема: Потактовый клон Денди на FPGA

  1. #21
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,395
    Спасибо Благодарностей отдано 
    304
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    440 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На самом деле, он возникает на стыке строки, где идет подготовка к сбросу горизонтального счетчика. Особенность PPU в том, он считывает графику спрайтов непосредственно перед отображением строки. А до этого, он делает поиск по списку своей памяти спрайтов и ищет те, что принадлежат следующей строке (т.е. должны выводиться на ней). А растактовка сделана так, что координаты сканирующих счетчиков 0:0 соответствуют левому верхнему углу отображаемого растра, а 255:239 нижнему правому. Превышение этих координат является служебной областью (гашение и синхронизация). Но в отличии от наших компиков, у рендера более сложный узел сдвига графики, т.к. имеется поточечный скроллинг. Я немного забежал вперед, все это вы узнаете позже. Очень простые и красивые решения, я вам скажу. Но это порождает необходимость переноса части циклов чтения VRAM до сброса счетчика. Добавьте еще то, что длина строки не кратна количеству циклов обращения - вот и вылазят аналоговые артефакты, который образуются из иголок от задержек.

    Между прочим замечу один факт: у PPU работает конкретное состояние, потому что используются латчи. Т.е., например, счетчик должен иметь 4 состояния, они берут число 4 (3'b100) и когда счетчик его достигает - сбрасывают его. Счетчик не строго синхронный, ибо он на латчах, поэтому это ближе к нашим ИЕ5м, примененным в наших компиках. Схему сброса располагают поближе к счетчику, но все равно есть время распространения сигнала и задержки в элементе сравнения. В итоге есть иголочка. А если разрядов 9, как у PPU, то иголочка может быть приличной. Когда мы делаем полностью синхронный счетчик с синхронным сбросом, то если мы хотим чтобы он имел только 4 состояния, нам следует "заказывать" сброс на числе 3 (3'011), т.к. новое состояние применится только на следующем такте. В этом фундаментальное отличие между синхронной схемой и асинхронной.

    Поэтому, по идее, следует скорректировать все цифры координат сигналов у PPU, но оно вроде и так работает, хотя это чревато добавлением лишнего такта в строку. Именно поэтому, у меня полоска была заметно шире чем в оригинале. Все это будем разбирать ниже.

  2. #22
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,550
    Спасибо Благодарностей отдано 
    1,213
    Спасибо Благодарностей получено 
    1,748
    Поблагодарили
    680 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Почему же тогда на некоторых клонах ее нет?
    А на клонах на картинке она в разных местах?

  3. #23
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,395
    Спасибо Благодарностей отдано 
    304
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    440 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  4. #24
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,550
    Спасибо Благодарностей отдано 
    1,213
    Спасибо Благодарностей получено 
    1,748
    Поблагодарили
    680 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Нет, ее позиция всегда в одном и том же месте относительно картинки. На тюнере она чуть смещается из-за переключения в режим PAL - там пропорции другие же.
    На NTSC (первая твоя картинка) и PAL (остальные 2 с полосами) она принципиально в разных местах.

  5. #25
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,395
    Спасибо Благодарностей отдано 
    304
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    440 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В PALе, возможно, она перекочевала в CLIP_B область. В любом случае, это издержки схемы на прозрачных защелках с паразитной емкостью. В полностью синхронной схеме ее быть не должно.

  6. #26
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,550
    Спасибо Благодарностей отдано 
    1,213
    Спасибо Благодарностей получено 
    1,748
    Поблагодарили
    680 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    В PALе, возможно, она перекочевала в CLIP_B область. В любом случае, это издержки схемы на прозрачных защелках с паразитной емкостью. В полностью синхронной схеме ее быть не должно.
    Думаю, что в абсолютно точном клоне можно было бы предусмотреть опциональную ее реализацию)

    Кстати, по твоим скриншотам стало понятно, как визуально сразу отличить PAL от NTSC. У PAL штриховка шахматная, у NTSC искосочная)

  7. #27
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,395
    Спасибо Благодарностей отдано 
    304
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    440 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Кстати, по твоим скриншотам стало понятно, как визуально сразу отличить PAL от NTSC. У PAL штриховка шахматная, у NTSC искосочная)
    Я тебе больше скажу: у PAL поднесущая статична а у NTSC она постоянно ползет. Буржуи называют ее Dot Crawl. Только вот Crawl оно только в NTSC...

  8. #28
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,550
    Спасибо Благодарностей отдано 
    1,213
    Спасибо Благодарностей получено 
    1,748
    Поблагодарили
    680 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    У PAL crawl видно, когда идет скроллинг) Тогда он очень Crawl)

  9. #29
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,395
    Спасибо Благодарностей отдано 
    304
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    440 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не верно. Сетка поднесущей PAL стабильна относительно растра (так уж получилось, хотя по стандарту она должна изменяться на противоположную каждый кадр для компенсации искажений). А окрашенные точки это как вырезанные дырки, через которую эту сетку и видно. Таким образом, при перемещении большого подкрашенного объекта искажаются только его вертикальные грани. Маленькие же объекты искажаются практически полностью, т.к. ширина точки меньше ширины периода поднесущей PAL: соотношение 4,43/5,32. Таким образом, мы просто видим как искажаются все грани на картинке (любые комбинации переходов между цветами с участием хотя-бы одного оттенка цвета), но только в движении. Без движения все искажения статичны и не цепляют глаз (но они есть).

    У NTSC он всегда crawl, поэтому искажения вертикальных линий почти не заметны, хотя там отношение еще больше: 3,58/5,25.

  10. #30
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,550
    Спасибо Благодарностей отдано 
    1,213
    Спасибо Благодарностей получено 
    1,748
    Поблагодарили
    680 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Ну так я про то и говорю, что на PAL этот муар от Dot Crawl, или как его назвать применительно к PAL'у еще, идет только в момент движения обьектов.

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

Страница 3 из 9 ПерваяПервая 1234567 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Потактовый клон i8080 на FPGA/CPLD
    от HardWareMan в разделе Разработка электроники
    Ответов: 471
    Последнее: 06.07.2020, 19:39
  2. AY-3-8910 in FPGA
    от VELESOFT в разделе Звук
    Ответов: 18
    Последнее: 25.12.2015, 22:13
  3. ZX 48/128 FPGA
    от Александр Бухаров в разделе Несортированное железо
    Ответов: 6
    Последнее: 21.04.2015, 17:04
  4. Dendy on FPGA?
    от Ewgeny7 в разделе Nintendo
    Ответов: 29
    Последнее: 04.11.2009, 17:55
  5. Atari ST(E) на FPGA...
    от ILoveSpeccy в разделе Atari
    Ответов: 6
    Последнее: 26.08.2008, 20:55

Ваши права

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