Приставки > 1-3 поколения
Очень дешевый заменитель NES PPU-RGB на FPGA
and1981:
--- Цитата: rgz от 09 Октябрь 2025, 19:10:13 --- :thumbup: Это реально работает на LavaRGB и иже клонах? Я правильно понимаю, что режим PAL/NTSC переключается J7, 38 пин FPGA U1? А то я этот вопрос задал в этой теме https://www.emu-land.net/forum/index.php/topic,88697.90.html , но вы мне не ответили. Спасибо
--- Конец цитаты ---
На видео FPGA клон PPU и к работе NESRGB и LAVARGB не имеет никакого отношения, там он работает совершенно другим образом. А пин 38 CPLD в NESRGB переключает режимы работы, меняет биты эмфазиса и коэффициент делителя пиксельклока для внутренних узлов NESRGB. Так что это совершенно другая тема.
Merkury:
--- Цитата: and1981 от 24 Сентябрь 2025, 10:31:19 ---Спасибо за наводку, буду иметь в виду. :thumbup:
Добавлено 3 октября 2025 года:
Начал рисовать прототип FPGA_DENDY. Ибо основные все чипы я уже умею делать в FPGA. Настало время собрать в одном проекте и в одном Циклоне все это. :biggrin:
--- Конец цитаты ---
Вот это Отлично👍
Хочу спросить. Будет ли потдержке Pal/Secam, какой сигнал будет выводится на ТВ, Композит или RGB ?
and1981:
--- Цитата: Merkury от 02 Ноябрь 2025, 12:14:25 ---Вот это Отлично👍
Хочу спросить. Будет ли потдержке Pal/Secam, какой сигнал будет выводится на ТВ, Композит или RGB ?
--- Конец цитаты ---
Будет NTSC\PAL\DENDY, SECAM не вижу смысл делать, да и нужен кварц под него, а в идеале кварцевый генератор. Не помню чтобы их на али видел.
Вывод планирую в RGB, но можно в теории хоть и YPbPr сделать, или SVideo. Можно даже в хороший композит, с помощью кодера от HardWareMan. Полет фантазии ограничен лишь ресурсами FPGA :biggrin:
sanmigel:
--- Цитата: quq_CCCP от 07 Октябрь 2025, 15:06:47 ---S-video делается из ргб, если будет ргб - то с помощью микросхемы ргб энкодера можно сделать и композит и с видео, тот же cxa1145 из мегадрайва.
--- Конец цитаты ---
В архитектуре NES RGB изначально отсутствует и приходится фантазировать с палитрой.
А то как формируется видео сигнал, как раз хорошо коррелирует с S-video
Добавлено позже:
--- Цитата: and1981 от 07 Октябрь 2025, 15:55:40 --- Еще давно у HardWareMan появилась отличная идея и даже был написан Верилог для композитного мультирегионального кодера, используя этот кодер можно было также опционально выводить отдельно 7 бит Люмы и 7 бит Хромы на 2 цап для Svideo,
--- Конец цитаты ---
именно об этом я и говорю
Добавлено позже:
--- Цитата: and1981 от 02 Ноябрь 2025, 12:55:24 ---а в идеале кварцевый генератор
--- Конец цитаты ---
SI5351 наше все
я на нем придумал как при помощи ардуины приставки в мультисистемные можно переделывать
если в приставке 2 перемычки (стиплеровский джуниор, например), то ее можно заставить работать в PAL, NTSC, PAL-M (бразильский 60 ГЦ), NTSC 4.43
rgz:
--- Цитата: sanmigel от 17 Ноябрь 2025, 10:00:54 ---если в приставке 2 перемычки (стиплеровский джуниор, например)
--- Конец цитаты ---
2 перемычки я правильно понимаю, что это раздельный clock для CPU и PPU или имелось в виду переключение генератора 21 MHz или 26 MHz? И как это будет работать с UMC чипами со встроенными делителями частоты, или это будет работать только для PPU на FPGA?
sanmigel:
--- Цитата: rgz от 21 Ноябрь 2025, 12:23:18 ---2 перемычки я правильно понимаю, что это раздельный clock для CPU и PPU или имелось в виду переключение генератора 21 MHz или 26 MHz? И как это будет работать с UMC чипами со встроенными делителями частоты, или это будет работать только для PPU на FPGA?
--- Конец цитаты ---
нет
в однокристальных клонах бывают перемычки, которые позволяют управлять видеостандартом.
Частота цветовой поднесущей всегда равна частоте опорного генератора деленной на 6
перемычки управляют следующими параметрами:
1. число строк 525 (NTSC, PAL M) или 625 (PAL)
2. частота кадров 50 или 60
3. кодированте цвета PAL или NTSC
перемычек бывает 2 или 3
если 3, то все рулится по отдельности
если 2, то пункты 1 и 2 объединяются след образом:
60Гц+525 строк или 50 Гц+625 строк
and1981:
В связи с тем, что у некоторых пользователей возникли определенные трудности с прошивкой платы PPU_LITE, я решил провести небольшой ликбез по конфигурации семейства Альтера Циклон.
На данной плате присуствует только интерфейс JTAG, хоть он и похож внешне на интерфейс AS, но это совершенно разные вещи. JTAG очень удобен при отладке проекта и позволяет буквально на лету залить прошивку и проверить что получилось, а не ждать некоторое время пока прошьется конфигурационная флешка циклона. Это экономит уйму времени при дебаге. Однако что делать, если нужно прошить именно конфигурационную флешку через JTAG, есть небольшая хитрость, а именно использовать файл с расширением JIC. При этом сам циклон на время перепрошивки прикидывается программатором SPI и прошивает нужным битстримом флешку, при этом по окончании програмирования нужно обязательно снять полностью питание с FPGA. Есть небольшой нюанс, Квартус при компиляции не создает этот JIC, а создает SOF и POF. SOF мы можем быстро залить через JTAG и до снятия питания с FPGA он будет выполнять нужный нам функционал. POF же нужен для программирования флешки через AS и он временно останавливает циклон и заливает прошивку во флешку непосредственно через интерфейсные выводы оной, но это работает медленно. В отладочных платах с FPGA как правило есть оба этих интерфейса (JTAG и AS), что очень удобно, но занимает некоторое место на плате. Поэтому я решил немного сэкономить и отказаться от AS в пользу JTAG. Файл JIC можно получить если сконвертировать файл SOF встроенным конвертером конфигурационных файлов. Располагается он в меню Файл, далее Convert Programming Files. Заходим в конвертер.
Далее устанавливаем нужные параметры конвертирования сверху вниз, не наоборот, иначе настройки сбиваются.
Добавляем SOF файл из скомпилированного проекта, обычно внутри проекта папка output_files, нужно нажать на строчку SOF Data, при этом справа станет активна кнопка Add File
Добавляем конфигурируемое устройство (Циклон), при этом нужно нажать на строчку Flash Loader, при этом справа станет активна кнопка Add Device. Затем жмём на семейство Cyclone I и только потом на EP1C3.
Также при использовании сторонних производителей конфигурационных флешей, например Winbond, нужно установить галочку запрета проверки ID флеши при программировании, жмём слева кнопку Advanced или (Options) и ставим полностью галочку Disable EPCS ID check.
После всех эти манипуляций жмем внизу окошка кнопку Generate и файл JIC появится по пути который вы указали вверху. Вот и все. :)
Обычно я сам конвертирую и добавляю в папку этот файл, но если вы сами перекомпилировали проект под свои нужды то необходимо будет сконвертировать заново JIC файл. Удачи! ;)
and1981:
При программировании удаляем все строчки из окошка и добавляем JIC файл.
При этом в окошке мы должны увидеть цепочку из Циклона и конфигурационной флешки, больше ничего другого быть не должно.
Затем ставим 2 галочки и жмем Start, при этом прогресс бар должен пробежать 2 раза, один раз быстро, а второй медленно.
По окончании прошивки обязательно выключаем питание.
and1981:
twink3 поделился чистой платкой PPU_LITE v2.
С красной маской, прям новогодняя раскраска под деда мороза. :thumbup:
Спаял за пару часов и как и ожидалось все работает. Проверил на AV Famicom, Famicom, клон Hitex в режиме NTSC на отдельных чипах.
Yoti:
--- Цитата: and1981 от 31 Декабрь 2025, 19:38:22 ---прям новогодняя раскраска под деда мороза
--- Конец цитаты ---
Цвета Деда Мороза -- холодные. Бело-синий костюм у него (Гугл также утверждает про серый/серебристый вариант). А красный акцент это у буржуйского Санта Клауса. ;)
MaRC:
Перепробовал больше десятка ав фамикомов со всеми возможными RGB модами - картинки без наводок нет ни на одной, ни на австралийском 4.2 NESRGB, ни на последней лаве - везде есть диагональные полосы особенно видные на синем цвете. Вот на ютубе их хорошо видно и сжатие их чудесным образом не замылило Если что - 7:41 синее небо в марио. Хорошо это видно так же в батлтоадс и дабл дрэгон на бирюзовом космическом корабле первого уровня. Особенно в движении. Предположу, что с оригинальным PPU от этого никак не избавится - а с этим FPGA клоном как? Композитного выхода я смотрю у него нет, он вообще внутри композитный сигнал формирует, или сразу RGB без всех этих поднесущих и соответственно наводок?
and1981:
--- Цитата: MaRC от 08 Январь 2026, 17:52:08 ---а с этим FPGA клоном как? Композитного выхода я смотрю у него нет, он вообще внутри композитный сигнал формирует, или сразу RGB без всех этих поднесущих и соответственно наводок?
--- Конец цитаты ---
Последняя версия на FPGA Lattice имеет на борту как композит, так и РГБ выход, переключать можно джампером. Для РГБ не нужна поднесущая, она нужна для композита, S-Video и YPbPr.
На счет полос, это помеха какая-то возникает, вопрос в её природе и как от нее избавиться. В ранних версиях NESRGB помехи встречались из-за поддельного стабилизатора напряжения 3.3В. Также могут быть земляные петли и прочее, однозначно сказать трудно, что и откуда это лезет. Сама по себе FPGA достаточно шумное устройство, ибо внутри куча разнообразных блоков, SRAM, умножители, контроллеры, PLL и прочее. Все это генерирует в той или иной степени широкий спектр помех. Так что здесь идеала достичь сложнее, ибо спектр помех оригинального ППУ гораздо меньше в виду его более простой конструкции. Но я работаю над улучшением своей конструкции, она далека от идеала но постепенно движется в сторону улучшения. :)
MaRC:
and1981, по аналогии с мегадрайвом и супер фамиком - там диагональные полосы от наводок композита и помогает либо замена кабеля, либо переход на синхру по CSYNC, либо поднятие ноги с поднесущей, либо все вместе взятое. На фамике замена кабеля не помогает, а ногу на оригиальном PPU не подымешь - за не имением ничего кроме композита на выходе. Вот было интересно, если твой FPGA проект композит не использует и соотвественно и поднесущая ему не нужна, может он таки выдает чистое изображение - у тебя есть скейлеры, чтобы проверить? Напрямую к ЖК внутренний скейлер телика все замазывает, ЭЛТ телик и подавно.
Оно вроде и пофиг, все равно денди на ЖК без маски или сканлайнов выглядит не очень, а с ними косяков тоже не видно, но хочется всетаки чистой голой картинки. С мегадрайвом и супер фамиком все в итоге решилось переходом на одночиповые ревизии, а тут пока не понятно что делать.
and1981:
--- Цитата: MaRC от 08 Январь 2026, 20:27:22 ---Вот было интересно, если твой FPGA проект композит не использует и соотвественно и поднесущая ему не нужна, может он таки выдает чистое изображение - у тебя есть скейлеры, чтобы проверить?
--- Конец цитаты ---
Есть OSSC, думаю можно проверить через него. Если найду свободное время попробую. А на чем пробовать? Так называемая программа испытаний. Какие игры интересуют в первую очередь?
Опять таки видеозахвата у меня нет, придеться снимать на телефон изображение.
MaRC:
--- Цитата: and1981 от 08 Январь 2026, 20:40:12 ---А на чем пробовать? Так называемая программа испытаний.
--- Конец цитаты ---
Синее небо в марио, но там в зависимости от консоли или мода может быть и не видно полосок.
В батлтоадс и дабл драгон на корабле, где проходит весь первый уровень при движении экрана диагональные полоски видны на всех консолях, что я пробовал.
Ну и в 240p suite из вложения этот экран
В левом нижнем синем квадрате прям сильно видно и диагональные и вертикальные полоски.
На телефон результат не снимешь, он размоет все равно - просто скажи, своими глазами видишь неравномерности заливок в указанных местах?
Добавлено 9 января 2026 года:
Вот фото моей лучшей из десятка, что перебрал - диагональные полосы едва просматриваются, а вертикальные даже на фото хорошо различимы.
and1981:
--- Цитата: MaRC от 08 Январь 2026, 21:09:48 ---На телефон результат не снимешь, он размоет все равно - просто скажи, своими глазами видишь неравномерности заливок в указанных местах?
--- Конец цитаты ---
Вроде явного ничего такого нету, см. фото ниже. Подключал АВ Фамик с PPU_LITE через OSSC. Но кабель RGB для АВ Фамика у меня дешевый, китайский без экрана, поэтому есть отражения небольшие на стыках.
Версия платы v2 на Cyclone I. Плата на Lattice еще в пути, 0_0 китайская логистика чет хромает совсем, 2 раза заверули назад на таможне. :thumbdown:
MaRC:
Спасиба. Да, на вид все чистенько- буду тогда и себе платы заказывать.
and1981:
Наконец-то приехали платы под Латтис, чет с логистикой совсем беда, 2 месяца ждал. Ну че, надо собирать и проверять.
ndivision:
--- Цитата: and1981 ---Начал рисовать прототип FPGA_DENDY. Ибо основные все чипы я уже умею делать в FPGA. Настало время собрать в одном проекте и в одном Циклоне все это. :biggrin:
--- Конец цитаты ---
А есть какие нить новости по этому проекту? Или пока он на паузе?
and1981:
--- Цитата: ndivision от 28 Январь 2026, 19:29:38 ---А есть какие нить новости по этому проекту? Или пока он на паузе?
--- Конец цитаты ---
Плату прототип почти нарисовал, надо проверить и отдать в производство.
Добавлено 29 января 2026 года:
Запаял, и как и ожидал оно рабочее, даже косяков не напорол, что удивительно. :biggrin:
Позже выложу в репозиторий PPU_LITE герберы и проект в Lattice Diamond 3.5.
Навигация
Перейти к полной версии