История эмуляции Playstation 2 на персональном компьютере
Не секрет, что исходный код большей части эмуляторов различных платформ открытый. Это позволяет их дорабатывать любым желающим, и тем самым доводить до совершенства. В итоге, свободные операционные системы, в частности GNU/Linux, имеют богатый набор эмуляторов для очень большого количества игровых консолей и других платформ. Краткий обзор различных эмуляторов можно прочитать в журнале Linux Format за Июль 2007 года. ("Сияй, безумный бриллиант!" написана российским автором и, по мнению автора вот этой статьи, с излишним фанатизмом), эмуляторы можно обсудить на этом форуме.
Первоначально разработка шла медленно, так как аппаратная часть персональных компьютеров 2000 года не могла осуществить эмуляцию мощной аппаратной части игровой консоли PlayStation 2 (техническая спецификация PlayStation 2 подробно описана здесь) - эмуляция всегда использует много ресурсов компьютера. Например, чтобы комфортно запускать игры существующими эмуляторами восьмимегагерцового Sega Mega Drive, нужен процессор с частотой 60 MHz минимум (рекомендуется 100). Тем не менее, эмулятор первой версии PlayStation, был создан довольно быстро.
Прогресс в создании PCSX2 был ступенчатым. Два года тишины и небольших продвижений, затем неожиданноследовал прорыв новых достижений. В 2004 году некоторые игры стали хоть частично и медленно, с 5-6 FPS на PC наших дней, но запускаться - было дано начало комфортной эмуляции PlayStation 2 на PC.
В 2006 году очередной прорыв и скачок версии программы эмулятора аж до 0.9.x дал миру возможность запускать много игр на мощных компьютерах (рекомендовался двухъядерный процессор и производительная игровая видеокарта), системные требования стали ниже по сравнению с первыми версиями эмулятора.
В 2008 году появился форк эмулятора, 1.0.0395 Playground, основанный на версии 0.9.5 SVN (стабильной версией вот уже больше года являлся 0.9.4), который работает медленнее 0.9.5 засчёт улучшения совместимости с 64-битным процессором. До этого проект PCSX2 присоединился к программе Google Code.
И вот, наконец, 3 января 2009 года появился новый, стабильный релиз 0.9.6, в котором было переписано много кода (большое спасибо команде Playground!). Код был очень хорошо оптимизирован, системные требования снизились по сравнению с 0.9.4, и самое главное! Теперь эмулятор способен запускать большинство самых популярных игр. Автор этой статьи тестировал его на 32-битном Gentoo и Ubuntu 8.10 i386 с видеокартами nVidia GeForce 7600GT и nVidia GeForce 8500GT, и если с первой FPS очень редко опускался ниже 20, то с последней он стабильно держался на 28-29 в процессе игры, редко опускаясь ниже 24 в динамических сценах. Для 60 FPS стоит поискать видеокарту, которая в 2 раза производительнее GeForce 8500GT, который сегодня можно купить по цене 2000 рублей... или поставить две такие видеокарты в режиме SLI!
Было испробовано и протестировано около 20-ти игр, большая часть которых не запускалась с PCSX2 0.9.4, и они заработали и комфортно игрались. Лишь одна только игра, Guitar Hero III, не заработала, показав лишь вступительные ролики!
Пара слов о 64-битной сборке
К сожалению, разработчики эмулятора отказались поддерживать 64-битную версию PCSX2, решив сосредоточиться на 32-битных версиях для Windows и GNU/Linux, и в одном из декабрьских релизов в 64-битных дистрибутивах GNU/Linux перестал компилироваться ключевой компонент программы, называемый PCSX2, ядро программы. Автору статьи это кажется странным, ведь именно 64-битная сборка ранее давала большую производительность, чем 32-битная! Поэтому данное руководство ориентировано на пользователей 32-битный дистрибутивов GNU/Linux. Пользователям 64-битных дистрибутивов Linux стоит попробовать компиляцию с ключом -m32, предварительно установив необходимые 32-битные библиотеки, или поискать ноябрьский PCSX2 0.9.5 SVN.
Компиляция, или использование бинарной сборки?
Компиляция из исходного кода долгая и трудная (нужно докачивать зависимости, искать что-то постоянно в поисковом сайте), но именно она даёт всегда последнюю версию программы, оптимизированную для работы именно с вашей аппаратной частью компьютера! Вам необходимо выбрать, что использовать, собранный вариант или компиляцию из исходного кода. Скажу лишь, что игра God Of War с последней редакцией PCSX2 засбоила у автора этой статьи, но то, что сбоит со стабильной редакцией, может заработать с последней.
Скачивание программы
Итак, что нам потребуется? Нам потребуется загрузить из Интернета последнюю, ну, можно стабильную, версию эмулятора PCSX2. Стабильная 32-битная прекомпилированная версия расположена по ссылке. Если есть желание попробовать последнюю редакцию программы, загрузить её поможет команда
svn checkout http://pcsx2.googlecode.com/svn/trunk/pcsx2-read-only
(svn должен быть установлен; выполнять в новой директории необязательно - директория pcsx2-read-only создастся сама).
Загрузить исходный код стабильной версии эмулятора также можно через SVN, указав в команде дополнительно, что нужно загрузить редакцию номер 1 (приставив к команде строчку -co 1 в её конец). Можно его затем заархивировать, чтобы распаковывать и обновлять той же командой (в распакованном виде исходный код всегда занимает слишком много места), чтобы всегда иметь новую версию эмулятора.
Удовлетворение зависимостей для запуска программы и её компиляции
Теперь исходный код нужно скомпилировать! Для начала, удовлетворяем зависимости. Если верить странице загрузки программы, нам нужен OpenGL (поставляемый либо с Mesa3D, либо с драйвером видеокарты - не забудьте установить devel-версию пакета в случае разделения в дистрибутиве пакетов программ на основной пакет и его devel-версию), nVidia Cg (вас никто не обязывает использовать видеокарту nVidia, nVidia Cg заработает и с любой видеокартой, будь то nVidia, ATi, S3 или Intel - хотя, в случае использования последней сегодня, сомнительно, что эмулятор PCSX2 заработает; загрузить nVidia Cg можно на этой странице, версии для 32- и 64-битных версий Windows и GNU/Linux, а также для 32-битной Solaris; как установить программу правильным образом автор этой статьи не знает: он распаковывает архив и по-очереди копирует содержимое каждой директории в их аналоги в /usr, чтобы не нарушить права доступа к директориям - поправьте, если знаете правильный способ, пожалуйста!), gtk2 libbz2 libjpeg glew-dev libxxf86vm-dev x11proto-xf86vidmode automake и autoconf (версия больше или равна 1.9) libasound-dev joystick. Для компиляции из исходного кода необходимы devel-версии пакетов этих программ. Также, проверьте наличие установленных libsdl1.2 gtk+ glib gio-2.0, и devel-версий этих пакетов, если вы решили компилировать.
Компиляция программы
Зависимости удовлетворены! Но если при компиляции будет ошибка, не описанная в этом руководстве, предлагаю воспользоваться поиском в Интернете для решения проблемы - скорее всего, вам необходимо удовлетворить зависимости, доустановив недостающий devel-компонент какой-нибудь программы.
Теперь, приступаем к компиляции, открываем директорию pcsx2-read-only командой "cd pcsx2-read-only", запускаем компиляцию командой "sh build.sh". Ждём несколько минут, пока компиляция не завершится успешно!
Автор этой статьи столкнулся с проблемой при компиляции. Компонент ZeroGS, который отвечает за графику, просто отказался компилироваться! Дистрибутивы Ubuntu 8.10, Gentoo. Решение этой проблемы описано по ссылке
Нужно зайти в директорию plugins/zerogs. Открыть в любимом текстовом редакторе файл build.sh. Закомментировать строки (поставить в начало каждой символ #):
if [ $# -gt 0 ] && [ $1 = "all" ] then
, заменить ./configure на bash configure, и закомментировать строки
else make $@ fi
Продолжить компиляцию, повторить с каждым засбоившим компонентом. Перед компиляцией последнего, и главного, компонента "PCSX2", вас предупредят, что на 64-битных дистрибутивах Linux он не соберётся. В чём автор этой статьи, собственно, сразу же и убедился. Если использовать 32-битный дистрибутив GNU/Linux, компиляция программы завершается успешно. После компиляции исходный код можно удалить, чтобы он не занимал ценное место на накопителе. А занимает он места больше, чем бинарный вариант программы.
Пара слов о BIOS для Playstation 2
Мы получили собранный PCSX2, что нам надо сделать дальше? Запускать игру ещё рано, так как не хватает одного компонента - BIOS от PlayStation 2. Свободная реализация его пока не написана (а вот образы карт памяти, наоборот, в 0.9.6 написали и они работают), поэтому нужно использовать нативный. Где его взять? Единственный легальный способ получить BIOS игровой консоли PlayStation 2 - это переписать его с игровой консоли PlayStation 2, принадлежащей лицу, которое собирается совершить данное действие. Для этого есть специальный софт и оборудование. Мы не ищем лёгких путей, не правда ли? Однако это делать не за чем - BIOS можно скачать из Интернета. Но этот способ незаконный. Я не буду говорить вам ссылку - ищите сами!
Полученный каким-нибудь путём BIOS нужно положить в директорию bios.
Запуск эмулятора и дисков с играми в нём
Готово! Вот теперь можно спокойно запускать игры! Так, сначала запустим эмулятор! Заходим в директорию с собранной программой и выполняем sh pcsx2 или ./pcsx2. Если ./pcsx2 не работает, нужно присвоить файлу значение исполняемого, например, так:
chmod a+x pcsx2
Рекомендую запускать эмулятор именно так, из директории, где он расположен. Если просто запускать кликами мыши из оболочки, то наблюдаются сбои. Не показывается картинка приветствия, и что-то ещё неприятное... Настроим джойстик, укажем директорию CD-привода или образа диска, попробуем поменять настройки ZeroGS. Нажимаем первый пункт меню, и выбираем Run CD... Удачной вам игры!
P.S. Надеюсь, вскоре открытый вариант BIOS будет дописан, и PCSX2 наконец-то войдёт в репозитарии дистрибутивов! И что Guitar Hero III всё же запустится под Wine или PCSX2.
Программу можно скопировать в /usr/games/ или в /usr/local/games и сделать для него пункт меню.
Если вы хотите компилировать PCSX2 в Windows, вам поможет вот это Wiki-руководство (на английском), придётся загрузить почти DVD-диск зависимостей, которые работают бесплатно ровно 60 дней.
|