vs.

vs. VDP или “На кой чёрт нам видеопроцессор?”

Я долго анализировал код эмуляторов, в частности эмуляцию графической системы. И пришёл к выводу, что всякие там спец-видео-супер-пупер навороченные видеопроцессоры просто не нужны для эмуляции! Зададим себе вопрос – “Что вообще делает этот видеопроцессор?”. Пожалуйста:

Последние две функции и определяют крутость видеопроцессора. В Интернете наплодилось куча крутых консолей типа PSP, GP2X и им подобным с такими навороченными видеопроцессорами. Ну и что из этого? Это разве что может быть полезно при создании нативной софтверной базы консоли. И тут как раз кроется самое уязвимое место любой современной консоли, а именно – крайне малое количество нативного софта под неё! Ну вот, приехали… Разработчики консолей стараются поддержать как можно больше эмуляторов на свои детища, чтоб как-то компенсировать недостаток софта вообще.

Отдельно рассмотрим так называемые открытые проекты. С ними дела обстоят ещё хуже – железку сделали, а вот софт “с нуля“ под неё мало кто захочет писать на голом энтузазизме, в отличие от коммерческих вариантов, где программистам как правило оплачивают их труд.

Отсюдова вывод – если открытая игровая консоль не поддерживает хотя бы один эмулятор какой-нибудь раритетной игровой приставки, она на 99% считается трупом!!! Жестоко, но правда! "Софт под это гумно никто не напишет!" - каждый раз, когда я это вспоминаю, широкая улыбка возникает на моём лице - ибо понимаю, что действительно СОФТ НИКТО ПИСАТЬ НЕ БУДЕТ!!!

Как говорится, взял спаял. Тетрис прошил, наигрался, получил опыт и заб(Ы/И)л :)

Я вижу единственный выход для хоббистской конструкции – поддержка эмуляторов игровых приставок/консолей, которые в своё время завоевали популярность. А это (предполагаемо в порядке возрастания сложности):

Но для достижения отличных результатов в сфере эмуляции, нужно ясно понимать и разбираться – что нужно, а что нет.

В силу уникальности отдельно взятой графической системы какой-либо приставки/консоли, при её эмуляции общим будет лишь одно, а именно – отрисовка по точкам спрайтов, тайлов и ещё чего-то там. И всё! Кроме точек больше ничего не понадобится!!! И нахер сдались эти 2D-блиттеры, 3D-треугольники и прочая навороченная муйня, ради которой прийдётся:

И как следствие, бОльшие финансовые затраты, усложнение и удорожание конструкции и завязка на конкретный видеопроцессор.

В общем в современной хоббистской игровой приставке видеопроцессор не нужен!

Теперь поговорим о том, что действительно очень нужно для неё. В итоге мы приобретём гораздо больше, чем потеряли :)

Для эмулятора прежде всего, главное – скорость эмуляции CPU и уникальной периферии приставки/консоли. А это значит, что нужно брать высокопроизводительный процессор. Как этот процессор может выглядеть в первом приближении? Думается, что он должен обладать следующими признаками:

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

С хоббистской точки зрения, процессор вдовесок вышесказанному должен:

Мне пока удалось “пощупать” две архитектуры подходящих процессоров: ARM9 и BlackFin. Последний предпочтителен, так как более крут и проще, чем первый.

Однако вернёмся к видеосистеме. Тут нужно искать уже готовые решения, а именно – дисплеи со встроенным видеоконтроллером и видеопамятью - дисплеи с “сэндвичем” (или “бутербродом”), как говорят специалисты по ремонту мобил ;)

Тогда мы убьём сразу двух зайцев:

Ну вот собственно, всё! Заканчивая, хочется спросить: Нах*й бы эти видеопроцессоры впились? =)

 

На главную

Hosted by uCoz