Как Я Подружил Playstation 2 И Playstation Portable (Спойлер — Объединены В Один Эмулятор)

Привет читатели.

В прошлом году я опубликовал свой хобби-проект. Эмулятор Red Omega PS2 .

Идея заключалась в том, чтобы адаптировать управление оригинального эмулятора PCSX2 для игр на Surface Pro через сенсорный экран.

Исходный код эмулятора PCSX2 был переписан как модуль DLL, загруженный в код C# с графическим интерфейсом WPF. Проект оказался работоспособным и успешным — Final Fantasy X и Final Fantasy XII прошли на ура.

Но полгода назад я наткнулся на ссылку на Valkyria Chronicles 4 в Steam. Я купил первую Valkyria Chronicles на диске и она у меня заработала, но у меня вопрос - где вторая и третья!?! Ответ был найден быстро — эти сиквелы выпускались только на игровых консолях.

Самая доступная версия оказалась для PlayStation Portable — через эмулятор PPSSPP. На смартфоне неплохо, но на Surface Pro мне не понравилось сенсорное управление.

И нет никакого желания переходить с Омеги Ред на ППССПП и обратно.

И тут возникла «сумасшедшая» идея — переписать исходный код PPSSPP в виде DLL-модуля!!! И превратите Omega Red в ПЛАТФОРМУ для игр PlayStation 2 и PlayStation Portable!!! Легко сказать, но гораздо труднее сделать.

Исходный эмулятор PPSSPP разрабатывается как проект с открытым исходным кодом и доступен в виде полного кода для изучения и модификации.

Код интересен и может быть запущен на различных графических API: OpenGL, DirectX9, DirectX11, Vulkan. Кроме того, он имеет встроенный графический интерфейс.

Но архитектура PPSSPP более «понятна», чем у PCSX2 — больше модульности и упрощены зависимости.

Главным ключом к реализации моей идеи стала возможность загрузить диск с игрой и сохранить его в виде аргумента программе.

Простое решение — переписать функцию ввода EXE в функцию EXPORTED DLL. Конечно, будут проблемы с созданием второго "окна", перенаправлением вывода графического рендерера в графический контекст WPF, подключением Touch кода и т.д. и т.п.

, но все это я уже решил, когда переписывал код для PCSX2. - уже есть работоспособные шаблоны.

Какой результат - решение работает! Нам удалось объединить два совершенно разных эмулятора в одно решение с плавным переключением между играми для разных эмуляторов.

Результат можно увидеть на видео: Кроме того, хотелось бы отметить следующие изменения по сравнению с первым релизом Эмулятор Red Omega PS2 : 1. Изменена цветовая схема - в комментариях указано на неудобство цветовой схемы интерфейса - красная.

Странное неудобство — но я решил добавить инвертированную «Синюю» гамму:

Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединены в один эмулятор)

2. Тесселяция - для игр на PCSX2 добавлена функция "Тесселяция" из DirectX 11 - эта функция позволяет увеличить количество полигонов у моделей:

Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединены в один эмулятор)

Тесселяция выбирается из опции «Схема рендеринга»:

Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединены в один эмулятор)

ПО УМОЛЧАНИЮ

Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединены в один эмулятор)

ТЕССЕЛЯЦИЯ

Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединены в один эмулятор)

ПО УМОЛЧАНИЮ

Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединены в один эмулятор)

ТЕССЕЛЯЦИЯ

Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединены в один эмулятор)

3. FXAA - для игр на PCSX2 добавлена функция "Включить FXAA" для удаления "Ступеней" по границам полигонов - решение работает не идеально, но работает:

Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединены в один эмулятор)

4. Быстрое сохранение – сохранение состояния эмулятора одной командой:

Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединены в один эмулятор)

5.Регулятор громкости:

Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединены в один эмулятор)

На данный момент программа доступна по следующей ссылке: Омега Красный и представлен на GitHub: ОмегаКрасный Теги: #Игры и игровые приставки #эмулятор #psp #PS2

Вместе с данным постом часто просматривают: