Процессор может проверять наличие флага спрайтхита или переполнение спрайтов на определенных строках, здесь может быть проблема с некоторыми мапперами. Нужно иметь в виду и эти нюансы. Как по мне, в идеале нужно не нарушать работу и тайминги ППУ, чтобы не сломать взаимодействие, а обрабатывать данные после палитрового ОЗУ и добавить буфер на строку, выводить одну строку по два раза, а текущую строку заталкивать в буфер, либо использовать ФИФО для сторки. Тут уже нужно по ходу дела придумать как это эффективно реализовать. Есть кстати еще проект Universal PPU. Там оно написано по описанию на несдев и занимает гораздо больше ячеек, чем у меня, однако добавлен кадровый буфер с двухпортовой памятью, и таким образом там организовано дублирование строк. Использует Universal PPU ФПГА Xilinx, там богатые ресурсы блоков памяти внутри, поэтому проблем не возникло у разработчика, однако сам проект заброшен вроде как, но весьма любопытно было поизучать.
https://github.com/Redherring32/UniversalPPU




Ответить с цитированием