Приставки > 1-3 поколения

NESRGB AV Famicom - цифровой шум

<< < (6/10) > >>

and1981:
Касаемо длины проводов, думаю если вы разместите плату на обратной стороне материнской платы фамика то это не должно повлиять на работоспособность конструкции. А спрайты увеличить малой кровью не получится, нужно глобально переделывать весь дизайн, а моя цель была максимально точно повторить внутреннюю структуру оригинального чипа, плюс возможность выводить в РГБ, дабы улучшить качество картинки. Но никто не мешает лично переписать верилог и добавить такую возможность. :cool:
В ближайших планах думаю будет возможность вывода в формате VGA, дабы подключать консоль к мониторам и как вариант выводить в HDMI. А лимит спрайтов может быть будет в будущем, но это уже будет совсем другая история.  :)

MaRC:
Проект RGB-PPU открытый? Просто в текущем виде для постороннего человека он имеет мало смысла для сбора в железе - насколько я знаю, оригинальные PPU не то чтобы подвержены выходу из строя, а ради RGB под деньгам что ваш собирать, что LavaRGB будет примерно одинаково.
А так это было бы  хорошей точкой входа для тех, кто реально захочет увеличить лимит спрайтов - такие реализации уже есть на плис, но они не опенсорс насколько я знаю. Я верилогом не владею, а вот с переразводкой плат положительный опыт умел и когда появится открытая плата с поддержкой большего количества спрайтов я бы пожалуй переделал ее под установку снизу оригинального фамикома.

and1981:
Проект открытый, я давал уже раньше ссылку на репозиторий. По стоимости будет дешевле Лавы, я изначально и планировал сделать самый дешевый заменитель, на сколько это возможно. Да и исходники Лавы на сколько я знаю не являются открытыми, хотя имея опыт с ранними лавами я нашел в их работе массу недочетов, хотя возможно их уже исправили, но проверять это я больше не хочу :) И самый главный недостаток конвертеров ргб на базе лавы и несргб - это невозможность работы с прямой записью цвета через индекс счетчика тайлов, фулл палетт вьювер тест это подтверждает, конечно кроме тестов я не знаю где это используется, но факт остается фактом, и картинку ниже на них никак не получить.

JRBVZ:
and1981, подскажи по коду, в модуле главного генератора таймингов PPU присвоения нескольких H_LINE, V_LINE описывают свойства разных версий PPU?


--- Код: ---assign H_LINE0  = ~( ~H[8] |  H[7] |  H[6] |  H[5] | ~H[4] |  H[3] | ~H[2] | ~H[1] | ~H[0] );         // H279
assign H_LINE1  = ~( ~H[8] |  H[7] |  H[6] |  H[5] |  H[4] |  H[3] |  H[2] |  H[1] |  H[0] );         // H256
assign H_LINE2  = ~(  BLNK |  H[8] |  H[7] | ~H[6] |  H[5] |  H[4] |  H[3] |  H[2] |  H[1] | ~H[0] ); // H065
assign H_LINE5  = ~(  BLNK | ~H[8] |  H[7] | ~H[6] |  H[5] | ~H[4] |  H[3] |  H[2] | ~H[1] | ~H[0] ); // H339
assign H_LINE6  = ~(  BLNK |  H[8] |  H[7] |  H[6] | ~H[5] | ~H[4] | ~H[3] | ~H[2] | ~H[1] | ~H[0] ); // H063
assign H_LINE7  = ~(  BLNK | ~H[7] | ~H[6] | ~H[5] | ~H[4] | ~H[3] | ~H[2] | ~H[1] | ~H[0] );         // H255
assign H_LINE17 = ~( ~H[8] |  H[7] |  H[6] |  H[5] |  H[4] |  H[3] |  H[2] | ~H[1] |  H[0] );         // H258
assign H_LINE18 = ~(  H[8] |  H[7] |  H[6] |  H[5] |  H[4] |  H[3] |  H[2] | ~H[1] |  H[0] );         // H002
assign H_LINE20 = ~( ~H[8] |  H[7] |  H[6] | ~H[5] | ~H[4] |  H[3] |  H[2] |  H[1] |  H[0] );         // H304
assign H_LINE21 = ~( ~H[8] |  H[7] | ~H[6] |  H[5] |  H[4] |  H[3] |  H[2] | ~H[1] | ~H[0] );         // H323
assign H_LINE22 = ~( ~H[8] |  H[7] |  H[6] | ~H[5] | ~H[4] |  H[3] | ~H[2] |  H[1] |  H[0] );         // H308
assign H_LINE23 = ~( ~H[8] |  H[7] | ~H[6] |  H[5] | ~H[4] |  H[3] | ~H[2] |  H[1] |  H[0] );         // H340
assign V_LINE0N = ~( ~V[7] | ~V[6] | ~V[5] | ~V[4] |  V[3] | ~V[2] | ~V[1] | ~V[0] |  MODE );         // V247 NTSC
assign V_LINE0P = ~( ~V[8] |  V[7] |  V[6] |  V[5] | ~V[4] |  V[3] |  V[2] |  V[1] |  V[0] | ~MODE ); // V272 PAL
assign V_LINE1N = ~( ~V[7] | ~V[6] | ~V[5] | ~V[4] |  V[3] | ~V[2] |  V[1] |  V[0] |  MODE );         // V244 NTSC
assign V_LINE1P = ~( ~V[8] |  V[7] |  V[6] |  V[5] |  V[4] | ~V[3] | ~V[2] |  V[1] | ~V[0] | ~MODE ); // V269 PAL
assign V_LINE2N = ~( ~V[8] |  V[7] |  V[6] |  V[5] |  V[4] |  V[3] | ~V[2] |  V[1] | ~V[0] |  MODE ); // V261 NTSC
assign V_LINE2P = ~(  V[8] |  V[7] |  V[6] |  V[5] |  V[4] |  V[3] |  V[2] |  V[1] |  V[0] | ~MODE ); // V000 PAL
assign V_LINE3N = ~( ~V[7] | ~V[6] | ~V[5] | ~V[4] |  V[3] |  V[2] |  V[1] | ~V[0] |  MODE );         // V241 NTSC
assign V_LINE3P = ~( ~V[7] | ~V[6] | ~V[5] | ~V[4] |  V[3] |  V[2] |  V[1] |  V[0] | ~MODE );         // V240 PAL
assign V_LINE4  = ~(  V[8] |  V[7] |  V[6] |  V[5] |  V[4] |  V[3] |  V[2] |  V[1] |  V[0] );         // V000
assign V_LINE5  = ~( ~V[7] | ~V[6] | ~V[5] | ~V[4] |  V[3] |  V[2] |  V[1] |  V[0] );                 // V240
assign VLINE241 = ~( ~V[8] | ~V[7] | ~V[6] | ~V[5] | ~V[4] |  V[3] |  V[2] |  V[1] | ~V[0] | ~MODE |  DENDY ); // V241 PAL INT
assign VLINE291 = ~( ~V[8] |  V[7] |  V[6] | ~V[5] |  V[4] |  V[3] |  V[2] | ~V[1] | ~V[0] | ~MODE | ~DENDY ); // V291 DENDY INT
assign VLINE311 = ~( ~V[8] |  V[7] |  V[6] | ~V[5] | ~V[4] |  V[3] | ~V[2] | ~V[1] | ~V[0] | ~MODE );          // V311 PAL

--- Конец кода ---

and1981:

--- Цитата: JRBVZ от 22 Сентябрь 2025, 11:40:35 ---and1981, подскажи по коду, в модуле главного генератора таймингов PPU присвоения нескольких H_LINE, V_LINE описывают свойства разных версий PPU?


--- Код: ---assign H_LINE0  = ~( ~H[8] |  H[7] |  H[6] |  H[5] | ~H[4] |  H[3] | ~H[2] | ~H[1] | ~H[0] );         // H279
assign H_LINE1  = ~( ~H[8] |  H[7] |  H[6] |  H[5] |  H[4] |  H[3] |  H[2] |  H[1] |  H[0] );         // H256
assign H_LINE2  = ~(  BLNK |  H[8] |  H[7] | ~H[6] |  H[5] |  H[4] |  H[3] |  H[2] |  H[1] | ~H[0] ); // H065
assign H_LINE5  = ~(  BLNK | ~H[8] |  H[7] | ~H[6] |  H[5] | ~H[4] |  H[3] |  H[2] | ~H[1] | ~H[0] ); // H339
assign H_LINE6  = ~(  BLNK |  H[8] |  H[7] |  H[6] | ~H[5] | ~H[4] | ~H[3] | ~H[2] | ~H[1] | ~H[0] ); // H063
assign H_LINE7  = ~(  BLNK | ~H[7] | ~H[6] | ~H[5] | ~H[4] | ~H[3] | ~H[2] | ~H[1] | ~H[0] );         // H255
assign H_LINE17 = ~( ~H[8] |  H[7] |  H[6] |  H[5] |  H[4] |  H[3] |  H[2] | ~H[1] |  H[0] );         // H258
assign H_LINE18 = ~(  H[8] |  H[7] |  H[6] |  H[5] |  H[4] |  H[3] |  H[2] | ~H[1] |  H[0] );         // H002
assign H_LINE20 = ~( ~H[8] |  H[7] |  H[6] | ~H[5] | ~H[4] |  H[3] |  H[2] |  H[1] |  H[0] );         // H304
assign H_LINE21 = ~( ~H[8] |  H[7] | ~H[6] |  H[5] |  H[4] |  H[3] |  H[2] | ~H[1] | ~H[0] );         // H323
assign H_LINE22 = ~( ~H[8] |  H[7] |  H[6] | ~H[5] | ~H[4] |  H[3] | ~H[2] |  H[1] |  H[0] );         // H308
assign H_LINE23 = ~( ~H[8] |  H[7] | ~H[6] |  H[5] | ~H[4] |  H[3] | ~H[2] |  H[1] |  H[0] );         // H340
assign V_LINE0N = ~( ~V[7] | ~V[6] | ~V[5] | ~V[4] |  V[3] | ~V[2] | ~V[1] | ~V[0] |  MODE );         // V247 NTSC
assign V_LINE0P = ~( ~V[8] |  V[7] |  V[6] |  V[5] | ~V[4] |  V[3] |  V[2] |  V[1] |  V[0] | ~MODE ); // V272 PAL
assign V_LINE1N = ~( ~V[7] | ~V[6] | ~V[5] | ~V[4] |  V[3] | ~V[2] |  V[1] |  V[0] |  MODE );         // V244 NTSC
assign V_LINE1P = ~( ~V[8] |  V[7] |  V[6] |  V[5] |  V[4] | ~V[3] | ~V[2] |  V[1] | ~V[0] | ~MODE ); // V269 PAL
assign V_LINE2N = ~( ~V[8] |  V[7] |  V[6] |  V[5] |  V[4] |  V[3] | ~V[2] |  V[1] | ~V[0] |  MODE ); // V261 NTSC
assign V_LINE2P = ~(  V[8] |  V[7] |  V[6] |  V[5] |  V[4] |  V[3] |  V[2] |  V[1] |  V[0] | ~MODE ); // V000 PAL
assign V_LINE3N = ~( ~V[7] | ~V[6] | ~V[5] | ~V[4] |  V[3] |  V[2] |  V[1] | ~V[0] |  MODE );         // V241 NTSC
assign V_LINE3P = ~( ~V[7] | ~V[6] | ~V[5] | ~V[4] |  V[3] |  V[2] |  V[1] |  V[0] | ~MODE );         // V240 PAL
assign V_LINE4  = ~(  V[8] |  V[7] |  V[6] |  V[5] |  V[4] |  V[3] |  V[2] |  V[1] |  V[0] );         // V000
assign V_LINE5  = ~( ~V[7] | ~V[6] | ~V[5] | ~V[4] |  V[3] |  V[2] |  V[1] |  V[0] );                 // V240
assign VLINE241 = ~( ~V[8] | ~V[7] | ~V[6] | ~V[5] | ~V[4] |  V[3] |  V[2] |  V[1] | ~V[0] | ~MODE |  DENDY ); // V241 PAL INT
assign VLINE291 = ~( ~V[8] |  V[7] |  V[6] | ~V[5] |  V[4] |  V[3] |  V[2] | ~V[1] | ~V[0] | ~MODE | ~DENDY ); // V291 DENDY INT
assign VLINE311 = ~( ~V[8] |  V[7] |  V[6] | ~V[5] | ~V[4] |  V[3] | ~V[2] | ~V[1] | ~V[0] | ~MODE );          // V311 PAL

--- Конец кода ---

--- Конец цитаты ---

Все просто, те которые используются в ПАЛ и НТСЦ - это общие линии на две системы, те которые помечены как ПАЛ - используются только в ПАЛ ну и НТСЦ соответственно, а для Денди от ПАЛ только одна линия отличается. Надо видимо отдельную тему сделать, дабы не флудить здесь.

rgz:

--- Цитата: and1981 от 19 Июнь 2025, 17:48:00 ---Изначально этот каскад был взят китайцами 1 : 1 как в схеме NESRGB
--- Конец цитаты ---
Привет. А подскажи, где можно найти/скачать принципиальную схему NESRGB? А то, что-то в инете ничего не находит. Если можешь поделиться, буду рад. Можно в личку. Спасибо

and1981:
Схема была мной получена еще в 2020 году, я даже тогда нарисовал плату, но руки как-то не доходили заказать и проверить. Потом увлекся ФПГА PPU по стопам HWM :) и уже эта тема стала не столько актуальна для меня. Но вот совсем недавно решил сделать собственный софт под NESRGB, чисто ради интереса. Пришлось допилить и заказать платы в Китае.  :cool:

rgz:
Большое тебе, дружище спасибо and1981  :thumbup:. Просто, я себе купил на Алике LavaRGB, а схемы нигде не находил в инете, хотел срисовать для себя, чтоб понять как и что там реализовано, но все времени нехватало, так пока и лежит платка без действия. Со временем все же хочу установить в свой NES, чтобы был RGB.
PS. Хотел ещё один вопрос уточнить. На твоей схеме есть джампер J7 PAL/NTSC, как он работает? Зависит его работа как-то от применяемых чипов PPU и CPU: PAL NES, NTSC NES или гибрид "Dendy"? Спасибо.

and1981:

--- Цитата: rgz от 23 Сентябрь 2025, 19:11:33 ---Большое тебе, дружище спасибо and1981  :thumbup:. Просто, я себе купил на Алике LavaRGB, а схемы нигде не находил в инете, хотел срисовать для себя, чтоб понять как и что там реализовано, но все времени нехватало, так пока и лежит платка без действия. Со временем все же хочу установить в свой NES, чтобы был RGB.

--- Конец цитаты ---
Так у Lava другая схема, может тебе схема Lava тогда нужна?

rgz:

--- Цитата: and1981 от 23 Сентябрь 2025, 19:14:49 ---Так у Lava другая схема, может тебе схема Lava тогда нужна?
--- Конец цитаты ---
Да, буду тебе благодарен, если такая схема имеется. Платка у меня  называется NESRGB CH 2024 на Altera собрана с переходником для установки в Famicom.

and1981:

--- Цитата: rgz от 23 Сентябрь 2025, 19:25:05 ---Да, буду тебе благодарен, если такая схема имеется. Платка у меня  называется NESRGB CH 2024 на Altera собрана.

--- Конец цитаты ---
Есть и такая :)

rgz:

--- Цитата: and1981 от 23 Сентябрь 2025, 19:28:54 ---Есть и такая
--- Конец цитаты ---
Большое тебе спасибо  :thumbup:

and1981:
После безуспешных попыток победить все глюки LAVA_RGB, мне пришла одна безумная идея, а именно модифицировать уже готовую плату Лавы в плату PPU_LITE.  :)  К счастью, набортная ФПГА LATTICE LCMXO2-1200HC-4TG100C уже содержит неободимое количество ресурсов для PPU_LITE. При этом ничего резать на плате не нужно, необходимо всего навсего бросить около 20-ти перемычек, отпаять компараторы, видео повторитель и одну LC541A и в теории все это должно заработать. Я уже даже сделал отдельный проект PPU_LITE в Lattice Diamond 3.5 и все успешно синтезируется и собирается.  :cool:
Приблизительно это должно выглядеть так:

JRBVZ:
Не отвлекайся, пили свой проект  :thumbup:

twink3:

--- Цитата: and1981 от 30 Октябрь 2025, 17:37:49 ---После безуспешных попыток победить все глюки LAVA_RGB, мне пришла одна безумная идея, а именно модифицировать уже готовую плату Лавы в плату PPU_LITE.  :)  К счастью, набортная ФПГА LATTICE LCMXO2-1200HC-4TG100C уже содержит неободимое количество ресурсов для PPU_LITE. При этом ничего резать на плате не нужно, необходимо всего навсего бросить около 20-ти перемычек, отпаять компараторы, видео повторитель и одну LC541A и в теории все это должно заработать. Я уже даже сделал отдельный проект PPU_LITE в Lattice Diamond 3.5 и все успешно синтезируется и собирается.  :cool:
Приблизительно это должно выглядеть так:

--- Конец цитаты ---
А вот это уже интересно, чур я первый в очереди на прошивку для Lattice, а то я собрал лаву, прошил, но она кина не кажет.  :neznayu:

and1981:

--- Цитата: twink3 от 01 Ноябрь 2025, 16:52:54 ---А вот это уже интересно, чур я первый в очереди на прошивку для Lattice, а то я собрал лаву, прошил, но она кина не кажет. 
--- Конец цитаты ---
Будет прошивка, но сначала надо программатор для них дождаться с Али, а то у меня только для Альтерок есть, Латтисом я как-то не занимался, а вот понадобилось брату цифровой фильтр сделать на Латтисе, пришлось вникать. А как работает, есть ли при этом звук у приставки, или совсем тишина? ну и фото приложи монтажа Лавы, может где ошибка закралась?

twink3:

--- Цитата: and1981 от 01 Ноябрь 2025, 22:11:23 ---Будет прошивка, но сначала надо программатор для них дождаться с Али, а то у меня только для Альтерок есть, Латтисом я как-то не занимался, а вот понадобилось брату цифровой фильтр сделать на Латтисе, пришлось вникать. А как работает, есть ли при этом звук у приставки, или совсем тишина? ну и фото приложи монтажа Лавы, может где ошибка закралась?

--- Конец цитаты ---
Совсем тишина, даже сигнала с кварца нету, при том что Lattice определилась и прошилась без проблем, преобразователи уровней менял, не изменилось ровным счетом ничего, есть не большое подозрение на плату, возможной в ней косяк, но как-то совсем лень сверять со схемой, все желанию пропало.

and1981:

--- Цитата: twink3 от 01 Ноябрь 2025, 23:37:51 ---Совсем тишина, даже сигнала с кварца нету, при том что Lattice определилась и прошилась без проблем, преобразователи уровней менял, не изменилось ровным счетом ничего, есть не большое подозрение на плату, возможной в ней косяк, но как-то совсем лень сверять со схемой, все желанию пропало.
--- Конец цитаты ---
3.3 вольта есть с находящегося на плате LDO стабилизатора?  Если есть осциллограф, проверить наличие приходящего с платы консоли клока 21.477 МГц на резисторе 100 Ом справа возле Латтиса.
Если нет клока, дальше рыть бесполезно, ничего не будет работать. Сердце должно биться. :biggrin:

twink3:

--- Цитата: and1981 от 02 Ноябрь 2025, 00:10:14 ---3.3 вольта есть с находящегося на плате LDO стабилизатора?  Если есть осциллограф, проверить наличие приходящего с платы консоли клока 21.477 МГц на резисторе 100 Ом справа возле Латтиса.
Если нет клока, дальше рыть бесполезно, ничего не будет работать. Сердце должно биться. :biggrin:

--- Конец цитаты ---
В этом и проблема, что напряжения есть - 3.3в и где надо 5в, а клока нет.  o_0

and1981:

--- Цитата: twink3 от 02 Ноябрь 2025, 09:48:05 ---В этом и проблема, что напряжения есть - 3.3в и где надо 5в, а клока нет. 
--- Конец цитаты ---
Ищи клок, прозванивай с обоих сторон этот резистор на 100 ом и дальше от него в сторону кварцевого генератора на плате консоли, если контакт есть, попробуй увеличить проходной конденсатор для клока ппу, там он где-то 51 пФ, ну можно попробовать до 100 пФ. и вообще при снятой плате лавы, есть ли генерация? может повредилось что.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии