Pull to refresh

Comments 20

вот если бы кто-нибудь сделал vga-in для андроида — цены бы ему не было:))
На ПЛИС еще понятно, но вот тут чувак на ATmega 20 Mhz сделал такое:


Для меня это остается сплошной магией. В добавок ко всему еще и музыка. Полная жесть. Не перестаю уже 4 года восхищаться.
www.linusakesson.net/scene/craft/
Этот же чувак в этом году (на Breakpoint 2012) умудрился самого себя побить, сделав на том же Altera Cyclone III вот такое:


Там внутри самодельный CPU, самодельный синт, самодельные DSP-подобные шейдерные ядра, ну вы поняли.
Подробнее: www.linusakesson.net/scene/parallelogram/index.php
Вот это я понимаю — демосценер! O_o
У AtMega мощи побольше, чем у иных Atari. В любом случае, круто.
Так да, правда мне на память сразу пришел ZXSpectrum. Но у них была аппаратно сканируемая видеопамять.
Судя по схеме на avr он это всё дело эмулирует, когда-то просто с битовым выходом, а когда ещё и с ШИМ.
На Спекки мы тоже пускали скроллы по битовому бордюру, и как мне помнится это была знатная статья расхода процессорного времени.

А вот демка на альтере впечатляет значительно меньше, хотя я и понимаю ограничения третьего циклона, но всё таки именно FPGA шный потенциал таки и не раскрыт. Здесь потенциально могут иметь место качественно иные подходы, чем эмуляция привычных нам миров Трьюринга.
Один парнишка сам сделал видеоподсистему для ZX Spectrum, на основе FPGA Xilinx SPARTAN-3A SC3S200A. С исходным кодом тоже на Verilog. Код заливается в платку Gameduino вместо оригинальной прошивки. Исходный код, описание протокола можно найти в Инете. На выход подключается VGA-монитор, а на вход SPI хост — любой микроконтроллер с интерфейсом SPI (AVR, ARM, STM и т. п.).
На что проц тратился? Я немного не понял Вас.
Насколько я помню схему моего клона Спектрума (собирал не сам), там сигналы синхронизации делались на счетчиках, а видеопамять читалась в такты процессора когда ему не нужна была память (там вроде в среднем 3-4 такта на инструкцию шло, не помню уже, давно было).
Учитывая архитектуру видеоподсистемы Спектрума нам нужно было всего два байта на восемь последовательных пикселов (остальные пикселы были в других строчках).
Насколько я помню такое потребление памяти легко влезало в «мертвые» такты процессора. Хотя всю математику уже не помню, могу ошибаться…

Или Вы о чем-то другом?
можно черезстрочную развёртку использовать и считать между строк, во время холостого хода еще что то считать. Но вообще конечно круто, когда у тебя есть в распоряжении сколько то тактов и крутись как хочешь, но успей подготовить за это время картинку для вывода, тут за счет черезстрочной развертки можно сэкономить ~640x480 тактов + холостой ход для каждого кадра даст сколько то тактов
При детальном изучении, действительно, ничего сложного. Но звучит прикольно: «после мигания лампочками и игр со счетчиками решил сделать что-то более серьезное: VGA-адаптер» :)
Нафига внешний контроллер? Используйте NIOS.
была мысль использовать софтверный контроллер, но еще придется освоить и его тогда, stm32 то я более менее хорошо владею
я так понял он без всякой периферии — нафиг он тогда нужен, больше возни с её реализацией и подключением, проще уж тогда будет освоить NIOS или внешний хорошо знакомый контроллер использовать
класс! оказывается не зря мы на плисах всякую хрень в универе делаем:)
Sign up to leave a comment.

Articles