PCSX2
PCSX2 — эмулятор PlayStation 2, предназначенный для операционных систем GNU/Linux, Microsoft Windows и Windows NT. Эмулятор очень сильно продвинулся и улучшился после выхода своей первой версии. В мае 2006 года в версии 0.9 некоторые игры PS2 работали исправно и в них можно было играть, в то же время скорость в 3D приложениях и играх была крайне низкой, что не позволяло проходить их полностью, а большая часть имела частичную функциональность. Главная сложность в эмуляции PS2 — эмуляция многоядерной архитектуры PS2 на архитектуре ПК x86\x86-64. Хотя каждый процессор может быть сэмулирован крайне точно, их синхронизация довольно трудоёмка.
Производительность до 2006 года варьировалась от 2 до 15 кадров в секунду в зависимости от аппаратной части ПК и настроек плагинов, а BIOS PS2 эмулировался быстрее всего. После выхода версии 0.9 в апреле 2006 года производительность сильно увеличилась. Большинство 2D игр и меню начали работать на скорости 60-120 кадров в секунду, однако в основном 3D осталось работать на прежней скорости. В то же время PCSX2 стал поддерживать двухъядерные процессоры (скорость в играх увеличивалась при их использовании вдвое). С выходом версии 0.9.1 летом 2006 года большинство 3D сцен начало работать на скорости около 15-30 кадров в секунду на процессоре с тактовой частотой ~ 3 ГГц. Также, некоторые популярные игры, такие как Final Fantasy X, работают на скорости около 60 кадров в секунду.
PCSX2 находится в состоянии активной разработки.
Последняя версия эмулятора, а также бета-версии при использовании рекомендуемых плагинов и соответствующей конфигурации способны запускать многие популярые игры. Средний фреймрейт в играх колеблется и зависит от эмулируемой игры, однако многие популярные игры могут запускаться на полном фреймрейте.
Бета версии
2 декабря 2007 года разработчики объявили о начале свободного скачивания бета версий эмулятора, что позволит конечному пользователю ознакомиться с нововведениями новой версии, до того как она выйдет в свет. Однако вследствие высокой нестабильности сборок бета версий и экспериментального характера их распространения, поддерживаться они на официальных форумах не будут.
PCSX2 Playground
PCSX2 Playground — это ответвление от основного проекта PCSX2, плод долгой работы команды бета-тестеров, создателей модификаций и прочих улучшений для официального PCSX2.
После его успешного дебюта официальная команда решила поддерживать PCSX2 Playground как официальный проект.
Основные изменения
Список всевозможных изменений PG-версии эмулятора довольно велик, вот наиболее актуальные:
* Улучшенная поддержка спидхаков (speedhacks), добавлены x1.5 и x3.0 режимы.
* Расширенные настройки рекомпиляторов EE и VU.
* Переработанный аудио-плагин SPU2ghz, оптимизированный для работы со спидхаками (Time Stretching)
* Специальные хаки для улучшения совместимости с играми, эмулировать которые сложнее, нежели большинство других (gamefixes).
* Множество других исправлений, повышающих совместимость с играми.
Объединение с официальной версией PCSX2
4 февраля 2009, проект PCSX2 playground был объединен с официальным проектом PCSX2 и перестал существовать как таковой. Разработчики обеих команд объединили свои усилия дабы работать над теперь уже официальной версией PCSX2, базирующейся на коде PG-версии.
Модули
PCSX2, как и его предшественник PCSX, эмулятор PlayStation, основан на модулях, отделяющих различные функции от ядра эмулятора. Существуют графические, управления, CD/DVD, звука, Firewire и НЖМД (Dev9) модули. Различные плагины могут показывать различные результаты в одной игре, заключающихся в совместимости и производительности.
Особенно актуальны в данный момент графические модули, поскольку они «лечат» главную проблему эмулятора — низкий фреймрейт. Так, 11 августа 2006 года Zerofrog выпустил графический модуль для PCSX2 0.9.1 Watermoose, под названием ZeroGS KOSMOS, версии 0.95.2. Он серьёзно улучшил работу графики (как в скорости, так и в качестве), хотя требует наличия графического процессора с поддержкой Pixel Shader 2.0. Также есть другой графический модуль, GSdx от известного разработчика кодеков Gabest’а, который является первым DirectX 10-модулем, что позволяет обладателям соответствующего ГП и соответствующей ОС (Windows Vista, Windows 7) получать увеличенный фреймрейт за счёт новых возможностей и меньших программных ограничений DirectX 10.
Официально поддерживаемые
* GSdx [GS-плагин]
* ZZogl [GS-плагин]
* SPU2-X [SPU2-плагин]
* ZeroSPU [SPU2-плагин]
* LilyPAD [PAD-плагин]
* ZeroPAD [PAD-плагин]
* XPad [PAD-плагин]
* CDVDolio [CDVD-плагин]
* Linuz ISO CDVD [CDVD-плагин]
Данные плагины включены в официальный svn-репозиторий проекта и активно разрабатываются. Issue-рапорты по ним принимаются и считаются валидными.
Устаревшие/сторонние
* ZeroGS [GS-плагин]
* P.E.Op.S SPU2 [SPU2-плагин]
* SPU2ghz [SPU2-плагин]
* SSSPSX PAD Plugin [PAD-плагин]
* CDVD iso EFP [CDVD-плагин]
* P.E.Op.S CDVD [CDVD-плагин]
Данные плагины включены в официальный svn-репозиторий проекта но не разрабатываются и не поддерживаются основными участниками проекта. Issue-рапорты по ним, в большинстве случаев, не принимаются и считаются невалидными.
Сторонние
* MegaDev9 [HDD-плагин]
Данные плагины не включены в официальный svn-репозиторий проекта, разрабатываются и поддерживаются сторонними авторами. Issue-рапорты по ним не принимаются, поддержка оказывается на форумах и домашних ресурсах.
На базе нового wx-GUI планируется расширить API plugin-системы и ввести поддержку плагинов для BIOS'а (неподтверждено) и memorycard-интерфейса.
Заблуждения по поводу скорости
Общее заблуждение относительно PCSX2 заключается в том, что процессоры с относительно высокой частотой, как, например, Pentium 4 и Athlon XP (с частотами около 3,8 ГГц), способны легко эмулировать PS2 игры на полной скорости. PS2 имеет несколько процессоров, таких как чип MIPS R5900, чип MIPS R3000A, два векторных юнита и графический чип Graphics Synthesizer. За исключением MIPS R5900 (работает на 294,912 МГц) и MIPS R3000A (работает на 36,864 МГц), все остальные чипы работают на частоте шины в 147 МГц. Есть несколько причин, которые делают эмуляцию PS2 на PC крайне сложной. Архитектурные различия между PC на базе x86 и PS2 весьма значительны; синхронизация нескольких параллельно работающих процессоров тоже крайне сложна. Использование двухъядерных процессоров для эмуляции PS2 представляет ещё более сложную задачу из-за той же жесткой синхронизации между чипами PS2. Команда PCSX2 ведет блог, в котором описывает технические сложности эмуляции PS2. Тем не менее, стоит заметить, что на системах с большей тактовой частотой процессора скорость эмуляции возрастает в разы. Так, например, скорость эмуляции игры Tekken 5 на двухъядерном процессоре с тактовой частотой в 3.2Ghz близка к заветным 60/50 FPS (в зависимости от региона), нежели чем на 4-8 ядерном с частотой в 2,2Ghz. На данный момент в большинство игр можно спокойно поиграть имея двухъядерный процессор с тактовой частотой 3Ghz.
* Sven Goran's World Manager 2002 была первой коммерческой игрой, которая запустилась на PCSX2, и поэтому PCSX2 стал первым эмулятором, который запускал коммерческие игры.
* Linuzappz, главный программист проекта, покинул его в 2005 году, однако в январе 2006 года в команду пришёл Zerofrog, и разработка эмулятора продолжилась.
* Примерно во 2-3 кварталах 2008 года активность основных разработчиков PCSX2 стала спадать (по разным причинам), пока окончательно не прекратилась. Именно тогда начала зарождаться идея PG-проекта, кодерами которого стали как выходцы из официальных бета-тестеров оригинального PCSX2, так и сторонние лица: Air (Jake.Stine), cottonvibes, rama, arcum42, drkIIRaziel и gigaherz.
* В течение полугода проект активно и вполне самостоятельно развивался, пока на сцену вновь не вышли Refraction и saqib. В связи с этим решено было проекты (равно как и команды) объединить. PG-проект заморожен, и в качестве главного PCSX2-эмулятора снова выступил оригинальный PCSX2, но уже в новой ипостаси (pg-база).
* Середина 2009 года, в проекте происходят серьезные изменения, переписывается большая часть устаревшего кода, в частности: GUI, IOP, VU-хендлеры, vTLB-система, дорабатывается API системы плагинов. Публикуется ветка релизов.
Сcылки для скачивания PCSX2_0.9.5 c биосами и плагинами: