Вчера состоялся релиз новой версии эмулятора shadPS4 0.9.0. Новое обновление привнесло улучшение совместимости эмулятора.
shadPS4 – эмулятор PlayStation 4 [v0.9.0]
Общий список изменений:
Ядро
- Исправление для sceKernelAllocateDirectMemory;
- Экспорт адреса eboot;
- Различные исправления файловой системы;
- Теперь эмулятор выполняет раннее открытие чтения-записи только при необходимости усечения;
- Исправлен порядок инициализации журнала;
- Исправлены адреса загрузки модулей;
- Добавлено scePthreadSetaffinity и эмулировано соответствие;
- Исправление памяти;
- Реализован sceKernelMemoryPoolBatch;
- Введена оболочка вызова хоста;
- Реализован scePthreadGetaffinit;
- Mprotect только для целых страниц;
- Реализован sceKernelUuidCreate;
- Реализован sceKernelIsStack;
- Реализован sceKernelMapDirectMemory2;
- Правильная обработка ошибок MapMemory.
Библиотеки
- Реализован sceImeDialogGetPanelSize;
- Очистка событий VideoOut;
- Реализованs sceKernelGetModuleInfo, sceKernelGetModuleInfoInternal и sceKernelGetModuleList;
- Обновить ime_dialog.h;
- Реализован sceKernelPwritev;
- Первоначальная реализация sceNet;
- Исправления SaveData;
- Очищение стека перед выполнением гостевого кода;
- Заглушки для sceSigninDialog;
- Ошибка журнала для videodec ,videodec2;
- sceNet;
- Реализован sceKernelAddTimerEvent;
- Очистка реализации таймеров;
- Companion httpd;
- SaveDataDialog: исправлен возможный null;
- SaveData: соблюдение каталога установки в param.sfo для выбора папки сохранения игры;
- Savedata: исправление отсутствующего использования каталога данных сохранения на основе конфигурации;
- Исправление дескриптора удаления трофея.
Рекомпилятор шейдеров
- Использование GetSrc в VALU insts вместо предположения векторного регистра (было vcc_lo);
- lower_buffer_format_to_raw: исправлена обработка переназначения формата;
- shader_recompiler: добавлен проход понижения для случаев, когда 64-битное число с плавающей точкой не поддерживается;
- Реализован IMAGE_ATOMIC_FMIN и IMAGE_ATOMIC_FMAX для 32-битных чисел с плавающей точкой;
- shader_recompiler: несколько исправлений для преобразования числа буфера;
- Реализовано преобразование SnormNz;
- shader_recompiler: расширение битового поля num_conversion;
- Добавление кода операции IMAGE_SAMPLE_B_O;
- shader_recompiler: всегда отмечать буферы как буферы хранения;
- Обработка -1 как аргумент V_CMP_NE_U64;
- Избегание пост-инкремента SGPR в S_*_LOAD_DWORD;
- Обработка события VgtStreamoutFlush;
- shader_recompiler: исправление чтения типа буфера из атрибута шага скорости.
GPU
- renderer_vulkan: восстановлена версия Vulkan до 1.3;
- pp_pass: использование правильного формата поверхности;
- vk_rasterizer: исправлено обновление неправильного прикрепления цвета при пропуске по маске;
- vk_presenter: использование правильного формата для выходного изображения кадра и вида;
- vulkan: убрано использование VK_EXT_extended_dynamic_state;
- vulkan: обработка несовместимого формата глубины с помощью нулевой привязки;
- gnm: реализация sceGnmDrawIndexIndirectMulti;
- liverpool: запись большего количества информации о SetQueueReg;
- renderer_vulkan: правильное включение функцию dualSrcBlend;
- buffer_cache: разделение вызова updateBuffer на 65536-байтовые фрагменты;
- vk_instance: включена robustImageAccess2;
- исправлен адрес памяти PM4CmdWaitRegMem;
- Добавлена обработка 32-битных форматов Unorm.
GUI
- Добавлен multikey для kbm_gui;
- qt: возможность отложить перечисление физических устройств для открытия настроек;
- qt: возможность обновить каталог сохранения данных для открытия, чтобы использовать имя из PSF.
Скачать актуальную версию shadPS4 можно с нашего сайта по ссылке выше.