Вот и наступило лето! Хотя... кого я обманываю, трудно назвать это летом. Маябрь закончился, наступило время окунуться в мир эмуляции и посмотреть, что принес нам не самый теплый месяц этого года.
RPCS3: эмулятор PlayStation 3 выдал за последний весенний месяц 63 коммита. Изменений не то чтобы очень много, но все они очень серьезные:
реализована поддержка DualShock 4, включая гироскопы и вибрацию; также включена поддержка вибрации на XInput.
улучшена эмуляция sys_fs сисколлов и функций модуля cellFs: решает множество проблем, связанных с эмуляцией файловой системы, а также позволяет полноценно использовать LLE библиотеку cellFs
реализована синхронизация буферов в Vulkan рендерере
добавлен небольшой спидхак, основанный на назначении приоритетов потокам SPU
переписана эмуляция управления выводом в декомпиляторе вершинных шейдеров
улучшена система логгирования
исправлена эмуляция операции MFC_WrTagUpdate в SPU
переписана загрузка вершин в RSX, сильно улучшена скорость Vulkan рендерера (от 10 до 300%)
добавлен инсталлятор для Linux
небольшие фиксы в декомпиляторах шейдеров
также идет планомерное развитие Qt версии эмулятора
Dolphin: эмулятор GameCube / Wii, по своему обыкновению, выдает какое то сумасшедшее количество изменений - 248 коммитов! Как же непросто найти в этой куче что то интересное... Но мы всё же попытаемся:
значение задержки по-умолчанию в OpenAL увеличено с 2 до 5
IOS: реализована эмуляция IOSC библиотеки (криптомодуль в операционной системе Wii)
устранены вылеты на Android TV
множество фиксов и улучшений в Qt версии эмулятора
куча исправлений в эмуляции IOS
PPCAnalyst теперь более интеллектуальный
удален D3D12 рендерер
удален JITIL компилятор
добавлен вывод звука через CubebStream
небольшие фиксы в D3D рендерере
PCSX2: эмулятор PlayStation 2 не отличился большим прогрессом, но кое-что всё же есть:
небольшие фиксы в коде GUI плагина GSdx
чистка кода, удалены устаревшие конструкции в вызовах деструкторов классов
GSdx - Linux: устаревший GTK заменен на GTK3
реализован новый инсталлятор, основанный на NSIS 3.01
устранен вылет эмулятора при открытии плагинов, если программа была скомпилирована GCC-7.1.0
дампы GSdx теперь сразу делаются в сжатом формате (экономим место на диске)
реализованы битовые поля для регистра SYNCV
PPSSPP: у лучшего эмулятора PlayStation Portable открылось второе дыхание, изменений было просто куча:
реализовано еще несколько оптимизаций в JIT загрузчике вершин
в программном рендерере огромное количество исправлений: реализован мипмаппинг, исправлен расчет центров пикселей, улучшен расчет освещения, исправлено отображение линий, исправлен вывод при использовании D3D9, устранены вылеты в Android версии, написан JIT сэмплер, и еще много всего
проделана масштабная работа по устранению вылетов и зависаний, чистка кода
в D3D9 рендерере исправлен расчет полупиксельного смещения
удалены многие из настроек, которые могут привести к серьезным проблемам при неразумном использовании
реализован буфферизованный рендеринг в Vulkan рендерере
реализован программный скиннинг в Vulkan рендерере
исправлены вылеты и др. фиксы
Xenia: эмулятор XBox 360 стабильно развивался первую половину месяца, потом снова уснул:
добавлен нативный фронтенд для тестов PowerPC
несколько фиксов в эмуляции PowerPC с использованием нового инструмента тестирования
Vulkan Loader обновлен до версии SDK 1.0.46.0
уровень буфера команд в Vulkan рендерере теперь определяется при распределении, а не при построении
Vulkan теперь умеет смешивать цвета
множество других фиксов в эмуляции PowerPC
CXBX-Reloaded: эмулятор XBox развивается ровными темпами:
улучшен HLE кэш
фиксы для игр серии Panzer Dragoon
улучшена система логгирования
исправлены проблемы с управлением в некоторых играх
добавлена заглушка для IDirectSoundBuffer_Use3DVoiceData
различные улучшения в D3D рендерере
исправлены некоторые OOVPA таблицы для DSound
кэш HLE теперь автоматически очищается, если выбран LLE режим эмуляции
добавлен хак для обхода вылета в Jet Set Radio Future
Cemu: эмулятор Зельды Wii U обзавелся двумя публичными релизами. Про версию 1.7.5 вы можете почитать в соответствующей новости, а тут распишем про 1.8.0:
Основное:
исправлен баг при вычислении размера окна в полноэкранном режиме
добавлен поиск значений в виртуальной памяти
RPL:
оптимизирован загрузчик RPL
GX2:
Cemu теперь использует раздельные шейдеры: вершинные, геометрические и вершинные шейдеры теперь раздельные независимые программы. Это ломает совместимость со старыми кэшами шейдеров и графическими паками (если они содержат в себе шейдеры)
похожие текстуры теперь используются повторно с различными параметрами сэмплера
при использовании графических пакетов gl_FragCoord теперь масштабируется автоматически
реализована эмуляция шейдерных опкодов RECIPSQRT_FF и RECIP_FF
декомпилятор шейдеров GPU7 теперь выдает намного более оптимизированный GLSL код
лучшее определение для инвалидации в потоковом кэше
оптимизированы наиболее часто используемые GX2 API
оптимизировано декодирование текстур
добавлена опция '-nsight' в командную строку для отладки через NVIDIA Nsight
исправлен вылет, вызванный попыткой обращения к вершинным атрибутам вне границ массива
Ну что, друзья-эмуляторщики, будем надеяться на скорое наступление настоящего лета в этом году, и продолжаем следить за развитием наших любимых проектов!