четверг, 6 ноября 2014 г.

Инструкция по настройке ps2 эмулятора - pcsx2

Эмулятор sony playstation 2\ Установка настройка (PCSX2)








В этом подробном гайде мы рассмотрим все основные функции и попытаемся выяснить их пользу и значимость в эмуляции. Функций довольно много, часть из них даже самими разработчиками не может быть толком объяснена, так что данная часть статьи рассчитана исключительно на опытного пользователя. Пожалуй, начнем.

Первой под наш удар попадает вкладка "Настройки EE/IOP":



Для начала нам надо все таки выяснить - что же такое эти EE и IOP?
EmotionEngine: это центральный процессор PS2 (первый 128-разрядный процессор в мире, а также первый серийно выпускаемый двухядерный процессор)
IOP: контроллер операций ввода-вывода.

Как мы видим - каждый из этих модулей имеет 2 положения - Interpreter и
Recompiler
. Рекомпилятор имеет свойство преобразовывать машинный бинарный код в понятный для х86 процессора "на лету". Интерпретатор же работает во много раз точнее, но медленнее - иногда даже в несколько десятков раз медленнее. Естественно, что выбирать следует только
Recompiler
и ничего другого, Interpreter же может быть полезен только для поиска багов или прохождения проблемных мест в играх (например, для обхода мертвых зависаний) но и это - редкость.
Для EE так же можно включить кэш в режиме интерпретации, опция называется Enable EE Cache. Скорость упадет ещё на несколько порядков, но некоторые игры (их, слава богу, единицы) требуют этого режима, для достижения геймплея (или вообще для их правильной работы).

Чуть ниже уютно расположились настройки ещё одних модулей EE и FPU под названием EE/FPU Advanced Recompiler Options.
Что же это такое? Опять обратимся немножко к теории.
EE/FPU Advanced Recompiler Options: меню настроек эмуляции математического процессора. Отвечает за операции "с плавающей точкой". Иными словами FPU - это часть процессора, отвечающая за любые математические операции и операции над вещественными числами. За счет FPU, в разы повышается скорость загрузки/выгрузки вещественных чисел и увеличивается скорость выполнения таких операций.

В эмуляторе имеется 2 подменю FPU со своими настройками - Round mode и Clamping Mode. Рекомендуется выставить Round mode в положение "Chop / Zero", а Clamping Mode - "Средний шрифт" (Спасибо тебе, о прекраснейшая локализация на великий и могучий русский язык :D). Подробного описания данных функций, увы, попросту нет - данный пункт не имеет никакой документации, так что написан, по сути дела, вслепую, методом тыка. Скажем проще - если Вас будут преследовать какие нибудь неопределенные баги, несрабатывания скриптов и прочее - есть смысл поиграть с этими настройками.

Что же, идем дальше на вкладку "Настройки VU":



Вот такая картина открывается нашему взору. Вроде бы все аналогично, кроме пары исключений. Попробуем разобраться, что к чему, но для начала, надо по лучше узнать - что же такое VU?
VU: это 128-разрядные векторные модули основного процессора PS2 "Emotion Engine", которые отвечают за обработку физики и полигонов. VU0 - Векторный модуль, отвечающий за трансформацию физики, полигонов и иных вещей, которые используются в геймплее. VU1 - Отвечает за трансформации освещения, спецэффектов и других вычислений, которые имеют отношение к визуализации.

Каждый из этих модулей имеет 3 положения - Interpreter, столь знакомый нам принципом работы и 2 других, которые надо рассматривать более подробно:

  • microVU Recompiler: один из рекомпиляторов для VU, активно развивается, имеет чуть меньшую скорость по сравнению со старшим братом, но и более высокую совместимость.
  • superVU Recompiler [legacy]: старая версия рекомпилятора, в ряде игр на пару процентов быстрее, но из за невысокой совместимости проблемы могут быть самые разные.

Как Вы уже догадались - на этом дело не кончилось и есть более продвинутые опции для этих модулей, выглядят они почти аналогично FPU:
VU0 / VU1 Advanced Recompiler Options: Надстройки для данных двух векторных модулей. Также, как и в случае с надстройками FPU, нам мало что известно о них. Рекомендуется выставить Round mode в положение "Chop / Zero", а
Clamping Mode
- "Средний шрифт". Но и другие варианты могут быть крайне полезными в ряде игр. Если вы вдруг внезапно провалились под землю в игре, "застряли в текстурах" или натолкнулись на невидимую стену - следует мучить этот пункт в настройках, возможно, что он вам поможет.

Здесь мы разобрались, идем дальше - нас ждет вкладка "Настройки GS (видео)":



Функций, категорически влияющих на эмуляцию, тут по сути дела и нет, но и те, что есть - пригодятся многим:
  • Отключить лимит кадров: управляет лимитом кадров, чтобы отключить лимит - ставим галочку. Удобно, когда хочется замерить максимальную скорость игры, но проще переключать хоткеем F4.
Так же опция имеет несколько подпунктов, связанных с динамическим изменением лимита:
  • Базовое значение: устанавливает, сколько кадров будет сведено до лимита (вспоминаем, если в PAL регионе 50 кадров - максимум, то при выставлении значения на 150% - игра будет выдавать не 50 кадров, а 75 (если, конечно мощности хватит), аналогично и для других регионов)
  • Коэффициент замедления: при нажатии на хоткей скорость снижается до указанного в графе процента.
  • Коэффициент ускорения: при нажатии на хоткей, скорость увеличивается до указанного в графе процента.
  • Лимит кадров: когда то можно было управлять им прямо из эмулятора, но ныне функция заблокирована и можно изменять скорость только через ini файл.
Далее расположились функции пропуска кадров:
  • Пропуск кадров: необходим в случае слишком низкой скорости эмуляции. Путем пропуска части кадров и потери плавной анимации, можно добиться полной скорости, он работает только в software режиме видео плагина. Меню имеет 3 значения:
  • Отключен: пропуск кадров отключен.
  • Пропускать только в режиме ускорения: увеличение планки лимита fps на количество указанное в Turbo Adjust (стандартное значение 200%, то есть, если лимит в 60fps, тогда он увеличится до 120-ти).
  • Постоянный пропуск: пропускает столько кадров, сколько указано в двух полях, что ниже. Включается режим пропуска путем нажатия в игре Shift+F4.
  • Кадры для прорисовки: выставляем сколько кадров рендерить, прежде чем пропускать следующие.
  • Кадры для пропуска: выставляем количество пропускаемых кадров, после отредеренных.
Чтобы было легче понять, приведу пример: если вы выставили "3 - 1", тогда будет 3 кадра выводиться на экран, а потом 1 пропускаться. И так по циклу.
Ну и самое последнее:
  • Использовать синхронизацию MTGS: синхронизация пропуска кадров с двухядерниками, также недоделанная функция. Вызывает сильное замедление эмуляции. Используется в очень редких случаях (а по личным наблюдениям - почти не используется вообще)

На этой вкладке все разобрали, идем дальше - "GS-окно (видео)":



На данной вкладке далеко не все представляет интерес и важность, но кое что все таки можно использовать. Приступим:
  • Соотношение сторон: ну, это поймет каждый. Функция работает довольно специфично, надо сказать... Если выставить 4:3, то даже если у Вас вайдскрин и Вы включите в эмуляторе фуллскрин - картинка будет с полосами по краям, даже если в самой игре (в меню, например) вы поставите соотношение сторон 16:9 - картинка довольно сильно исказится. И то же самое будет, если сделать наоборот. Самый оптимальный вариант для владельцев вайдскрина (на мой взгляд, конечно же) - это выставить параметр Подогнать под размеры окна\экрана. Фуллскрин всегда будет растягивать картинку до пропорций 16:9, именно растягивать - то есть пропорции будут нарушены, но зато при игре в окне - пропорции будут правильные. А если в игре самой выставить 16:9 - то картинка в вайдскрине будет правильная. Выбирать, конечно же, Вам, но мне кажется, что этот вариант наиболее оптимальный.
  • Установка соотношения вручную: на самом деле, функция не совсем правильно переведена на русский язык. Вы можете выставить соотношение сторон 16:9, но в этой графе указать разрешение
    1024х768
    - тогда в игре будут полосы снизу и сверху. Данная функция - обычный выбор размера окна с эмулируемой игрой, ничего более. Но может пригодиться любителям записывать видео через Fraps - выставляем разрешение 1280х720, начинаем запись без сжатия разрешения - на выходе получаем самые честные 720р в видео.
  • Увеличение: самый обычный
    zoom
    , указывается в процентном соотношении. Выставляем 200.0 - и в игре картинка увеличится в 2 раза с обрезанием краев. Непонятно конечно, как её можно использовать, но наверно кому то она нужна.
  • Заблокировать растягивание кромки окна: полезная функция, говорящая за себя. Поставили галочку - и заданный нами точный размер экрана уже случайным движением мыши изменить не получится.
  • Скрывать курсор мыши: если курсор навести на окно с эмуляцией - его просто не будет видно (полезно для фуллскрина, но не всегда удобно)
  • Скрывать окно в режиме паузы: при нажатии на Esc или паузы в функциях эмулятора (не игры!) окно с эмуляцией закроется, возобновить можно, если в главном окне нажать
    Запуск
    -> Продолжить
  • Переходить в полный экран при запуске: фуллскрин сразу при запуске игры. Неудобно, на мой взгляд, если игру требуется настроить в процессе.
  • При двойном клике осуществляеться переход в полноэкранный режим: (краткий урок русского языка от Вашего покорного слуги для авторов перевода - мягкий знак (Ь) не ставят в глаголах - инфинитивах, но удалить его не мог, ибо так переведено в эмуляторе) функция сама за себя говорит, нет смысла описывать.
  • Ожидание Vsync на обновлении: (мда, тут с переводом ещё хлеще) включение вертикальной синхронизации. Честно говоря - я её никогда не включал, никаких проблем с прорисовкой кадров (даже в фуллскрине) не было замечено. Нужна ли функция - честно, я не знаю.
  • Динамическое включение/отключение Vsync в зависимости от скорости кадров: функция как бы должна сама выбирать, когда ей включиться - например, если скорость эмуляции падает - синхронизация выключается, скорость возросла до нужного уровня - синхронизация включается. Работает только в GSdx, в Hardware рендеринге и в DX10/11 режиме.

Разобрались на данном пункте, переходим к самому важному - "Спидхаки":



С помощью различных функций (и их правильном комбинировании) можно повысить скорость эмуляции в разы, но велика вероятность "убить" в играх часть спецэффектов. Возможны резкие замедления и ускорения эмуляции (в редких случаях), мигание персонажа, окружения, предметов и прочие, самые разнообразные проблемы. Как мы видим, все поля неактивны, в первую очередь надо их включить, установив галочку "Enable speedhacks". Итак, давайте ознакомимся с каждой функцией по порядку:
  • EE Cyclerate: Снижает количество циклов процессора, тем самым увеличивая скорость эмуляции. Может вызывать проблемы с проигрыванием звука и видеороликов. Имеется 3 положения ползунка:
    • 1: Стандартное количество циклов процессора.
    • 2: Уменьшение количества циклов на 33%. Небольшой прирост скорости и большая совместимость с играми.
    • 3: Уменьшения количества циклов на 50%. Средний прирост скорости, но возможны прерывания аудио потока и FMV роликов, иногда появляется треск в аудио.
    • VU Cycle Stealing: Увеличивает количество циклов, которые VU может "позаимствовать" у EE, эдакое своеобразное перераспределение нагрузки, может привести к мерцанию экрана и потере части спецэффектов. Имеет 4 положения ползунка:
      • 0: Снижение количества VU циклов отключено.
      • 1: Мягкое уменьшение VU циклов. Совместимость с играми немного ниже, но дает некоторое ускорение в большинстве игр.
      • 2: Среднее уменьшение VU циклов. Еще ниже совместимость, но более значительный прирост скорости во многих играх.
      • 3: Максимальное уменьшение количества VU циклов. Значительный прирост скорости в части игр, но в большинстве возникают проблемы со спецэффектами, появляется мерцание экрана, объектов. Также возможно замедление эмуляции, при показании счетчиком ложного количества кадров. Использовать крайне осторожно.
      Теперь посмотрим ниже на меню "Other Hacks". Здесь есть 3 различных пункта:
      • Enable INTC Spin Detection: Данный хак лучше всего применять для игр, которые используют регистрацию статуса INTC при ожидании синхроимпульса. В основном это RPG, не использующие 3D. Все остальные игры либо не получат ускорения, либо оно будет чрезвычайно мало. Так гласит описание разработчиков... На практике можно же сказать, что хак действительно безвреден, ни одной проблемы от него ни в одной игре я лично не встречал... Хотя по поводу даже ничтожного прироста - иногда 4-5 заветных кадров, которые он нам дает - могут прилично выручить, если совсем чуть чуть не хватает до полной скорости.
      • Enable Wait Loop Detection: Изначально нацеленный на пустые циклы ЕЕ рекомпилятора ядра
        0x81fc0
        , данный хак пытается определить циклы результат работы которых (после каждой последующей итерации) никак не скажется на текущем состоянии машины до тех пор, пока запланированное событие не запустит эмуляцию другого юнита. После первой итерации таких пустых циклов, мы просто переходим к следующему событию, или вообще к концу процессорного интервала. Жуть. Понятно, что понятно не очень много из всего этого, но данный хак довольно щадящий, любит давай прирост и практически никакого вреда в себе не несет. Рекомендуется к использованию.
      • Включить fast CDVD: хак ускоряет доступ к диску, уменьшая время загрузки игр. Влияет на уровни, их подгрузку, и прочие факторы, но имеет и побочные эффекты - некоторые игры хак не любят и могут банально вылететь на загрузке.

      Далее идет меню "microVU Hacks". Данные хаки работают только при выборе рекомпилятора "microVU":
      • mVU Flag Hack: Большое ускорение в играх при включении и хорошая совместимость, но может привести к графическим лагам (мусору в изображении) и некоторым другим побочным эффектам. По идее вреда от него мало (и проблемы встречаются не часто), рекомпилятор начинает работать по типу SuperVU, пользу извлечь из него можно довольно часто. Рекомендован к использованию.
      • MTVU (Multi-Threaded MicroVU1): выполнение некоторых долго выполняемых команд в отдельном потоке, имеет смысл использовать на многоядерных процессорах (3 ядра и больше или двух-ядерные процессоры с поддержкой HT (Core i3, поколение Sandy Bridge и выше), ускорение в среднем 10-50%. Работает только с MicroVU1, неэффективен на двухядерных системах, может вызвать замедление или даже вылеты в некоторых играх.

      Все спидхаки рассмотрели, теперь можно переходить к следующей закладке - "Исправления для игр":



      Как видно из названия - это фиксы для некоторых игр, в которых с обычными настройками возникают проблемы или вовсе не запускаются. Включать только для игр, которые указаны в названии хака. По умолчанию меню отключено, для включения ставим галочку "Enable game fixes".
      • VU Add Hack: Включать для игр Tales of Phantasia, Star Ocean, Valkyrie Profile и Eternal Sonata.
      • VU Clip Flag Hack: Включать для серии игр Persona.
      • FPU Compare Hack: Включать для игры Digimon Rumble Arena 2.
      • FPU Multiply Hack: Включать для игры Tales of Destiny.
      • FPU Negative Div Hack: Включать для серии игр Gundam.
      • VU XGkick Hack: Включать для игры Elementar Geard.
      • FFX Video Fix: Только для Final Fantasy X, исправление текстов в видеороликах.
      • EE Timing Hack: Универсальный хак. Список игр которые он может вылечить постоянно растет. Исправляет видеоролики в Obscure 2, Digital Evil Saga, ошибки графики в SSX, Resident Evil: Dead Aim. Не вызывает глюков в большинстве игр.
      • Skip MPEG Hack: пропуск виснущих/вылетающих роликов, что тут еще сказать.
      • OPH Flag Hack: Исправление зависаний на одном и том же кадре, требуется для Bleach Blade Blatter, Growlanser 2/3, Wizardry.
      • Ignore DMAC writes when it is busy: исправляет зависания в Mana Khemia 1 и Motor Storm Arctic Edge.
      • Simulate VIF1 FIFO read ahead: исправляет игры с долгими загрузками, такие как Transformers и Test Drive Unlimited
      • Delay VIF1 Stalls: исправляет худ в SOCOM 2
      • Ignore Bus Direction on Path3 Transfer: использовать для Hotwheels
      • Switch to GSdx Software rendering when a FMV plays: автоматически переключаться в софтварный режим рендеринга на FMV роликах, помогает тем играм, в которых эти самые ролики идут с ошибками в хардваре.

      Совет в рисунках с сети

      Инструкция по настройке ps2 эмулятора - pcsx2
      Инструкция по настройке ps2 эмулятора - pcsx2
      Инструкция по настройке ps2 эмулятора - pcsx2
      Инструкция по настройке ps2 эмулятора - pcsx2
      Инструкция по настройке ps2 эмулятора - pcsx2