Вот и подошел к концу апрель. Наверное, один из самых нестабильных апрелей на моей памяти в плане резких скачков тепло / снег, дождь / снег, тепло / мороз... Чем то даже напоминает эмуляторы на начальных этапах развития :D Но, хватит болтать, пора подводить итоги по прогрессу эмуляции. Начинаем!
RPCS3: эмулятор PlayStation 3 уверенно держит лидерские позиции по темпам и качеству развития. За прошедший месяц только в основной ветке развития было совершено более 100 коммитов, добавлено более 10 тысяч новых строк кода! Впечатляющий результат. Из наиболее заметного:
исправлен баг в декомпиляторе фрагментных шейдеров, исправлено отображение цветов в Metro Last Light и некоторых других играх
исправления в модуле cellSave, многие игры начали корректно сохранять и загружать сейвы
исправлены фризы в версии для Linux
сделаны HLE заглушки для большого количества функций модулей
поддержка блиттинга и масштабирования текстур видеокартой, дает неплохой спидап в большинстве случаев
реализован вывод звука через ALSA для Linux
более точная эмуляция FMA опкодов в рекомпиляторе и быстрой версии интерпретатора SPU, исправлена отсутствующая геометрия в большом количестве игр
улучшен загрузчик PRX: теперь в эмуляторе доступна опция "Load only liblv2.sprx". В этом случае загрузка модулей осуществляется так же, как на оригинальной консоли, т.е. в момент вызова модуля. Это дает огромные улучшения в совместимости.
реализована эмуляция userclip в Vulkan и D3D12 рендерерах
огромные улучшения в эмуляции sys_fs сисколлов, теперь доступна LLE эмуляция модуля cellFs
улучшена расшифровка edat файлов на лету
Dolphin: эмулятора GameCube / Wii, как обычно, выдает просто какое то сумасшедшее количество изменений: 234 коммита, почти 40 тысяч строк кода! Попробуем выудить из всей этой кучи что-нибудь интересное:
реализовано декодирование текстур на GPU с использованием compute shaders: обладатели слабых ПК должны заметить хороший спидап
различные исправления в кэше текстур
добавлено настраиваемое округление вершин к ближайшему пикселю, исправляет мелкие графические баги в некоторых играх
в HLE эмуляции AXдобавлена поддержка UCodes без LPF, теперь LLE эмуляция звука необязательна для Star Wars: Rogue Leader и Star Wars: Rebel Strike
улучшения в эмуляции IOS / ES
серьезные улучшения в Jit64; добавлена поддержка x86-64 для Android
небольшие фиксы в Vulkan рендерере, реализована поддержка пост-процессинга
реализован CR кэш в JitArm64
реализована поддержка кастомных текстур, сжатых в DXT1/3/5: экономим память!
небольшие улучшения в Android версии
различные фиксы в PPCAnalyst
PCSX2: эмулятор PlayStaion 2 не сильно отстает от своих собратьев: 82 коммита, более 8 тысяч строк кода:
добавлена опция враппинга памяти в GSdx на Windows
Direct3D порты хаков Half-pixel Offset Special и Unscale Point & Line
обновлены диалоговые окна GSdx, чтобы быть более похожими на Linux GUI
реализован новый загрузчик ресурсов шейдеров в GSdx
небольшие улучшения встроенного отладчика
добавлено определение доступных DVD видеорежимов
улучшена обработка исключений в плагине SPU2-X
PPSSPP: эмулятор PlayStation Portable выдал порядка 150 мелких коммитов:
удалена опция "Disable alpha test", т.к. ломала многие игры
различные улучшения в графическом интерфейсе
исправлена производительность в God of War
фиксы в SoftGPU
добавлена поддержка мыши (пока только в Wnidows версии)
Xenia: эмулятор XBox 360 развивается достаточно медленными темпами, всего 13 коммитов за месяц:
исправлена эмуляция инструкций lvrx и stvrx
TextureInfo теперь содержит сами форматы текстур, а не указатели к ним
приготовления к переходу на MVS 2017
исправлена эмуляция XamContentCreateEx
исправлена эмуляция инструкций fctiw[z]x
Cxbx-Reloaded: в эмуляторе XBox всё пилится и пилится ядро, описание коммитов чисто техническое и большого интереса для пользователей не представляет. Можно лишь сказать, что благодаря этим трудам начала лучше эмулироваться Jet Set Radio Future, а также немного улучшена производительность определения OOVPA при сканировании запускаемых секций.
Cemu: эмулятор Wii U обзавелся 1.7.5. Очередной релиз эмулятора Wii U - Cemu. Изменений не очень много, но все они достаточно приятные. Для начала рекомендуем ознакомиться с превью новой версии:
CPU/Interpreter:
улучшена точность операий с плавающей запятой (включая правильную обработку в не-ieee режиме)
CPU/JIT:
добавлена экспериментальная поддержка не-ieee режима работы PPC
оптимизированы циклы и ветвления благодаря кешированию CR0 в x64 регистрах флагов, когда это возможно
RPL:
устранен краш, вызванный слишком большими размерами SDA области
GX2:
различные оптимизации для графического бэкенда, включая:
- улучшен алгоритм работы с кэшем вершин/юниформа/потоковых шейдеров
- убраны ненужные переключения состояния контекста GL
- реализован OpenGL DSA для текстур
- различные микрооптимизации
устранен баг, приводивший к порче кэш-файла шейдеров
отображение SNORM текстур теперь правильно обрабатывается видеокартами Nvidia
устранен баг в GX2ClearBuffersEx() и GX2ClearDepthStencilEx(), при котором depthbuffer->clearDepth мог принимать неправльные значения
устранен баг, вызванный использованием неподдерживаемых режимов вершинных / геометрических шейдеров
добавлен экспериментальный режим 'min' в игровые профили для опции 'accurateShaderMul' (см. описание в gameProfiles/example.ini)
измененная опция 'accurateShaderMul' теперь проверяет прекомпилированные шейдеры