ShadPS4 est un émulateur préliminaire de PS4 pour Windows et Linux écrit en C++ créé par Shadow (d’ou il tire son nom), auteur et contributeur de projets prestigieux comme PCSX, PCSX2, PCSP, JPCSP, Arcadeflex, RPCS3…
Les changements principaux en résumé:
A brand new release just dropped in . As usual we have a lot of new features and bugfixes to this release making even more games reaching ingame and some of the are even playable 🙂
Core
– sceKernelAllocateDirectMemory hotfixes
– Export eboot address
– libkernel: Various filesystem fixes
– Only perform early read-write open when truncating is needed
– emulator: Fix log initialization order.
– Core: Fix module load addresses
– add scePthreadSetaffinity and emulate affinity
– Core: Memory Fixes
– libkernel: Implement sceKernelMemoryPoolBatch
– core: Introduce host call wrapper.
– kernel: Implement scePthreadGetaffinit
– Mprotect only over whole pages
– kernel: macos/linux Implement sceKernelUuidCreate
– Implement sceKernelIsStack
– Implement sceKernelMapDirectMemory2
– Proper error handling for MapMemory errors
Libs
– Implement sceImeDialogGetPanelSize
– VideoOut event cleanup
– Implement sceKernelGetModuleInfo, sceKernelGetModuleInfoInternal, and sceKernelGetModuleList
– Update ime_dialog.h
– Implement sceKernelPwritev
– sceNet initial implementation
– SaveData fixes
– Clear stack before executing guest code
– [Libs] Stubs sceSigninDialog
– log error for videodec ,videodec2
– [Libs] sceNet
– sceKernelAddTimerEvent implementation
– equeue: Clean up timers implementation
– [Libs] Companion httpd
– SaveDataDialog: fix possible null access
– SaveData: respect install dir in param.sfo to select the game save folder
– Savedata: Fix missing uses of config based save data dir.
– Trophy deletehandle fix
Shader recompiler
– Use GetSrc in VALU insts instead of assuming vector reg (was vcc_lo)
– lower_buffer_format_to_raw: Fix handling of format remapping
– shader_recompiler: Add lowering pass for when 64-bit float is unsupported.
– Implement IMAGE_ATOMIC_FMIN and IMAGE_ATOMIC_FMAX for 32bit floats
– shader_recompiler: Few fixes for buffer number conversions
– Implement SnormNz conversion
– shader_recompiler: Widen num_conversion bitfield
– Adding opcode IMAGE_SAMPLE_B_O
– shader_recompiler: Always mark buffers as storage buffers.
– Handle -1 as V_CMP_NE_U64 argument
– Avoid post-increment of SGPR in S_*_LOAD_DWORD
– Handle VgtStreamoutFlush EVENT
– shader_recompiler: Fix buffer type reading from step rate attribute.
GPU
– renderer_vulkan: Restore Vulkan version to 1.3
– pp_pass: Use correct surface format.
– vk_rasterizer: Fix updating wrong color attachment when skipped by mask
– vk_presenter: Use correct format for output frame image and view
– vulkan: do not use VK_EXT_extended_dynamic_state
– vulkan: Handle incompatible depth format using null binding.
– gnm: Implement sceGnmDrawIndexIndirectMulti
– liverpool: Log more information on SetQueueReg.
– renderer_vulkan: Properly enable dualSrcBlend feature
– buffer_cache: Split updateBuffer calls into 65536 byte chunks.
– vk_instance: Enable robustImageAccess2
– fix: PM4CmdWaitRegMem memory address
– amdgpu: Handle 32-bit Unorm formats
GUI
– qt: Delay physical device enumeration to settings open
– qt: Update save data dir open to use name from PSF
– multikey for kbm_gui
qt: Delay physical device enumeration to settings open
qt: Update save data dir open to use name from PSF
Site source. Liste de compatibilité ici.